)]}'
{"cinder/volume/api.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"bdebe05792e8decb6d54245a3d51f7ce28f45b7f","unresolved":false,"context_lines":[{"line_number":290,"context_line":"        utils.check_metadata_properties(metadata)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        if (volume_type and self._is_multiattach(volume_type)) or multiattach:"},{"line_number":293,"context_line":"            context.authorize(vol_policy.MULTIATTACH_POLICY)"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        create_what \u003d {"},{"line_number":296,"context_line":"            \u0027context\u0027: context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_948266fe","side":"PARENT","line":293,"range":{"start_line":293,"start_character":59,"end_line":293,"end_character":60},"updated":"2018-06-26 13:12:36.000000000","message":"This was in the API layer explicitly to allow us to fail immediately and give the response to the caller.  I\u0027m not a fan of moving everything into taskflow as you\u0027re aware.","commit_id":"0cbb49bb68e3afa3ea7220c5cec001d76aea188d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"bdebe05792e8decb6d54245a3d51f7ce28f45b7f","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                # Refresh the object here, otherwise things ain\u0027t right"},{"line_number":350,"context_line":"                vref \u003d objects.Volume.get_by_id("},{"line_number":351,"context_line":"                    context, vref[\u0027id\u0027])"},{"line_number":352,"context_line":"                vref.multiattach \u003d (self._is_multiattach(volume_type) or"},{"line_number":353,"context_line":"                                    multiattach)"},{"line_number":354,"context_line":"                vref.save()"},{"line_number":355,"context_line":"                LOG.info(\"Create volume request issued successfully.\","}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_b405227c","side":"PARENT","line":352,"updated":"2018-06-26 13:12:36.000000000","message":"This was to deal with the \"old\" case, assuming you moved that into taskflow?","commit_id":"0cbb49bb68e3afa3ea7220c5cec001d76aea188d"}],"cinder/volume/flows/api/create_volume.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"25f6b6fedc065681813dca817e6b1c92b1a2758d","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        image_properties \u003d image_meta.get("},{"line_number":431,"context_line":"            \u0027properties\u0027, {}) if image_meta else {}"},{"line_number":432,"context_line":"        image_volume_type \u003d image_properties.get("},{"line_number":433,"context_line":"            \u0027cinder_img_volume_type\u0027, None) if image_properties else None"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"        volume_type \u003d self._get_volume_type("},{"line_number":436,"context_line":"            context, volume_type, source_volume, snapshot, image_volume_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_563392f6","line":433,"range":{"start_line":433,"start_character":44,"end_line":433,"end_character":63},"updated":"2018-05-30 14:53:42.000000000","message":"Not needed since image_properties is set to {} if it isn\u0027t present above.","commit_id":"26ef9d233582cfa4767e57374bfb533dc7eb6537"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"bfa3df397200a68dc339dc0fd316b0ae5af86c34","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        image_properties \u003d image_meta.get("},{"line_number":431,"context_line":"            \u0027properties\u0027, {}) if image_meta else {}"},{"line_number":432,"context_line":"        image_volume_type \u003d image_properties.get("},{"line_number":433,"context_line":"            \u0027cinder_img_volume_type\u0027, None) if image_properties else None"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"        volume_type \u003d self._get_volume_type("},{"line_number":436,"context_line":"            context, volume_type, source_volume, snapshot, image_volume_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_853325f6","line":433,"range":{"start_line":433,"start_character":44,"end_line":433,"end_character":63},"in_reply_to":"5f7c97a3_563392f6","updated":"2018-05-31 00:57:25.000000000","message":"It\u0027s still can be None since we have have a image_meta defined as below:\n```\n{\n   \"properties\": None\n}\n```","commit_id":"26ef9d233582cfa4767e57374bfb533dc7eb6537"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"86fe040b38ca5226116cda74058a8fa10a21218b","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        image_properties \u003d image_meta.get("},{"line_number":431,"context_line":"            \u0027properties\u0027, {}) if image_meta else {}"},{"line_number":432,"context_line":"        image_volume_type \u003d image_properties.get("},{"line_number":433,"context_line":"            \u0027cinder_img_volume_type\u0027, None) if image_properties else None"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"        volume_type \u003d self._get_volume_type("},{"line_number":436,"context_line":"            context, volume_type, source_volume, snapshot, image_volume_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_d36d5903","line":433,"range":{"start_line":433,"start_character":44,"end_line":433,"end_character":63},"in_reply_to":"5f7c97a3_586646bd","updated":"2018-05-31 19:09:07.000000000","message":"A separate concern here:  \"cinder_img_volume_type\" should probably be handled as image metadata instead of properties -- this is essentially the same thing I just fixed for \"cinder_encryption_key_id\" here.\n\n    https://review.openstack.org/#/c/571010/\n\nI don\u0027t think this will currently break anything, but it\u0027s kind of messy since it isn\u0027t actually an image property.","commit_id":"26ef9d233582cfa4767e57374bfb533dc7eb6537"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e7907eb2ea3d523b82ce5c40bff08dbb57e2440a","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        image_properties \u003d image_meta.get("},{"line_number":431,"context_line":"            \u0027properties\u0027, {}) if image_meta else {}"},{"line_number":432,"context_line":"        image_volume_type \u003d image_properties.get("},{"line_number":433,"context_line":"            \u0027cinder_img_volume_type\u0027, None) if image_properties else None"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"        volume_type \u003d self._get_volume_type("},{"line_number":436,"context_line":"            context, volume_type, source_volume, snapshot, image_volume_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_586646bd","line":433,"range":{"start_line":433,"start_character":44,"end_line":433,"end_character":63},"in_reply_to":"5f7c97a3_853325f6","updated":"2018-05-31 17:39:42.000000000","message":"Yeah, not sure if we getting the metadata from the image service would ever have this set to None, but seems safer to have the check for it.","commit_id":"26ef9d233582cfa4767e57374bfb533dc7eb6537"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"093bce12ca38a13c815be29e5fe3a18bf7573ed6","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        image_properties \u003d image_meta.get("},{"line_number":431,"context_line":"            \u0027properties\u0027, {}) if image_meta else {}"},{"line_number":432,"context_line":"        image_volume_type \u003d image_properties.get("},{"line_number":433,"context_line":"            \u0027cinder_img_volume_type\u0027, None) if image_properties else None"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"        volume_type \u003d self._get_volume_type("},{"line_number":436,"context_line":"            context, volume_type, source_volume, snapshot, image_volume_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_13519136","line":433,"range":{"start_line":433,"start_character":44,"end_line":433,"end_character":63},"in_reply_to":"5f7c97a3_d36d5903","updated":"2018-05-31 19:09:33.000000000","message":"But definitely leave that for another patchset since there\u0027s already a ton going on here.","commit_id":"26ef9d233582cfa4767e57374bfb533dc7eb6537"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"bdebe05792e8decb6d54245a3d51f7ce28f45b7f","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        return image_meta"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _get_image_volume_type(self, context, image_id):"},{"line_number":252,"context_line":"        \"\"\"Get cinder_img_volume_type property from the image metadata.\"\"\""},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        # Check image existence"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_7430ea55","side":"PARENT","line":251,"range":{"start_line":251,"start_character":4,"end_line":251,"end_character":56},"updated":"2018-06-26 13:12:36.000000000","message":"The removal of this is unrelated to moving multiattach into taskflow.  If you and other want to rewrite/refactor this that\u0027s great, but I think it\u0027s unrelated and should be its own patch.","commit_id":"0cbb49bb68e3afa3ea7220c5cec001d76aea188d"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"bdebe05792e8decb6d54245a3d51f7ce28f45b7f","unresolved":false,"context_lines":[{"line_number":427,"context_line":"                                              image_id,"},{"line_number":428,"context_line":"                                              size)"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        image_properties \u003d image_meta.get("},{"line_number":431,"context_line":"            \u0027properties\u0027, {}) if image_meta else {}"},{"line_number":432,"context_line":"        image_volume_type \u003d image_properties.get("},{"line_number":433,"context_line":"            \u0027cinder_img_volume_type\u0027, None) if image_properties else None"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_7409ca81","line":430,"updated":"2018-06-26 13:12:36.000000000","message":"Same note as before, you might want to break out the image vs multiattach changes rather than putting them all together here.  Just my opinion.","commit_id":"7b2124151f377b55354200384689788cdd687dbd"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"bdebe05792e8decb6d54245a3d51f7ce28f45b7f","unresolved":false,"context_lines":[{"line_number":450,"context_line":"            image_meta)"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"        if volume_type is not None:"},{"line_number":453,"context_line":"            extra_specs \u003d volume_type.get(\u0027extra_specs\u0027, {})"},{"line_number":454,"context_line":"            # NOTE(tommylikehu): Although the parameter `multiattach` from"},{"line_number":455,"context_line":"            # create volume API is deprecated now, we still need to consider"},{"line_number":456,"context_line":"            # it when multiattach is not enabled in volume type."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_34559250","line":453,"range":{"start_line":453,"start_character":0,"end_line":453,"end_character":60},"updated":"2018-06-26 13:12:36.000000000","message":"Ahh, so you are handling the backward compatibility case here.","commit_id":"7b2124151f377b55354200384689788cdd687dbd"}]}
