)]}'
{"cinder/scheduler/flows/create_volume.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"4c890831a0203a169ac1a2a1374cc5a347e68cbf","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    create_what \u003d {"},{"line_number":157,"context_line":"        \u0027context\u0027: context,"},{"line_number":158,"context_line":"        \u0027raw_request_spec\u0027: request_spec,"},{"line_number":159,"context_line":"        \u0027filter_properties\u0027: filter_properties,"},{"line_number":160,"context_line":"        \u0027volume\u0027: volume,"},{"line_number":161,"context_line":"        \u0027snapshot_id\u0027: snapshot_id,"},{"line_number":162,"context_line":"        \u0027image_id\u0027: image_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_71654a1d","line":159,"range":{"start_line":159,"start_character":29,"end_line":159,"end_character":46},"updated":"2018-04-25 20:49:11.000000000","message":"Might be simpler/safer to just change this to:\n\n\u0027filter_properties\u0027: filter_properties or {}","commit_id":"50fcb9d86db4b0b0fa7c50eb19b841f3f9d5b5cd"}],"cinder/scheduler/weights/goodness.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"4c890831a0203a169ac1a2a1374cc5a347e68cbf","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        if (\u0027goodness_function\u0027 in host_caps and"},{"line_number":126,"context_line":"                host_caps[\u0027goodness_function\u0027] is not None):"},{"line_number":127,"context_line":"            goodness_function \u003d six.text_type(host_caps[\u0027goodness_function\u0027])"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        qos_specs \u003d weight_properties.get(\u0027qos_specs\u0027, {}) or {}"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        volume_type \u003d weight_properties.get(\u0027volume_type\u0027, {}) or {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_b17e82ac","line":128,"updated":"2018-04-25 20:49:11.000000000","message":"Or in here have:\n\nif weight_properties is None:\n    weight_properties \u003d {}\n\nThen leave the rest as it was.","commit_id":"50fcb9d86db4b0b0fa7c50eb19b841f3f9d5b5cd"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"151489933a92bfa1cca8c920be47d0a635c1ca46","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        if (\u0027goodness_function\u0027 in host_caps and"},{"line_number":126,"context_line":"                host_caps[\u0027goodness_function\u0027] is not None):"},{"line_number":127,"context_line":"            goodness_function \u003d six.text_type(host_caps[\u0027goodness_function\u0027])"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        qos_specs \u003d weight_properties.get(\u0027qos_specs\u0027, {}) or {}"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        volume_type \u003d weight_properties.get(\u0027volume_type\u0027, {}) or {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_977b2e8a","line":128,"in_reply_to":"9f6a8fd7_ace4e93c","updated":"2018-04-25 21:51:28.000000000","message":"Oh right, I see now. Thanks.","commit_id":"50fcb9d86db4b0b0fa7c50eb19b841f3f9d5b5cd"},{"author":{"_account_id":24638,"name":"Eric M Gonzalez (tasker)","email":"eric@awnix.com","username":"egrh3"},"change_message_id":"8c11ee3cfcd3a22fd8fa5f79b72b526505773557","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        if (\u0027goodness_function\u0027 in host_caps and"},{"line_number":126,"context_line":"                host_caps[\u0027goodness_function\u0027] is not None):"},{"line_number":127,"context_line":"            goodness_function \u003d six.text_type(host_caps[\u0027goodness_function\u0027])"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        qos_specs \u003d weight_properties.get(\u0027qos_specs\u0027, {}) or {}"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        volume_type \u003d weight_properties.get(\u0027volume_type\u0027, {}) or {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_ace4e93c","line":128,"in_reply_to":"9f6a8fd7_b17e82ac","updated":"2018-04-25 21:02:10.000000000","message":"It\u0027s not \"weight_properties\" that\u0027s None. The problem I was running into is:\n\n    weight_properties \u003d { \"volume_type\": None, etc.. }\n\nthen, weight_properties.get(\"volume_type\", {}) actually returns a None.","commit_id":"50fcb9d86db4b0b0fa7c50eb19b841f3f9d5b5cd"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"f27c2f4a58891cbc5598327677f573cbe70ce87a","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        volume_type \u003d weight_properties.get(\u0027volume_type\u0027, {}) or {}"},{"line_number":132,"context_line":"        extra_specs \u003d volume_type.get(\u0027extra_specs\u0027, {})"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        request_spec \u003d weight_properties.get(\u0027request_spec\u0027, {}) or {}"},{"line_number":135,"context_line":"        volume_stats \u003d request_spec.get(\u0027volume_properties\u0027, {})"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        stats \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_95a9e124","line":134,"range":{"start_line":134,"start_character":8,"end_line":134,"end_character":70},"updated":"2018-04-26 08:20:24.000000000","message":"Why request_spec and qos_specs can\u0027t be None?","commit_id":"50fcb9d86db4b0b0fa7c50eb19b841f3f9d5b5cd"},{"author":{"_account_id":24638,"name":"Eric M Gonzalez (tasker)","email":"eric@awnix.com","username":"egrh3"},"change_message_id":"3a1f08a719ec396335fa207d38d28aa14e0d3c0e","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        volume_type \u003d weight_properties.get(\u0027volume_type\u0027, {}) or {}"},{"line_number":132,"context_line":"        extra_specs \u003d volume_type.get(\u0027extra_specs\u0027, {})"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        request_spec \u003d weight_properties.get(\u0027request_spec\u0027, {}) or {}"},{"line_number":135,"context_line":"        volume_stats \u003d request_spec.get(\u0027volume_properties\u0027, {})"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        stats \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_89445b1d","line":134,"range":{"start_line":134,"start_character":8,"end_line":134,"end_character":70},"in_reply_to":"9f6a8fd7_95a9e124","updated":"2018-04-26 22:38:18.000000000","message":"Don\u0027t know. It\u0027s not that they can\u0027t be. I did this as a safety catch in case they ever are. Especially important with the following line when \"request_spec\" is assumed to be a data-type with a \u0027.get()\u0027 method.","commit_id":"50fcb9d86db4b0b0fa7c50eb19b841f3f9d5b5cd"}]}
