)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f31d0719148ba1699b44f76074b3191d84621a89","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Joshua White \u003cjoshua.l.white@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-21 08:54:28 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Make validation resource creation explicit"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change is to make the creation and deletion of validation"},{"line_number":10,"context_line":"resources (keypair, floating ip, security group)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dada55a8_ec02ffb2","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":4},"updated":"2016-07-21 16:57:52.000000000","message":"I prefer this way, are there more working items for this WIP?","commit_id":"8ce37a1f1c96dc95eecbeed22926ab827adeee0f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"90fbf495152323e537edf8883ec7d30c1acadaba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"58cdfa67_049f5603","updated":"2021-12-10 22:57:45.000000000","message":"please rebase if this is still needed. as no activity on this since long we will abandon it next week if no updates","commit_id":"8ce37a1f1c96dc95eecbeed22926ab827adeee0f"}],"tempest/api/compute/base.py":[{"author":{"_account_id":7812,"name":"Franklin Naval","email":"franklin.naval@gmail.com","username":"fnaval"},"change_message_id":"c4078c1cc5f0f3bee38d6876a3391e78745199aa","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                              server_group_id)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    @classmethod"},{"line_number":210,"context_line":"    def set_validation_resources(cls, keypair\u003dNone, floating_ip\u003dNone,"},{"line_number":211,"context_line":"                                 security_group\u003dNone,"},{"line_number":212,"context_line":"                                 security_group_rules\u003dNone):"},{"line_number":213,"context_line":"        \"\"\"Specify which ssh server validation resources should be created."}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_68ee1f23","line":210,"updated":"2016-07-12 19:47:08.000000000","message":"should this live in the parent class so that it can be used by other services such as neutron?","commit_id":"51d5c1ff6a79cccedc36b0cd9bed183f3a9f25e6"}],"tempest/api/compute/servers/test_create_server.py":[{"author":{"_account_id":7812,"name":"Franklin Naval","email":"franklin.naval@gmail.com","username":"fnaval"},"change_message_id":"c4078c1cc5f0f3bee38d6876a3391e78745199aa","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import netaddr"},{"line_number":17,"context_line":"import tempest.common.validation_resources as vresources"},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.compute import base"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_683c5f93","line":17,"updated":"2016-07-12 19:47:08.000000000","message":"the path is not part of the listed changes","commit_id":"51d5c1ff6a79cccedc36b0cd9bed183f3a9f25e6"},{"author":{"_account_id":19587,"name":"Joshua White","email":"joshua.l.white@intel.com","username":"jwhite"},"change_message_id":"7f3520a13829ba03e11ae867446ca5d0b56f85ba","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import netaddr"},{"line_number":17,"context_line":"import tempest.common.validation_resources as vresources"},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.compute import base"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_cb58e833","line":17,"in_reply_to":"1aa78d24_683c5f93","updated":"2016-07-12 22:01:28.000000000","message":"Hey Frank,\n\nThanks for the review!  I need to import validation_resources to explicitly assign them in the test module.  I will make that more clear in the title.","commit_id":"51d5c1ff6a79cccedc36b0cd9bed183f3a9f25e6"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"7c14698d5f9a82c53a914f6ce0af87a78405e880","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    @classmethod"},{"line_number":46,"context_line":"    def resource_setup(cls):"},{"line_number":47,"context_line":"        super(ServersTestJSON, cls).resource_setup()"},{"line_number":48,"context_line":"        cls.key_pair \u003d vresources.create_keypair(cls.os)[\u0027keypair\u0027]"},{"line_number":49,"context_line":"        cls.security_group \u003d [{\u0027name\u0027: vresources.create_security_group(cls.os)"},{"line_number":50,"context_line":"                              [\u0027security_group\u0027][\u0027name\u0027]}]"},{"line_number":51,"context_line":"        cls.floating_ip \u003d vresources.create_floating_ip(cls.os)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_82b72bf4","line":48,"updated":"2016-07-29 18:32:17.000000000","message":"So I like this api, it makes me wonder why not just use fixtures for these resources. That way the cleanup and tracking of the object are handled automatically so we don\u0027t need to do that here. So instead this would be something like:\n\ncls.key_pair \u003d self.useFixture(vresources.Keypair(cls.os)).response[\u0027keypair\u0027]\n\nor something like that. Then we don\u0027t need the cleanup at the bottom","commit_id":"8ce37a1f1c96dc95eecbeed22926ab827adeee0f"}],"tempest/common/validation_resources.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"7c14698d5f9a82c53a914f6ce0af87a78405e880","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    return security_group"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"def create_keypair(os):"},{"line_number":69,"context_line":"    # Create keypair"},{"line_number":70,"context_line":"    if not CONF.validation.run_validation:"},{"line_number":71,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_02721b49","line":68,"updated":"2016-07-29 18:32:17.000000000","message":"I really think these create (and the matching clear) functions should be as part of a fixture. That\u0027s essentially what you\u0027re doing when you add these to setup_resources but it handles the actual cleanup mechanics for us.","commit_id":"8ce37a1f1c96dc95eecbeed22926ab827adeee0f"},{"author":{"_account_id":19587,"name":"Joshua White","email":"joshua.l.white@intel.com","username":"jwhite"},"change_message_id":"fe56abdcf7a42507fc60efe979462ef963d6efa9","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    return security_group"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"def create_keypair(os):"},{"line_number":69,"context_line":"    # Create keypair"},{"line_number":70,"context_line":"    if not CONF.validation.run_validation:"},{"line_number":71,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_75f5fdc9","line":68,"in_reply_to":"bacf61ea_02721b49","updated":"2016-08-04 18:08:44.000000000","message":"Done","commit_id":"8ce37a1f1c96dc95eecbeed22926ab827adeee0f"}],"tempest/test.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"7c14698d5f9a82c53a914f6ce0af87a78405e880","unresolved":false,"context_lines":[{"line_number":387,"context_line":"    def resource_setup(cls):"},{"line_number":388,"context_line":"        \"\"\"Class level resource setup for test cases.\"\"\""},{"line_number":389,"context_line":"        if hasattr(cls, \"os\"):"},{"line_number":390,"context_line":"            cls.validation_resources \u003d vresources.create_validation_resources("},{"line_number":391,"context_line":"                cls.os, cls.validation_resources)"},{"line_number":392,"context_line":"        else:"},{"line_number":393,"context_line":"            LOG.warning(\"Client manager not found, validation resources not\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_62eb1714","side":"PARENT","line":390,"updated":"2016-07-29 18:32:17.000000000","message":"So we need to do this as the last change, it looks like you\u0027ve organized to do the migrations piecewise. To enable landing this we need to not remove the current functionality until everything no longer relies on it. It\u0027ll never pass the gate otherwise","commit_id":"6ea2c99a397053dc9400dc668f8856d26f28aaac"}]}
