)]}'
{"openstack/cloud/_placement.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"26ce9c3b95bab4244de8ff09279aae4f3bbfb284","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from openstack.cloud import _normalize"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class PlacementCloudMixin(_normalize.Normalizer):"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def list_resource_providers(self, filters\u003dNone):"},{"line_number":23,"context_line":"        \"\"\"List all available resource providers."}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_c180ed4c","line":20,"updated":"2020-09-16 07:55:21.000000000","message":"Do we actually need to expose Placement functions on OpenStackCloud? Placement is an advanced thing as it seems.","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b2e65d379f7f6b3de623b1f53381508ccedc5df1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from openstack.cloud import _normalize"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class PlacementCloudMixin(_normalize.Normalizer):"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def list_resource_providers(self, filters\u003dNone):"},{"line_number":23,"context_line":"        \"\"\"List all available resource providers."}],"source_content_type":"text/x-python","patch_set":2,"id":"07a7096a_2f7e6fd7","line":20,"in_reply_to":"9f560f44_c180ed4c","updated":"2021-03-24 13:15:05.000000000","message":"Nope. Dropped.","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"42e50313a74bbdcf5a7da9525dd9bb43866ced9f","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class PlacementCloudMixin(_normalize.Normalizer):"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def list_resource_providers(self, filters\u003dNone):"},{"line_number":23,"context_line":"        \"\"\"List all available resource providers."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"        :param filters: (optional) dict of filter conditions to push down."}],"source_content_type":"text/x-python","patch_set":2,"id":"df06c16b_d1f01c86","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":31},"updated":"2021-02-18 18:55:02.000000000","message":"I don\u0027t know the answer to Dmitry\u0027s question above - and don\u0027t have a strong opinion about this, although i have a small preference to allow services to expose functionality in this surface, as long as they can be meaningfully distinguished. \n\nI kinda think \"resource_providers\" is a bit of a broad term to expose to the cloud proxy. Isn\u0027t it?\nMaybe we can call this \"list_placement_resource_providers\" to be unambiguous and bring some specificity?","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b2e65d379f7f6b3de623b1f53381508ccedc5df1","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class PlacementCloudMixin(_normalize.Normalizer):"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def list_resource_providers(self, filters\u003dNone):"},{"line_number":23,"context_line":"        \"\"\"List all available resource providers."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"        :param filters: (optional) dict of filter conditions to push down."}],"source_content_type":"text/x-python","patch_set":2,"id":"d243f970_3dd4b9d7","line":22,"range":{"start_line":22,"start_character":8,"end_line":22,"end_character":31},"in_reply_to":"df06c16b_d1f01c86","updated":"2021-03-24 13:15:05.000000000","message":"I dropped this so we shouldn\u0027t have an issue here any longer.","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"}],"openstack/placement/v1/resource_provider.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fecf7a732fef570f3ef23dd81a667d706bc01282","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    # Filters"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    _query_mapping \u003d resource.QueryParameters("},{"line_number":33,"context_line":"        \u0027name\u0027, \u0027member_of\u0027, \u0027resources\u0027, \u0027in_tree\u0027, \u0027required\u0027, id\u003d\u0027uuid\u0027,"},{"line_number":34,"context_line":"    )"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    # Properties"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_6ea67bc3","line":33,"updated":"2020-08-07 16:54:46.000000000","message":"I think I\u0027ve done the correct thing here (mapping id to uuid)","commit_id":"4a10a43f61f5cb94430af05af561f02d2afd3ab9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fecf7a732fef570f3ef23dd81a667d706bc01282","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    # Properties"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: The UUID of a resource provider."},{"line_number":39,"context_line":"    id \u003d resource.Body(\u0027uuid\u0027, alternate_id\u003dTrue)"},{"line_number":40,"context_line":"    #: A consistent view marker that assists with the management of concurrent"},{"line_number":41,"context_line":"    #: resource provider updates."},{"line_number":42,"context_line":"    generation \u003d resource.Body(\u0027generation\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_cea98790","line":39,"updated":"2020-08-07 16:54:46.000000000","message":"ditto","commit_id":"4a10a43f61f5cb94430af05af561f02d2afd3ab9"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"26ce9c3b95bab4244de8ff09279aae4f3bbfb284","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    #: The name of this resource provider."},{"line_number":47,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":48,"context_line":"    #: The UUID of the immediate parent of the resource provider."},{"line_number":49,"context_line":"    parent_provider_uuid \u003d resource.Body(\u0027parent_provider_uuid\u0027)"},{"line_number":50,"context_line":"    #: Read-only UUID of the top-most provider in this provider tree."},{"line_number":51,"context_line":"    root_provider_uuid \u003d resource.Body(\u0027root_provider_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_a185f95b","line":49,"updated":"2020-09-16 07:55:21.000000000","message":"openstacksdk uses id instead of uuid","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"26ce9c3b95bab4244de8ff09279aae4f3bbfb284","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    #: The UUID of the immediate parent of the resource provider."},{"line_number":49,"context_line":"    parent_provider_uuid \u003d resource.Body(\u0027parent_provider_uuid\u0027)"},{"line_number":50,"context_line":"    #: Read-only UUID of the top-most provider in this provider tree."},{"line_number":51,"context_line":"    root_provider_uuid \u003d resource.Body(\u0027root_provider_uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_017b057b","line":51,"updated":"2020-09-16 07:55:21.000000000","message":"ditto","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"}],"openstack/placement/version.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"26ce9c3b95bab4244de8ff09279aae4f3bbfb284","unresolved":false,"context_lines":[{"line_number":13,"context_line":"from openstack import resource"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"class Version(resource.Resource):"},{"line_number":17,"context_line":"    resource_key \u003d \u0027version\u0027"},{"line_number":18,"context_line":"    resources_key \u003d \u0027versions\u0027"},{"line_number":19,"context_line":"    base_path \u003d \u0027/\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_e17ff163","line":16,"updated":"2020-09-16 07:55:21.000000000","message":"This resource is not used anywhere, and API version discovery is done in keystoneauth, so maybe it\u0027s not needed","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"42e50313a74bbdcf5a7da9525dd9bb43866ced9f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"from openstack import resource"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"class Version(resource.Resource):"},{"line_number":17,"context_line":"    resource_key \u003d \u0027version\u0027"},{"line_number":18,"context_line":"    resources_key \u003d \u0027versions\u0027"},{"line_number":19,"context_line":"    base_path \u003d \u0027/\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"fe40aadb_4d47bfec","line":16,"in_reply_to":"9f560f44_e17ff163","updated":"2021-02-18 18:55:02.000000000","message":"based on the discussion at the IRC meeting today, i removed it from the shared-file-system service patch; although we\u0027d need to clean up the other services as well: http://eavesdrop.openstack.org/meetings/sdk_osc/2021/sdk_osc.2021-02-18-14.05.log.html#l-107","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"}],"openstack/tests/unit/placement/test_version.py":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"f6b7a287e97977db75ac5b96e0e6e749fe2504e1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"# a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":3,"id":"753c0123_76a05688","line":1,"updated":"2021-03-18 13:32:14.000000000","message":"This file is not required at all, there is no version resource, we do not support it, ...","commit_id":"46e3b7d2771b1fa63cff1d2e86e8d20e45f48df9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b2e65d379f7f6b3de623b1f53381508ccedc5df1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"# a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":3,"id":"0ae73ac0_c1ef951d","line":1,"in_reply_to":"753c0123_76a05688","updated":"2021-03-24 13:15:05.000000000","message":"Whoops. Dropped","commit_id":"46e3b7d2771b1fa63cff1d2e86e8d20e45f48df9"}],"openstack/tests/unit/placement/v1/test_proxy.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"42e50313a74bbdcf5a7da9525dd9bb43866ced9f","unresolved":true,"context_lines":[{"line_number":25,"context_line":"            self.proxy.resource_providers, resource_provider.ResourceProvider,"},{"line_number":26,"context_line":"        )"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def test_get_device_profile(self):"},{"line_number":29,"context_line":"        self.verify_get("},{"line_number":30,"context_line":"            self.proxy.get_resource_provider,"},{"line_number":31,"context_line":"            resource_provider.ResourceProvider,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fc8a6e61_78e016d3","line":28,"range":{"start_line":28,"start_character":18,"end_line":28,"end_character":31},"updated":"2021-02-18 18:55:02.000000000","message":"resource_provider?","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"}],"openstack/tests/unit/placement/v1/test_resource_provider.py":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"b4fc9418eac2dc7dc2447e3aad37c65458d34bee","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_make_it(self):"},{"line_number":38,"context_line":"        sot \u003d rp.ResourceProvider(**FAKE)"},{"line_number":39,"context_line":"        self.assertEqual(FAKE[\u0027uuid\u0027], sot.uuid)"},{"line_number":40,"context_line":"        self.assertEqual(FAKE[\u0027name\u0027], sot.name)"},{"line_number":41,"context_line":"        self.assertEqual("},{"line_number":42,"context_line":"            FAKE[\u0027parent_provider_uuid\u0027], sot.parent_provider_uuid,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_15ca3545","line":39,"updated":"2020-09-15 08:24:58.000000000","message":"I would recommend also to add \nself.assertEqual(FAKE[\u0027uuid\u0027], sot.id)\n\nThis allows you to be sure the uuid\u003d\u003eid mapping is correct","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"42e50313a74bbdcf5a7da9525dd9bb43866ced9f","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_make_it(self):"},{"line_number":38,"context_line":"        sot \u003d rp.ResourceProvider(**FAKE)"},{"line_number":39,"context_line":"        self.assertEqual(FAKE[\u0027uuid\u0027], sot.uuid)"},{"line_number":40,"context_line":"        self.assertEqual(FAKE[\u0027name\u0027], sot.name)"},{"line_number":41,"context_line":"        self.assertEqual("},{"line_number":42,"context_line":"            FAKE[\u0027parent_provider_uuid\u0027], sot.parent_provider_uuid,"}],"source_content_type":"text/x-python","patch_set":2,"id":"f9cb151c_37733d3b","line":39,"in_reply_to":"9f560f44_15ca3545","updated":"2021-02-18 18:55:02.000000000","message":"I\u0027m confused, how is this assert working 😊\nit should indeed be:\n \n self.assertEqual(FAKE[\u0027uuid\u0027], sot.id)\n\nand not: \"self.assertEqual(FAKE[\u0027uuid\u0027], sot.uuid)\"","commit_id":"676cee4ee49039cdfd52327a2ac4d0885364e4e0"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"f6b7a287e97977db75ac5b96e0e6e749fe2504e1","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        self.assertFalse(sot.allow_commit)"},{"line_number":33,"context_line":"        self.assertFalse(sot.allow_delete)"},{"line_number":34,"context_line":"        self.assertTrue(sot.allow_list)"},{"line_number":35,"context_line":"        self.assertFalse(sot.allow_patch)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_make_it(self):"},{"line_number":38,"context_line":"        sot \u003d rp.ResourceProvider(**FAKE)"}],"source_content_type":"text/x-python","patch_set":3,"id":"6d8c4fb6_56441b52","line":35,"updated":"2021-03-18 13:32:14.000000000","message":"Test of query params is missing here","commit_id":"46e3b7d2771b1fa63cff1d2e86e8d20e45f48df9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b2e65d379f7f6b3de623b1f53381508ccedc5df1","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        self.assertFalse(sot.allow_commit)"},{"line_number":33,"context_line":"        self.assertFalse(sot.allow_delete)"},{"line_number":34,"context_line":"        self.assertTrue(sot.allow_list)"},{"line_number":35,"context_line":"        self.assertFalse(sot.allow_patch)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_make_it(self):"},{"line_number":38,"context_line":"        sot \u003d rp.ResourceProvider(**FAKE)"}],"source_content_type":"text/x-python","patch_set":3,"id":"b6e636cb_efce82a7","line":35,"in_reply_to":"6d8c4fb6_56441b52","updated":"2021-03-24 13:15:05.000000000","message":"Done","commit_id":"46e3b7d2771b1fa63cff1d2e86e8d20e45f48df9"}],"releasenotes/notes/add-placement-support-a2011eb1e900804d.yaml":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"f6b7a287e97977db75ac5b96e0e6e749fe2504e1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for Placement."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"70029ce2_32333a04","line":4,"updated":"2021-03-18 13:32:14.000000000","message":"maybe add here also \"minimal\" as in the commit message? This is not a complete support","commit_id":"46e3b7d2771b1fa63cff1d2e86e8d20e45f48df9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b2e65d379f7f6b3de623b1f53381508ccedc5df1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for Placement."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"87cd760f_4e5dd5e1","line":4,"in_reply_to":"70029ce2_32333a04","updated":"2021-03-24 13:15:05.000000000","message":"Done","commit_id":"46e3b7d2771b1fa63cff1d2e86e8d20e45f48df9"}]}
