)]}'
{"releasenotes/notes/bug-1647999-7aeda50a8d082d4c.yaml":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"bdc23c8956d6b247c8db2dd0e6083a0e7b68170b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new parameter, scenario/default_availability_zone is introduced to"},{"line_number":5,"context_line":"    specify availability zone where tempest create instances and volumes"},{"line_number":6,"context_line":"    for scenario test, to allow us to run sccenario test in the deployment"},{"line_number":7,"context_line":"    which has multiple avilability zone and cinder/cross_az_attach in nova.conf"},{"line_number":8,"context_line":"    is set as False."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5fc1f717_15720a13","line":6,"range":{"start_line":6,"start_character":42,"end_line":6,"end_character":51},"updated":"2019-04-09 05:44:48.000000000","message":"scenario","commit_id":"ef76643e19b1c0e01034870c592fc5109cff50d3"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"bdc23c8956d6b247c8db2dd0e6083a0e7b68170b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    A new parameter, scenario/default_availability_zone is introduced to"},{"line_number":5,"context_line":"    specify availability zone where tempest create instances and volumes"},{"line_number":6,"context_line":"    for scenario test, to allow us to run sccenario test in the deployment"},{"line_number":7,"context_line":"    which has multiple avilability zone and cinder/cross_az_attach in nova.conf"},{"line_number":8,"context_line":"    is set as False."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5fc1f717_d561e23a","line":7,"range":{"start_line":7,"start_character":23,"end_line":7,"end_character":34},"updated":"2019-04-09 05:44:48.000000000","message":"availability","commit_id":"ef76643e19b1c0e01034870c592fc5109cff50d3"}],"tempest/config.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"342cc9708bb6f1dbab9e96bdffde15fe7496f167","unresolved":false,"context_lines":[{"line_number":938,"context_line":"               help\u003d\u0027DHCP client used by images to renew DCHP lease. \u0027"},{"line_number":939,"context_line":"                    \u0027If left empty, update operation will be skipped. \u0027"},{"line_number":940,"context_line":"                    \u0027Supported clients: \"udhcpc\", \"dhclient\"\u0027),"},{"line_number":941,"context_line":"    cfg.StrOpt(\u0027cross_availability_zone\u0027,"},{"line_number":942,"context_line":"               default\u003dNone,"},{"line_number":943,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova for cases the cloud \u0027"},{"line_number":944,"context_line":"                    \u0027has cross_az_attach set to false. This will not support \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_fef99fc9","line":941,"updated":"2016-12-13 14:41:15.000000000","message":"I am not sure about the naming, what about \"default_availability_zone\" ?","commit_id":"a94e7356229ce171929e619834683ebb7d0a1c7b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dd153d631fa64fa6cc3952361d528966443c4f63","unresolved":false,"context_lines":[{"line_number":938,"context_line":"               help\u003d\u0027DHCP client used by images to renew DCHP lease. \u0027"},{"line_number":939,"context_line":"                    \u0027If left empty, update operation will be skipped. \u0027"},{"line_number":940,"context_line":"                    \u0027Supported clients: \"udhcpc\", \"dhclient\"\u0027),"},{"line_number":941,"context_line":"    cfg.StrOpt(\u0027cross_availability_zone\u0027,"},{"line_number":942,"context_line":"               default\u003dNone,"},{"line_number":943,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova for cases the cloud \u0027"},{"line_number":944,"context_line":"                    \u0027has cross_az_attach set to false. This will not support \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_be72fc10","line":941,"in_reply_to":"1a6eadb0_fef99fc9","updated":"2019-03-26 05:42:23.000000000","message":"Done","commit_id":"a94e7356229ce171929e619834683ebb7d0a1c7b"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"d9756711ae32f2b9bbf538a56b8810392113cff5","unresolved":false,"context_lines":[{"line_number":1053,"context_line":"    cfg.StrOpt(\u0027default_availability_zone\u0027,"},{"line_number":1054,"context_line":"               default\u003dNone,"},{"line_number":1055,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova. Set this parameter \u0027"},{"line_number":1056,"context_line":"                    \u0027when the cloud has cross_az_attach set to false. \u0027"},{"line_number":1057,"context_line":"                    \u0027This will not support clouds using the Neutron AZ \u0027"},{"line_number":1058,"context_line":"                    \u0027feature currently.\u0027)"},{"line_number":1059,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_efdc4c75","line":1056,"range":{"start_line":1056,"start_character":40,"end_line":1056,"end_character":55},"updated":"2019-03-26 09:46:25.000000000","message":"better to be more specific?\n\"nova.conf: cinder.cross_az_attach\"","commit_id":"5f434161da1da7960666609e4fab91037f03bb21"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fd9738abeadb51c0ceaa06c501881e5c0926bd71","unresolved":false,"context_lines":[{"line_number":1053,"context_line":"    cfg.StrOpt(\u0027default_availability_zone\u0027,"},{"line_number":1054,"context_line":"               default\u003dNone,"},{"line_number":1055,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova. Set this parameter \u0027"},{"line_number":1056,"context_line":"                    \u0027when the cloud has cross_az_attach set to false. \u0027"},{"line_number":1057,"context_line":"                    \u0027This will not support clouds using the Neutron AZ \u0027"},{"line_number":1058,"context_line":"                    \u0027feature currently.\u0027)"},{"line_number":1059,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_298c7d34","line":1056,"range":{"start_line":1056,"start_character":40,"end_line":1056,"end_character":55},"in_reply_to":"5fc1f717_efdc4c75","updated":"2019-03-27 01:01:26.000000000","message":"Done","commit_id":"5f434161da1da7960666609e4fab91037f03bb21"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"301d77a1f8f5ff227610bf600c93ed1b6520fff6","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"               choices\u003d(\u0027icmp\u0027, \u0027tcp\u0027, \u0027udp\u0027),"},{"line_number":1052,"context_line":"               help\u003d\u0027The protocol used in security groups tests to check \u0027"},{"line_number":1053,"context_line":"                    \u0027connectivity.\u0027),"},{"line_number":1054,"context_line":"    cfg.StrOpt(\u0027default_availability_zone\u0027,"},{"line_number":1055,"context_line":"               default\u003dNone,"},{"line_number":1056,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova. Set this parameter \u0027"},{"line_number":1057,"context_line":"                    \u0027when the cloud has nova.conf: cinder.cross_az_attach \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_0385385a","line":1054,"range":{"start_line":1054,"start_character":15,"end_line":1054,"end_character":43},"updated":"2019-06-07 13:21:20.000000000","message":"Initially, I thought of adding cross_az_attach as boolean config option same as compute does and then let testa create the same AZ if this config option is true. \n\nBut I feel taking same AZ from config itself is much better and can avoid test creating the AZ on nova and cinder side.\n\nI am ok with this solution but we need to name it more readable. How about something like\" \"compute_volume_common_az\"","commit_id":"16fec0420a3e1b227e981f1c2760e859638fb1f4"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"9b80f0a0012f995b802f4440c87734d9659748e9","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"               choices\u003d(\u0027icmp\u0027, \u0027tcp\u0027, \u0027udp\u0027),"},{"line_number":1052,"context_line":"               help\u003d\u0027The protocol used in security groups tests to check \u0027"},{"line_number":1053,"context_line":"                    \u0027connectivity.\u0027),"},{"line_number":1054,"context_line":"    cfg.StrOpt(\u0027default_availability_zone\u0027,"},{"line_number":1055,"context_line":"               default\u003dNone,"},{"line_number":1056,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova. Set this parameter \u0027"},{"line_number":1057,"context_line":"                    \u0027when the cloud has nova.conf: cinder.cross_az_attach \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_4d3b76ea","line":1054,"range":{"start_line":1054,"start_character":16,"end_line":1054,"end_character":41},"updated":"2019-06-06 09:54:34.000000000","message":"You also planned to use this in api tests, so, maybe better to put it in compute group?","commit_id":"16fec0420a3e1b227e981f1c2760e859638fb1f4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"301d77a1f8f5ff227610bf600c93ed1b6520fff6","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"               choices\u003d(\u0027icmp\u0027, \u0027tcp\u0027, \u0027udp\u0027),"},{"line_number":1052,"context_line":"               help\u003d\u0027The protocol used in security groups tests to check \u0027"},{"line_number":1053,"context_line":"                    \u0027connectivity.\u0027),"},{"line_number":1054,"context_line":"    cfg.StrOpt(\u0027default_availability_zone\u0027,"},{"line_number":1055,"context_line":"               default\u003dNone,"},{"line_number":1056,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova. Set this parameter \u0027"},{"line_number":1057,"context_line":"                    \u0027when the cloud has nova.conf: cinder.cross_az_attach \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_83afe8e1","line":1054,"range":{"start_line":1054,"start_character":16,"end_line":1054,"end_character":41},"in_reply_to":"9fb8cfa7_4d3b76ea","updated":"2019-06-07 13:21:20.000000000","message":"+1 on moving to compute section. Scenario config section is mainly for common config used only in scenario tests of multiple services.","commit_id":"16fec0420a3e1b227e981f1c2760e859638fb1f4"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"3c0aa5d3cde6157c92890408ed563ca4cb9b37ef","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"               choices\u003d(\u0027icmp\u0027, \u0027tcp\u0027, \u0027udp\u0027),"},{"line_number":1052,"context_line":"               help\u003d\u0027The protocol used in security groups tests to check \u0027"},{"line_number":1053,"context_line":"                    \u0027connectivity.\u0027),"},{"line_number":1054,"context_line":"    cfg.StrOpt(\u0027default_availability_zone\u0027,"},{"line_number":1055,"context_line":"               default\u003dNone,"},{"line_number":1056,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova. Set this parameter \u0027"},{"line_number":1057,"context_line":"                    \u0027when the cloud has nova.conf: cinder.cross_az_attach \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_51721613","line":1054,"range":{"start_line":1054,"start_character":16,"end_line":1054,"end_character":41},"in_reply_to":"9fb8cfa7_83afe8e1","updated":"2019-06-07 14:19:49.000000000","message":"ok, that sounds reasonable.","commit_id":"16fec0420a3e1b227e981f1c2760e859638fb1f4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"301d77a1f8f5ff227610bf600c93ed1b6520fff6","unresolved":false,"context_lines":[{"line_number":1053,"context_line":"                    \u0027connectivity.\u0027),"},{"line_number":1054,"context_line":"    cfg.StrOpt(\u0027default_availability_zone\u0027,"},{"line_number":1055,"context_line":"               default\u003dNone,"},{"line_number":1056,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova. Set this parameter \u0027"},{"line_number":1057,"context_line":"                    \u0027when the cloud has nova.conf: cinder.cross_az_attach \u0027"},{"line_number":1058,"context_line":"                    \u0027set to false. This will not support clouds using \u0027"},{"line_number":1059,"context_line":"                    \u0027the Neutron AZ feature currently.\u0027)"},{"line_number":1060,"context_line":"]"},{"line_number":1061,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_26edea24","line":1058,"range":{"start_line":1056,"start_character":20,"end_line":1058,"end_character":34},"updated":"2019-06-07 13:21:20.000000000","message":"let\u0027s describe it in more details:\n\n\u0027Set this parameter when the cloud has nova.conf: cinder.cross_az_attach set to false. Which means volumes attached to an instance must be in the same availability\nzone in Cinder as the instance availability zone in Nova.\nSet the common availability zone in this config which will be used to boot instance as well as creating the volume.\nNOTE:If that AZ is not in Cinder (or allow_availability_zone_fallback\u003dFalse in\ncinder.conf), the volume create request will fail and the instance will fail\nthe build request.\u0027","commit_id":"16fec0420a3e1b227e981f1c2760e859638fb1f4"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"3c0aa5d3cde6157c92890408ed563ca4cb9b37ef","unresolved":false,"context_lines":[{"line_number":1053,"context_line":"                    \u0027connectivity.\u0027),"},{"line_number":1054,"context_line":"    cfg.StrOpt(\u0027default_availability_zone\u0027,"},{"line_number":1055,"context_line":"               default\u003dNone,"},{"line_number":1056,"context_line":"               help\u003d\u0027AZ to be used for Cinder and Nova. Set this parameter \u0027"},{"line_number":1057,"context_line":"                    \u0027when the cloud has nova.conf: cinder.cross_az_attach \u0027"},{"line_number":1058,"context_line":"                    \u0027set to false. This will not support clouds using \u0027"},{"line_number":1059,"context_line":"                    \u0027the Neutron AZ feature currently.\u0027)"},{"line_number":1060,"context_line":"]"},{"line_number":1061,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_d18606dc","line":1058,"range":{"start_line":1056,"start_character":20,"end_line":1058,"end_character":34},"in_reply_to":"9fb8cfa7_26edea24","updated":"2019-06-07 14:19:49.000000000","message":"Done","commit_id":"16fec0420a3e1b227e981f1c2760e859638fb1f4"}],"tempest/scenario/manager.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"342cc9708bb6f1dbab9e96bdffde15fe7496f167","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        tenant_network \u003d self.get_tenant_network()"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        if (CONF.scenario.cross_availability_zone and"},{"line_number":202,"context_line":"            not hasattr(kwargs, \u0027availability_zone\u0027)):"},{"line_number":203,"context_line":"            kwargs[\u0027availability_zone\u0027] \u003d CONF.scenario.cross_availability_zone"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        body, servers \u003d compute.create_test_server("}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_bef3a709","line":202,"updated":"2016-12-13 14:41:15.000000000","message":"You either want kwargs.has_key(...) or \u0027availability_zone\u0027 not in kwargs.\n\nhasattr on a dict doesn\u0027t do what you want here.","commit_id":"a94e7356229ce171929e619834683ebb7d0a1c7b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dd153d631fa64fa6cc3952361d528966443c4f63","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        tenant_network \u003d self.get_tenant_network()"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        if (CONF.scenario.cross_availability_zone and"},{"line_number":202,"context_line":"            not hasattr(kwargs, \u0027availability_zone\u0027)):"},{"line_number":203,"context_line":"            kwargs[\u0027availability_zone\u0027] \u003d CONF.scenario.cross_availability_zone"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        body, servers \u003d compute.create_test_server("}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_de6fc825","line":202,"in_reply_to":"1a6eadb0_bef3a709","updated":"2019-03-26 05:42:23.000000000","message":"Done","commit_id":"a94e7356229ce171929e619834683ebb7d0a1c7b"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"342cc9708bb6f1dbab9e96bdffde15fe7496f167","unresolved":false,"context_lines":[{"line_number":228,"context_line":"                  \u0027volume_type\u0027: volume_type,"},{"line_number":229,"context_line":"                  \u0027size\u0027: size}"},{"line_number":230,"context_line":"        if (CONF.scenario.cross_availability_zone and"},{"line_number":231,"context_line":"            not hasattr(kwargs, \u0027availability_zone\u0027)):"},{"line_number":232,"context_line":"            kwargs[\u0027availability_zone\u0027] \u003d CONF.scenario.cross_availability_zone"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        volume \u003d self.volumes_client.create_volume(**kwargs)[\u0027volume\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6eadb0_5ee53335","line":231,"updated":"2016-12-13 14:41:15.000000000","message":"same","commit_id":"a94e7356229ce171929e619834683ebb7d0a1c7b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"dd153d631fa64fa6cc3952361d528966443c4f63","unresolved":false,"context_lines":[{"line_number":228,"context_line":"                  \u0027volume_type\u0027: volume_type,"},{"line_number":229,"context_line":"                  \u0027size\u0027: size}"},{"line_number":230,"context_line":"        if (CONF.scenario.cross_availability_zone and"},{"line_number":231,"context_line":"            not hasattr(kwargs, \u0027availability_zone\u0027)):"},{"line_number":232,"context_line":"            kwargs[\u0027availability_zone\u0027] \u003d CONF.scenario.cross_availability_zone"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        volume \u003d self.volumes_client.create_volume(**kwargs)[\u0027volume\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_7e625440","line":231,"in_reply_to":"1a6eadb0_5ee53335","updated":"2019-03-26 05:42:23.000000000","message":"Done","commit_id":"a94e7356229ce171929e619834683ebb7d0a1c7b"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"33ea22a885570f642fdee0506e50df5c46f927cd","unresolved":false,"context_lines":[{"line_number":227,"context_line":""},{"line_number":228,"context_line":"        tenant_network \u003d self.get_tenant_network()"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        if (CONF.scenario.default_availability_zone and"},{"line_number":231,"context_line":"            \u0027availability_zone\u0027 not in kwargs):"},{"line_number":232,"context_line":"            kwargs[\u0027availability_zone\u0027] \u003d \\"},{"line_number":233,"context_line":"                CONF.scenario.default_availability_zone"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        body, _ \u003d compute.create_test_server("},{"line_number":236,"context_line":"            clients,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5fc1f717_ae15539d","line":233,"range":{"start_line":230,"start_character":0,"end_line":233,"end_character":55},"updated":"2019-04-03 03:12:12.000000000","message":"This can be simplified to:\n\n    kwargs.setdefault(\u0027availability_zone\u0027, CONF.scenario.default_availability_zone)\n\nWill only set it if it\u0027s not already set.","commit_id":"26419394372416894005a043a860318df8d3bb5f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"56cc4e91165b4b5f5f9273aed1626febca7490ae","unresolved":false,"context_lines":[{"line_number":227,"context_line":""},{"line_number":228,"context_line":"        tenant_network \u003d self.get_tenant_network()"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        if (CONF.scenario.default_availability_zone and"},{"line_number":231,"context_line":"            \u0027availability_zone\u0027 not in kwargs):"},{"line_number":232,"context_line":"            kwargs[\u0027availability_zone\u0027] \u003d \\"},{"line_number":233,"context_line":"                CONF.scenario.default_availability_zone"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        body, _ \u003d compute.create_test_server("},{"line_number":236,"context_line":"            clients,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5fc1f717_f593be4d","line":233,"range":{"start_line":230,"start_character":0,"end_line":233,"end_character":55},"in_reply_to":"5fc1f717_ae15539d","updated":"2019-04-09 05:11:57.000000000","message":"Done","commit_id":"26419394372416894005a043a860318df8d3bb5f"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"33ea22a885570f642fdee0506e50df5c46f927cd","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                  \u0027volume_type\u0027: volume_type,"},{"line_number":267,"context_line":"                  \u0027size\u0027: size}"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        if (CONF.scenario.default_availability_zone and"},{"line_number":270,"context_line":"            \u0027availability_zone\u0027 not in kwargs):"},{"line_number":271,"context_line":"            kwargs[\u0027availability_zone\u0027] \u003d \\"},{"line_number":272,"context_line":"                CONF.scenario.default_availability_zone"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        volume \u003d self.volumes_client.create_volume(**kwargs)[\u0027volume\u0027]"},{"line_number":275,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5fc1f717_8e12d7b3","line":272,"range":{"start_line":269,"start_character":8,"end_line":272,"end_character":55},"updated":"2019-04-03 03:12:12.000000000","message":"This can be simplified to:\n\n    kwargs.setdefault(\u0027availability_zone\u0027, CONF.scenario.default_availability_zone)\n\nWill only set it if it\u0027s not already set.","commit_id":"26419394372416894005a043a860318df8d3bb5f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"56cc4e91165b4b5f5f9273aed1626febca7490ae","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                  \u0027volume_type\u0027: volume_type,"},{"line_number":267,"context_line":"                  \u0027size\u0027: size}"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        if (CONF.scenario.default_availability_zone and"},{"line_number":270,"context_line":"            \u0027availability_zone\u0027 not in kwargs):"},{"line_number":271,"context_line":"            kwargs[\u0027availability_zone\u0027] \u003d \\"},{"line_number":272,"context_line":"                CONF.scenario.default_availability_zone"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        volume \u003d self.volumes_client.create_volume(**kwargs)[\u0027volume\u0027]"},{"line_number":275,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5fc1f717_9594ba37","line":272,"range":{"start_line":269,"start_character":8,"end_line":272,"end_character":55},"in_reply_to":"5fc1f717_8e12d7b3","updated":"2019-04-09 05:11:57.000000000","message":"Done","commit_id":"26419394372416894005a043a860318df8d3bb5f"}]}
