)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"2ca47887723e1961c8bf79bdd7a4d54a92bbc6d5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch uses Tempest clients instead of Official clients. This is"},{"line_number":10,"context_line":"part of the migrating all scenario tests to using tempest own clients."},{"line_number":11,"context_line":"This patch adds some assert() because we should assert every requests."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Partially-implements: bp:tempest-client-scenarios"},{"line_number":14,"context_line":"Change-Id: I1cdf391652fbb14d5c527e8702c392904ef35a37"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"baada198_84c6a748","line":11,"updated":"2014-08-10 09:49:32.000000000","message":"Clients should assert request and not tests\nhttps://blueprints.launchpad.net/tempest/+spec/client-checks-success","commit_id":"cf65d21165a0811b82804fc795536f877535d494"}],"tempest/scenario/test_aggregates_basic_ops.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f5ff32968144a83353d0cb73cae821158fe0f41b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.assertEqual(aggregate.name, aggregate_name)"},{"line_number":44,"context_line":"        self.assertEqual(aggregate.availability_zone, availability_zone)"},{"line_number":45,"context_line":"        self.addCleanup(self._delete_aggregate, aggregate)"},{"line_number":46,"context_line":"        LOG.debug(\"Aggregate %s created.\" % (aggregate.name))"},{"line_number":47,"context_line":"        return aggregate"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def _delete_aggregate(self, aggregate):"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_b98cf4d8","side":"PARENT","line":46,"updated":"2014-07-24 01:50:53.000000000","message":"Do not we need logging? Not sure whether it is intentionally removed :)","commit_id":"2e733b562166a97870649df9def83989576634f1"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"77a5a6ea0358115ac48949085ea086e36d2fe98b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.assertEqual(aggregate.name, aggregate_name)"},{"line_number":44,"context_line":"        self.assertEqual(aggregate.availability_zone, availability_zone)"},{"line_number":45,"context_line":"        self.addCleanup(self._delete_aggregate, aggregate)"},{"line_number":46,"context_line":"        LOG.debug(\"Aggregate %s created.\" % (aggregate.name))"},{"line_number":47,"context_line":"        return aggregate"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def _delete_aggregate(self, aggregate):"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_67b21c98","side":"PARENT","line":46,"in_reply_to":"baada198_b98cf4d8","updated":"2014-07-29 08:29:44.000000000","message":"Yeah, this removing is intentional because tempest client has already put debugging logs. So I think we don\u0027t need this kind of debugging log output.","commit_id":"2e733b562166a97870649df9def83989576634f1"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"94c75b3bcdc51a87c3728182201696a4d957f415","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _create_aggregate(self, **kwargs):"},{"line_number":46,"context_line":"        resp, aggregate \u003d self.aggregates_client.create_aggregate(**kwargs)"},{"line_number":47,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":48,"context_line":"        self.addCleanup(self._delete_aggregate, aggregate)"},{"line_number":49,"context_line":"        aggregate_name \u003d kwargs[\u0027name\u0027]"},{"line_number":50,"context_line":"        availability_zone \u003d kwargs[\u0027availability_zone\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_a51d4cc0","line":47,"updated":"2014-07-21 13:07:17.000000000","message":"I would not bother checking response codes in scenario tests.\nIf the code is not a 2xx it will raise an Exception. \nThe correctness of the codes shall already be tested by the API tests, and the check eventually moved into the rest clients themselves.\n\nA few more cases of this below.","commit_id":"f122336028ca5340a27e2ff57e2ab7b2a236e620"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"77a5a6ea0358115ac48949085ea086e36d2fe98b","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _create_aggregate(self, **kwargs):"},{"line_number":46,"context_line":"        resp, aggregate \u003d self.aggregates_client.create_aggregate(**kwargs)"},{"line_number":47,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":48,"context_line":"        self.addCleanup(self._delete_aggregate, aggregate)"},{"line_number":49,"context_line":"        aggregate_name \u003d kwargs[\u0027name\u0027]"},{"line_number":50,"context_line":"        availability_zone \u003d kwargs[\u0027availability_zone\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_e72aac90","line":47,"in_reply_to":"baada198_a51d4cc0","updated":"2014-07-29 08:29:44.000000000","message":"Oh, I got it. The check is in the client. I\u0027ll remove these checkings.","commit_id":"f122336028ca5340a27e2ff57e2ab7b2a236e620"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"94c75b3bcdc51a87c3728182201696a4d957f415","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        aggregate \u003d self._update_aggregate(aggregate, aggregate_name, az)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        new_metadata \u003d {\u0027foo\u0027: \u0027bar\u0027}"},{"line_number":128,"context_line":"        self._set_aggregate_metadata(aggregate, new_metadata)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        self._check_aggregate_details(aggregate, aggregate[\u0027name\u0027], az, [host],"},{"line_number":131,"context_line":"                                      new_metadata)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_b769ff8d","line":128,"updated":"2014-07-21 13:07:17.000000000","message":"The \"set\" method applies new metadata, so I understand your version, I don\u0027t understand why it worked before?","commit_id":"f122336028ca5340a27e2ff57e2ab7b2a236e620"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"77a5a6ea0358115ac48949085ea086e36d2fe98b","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        aggregate \u003d self._update_aggregate(aggregate, aggregate_name, az)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        new_metadata \u003d {\u0027foo\u0027: \u0027bar\u0027}"},{"line_number":128,"context_line":"        self._set_aggregate_metadata(aggregate, new_metadata)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        self._check_aggregate_details(aggregate, aggregate[\u0027name\u0027], az, [host],"},{"line_number":131,"context_line":"                                      new_metadata)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_e2dff736","line":128,"in_reply_to":"baada198_b769ff8d","updated":"2014-07-29 08:29:44.000000000","message":"Yeah, I also don\u0027t understand it.. I\u0027ve looked at novaclient code(set_aggregate_metadata), but it seems almost same as the tempest client.","commit_id":"f122336028ca5340a27e2ff57e2ab7b2a236e620"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8649daabb7c4a4f0dd5b4a396782c61e068ed965","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                                      metadata)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        aggregate_name \u003d data_utils.rand_name(\u0027renamed-aggregate-scenario\u0027)"},{"line_number":116,"context_line":"        aggregate \u003d self._update_aggregate(aggregate, aggregate_name, az)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        new_metadata \u003d {\u0027foo\u0027: \u0027bar\u0027}"},{"line_number":119,"context_line":"        self._set_aggregate_metadata(aggregate, new_metadata)"}],"source_content_type":"text/x-python","patch_set":10,"id":"baada198_7143a53f","line":116,"updated":"2014-08-05 19:22:01.000000000","message":"The az is already set to \"foo_zone\" then the aggregate is created. This way we are not testing removing the AZ from an aggregate.\nI believe it would be better to set az to None here as in the original test, and to check for None in  L121 (of the new version).","commit_id":"dcb48a234fb59d44da76d75800c160f18bc89409"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"2ca47887723e1961c8bf79bdd7a4d54a92bbc6d5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def setUpClass(cls):"},{"line_number":37,"context_line":"        super(TestAggregatesBasicOps, cls).setUpClass()"},{"line_number":38,"context_line":"        cls.aggregates_client \u003d cls.manager.aggregates_client"},{"line_number":39,"context_line":"        cls.hosts_client \u003d cls.manager.hosts_client"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_c4a5ffa0","line":38,"updated":"2014-08-10 09:49:32.000000000","message":"why aren\u0027t these clients added to manager? why just this test?","commit_id":"cf65d21165a0811b82804fc795536f877535d494"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"2ca47887723e1961c8bf79bdd7a4d54a92bbc6d5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return cls.admin_credentials()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _create_aggregate(self, **kwargs):"},{"line_number":46,"context_line":"        resp, aggregate \u003d self.aggregates_client.create_aggregate(**kwargs)"},{"line_number":47,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":48,"context_line":"        self.addCleanup(self._delete_aggregate, aggregate)"},{"line_number":49,"context_line":"        aggregate_name \u003d kwargs[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_64aef381","line":46,"updated":"2014-08-10 09:49:32.000000000","message":"shouldn\u0027t return code should be evaluated in cliets?\nhttps://blueprints.launchpad.net/tempest/+spec/client-checks-success","commit_id":"cf65d21165a0811b82804fc795536f877535d494"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"2ca47887723e1961c8bf79bdd7a4d54a92bbc6d5","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def _get_host_name(self):"},{"line_number":59,"context_line":"        resp, hosts \u003d self.hosts_client.list_hosts()"},{"line_number":60,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":61,"context_line":"        self.assertTrue(len(hosts) \u003e\u003d 1)"},{"line_number":62,"context_line":"        computes \u003d [x for x in hosts if x[\u0027service\u0027] \u003d\u003d \u0027compute\u0027]"},{"line_number":63,"context_line":"        return computes[0][\u0027host_name\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_c4bc1fb9","line":60,"updated":"2014-08-10 09:49:32.000000000","message":"same here","commit_id":"cf65d21165a0811b82804fc795536f877535d494"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"2ca47887723e1961c8bf79bdd7a4d54a92bbc6d5","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    def _add_host(self, aggregate_id, host):"},{"line_number":66,"context_line":"        resp, aggregate \u003d self.aggregates_client.add_host(aggregate_id,"},{"line_number":67,"context_line":"                                                          host)"},{"line_number":68,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":69,"context_line":"        self.addCleanup(self._remove_host, aggregate[\u0027id\u0027], host)"},{"line_number":70,"context_line":"        self.assertIn(host, aggregate[\u0027hosts\u0027])"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_e4b923c6","line":68,"updated":"2014-08-10 09:49:32.000000000","message":"and here","commit_id":"cf65d21165a0811b82804fc795536f877535d494"}]}
