)]}'
{"openstack_dashboard/dashboards/admin/volumes/forms.py":[{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"ba6ecb62423f11dd3c4bd8f54b3d532748d72808","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"class CreateVolumeTypeEncryption(forms.SelfHandlingForm):"},{"line_number":48,"context_line":"    name \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Name\"), required\u003dFalse,"},{"line_number":49,"context_line":"                           widget\u003dforms."},{"line_number":50,"context_line":"                               TextInput(attrs\u003d{\u0027readonly\u0027: \u0027readonly\u0027}))"},{"line_number":51,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"),"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FgT0%3D","line":48,"updated":"2014-04-14 06:55:19.000000000","message":"this is a readonly field, do we need to set max_length here?","commit_id":"58c00966a9623919cbfa75b5f42a78afd6194ccd"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"9f08c992024e2bf413997dcddfb249fd3c07454c","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"class CreateVolumeTypeEncryption(forms.SelfHandlingForm):"},{"line_number":48,"context_line":"    name \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Name\"), required\u003dFalse,"},{"line_number":49,"context_line":"                           widget\u003dforms."},{"line_number":50,"context_line":"                               TextInput(attrs\u003d{\u0027readonly\u0027: \u0027readonly\u0027}))"},{"line_number":51,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"),"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FcaQ%3D","line":48,"in_reply_to":"AAAAW3%2F%2FgT0%3D","updated":"2014-04-14 15:19:16.000000000","message":"No we don\u0027t, good catch.  I have removed max_length.","commit_id":"58c00966a9623919cbfa75b5f42a78afd6194ccd"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"ba6ecb62423f11dd3c4bd8f54b3d532748d72808","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                           widget\u003dforms."},{"line_number":50,"context_line":"                               TextInput(attrs\u003d{\u0027readonly\u0027: \u0027readonly\u0027}))"},{"line_number":51,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"),"},{"line_number":52,"context_line":"                               required\u003dTrue)"},{"line_number":53,"context_line":"    control_location \u003d forms.ChoiceField(label\u003d_(\"Control Location\"),"},{"line_number":54,"context_line":"                                         required\u003dTrue,"},{"line_number":55,"context_line":"                                         choices\u003d((\u0027front-end\u0027, \u0027front-end\u0027),"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FgW8%3D","line":52,"updated":"2014-04-14 06:55:19.000000000","message":"this is unneeded.","commit_id":"58c00966a9623919cbfa75b5f42a78afd6194ccd"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"9f08c992024e2bf413997dcddfb249fd3c07454c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                           widget\u003dforms."},{"line_number":50,"context_line":"                               TextInput(attrs\u003d{\u0027readonly\u0027: \u0027readonly\u0027}))"},{"line_number":51,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"),"},{"line_number":52,"context_line":"                               required\u003dTrue)"},{"line_number":53,"context_line":"    control_location \u003d forms.ChoiceField(label\u003d_(\"Control Location\"),"},{"line_number":54,"context_line":"                                         required\u003dTrue,"},{"line_number":55,"context_line":"                                         choices\u003d((\u0027front-end\u0027, \u0027front-end\u0027),"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FcV0%3D","line":52,"in_reply_to":"AAAAW3%2F%2FgW8%3D","updated":"2014-04-14 15:19:16.000000000","message":"Done","commit_id":"58c00966a9623919cbfa75b5f42a78afd6194ccd"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"ba6ecb62423f11dd3c4bd8f54b3d532748d72808","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"),"},{"line_number":52,"context_line":"                               required\u003dTrue)"},{"line_number":53,"context_line":"    control_location \u003d forms.ChoiceField(label\u003d_(\"Control Location\"),"},{"line_number":54,"context_line":"                                         required\u003dTrue,"},{"line_number":55,"context_line":"                                         choices\u003d((\u0027front-end\u0027, \u0027front-end\u0027),"},{"line_number":56,"context_line":"                                                  (\u0027back-end\u0027, \u0027back-end\u0027))"},{"line_number":57,"context_line":"                                         )"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FgW4%3D","line":54,"updated":"2014-04-14 06:55:19.000000000","message":"ditto","commit_id":"58c00966a9623919cbfa75b5f42a78afd6194ccd"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"9f08c992024e2bf413997dcddfb249fd3c07454c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"),"},{"line_number":52,"context_line":"                               required\u003dTrue)"},{"line_number":53,"context_line":"    control_location \u003d forms.ChoiceField(label\u003d_(\"Control Location\"),"},{"line_number":54,"context_line":"                                         required\u003dTrue,"},{"line_number":55,"context_line":"                                         choices\u003d((\u0027front-end\u0027, \u0027front-end\u0027),"},{"line_number":56,"context_line":"                                                  (\u0027back-end\u0027, \u0027back-end\u0027))"},{"line_number":57,"context_line":"                                         )"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAW3%2F%2FcVw%3D","line":54,"in_reply_to":"AAAAW3%2F%2FgW4%3D","updated":"2014-04-14 15:19:16.000000000","message":"Done","commit_id":"58c00966a9623919cbfa75b5f42a78afd6194ccd"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7adca18eaad6aac6347291f1ce72bbf22165d27b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                               TextInput(attrs\u003d{\u0027readonly\u0027: \u0027readonly\u0027}))"},{"line_number":51,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"))"},{"line_number":52,"context_line":"    control_location \u003d forms.ChoiceField(label\u003d_(\"Control Location\"),"},{"line_number":53,"context_line":"                                         choices\u003d((\u0027front-end\u0027, \u0027front-end\u0027),"},{"line_number":54,"context_line":"                                                  (\u0027back-end\u0027, \u0027back-end\u0027))"},{"line_number":55,"context_line":"                                         )"},{"line_number":56,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FtZw%3D","line":53,"updated":"2014-04-18 02:25:36.000000000","message":"The second argument is displayed to the user, must be translatable.","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"570017596049548b96adfa499927cfb0a4cf1a1d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                               TextInput(attrs\u003d{\u0027readonly\u0027: \u0027readonly\u0027}))"},{"line_number":51,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"))"},{"line_number":52,"context_line":"    control_location \u003d forms.ChoiceField(label\u003d_(\"Control Location\"),"},{"line_number":53,"context_line":"                                         choices\u003d((\u0027front-end\u0027, \u0027front-end\u0027),"},{"line_number":54,"context_line":"                                                  (\u0027back-end\u0027, \u0027back-end\u0027))"},{"line_number":55,"context_line":"                                         )"},{"line_number":56,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FoSE%3D","line":53,"in_reply_to":"AAAAXH%2F%2FtZw%3D","updated":"2014-04-24 21:11:33.000000000","message":"Done","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":4992,"name":"malini-k-bhandaru","email":"malini.k.bhandaru@intel.com","username":"malini-k-bhandaru"},"change_message_id":"d5c2feb7e52dd231f1826c7b5862a35ef68cd996","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"},{"line_number":57,"context_line":"    key_size \u003d forms.IntegerField(label\u003d_(\"Key Size\"),"},{"line_number":58,"context_line":"                                  required\u003dFalse,"},{"line_number":59,"context_line":"                                  min_value\u003d1)"},{"line_number":60,"context_line":"    volume_type_id \u003d forms.CharField(widget\u003dforms.HiddenInput())"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def handle(self, request, data):"}],"source_content_type":"text/x-python","patch_set":19,"id":"baada198_cbf0d9ff","line":59,"updated":"2014-07-12 00:33:23.000000000","message":"Please set a reasonabl ekey size for default. Oft repeated request by operators.","commit_id":"97db37963ae76cb31300021b4a93a42522c64d14"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"f7f1d29b2ecb1e6d300721fcb5b2f8aa20de6b3c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"},{"line_number":57,"context_line":"    key_size \u003d forms.IntegerField(label\u003d_(\"Key Size\"),"},{"line_number":58,"context_line":"                                  required\u003dFalse,"},{"line_number":59,"context_line":"                                  min_value\u003d1)"},{"line_number":60,"context_line":"    volume_type_id \u003d forms.CharField(widget\u003dforms.HiddenInput())"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def handle(self, request, data):"}],"source_content_type":"text/x-python","patch_set":19,"id":"baada198_bc60fecf","line":59,"in_reply_to":"baada198_cbf0d9ff","updated":"2014-07-14 15:31:15.000000000","message":"Thank you for the suggestion. It\u0027s included in the latest patch.","commit_id":"97db37963ae76cb31300021b4a93a42522c64d14"}],"openstack_dashboard/dashboards/admin/volumes/tables.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7adca18eaad6aac6347291f1ce72bbf22165d27b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    url \u003d \"horizon:admin:volumes:create_type_encryption\""},{"line_number":42,"context_line":"    classes \u003d (\"ajax-modal\", \"btn-edit\")"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def allowed(self, request, volume_type\u003dNone):"},{"line_number":45,"context_line":"        return not hasattr(cinder.volume_encryption_type_get(request,"},{"line_number":46,"context_line":"                                                             volume_type.id),"},{"line_number":47,"context_line":"                                                             \u0027provider\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FtZc%3D","line":44,"updated":"2014-04-18 02:25:36.000000000","message":"Should also check if this is available in the list of Cinder extensions and also check the policy file?","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"570017596049548b96adfa499927cfb0a4cf1a1d","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    url \u003d \"horizon:admin:volumes:create_type_encryption\""},{"line_number":42,"context_line":"    classes \u003d (\"ajax-modal\", \"btn-edit\")"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def allowed(self, request, volume_type\u003dNone):"},{"line_number":45,"context_line":"        return not hasattr(cinder.volume_encryption_type_get(request,"},{"line_number":46,"context_line":"                                                             volume_type.id),"},{"line_number":47,"context_line":"                                                             \u0027provider\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fni8%3D","line":44,"in_reply_to":"AAAAXH%2F%2FtZc%3D","updated":"2014-04-24 21:11:33.000000000","message":"Done","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7adca18eaad6aac6347291f1ce72bbf22165d27b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    def get_data(self, volume_type):"},{"line_number":53,"context_line":"        request \u003d self.table.request"},{"line_number":54,"context_line":"        try:"},{"line_number":55,"context_line":"            encryption_type \u003d cinder.volume_encryption_type_get(request,"},{"line_number":56,"context_line":"                                                                volume_type.id)"},{"line_number":57,"context_line":"            provider \u003d encryption_type.provider"},{"line_number":58,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FtW4%3D","line":55,"updated":"2014-04-18 02:25:36.000000000","message":"This code looks better to be handled in the views.py where the data retrieval occurs.","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"570017596049548b96adfa499927cfb0a4cf1a1d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    def get_data(self, volume_type):"},{"line_number":53,"context_line":"        request \u003d self.table.request"},{"line_number":54,"context_line":"        try:"},{"line_number":55,"context_line":"            encryption_type \u003d cinder.volume_encryption_type_get(request,"},{"line_number":56,"context_line":"                                                                volume_type.id)"},{"line_number":57,"context_line":"            provider \u003d encryption_type.provider"},{"line_number":58,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FnQU%3D","line":55,"in_reply_to":"AAAAXH%2F%2FtW4%3D","updated":"2014-04-24 21:11:33.000000000","message":"Done","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"}],"openstack_dashboard/dashboards/admin/volumes/tabs.py":[{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"a8bc0f849ccbf7be43f8b292d8cbf5754e5a8806","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from django.utils.translation import ugettext_lazy as _  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from horizon import tabs"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2BygU%3D","line":18,"updated":"2014-02-19 02:33:56.000000000","message":"\"noqa\" is not needed here.","commit_id":"0ca25a40b1d4580d65b2ab77ad35101cb6a71a93"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"9ea4e9487d66e4064ecb52249985da93ba55955d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from django.utils.translation import ugettext_lazy as _  # noqa"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from horizon import tabs"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2Btyo%3D","line":18,"in_reply_to":"AAAAUX%2F%2BygU%3D","updated":"2014-02-19 16:18:26.000000000","message":"Done","commit_id":"0ca25a40b1d4580d65b2ab77ad35101cb6a71a93"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"bec93ce87ea93bd421e87bc6a59bfa6d589b4964","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright (c) 2014 The Johns Hopkins University/Applied Physics Laboratory"},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fdl8%3D","line":1,"updated":"2014-04-21 15:31:33.000000000","message":"vim modelines are on their way out I believe: see http://lists.openstack.org/pipermail/openstack-dev/2013-October/017353.html","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"570017596049548b96adfa499927cfb0a4cf1a1d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright (c) 2014 The Johns Hopkins University/Applied Physics Laboratory"},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FB3A%3D","line":1,"in_reply_to":"AAAAXH%2F%2Fdl8%3D","updated":"2014-04-24 21:11:33.000000000","message":"Done","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7adca18eaad6aac6347291f1ce72bbf22165d27b","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from horizon import tabs"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class OverviewTab(tabs.Tab):"},{"line_number":24,"context_line":"    name \u003d _(\"Overview\")"},{"line_number":25,"context_line":"    slug \u003d \"overview\""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FtXo%3D","line":22,"updated":"2014-04-18 02:25:36.000000000","message":"Can the cinder extension api and policy file be used to check if this tab should even be displayed?","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"570017596049548b96adfa499927cfb0a4cf1a1d","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from horizon import tabs"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class OverviewTab(tabs.Tab):"},{"line_number":24,"context_line":"    name \u003d _(\"Overview\")"},{"line_number":25,"context_line":"    slug \u003d \"overview\""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2Fmz4%3D","line":22,"in_reply_to":"AAAAXH%2F%2FtXo%3D","updated":"2014-04-24 21:11:33.000000000","message":"Done","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"6a3f0bacbad8eda1910bd26f029ae684482b0ec2","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # Gather volume type encryption information"},{"line_number":80,"context_line":"        try:"},{"line_number":81,"context_line":"            vol_type_enc_list \u003d cinder.volume_encryption_type_list(self."},{"line_number":82,"context_line":"                                                                   request)"},{"line_number":83,"context_line":"        except Exception:"},{"line_number":84,"context_line":"            vol_type_enc_list \u003d []"},{"line_number":85,"context_line":"            msg \u003d _(\u0027Unable to retrieve volume type encryption information.\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"baa201ad_51c6bc17","line":82,"updated":"2014-10-10 01:36:36.000000000","message":"this looks a little weird, maybe:\n\nvol_type_enc_list \u003d cinder.volume_encryption_type_list(\n     self.request)","commit_id":"aaf844854966f4e032e5facde3b8837bfd9bcc27"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"1575739e9121f6b652717eb26d2df4f800ece930","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # Gather volume type encryption information"},{"line_number":80,"context_line":"        try:"},{"line_number":81,"context_line":"            vol_type_enc_list \u003d cinder.volume_encryption_type_list(self."},{"line_number":82,"context_line":"                                                                   request)"},{"line_number":83,"context_line":"        except Exception:"},{"line_number":84,"context_line":"            vol_type_enc_list \u003d []"},{"line_number":85,"context_line":"            msg \u003d _(\u0027Unable to retrieve volume type encryption information.\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"baa201ad_247e3ce5","line":82,"in_reply_to":"baa201ad_51c6bc17","updated":"2014-10-10 23:41:34.000000000","message":"Agreed. Done.","commit_id":"aaf844854966f4e032e5facde3b8837bfd9bcc27"},{"author":{"_account_id":12355,"name":"Vlad Okhrimenko","email":"vokhrimenko@mirantis.com","username":"vokhrimenko"},"change_message_id":"c8c493375268801f6cbaddda0b78b98fbdc3261d","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            return volume_types"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        vol_type_enc_dict \u003d SortedDict([(e.volume_type_id, e) for e in"},{"line_number":90,"context_line":"                                       vol_type_enc_list])"},{"line_number":91,"context_line":"        for volume_type in volume_types:"},{"line_number":92,"context_line":"            vol_type_id \u003d volume_type.id"},{"line_number":93,"context_line":"            vol_type_enc \u003d vol_type_enc_dict.get(vol_type_id, None)"}],"source_content_type":"text/x-python","patch_set":27,"id":"baa201ad_a230759f","line":90,"updated":"2014-10-10 08:55:11.000000000","message":"(nit) strange alignment, need:\nvol_type_enc_dict \u003d SortedDict([(e.volume_type_id, e) for e in\n                                vol_type_enc_list])","commit_id":"aaf844854966f4e032e5facde3b8837bfd9bcc27"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"1575739e9121f6b652717eb26d2df4f800ece930","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            return volume_types"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        vol_type_enc_dict \u003d SortedDict([(e.volume_type_id, e) for e in"},{"line_number":90,"context_line":"                                       vol_type_enc_list])"},{"line_number":91,"context_line":"        for volume_type in volume_types:"},{"line_number":92,"context_line":"            vol_type_id \u003d volume_type.id"},{"line_number":93,"context_line":"            vol_type_enc \u003d vol_type_enc_dict.get(vol_type_id, None)"}],"source_content_type":"text/x-python","patch_set":27,"id":"baa201ad_e4735413","line":90,"in_reply_to":"baa201ad_a230759f","updated":"2014-10-10 23:41:34.000000000","message":"Agreed. Done.","commit_id":"aaf844854966f4e032e5facde3b8837bfd9bcc27"},{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"035dc65a0299ad32adf73484d6f1e8751d41060d","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        vol_type_enc_dict \u003d SortedDict([(e.volume_type_id, e) for e in"},{"line_number":90,"context_line":"                                        vol_type_enc_list])"},{"line_number":91,"context_line":"        for volume_type in volume_types:"},{"line_number":92,"context_line":"            vol_type_id \u003d volume_type.id"},{"line_number":93,"context_line":"            vol_type_enc \u003d vol_type_enc_dict.get(vol_type_id, None)"},{"line_number":94,"context_line":"            if vol_type_enc is not None:"},{"line_number":95,"context_line":"                volume_type.encryption \u003d vol_type_enc"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_260463bf","line":92,"updated":"2014-11-04 12:49:04.000000000","message":"nit, not sure this line adds much value, creating a variable that is used once below.","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"5a67b97ed1a2cef0de6c254aca9ff1326b8ba5ef","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        vol_type_enc_dict \u003d SortedDict([(e.volume_type_id, e) for e in"},{"line_number":90,"context_line":"                                        vol_type_enc_list])"},{"line_number":91,"context_line":"        for volume_type in volume_types:"},{"line_number":92,"context_line":"            vol_type_id \u003d volume_type.id"},{"line_number":93,"context_line":"            vol_type_enc \u003d vol_type_enc_dict.get(vol_type_id, None)"},{"line_number":94,"context_line":"            if vol_type_enc is not None:"},{"line_number":95,"context_line":"                volume_type.encryption \u003d vol_type_enc"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_fcb02e8d","line":92,"in_reply_to":"7a8c0949_260463bf","updated":"2014-11-04 18:53:08.000000000","message":"Done","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            vol_type_enc_list \u003d []"},{"line_number":85,"context_line":"            msg \u003d _(\u0027Unable to retrieve volume type encryption information.\u0027)"},{"line_number":86,"context_line":"            exceptions.handle(self.request, msg)"},{"line_number":87,"context_line":"            return volume_types"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        vol_type_enc_dict \u003d SortedDict([(e.volume_type_id, e) for e in"},{"line_number":90,"context_line":"                                        vol_type_enc_list])"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_d7e301a2","line":87,"updated":"2014-11-14 11:00:09.000000000","message":"not sure if the return is necessary here.  Having \"return\" in the middle of the code looks hacky to me.","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            vol_type_enc_list \u003d []"},{"line_number":85,"context_line":"            msg \u003d _(\u0027Unable to retrieve volume type encryption information.\u0027)"},{"line_number":86,"context_line":"            exceptions.handle(self.request, msg)"},{"line_number":87,"context_line":"            return volume_types"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        vol_type_enc_dict \u003d SortedDict([(e.volume_type_id, e) for e in"},{"line_number":90,"context_line":"                                        vol_type_enc_list])"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_4fcd7665","line":87,"in_reply_to":"5a890539_d7e301a2","updated":"2014-11-18 15:23:27.000000000","message":"Removed.","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/_create_volume_type_encryption.html":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"8ca523f5f3a0c9c991d64e07f6badc9328ea9767","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  \u003c/p\u003e"},{"line_number":32,"context_line":"  \u003cp\u003e"},{"line_number":33,"context_line":"    {% trans \"The\" %}"},{"line_number":34,"context_line":"    \u003cstrong\u003e{% trans \"Cipher\" %}\u003c/strong\u003e "},{"line_number":35,"context_line":"    {% trans \"is the encryption algorithm/mode to use (e.g., aes-xts-plain64).\" %}"},{"line_number":36,"context_line":"  \u003c/p\u003e"},{"line_number":37,"context_line":"  \u003cp\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"AAAAUX%2F%2B0Z8%3D","line":34,"updated":"2014-02-18 20:30:26.000000000","message":"Trailing whitespace.","commit_id":"0ca25a40b1d4580d65b2ab77ad35101cb6a71a93"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"9ea4e9487d66e4064ecb52249985da93ba55955d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  \u003c/p\u003e"},{"line_number":32,"context_line":"  \u003cp\u003e"},{"line_number":33,"context_line":"    {% trans \"The\" %}"},{"line_number":34,"context_line":"    \u003cstrong\u003e{% trans \"Cipher\" %}\u003c/strong\u003e "},{"line_number":35,"context_line":"    {% trans \"is the encryption algorithm/mode to use (e.g., aes-xts-plain64).\" %}"},{"line_number":36,"context_line":"  \u003c/p\u003e"},{"line_number":37,"context_line":"  \u003cp\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"AAAAUX%2F%2Bty0%3D","line":34,"in_reply_to":"AAAAUX%2F%2B0Z8%3D","updated":"2014-02-19 16:18:26.000000000","message":"Done","commit_id":"0ca25a40b1d4580d65b2ab77ad35101cb6a71a93"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"8ca523f5f3a0c9c991d64e07f6badc9328ea9767","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  \u003c/p\u003e"},{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"},{"line_number":39,"context_line":"    \u003cstrong\u003e{% trans \"Key Size\" %}\u003c/strong\u003e "},{"line_number":40,"context_line":"    {% trans \"is the size of the encryption key, in bits (e.g., 128, 256).\" %}"},{"line_number":41,"context_line":"  \u003c/p\u003e"},{"line_number":42,"context_line":"\u003c/div\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"AAAAUX%2F%2B0Z4%3D","line":39,"updated":"2014-02-18 20:30:26.000000000","message":"Here again.","commit_id":"0ca25a40b1d4580d65b2ab77ad35101cb6a71a93"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"9ea4e9487d66e4064ecb52249985da93ba55955d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  \u003c/p\u003e"},{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"},{"line_number":39,"context_line":"    \u003cstrong\u003e{% trans \"Key Size\" %}\u003c/strong\u003e "},{"line_number":40,"context_line":"    {% trans \"is the size of the encryption key, in bits (e.g., 128, 256).\" %}"},{"line_number":41,"context_line":"  \u003c/p\u003e"},{"line_number":42,"context_line":"\u003c/div\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"AAAAUX%2F%2Btyw%3D","line":39,"in_reply_to":"AAAAUX%2F%2B0Z4%3D","updated":"2014-02-19 16:18:26.000000000","message":"Done","commit_id":"0ca25a40b1d4580d65b2ab77ad35101cb6a71a93"},{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% extends \"horizon/common/_modal_form.html\" %}"},{"line_number":2,"context_line":"{% load i18n %}"},{"line_number":3,"context_line":"{% load url from future %}"},{"line_number":4,"context_line":""}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_427587c9","line":1,"updated":"2014-08-28 16:09:13.000000000","message":"I don\u0027t think we need these html files in templates/volumes any more since you\u0027re using the ones in templates/volumes/volumes.","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% extends \"horizon/common/_modal_form.html\" %}"},{"line_number":2,"context_line":"{% load i18n %}"},{"line_number":3,"context_line":"{% load url from future %}"},{"line_number":4,"context_line":""}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_fcdb6fea","line":1,"in_reply_to":"1abeadc6_427587c9","updated":"2014-08-29 21:14:27.000000000","message":"Agreed.  My bad, thanks for catching that!","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/_volume_encryption_type_detail.html":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7adca18eaad6aac6347291f1ce72bbf22165d27b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% load i18n sizeformat parse_date %}"},{"line_number":2,"context_line":"{% load url from future %}"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"{% if volume_type_encryption.provider %}"}],"source_content_type":"text/html","patch_set":14,"id":"AAAAXH%2F%2FtYg%3D","line":1,"updated":"2014-04-18 02:25:36.000000000","message":"url, sizeformat and parse_date are not used in the template. Might as well just remove it.","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"570017596049548b96adfa499927cfb0a4cf1a1d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% load i18n sizeformat parse_date %}"},{"line_number":2,"context_line":"{% load url from future %}"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"{% if volume_type_encryption.provider %}"}],"source_content_type":"text/html","patch_set":14,"id":"AAAAXH%2F%2FnLo%3D","line":1,"in_reply_to":"AAAAXH%2F%2FtYg%3D","updated":"2014-04-24 21:11:33.000000000","message":"Done","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% load i18n %}"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"{% if volume_type_encryption.provider %}"},{"line_number":4,"context_line":"\u003ch3\u003e{% trans \"Volume Type Encryption Overview\" %}\u003c/h3\u003e"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_e2413364","line":1,"updated":"2014-08-28 16:09:13.000000000","message":"don\u0027t need this file any more","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% load i18n %}"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"{% if volume_type_encryption.provider %}"},{"line_number":4,"context_line":"\u003ch3\u003e{% trans \"Volume Type Encryption Overview\" %}\u003c/h3\u003e"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_7f891125","line":1,"in_reply_to":"1abeadc6_e2413364","updated":"2014-08-29 21:14:27.000000000","message":"Done","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/create_volume_type_encryption.html":[{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% extends \u0027base.html\u0027 %}"},{"line_number":2,"context_line":"{% load i18n %}"},{"line_number":3,"context_line":"{% block title %}{% trans \"Create Encrypted Volume Type\" %}{% endblock %}"},{"line_number":4,"context_line":""}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_225fab42","line":1,"updated":"2014-08-28 16:09:13.000000000","message":"don\u0027t need this file any more","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% extends \u0027base.html\u0027 %}"},{"line_number":2,"context_line":"{% load i18n %}"},{"line_number":3,"context_line":"{% block title %}{% trans \"Create Encrypted Volume Type\" %}{% endblock %}"},{"line_number":4,"context_line":""}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_9f8eed2c","line":1,"in_reply_to":"1abeadc6_225fab42","updated":"2014-08-29 21:14:27.000000000","message":"Done","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/volume_encryption_type_detail.html":[{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% extends \u0027base.html\u0027 %}"},{"line_number":2,"context_line":"{% load i18n %}"},{"line_number":3,"context_line":"{% block title %}{% trans \"Volume Type Encryption Details\" %}{% endblock %}"},{"line_number":4,"context_line":""}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_425ca74b","line":1,"updated":"2014-08-28 16:09:13.000000000","message":"don\u0027t need this file any more","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% extends \u0027base.html\u0027 %}"},{"line_number":2,"context_line":"{% load i18n %}"},{"line_number":3,"context_line":"{% block title %}{% trans \"Volume Type Encryption Details\" %}{% endblock %}"},{"line_number":4,"context_line":""}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_df84e50c","line":1,"in_reply_to":"1abeadc6_425ca74b","updated":"2014-08-29 21:14:27.000000000","message":"Done","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/volume_types/_create_volume_type_encryption.html":[{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"035dc65a0299ad32adf73484d6f1e8751d41060d","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003cdiv class\u003d\"right\"\u003e"},{"line_number":18,"context_line":"  \u003ch3\u003e{% trans \"Description\" %}:\u003c/h3\u003e"},{"line_number":19,"context_line":"  \u003cp\u003e"},{"line_number":20,"context_line":"    {% trans \"Creating encryption for a volume type causes all volumes with the volume type to be encrypted.  Encryption information cannot be added to a volume type if volumes are currently in use with the volume type.\" %}"},{"line_number":21,"context_line":"  \u003c/p\u003e"},{"line_number":22,"context_line":"  \u003cp\u003e"},{"line_number":23,"context_line":"    {% trans \"The\" %}"}],"source_content_type":"text/html","patch_set":33,"id":"7a8c0949_261b831c","line":20,"updated":"2014-11-04 12:49:04.000000000","message":"changing \"with the volume type\" to \"with that volume type\" or \"of that volume type\" might be clearer","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"5a67b97ed1a2cef0de6c254aca9ff1326b8ba5ef","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003cdiv class\u003d\"right\"\u003e"},{"line_number":18,"context_line":"  \u003ch3\u003e{% trans \"Description\" %}:\u003c/h3\u003e"},{"line_number":19,"context_line":"  \u003cp\u003e"},{"line_number":20,"context_line":"    {% trans \"Creating encryption for a volume type causes all volumes with the volume type to be encrypted.  Encryption information cannot be added to a volume type if volumes are currently in use with the volume type.\" %}"},{"line_number":21,"context_line":"  \u003c/p\u003e"},{"line_number":22,"context_line":"  \u003cp\u003e"},{"line_number":23,"context_line":"    {% trans \"The\" %}"}],"source_content_type":"text/html","patch_set":33,"id":"7a8c0949_3c30f600","line":20,"in_reply_to":"7a8c0949_261b831c","updated":"2014-11-04 18:53:08.000000000","message":"Agreed. Done.","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"035dc65a0299ad32adf73484d6f1e8751d41060d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"},{"line_number":39,"context_line":"    \u003cstrong\u003e{% trans \"Key Size\" %}\u003c/strong\u003e"},{"line_number":40,"context_line":"    {% trans \"is the size of the encryption key, in bits (e.g., 128, 256). The default value is \u0027None.\u0027\" %}"},{"line_number":41,"context_line":"  \u003c/p\u003e"},{"line_number":42,"context_line":"\u003c/div\u003e"},{"line_number":43,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":33,"id":"7a8c0949_66de6b13","line":40,"updated":"2014-11-04 12:49:04.000000000","message":"Here default is None. In form the min value is 1. None may be the default of the API, but the user doesn\u0027t seem to be presented that option. I\u0027m not exactly sure why you would want None, but it probably has special meaning in the cinder part of the implementation???","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"5a67b97ed1a2cef0de6c254aca9ff1326b8ba5ef","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"},{"line_number":39,"context_line":"    \u003cstrong\u003e{% trans \"Key Size\" %}\u003c/strong\u003e"},{"line_number":40,"context_line":"    {% trans \"is the size of the encryption key, in bits (e.g., 128, 256). The default value is \u0027None.\u0027\" %}"},{"line_number":41,"context_line":"  \u003c/p\u003e"},{"line_number":42,"context_line":"\u003c/div\u003e"},{"line_number":43,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":33,"id":"7a8c0949_575e7b13","line":40,"in_reply_to":"7a8c0949_66de6b13","updated":"2014-11-04 18:53:08.000000000","message":"If \"None\" is used, than the default key size of the provider is used (the same is true for cipher).  If the user doesn\u0027t know what key size to use (or doesn\u0027t care) then None allows a good default to be chosen by the provider.  The goal with having a min value of 1 is to prevent the user from entering a negative or zero key size.  If using the arrows, it is correct that it is not possible to decrement below 1.  But the user can still delete an entry for Key Size or leave it blank to begin with (since it isn\u0027t a required field).","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    {% trans \"Creating encryption for a volume type causes all volumes with that volume type to be encrypted.  Encryption information cannot be added to a volume type if volumes are currently in use with that volume type.\" %}"},{"line_number":21,"context_line":"  \u003c/p\u003e"},{"line_number":22,"context_line":"  \u003cp\u003e"},{"line_number":23,"context_line":"    {% trans \"The\" %}"},{"line_number":24,"context_line":"    \u003cstrong\u003e{% trans \"Provider\" %}\u003c/strong\u003e"},{"line_number":25,"context_line":"    {% trans \"is the class providing encryption support (e.g. LuksEncryptor).\" %}"},{"line_number":26,"context_line":"  \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_d7186120","line":23,"updated":"2014-11-14 11:00:09.000000000","message":"Use blocktrans here, splitting it in three makes it hard for translator to get context on the strings to translate","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    {% trans \"Creating encryption for a volume type causes all volumes with that volume type to be encrypted.  Encryption information cannot be added to a volume type if volumes are currently in use with that volume type.\" %}"},{"line_number":21,"context_line":"  \u003c/p\u003e"},{"line_number":22,"context_line":"  \u003cp\u003e"},{"line_number":23,"context_line":"    {% trans \"The\" %}"},{"line_number":24,"context_line":"    \u003cstrong\u003e{% trans \"Provider\" %}\u003c/strong\u003e"},{"line_number":25,"context_line":"    {% trans \"is the class providing encryption support (e.g. LuksEncryptor).\" %}"},{"line_number":26,"context_line":"  \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_a956b659","line":23,"in_reply_to":"5a890539_d7186120","updated":"2014-11-18 15:23:27.000000000","message":"Done","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  \u003c/p\u003e"},{"line_number":27,"context_line":"  \u003cp\u003e"},{"line_number":28,"context_line":"    {% trans \"The\" %}"},{"line_number":29,"context_line":"    \u003cstrong\u003e{% trans \"Control Location\" %}\u003c/strong\u003e"},{"line_number":30,"context_line":"    {% trans \"is the notional service where encryption is performed (e.g., front-end\u003dNova). The default value is \u0027front-end.\u0027\" %}"},{"line_number":31,"context_line":"  \u003c/p\u003e"},{"line_number":32,"context_line":"  \u003cp\u003e"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_d7f06193","line":29,"updated":"2014-11-14 11:00:09.000000000","message":"here too","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  \u003c/p\u003e"},{"line_number":27,"context_line":"  \u003cp\u003e"},{"line_number":28,"context_line":"    {% trans \"The\" %}"},{"line_number":29,"context_line":"    \u003cstrong\u003e{% trans \"Control Location\" %}\u003c/strong\u003e"},{"line_number":30,"context_line":"    {% trans \"is the notional service where encryption is performed (e.g., front-end\u003dNova). The default value is \u0027front-end.\u0027\" %}"},{"line_number":31,"context_line":"  \u003c/p\u003e"},{"line_number":32,"context_line":"  \u003cp\u003e"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_c9514263","line":29,"in_reply_to":"5a890539_d7f06193","updated":"2014-11-18 15:23:27.000000000","message":"Done","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    {% trans \"is the notional service where encryption is performed (e.g., front-end\u003dNova). The default value is \u0027front-end.\u0027\" %}"},{"line_number":31,"context_line":"  \u003c/p\u003e"},{"line_number":32,"context_line":"  \u003cp\u003e"},{"line_number":33,"context_line":"    {% trans \"The\" %}"},{"line_number":34,"context_line":"    \u003cstrong\u003e{% trans \"Cipher\" %}\u003c/strong\u003e"},{"line_number":35,"context_line":"    {% trans \"is the encryption algorithm/mode to use (e.g., aes-xts-plain64). If the field is left empty, the provider default will be used.\" %}"},{"line_number":36,"context_line":"  \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_f7ed5db8","line":33,"updated":"2014-11-14 11:00:09.000000000","message":"ditto","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    {% trans \"is the notional service where encryption is performed (e.g., front-end\u003dNova). The default value is \u0027front-end.\u0027\" %}"},{"line_number":31,"context_line":"  \u003c/p\u003e"},{"line_number":32,"context_line":"  \u003cp\u003e"},{"line_number":33,"context_line":"    {% trans \"The\" %}"},{"line_number":34,"context_line":"    \u003cstrong\u003e{% trans \"Cipher\" %}\u003c/strong\u003e"},{"line_number":35,"context_line":"    {% trans \"is the encryption algorithm/mode to use (e.g., aes-xts-plain64). If the field is left empty, the provider default will be used.\" %}"},{"line_number":36,"context_line":"  \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_0948aab1","line":33,"in_reply_to":"5a890539_f7ed5db8","updated":"2014-11-18 15:23:27.000000000","message":"Done","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    {% trans \"is the encryption algorithm/mode to use (e.g., aes-xts-plain64). If the field is left empty, the provider default will be used.\" %}"},{"line_number":36,"context_line":"  \u003c/p\u003e"},{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"},{"line_number":39,"context_line":"    \u003cstrong\u003e{% trans \"Key Size\" %}\u003c/strong\u003e"},{"line_number":40,"context_line":"    {% trans \"is the size of the encryption key, in bits (e.g., 128, 256). If the field is left empty, the provider default will be used.\" %}"},{"line_number":41,"context_line":"  \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_172e69fb","line":38,"updated":"2014-11-14 11:00:09.000000000","message":"ditto","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    {% trans \"is the encryption algorithm/mode to use (e.g., aes-xts-plain64). If the field is left empty, the provider default will be used.\" %}"},{"line_number":36,"context_line":"  \u003c/p\u003e"},{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"},{"line_number":39,"context_line":"    \u003cstrong\u003e{% trans \"Key Size\" %}\u003c/strong\u003e"},{"line_number":40,"context_line":"    {% trans \"is the size of the encryption key, in bits (e.g., 128, 256). If the field is left empty, the provider default will be used.\" %}"},{"line_number":41,"context_line":"  \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_69d04ec9","line":38,"in_reply_to":"5a890539_172e69fb","updated":"2014-11-18 15:23:27.000000000","message":"Done","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":9981,"name":"Doug Fish","email":"drfish@us.ibm.com","username":"doug-fish"},"change_message_id":"2d23b3c456f3f68ea48a34a0a04e1a689fe0bf9e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"  \u003c/fieldset\u003e"},{"line_number":16,"context_line":"\u003c/div\u003e"},{"line_number":17,"context_line":"\u003cdiv class\u003d\"right\"\u003e"},{"line_number":18,"context_line":"  \u003ch3\u003e{% trans \"Description\" %}:\u003c/h3\u003e"},{"line_number":19,"context_line":"  \u003cp\u003e"},{"line_number":20,"context_line":"    {% trans \"Creating encryption for a volume type causes all volumes with that volume type to be encrypted.  Encryption information cannot be added to a volume type if volumes are currently in use with that volume type.\" %}"},{"line_number":21,"context_line":"  \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":37,"id":"5a890539_35955de4","line":18,"updated":"2014-11-20 18:58:22.000000000","message":"The : should be included as part of the translatable segment.","commit_id":"6dbe63345a8cc11c2897bd42613e487fa806290e"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"34ee61c1e4df70caa25438099b6192db56c2a741","unresolved":false,"context_lines":[{"line_number":15,"context_line":"  \u003c/fieldset\u003e"},{"line_number":16,"context_line":"\u003c/div\u003e"},{"line_number":17,"context_line":"\u003cdiv class\u003d\"right\"\u003e"},{"line_number":18,"context_line":"  \u003ch3\u003e{% trans \"Description\" %}:\u003c/h3\u003e"},{"line_number":19,"context_line":"  \u003cp\u003e"},{"line_number":20,"context_line":"    {% trans \"Creating encryption for a volume type causes all volumes with that volume type to be encrypted.  Encryption information cannot be added to a volume type if volumes are currently in use with that volume type.\" %}"},{"line_number":21,"context_line":"  \u003c/p\u003e"}],"source_content_type":"text/html","patch_set":37,"id":"5a890539_3031eb0b","line":18,"in_reply_to":"5a890539_35955de4","updated":"2014-11-20 19:34:49.000000000","message":"Done.  Good catch!","commit_id":"6dbe63345a8cc11c2897bd42613e487fa806290e"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/volume_types/_volume_encryption_type_detail.html":[{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"6a3f0bacbad8eda1910bd26f029ae684482b0ec2","unresolved":false,"context_lines":[{"line_number":6,"context_line":"\u003cdiv class\u003d\"info row-fluid detail\"\u003e"},{"line_number":7,"context_line":"  \u003ch4\u003e{% trans \"Info\" %}\u003c/h4\u003e"},{"line_number":8,"context_line":"  \u003chr class\u003d\"header_rule\"\u003e"},{"line_number":9,"context_line":"  \u003cdl\u003e"},{"line_number":10,"context_line":"    \u003cdt\u003e{% trans \"Name\" %}\u003c/dt\u003e"},{"line_number":11,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.name }}\u003c/dd\u003e"},{"line_number":12,"context_line":"    \u003cdt\u003e{% trans \"Control Location\" %}\u003c/dt\u003e"}],"source_content_type":"text/html","patch_set":27,"id":"baa201ad_11e434ab","line":9,"updated":"2014-10-10 01:36:36.000000000","message":"related patch which will change list styling: https://review.openstack.org/#/c/115693/","commit_id":"aaf844854966f4e032e5facde3b8837bfd9bcc27"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"1575739e9121f6b652717eb26d2df4f800ece930","unresolved":false,"context_lines":[{"line_number":6,"context_line":"\u003cdiv class\u003d\"info row-fluid detail\"\u003e"},{"line_number":7,"context_line":"  \u003ch4\u003e{% trans \"Info\" %}\u003c/h4\u003e"},{"line_number":8,"context_line":"  \u003chr class\u003d\"header_rule\"\u003e"},{"line_number":9,"context_line":"  \u003cdl\u003e"},{"line_number":10,"context_line":"    \u003cdt\u003e{% trans \"Name\" %}\u003c/dt\u003e"},{"line_number":11,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.name }}\u003c/dd\u003e"},{"line_number":12,"context_line":"    \u003cdt\u003e{% trans \"Control Location\" %}\u003c/dt\u003e"}],"source_content_type":"text/html","patch_set":27,"id":"baa201ad_a4acec36","line":9,"in_reply_to":"baa201ad_11e434ab","updated":"2014-10-10 23:41:34.000000000","message":"Thanks for the heads up!  I\u0027ve changed it to match.","commit_id":"aaf844854966f4e032e5facde3b8837bfd9bcc27"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"6a3f0bacbad8eda1910bd26f029ae684482b0ec2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.name }}\u003c/dd\u003e"},{"line_number":12,"context_line":"    \u003cdt\u003e{% trans \"Control Location\" %}\u003c/dt\u003e"},{"line_number":13,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.control_location }}\u003c/dd\u003e"},{"line_number":14,"context_line":"    \u003cdt\u003e{% trans \"Key Size\" %}\u003c/dt\u003e"},{"line_number":15,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.key_size }}\u003c/dd\u003e"},{"line_number":16,"context_line":"    \u003cdt\u003e{% trans \"Provider\" %}\u003c/dt\u003e"},{"line_number":17,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.provider }}\u003c/dd\u003e"}],"source_content_type":"text/html","patch_set":27,"id":"baa201ad_7199001f","line":14,"updated":"2014-10-10 01:36:36.000000000","message":"include units here even though it is stated in the description","commit_id":"aaf844854966f4e032e5facde3b8837bfd9bcc27"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"1575739e9121f6b652717eb26d2df4f800ece930","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.name }}\u003c/dd\u003e"},{"line_number":12,"context_line":"    \u003cdt\u003e{% trans \"Control Location\" %}\u003c/dt\u003e"},{"line_number":13,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.control_location }}\u003c/dd\u003e"},{"line_number":14,"context_line":"    \u003cdt\u003e{% trans \"Key Size\" %}\u003c/dt\u003e"},{"line_number":15,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.key_size }}\u003c/dd\u003e"},{"line_number":16,"context_line":"    \u003cdt\u003e{% trans \"Provider\" %}\u003c/dt\u003e"},{"line_number":17,"context_line":"    \u003cdd\u003e{{ volume_type_encryption.provider }}\u003c/dd\u003e"}],"source_content_type":"text/html","patch_set":27,"id":"baa201ad_445a6084","line":14,"in_reply_to":"baa201ad_7199001f","updated":"2014-10-10 23:41:34.000000000","message":"Done","commit_id":"aaf844854966f4e032e5facde3b8837bfd9bcc27"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/volume_types/volume_encryption_type_detail.html":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% block title %}{% trans \"Volume Type Encryption Details\" %}{% endblock %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% block page_header %}"},{"line_number":6,"context_line":"  {% include \"horizon/common/_page_header.html\" with title\u003d_(\"Volume Type Encryption Details: \") %}"},{"line_number":7,"context_line":"{% endblock page_header %}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"{% block main %}"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_f7c39d54","line":6,"updated":"2014-11-14 11:00:09.000000000","message":"The colon seems unnecessary, unless you\u0027re going the append the name here?","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% block title %}{% trans \"Volume Type Encryption Details\" %}{% endblock %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% block page_header %}"},{"line_number":6,"context_line":"  {% include \"horizon/common/_page_header.html\" with title\u003d_(\"Volume Type Encryption Details: \") %}"},{"line_number":7,"context_line":"{% endblock page_header %}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"{% block main %}"}],"source_content_type":"text/html","patch_set":34,"id":"5a890539_89a1fa47","line":6,"in_reply_to":"5a890539_f7c39d54","updated":"2014-11-18 15:23:27.000000000","message":"Done","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/volumes/_create_volume_type_encryption.html":[{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  \u003cp\u003e"},{"line_number":28,"context_line":"    {% trans \"The\" %}"},{"line_number":29,"context_line":"    \u003cstrong\u003e{% trans \"Control Location\" %}\u003c/strong\u003e"},{"line_number":30,"context_line":"    {% trans \"is the notional service where encryption is performed (e.g., front-end\u003dNova).\" %}"},{"line_number":31,"context_line":"  \u003c/p\u003e"},{"line_number":32,"context_line":"  \u003cp\u003e"},{"line_number":33,"context_line":"    {% trans \"The\" %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_7b314aec","line":30,"range":{"start_line":30,"start_character":75,"end_line":30,"end_character":80},"updated":"2014-08-28 16:09:13.000000000","message":"According to the help text of \u0027cinder encryption-type-create\u0027 command, control location is optional with the default value of \u0027front-end\u0027, so you might want to mention the default value.","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  \u003cp\u003e"},{"line_number":28,"context_line":"    {% trans \"The\" %}"},{"line_number":29,"context_line":"    \u003cstrong\u003e{% trans \"Control Location\" %}\u003c/strong\u003e"},{"line_number":30,"context_line":"    {% trans \"is the notional service where encryption is performed (e.g., front-end\u003dNova).\" %}"},{"line_number":31,"context_line":"  \u003c/p\u003e"},{"line_number":32,"context_line":"  \u003cp\u003e"},{"line_number":33,"context_line":"    {% trans \"The\" %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_513973a2","line":30,"in_reply_to":"1abeadc6_7b314aec","updated":"2014-08-29 21:14:27.000000000","message":"Done","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  \u003cp\u003e"},{"line_number":33,"context_line":"    {% trans \"The\" %}"},{"line_number":34,"context_line":"    \u003cstrong\u003e{% trans \"Cipher\" %}\u003c/strong\u003e"},{"line_number":35,"context_line":"    {% trans \"is the encryption algorithm/mode to use (e.g., aes-xts-plain64).\" %}"},{"line_number":36,"context_line":"  \u003c/p\u003e"},{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_6531adec","line":35,"updated":"2014-08-28 16:09:13.000000000","message":"Since Cipher is optional, you might want to mention the default value when the user doesn\u0027t specify any value, in this case the default value is None.","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  \u003cp\u003e"},{"line_number":33,"context_line":"    {% trans \"The\" %}"},{"line_number":34,"context_line":"    \u003cstrong\u003e{% trans \"Cipher\" %}\u003c/strong\u003e"},{"line_number":35,"context_line":"    {% trans \"is the encryption algorithm/mode to use (e.g., aes-xts-plain64).\" %}"},{"line_number":36,"context_line":"  \u003c/p\u003e"},{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_d1558350","line":35,"in_reply_to":"1abeadc6_6531adec","updated":"2014-08-29 21:14:27.000000000","message":"Done","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"},{"line_number":39,"context_line":"    \u003cstrong\u003e{% trans \"Key Size\" %}\u003c/strong\u003e"},{"line_number":40,"context_line":"    {% trans \"is the size of the encryption key, in bits (e.g., 128, 256).\" %}"},{"line_number":41,"context_line":"  \u003c/p\u003e"},{"line_number":42,"context_line":"\u003c/div\u003e"},{"line_number":43,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_052399a7","line":40,"updated":"2014-08-28 16:09:13.000000000","message":"Basically I have the same comment as line 35, but saw that in the forms, the initial value was set to 256. Not a major issue for me but I wonder if you saw any reason that convinced you to deviate from the cinder command behavior (which allows you to not pass in any value for key size)?","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  \u003cp\u003e"},{"line_number":38,"context_line":"    {% trans \"The\" %}"},{"line_number":39,"context_line":"    \u003cstrong\u003e{% trans \"Key Size\" %}\u003c/strong\u003e"},{"line_number":40,"context_line":"    {% trans \"is the size of the encryption key, in bits (e.g., 128, 256).\" %}"},{"line_number":41,"context_line":"  \u003c/p\u003e"},{"line_number":42,"context_line":"\u003c/div\u003e"},{"line_number":43,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_51c97324","line":40,"in_reply_to":"1abeadc6_052399a7","updated":"2014-08-29 21:14:27.000000000","message":"I wanted to provide a reasonable value, but I agree that it makes the most sense to use the same default value as in the command line (i.e. None).","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"{% block modal-footer %}"},{"line_number":46,"context_line":"  \u003cinput class\u003d\"btn btn-primary pull-right\" type\u003d\"submit\" value\u003d\"{% trans \"Create Volume Type Encryption\" %}\" /\u003e"},{"line_number":47,"context_line":"  \u003ca href\u003d\"{% url \u0027horizon:admin:volumes:index\u0027 %}\" class\u003d\"btn secondary cancel close\"\u003e{% trans \"Cancel\" %}\u003c/a\u003e"},{"line_number":48,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_220deb3e","line":47,"updated":"2014-08-28 16:09:13.000000000","message":"The Cancel button is missing the border. You can fix it by adding btn-default to the class, i.e. class\u003d\"btn btn-default secondary cancel close\".","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"{% block modal-footer %}"},{"line_number":46,"context_line":"  \u003cinput class\u003d\"btn btn-primary pull-right\" type\u003d\"submit\" value\u003d\"{% trans \"Create Volume Type Encryption\" %}\" /\u003e"},{"line_number":47,"context_line":"  \u003ca href\u003d\"{% url \u0027horizon:admin:volumes:index\u0027 %}\" class\u003d\"btn secondary cancel close\"\u003e{% trans \"Cancel\" %}\u003c/a\u003e"},{"line_number":48,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_31515730","line":47,"in_reply_to":"1abeadc6_220deb3e","updated":"2014-08-29 21:14:27.000000000","message":"Thank you for including the way to fix it!  Done.","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"}],"openstack_dashboard/dashboards/admin/volumes/templates/volumes/volumes/create_volume_type_encryption.html":[{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":7,"context_line":"{% endblock page_header %}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"{% block main %}"},{"line_number":10,"context_line":"    {% include \u0027admin/volumes/_create_volume_type_encryption.html\u0027 %}"},{"line_number":11,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_a5758599","line":10,"updated":"2014-08-28 16:09:13.000000000","message":"the url should be \u0027admin/volumes/volumes/_create_volume_type_encryption.html\u0027","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":7,"context_line":"{% endblock page_header %}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"{% block main %}"},{"line_number":10,"context_line":"    {% include \u0027admin/volumes/_create_volume_type_encryption.html\u0027 %}"},{"line_number":11,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":22,"id":"1abeadc6_f108bf2e","line":10,"in_reply_to":"1abeadc6_a5758599","updated":"2014-08-29 21:14:27.000000000","message":"Done","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"}],"openstack_dashboard/dashboards/admin/volumes/tests.py":[{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"035dc65a0299ad32adf73484d6f1e8751d41060d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                        cinder: (\u0027volume_list\u0027,),"},{"line_number":28,"context_line":"                        keystone: (\u0027tenant_list\u0027,)})"},{"line_number":29,"context_line":"    def test_index(self):"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        cinder.volume_list(IsA(http.HttpRequest), search_opts\u003d{"},{"line_number":32,"context_line":"            \u0027all_tenants\u0027: True}).AndReturn(self.cinder_volumes.list())"},{"line_number":33,"context_line":"        api.nova.server_list(IsA(http.HttpRequest), search_opts\u003d{"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_86ba77be","line":30,"updated":"2014-11-04 12:49:04.000000000","message":"unnecessary change","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"5a67b97ed1a2cef0de6c254aca9ff1326b8ba5ef","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                        cinder: (\u0027volume_list\u0027,),"},{"line_number":28,"context_line":"                        keystone: (\u0027tenant_list\u0027,)})"},{"line_number":29,"context_line":"    def test_index(self):"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        cinder.volume_list(IsA(http.HttpRequest), search_opts\u003d{"},{"line_number":32,"context_line":"            \u0027all_tenants\u0027: True}).AndReturn(self.cinder_volumes.list())"},{"line_number":33,"context_line":"        api.nova.server_list(IsA(http.HttpRequest), search_opts\u003d{"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_f7af67e1","line":30,"in_reply_to":"7a8c0949_86ba77be","updated":"2014-11-04 18:53:08.000000000","message":"Done","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"}],"openstack_dashboard/dashboards/admin/volumes/views.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7adca18eaad6aac6347291f1ce72bbf22165d27b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        return context"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def get_data(self):"},{"line_number":107,"context_line":"        if not hasattr(self, \"_volume_type_encryption\"):"},{"line_number":108,"context_line":"            try:"},{"line_number":109,"context_line":"                volume_type_id \u003d self.kwargs[\u0027volume_type_id\u0027]"},{"line_number":110,"context_line":"                self._volume_type_encryption \u003d cinder.\\"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FtY8%3D","line":107,"updated":"2014-04-18 02:25:36.000000000","message":"You can use the memoized decorator that was recently added to achieved the same thing here.\n\nSee sample:\nhttps://github.com/openstack/horizon/blob/c03e9ff05e01a1bce9fa5b21e0c15ba410f45ea4/openstack_dashboard/dashboards/project/volumes/views.py#L46","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"570017596049548b96adfa499927cfb0a4cf1a1d","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        return context"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def get_data(self):"},{"line_number":107,"context_line":"        if not hasattr(self, \"_volume_type_encryption\"):"},{"line_number":108,"context_line":"            try:"},{"line_number":109,"context_line":"                volume_type_id \u003d self.kwargs[\u0027volume_type_id\u0027]"},{"line_number":110,"context_line":"                self._volume_type_encryption \u003d cinder.\\"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FByk%3D","line":107,"in_reply_to":"AAAAXH%2F%2FtY8%3D","updated":"2014-04-24 21:11:33.000000000","message":"Done","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"7adca18eaad6aac6347291f1ce72bbf22165d27b","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    success_url \u003d reverse_lazy(\u0027horizon:admin:volumes:index\u0027)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def get_name(self):"},{"line_number":138,"context_line":"        if not hasattr(self, \"name\"):"},{"line_number":139,"context_line":"            try:"},{"line_number":140,"context_line":"                volume_type_list \u003d cinder.volume_type_list(self.request)"},{"line_number":141,"context_line":"                for volume_type in volume_type_list:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FtYw%3D","line":138,"updated":"2014-04-18 02:25:36.000000000","message":"Same comment here for using memoized_method decorator","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"570017596049548b96adfa499927cfb0a4cf1a1d","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    success_url \u003d reverse_lazy(\u0027horizon:admin:volumes:index\u0027)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def get_name(self):"},{"line_number":138,"context_line":"        if not hasattr(self, \"name\"):"},{"line_number":139,"context_line":"            try:"},{"line_number":140,"context_line":"                volume_type_list \u003d cinder.volume_type_list(self.request)"},{"line_number":141,"context_line":"                for volume_type in volume_type_list:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAXH%2F%2FByg%3D","line":138,"in_reply_to":"AAAAXH%2F%2FtYw%3D","updated":"2014-04-24 21:11:33.000000000","message":"Done","commit_id":"6769ba942d8a3f2eae89d8fdc2eab60a358f1cce"}],"openstack_dashboard/dashboards/admin/volumes/volume_types/forms.py":[{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"035dc65a0299ad32adf73484d6f1e8751d41060d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"},{"line_number":35,"context_line":"    key_size \u003d forms.IntegerField(label\u003d_(\"Key Size\"),"},{"line_number":36,"context_line":"                                  required\u003dFalse,"},{"line_number":37,"context_line":"                                  min_value\u003d1)"},{"line_number":38,"context_line":"    volume_type_id \u003d forms.CharField(widget\u003dforms.HiddenInput())"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def handle(self, request, data):"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_e6ca5b4e","line":37,"updated":"2014-11-04 12:49:04.000000000","message":"here, the min value is 1, previously the help templates said the default was None. Does not seem to match up.","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"5a67b97ed1a2cef0de6c254aca9ff1326b8ba5ef","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"},{"line_number":35,"context_line":"    key_size \u003d forms.IntegerField(label\u003d_(\"Key Size\"),"},{"line_number":36,"context_line":"                                  required\u003dFalse,"},{"line_number":37,"context_line":"                                  min_value\u003d1)"},{"line_number":38,"context_line":"    volume_type_id \u003d forms.CharField(widget\u003dforms.HiddenInput())"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def handle(self, request, data):"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_775ff7e5","line":37,"in_reply_to":"7a8c0949_e6ca5b4e","updated":"2014-11-04 18:53:08.000000000","message":"According to https://docs.djangoproject.com/en/dev/ref/forms/fields/#integerfield if an IntegerField is left empty, \"None\" is used.  The min_value is specified so that the user doesn\u0027t enter 0 or a negative number for the key size.  I clarified the help template to say that if it is left empty, the provider default will be used.","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    name \u003d forms.CharField(label\u003d_(\"Name\"), required\u003dFalse,"},{"line_number":25,"context_line":"                           widget\u003dforms.TextInput(attrs\u003d{\u0027readonly\u0027:"},{"line_number":26,"context_line":"                                                         \u0027readonly\u0027}))"},{"line_number":27,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"))"},{"line_number":28,"context_line":"    control_location \u003d forms.ChoiceField(label\u003d_(\"Control Location\"),"},{"line_number":29,"context_line":"                                         choices\u003d((\u0027front-end\u0027,"},{"line_number":30,"context_line":"                                                   _(\u0027front-end\u0027)),"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_d79dc167","line":27,"updated":"2014-11-14 11:00:09.000000000","message":"max_length should be integer","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    name \u003d forms.CharField(label\u003d_(\"Name\"), required\u003dFalse,"},{"line_number":25,"context_line":"                           widget\u003dforms.TextInput(attrs\u003d{\u0027readonly\u0027:"},{"line_number":26,"context_line":"                                                         \u0027readonly\u0027}))"},{"line_number":27,"context_line":"    provider \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Provider\"))"},{"line_number":28,"context_line":"    control_location \u003d forms.ChoiceField(label\u003d_(\"Control Location\"),"},{"line_number":29,"context_line":"                                         choices\u003d((\u0027front-end\u0027,"},{"line_number":30,"context_line":"                                                   _(\u0027front-end\u0027)),"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_a9b23691","line":27,"in_reply_to":"5a890539_d79dc167","updated":"2014-11-18 15:23:27.000000000","message":"Done","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                                                   _(\u0027back-end\u0027)))"},{"line_number":33,"context_line":"                                         )"},{"line_number":34,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"},{"line_number":35,"context_line":"    key_size \u003d forms.IntegerField(label\u003d_(\"Key Size\"),"},{"line_number":36,"context_line":"                                  required\u003dFalse,"},{"line_number":37,"context_line":"                                  min_value\u003d1)"},{"line_number":38,"context_line":"    volume_type_id \u003d forms.CharField(widget\u003dforms.HiddenInput())"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_7786cd14","line":35,"updated":"2014-11-14 11:00:09.000000000","message":"should the label be  \"Key Size (bits) \" to match the details page?","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                                                   _(\u0027back-end\u0027)))"},{"line_number":33,"context_line":"                                         )"},{"line_number":34,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"},{"line_number":35,"context_line":"    key_size \u003d forms.IntegerField(label\u003d_(\"Key Size\"),"},{"line_number":36,"context_line":"                                  required\u003dFalse,"},{"line_number":37,"context_line":"                                  min_value\u003d1)"},{"line_number":38,"context_line":"    volume_type_id \u003d forms.CharField(widget\u003dforms.HiddenInput())"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_09a42a49","line":35,"in_reply_to":"5a890539_7786cd14","updated":"2014-11-18 15:23:27.000000000","message":"Yes, I agree. Done.","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        except Exception:"},{"line_number":50,"context_line":"            exceptions.handle(request,"},{"line_number":51,"context_line":"                              _(\u0027Unable to create encrypted volume type.\u0027))"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class ManageQosSpecAssociation(forms.SelfHandlingForm):"},{"line_number":55,"context_line":"    qos_spec_choice \u003d forms.ChoiceField("}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_3797e53c","line":52,"updated":"2014-11-14 11:00:09.000000000","message":"return False when failed","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        except Exception:"},{"line_number":50,"context_line":"            exceptions.handle(request,"},{"line_number":51,"context_line":"                              _(\u0027Unable to create encrypted volume type.\u0027))"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class ManageQosSpecAssociation(forms.SelfHandlingForm):"},{"line_number":55,"context_line":"    qos_spec_choice \u003d forms.ChoiceField("}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_4969d2f7","line":52,"in_reply_to":"5a890539_3797e53c","updated":"2014-11-18 15:23:27.000000000","message":"Done","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"}],"openstack_dashboard/dashboards/admin/volumes/volume_types/tables.py":[{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"035dc65a0299ad32adf73484d6f1e8751d41060d","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    name \u003d tables.Column(\"name\", verbose_name\u003d_(\"Name\"))"},{"line_number":109,"context_line":"    assoc_qos_spec \u003d tables.Column(\"associated_qos_spec\","},{"line_number":110,"context_line":"                                   verbose_name\u003d_(\"Associated QoS Spec\"))"},{"line_number":111,"context_line":"    encryption \u003d EncryptionColumn(\"encryption\","},{"line_number":112,"context_line":"                                  verbose_name\u003d_(\"Encryption\"),"},{"line_number":113,"context_line":"                                  link\u003d\"horizon:admin:volumes:volume_types:\""},{"line_number":114,"context_line":"                                       \"type_encryption_detail\")"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_26dc6312","line":111,"updated":"2014-11-04 12:49:04.000000000","message":"This and QoS are extensions that may not be supported. Having them as columns in the table for an installation that doesn\u0027t support these extension  will be confusing. But I think this should be a bug filed after this merges to clean up both. As currently we don\u0027t have a clean mechanism to filter out columns.","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"5a67b97ed1a2cef0de6c254aca9ff1326b8ba5ef","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    name \u003d tables.Column(\"name\", verbose_name\u003d_(\"Name\"))"},{"line_number":109,"context_line":"    assoc_qos_spec \u003d tables.Column(\"associated_qos_spec\","},{"line_number":110,"context_line":"                                   verbose_name\u003d_(\"Associated QoS Spec\"))"},{"line_number":111,"context_line":"    encryption \u003d EncryptionColumn(\"encryption\","},{"line_number":112,"context_line":"                                  verbose_name\u003d_(\"Encryption\"),"},{"line_number":113,"context_line":"                                  link\u003d\"horizon:admin:volumes:volume_types:\""},{"line_number":114,"context_line":"                                       \"type_encryption_detail\")"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_17ab13d7","line":111,"in_reply_to":"7a8c0949_26dc6312","updated":"2014-11-04 18:53:08.000000000","message":"Agreed.","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"248e130097d2f9eedb6ba1919bc04144d9995bdb","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    return supported"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"class EncryptionColumn(tables.Column):"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def get_data(self, volume_type):"},{"line_number":100,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_f7447db8","line":97,"updated":"2014-11-14 11:00:09.000000000","message":"Don\u0027t need to create a column class here, you can just provide the transform function and pass it to the Column class","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a37831fadc65578df93037e025f84834650fdb24","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    return supported"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"class EncryptionColumn(tables.Column):"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def get_data(self, volume_type):"},{"line_number":100,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":34,"id":"5a890539_443299a7","line":97,"in_reply_to":"5a890539_f7447db8","updated":"2014-11-18 15:23:27.000000000","message":"Done","commit_id":"8c311d79179cdd02984457ba30ba657507aee9be"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c192d12f47d044354edc0ab145ef11eef32229ac","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    name \u003d \"create_encryption\""},{"line_number":73,"context_line":"    verbose_name \u003d _(\"Create Encryption\")"},{"line_number":74,"context_line":"    url \u003d \"horizon:admin:volumes:volume_types:create_type_encryption\""},{"line_number":75,"context_line":"    classes \u003d (\"ajax-modal\", \"btn-edit\")"},{"line_number":76,"context_line":"    policy_rules \u003d ((\"volume\", \"volume_extension:volume_type_encryption\"),)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def allowed(self, request, volume_type):"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a890539_ee3eb628","line":75,"updated":"2014-11-20 11:31:28.000000000","message":"The classes needs to change to:\n\nclasses \u003d (\"ajax-modal\",)\n\nicon \u003d \"plus\"  or \"pencil\"   \n\nThis way a plus or pencil icon is displayed as well.\n\n\"plus\" seems more appropriate since we\u0027re creating? or is it more of editing the current volume type? in that case, \"pencil\" is more appropriate","commit_id":"1be4809e981f3dd51c4eab46cbb1b0772d81b57c"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"04cbe03e2a660a3f1a4703d805685e7ae62b17fc","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    name \u003d \"create_encryption\""},{"line_number":73,"context_line":"    verbose_name \u003d _(\"Create Encryption\")"},{"line_number":74,"context_line":"    url \u003d \"horizon:admin:volumes:volume_types:create_type_encryption\""},{"line_number":75,"context_line":"    classes \u003d (\"ajax-modal\", \"btn-edit\")"},{"line_number":76,"context_line":"    policy_rules \u003d ((\"volume\", \"volume_extension:volume_type_encryption\"),)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def allowed(self, request, volume_type):"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a890539_6744a01b","line":75,"in_reply_to":"5a890539_ee3eb628","updated":"2014-11-20 16:15:06.000000000","message":"I think \"plus\" makes more sense, since we\u0027re \"creating\" encryption to go along with the volume type, and for updating encryption a \"pencil\" makes more sense.\n\nI\u0027ve added \"plus\" and modified the classes.","commit_id":"1be4809e981f3dd51c4eab46cbb1b0772d81b57c"}],"openstack_dashboard/dashboards/admin/volumes/volume_types/tests.py":[{"author":{"_account_id":12355,"name":"Vlad Okhrimenko","email":"vokhrimenko@mirantis.com","username":"vokhrimenko"},"change_message_id":"52689576ef7bdb72059b4e224847bf00948a0842","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                    \u0027volume_type_id\u0027: volume_type1.id}"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        cinder.volume_type_list(IsA(http.HttpRequest)).\\"},{"line_number":87,"context_line":"                               AndReturn(volume_type_list)"},{"line_number":88,"context_line":"        cinder.volume_encryption_type_create(IsA(http.HttpRequest),"},{"line_number":89,"context_line":"                                             formData[\u0027volume_type_id\u0027],"},{"line_number":90,"context_line":"                                             formData)"}],"source_content_type":"text/x-python","patch_set":25,"id":"baa201ad_65610939","line":87,"updated":"2014-10-01 14:45:58.000000000","message":"strange alignment. And code further... for example https://review.openstack.org/#/c/116596/5/openstack_dashboard/dashboards/project/access_and_security/floating_ips/tests.py\n\nhttps://review.openstack.org/#/c/69423/13/openstack_dashboard/dashboards/project/instances/tests.py","commit_id":"53c3f3fb84d6e7cbb14f51bcb7df453eb664d27a"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"eb857cdaba52a2351bef9db53c1d29774110b618","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                    \u0027volume_type_id\u0027: volume_type1.id}"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        cinder.volume_type_list(IsA(http.HttpRequest)).\\"},{"line_number":87,"context_line":"                               AndReturn(volume_type_list)"},{"line_number":88,"context_line":"        cinder.volume_encryption_type_create(IsA(http.HttpRequest),"},{"line_number":89,"context_line":"                                             formData[\u0027volume_type_id\u0027],"},{"line_number":90,"context_line":"                                             formData)"}],"source_content_type":"text/x-python","patch_set":25,"id":"baa201ad_006c6b07","line":87,"in_reply_to":"baa201ad_65610939","updated":"2014-10-03 21:07:53.000000000","message":"I have fixed the alignment of the tests.  Thank you for the suggestion!","commit_id":"53c3f3fb84d6e7cbb14f51bcb7df453eb664d27a"}],"openstack_dashboard/dashboards/admin/volumes/volume_types/views.py":[{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"035dc65a0299ad32adf73484d6f1e8751d41060d","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from horizon import exceptions"},{"line_number":23,"context_line":"from horizon import forms"},{"line_number":24,"context_line":"from horizon.utils import memoized"},{"line_number":25,"context_line":"from openstack_dashboard import api"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from openstack_dashboard.dashboards.admin.volumes.volume_types \\"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_e6f89b7e","line":24,"updated":"2014-11-04 12:49:04.000000000","message":"unnecessary reformatting","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"5a67b97ed1a2cef0de6c254aca9ff1326b8ba5ef","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from horizon import exceptions"},{"line_number":23,"context_line":"from horizon import forms"},{"line_number":24,"context_line":"from horizon.utils import memoized"},{"line_number":25,"context_line":"from openstack_dashboard import api"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from openstack_dashboard.dashboards.admin.volumes.volume_types \\"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_97862364","line":24,"in_reply_to":"7a8c0949_e6f89b7e","updated":"2014-11-04 18:53:08.000000000","message":"Done","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"035dc65a0299ad32adf73484d6f1e8751d41060d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from horizon import forms"},{"line_number":24,"context_line":"from horizon.utils import memoized"},{"line_number":25,"context_line":"from openstack_dashboard import api"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from openstack_dashboard.dashboards.admin.volumes.volume_types \\"},{"line_number":28,"context_line":"    import forms as volume_types_forms"},{"line_number":29,"context_line":"from openstack_dashboard.dashboards.admin.volumes.volumes \\"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_06f4c785","line":26,"updated":"2014-11-04 12:49:04.000000000","message":"here too","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"5a67b97ed1a2cef0de6c254aca9ff1326b8ba5ef","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from horizon import forms"},{"line_number":24,"context_line":"from horizon.utils import memoized"},{"line_number":25,"context_line":"from openstack_dashboard import api"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from openstack_dashboard.dashboards.admin.volumes.volume_types \\"},{"line_number":28,"context_line":"    import forms as volume_types_forms"},{"line_number":29,"context_line":"from openstack_dashboard.dashboards.admin.volumes.volumes \\"}],"source_content_type":"text/x-python","patch_set":33,"id":"7a8c0949_b77ddf70","line":26,"in_reply_to":"7a8c0949_06f4c785","updated":"2014-11-04 18:53:08.000000000","message":"Done","commit_id":"72eb571b4dac3427dd52ea1bd6319d123eb6b923"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c192d12f47d044354edc0ab145ef11eef32229ac","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @memoized.memoized_method"},{"line_number":53,"context_line":"    def get_data(self):"},{"line_number":54,"context_line":"        if not hasattr(self, \"_volume_type_encryption\"):"},{"line_number":55,"context_line":"            try:"},{"line_number":56,"context_line":"                volume_type_id \u003d self.kwargs[\u0027volume_type_id\u0027]"},{"line_number":57,"context_line":"                self._volume_type_encryption \u003d api.cinder.\\"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a890539_4e8eead1","line":54,"updated":"2014-11-20 11:31:28.000000000","message":"if condition is not needed anymore, since the memoized decorator already takes care of caching the result","commit_id":"1be4809e981f3dd51c4eab46cbb1b0772d81b57c"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"04cbe03e2a660a3f1a4703d805685e7ae62b17fc","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @memoized.memoized_method"},{"line_number":53,"context_line":"    def get_data(self):"},{"line_number":54,"context_line":"        if not hasattr(self, \"_volume_type_encryption\"):"},{"line_number":55,"context_line":"            try:"},{"line_number":56,"context_line":"                volume_type_id \u003d self.kwargs[\u0027volume_type_id\u0027]"},{"line_number":57,"context_line":"                self._volume_type_encryption \u003d api.cinder.\\"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a890539_67e020fb","line":54,"in_reply_to":"5a890539_4e8eead1","updated":"2014-11-20 16:15:06.000000000","message":"Done","commit_id":"1be4809e981f3dd51c4eab46cbb1b0772d81b57c"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c192d12f47d044354edc0ab145ef11eef32229ac","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @memoized.memoized_method"},{"line_number":82,"context_line":"    def get_name(self):"},{"line_number":83,"context_line":"        if not hasattr(self, \"name\"):"},{"line_number":84,"context_line":"            try:"},{"line_number":85,"context_line":"                volume_type_list \u003d api.cinder.volume_type_list(self.request)"},{"line_number":86,"context_line":"                for volume_type in volume_type_list:"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a890539_0eab021f","line":83,"updated":"2014-11-20 11:31:28.000000000","message":"same here, \"if\" condition not necessary","commit_id":"1be4809e981f3dd51c4eab46cbb1b0772d81b57c"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"04cbe03e2a660a3f1a4703d805685e7ae62b17fc","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @memoized.memoized_method"},{"line_number":82,"context_line":"    def get_name(self):"},{"line_number":83,"context_line":"        if not hasattr(self, \"name\"):"},{"line_number":84,"context_line":"            try:"},{"line_number":85,"context_line":"                volume_type_list \u003d api.cinder.volume_type_list(self.request)"},{"line_number":86,"context_line":"                for volume_type in volume_type_list:"}],"source_content_type":"text/x-python","patch_set":36,"id":"5a890539_a7e128fe","line":83,"in_reply_to":"5a890539_0eab021f","updated":"2014-11-20 16:15:06.000000000","message":"Done","commit_id":"1be4809e981f3dd51c4eab46cbb1b0772d81b57c"}],"openstack_dashboard/dashboards/admin/volumes/volumes/forms.py":[{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"24cb4936e464c61edda99e7c7d820fd22e7d4f78","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"},{"line_number":57,"context_line":"    key_size \u003d forms.IntegerField(label\u003d_(\"Key Size\"),"},{"line_number":58,"context_line":"                                  required\u003dFalse,"},{"line_number":59,"context_line":"                                  min_value\u003d1, initial\u003d256)"},{"line_number":60,"context_line":"    volume_type_id \u003d forms.CharField(widget\u003dforms.HiddenInput())"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def handle(self, request, data):"}],"source_content_type":"text/x-python","patch_set":22,"id":"1abeadc6_7be4ea3b","line":59,"updated":"2014-08-28 16:09:13.000000000","message":"As I mentioned in _create_volume_type_encryption.html, key_size\u0027s default value is \u0027None\u0027, so maybe we could leave the min_value and initial value out? I saw Malini\u0027s comment about setting the default value, and saw that you then set the value for it. But I think if we have the description that explains the default value of None, that should be sufficient for the user.  Plus this would be the same behavior as the cinder command. Again, this is not a major issue for me. I would not give a -1 if you decide to keep this implementation.","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"2ff86e7a32dc29fc91b0f061ff8a96331d16a3c8","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    cipher \u003d forms.CharField(label\u003d_(\"Cipher\"), required\u003dFalse)"},{"line_number":57,"context_line":"    key_size \u003d forms.IntegerField(label\u003d_(\"Key Size\"),"},{"line_number":58,"context_line":"                                  required\u003dFalse,"},{"line_number":59,"context_line":"                                  min_value\u003d1, initial\u003d256)"},{"line_number":60,"context_line":"    volume_type_id \u003d forms.CharField(widget\u003dforms.HiddenInput())"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def handle(self, request, data):"}],"source_content_type":"text/x-python","patch_set":22,"id":"1abeadc6_2c32def1","line":59,"in_reply_to":"1abeadc6_7be4ea3b","updated":"2014-08-29 21:14:27.000000000","message":"I agree with removing the default value of 256, but I think that the \"min-value\" should be kept there so that a user doesn\u0027t attempt to use a negative key size (or a key size of 0).","commit_id":"6462ff7edfaff31d696918e0ac68c024da9833d8"}]}
