)]}'
{"shade/operatorcloud.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"f9d29390ff63881e09086ce0134c032d4af581cd","unresolved":false,"context_lines":[{"line_number":783,"context_line":"        return _utils.normalize_keystone_services([service])[0]"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    @_utils.valid_kwargs(\u0027type\u0027, \u0027service_type\u0027, \u0027description\u0027)"},{"line_number":786,"context_line":"    def update_service(self, service_id, name, enabled\u003dTrue, **kwargs):"},{"line_number":787,"context_line":"        # NOTE(SamYaple): Service updates are only available on v3 api"},{"line_number":788,"context_line":"        if self.cloud_config.get_api_version(\u0027identity\u0027).startswith(\u00272\u0027):"},{"line_number":789,"context_line":"            raise OpenStackCloudUnavailableFeature("}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_e13e80d9","line":786,"updated":"2016-03-04 17:42:17.000000000","message":"Because you set a default for enabled, this is ALWAYS going to re-enable a disabled service for an update of anything. I think you want to move enabled to the valid_kwargs list.","commit_id":"967d9849fa5aab81d54536e077df74cc7c3b2c85"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"2eee4f135dca4e76bf339a94d3d2d16835648fbd","unresolved":false,"context_lines":[{"line_number":783,"context_line":"        return _utils.normalize_keystone_services([service])[0]"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    @_utils.valid_kwargs(\u0027type\u0027, \u0027service_type\u0027, \u0027description\u0027)"},{"line_number":786,"context_line":"    def update_service(self, service_id, name, enabled\u003dTrue, **kwargs):"},{"line_number":787,"context_line":"        # NOTE(SamYaple): Service updates are only available on v3 api"},{"line_number":788,"context_line":"        if self.cloud_config.get_api_version(\u0027identity\u0027).startswith(\u00272\u0027):"},{"line_number":789,"context_line":"            raise OpenStackCloudUnavailableFeature("}],"source_content_type":"text/x-python","patch_set":8,"id":"7af24918_0411fa5d","line":786,"in_reply_to":"7af24918_e13e80d9","updated":"2016-03-04 17:58:54.000000000","message":"hmm good catch. ill need to build a service kwargs for this function too then","commit_id":"967d9849fa5aab81d54536e077df74cc7c3b2c85"}],"shade/tests/functional/test_services.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"950b1076928d947ef5d69e65c5cfdaa34859e6b2","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                name\u003dself.new_service_name + \u0027_update\u0027,"},{"line_number":83,"context_line":"                description\u003d\u0027this is an updated description\u0027,"},{"line_number":84,"context_line":"                enabled\u003dFalse"},{"line_number":85,"context_line":"            )"},{"line_number":86,"context_line":"            self.assertEqual(new_service.description,"},{"line_number":87,"context_line":"                             \u0027this is an updated description\u0027)"},{"line_number":88,"context_line":"            self.assertFalse(new_service.enabled)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_3e33d7f7","line":85,"updated":"2016-03-09 13:34:17.000000000","message":"Probably want to check that name gets updated, too.","commit_id":"67871649164f64167ec7c23f2c496de2ede97153"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"167ea865b1da9589af2add76554d7a1ec632bfc6","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                name\u003dself.new_service_name + \u0027_update\u0027,"},{"line_number":83,"context_line":"                description\u003d\u0027this is an updated description\u0027,"},{"line_number":84,"context_line":"                enabled\u003dFalse"},{"line_number":85,"context_line":"            )"},{"line_number":86,"context_line":"            self.assertEqual(new_service.description,"},{"line_number":87,"context_line":"                             \u0027this is an updated description\u0027)"},{"line_number":88,"context_line":"            self.assertFalse(new_service.enabled)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_513cc8c7","line":85,"in_reply_to":"5aef4532_3e33d7f7","updated":"2016-03-09 16:59:26.000000000","message":"Done","commit_id":"67871649164f64167ec7c23f2c496de2ede97153"}],"shade/tests/unit/test_services.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"950b1076928d947ef5d69e65c5cfdaa34859e6b2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self.assertRaises(OpenStackCloudUnavailableFeature,"},{"line_number":69,"context_line":"                          self.client.update_service,"},{"line_number":70,"context_line":"                          \u0027service_id\u0027, name\u003d\u0027new name\u0027)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @patch.object(OperatorCloud, \u0027keystone_client\u0027)"},{"line_number":73,"context_line":"    def test_list_services(self, mock_keystone_client):"},{"line_number":74,"context_line":"        mock_keystone_client.services.list.return_value \u003d \\"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_de40f336","line":71,"updated":"2016-03-09 13:34:17.000000000","message":"We need a test_update_service_v3() test.","commit_id":"67871649164f64167ec7c23f2c496de2ede97153"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"2bef4759af6a460227d0cae427cc62789acae17e","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            cloud_config\u003dconfig.get_one_cloud("},{"line_number":53,"context_line":"                validate\u003dFalse, identity_api_version\u003d3"},{"line_number":54,"context_line":"            )"},{"line_number":55,"context_line":"        )"},{"line_number":56,"context_line":"        self.mock_ks_services \u003d [FakeService(**kwa) for kwa in"},{"line_number":57,"context_line":"                                 self.mock_services]"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_8157d156","line":55,"updated":"2016-03-10 19:04:22.000000000","message":"Don\u0027t do it this way. Just mock get_api_version() to return \u00273\u0027. There are examples in other unit tests.","commit_id":"50cc5c17e3ce30fe2c55e0e1dd7646465eb6ab39"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"c2638593e045ae95a5163a104f2c17a517bb394d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            cloud_config\u003dconfig.get_one_cloud("},{"line_number":53,"context_line":"                validate\u003dFalse, identity_api_version\u003d3"},{"line_number":54,"context_line":"            )"},{"line_number":55,"context_line":"        )"},{"line_number":56,"context_line":"        self.mock_ks_services \u003d [FakeService(**kwa) for kwa in"},{"line_number":57,"context_line":"                                 self.mock_services]"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_37cc3e88","line":55,"in_reply_to":"5aef4532_8157d156","updated":"2016-03-10 20:03:26.000000000","message":"Done","commit_id":"50cc5c17e3ce30fe2c55e0e1dd7646465eb6ab39"}]}
