)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"7f7485691d693eebb14ef9d777cbd4fbcde54508","unresolved":false,"context_lines":[{"line_number":9,"context_line":"To run:"},{"line_number":10,"context_line":"    ./redstack int-tests --group\u003dvertica"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":"Change-Id: Ia8fcb14b7dd4e1f5235b15fadc0e0eeb769d23f1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5afe65bd_0bbf6ffc","line":12,"updated":"2015-06-02 17:05:30.000000000","message":"it isn\u0027t apparent to me what DocImpact this change would have.","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"}],"trove/tests/api/vertica.py":[{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"6bbcc885513d56f190accf512fd483819869eaf3","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        instance \u003d rd_client.instances.get(instance_id)"},{"line_number":74,"context_line":"        self.report.log(\"Instance info %s.\" % instance._info)"},{"line_number":75,"context_line":"        if instance.status \u003d\u003d expected_status:"},{"line_number":76,"context_line":"            self.report.log(\"Instance is ready.\")"},{"line_number":77,"context_line":"            return True"},{"line_number":78,"context_line":"        else:"},{"line_number":79,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_b948e52e","line":76,"updated":"2015-03-26 20:11:33.000000000","message":"how about including the instance id in the log.","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"b87045d791a7080b88e191661b12e4d90fac6661","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        instance \u003d rd_client.instances.get(instance_id)"},{"line_number":74,"context_line":"        self.report.log(\"Instance info %s.\" % instance._info)"},{"line_number":75,"context_line":"        if instance.status \u003d\u003d expected_status:"},{"line_number":76,"context_line":"            self.report.log(\"Instance is ready.\")"},{"line_number":77,"context_line":"            return True"},{"line_number":78,"context_line":"        else:"},{"line_number":79,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_7c73604e","line":76,"in_reply_to":"fa963961_b948e52e","updated":"2015-03-27 05:56:52.000000000","message":"Done","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"6bbcc885513d56f190accf512fd483819869eaf3","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        super(VerticaSingleInstanceTest, self).setUp()"},{"line_number":95,"context_line":"        self.new_volume_size \u003d 2"},{"line_number":96,"context_line":"        self.new_flavor \u003d \u002711\u0027"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @test"},{"line_number":99,"context_line":"    def test_vertica_datastore_and_version_existence(self):"},{"line_number":100,"context_line":"        \"\"\"Tests the existence of datastore and version.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_b91d8511","line":97,"updated":"2015-03-26 20:11:33.000000000","message":"do these variables have to be instance variables? It isnt a big deal just wondering if there\u0027s a reason.","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"b87045d791a7080b88e191661b12e4d90fac6661","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        super(VerticaSingleInstanceTest, self).setUp()"},{"line_number":95,"context_line":"        self.new_volume_size \u003d 2"},{"line_number":96,"context_line":"        self.new_flavor \u003d \u002711\u0027"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @test"},{"line_number":99,"context_line":"    def test_vertica_datastore_and_version_existence(self):"},{"line_number":100,"context_line":"        \"\"\"Tests the existence of datastore and version.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_5c8f7c23","line":97,"in_reply_to":"fa963961_b91d8511","updated":"2015-03-27 05:56:52.000000000","message":"Done","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"6bbcc885513d56f190accf512fd483819869eaf3","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        \"\"\"Waits for instance to get ACTIVE.\"\"\""},{"line_number":140,"context_line":"        if not getattr(self, \u0027instance\u0027, None):"},{"line_number":141,"context_line":"            raise SkipTest("},{"line_number":142,"context_line":"                \"Skipping this tests due to failure of previous.\")"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        poll_until(lambda: self.find_status(self.rd_client,"},{"line_number":145,"context_line":"                                            self.instance.id, \"ACTIVE\"),"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_b6f6b2d5","line":142,"updated":"2015-03-26 20:11:33.000000000","message":"I dont think its a very intuitive message - \u0027failure of previous\u0027 meaning which one? Just a suggestion. Only change it if its worth the effort.","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"b87045d791a7080b88e191661b12e4d90fac6661","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        \"\"\"Waits for instance to get ACTIVE.\"\"\""},{"line_number":140,"context_line":"        if not getattr(self, \u0027instance\u0027, None):"},{"line_number":141,"context_line":"            raise SkipTest("},{"line_number":142,"context_line":"                \"Skipping this tests due to failure of previous.\")"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        poll_until(lambda: self.find_status(self.rd_client,"},{"line_number":145,"context_line":"                                            self.instance.id, \"ACTIVE\"),"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_bcc7a844","line":142,"in_reply_to":"fa963961_b6f6b2d5","updated":"2015-03-27 05:56:52.000000000","message":"1. You would see the previous test ... when u run this, also you have refer depends_on to check for the code.\n\n2. I can change that not a big deal.","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"6bbcc885513d56f190accf512fd483819869eaf3","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            raise SkipTest("},{"line_number":154,"context_line":"                \"Skipping this tests due to failure of previous.\")"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        rd_client \u003d create_dbaas_client(self.rd_user)"},{"line_number":157,"context_line":"        rd_client.instances.restart(self.instance.id)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        asserts.assert_equal(202, rd_client.last_http_code)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_b6091234","line":156,"updated":"2015-03-26 20:11:33.000000000","message":"why cant we use the self.rd_client already created in VericaBase?","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"b87045d791a7080b88e191661b12e4d90fac6661","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            raise SkipTest("},{"line_number":154,"context_line":"                \"Skipping this tests due to failure of previous.\")"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        rd_client \u003d create_dbaas_client(self.rd_user)"},{"line_number":157,"context_line":"        rd_client.instances.restart(self.instance.id)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        asserts.assert_equal(202, rd_client.last_http_code)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_3ce278d6","line":156,"in_reply_to":"fa963961_b6091234","updated":"2015-03-27 05:56:52.000000000","message":"I knew this question was coming?\nWhile executing the tests I found that ... while flavor resizing, the self.rd_client session was getting expired(which had default of 1 hour)\n\nThis is why I thought, let me use a new rd_client session with tests except for instance create.","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"6bbcc885513d56f190accf512fd483819869eaf3","unresolved":false,"context_lines":[{"line_number":238,"context_line":"                return True"},{"line_number":239,"context_line":"            except Exception as ex:"},{"line_number":240,"context_line":"                asserts.fail(\"A failure occurred when trying to GET instance \""},{"line_number":241,"context_line":"                             \"%s for :%s\" % (str(instance.id), str(ex)))"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        poll_until(_poll, sleep_time\u003dSLEEP_TIME)"},{"line_number":244,"context_line":"        self.report.log(\"Deleted Instance ID: %s \" % self.instance.id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_562be6eb","line":241,"updated":"2015-03-26 20:11:33.000000000","message":"isnt the instance.id already a string? Can we rephrase the error message a bit (I am not sure the  \u0027for %s\u0027 fits well if the point is to just show the error message. I think we could get rid of the \u0027for\u0027 part and just have \u0027A failure occured when trying to get instance %s : %s\". Also what gets returned when we reach this exception. Thanks","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"b87045d791a7080b88e191661b12e4d90fac6661","unresolved":false,"context_lines":[{"line_number":238,"context_line":"                return True"},{"line_number":239,"context_line":"            except Exception as ex:"},{"line_number":240,"context_line":"                asserts.fail(\"A failure occurred when trying to GET instance \""},{"line_number":241,"context_line":"                             \"%s for :%s\" % (str(instance.id), str(ex)))"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        poll_until(_poll, sleep_time\u003dSLEEP_TIME)"},{"line_number":244,"context_line":"        self.report.log(\"Deleted Instance ID: %s \" % self.instance.id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa963961_9cdbc41b","line":241,"in_reply_to":"fa963961_562be6eb","updated":"2015-03-27 05:56:52.000000000","message":"Done, for message updation","commit_id":"e6eba2b482389af7786413767772f0e46747a0a2"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"85cc8adb9388606f717e1fc14e18b6014472ef67","unresolved":false,"context_lines":[{"line_number":31,"context_line":"   cluster_usage_timeout \u003d 2200"},{"line_number":32,"context_line":"   agent_call_high_timeout \u003d 200"},{"line_number":33,"context_line":"3. Create a flavor(id:11) with following command:"},{"line_number":34,"context_line":"   nova flavor-create vertica.resize 11 2304 20 1"},{"line_number":35,"context_line":"\"\"\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"from proboscis import asserts"}],"source_content_type":"text/x-python","patch_set":8,"id":"baa041b7_69f61dd9","line":34,"updated":"2015-04-01 14:34:59.000000000","message":"Shouldn\u0027t the test create this if it\u0027s needed?  (And delete it after.)","commit_id":"80ed7bf0eadfa8bbf7a08084f8c8e7a1b19967d5"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"942d6f5f41a9d9dbc4bba35c0305a43bf7b52027","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            flavor_id\u003d2,"},{"line_number":121,"context_line":"            volume\u003d{\"size\": 1},"},{"line_number":122,"context_line":"            datastore\u003ddatastore.id,"},{"line_number":123,"context_line":"            datastore_version\u003dversion.id)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        asserts.assert_equal(200, self.rd_client.last_http_code)"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da9b358b_05049b47","line":123,"updated":"2015-04-01 08:53:07.000000000","message":"1. How is this different from the InstanceCreate int-tests we already have? Why can\u0027t we leverage those instead of rewriting them?\n\n2. Why are we hard coding values like volume and flavor instead of relying on the test config?","commit_id":"80ed7bf0eadfa8bbf7a08084f8c8e7a1b19967d5"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fe1e35a40484b09bfb6abc27aa93e2a8971443d5","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        new_volume_size \u003d old_volume_size + 1"},{"line_number":90,"context_line":"        if not getattr(self, \u0027instance\u0027, None):"},{"line_number":91,"context_line":"            raise SkipTest("},{"line_number":92,"context_line":"                \"Skipping this test since instance is not available.\")"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        self.rd_client \u003d create_dbaas_client(self.instance.user)"},{"line_number":95,"context_line":"        self.rd_client.instances.resize_volume(self.instance.id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_5bc36e57","line":92,"updated":"2015-06-10 08:47:41.000000000","message":"code from lines #90-92 deserve to be a test decorator","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fe1e35a40484b09bfb6abc27aa93e2a8971443d5","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            raise SkipTest("},{"line_number":92,"context_line":"                \"Skipping this test since instance is not available.\")"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        self.rd_client \u003d create_dbaas_client(self.instance.user)"},{"line_number":95,"context_line":"        self.rd_client.instances.resize_volume(self.instance.id,"},{"line_number":96,"context_line":"                                               new_volume_size)"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_7b74ea34","line":94,"updated":"2015-06-10 08:47:41.000000000","message":"Each test creates separate instance of troveclient autorized session, this should be a part of setup procedure for each test.","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"04c384f2dab9a1daa22121dca204747066bb52d9","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        self.report.log(\"Deleted Instance ID: %s \" % self.instance.id)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @test(depends_on\u003d[test_instance_delete])"},{"line_number":173,"context_line":"    def test_create_cluster_with_less_instances(self):"},{"line_number":174,"context_line":"        invalid_request_body_with_few_instances \u003d ["},{"line_number":175,"context_line":"            {\"flavorRef\": 2, \"volume\": {\"size\": 1}}]"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_00b22506","line":173,"updated":"2015-06-10 08:17:14.000000000","message":"fewer_instances","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"930f7f5def9c8b175d1657b594dfbb565670f4bf","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        invalid_request_body_with_few_instances \u003d ["},{"line_number":175,"context_line":"            {\"flavorRef\": 2, \"volume\": {\"size\": 1}}]"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        self.rd_client \u003d create_dbaas_client(self.instance.user)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        asserts.assert_raises("},{"line_number":180,"context_line":"            exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_1eb98979","line":177,"updated":"2015-04-22 16:01:30.000000000","message":"Is there a reason that the cluster tests share an rd_client, whereas the non-cluster tests create a new one for each test?  Couldn\u0027t we share it across all tests and save the overhead of re-establishing the connection for each test?","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"6bca03c000788f678227b5c3a749253a2f8e667a","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        invalid_request_body_with_few_instances \u003d ["},{"line_number":175,"context_line":"            {\"flavorRef\": 2, \"volume\": {\"size\": 1}}]"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        self.rd_client \u003d create_dbaas_client(self.instance.user)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        asserts.assert_raises("},{"line_number":180,"context_line":"            exceptions.BadRequest,"}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_488062f7","line":177,"in_reply_to":"dac4157f_1eb98979","updated":"2015-04-22 17:14:07.000000000","message":"So, the time taken by the different APIs was exceeding the token-timeout of 1 hour for which I decided to use a new rd-client for single instance test, but since cluster tests gets completed within 1 hour token-timeout, I kept them sharing the same rd-client","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"930f7f5def9c8b175d1657b594dfbb565670f4bf","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        self.rd_client \u003d create_dbaas_client(self.instance.user)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        asserts.assert_raises("},{"line_number":180,"context_line":"            exceptions.BadRequest,"},{"line_number":181,"context_line":"            self.rd_client.clusters.create,"},{"line_number":182,"context_line":"            \"test_cluster\","}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_9e4919ba","line":179,"updated":"2015-04-22 16:01:30.000000000","message":"Can we use assertRaisesRegexp with these tests?","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"6bca03c000788f678227b5c3a749253a2f8e667a","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        self.rd_client \u003d create_dbaas_client(self.instance.user)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        asserts.assert_raises("},{"line_number":180,"context_line":"            exceptions.BadRequest,"},{"line_number":181,"context_line":"            self.rd_client.clusters.create,"},{"line_number":182,"context_line":"            \"test_cluster\","}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_8b7674a2","line":179,"in_reply_to":"dac4157f_9e4919ba","updated":"2015-04-22 17:14:07.000000000","message":"2 things:\n\n1. I am not able to find if proboscis has a asserRaisesRegexp\n\n2. also I am not sure if rd_client exposes the message.","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fe1e35a40484b09bfb6abc27aa93e2a8971443d5","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            instances\u003d"},{"line_number":203,"context_line":"            invalid_request_body_with_different_flavors)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        asserts.assert_equal(400, self.rd_client.last_http_code)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    @test(depends_on\u003d[test_create_cluster_with_different_flavors])"},{"line_number":208,"context_line":"    def test_create_cluster_with_different_volumes(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_1b9cd60d","line":205,"updated":"2015-06-10 08:47:41.000000000","message":"I feel concerned regarding HTTP response codes.\nBadRequest means that body or HTTP headers are malformed.\nBut our case explicitly shows that we rejecting request, which, according to HTTP RFC, does mean HTTP 409 - Forbidden.","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fe1e35a40484b09bfb6abc27aa93e2a8971443d5","unresolved":false,"context_lines":[{"line_number":219,"context_line":"            instances\u003d"},{"line_number":220,"context_line":"            invalid_request_body_with_different_volumes)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        asserts.assert_equal(400, self.rd_client.last_http_code)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    @test(depends_on\u003d[test_create_cluster_with_different_volumes])"},{"line_number":225,"context_line":"    def test_create_cluster_successfuly(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_fb9c5a0f","line":222,"updated":"2015-06-10 08:47:41.000000000","message":"same here","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fe1e35a40484b09bfb6abc27aa93e2a8971443d5","unresolved":false,"context_lines":[{"line_number":267,"context_line":"                if [\"ERROR\"] * len(cluster_instances) \u003d\u003d ["},{"line_number":268,"context_line":"                   str(instance.status) for instance in cluster_instances]:"},{"line_number":269,"context_line":"                    self.report.log(\"Cluster provisioning failed.\")"},{"line_number":270,"context_line":"                    raise Exception"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"                if [\"ACTIVE\"] * len(cluster_instances) \u003d\u003d ["},{"line_number":273,"context_line":"                   str(instance.status) for instance in cluster_instances]:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_7b562a2b","line":270,"updated":"2015-06-10 08:47:41.000000000","message":"there\u0027s a method called fail\n\nhttps://pythonhosted.org/proboscis/pydocs.html#proboscis.asserts.fail","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fe1e35a40484b09bfb6abc27aa93e2a8971443d5","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                asserts.assert_not_equal("},{"line_number":278,"context_line":"                    [\"ERROR\"] * len(cluster_instances),"},{"line_number":279,"context_line":"                    [instance.status"},{"line_number":280,"context_line":"                     for instance in cluster_instances])"},{"line_number":281,"context_line":"            self.report.log(\"Continue polling, cluster is not ready yet.\")"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        poll_until(result_is_active, sleep_time\u003dSLEEP_TIME, time_out\u003dTIMEOUT)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_3b331216","line":280,"updated":"2015-06-10 08:47:41.000000000","message":"Cluster failure means that any of instances is not in appropriate state (i.e. FAILED, ERROR), we should not expect failure for all instances","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"9b131cb9dd46685aa16e9fd35e656981a34f673b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright [2015] Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_98bd3f04","line":1,"updated":"2015-06-18 10:21:39.000000000","message":"I\u0027d like to see negative tests for clustered instances:\n - configuration apply test\n - resize flavor test\n - resize volume\n - reboot\n - delete\n\netc.\n\nThis cases may hide some bugs in code, so please consider to implement them too.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"515c0d48393e22003c4976157d28c8c6e80a3c90","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright [2015] Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_8dd16625","line":1,"in_reply_to":"fa32b979_98bd3f04","updated":"2015-06-18 18:13:02.000000000","message":"I think these tests are a great start so that we can validate that vertica is working at some capacity. How about we file a bug for adding the tests Denis suggested above so that we dont forget about them and we can add them later. I think this is a good compromise because i do agree we should add more tests around veritca moving forward.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"0c2bdb37f142aa755b8beb0fbe5d2acceca59a92","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright [2015] Hewlett-Packard Development Company, L.P."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_6dc2e254","line":1,"in_reply_to":"fa32b979_98bd3f04","updated":"2015-06-18 18:09:55.000000000","message":"This is a start to validate Vertica features.\nMore new tests could be later.\n\nI have put a bug to add more tests: https://bugs.launchpad.net/trove/+bug/1466598\n\nHope we can move forward with this.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"39960caa8e7bda8dfcf2a0a8f39f1241438e7318","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Integration tests for Vertica datastore."},{"line_number":17,"context_line":"APIs tested for Vertica are:"},{"line_number":18,"context_line":"1. create"},{"line_number":19,"context_line":"2. restart"},{"line_number":20,"context_line":"3. resize-volume"},{"line_number":21,"context_line":"4. resize-instance"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_312feca2","line":18,"updated":"2015-06-22 17:33:18.000000000","message":"NIT: Now this relies on the instance create test.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"e83119c3cf1f971e3bb7353ad0ef4caccf798266","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":"Integration tests for Vertica datastore."},{"line_number":17,"context_line":"APIs tested for Vertica are:"},{"line_number":18,"context_line":"1. create"},{"line_number":19,"context_line":"2. restart"},{"line_number":20,"context_line":"3. resize-volume"},{"line_number":21,"context_line":"4. resize-instance"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_3292874c","line":18,"in_reply_to":"fa32b979_312feca2","updated":"2015-06-22 18:02:07.000000000","message":"This list lists all the APIs that are tested for Vertica datastore.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"14f968544f2a91c79499535dfbad2a802e8fdb2a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            return False"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    @test"},{"line_number":68,"context_line":"    def test_instance_restart(self):"},{"line_number":69,"context_line":"        \"\"\"Tests the restart API.\"\"\""},{"line_number":70,"context_line":"        if not getattr(self, \u0027instance\u0027, None):"},{"line_number":71,"context_line":"            raise SkipTest("}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_7a612f04","line":68,"updated":"2015-06-18 21:55:11.000000000","message":"Just wondering, why do we need to implement datastore specific tests for things like restart, resize etc. Shouldn\u0027t these be very much datastore agnostic? After all, they just check instance states.\nIMHO, it would be much better if we had a group of datastore-agnostic test that could run on any datastore + each datastore would implement only specific stuff like, say, clustering.\nI am just worried that as we keep adding datastores we end up with numerous overlapping implementations each working differently - catching/missing different issues.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"39960caa8e7bda8dfcf2a0a8f39f1241438e7318","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            return False"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    @test"},{"line_number":68,"context_line":"    def test_instance_restart(self):"},{"line_number":69,"context_line":"        \"\"\"Tests the restart API.\"\"\""},{"line_number":70,"context_line":"        if not getattr(self, \u0027instance\u0027, None):"},{"line_number":71,"context_line":"            raise SkipTest("}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_d7feb004","line":68,"in_reply_to":"fa32b979_6f1e440d","updated":"2015-06-22 17:33:18.000000000","message":"I agree with Petr, it would be nice to refactor this tests to make them datastore agnostic, and maybe specialize some bits for the different datastores as needed. Something that worth\u0027s a blueprint.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"65baf15b8daf7b5caead96dce7375a83b71ee77e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            return False"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    @test"},{"line_number":68,"context_line":"    def test_instance_restart(self):"},{"line_number":69,"context_line":"        \"\"\"Tests the restart API.\"\"\""},{"line_number":70,"context_line":"        if not getattr(self, \u0027instance\u0027, None):"},{"line_number":71,"context_line":"            raise SkipTest("}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_6f1e440d","line":68,"in_reply_to":"fa32b979_7a612f04","updated":"2015-06-19 05:12:34.000000000","message":"I do agree with you point Petr, infact, there are many more tests which are currently too closely coupled for mysql datastore only, I think we can create a bug to make integration test more open for all datastores to grasp.\n\nThere was already a comment to reuse the existing code, and I tried to use as much as I could in this implementation for Vertica integration tests.\n\nVertica datastore while restarting also acquires a state for sometime in between \"SHUTDOWN\", where it was different from mysql current existing test.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"},{"author":{"_account_id":13355,"name":"Edmond Kotowski","email":"ekotowski@gmail.com","username":"ekotowski"},"change_message_id":"c2beabb140a6adf1bdf4561f5227b97590c00c04","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            return False"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    @test"},{"line_number":68,"context_line":"    def test_instance_restart(self):"},{"line_number":69,"context_line":"        \"\"\"Tests the restart API.\"\"\""},{"line_number":70,"context_line":"        if not getattr(self, \u0027instance\u0027, None):"},{"line_number":71,"context_line":"            raise SkipTest("}],"source_content_type":"text/x-python","patch_set":12,"id":"fa32b979_321b6782","line":68,"in_reply_to":"fa32b979_d7feb004","updated":"2015-06-22 18:13:25.000000000","message":"Yeah I don\u0027t this doing this make sense in the scope of this patch but it a patch that specifically addresses creating datastore agnostic integration tests.","commit_id":"c62961e2858bd7765d313c9b84e23a5e3c8f1d6b"}],"trove/tests/int_tests.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fe1e35a40484b09bfb6abc27aa93e2a8971443d5","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    vertica.VERTICA_GROUP,"},{"line_number":107,"context_line":"]"},{"line_number":108,"context_line":"proboscis.register(groups\u003d[\"vertica\"],"},{"line_number":109,"context_line":"                   depends_on_groups\u003dvertica_group)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_162dcb94","line":109,"updated":"2015-06-10 08:47:41.000000000","message":"this could be a bit shorted, since we already have defined group \"datastore_group\", everything you need is:\n\nproboscis.register(groups\u003d[\"vertica\"],\n                   depends_on_groups\u003d[datastore_group, instances.GROUP_QUOTAS, vertica.VERTICA_GROUP])\n\nthat\u0027s all.","commit_id":"4b21c94ab9620fab02491447e4293e32162b5522"}]}
