)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"202d494d239aa42187f921f6d542212eefa984e7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Chuck Carmack \u003ccarmack@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-21 13:58:41 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Disable security group tests in tempest-dsvm-cells-rc using a config option"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the tempest security group tests for tempest-dsvm-cells-rc"},{"line_number":10,"context_line":"are blocked because cells doesn\u0027t support security groups.  The block is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba15a1d1_264d8a72","line":7,"updated":"2015-09-21 20:43:10.000000000","message":"This rc file is in nova so it\u0027s confusing to mention it here for the tempest change.\n\nI\u0027d word this as:\n\n\"Add a config option to disable security group usage\"","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"202d494d239aa42187f921f6d542212eefa984e7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Disable security group tests in tempest-dsvm-cells-rc using a config option"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the tempest security group tests for tempest-dsvm-cells-rc"},{"line_number":10,"context_line":"are blocked because cells doesn\u0027t support security groups.  The block is"},{"line_number":11,"context_line":"now done using a nova whitelist:"},{"line_number":12,"context_line":"http://git.openstack.org/cgit/openstack/nova/tree/devstack/tempest-dsvm-cells-rc."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba15a1d1_e6a47209","line":9,"updated":"2015-09-21 20:43:10.000000000","message":"This rc file mention here is confusing.  I\u0027d just say:\n\n\"Currently, any tests which use security groups are excluded from the gate-tempest-dsvm-cells job since cells does not support security groups.\"","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"202d494d239aa42187f921f6d542212eefa984e7","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, the tempest security group tests for tempest-dsvm-cells-rc"},{"line_number":10,"context_line":"are blocked because cells doesn\u0027t support security groups.  The block is"},{"line_number":11,"context_line":"now done using a nova whitelist:"},{"line_number":12,"context_line":"http://git.openstack.org/cgit/openstack/nova/tree/devstack/tempest-dsvm-cells-rc."},{"line_number":13,"context_line":"Change to block the tests based on a new tempest config option -"},{"line_number":14,"context_line":"compute-feature-enabled.security_groups."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba15a1d1_a6af5ae2","line":11,"updated":"2015-09-21 20:43:10.000000000","message":"s/whitelist/blacklist/","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"202d494d239aa42187f921f6d542212eefa984e7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Currently, the tempest security group tests for tempest-dsvm-cells-rc"},{"line_number":10,"context_line":"are blocked because cells doesn\u0027t support security groups.  The block is"},{"line_number":11,"context_line":"now done using a nova whitelist:"},{"line_number":12,"context_line":"http://git.openstack.org/cgit/openstack/nova/tree/devstack/tempest-dsvm-cells-rc."},{"line_number":13,"context_line":"Change to block the tests based on a new tempest config option -"},{"line_number":14,"context_line":"compute-feature-enabled.security_groups."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba15a1d1_86b49635","line":12,"updated":"2015-09-21 20:43:10.000000000","message":"The period at the end of the URL messages up the link.","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"202d494d239aa42187f921f6d542212eefa984e7","unresolved":false,"context_lines":[{"line_number":20,"context_line":"This commit changes tempest to add the compute-feature-enabled.security_groups"},{"line_number":21,"context_line":"option with a default of True."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Future commits will change devstack to set the new option into tempest.conf,"},{"line_number":24,"context_line":"change nova to remove the security test regex from the whitelist,"},{"line_number":25,"context_line":"and change the scenario tests to use the new option."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba15a1d1_66e70241","line":23,"updated":"2015-09-21 20:43:10.000000000","message":"You now have the devstack and nova change IDs, so you could list those here for reference.","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"202d494d239aa42187f921f6d542212eefa984e7","unresolved":false,"context_lines":[{"line_number":21,"context_line":"option with a default of True."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Future commits will change devstack to set the new option into tempest.conf,"},{"line_number":24,"context_line":"change nova to remove the security test regex from the whitelist,"},{"line_number":25,"context_line":"and change the scenario tests to use the new option."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Change-Id: Icd62f42809380de6d638b343d3322b102b0d1d1f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba15a1d1_a6967a92","line":24,"updated":"2015-09-21 20:43:10.000000000","message":"s/whitelist/blacklist/","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"202d494d239aa42187f921f6d542212eefa984e7","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Future commits will change devstack to set the new option into tempest.conf,"},{"line_number":24,"context_line":"change nova to remove the security test regex from the whitelist,"},{"line_number":25,"context_line":"and change the scenario tests to use the new option."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Change-Id: Icd62f42809380de6d638b343d3322b102b0d1d1f"},{"line_number":28,"context_line":"Partial-Bug: 1495653"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba15a1d1_e6f23206","line":25,"updated":"2015-09-21 20:43:10.000000000","message":"The changes to the tests would not be in a future change, they\u0027d be in this change, so remove this part.","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"202d494d239aa42187f921f6d542212eefa984e7","unresolved":false,"context_lines":[{"line_number":25,"context_line":"and change the scenario tests to use the new option."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Change-Id: Icd62f42809380de6d638b343d3322b102b0d1d1f"},{"line_number":28,"context_line":"Partial-Bug: 1495653"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba15a1d1_26d02a53","line":28,"updated":"2015-09-21 20:43:10.000000000","message":"This should be Closes-Bug.","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Chuck Carmack \u003ccarmack@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-25 17:34:08 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":":Add a config option to disable security group usage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, any tests which use security groups are excluded from"},{"line_number":10,"context_line":"the gate-tempest-dsvm-cells job since cells does not support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_fd3164ed","line":7,"updated":"2015-09-25 19:15:29.000000000","message":"Drop the : in here.","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Chuck Carmack \u003ccarmack@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-25 17:34:08 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":":Add a config option to disable security group usage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, any tests which use security groups are excluded from"},{"line_number":10,"context_line":"the gate-tempest-dsvm-cells job since cells does not support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_93802b48","line":7,"in_reply_to":"9a1a9d01_fd3164ed","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":16986,"name":"Shuquan Huang","email":"shuquan.huang@live.com","username":"shuquan"},"change_message_id":"5bd913f5619032d8fb606570c681a7028deaa99f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-09-25 17:34:08 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":":Add a config option to disable security group usage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, any tests which use security groups are excluded from"},{"line_number":10,"context_line":"the gate-tempest-dsvm-cells job since cells does not support"},{"line_number":11,"context_line":"security groups.  The exclusion is done using a blacklist"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_1013c3b9","line":8,"updated":"2015-09-28 06:35:29.000000000","message":"Remove the : here.  Quite strange.","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-09-25 17:34:08 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":":Add a config option to disable security group usage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, any tests which use security groups are excluded from"},{"line_number":10,"context_line":"the gate-tempest-dsvm-cells job since cells does not support"},{"line_number":11,"context_line":"security groups.  The exclusion is done using a blacklist"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_f391679a","line":8,"in_reply_to":"9a1a9d01_1013c3b9","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":12,"context_line":"in:"},{"line_number":13,"context_line":"http://git.openstack.org/cgit/openstack/nova/tree/devstack/tempest-dsvm-cells-rc"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change to exclude the tests based on a new tempest config option -"},{"line_number":16,"context_line":"compute-feature-enabled.security_groups."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Also, some of the tempest scenario tests attempt to create a server with a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_bd79ac95","line":15,"updated":"2015-09-25 19:15:29.000000000","message":"I\u0027d maybe say, \"This is part of a series of changes to exclude the testes based on a new tempest config option - compute-feature-enabled.security_groups\"","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":12,"context_line":"in:"},{"line_number":13,"context_line":"http://git.openstack.org/cgit/openstack/nova/tree/devstack/tempest-dsvm-cells-rc"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change to exclude the tests based on a new tempest config option -"},{"line_number":16,"context_line":"compute-feature-enabled.security_groups."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Also, some of the tempest scenario tests attempt to create a server with a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_b3ea0f0e","line":15,"in_reply_to":"9a1a9d01_bd79ac95","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Other change sets are dependent on this change:"},{"line_number":23,"context_line":"1) Devstack change to set the new option as False into tempest.conf"},{"line_number":24,"context_line":"if cells are enabled."},{"line_number":25,"context_line":"https://review.openstack.org/#/c/225204/"},{"line_number":26,"context_line":"2) Nova change to remove the security group related tests"},{"line_number":27,"context_line":"from the blacklist."},{"line_number":28,"context_line":"https://review.openstack.org/#/c/226043/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_fd5f240c","line":25,"updated":"2015-09-25 19:15:29.000000000","message":"Use the changeid rather than the URL:\n\nI4f74b80024a9bcc374d374d86052dceb40598d32","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Other change sets are dependent on this change:"},{"line_number":23,"context_line":"1) Devstack change to set the new option as False into tempest.conf"},{"line_number":24,"context_line":"if cells are enabled."},{"line_number":25,"context_line":"https://review.openstack.org/#/c/225204/"},{"line_number":26,"context_line":"2) Nova change to remove the security group related tests"},{"line_number":27,"context_line":"from the blacklist."},{"line_number":28,"context_line":"https://review.openstack.org/#/c/226043/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_73b557ec","line":25,"in_reply_to":"9a1a9d01_fd5f240c","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":25,"context_line":"https://review.openstack.org/#/c/225204/"},{"line_number":26,"context_line":"2) Nova change to remove the security group related tests"},{"line_number":27,"context_line":"from the blacklist."},{"line_number":28,"context_line":"https://review.openstack.org/#/c/226043/"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: Icd62f42809380de6d638b343d3322b102b0d1d1f"},{"line_number":31,"context_line":"Closes-Bug: 1495653"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_5da5f001","line":28,"updated":"2015-09-25 19:15:29.000000000","message":"Use the nova changeid rather than URL:\n\nIcb6d9934dfbe4a4f03e38a47fb9d29a0e72d1942","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":25,"context_line":"https://review.openstack.org/#/c/225204/"},{"line_number":26,"context_line":"2) Nova change to remove the security group related tests"},{"line_number":27,"context_line":"from the blacklist."},{"line_number":28,"context_line":"https://review.openstack.org/#/c/226043/"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: Icd62f42809380de6d638b343d3322b102b0d1d1f"},{"line_number":31,"context_line":"Closes-Bug: 1495653"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_53cb7372","line":28,"in_reply_to":"9a1a9d01_5da5f001","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"}],"tempest/api/compute/admin/test_security_group_default_rules.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a49d49830895259bc3b75e929f4ec5b7bdc34bf0","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                      \"implemented in Neutron. Related Bug#1311500\")"},{"line_number":33,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.security_groups,"},{"line_number":34,"context_line":"                          \"Skipped because the compute security groups \""},{"line_number":35,"context_line":"                          \"feature is disabled.\")"},{"line_number":36,"context_line":"    def setup_credentials(cls):"},{"line_number":37,"context_line":"        # A network and a subnet will be created for these tests"},{"line_number":38,"context_line":"        cls.set_network_resources(network\u003dTrue, subnet\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_7920f79b","line":35,"updated":"2015-12-10 22:16:20.000000000","message":"I think the skip_checks method with a config check and raise in it would be clearer about the fact we want to skip all the tests in this class if security groups are disabled. Since setup_credentials is called during setUp() this has the same result","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"cbaf43c20f9a6c902e511486bcd669bc3b6a10b3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                      \"implemented in Neutron. Related Bug#1311500\")"},{"line_number":33,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.security_groups,"},{"line_number":34,"context_line":"                          \"Skipped because the compute security groups \""},{"line_number":35,"context_line":"                          \"feature is disabled.\")"},{"line_number":36,"context_line":"    def setup_credentials(cls):"},{"line_number":37,"context_line":"        # A network and a subnet will be created for these tests"},{"line_number":38,"context_line":"        cls.set_network_resources(network\u003dTrue, subnet\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_795a10f4","line":35,"in_reply_to":"7a740942_7920f79b","updated":"2015-12-11 15:25:48.000000000","message":"Done","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                   \" in Neutron. Related Bug#1311500\" % cls.__name__)"},{"line_number":35,"context_line":"            raise cls.skipException(msg)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":38,"context_line":"            msg \u003d (\"%s skipped because the compute security groups \""},{"line_number":39,"context_line":"                   \"feature is disabled.\" % cls.__name__)"},{"line_number":40,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_9e499762","line":37,"updated":"2015-12-14 14:52:55.000000000","message":"Once the bug#1311500 is fixed and lines L32-35 are dropped, this will always skip if this flag is disabled, regardless of neutron being available or not. Is this really the intended behaviour? Does this flag matter when neutron is used?","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"6409e216d5d9f2912ae06be2840c9fe43aef0df6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                   \" in Neutron. Related Bug#1311500\" % cls.__name__)"},{"line_number":35,"context_line":"            raise cls.skipException(msg)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":38,"context_line":"            msg \u003d (\"%s skipped because the compute security groups \""},{"line_number":39,"context_line":"                   \"feature is disabled.\" % cls.__name__)"},{"line_number":40,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":23,"id":"fa69d971_243df2dc","line":37,"in_reply_to":"7a740942_9e499762","updated":"2016-01-06 20:16:10.000000000","message":"Please see my reply about neutron in the top level thread.\n\nThe flag is meant to control whether compute supports security groups, regardless if n-net or neutron is providing the implementation.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"}],"tempest/api/compute/admin/test_security_groups.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5b327c891542a2a2755d3b04d0c9daa271a53bdf","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @testtools.skipIf(CONF.service_available.neutron,"},{"line_number":42,"context_line":"                      \"Skipped because neutron does not support all_tenants \""},{"line_number":43,"context_line":"                      \"search filter.\")"},{"line_number":44,"context_line":"    @testtools.skipIf(not CONF.compute_feature_enabled.security_groups,"},{"line_number":45,"context_line":"                      \"Skipped because the compute security groups \""},{"line_number":46,"context_line":"                      \"feature is disabled.\")"},{"line_number":47,"context_line":"    @test.services(\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a2fa921_c26c4537","line":44,"updated":"2015-10-08 23:10:39.000000000","message":"nit: I prefer:\n\n@testtools,skipUnless(CONF.compute_feature_enabled.security_groups, ...)\n\nBut it\u0027s not a big deal.","commit_id":"4e33af01eb4d6b48045f4dd9c9b874b4bbfda4bc"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"31411b14a9f959a01973770b5982a3566d6afa97","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @testtools.skipIf(CONF.service_available.neutron,"},{"line_number":42,"context_line":"                      \"Skipped because neutron does not support all_tenants \""},{"line_number":43,"context_line":"                      \"search filter.\")"},{"line_number":44,"context_line":"    @testtools.skipIf(not CONF.compute_feature_enabled.security_groups,"},{"line_number":45,"context_line":"                      \"Skipped because the compute security groups \""},{"line_number":46,"context_line":"                      \"feature is disabled.\")"},{"line_number":47,"context_line":"    @test.services(\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a2fa921_03b30351","line":44,"in_reply_to":"7a2fa921_c26c4537","updated":"2015-10-09 13:53:30.000000000","message":"Done","commit_id":"4e33af01eb4d6b48045f4dd9c9b874b4bbfda4bc"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7de4a9c3af67c6226977344118aa04e74d1d8b3b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            self.client.delete_security_group(securitygroup_id)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @test.idempotent_id(\u002749667619-5af9-4c63-ab5d-2cfdd1c8f7f1\u0027)"},{"line_number":41,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.security_groups,"},{"line_number":42,"context_line":"                          \"Skipped because the compute security groups \""},{"line_number":43,"context_line":"                          \"feature is disabled.\")"},{"line_number":44,"context_line":"    @test.services(\u0027network\u0027)"},{"line_number":45,"context_line":"    def test_list_security_groups_list_all_tenants_filter(self):"},{"line_number":46,"context_line":"        # Admin can list security groups of all tenants"}],"source_content_type":"text/x-python","patch_set":29,"id":"dae33548_e51617f0","line":43,"range":{"start_line":41,"start_character":0,"end_line":43,"end_character":49},"updated":"2016-02-16 23:08:55.000000000","message":"This test class is only for security group as the name.\n\nSo it is better to implement skip in skip_check() like the base.py change.","commit_id":"922f20ef075286a80a890990caf94bf4f1286ffb"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"9eb80bd03bb6cf055a7b52ed469ac8fa34a22bb6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            self.client.delete_security_group(securitygroup_id)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @test.idempotent_id(\u002749667619-5af9-4c63-ab5d-2cfdd1c8f7f1\u0027)"},{"line_number":41,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.security_groups,"},{"line_number":42,"context_line":"                          \"Skipped because the compute security groups \""},{"line_number":43,"context_line":"                          \"feature is disabled.\")"},{"line_number":44,"context_line":"    @test.services(\u0027network\u0027)"},{"line_number":45,"context_line":"    def test_list_security_groups_list_all_tenants_filter(self):"},{"line_number":46,"context_line":"        # Admin can list security groups of all tenants"}],"source_content_type":"text/x-python","patch_set":29,"id":"dae33548_870ef338","line":43,"range":{"start_line":41,"start_character":0,"end_line":43,"end_character":49},"in_reply_to":"dae33548_e51617f0","updated":"2016-02-17 21:39:53.000000000","message":"Done","commit_id":"922f20ef075286a80a890990caf94bf4f1286ffb"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        cls.client \u003d cls.security_groups_client"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def skip_checks(cls):"},{"line_number":34,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":35,"context_line":"            msg \u003d (\"The compute security group feature is disabled.\")"},{"line_number":36,"context_line":"            raise cls.skipException(msg)"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_08a782aa","line":33,"range":{"start_line":33,"start_character":23,"end_line":33,"end_character":25},"updated":"2016-02-18 07:35:22.000000000","message":"should have super call to skip_checks","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def skip_checks(cls):"},{"line_number":34,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":35,"context_line":"            msg \u003d (\"The compute security group feature is disabled.\")"},{"line_number":36,"context_line":"            raise cls.skipException(msg)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def _delete_security_group(self, securitygroup_id, admin\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_48c4ea3e","line":35,"range":{"start_line":35,"start_character":19,"end_line":35,"end_character":67},"updated":"2016-02-18 07:35:22.000000000","message":"msg should be same as other tests-\n\n\"%s skipped because the compute security groups \"\n                   \"feature is disabled.\" % cls.__name__","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/api/compute/security_groups/base.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"9d75ea6c05d8e9c6ee242cf2a163b5418b5e3d57","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def skip_checks(cls):"},{"line_number":26,"context_line":"        super(BaseSecurityGroupsTest, cls).skip_checks()"},{"line_number":27,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":28,"context_line":"            raise cls.skipException(\"Security group tests are disabled\")"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @classmethod"},{"line_number":31,"context_line":"    def setup_credentials(cls):"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a8ffd7b_2426ba68","line":28,"range":{"start_line":28,"start_character":22,"end_line":28,"end_character":35},"updated":"2015-12-02 08:16:07.000000000","message":"NIT: skip messages usually refer to a feature not being available rather than tests being disabled.","commit_id":"44a2bb363f664b36468c5320ec4c49f967892f18"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def skip_checks(cls):"},{"line_number":26,"context_line":"        super(BaseSecurityGroupsTest, cls).skip_checks()"},{"line_number":27,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":28,"context_line":"            raise cls.skipException(\"Security group tests are disabled\")"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @classmethod"},{"line_number":31,"context_line":"    def setup_credentials(cls):"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_a8e936b9","line":28,"range":{"start_line":28,"start_character":37,"end_line":28,"end_character":71},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/api/network/test_ports.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.assertIn(security_group, port_show[\u0027security_groups\u0027])"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    @test.idempotent_id(\u002758091b66-4ff4-4cc1-a549-05d60c7acd1a\u0027)"},{"line_number":298,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.security_groups,"},{"line_number":299,"context_line":"                          \"Skipped because the compute security groups \""},{"line_number":300,"context_line":"                          \"feature is disabled.\")"},{"line_number":301,"context_line":"    def test_update_port_with_security_group_and_extra_attributes(self):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_9e53d7e1","line":298,"updated":"2015-12-14 14:52:55.000000000","message":"This uses the neutron SG implementation, do we really need to skip it?","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.assertIn(security_group, port_show[\u0027security_groups\u0027])"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    @test.idempotent_id(\u002758091b66-4ff4-4cc1-a549-05d60c7acd1a\u0027)"},{"line_number":298,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.security_groups,"},{"line_number":299,"context_line":"                          \"Skipped because the compute security groups \""},{"line_number":300,"context_line":"                          \"feature is disabled.\")"},{"line_number":301,"context_line":"    def test_update_port_with_security_group_and_extra_attributes(self):"}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_a525395d","line":298,"in_reply_to":"7a740942_9e53d7e1","updated":"2016-01-18 20:14:57.000000000","message":"The flag is meant to indicate whether the compute service supports SG\u0027s, whether neutron created or n-net created.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":303,"context_line":"            [data_utils.rand_name(\u0027secgroup\u0027)])"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"    @test.idempotent_id(\u0027edf6766d-3d40-4621-bc6e-2521a44c257d\u0027)"},{"line_number":306,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.security_groups,"},{"line_number":307,"context_line":"                          \"Skipped because the compute security groups \""},{"line_number":308,"context_line":"                          \"feature is disabled.\")"},{"line_number":309,"context_line":"    def test_update_port_with_two_security_groups_and_extra_attributes(self):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_1e5607ce","line":306,"updated":"2015-12-14 14:52:55.000000000","message":"Ditto","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"}],"tempest/api/network/test_security_groups.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":34,"context_line":"            raise cls.skipException(msg)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":37,"context_line":"            msg \u003d (\"the compute security group feature is disabled.\")"},{"line_number":38,"context_line":"            raise cls.skipException(msg)"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_1e24c75d","line":36,"updated":"2015-12-14 14:52:55.000000000","message":"This test class uses the neutron implementation of SG, does it really need to be skipped?","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":34,"context_line":"            raise cls.skipException(msg)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":37,"context_line":"            msg \u003d (\"the compute security group feature is disabled.\")"},{"line_number":38,"context_line":"            raise cls.skipException(msg)"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_85f6f5d5","line":36,"in_reply_to":"7a740942_1e24c75d","updated":"2016-01-18 20:14:57.000000000","message":"The flag is meant to indicate whether the compute service supports SG\u0027s, whether neutron created or n-net created.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            raise cls.skipException(msg)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":37,"context_line":"            msg \u003d (\"the compute security group feature is disabled.\")"},{"line_number":38,"context_line":"            raise cls.skipException(msg)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _create_verify_security_group_rule(self, sg_id, direction,"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_284406b5","line":37,"range":{"start_line":37,"start_character":66,"end_line":37,"end_character":69},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/api/network/test_security_groups_negative.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":35,"context_line":"            raise cls.skipException(msg)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":38,"context_line":"            msg \u003d (\"the compute security group feature is disabled.\")"},{"line_number":39,"context_line":"            raise cls.skipException(msg)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_9e18b71f","line":37,"updated":"2015-12-14 14:52:55.000000000","message":"This test class uses the neutron implementation of SG, does it really need to be skipped?","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":35,"context_line":"            raise cls.skipException(msg)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":38,"context_line":"            msg \u003d (\"the compute security group feature is disabled.\")"},{"line_number":39,"context_line":"            raise cls.skipException(msg)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_4569dd8a","line":37,"in_reply_to":"7a740942_9e18b71f","updated":"2016-01-18 20:14:57.000000000","message":"The flag is meant to indicate whether the compute service supports SG\u0027s, whether neutron created or n-net created.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            raise cls.skipException(msg)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":38,"context_line":"            msg \u003d (\"the compute security group feature is disabled.\")"},{"line_number":39,"context_line":"            raise cls.skipException(msg)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_c80bda7b","line":38,"range":{"start_line":38,"start_character":66,"end_line":38,"end_character":69},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/config.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba709d8b8dc369d1d66acd83cbb38c24ffb6deac","unresolved":false,"context_lines":[{"line_number":418,"context_line":"                help\u003d\u0027Does the test environment support creating instances \u0027"},{"line_number":419,"context_line":"                     \u0027with multiple ports on the same network? This is only \u0027"},{"line_number":420,"context_line":"                     \u0027valid when using Neutron.\u0027),"},{"line_number":421,"context_line":"    cfg.BoolOpt(\u0027security-groups\u0027,"},{"line_number":422,"context_line":"                default\u003dTrue,"},{"line_number":423,"context_line":"                help\u003d\u0027Enable the security group tests. \u0027),"},{"line_number":424,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_433430fa","line":421,"updated":"2015-09-21 20:39:10.000000000","message":"This should probably be security_groups with an underscore like the other options in here.  Plus your devstack change is expecting security_groups:\n\nhttps://review.openstack.org/#/c/225204/1/lib/tempest","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"2acd6bb8c9d4d1ef689f3afa1c7d65efcd233c0e","unresolved":false,"context_lines":[{"line_number":418,"context_line":"                help\u003d\u0027Does the test environment support creating instances \u0027"},{"line_number":419,"context_line":"                     \u0027with multiple ports on the same network? This is only \u0027"},{"line_number":420,"context_line":"                     \u0027valid when using Neutron.\u0027),"},{"line_number":421,"context_line":"    cfg.BoolOpt(\u0027security-groups\u0027,"},{"line_number":422,"context_line":"                default\u003dTrue,"},{"line_number":423,"context_line":"                help\u003d\u0027Enable the security group tests. \u0027),"},{"line_number":424,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_25e32035","line":421,"in_reply_to":"ba15a1d1_433430fa","updated":"2015-09-22 15:54:57.000000000","message":"Done","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba709d8b8dc369d1d66acd83cbb38c24ffb6deac","unresolved":false,"context_lines":[{"line_number":420,"context_line":"                     \u0027valid when using Neutron.\u0027),"},{"line_number":421,"context_line":"    cfg.BoolOpt(\u0027security-groups\u0027,"},{"line_number":422,"context_line":"                default\u003dTrue,"},{"line_number":423,"context_line":"                help\u003d\u0027Enable the security group tests. \u0027),"},{"line_number":424,"context_line":"]"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_e311c45e","line":423,"updated":"2015-09-21 20:39:10.000000000","message":"The help is a bit vague.  I\u0027d word this as:\n\n\"Does the test environment support restricting access to a server instance through security groups?\"","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"2acd6bb8c9d4d1ef689f3afa1c7d65efcd233c0e","unresolved":false,"context_lines":[{"line_number":420,"context_line":"                     \u0027valid when using Neutron.\u0027),"},{"line_number":421,"context_line":"    cfg.BoolOpt(\u0027security-groups\u0027,"},{"line_number":422,"context_line":"                default\u003dTrue,"},{"line_number":423,"context_line":"                help\u003d\u0027Enable the security group tests. \u0027),"},{"line_number":424,"context_line":"]"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_c5d02456","line":423,"in_reply_to":"ba15a1d1_e311c45e","updated":"2015-09-22 15:54:57.000000000","message":"Done","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"9d75ea6c05d8e9c6ee242cf2a163b5418b5e3d57","unresolved":false,"context_lines":[{"line_number":451,"context_line":"    cfg.BoolOpt(\u0027config_drive\u0027,"},{"line_number":452,"context_line":"                default\u003dTrue,"},{"line_number":453,"context_line":"                help\u003d\u0027Enable special configuration drive with metadata.\u0027),"},{"line_number":454,"context_line":"    cfg.BoolOpt(\u0027security_groups\u0027,"},{"line_number":455,"context_line":"                default\u003dTrue,"},{"line_number":456,"context_line":"                help\u003d\u0027Does the test environment support restricting access \u0027"},{"line_number":457,"context_line":"                     \u0027to a server instance through security groups?\u0027),"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a8ffd7b_848be61d","line":454,"updated":"2015-12-02 08:16:07.000000000","message":"This is the n-net implementation of s-g, so it fits in the compute group","commit_id":"44a2bb363f664b36468c5320ec4c49f967892f18"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                help\u003d\u0027Enable special configuration drive with metadata.\u0027),"},{"line_number":474,"context_line":"    cfg.BoolOpt(\u0027security_groups\u0027,"},{"line_number":475,"context_line":"                default\u003dTrue,"},{"line_number":476,"context_line":"                help\u003d\u0027Does the test environment support restricting access \u0027"},{"line_number":477,"context_line":"                     \u0027to a server instance through security groups?\u0027),"},{"line_number":478,"context_line":"]"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_5e8a4f1c","line":476,"updated":"2015-12-14 14:52:55.000000000","message":"Does this relate to neutron being available or not?","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                help\u003d\u0027Enable special configuration drive with metadata.\u0027),"},{"line_number":474,"context_line":"    cfg.BoolOpt(\u0027security_groups\u0027,"},{"line_number":475,"context_line":"                default\u003dTrue,"},{"line_number":476,"context_line":"                help\u003d\u0027Does the test environment support restricting access \u0027"},{"line_number":477,"context_line":"                     \u0027to a server instance through security groups?\u0027),"},{"line_number":478,"context_line":"]"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_25906995","line":476,"in_reply_to":"7a740942_5e8a4f1c","updated":"2016-01-18 20:14:57.000000000","message":"No, it just enables or disables security group creation.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"}],"tempest/scenario/test_large_ops.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7de4a9c3af67c6226977344118aa04e74d1d8b3b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            \u0027min_count\u0027: CONF.scenario.large_ops_number,"},{"line_number":83,"context_line":"            }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        # Explicitly create secgroup to avoid cleanup at the end of testcases."},{"line_number":86,"context_line":"        # Since no traffic is tested, we don\u0027t need to actually add rules to"},{"line_number":87,"context_line":"        # secgroup"},{"line_number":88,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":89,"context_line":"            secgroup \u003d \\"},{"line_number":90,"context_line":"                self.compute_security_groups_client.create_security_group("}],"source_content_type":"text/x-python","patch_set":29,"id":"dae33548_c597938e","line":87,"range":{"start_line":85,"start_character":8,"end_line":87,"end_character":18},"updated":"2016-02-16 23:08:55.000000000","message":"Can you put this comment into line 89 for clear meaning?","commit_id":"922f20ef075286a80a890990caf94bf4f1286ffb"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"9eb80bd03bb6cf055a7b52ed469ac8fa34a22bb6","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            \u0027min_count\u0027: CONF.scenario.large_ops_number,"},{"line_number":83,"context_line":"            }"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        # Explicitly create secgroup to avoid cleanup at the end of testcases."},{"line_number":86,"context_line":"        # Since no traffic is tested, we don\u0027t need to actually add rules to"},{"line_number":87,"context_line":"        # secgroup"},{"line_number":88,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":89,"context_line":"            secgroup \u003d \\"},{"line_number":90,"context_line":"                self.compute_security_groups_client.create_security_group("}],"source_content_type":"text/x-python","patch_set":29,"id":"dae33548_daef321c","line":87,"range":{"start_line":85,"start_character":8,"end_line":87,"end_character":18},"in_reply_to":"dae33548_c597938e","updated":"2016-02-17 21:39:53.000000000","message":"Done","commit_id":"922f20ef075286a80a890990caf94bf4f1286ffb"}],"tempest/scenario/test_minimum_basic.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.floating_ip \u003d self.create_floating_ip(self.server)"},{"line_number":129,"context_line":"        self.create_and_add_security_group()"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self.linux_client \u003d self.get_remote_client(self.floating_ip[\u0027ip\u0027])"},{"line_number":132,"context_line":"        self.nova_reboot()"},{"line_number":133,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_3d94bc89","side":"PARENT","line":130,"updated":"2015-09-25 19:15:29.000000000","message":"Looks like you dropped a newline here, which is an unrelated change, so please add it back.","commit_id":"b25603c2c9c4329edf7852f6930ab90638865f4c"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.floating_ip \u003d self.create_floating_ip(self.server)"},{"line_number":129,"context_line":"        self.create_and_add_security_group()"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self.linux_client \u003d self.get_remote_client(self.floating_ip[\u0027ip\u0027])"},{"line_number":132,"context_line":"        self.nova_reboot()"},{"line_number":133,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_dd6312db","side":"PARENT","line":130,"in_reply_to":"9a1a9d01_3d94bc89","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"b25603c2c9c4329edf7852f6930ab90638865f4c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self.linux_client \u003d self.get_remote_client(self.floating_ip[\u0027ip\u0027])"},{"line_number":132,"context_line":"        self.nova_reboot()"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        self.linux_client \u003d self.get_remote_client(self.floating_ip[\u0027ip\u0027])"},{"line_number":135,"context_line":"        self.check_partitions()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_fd8de47b","side":"PARENT","line":133,"updated":"2015-09-25 19:15:29.000000000","message":"ditto","commit_id":"b25603c2c9c4329edf7852f6930ab90638865f4c"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self.linux_client \u003d self.get_remote_client(self.floating_ip[\u0027ip\u0027])"},{"line_number":132,"context_line":"        self.nova_reboot()"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        self.linux_client \u003d self.get_remote_client(self.floating_ip[\u0027ip\u0027])"},{"line_number":135,"context_line":"        self.check_partitions()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_fd5e1611","side":"PARENT","line":133,"in_reply_to":"9a1a9d01_fd8de47b","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"b25603c2c9c4329edf7852f6930ab90638865f4c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        self.cinder_show(volume)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        floating_ip \u003d self.create_floating_ip(server)"},{"line_number":139,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":140,"context_line":"            self.create_and_add_security_group_to_server(server)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        # check that we can SSH to the server before reboot"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_3d4f3f6c","line":139,"updated":"2015-12-14 14:52:55.000000000","message":"If you don\u0027t create the SG here, the server won\u0027t be ssh-able, unless you\u0027re using a network model that defaults to all ports open.\nAs this feature flag does not necessarily imply that, you\u0027re would cause the test to not-function in some scenarios by doing this.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"aac22103ecffa1d5b3b52e23462ae3348a0f3ca5","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        self.cinder_show(volume)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        floating_ip \u003d self.create_floating_ip(server)"},{"line_number":139,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":140,"context_line":"            self.create_and_add_security_group_to_server(server)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        # check that we can SSH to the server before reboot"}],"source_content_type":"text/x-python","patch_set":23,"id":"fa69d971_2d439514","line":139,"in_reply_to":"3a7e1126_ceaaa619","updated":"2016-01-06 20:44:58.000000000","message":"The dvsm-tempest-cells tests ran OK with security groups disabled, so I think the default security group must allow connections between hosts.  (Isn\u0027t this running on devstack anyway?).\n\nIf another feature needs to disable security groups, it may need to update these tests.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"7702e45a60d025e706d0145b669bca37e9174f4f","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        self.cinder_show(volume)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        floating_ip \u003d self.create_floating_ip(server)"},{"line_number":139,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":140,"context_line":"            self.create_and_add_security_group_to_server(server)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        # check that we can SSH to the server before reboot"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a7e1126_ceaaa619","line":139,"in_reply_to":"7a740942_3d4f3f6c","updated":"2015-12-17 13:40:33.000000000","message":"Right, but if the platform doesn\u0027t support security groups, that\u0027s what\u0027s expected, right?\n\nI think the function would be better described as \"ensure_server_sshable\".","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        self.cinder_show(volume)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        floating_ip \u003d self.create_floating_ip(server)"},{"line_number":139,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":140,"context_line":"            self.create_and_add_security_group_to_server(server)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        # check that we can SSH to the server before reboot"}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_b26c9d09","line":139,"in_reply_to":"fa69d971_2d439514","updated":"2016-01-18 20:14:57.000000000","message":"Update:\n\nThis test will remain blacklisted for cells because it uses a floating ip.\n\nhttps://github.com/openstack/nova/blob/master/devstack/tempest-dsvm-cells-rc\n\nIf some other feature sets the security_groups flag to false, they will get errors, but that is to be expected.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        self.cinder_show(volume)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        floating_ip \u003d self.create_floating_ip(server)"},{"line_number":123,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":124,"context_line":"            self.create_and_add_security_group_to_server(server)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # check that we can SSH to the server before reboot"},{"line_number":127,"context_line":"        self.linux_client \u003d self.get_remote_client("}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_66f11fcd","line":124,"range":{"start_line":123,"start_character":0,"end_line":124,"end_character":64},"updated":"2016-02-18 07:35:22.000000000","message":"This would not work. Here we are not adding sec grp on basis of conf but still do ssh which going to fail if we run this tests with CONF.compute_feature_enabled.security_groups\u003dFalse.","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/scenario/test_network_advanced_server_ops.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        network, subnet, router \u003d self.create_networks()"},{"line_number":58,"context_line":"        public_network_id \u003d CONF.network.public_network_id"},{"line_number":59,"context_line":"        security_groups \u003d []"},{"line_number":60,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":61,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":62,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":63,"context_line":"        server_name \u003d data_utils.rand_name(\u0027server-smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_dd3e3bb7","line":60,"updated":"2015-12-14 14:52:55.000000000","message":"If you don\u0027t create the SG here, the server won\u0027t be ssh-able, unless you\u0027re using a network model that defaults to all ports open.\nAs this feature flag does not necessarily imply that, you\u0027re would cause the test to not-function in some scenarios by doing this.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        network, subnet, router \u003d self.create_networks()"},{"line_number":58,"context_line":"        public_network_id \u003d CONF.network.public_network_id"},{"line_number":59,"context_line":"        security_groups \u003d []"},{"line_number":60,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":61,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":62,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":63,"context_line":"        server_name \u003d data_utils.rand_name(\u0027server-smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_7202a540","line":60,"in_reply_to":"7a740942_dd3e3bb7","updated":"2016-01-18 20:14:57.000000000","message":"This test will remain blacklisted for cells because it uses a floating ip.\n\nhttps://github.com/openstack/nova/blob/master/devstack/tempest-dsvm-cells-rc\n\nIf some other feature sets the security_groups flag to false, they will get errors, but that is to be expected.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        security_groups \u003d []"},{"line_number":58,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":59,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":60,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":61,"context_line":"        server_name \u003d data_utils.rand_name(\u0027server-smoke\u0027)"},{"line_number":62,"context_line":"        server \u003d self.create_server("},{"line_number":63,"context_line":"            name\u003dserver_name,"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_e6aa4f84","line":60,"range":{"start_line":60,"start_character":60,"end_line":60,"end_character":64},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/scenario/test_network_basic_ops.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"081d5d30f556bc82b5378aed2f439a3c0b3c1590","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        boot_with_port \u003d kwargs.pop(\u0027boot_with_port\u0027, False)"},{"line_number":106,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":107,"context_line":"            self.security_group \u003d \\"},{"line_number":108,"context_line":"                self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":109,"context_line":"        self.network, self.subnet, self.router \u003d self.create_networks(**kwargs)"},{"line_number":110,"context_line":"        self.check_networks()"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_26cff1b1","line":108,"updated":"2015-09-25 01:48:12.000000000","message":"This security_groups is used in _create_server() only.\n\nSo how about moving this\n\n self.security_group \u003d \\\n     self._create_security_group(tenant_id\u003dself.tenant_id)\n\ninto _create_server() like\n\n if CONF.compute_feature_enabled.security_groups:\n      security_group \u003d \\\n         self._create_security_group(tenant_id\u003dself.tenant_id)\n      create_kwargs[\u0027security_groups\u0027] \u003d [\n         {\u0027name\u0027: security_group[\u0027name\u0027]}]\n\n?","commit_id":"dac5811805a8c4efdbb179f8306b8dcf05703f62"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"eaef489e7a1eb06e26293026fa23d99dd13eb3bb","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        boot_with_port \u003d kwargs.pop(\u0027boot_with_port\u0027, False)"},{"line_number":106,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":107,"context_line":"            self.security_group \u003d \\"},{"line_number":108,"context_line":"                self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":109,"context_line":"        self.network, self.subnet, self.router \u003d self.create_networks(**kwargs)"},{"line_number":110,"context_line":"        self.check_networks()"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_31406da5","line":108,"in_reply_to":"9a1a9d01_26cff1b1","updated":"2015-09-25 17:33:01.000000000","message":"Thanks, I\u0027ll make the change.","commit_id":"dac5811805a8c4efdbb179f8306b8dcf05703f62"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            \u0027key_name\u0027: keypair[\u0027name\u0027]"},{"line_number":159,"context_line":"        }"},{"line_number":160,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":161,"context_line":"            self.security_group \u003d \\"},{"line_number":162,"context_line":"                self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":163,"context_line":"            create_kwargs[\u0027security_groups\u0027] \u003d ["},{"line_number":164,"context_line":"                {\u0027name\u0027: self.security_group[\u0027name\u0027]}]"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_7d46b424","line":161,"updated":"2015-09-25 19:15:29.000000000","message":"This can just be a local variable now, let\u0027s avoid making this a member variable of the class instance, we\u0027d like to get away from that kind of thing in tempest.","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            \u0027key_name\u0027: keypair[\u0027name\u0027]"},{"line_number":159,"context_line":"        }"},{"line_number":160,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":161,"context_line":"            self.security_group \u003d \\"},{"line_number":162,"context_line":"                self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":163,"context_line":"            create_kwargs[\u0027security_groups\u0027] \u003d ["},{"line_number":164,"context_line":"                {\u0027name\u0027: self.security_group[\u0027name\u0027]}]"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_7da9a6de","line":161,"in_reply_to":"9a1a9d01_7d46b424","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        keypair \u003d self.create_keypair()"},{"line_number":154,"context_line":"        self.keypairs[keypair[\u0027name\u0027]] \u003d keypair"},{"line_number":155,"context_line":"        security_groups \u003d []"},{"line_number":156,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":157,"context_line":"            security_group \u003d \\"},{"line_number":158,"context_line":"                self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":159,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_9db2f347","line":156,"updated":"2015-12-14 14:52:55.000000000","message":"If you don\u0027t create the SG here, the server won\u0027t be ssh-able, unless you\u0027re using a network model that defaults to all ports open.\nAs this feature flag does not necessarily imply that, you\u0027re would cause the test to not-function in some scenarios by doing this.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        keypair \u003d self.create_keypair()"},{"line_number":154,"context_line":"        self.keypairs[keypair[\u0027name\u0027]] \u003d keypair"},{"line_number":155,"context_line":"        security_groups \u003d []"},{"line_number":156,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":157,"context_line":"            security_group \u003d \\"},{"line_number":158,"context_line":"                self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":159,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_322f4da3","line":156,"in_reply_to":"7a740942_9db2f347","updated":"2016-01-18 20:14:57.000000000","message":"This test will remain blacklisted for cells because it uses a floating ip.\n\nhttps://github.com/openstack/nova/blob/master/devstack/tempest-dsvm-cells-rc\n\nIf some other feature sets the security_groups flag to false, they will get errors, but that is to be expected.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":157,"context_line":"            security_group \u003d \\"},{"line_number":158,"context_line":"                self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":159,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":160,"context_line":"        network \u003d {\u0027uuid\u0027: network.id}"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        if port_id is not None:"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_067bf328","line":159,"range":{"start_line":159,"start_character":60,"end_line":159,"end_character":64},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/scenario/test_network_v6.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5b327c891542a2a2755d3b04d0c9daa271a53bdf","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.srv_kwargs \u003d {"},{"line_number":68,"context_line":"            \u0027key_name\u0027: self.keypair[\u0027name\u0027]}"},{"line_number":69,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":70,"context_line":"            self.sec_grp \u003d self._create_security_group("},{"line_number":71,"context_line":"                tenant_id\u003dself.tenant_id)"},{"line_number":72,"context_line":"            self.srv_kwargs[\u0027security_groups\u0027] \u003d ["},{"line_number":73,"context_line":"                {\u0027name\u0027: self.sec_grp[\u0027name\u0027]}]"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a2fa921_02d47dba","line":70,"updated":"2015-10-08 23:10:39.000000000","message":"self.sec_grp doesn\u0027t need to be a member variable, just make it local.","commit_id":"4e33af01eb4d6b48045f4dd9c9b874b4bbfda4bc"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"31411b14a9f959a01973770b5982a3566d6afa97","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.srv_kwargs \u003d {"},{"line_number":68,"context_line":"            \u0027key_name\u0027: self.keypair[\u0027name\u0027]}"},{"line_number":69,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":70,"context_line":"            self.sec_grp \u003d self._create_security_group("},{"line_number":71,"context_line":"                tenant_id\u003dself.tenant_id)"},{"line_number":72,"context_line":"            self.srv_kwargs[\u0027security_groups\u0027] \u003d ["},{"line_number":73,"context_line":"                {\u0027name\u0027: self.sec_grp[\u0027name\u0027]}]"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a2fa921_431fbb5a","line":70,"in_reply_to":"7a2fa921_02d47dba","updated":"2015-10-09 13:53:30.000000000","message":"Done","commit_id":"4e33af01eb4d6b48045f4dd9c9b874b4bbfda4bc"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a49d49830895259bc3b75e929f4ec5b7bdc34bf0","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.srv_kwargs \u003d {}"},{"line_number":68,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":69,"context_line":"            sec_grp \u003d self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":70,"context_line":"            self.srv_kwargs[\u0027security_groups\u0027] \u003d [{\u0027name\u0027: sec_grp[\u0027name\u0027]}]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def prepare_network(self, address6_mode, n_subnets6\u003d1, dualnet\u003dFalse):"},{"line_number":73,"context_line":"        \"\"\"Prepare network"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_d9b9ebcc","line":70,"updated":"2015-12-10 22:16:20.000000000","message":"I think this should move to where it\u0027s used, similar to what you did in test_network_basic_ops and get rid of the member variable","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"cbaf43c20f9a6c902e511486bcd669bc3b6a10b3","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.srv_kwargs \u003d {}"},{"line_number":68,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":69,"context_line":"            sec_grp \u003d self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":70,"context_line":"            self.srv_kwargs[\u0027security_groups\u0027] \u003d [{\u0027name\u0027: sec_grp[\u0027name\u0027]}]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def prepare_network(self, address6_mode, n_subnets6\u003d1, dualnet\u003dFalse):"},{"line_number":73,"context_line":"        \"\"\"Prepare network"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_ef294e9c","line":70,"in_reply_to":"7a740942_d9b9ebcc","updated":"2015-12-11 15:25:48.000000000","message":"Done","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a49d49830895259bc3b75e929f4ec5b7bdc34bf0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            key_name\u003dself.keypair[\u0027name\u0027],"},{"line_number":126,"context_line":"            networks\u003d[{\u0027uuid\u0027: n.id} for n in networks],"},{"line_number":127,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":128,"context_line":"            **self.srv_kwargs)"},{"line_number":129,"context_line":"        fip \u003d self.create_floating_ip(thing\u003dsrv)"},{"line_number":130,"context_line":"        ips \u003d self.define_server_ips(srv\u003dsrv)"},{"line_number":131,"context_line":"        ssh \u003d self.get_remote_client("}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_5f915b51","line":128,"updated":"2015-12-10 22:16:20.000000000","message":"Comment on all the \"kwargs\" changes: I think making the generalized kwargs with one item in it isn\u0027t too helpful (i.e. the other kwargs are separate. Usually you use one variable to set all the kwargs in it).\n\n security_groups \u003d []\n if feature:\n     security_groups \u003d ...\n create_server(...security_groups\u003dsecurity_groups)","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"cbaf43c20f9a6c902e511486bcd669bc3b6a10b3","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            key_name\u003dself.keypair[\u0027name\u0027],"},{"line_number":126,"context_line":"            networks\u003d[{\u0027uuid\u0027: n.id} for n in networks],"},{"line_number":127,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027,"},{"line_number":128,"context_line":"            **self.srv_kwargs)"},{"line_number":129,"context_line":"        fip \u003d self.create_floating_ip(thing\u003dsrv)"},{"line_number":130,"context_line":"        ips \u003d self.define_server_ips(srv\u003dsrv)"},{"line_number":131,"context_line":"        ssh \u003d self.get_remote_client("}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_af1ee66d","line":128,"in_reply_to":"7a740942_5f915b51","updated":"2015-12-11 15:25:48.000000000","message":"Done","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        networks \u003d networks or [self.network]"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        security_groups \u003d []"},{"line_number":121,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":122,"context_line":"            sec_grp \u003d self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":123,"context_line":"            security_groups \u003d [{\u0027name\u0027: sec_grp[\u0027name\u0027]}]"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_9de0b327","line":120,"updated":"2015-12-14 14:52:55.000000000","message":"If you don\u0027t create the SG here, the server won\u0027t be ssh-able, unless you\u0027re using a network model that defaults to all ports open.\nAs this feature flag does not necessarily imply that, you\u0027re would cause the test to not-function in some scenarios by doing this.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        networks \u003d networks or [self.network]"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        security_groups \u003d []"},{"line_number":121,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":122,"context_line":"            sec_grp \u003d self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":123,"context_line":"            security_groups \u003d [{\u0027name\u0027: sec_grp[\u0027name\u0027]}]"}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_5203e10f","line":120,"in_reply_to":"7a740942_9de0b327","updated":"2016-01-18 20:14:57.000000000","message":"This test will remain blacklisted for cells because it uses a floating ip.\n\nhttps://github.com/openstack/nova/blob/master/devstack/tempest-dsvm-cells-rc\n\nIf some other feature sets the security_groups flag to false, they will get errors, but that is to be expected.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        security_groups \u003d []"},{"line_number":119,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":120,"context_line":"            sec_grp \u003d self._create_security_group(tenant_id\u003dself.tenant_id)"},{"line_number":121,"context_line":"            security_groups \u003d [{\u0027name\u0027: sec_grp[\u0027name\u0027]}]"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        srv \u003d self.create_server("},{"line_number":124,"context_line":"            key_name\u003dself.keypair[\u0027name\u0027],"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_66763f3f","line":121,"range":{"start_line":121,"start_character":53,"end_line":121,"end_character":57},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/scenario/test_security_groups_basic_ops.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            msg \u003d (\u0027Either tenant_networks_reachable must be \"true\", or \u0027"},{"line_number":138,"context_line":"                   \u0027public_network_id must be defined.\u0027)"},{"line_number":139,"context_line":"            raise cls.skipException(msg)"},{"line_number":140,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":141,"context_line":"            msg \u003d (\"The compute security group feature is disabled.\")"},{"line_number":142,"context_line":"            raise cls.skipException(msg)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_bd41efaa","line":140,"updated":"2015-12-14 14:52:55.000000000","message":"what about when neutron is used?","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            msg \u003d (\u0027Either tenant_networks_reachable must be \"true\", or \u0027"},{"line_number":138,"context_line":"                   \u0027public_network_id must be defined.\u0027)"},{"line_number":139,"context_line":"            raise cls.skipException(msg)"},{"line_number":140,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":141,"context_line":"            msg \u003d (\"The compute security group feature is disabled.\")"},{"line_number":142,"context_line":"            raise cls.skipException(msg)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_c572adad","line":140,"in_reply_to":"7a740942_bd41efaa","updated":"2016-01-18 20:14:57.000000000","message":"Cells doesn\u0027t have a CI test with neutron.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            msg \u003d \"security-group extension not enabled.\""},{"line_number":138,"context_line":"            raise cls.skipException(msg)"},{"line_number":139,"context_line":"        if not CONF.compute_feature_enabled.security_groups:"},{"line_number":140,"context_line":"            msg \u003d (\"The compute security group feature is disabled.\")"},{"line_number":141,"context_line":"            raise cls.skipException(msg)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_e6988f6c","line":140,"range":{"start_line":140,"start_character":66,"end_line":140,"end_character":69},"updated":"2016-02-18 07:35:22.000000000","message":"msg should be consistent","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/scenario/test_server_basic_ops.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def add_keypair(self):"},{"line_number":70,"context_line":"        self.keypair \u003d self.create_keypair()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def boot_instance(self):"},{"line_number":73,"context_line":"        # Create server with image and flavor from input scenario"},{"line_number":74,"context_line":"        create_kwargs \u003d {"},{"line_number":75,"context_line":"            \u0027key_name\u0027: self.keypair[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_fd0084ac","line":72,"updated":"2015-09-25 19:15:29.000000000","message":"Pass the security group in here as a kwarg and if it\u0027s not None then add to create_kwargs, e.g.:\n\ndef boot_instance(self, security_group\u003dNone):\n    ...\n    if security_group:\n        create_kwargs[\u0027security_groups\u0027] \u003d ....","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def add_keypair(self):"},{"line_number":70,"context_line":"        self.keypair \u003d self.create_keypair()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def boot_instance(self):"},{"line_number":73,"context_line":"        # Create server with image and flavor from input scenario"},{"line_number":74,"context_line":"        create_kwargs \u003d {"},{"line_number":75,"context_line":"            \u0027key_name\u0027: self.keypair[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_7db8c6e5","line":72,"in_reply_to":"9a1a9d01_fd0084ac","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    def test_server_basicops(self):"},{"line_number":127,"context_line":"        self.add_keypair()"},{"line_number":128,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":129,"context_line":"            self.security_group \u003d self._create_security_group()"},{"line_number":130,"context_line":"        self.boot_instance()"},{"line_number":131,"context_line":"        self.verify_ssh()"},{"line_number":132,"context_line":"        self.verify_metadata()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_bd0a0cd1","line":129,"updated":"2015-09-25 19:15:29.000000000","message":"Let\u0027s stop making self.security_group a member variable. Just make this a local variable and pass it to the boot_instance() method and in there check to see if it\u0027s None or not - if it\u0027s not, then add to the kwargs.","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    def test_server_basicops(self):"},{"line_number":127,"context_line":"        self.add_keypair()"},{"line_number":128,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":129,"context_line":"            self.security_group \u003d self._create_security_group()"},{"line_number":130,"context_line":"        self.boot_instance()"},{"line_number":131,"context_line":"        self.verify_ssh()"},{"line_number":132,"context_line":"        self.verify_metadata()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_3dcb2e74","line":129,"in_reply_to":"9a1a9d01_bd0a0cd1","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def test_server_basicops(self):"},{"line_number":126,"context_line":"        self.add_keypair()"},{"line_number":127,"context_line":"        security_groups \u003d []"},{"line_number":128,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":129,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":130,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":131,"context_line":"        self.md \u003d {\u0027meta1\u0027: \u0027data1\u0027, \u0027meta2\u0027: \u0027data2\u0027, \u0027metaN\u0027: \u0027dataN\u0027}"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_fd577757","line":128,"updated":"2015-12-14 14:52:55.000000000","message":"This may break the test when using neutron?","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"91e0b862aa1de196fe228c589195d1a172b12d93","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def test_server_basicops(self):"},{"line_number":126,"context_line":"        self.add_keypair()"},{"line_number":127,"context_line":"        security_groups \u003d []"},{"line_number":128,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":129,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":130,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":131,"context_line":"        self.md \u003d {\u0027meta1\u0027: \u0027data1\u0027, \u0027meta2\u0027: \u0027data2\u0027, \u0027metaN\u0027: \u0027dataN\u0027}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ba63e191_2562a9d9","line":128,"in_reply_to":"7a740942_fd577757","updated":"2016-01-18 20:14:57.000000000","message":"Cells v1 doesn\u0027t have a CI test with neutron.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"}],"tempest/scenario/test_shelve_instance.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        }"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":75,"context_line":"            self.security_group \u003d self._create_security_group()"},{"line_number":76,"context_line":"            security_groups \u003d [{\u0027name\u0027: self.security_group[\u0027name\u0027]}]"},{"line_number":77,"context_line":"            create_kwargs[\u0027security_groups\u0027] \u003d security_groups"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_dd1a6017","line":75,"updated":"2015-09-25 19:15:29.000000000","message":"self.security_group no longer needs to be a member variable, just make a local variable here.","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        }"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":75,"context_line":"            self.security_group \u003d self._create_security_group()"},{"line_number":76,"context_line":"            security_groups \u003d [{\u0027name\u0027: self.security_group[\u0027name\u0027]}]"},{"line_number":77,"context_line":"            create_kwargs[\u0027security_groups\u0027] \u003d security_groups"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_5de862b4","line":75,"in_reply_to":"9a1a9d01_dd1a6017","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        security_groups \u003d []"},{"line_number":61,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":62,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":63,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        if boot_from_volume:"},{"line_number":66,"context_line":"            volume \u003d self.create_volume(size\u003dCONF.volume.volume_size,"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_46a85b77","line":63,"range":{"start_line":63,"start_character":60,"end_line":63,"end_character":64},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/scenario/test_snapshot_pattern.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        # prepare for booting an instance"},{"line_number":67,"context_line":"        self._add_keypair()"},{"line_number":68,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":69,"context_line":"            self.security_group \u003d self._create_security_group()"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        # boot an instance and create a timestamp file in it"},{"line_number":72,"context_line":"        server \u003d self._boot_image(CONF.compute.image_ref)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_7db9d4e8","line":69,"updated":"2015-09-25 19:15:29.000000000","message":"Similar to other comments, let\u0027s make this a local variable and pass it into _boot_image and check if it\u0027s None there and decide if we add it to create_kwargs.","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        # prepare for booting an instance"},{"line_number":67,"context_line":"        self._add_keypair()"},{"line_number":68,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":69,"context_line":"            self.security_group \u003d self._create_security_group()"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        # boot an instance and create a timestamp file in it"},{"line_number":72,"context_line":"        server \u003d self._boot_image(CONF.compute.image_ref)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_5de9427f","line":69,"in_reply_to":"9a1a9d01_7db9d4e8","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        security_groups \u003d []"},{"line_number":48,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":49,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":50,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        # boot an instance and create a timestamp file in it"},{"line_number":53,"context_line":"        server \u003d self.create_server("}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_06c93359","line":50,"range":{"start_line":50,"start_character":60,"end_line":50,"end_character":64},"updated":"2016-02-18 07:35:22.000000000","message":"ditto going to fail while ssh if CONF.compute_feature_enabled.security_groups\u003dFalse","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/scenario/test_stamp_pattern.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b2ca0753e74ed84c8fa57cc8fbd1fd6db51c4993","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        got_timestamp \u003d ssh_client.exec_command(\u0027sudo cat /mnt/timestamp\u0027)"},{"line_number":146,"context_line":"        self.assertEqual(self.timestamp, got_timestamp)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    # @decorators.skip_because(bug\u003d\"1205344\")"},{"line_number":149,"context_line":"    @test.idempotent_id(\u002710fd234a-515c-41e5-b092-8323060598c5\u0027)"},{"line_number":150,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.snapshot,"},{"line_number":151,"context_line":"                          \u0027Snapshotting is not available.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_86a81679","line":148,"updated":"2015-09-21 20:52:00.000000000","message":"This is definitely not going to work.  You\u0027re trying to test this using the wrong guinea pig.  test_stamp_pattern is skipped for very good non-cells reasons right now, so pick a different test.","commit_id":"945cfa5acdfb6ebd8b8cd4a14f3f7cabf18ff23c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        # prepare for booting an instance"},{"line_number":156,"context_line":"        self._add_keypair()"},{"line_number":157,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":158,"context_line":"            self.security_group \u003d self._create_security_group()"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        # boot an instance and create a timestamp file in it"},{"line_number":161,"context_line":"        volume \u003d self._create_volume()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_1dcf7880","line":158,"updated":"2015-09-25 19:15:29.000000000","message":"Same comment, pass a local variable security_group to _boot_image and check there if we should use it (if not None).","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        # prepare for booting an instance"},{"line_number":156,"context_line":"        self._add_keypair()"},{"line_number":157,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":158,"context_line":"            self.security_group \u003d self._create_security_group()"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        # boot an instance and create a timestamp file in it"},{"line_number":161,"context_line":"        volume \u003d self._create_volume()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_f894e4e2","line":158,"in_reply_to":"9a1a9d01_1dcf7880","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5b327c891542a2a2755d3b04d0c9daa271a53bdf","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        volume_from_snapshot \u003d self._create_volume("},{"line_number":166,"context_line":"            snapshot_id\u003dvolume_snapshot[\u0027id\u0027])"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        # boot second instance from the snapshot(instance2)"},{"line_number":169,"context_line":"        server_from_snapshot \u003d self._boot_image(snapshot_image[\u0027id\u0027])"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        # create and add floating IP to server_from_snapshot"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a2fa921_62fa1145","line":168,"updated":"2015-10-08 23:10:39.000000000","message":"You need to pass the security_group variable in here.","commit_id":"4e33af01eb4d6b48045f4dd9c9b874b4bbfda4bc"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"31411b14a9f959a01973770b5982a3566d6afa97","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        volume_from_snapshot \u003d self._create_volume("},{"line_number":166,"context_line":"            snapshot_id\u003dvolume_snapshot[\u0027id\u0027])"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        # boot second instance from the snapshot(instance2)"},{"line_number":169,"context_line":"        server_from_snapshot \u003d self._boot_image(snapshot_image[\u0027id\u0027])"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        # create and add floating IP to server_from_snapshot"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a2fa921_512ea8fb","line":168,"in_reply_to":"7a2fa921_62fa1145","updated":"2015-10-09 13:53:30.000000000","message":"Done","commit_id":"4e33af01eb4d6b48045f4dd9c9b874b4bbfda4bc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        security_groups \u003d []"},{"line_number":107,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":108,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":109,"context_line":"            security_groups \u003d [{\u0027name\u0027: security_group[\u0027name\u0027]}]"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # boot an instance and create a timestamp file in it"},{"line_number":112,"context_line":"        volume \u003d self.create_volume()"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_c6e90bb9","line":109,"range":{"start_line":109,"start_character":60,"end_line":109,"end_character":64},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/scenario/test_volume_boot_pattern.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0659a1cbc9abc60161d011b1f3caf816f5cbc7ed","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        keypair \u003d self.create_keypair()"},{"line_number":109,"context_line":"        security_group \u003d None"},{"line_number":110,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":111,"context_line":"            security_group \u003d self._create_security_group()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # create an instance from volume"},{"line_number":114,"context_line":"        volume_origin \u003d self._create_volume_from_image()"}],"source_content_type":"text/x-python","patch_set":30,"id":"dae33548_26d557e7","line":111,"range":{"start_line":111,"start_character":56,"end_line":111,"end_character":58},"updated":"2016-02-18 07:35:22.000000000","message":"ditto","commit_id":"ad5de4dc75a9fe2da9aa88ee34eb3e0c4a7c1dff"}],"tempest/thirdparty/boto/test_ec2_instance_run.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e854edee1aa6126b8c693e06a190d9b4aa076990","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        # EC2 1. integration test (not strict)"},{"line_number":230,"context_line":"        image_ami \u003d self.ec2_client.get_image(self.images[\"ami\"][\"image_id\"])"},{"line_number":231,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":232,"context_line":"            LOG.debug(\"compute_feature_enabled.security_groups is True\")"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"            sec_group_name \u003d data_utils.rand_name(\"securitygroup\")"},{"line_number":235,"context_line":"            group_desc \u003d sec_group_name + \" security group description \""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_7d87940f","line":232,"updated":"2015-09-25 19:15:29.000000000","message":"We can probably remove this debug log line?","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"e4e11ef7bdf828c0756da5096584a0e5a550bab1","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        # EC2 1. integration test (not strict)"},{"line_number":230,"context_line":"        image_ami \u003d self.ec2_client.get_image(self.images[\"ami\"][\"image_id\"])"},{"line_number":231,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":232,"context_line":"            LOG.debug(\"compute_feature_enabled.security_groups is True\")"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"            sec_group_name \u003d data_utils.rand_name(\"securitygroup\")"},{"line_number":235,"context_line":"            group_desc \u003d sec_group_name + \" security group description \""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a1a9d01_930d8b39","line":232,"in_reply_to":"9a1a9d01_7d87940f","updated":"2015-09-28 14:14:01.000000000","message":"Done","commit_id":"e89bf135c030eb409cfa2c2ec9c856237d050749"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a49d49830895259bc3b75e929f4ec5b7bdc34bf0","unresolved":false,"context_lines":[{"line_number":253,"context_line":"                    from_port\u003d22,"},{"line_number":254,"context_line":"                    to_port\u003d22))"},{"line_number":255,"context_line":"            security_groups \u003d (sec_group_name,)"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            security_groups \u003d None"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        reservation \u003d image_ami.run(kernel_id\u003dself.images[\"aki\"][\"image_id\"],"},{"line_number":260,"context_line":"                                    ramdisk_id\u003dself.images[\"ari\"][\"image_id\"],"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_1fd753ee","line":257,"range":{"start_line":256,"start_character":3,"end_line":257,"end_character":34},"updated":"2015-12-10 22:16:20.000000000","message":"Instead of this else statement you could just initialize security_groups \u003d ()","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"cbaf43c20f9a6c902e511486bcd669bc3b6a10b3","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                    to_port\u003d22))"},{"line_number":255,"context_line":"            security_groups \u003d (sec_group_name,)"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            security_groups \u003d None"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        reservation \u003d image_ami.run(kernel_id\u003dself.images[\"aki\"][\"image_id\"],"},{"line_number":260,"context_line":"                                    ramdisk_id\u003dself.images[\"ari\"][\"image_id\"],"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_2c7e8119","line":257,"in_reply_to":"7a740942_1fd753ee","updated":"2015-12-11 15:25:48.000000000","message":"Done","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"612a99d8dc9da8e8f006b8ede8ff50befe7efc3c","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        image_ami \u003d self.ec2_client.get_image(self.images[\"ami\"][\"image_id\"])"},{"line_number":231,"context_line":"        security_groups \u003d ()"},{"line_number":232,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":233,"context_line":"            LOG.debug(\"compute_feature_enabled.security_groups is True\")"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"            sec_group_name \u003d data_utils.rand_name(\"securitygroup\")"},{"line_number":236,"context_line":"            group_desc \u003d sec_group_name + \" security group description \""}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_1db7e385","line":233,"updated":"2015-12-14 14:52:55.000000000","message":"This looks like a leftover debugging statement.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"6409e216d5d9f2912ae06be2840c9fe43aef0df6","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        image_ami \u003d self.ec2_client.get_image(self.images[\"ami\"][\"image_id\"])"},{"line_number":231,"context_line":"        security_groups \u003d ()"},{"line_number":232,"context_line":"        if CONF.compute_feature_enabled.security_groups:"},{"line_number":233,"context_line":"            LOG.debug(\"compute_feature_enabled.security_groups is True\")"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"            sec_group_name \u003d data_utils.rand_name(\"securitygroup\")"},{"line_number":236,"context_line":"            group_desc \u003d sec_group_name + \" security group description \""}],"source_content_type":"text/x-python","patch_set":23,"id":"fa69d971_672c4c99","line":233,"in_reply_to":"7a740942_1db7e385","updated":"2016-01-06 20:16:10.000000000","message":"Yes, I\u0027ll remove it.","commit_id":"1338ca44f36f66457214d6f07d0b0a731d0eba4f"}],"tempest/thirdparty/boto/test_ec2_security_groups.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a49d49830895259bc3b75e929f4ec5b7bdc34bf0","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        cls.client \u003d cls.os.ec2api_client"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @test.idempotent_id(\u0027519b566e-0c38-4629-905e-7d6b6355f524\u0027)"},{"line_number":34,"context_line":"    @testtools.skipIf(not CONF.compute_feature_enabled.security_groups,"},{"line_number":35,"context_line":"                      \"Skipped because the compute security groups \""},{"line_number":36,"context_line":"                      \"feature is disabled.\")"},{"line_number":37,"context_line":"    def test_create_authorize_security_group(self):"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_bf12bfb2","line":34,"range":{"start_line":34,"start_character":15,"end_line":34,"end_character":25},"updated":"2015-12-10 22:16:20.000000000","message":"skipUnless and lose the \"not\"","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"cbaf43c20f9a6c902e511486bcd669bc3b6a10b3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        cls.client \u003d cls.os.ec2api_client"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @test.idempotent_id(\u0027519b566e-0c38-4629-905e-7d6b6355f524\u0027)"},{"line_number":34,"context_line":"    @testtools.skipIf(not CONF.compute_feature_enabled.security_groups,"},{"line_number":35,"context_line":"                      \"Skipped because the compute security groups \""},{"line_number":36,"context_line":"                      \"feature is disabled.\")"},{"line_number":37,"context_line":"    def test_create_authorize_security_group(self):"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_2ccc4169","line":34,"in_reply_to":"7a740942_bf12bfb2","updated":"2015-12-11 15:25:48.000000000","message":"Done","commit_id":"eb445e36ab1a16fc82c9e7e8ab2c3a3b4522ff4f"}]}
