)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3d9f40e8e45c09b2e3ad271dc3b9c57f96788e80","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://review.openstack.org/508149)"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Questions:"},{"line_number":15,"context_line":"* This patch now aims to work with placement API microversion 1.29, do"},{"line_number":16,"context_line":"tempest need to support all placement microversions?"},{"line_number":17,"context_line":"* Shall I add all necessary API calls for my needs (see: scenario test"},{"line_number":18,"context_line":"for the bandwidth feature) like get_traits,"},{"line_number":19,"context_line":"get_resource_provider_inventories..., or cut to smaller patches for each"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_ea98f3cb","line":16,"range":{"start_line":15,"start_character":68,"end_line":16,"end_character":52},"updated":"2018-12-05 11:12:56.000000000","message":"it is need basis. we keep adding the service clients and microversion support as per the new test verification requirement.","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dd460043cc8a1a115c38e5948b66d99b8b5cb180","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://review.openstack.org/508149)"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Questions:"},{"line_number":15,"context_line":"* This patch now aims to work with placement API microversion 1.29, do"},{"line_number":16,"context_line":"tempest need to support all placement microversions?"},{"line_number":17,"context_line":"* Shall I add all necessary API calls for my needs (see: scenario test"},{"line_number":18,"context_line":"for the bandwidth feature) like get_traits,"},{"line_number":19,"context_line":"get_resource_provider_inventories..., or cut to smaller patches for each"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_cbe3b69e","line":16,"range":{"start_line":15,"start_character":68,"end_line":16,"end_character":52},"in_reply_to":"3f79a3b5_ea98f3cb","updated":"2018-12-05 15:41:46.000000000","message":"ok, thanks","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3d9f40e8e45c09b2e3ad271dc3b9c57f96788e80","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Questions:"},{"line_number":15,"context_line":"* This patch now aims to work with placement API microversion 1.29, do"},{"line_number":16,"context_line":"tempest need to support all placement microversions?"},{"line_number":17,"context_line":"* Shall I add all necessary API calls for my needs (see: scenario test"},{"line_number":18,"context_line":"for the bandwidth feature) like get_traits,"},{"line_number":19,"context_line":"get_resource_provider_inventories..., or cut to smaller patches for each"},{"line_number":20,"context_line":"API?"},{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_8a729f9d","line":20,"range":{"start_line":17,"start_character":2,"end_line":20,"end_character":4},"updated":"2018-12-05 11:12:56.000000000","message":"smaller patch for each API is easy to get review and merged. I would like to see the added service client usage added with the same patch. This will help to avoid maintaining the  unused service clients.\n\nThis is same rule we cover for every service clients added. Either they are covered by via test case or via verification via schema or used in other plugins like patrole etc.","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dd460043cc8a1a115c38e5948b66d99b8b5cb180","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Questions:"},{"line_number":15,"context_line":"* This patch now aims to work with placement API microversion 1.29, do"},{"line_number":16,"context_line":"tempest need to support all placement microversions?"},{"line_number":17,"context_line":"* Shall I add all necessary API calls for my needs (see: scenario test"},{"line_number":18,"context_line":"for the bandwidth feature) like get_traits,"},{"line_number":19,"context_line":"get_resource_provider_inventories..., or cut to smaller patches for each"},{"line_number":20,"context_line":"API?"},{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_ebe8f27e","line":20,"range":{"start_line":17,"start_character":2,"end_line":20,"end_character":4},"in_reply_to":"3f79a3b5_8a729f9d","updated":"2018-12-05 15:41:46.000000000","message":"Actually we planned to add scenario test to neutron-tempest-plugin, I suppose that can work as well as the first consumer of the client?","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3d9f40e8e45c09b2e3ad271dc3b9c57f96788e80","unresolved":false,"context_lines":[{"line_number":18,"context_line":"for the bandwidth feature) like get_traits,"},{"line_number":19,"context_line":"get_resource_provider_inventories..., or cut to smaller patches for each"},{"line_number":20,"context_line":"API?"},{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"},{"line_number":24,"context_line":"* documentation / release_notes?"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_eae6b349","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":44},"updated":"2018-12-05 11:12:56.000000000","message":"no, this is not needed for placement service clients as those are required for extra verification using placement instead of verifying placement APIs.","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dd460043cc8a1a115c38e5948b66d99b8b5cb180","unresolved":false,"context_lines":[{"line_number":18,"context_line":"for the bandwidth feature) like get_traits,"},{"line_number":19,"context_line":"get_resource_provider_inventories..., or cut to smaller patches for each"},{"line_number":20,"context_line":"API?"},{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"},{"line_number":24,"context_line":"* documentation / release_notes?"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_4befa67f","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":44},"in_reply_to":"3f79a3b5_eae6b349","updated":"2018-12-05 15:41:46.000000000","message":"ok","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3d9f40e8e45c09b2e3ad271dc3b9c57f96788e80","unresolved":false,"context_lines":[{"line_number":19,"context_line":"get_resource_provider_inventories..., or cut to smaller patches for each"},{"line_number":20,"context_line":"API?"},{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"},{"line_number":24,"context_line":"* documentation / release_notes?"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_2ad82b7b","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":6},"updated":"2018-12-05 11:12:56.000000000","message":"both unit test and reno are needed to be part of this patch.","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dd460043cc8a1a115c38e5948b66d99b8b5cb180","unresolved":false,"context_lines":[{"line_number":19,"context_line":"get_resource_provider_inventories..., or cut to smaller patches for each"},{"line_number":20,"context_line":"API?"},{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"},{"line_number":24,"context_line":"* documentation / release_notes?"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_6b6f02fb","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":6},"in_reply_to":"3f79a3b5_2ad82b7b","updated":"2018-12-05 15:41:46.000000000","message":"ack.","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"777668090067382da03bb85ed234bdaac807521c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"},{"line_number":24,"context_line":"* documentation / release_notes?"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I0cf1caadeb40761ec79338510919f12baf2d8f56"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_6f47317b","line":24,"updated":"2018-12-04 14:41:09.000000000","message":"As I said on the email thread[1], I don\u0027t think the correct of the placement API itself needs to be validated in tempest, however, if you create a client you\u0027ll want to be sure that it is correct itself.\n\nI\u0027m not personally a good person for describing how such a client might look. I use placement from gabbi, curl, or straight python-requests calls. I don\u0027t find the use of an abstraction layer to be particularly useful or helpful. It\u0027s part of the reason I created gabbi-tempest[2] so that the indirection away from HTTP is not there.\n\nI understand, however, that tempest is oriented towards having endpoint clients. I\u0027m not sure what the rules are there with regards to microversions.\n\n\n[1] http://lists.openstack.org/pipermail/openstack-discuss/2018-December/000518.html\n[2] https://git.openstack.org/cgit/openstack/gabbi-tempest and https://review.openstack.org/#/c/607508/","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dd460043cc8a1a115c38e5948b66d99b8b5cb180","unresolved":false,"context_lines":[{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"},{"line_number":24,"context_line":"* documentation / release_notes?"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I0cf1caadeb40761ec79338510919f12baf2d8f56"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_cb665628","line":24,"in_reply_to":"3f79a3b5_6abb830f","updated":"2018-12-05 15:41:46.000000000","message":"As I wrote above the consumer of this client will be in neutron-tempest-plugin, should that work?","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3d9f40e8e45c09b2e3ad271dc3b9c57f96788e80","unresolved":false,"context_lines":[{"line_number":21,"context_line":"* Do we need API response schema validation?"},{"line_number":22,"context_line":"TODOs:"},{"line_number":23,"context_line":"* unit tests"},{"line_number":24,"context_line":"* documentation / release_notes?"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I0cf1caadeb40761ec79338510919f12baf2d8f56"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_6abb830f","line":24,"in_reply_to":"3f79a3b5_6f47317b","updated":"2018-12-05 11:12:56.000000000","message":"we will make sure client added are being used also on same patch. Otherwise it is easy to end up maintaining the stale and unused service clients. I have described the Tempest policy to add the service client above.","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"}],"releasenotes/notes/Placement-client-for-placement-based-minimum-bw-allocation-27ed0938118752b6.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add basic read-only Placement client to Tempest for the feature QoS"},{"line_number":5,"context_line":"    minimum bandwidth allocation in Placement API."},{"line_number":6,"context_line":"    The following API calls are available for tempest from now:"},{"line_number":7,"context_line":"    list_allocation_candidates and list_allocations, the minimum"},{"line_number":8,"context_line":"    microversion is 1.29"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_fe0191b5","line":5,"range":{"start_line":5,"start_character":36,"end_line":5,"end_character":49},"updated":"2018-12-18 16:40:02.000000000","message":"nit: the qos min bw allocation feature isn\u0027t really a feature in placement, it\u0027s a feature in nova/neutron which depends on placement.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add basic read-only Placement client to Tempest for the feature QoS"},{"line_number":5,"context_line":"    minimum bandwidth allocation in Placement API."},{"line_number":6,"context_line":"    The following API calls are available for tempest from now:"},{"line_number":7,"context_line":"    list_allocation_candidates and list_allocations, the minimum"},{"line_number":8,"context_line":"    microversion is 1.29"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"dfd5e7cf_995fade4","line":5,"range":{"start_line":5,"start_character":36,"end_line":5,"end_character":49},"in_reply_to":"3f79a3b5_fe0191b5","updated":"2019-01-07 16:00:49.000000000","message":"Done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add basic read-only Placement client to Tempest for the feature QoS"},{"line_number":5,"context_line":"    minimum bandwidth allocation in Placement API."},{"line_number":6,"context_line":"    The following API calls are available for tempest from now:"},{"line_number":7,"context_line":"    list_allocation_candidates and list_allocations, the minimum"},{"line_number":8,"context_line":"    microversion is 1.29"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_5e19a521","line":7,"range":{"start_line":7,"start_character":53,"end_line":7,"end_character":64},"updated":"2018-12-18 16:40:02.000000000","message":"Make this a new sentence.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add basic read-only Placement client to Tempest for the feature QoS"},{"line_number":5,"context_line":"    minimum bandwidth allocation in Placement API."},{"line_number":6,"context_line":"    The following API calls are available for tempest from now:"},{"line_number":7,"context_line":"    list_allocation_candidates and list_allocations, the minimum"},{"line_number":8,"context_line":"    microversion is 1.29"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_fe2af12b","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":51},"updated":"2018-12-18 16:40:02.000000000","message":"This should likely be a list, and the actual REST API variant:\n\n* GET /allocation_candidates\n* GET /allocations/{consumer_uuid}","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add basic read-only Placement client to Tempest for the feature QoS"},{"line_number":5,"context_line":"    minimum bandwidth allocation in Placement API."},{"line_number":6,"context_line":"    The following API calls are available for tempest from now:"},{"line_number":7,"context_line":"    list_allocation_candidates and list_allocations, the minimum"},{"line_number":8,"context_line":"    microversion is 1.29"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"dfd5e7cf_b964f1ba","line":7,"range":{"start_line":7,"start_character":53,"end_line":7,"end_character":64},"in_reply_to":"3f79a3b5_5e19a521","updated":"2019-01-07 16:00:49.000000000","message":"Done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Add basic read-only Placement client to Tempest for the feature QoS"},{"line_number":5,"context_line":"    minimum bandwidth allocation in Placement API."},{"line_number":6,"context_line":"    The following API calls are available for tempest from now:"},{"line_number":7,"context_line":"    list_allocation_candidates and list_allocations, the minimum"},{"line_number":8,"context_line":"    microversion is 1.29"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"dfd5e7cf_595945fc","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":51},"in_reply_to":"3f79a3b5_fe2af12b","updated":"2019-01-07 16:00:49.000000000","message":"Done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    minimum bandwidth allocation in Placement API."},{"line_number":6,"context_line":"    The following API calls are available for tempest from now:"},{"line_number":7,"context_line":"    list_allocation_candidates and list_allocations, the minimum"},{"line_number":8,"context_line":"    microversion is 1.29"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_3e0ce9dd","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":16},"updated":"2018-12-18 16:40:02.000000000","message":"required placement microversion is 1.29.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    minimum bandwidth allocation in Placement API."},{"line_number":6,"context_line":"    The following API calls are available for tempest from now:"},{"line_number":7,"context_line":"    list_allocation_candidates and list_allocations, the minimum"},{"line_number":8,"context_line":"    microversion is 1.29"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"dfd5e7cf_1973bd82","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":16},"in_reply_to":"3f79a3b5_3e0ce9dd","updated":"2019-01-07 16:00:49.000000000","message":"Done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cfb4b5011f8cefbbc0248355d05da0625b589d67","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    * GET /allocation_candidates"},{"line_number":9,"context_line":"    * GET /allocations/{consumer_uuid}"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"    The required placement microversion is 1.29."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"9fdfeff1_bfe92381","line":11,"range":{"start_line":11,"start_character":43,"end_line":11,"end_character":48},"updated":"2019-01-22 03:27:38.000000000","message":"as per api-ref these API are available before that also. I think we can skip this line in reno. \n\nAlong with that can you add the reno about the config options corresponding to set the placement endpoints info and min/max microversion.","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"411a79305df15fe59bcdda10d3ec28e0f40742a4","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    * GET /allocation_candidates"},{"line_number":9,"context_line":"    * GET /allocations/{consumer_uuid}"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"    The required placement microversion is 1.29."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"9fdfeff1_93a8b7db","line":11,"range":{"start_line":11,"start_character":43,"end_line":11,"end_character":48},"in_reply_to":"9fdfeff1_bfe92381","updated":"2019-01-23 15:25:08.000000000","message":"Done","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"06cdec9b1f9c29874fc33a31593fec7693ca61eb","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    * ``endpoint_type`` to use for communication with placement service."},{"line_number":14,"context_line":"    * ``catalog_type`` of the placement service."},{"line_number":15,"context_line":"    * ``region`` as the placement region name to use."},{"line_number":16,"context_line":"    * ``min_microversion`` and max_microversion as the range between"},{"line_number":17,"context_line":"      placement API requests are sent."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fdfeff1_aff53085","line":16,"range":{"start_line":16,"start_character":31,"end_line":16,"end_character":47},"updated":"2019-01-25 01:27:54.000000000","message":"nit: surround with ticks but super nitpicky, not worth respin","commit_id":"3a4821a1918a710493d56a344db8df40c440d167"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"5b1f16546aef578b1bdfdf83e563cd9c05127b1a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    * ``endpoint_type`` to use for communication with placement service."},{"line_number":14,"context_line":"    * ``catalog_type`` of the placement service."},{"line_number":15,"context_line":"    * ``region`` as the placement region name to use."},{"line_number":16,"context_line":"    * ``min_microversion`` and max_microversion as the range between"},{"line_number":17,"context_line":"      placement API requests are sent."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fdfeff1_beea3772","line":16,"range":{"start_line":16,"start_character":31,"end_line":16,"end_character":47},"in_reply_to":"9fdfeff1_aff53085","updated":"2019-01-25 13:10:14.000000000","message":"Done","commit_id":"3a4821a1918a710493d56a344db8df40c440d167"}],"tempest/config.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":"PlacementGroup \u003d ["},{"line_number":346,"context_line":"    cfg.StrOpt(\u0027endpoint_type\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_fe33d1c1","line":347,"range":{"start_line":347,"start_character":24,"end_line":347,"end_character":33},"updated":"2018-12-18 16:40:02.000000000","message":"Should probably be \"public\", see below.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"f5f94f57de1be6f5e41c46a787bd1e93333fc4a1","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":"PlacementGroup \u003d ["},{"line_number":346,"context_line":"    cfg.StrOpt(\u0027endpoint_type\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_1ed80dec","line":347,"range":{"start_line":347,"start_character":24,"end_line":347,"end_character":33},"in_reply_to":"3f79a3b5_fe33d1c1","updated":"2018-12-18 16:56:19.000000000","message":"Correct. This option should be \"interface\" and it should accept the options \"public\", \"internal\" and \"admin\".\n\n\u0027admin\u0027 is also discouraged, but it is a valid value.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":"PlacementGroup \u003d ["},{"line_number":346,"context_line":"    cfg.StrOpt(\u0027endpoint_type\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_d96c559e","line":347,"range":{"start_line":347,"start_character":24,"end_line":347,"end_character":33},"in_reply_to":"3f79a3b5_fe33d1c1","updated":"2019-01-07 16:00:49.000000000","message":"Done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    cfg.StrOpt(\u0027endpoint_type\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"},{"line_number":351,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"},{"line_number":352,"context_line":"               default\u003d\u0027placement\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_de2e155a","line":349,"range":{"start_line":349,"start_character":24,"end_line":349,"end_character":62},"updated":"2018-12-18 16:40:02.000000000","message":"I believe these are legacy keystone v2 endpoints and the SDK/keystone team doesn\u0027t really want us using them. I guess you\u0027re just copying the endpoint_type option from other services in here...","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"f5f94f57de1be6f5e41c46a787bd1e93333fc4a1","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    cfg.StrOpt(\u0027endpoint_type\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"},{"line_number":351,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"},{"line_number":352,"context_line":"               default\u003d\u0027placement\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_3ed5c9b5","line":349,"range":{"start_line":349,"start_character":24,"end_line":349,"end_character":62},"in_reply_to":"3f79a3b5_de2e155a","updated":"2018-12-18 16:56:19.000000000","message":"Agree.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    cfg.StrOpt(\u0027endpoint_type\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"},{"line_number":351,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"},{"line_number":352,"context_line":"               default\u003d\u0027placement\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_b90951de","line":349,"range":{"start_line":349,"start_character":24,"end_line":349,"end_character":62},"in_reply_to":"3f79a3b5_de2e155a","updated":"2019-01-07 16:00:49.000000000","message":"Done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"10287e7435566be9aa0eb6a8c1535d715d11d0bc","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    cfg.StrOpt(\u0027endpoint_type\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027publicURL\u0027,"},{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"},{"line_number":351,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"},{"line_number":352,"context_line":"               default\u003d\u0027placement\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_3e670952","line":349,"range":{"start_line":349,"start_character":24,"end_line":349,"end_character":62},"in_reply_to":"3f79a3b5_de2e155a","updated":"2018-12-18 16:53:04.000000000","message":"IIUC adminURL is a legacy keystone v2 thing, but supporting public vs. internal endpoints should continue to be supported by APIs.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"f5f94f57de1be6f5e41c46a787bd1e93333fc4a1","unresolved":false,"context_lines":[{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"},{"line_number":351,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"},{"line_number":352,"context_line":"               default\u003d\u0027placement\u0027,"},{"line_number":353,"context_line":"               help\u003d\"Catalog type of the Placement service.\"),"},{"line_number":354,"context_line":"    cfg.StrOpt(\u0027region\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_1ef1ed65","line":351,"range":{"start_line":351,"start_character":15,"end_line":351,"end_character":30},"updated":"2018-12-18 16:56:19.000000000","message":"The standard name for this option is \"service_type\".","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"},{"line_number":351,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"},{"line_number":352,"context_line":"               default\u003d\u0027placement\u0027,"},{"line_number":353,"context_line":"               help\u003d\"Catalog type of the Placement service.\"),"},{"line_number":354,"context_line":"    cfg.StrOpt(\u0027region\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_39e32108","line":351,"range":{"start_line":351,"start_character":15,"end_line":351,"end_character":30},"in_reply_to":"3f79a3b5_1ef1ed65","updated":"2019-01-07 16:00:49.000000000","message":"I tried with service_type but even pep8 failed with exception like:\noslo_config.cfg.NoSuchOptError: no such option catalog_type in group [placement]\n\nI checked and found only catalog_type examples in tempest, perhaps I am missing something","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cfb4b5011f8cefbbc0248355d05da0625b589d67","unresolved":false,"context_lines":[{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"},{"line_number":351,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"},{"line_number":352,"context_line":"               default\u003d\u0027placement\u0027,"},{"line_number":353,"context_line":"               help\u003d\"Catalog type of the Placement service.\"),"},{"line_number":354,"context_line":"    cfg.StrOpt(\u0027region\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_7f273b14","line":351,"range":{"start_line":351,"start_character":15,"end_line":351,"end_character":30},"in_reply_to":"9fdfeff1_2ad0a5f7","updated":"2019-01-22 03:27:38.000000000","message":"yeah, we should make those to service_type. we can do that for all service together.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"a997fce50e1391bd201cc5359cfb4523411631b4","unresolved":false,"context_lines":[{"line_number":348,"context_line":"               choices\u003d[\u0027public\u0027, \u0027admin\u0027, \u0027internal\u0027,"},{"line_number":349,"context_line":"                        \u0027publicURL\u0027, \u0027adminURL\u0027, \u0027internalURL\u0027],"},{"line_number":350,"context_line":"               help\u003d\"The endpoint type to use for the placement service.\"),"},{"line_number":351,"context_line":"    cfg.StrOpt(\u0027catalog_type\u0027,"},{"line_number":352,"context_line":"               default\u003d\u0027placement\u0027,"},{"line_number":353,"context_line":"               help\u003d\"Catalog type of the Placement service.\"),"},{"line_number":354,"context_line":"    cfg.StrOpt(\u0027region\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_2ad0a5f7","line":351,"range":{"start_line":351,"start_character":15,"end_line":351,"end_character":30},"in_reply_to":"dfd5e7cf_39e32108","updated":"2019-01-21 08:38:55.000000000","message":"We might consider renaming catalog_type to service_type everywhere in the future with proper detraction warnings, but for now keep catalog_type.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    cfg.StrOpt(\u0027region\u0027,"},{"line_number":355,"context_line":"               default\u003d\u0027RegionOne\u0027,"},{"line_number":356,"context_line":"               help\u003d\"The placement region name to use. If empty, the value \""},{"line_number":357,"context_line":"                    \"of identity.region is used instead. If no such region \""},{"line_number":358,"context_line":"                    \"is found in the service catalog, the first found one is \""},{"line_number":359,"context_line":"                    \"used.\"),"},{"line_number":360,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_9e4dfd39","line":357,"range":{"start_line":357,"start_character":24,"end_line":357,"end_character":33},"updated":"2018-12-18 16:40:02.000000000","message":"[identity]/region","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    cfg.StrOpt(\u0027region\u0027,"},{"line_number":355,"context_line":"               default\u003d\u0027RegionOne\u0027,"},{"line_number":356,"context_line":"               help\u003d\"The placement region name to use. If empty, the value \""},{"line_number":357,"context_line":"                    \"of identity.region is used instead. If no such region \""},{"line_number":358,"context_line":"                    \"is found in the service catalog, the first found one is \""},{"line_number":359,"context_line":"                    \"used.\"),"},{"line_number":360,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_d9ef75e7","line":357,"range":{"start_line":357,"start_character":24,"end_line":357,"end_character":33},"in_reply_to":"3f79a3b5_9e4dfd39","updated":"2019-01-07 16:00:49.000000000","message":"Done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":355,"context_line":"               default\u003d\u0027RegionOne\u0027,"},{"line_number":356,"context_line":"               help\u003d\"The placement region name to use. If empty, the value \""},{"line_number":357,"context_line":"                    \"of identity.region is used instead. If no such region \""},{"line_number":358,"context_line":"                    \"is found in the service catalog, the first found one is \""},{"line_number":359,"context_line":"                    \"used.\"),"},{"line_number":360,"context_line":"]"},{"line_number":361,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_be5239d8","line":358,"range":{"start_line":358,"start_character":64,"end_line":358,"end_character":73},"updated":"2018-12-18 16:40:02.000000000","message":"region found","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":355,"context_line":"               default\u003d\u0027RegionOne\u0027,"},{"line_number":356,"context_line":"               help\u003d\"The placement region name to use. If empty, the value \""},{"line_number":357,"context_line":"                    \"of identity.region is used instead. If no such region \""},{"line_number":358,"context_line":"                    \"is found in the service catalog, the first found one is \""},{"line_number":359,"context_line":"                    \"used.\"),"},{"line_number":360,"context_line":"]"},{"line_number":361,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_f9ecb9f4","line":358,"range":{"start_line":358,"start_character":64,"end_line":358,"end_character":73},"in_reply_to":"3f79a3b5_be5239d8","updated":"2019-01-07 16:00:49.000000000","message":"Done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cfb4b5011f8cefbbc0248355d05da0625b589d67","unresolved":false,"context_lines":[{"line_number":387,"context_line":"               help\u003d\"Lower version of the test target microversion range. \""},{"line_number":388,"context_line":"                    \"The format is \u0027X.Y\u0027, where \u0027X\u0027 and \u0027Y\u0027 are int values. \""},{"line_number":389,"context_line":"                    \"Valid values are string with format \u0027X.Y\u0027 or string \""},{"line_number":390,"context_line":"                    \"\u0027latest\u0027\"),"},{"line_number":391,"context_line":"]"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_9f521f67","line":390,"range":{"start_line":390,"start_character":28,"end_line":390,"end_character":32},"updated":"2019-01-22 03:27:38.000000000","message":"We use min_microversion and max_microversion config options to decide 1. whether test need to skip 2. which microversion should be used in API request for the specific test.\n\nThose will be used when you will implement the test using placement client with particular microverion. SO i will suggest to add mix_microversion config option also.","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"411a79305df15fe59bcdda10d3ec28e0f40742a4","unresolved":false,"context_lines":[{"line_number":387,"context_line":"               help\u003d\"Lower version of the test target microversion range. \""},{"line_number":388,"context_line":"                    \"The format is \u0027X.Y\u0027, where \u0027X\u0027 and \u0027Y\u0027 are int values. \""},{"line_number":389,"context_line":"                    \"Valid values are string with format \u0027X.Y\u0027 or string \""},{"line_number":390,"context_line":"                    \"\u0027latest\u0027\"),"},{"line_number":391,"context_line":"]"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_f391039b","line":390,"range":{"start_line":390,"start_character":28,"end_line":390,"end_character":32},"in_reply_to":"9fdfeff1_9f521f67","updated":"2019-01-23 15:25:08.000000000","message":"Done","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"}],"tempest/lib/api_schema/response/placement/v1_29/resource_providers.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3d9f40e8e45c09b2e3ad271dc3b9c57f96788e80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3f79a3b5_0a2a0f78","updated":"2018-12-05 11:12:56.000000000","message":"i do not think we need schema for placement API service clients. Placement service clients will be used to verify the present inventories instead of verifying the placement API.\n\nAdding placement schema will take time and not worth to add in Tempest.","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"}],"tempest/lib/services/compute/base_compute_client.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"777668090067382da03bb85ed234bdaac807521c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        schema \u003d None"},{"line_number":74,"context_line":"        if not version:"},{"line_number":75,"context_line":"            version \u003d api_version_request.APIVersionRequest("},{"line_number":76,"context_line":"                COMPUTE_MICROVERSION)"},{"line_number":77,"context_line":"        for items in schema_versions_info:"},{"line_number":78,"context_line":"            min_version \u003d api_version_request.APIVersionRequest(items[\u0027min\u0027])"},{"line_number":79,"context_line":"            max_version \u003d api_version_request.APIVersionRequest(items[\u0027max\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_2f361903","line":76,"updated":"2018-12-04 14:41:09.000000000","message":"Is this change related to the placement changes?","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3d9f40e8e45c09b2e3ad271dc3b9c57f96788e80","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        schema \u003d None"},{"line_number":74,"context_line":"        if not version:"},{"line_number":75,"context_line":"            version \u003d api_version_request.APIVersionRequest("},{"line_number":76,"context_line":"                COMPUTE_MICROVERSION)"},{"line_number":77,"context_line":"        for items in schema_versions_info:"},{"line_number":78,"context_line":"            min_version \u003d api_version_request.APIVersionRequest(items[\u0027min\u0027])"},{"line_number":79,"context_line":"            max_version \u003d api_version_request.APIVersionRequest(items[\u0027max\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_aa50bb09","line":76,"in_reply_to":"3f79a3b5_2f361903","updated":"2018-12-05 11:12:56.000000000","message":"yeah, it is unrelated seems.","commit_id":"656a9553a5d4f552d27f74771a649cc37d1d8b5d"}],"tempest/lib/services/placement/__init__.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_7e682188","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"updated":"2018-12-18 16:40:02.000000000","message":"I believe you can remove this.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_b9c07152","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"3f79a3b5_7e682188","updated":"2019-01-07 16:00:49.000000000","message":"Thanks, I changed to \"Copyright blah....\"","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"}],"tempest/lib/services/placement/base_placement_client.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_deca9579","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"updated":"2018-12-18 16:40:02.000000000","message":"drop","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_59b5c5ed","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"3f79a3b5_deca9579","updated":"2019-01-07 16:00:49.000000000","message":"Thanks, I changed to \"Copyright blah....\"","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from tempest.lib.services.compute import base_compute_client"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"PLACEMENT_MICROVERSION \u003d None"},{"line_number":19,"context_line":"PLACEMENT_MIN_MICROVERSION \u003d \u00271.29\u0027"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class BasePlacementClient(base_compute_client.BaseComputeClient):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_3ee149fb","line":19,"updated":"2018-12-18 16:40:02.000000000","message":"Don\u0027t the tests normally define the microversion they need rather than have it set globally? Should ask gmann about this.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from tempest.lib.services.compute import base_compute_client"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"PLACEMENT_MICROVERSION \u003d None"},{"line_number":19,"context_line":"PLACEMENT_MIN_MICROVERSION \u003d \u00271.29\u0027"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class BasePlacementClient(base_compute_client.BaseComputeClient):"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_54ffcc66","line":19,"in_reply_to":"3f79a3b5_3ee149fb","updated":"2019-01-07 16:00:49.000000000","message":"I added a config option under [placement] section: min_microversion","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                body\u003dNone, chunked\u003dFalse):"},{"line_number":36,"context_line":"        resp, resp_body \u003d super(BasePlacementClient, self).request("},{"line_number":37,"context_line":"            method, url, extra_headers, headers, body, chunked)"},{"line_number":38,"context_line":"        if (PLACEMENT_MICROVERSION and"},{"line_number":39,"context_line":"            PLACEMENT_MICROVERSION !\u003d api_version_utils.LATEST_MICROVERSION):"},{"line_number":40,"context_line":"            api_version_utils.assert_version_header_matches_request("},{"line_number":41,"context_line":"                self.api_microversion_header_name,"},{"line_number":42,"context_line":"                self.version_header_value % PLACEMENT_MICROVERSION,"},{"line_number":43,"context_line":"                resp)"},{"line_number":44,"context_line":"        return resp, resp_body"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_3ebaa9d9","line":43,"range":{"start_line":38,"start_character":8,"end_line":43,"end_character":21},"updated":"2018-12-18 16:40:02.000000000","message":"Please add a code comment for this logic. Why check the version *after* the request is made?","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                body\u003dNone, chunked\u003dFalse):"},{"line_number":36,"context_line":"        resp, resp_body \u003d super(BasePlacementClient, self).request("},{"line_number":37,"context_line":"            method, url, extra_headers, headers, body, chunked)"},{"line_number":38,"context_line":"        if (PLACEMENT_MICROVERSION and"},{"line_number":39,"context_line":"            PLACEMENT_MICROVERSION !\u003d api_version_utils.LATEST_MICROVERSION):"},{"line_number":40,"context_line":"            api_version_utils.assert_version_header_matches_request("},{"line_number":41,"context_line":"                self.api_microversion_header_name,"},{"line_number":42,"context_line":"                self.version_header_value % PLACEMENT_MICROVERSION,"},{"line_number":43,"context_line":"                resp)"},{"line_number":44,"context_line":"        return resp, resp_body"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_b47dd8e8","line":43,"range":{"start_line":38,"start_character":8,"end_line":43,"end_character":21},"in_reply_to":"3f79a3b5_3ebaa9d9","updated":"2019-01-07 16:00:49.000000000","message":"I copied this one from base_compute_client (see: https://github.com/openstack/tempest/blob/master/tempest/lib/services/compute/base_compute_client.py#L49)","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1916a21065b1c93934fdd7cbda69f5200832d85c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from tempest.lib.common import api_version_utils"},{"line_number":16,"context_line":"from tempest.lib.services.compute import base_compute_client"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"PLACEMENT_MICROVERSION \u003d None"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class BasePlacementClient(base_compute_client.BaseComputeClient):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_4024e5c6","line":18,"updated":"2019-01-21 15:46:02.000000000","message":"Is using a global for this kind of thing the norm in tempest? Seems fragile?","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cfb4b5011f8cefbbc0248355d05da0625b589d67","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from tempest.lib.common import api_version_utils"},{"line_number":16,"context_line":"from tempest.lib.services.compute import base_compute_client"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"PLACEMENT_MICROVERSION \u003d None"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class BasePlacementClient(base_compute_client.BaseComputeClient):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_bfaa8382","line":18,"in_reply_to":"9fdfeff1_4024e5c6","updated":"2019-01-22 03:27:38.000000000","message":"We use this to be set from fixture on test side. As this microversion on service client side is per test class, we made this global and set/reset using fixture only.","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cfb4b5011f8cefbbc0248355d05da0625b589d67","unresolved":false,"context_lines":[{"line_number":18,"context_line":"PLACEMENT_MICROVERSION \u003d None"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class BasePlacementClient(base_compute_client.BaseComputeClient):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    api_microversion_header_name \u003d \u0027OpenStack-API-Version\u0027"},{"line_number":24,"context_line":"    version_header_value \u003d \u0027placement %s\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_5f74b735","line":21,"range":{"start_line":21,"start_character":26,"end_line":21,"end_character":63},"updated":"2019-01-22 03:27:38.000000000","message":"this does not need to inherit from base compute client. You should use rest_client.RestClient as base class here.","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"411a79305df15fe59bcdda10d3ec28e0f40742a4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"PLACEMENT_MICROVERSION \u003d None"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class BasePlacementClient(base_compute_client.BaseComputeClient):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    api_microversion_header_name \u003d \u0027OpenStack-API-Version\u0027"},{"line_number":24,"context_line":"    version_header_value \u003d \u0027placement %s\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_13e28730","line":21,"range":{"start_line":21,"start_character":26,"end_line":21,"end_character":63},"in_reply_to":"9fdfeff1_5f74b735","updated":"2019-01-23 15:25:08.000000000","message":"Done","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"}],"tempest/lib/services/placement/placement_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"721beb9be0ab750f8332932482e29559214ee0c2","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class PlacementClient(base_placement_client.BasePlacementClient):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def __init__(self, auth_provider, service, region, **kwargs):"},{"line_number":25,"context_line":"        super(PlacementClient, self).__init__("},{"line_number":26,"context_line":"            auth_provider, service, region, **kwargs)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def list_allocation_candidates(self, **params):"},{"line_number":29,"context_line":"        \"\"\"List allocation candidates\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_03cc662f","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":53},"updated":"2018-12-16 02:40:32.000000000","message":"nit: this isn\u0027t needed as it\u0027s just passing up the same values it would by default","commit_id":"40b9bd07ec6c30c5f4336b8fb2fd49df8c17e96a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"51f3b58af38db4ac13ef0929b42dde10025cb9b9","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class PlacementClient(base_placement_client.BasePlacementClient):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def __init__(self, auth_provider, service, region, **kwargs):"},{"line_number":25,"context_line":"        super(PlacementClient, self).__init__("},{"line_number":26,"context_line":"            auth_provider, service, region, **kwargs)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def list_allocation_candidates(self, **params):"},{"line_number":29,"context_line":"        \"\"\"List allocation candidates\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"dfd5e7cf_19c5fd8e","line":26,"range":{"start_line":24,"start_character":0,"end_line":26,"end_character":53},"in_reply_to":"3f79a3b5_03cc662f","updated":"2019-01-07 15:05:35.000000000","message":"Sorry for late reply, due to pre Christmas chaos I forget to answer the comments, just uploaded the new version...\n\nDone","commit_id":"40b9bd07ec6c30c5f4336b8fb2fd49df8c17e96a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_de98557d","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"updated":"2018-12-18 16:40:02.000000000","message":"drop","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_1455c450","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"in_reply_to":"3f79a3b5_de98557d","updated":"2019-01-07 16:00:49.000000000","message":"Changed to \"Copyright....\"","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from tempest.lib.services.placement import base_placement_client"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class PlacementClient(base_placement_client.BasePlacementClient):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def list_allocation_candidates(self, **params):"},{"line_number":25,"context_line":"        \"\"\"List allocation candidates\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_7e890127","line":22,"updated":"2018-12-18 16:40:02.000000000","message":"Have there been any thoughts on adding API response schema for placement API calls?","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from tempest.lib.services.placement import base_placement_client"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class PlacementClient(base_placement_client.BasePlacementClient):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def list_allocation_candidates(self, **params):"},{"line_number":25,"context_line":"        \"\"\"List allocation candidates\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_549eec07","line":22,"in_reply_to":"3f79a3b5_7e890127","updated":"2019-01-07 16:00:49.000000000","message":"GMann said as comment for PS1 to avoid schema validation, as the goal is not API validation.","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cfb4b5011f8cefbbc0248355d05da0625b589d67","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":34,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":35,"context_line":"        body \u003d json.loads(body)"},{"line_number":36,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def list_allocations(self, consumer_uuid):"},{"line_number":39,"context_line":"        \"\"\"List all allocation records for the consumer."}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_9fc8df55","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":51},"updated":"2019-01-22 03:27:38.000000000","message":"before return the response code, let\u0027s check whether request has been successful or not by expected_success method. \n\nself.expected_success(200, resp.status)","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"411a79305df15fe59bcdda10d3ec28e0f40742a4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":34,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":35,"context_line":"        body \u003d json.loads(body)"},{"line_number":36,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def list_allocations(self, consumer_uuid):"},{"line_number":39,"context_line":"        \"\"\"List all allocation records for the consumer."}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_93cf57af","line":36,"range":{"start_line":36,"start_character":5,"end_line":36,"end_character":51},"in_reply_to":"9fdfeff1_9fc8df55","updated":"2019-01-23 15:25:08.000000000","message":"Done","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cfb4b5011f8cefbbc0248355d05da0625b589d67","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        \"\"\""},{"line_number":45,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer_uuid"},{"line_number":46,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":47,"context_line":"        body \u003d json.loads(body)"},{"line_number":48,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_3fc5333d","line":47,"range":{"start_line":47,"start_character":30,"end_line":47,"end_character":31},"updated":"2019-01-22 03:27:38.000000000","message":"ditto\nself.expected_success(200, resp.status)","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"411a79305df15fe59bcdda10d3ec28e0f40742a4","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        \"\"\""},{"line_number":45,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer_uuid"},{"line_number":46,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":47,"context_line":"        body \u003d json.loads(body)"},{"line_number":48,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_33c6ab9c","line":47,"range":{"start_line":47,"start_character":30,"end_line":47,"end_character":31},"in_reply_to":"9fdfeff1_3fc5333d","updated":"2019-01-23 15:25:08.000000000","message":"Done","commit_id":"65b90963ee44a0fe799bf1ea4efbeae6d9df318e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"06cdec9b1f9c29874fc33a31593fec7693ca61eb","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        For full list of available parameters, please refer to the official"},{"line_number":43,"context_line":"        API reference:"},{"line_number":44,"context_line":"        https://developer.openstack.org/api-ref/placement/#list-allocation-candidates"},{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer_uuid"},{"line_number":47,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_2f7dc0e6","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":85},"updated":"2019-01-25 01:27:54.000000000","message":"This is a copy/paste from above and should be corrected.","commit_id":"3a4821a1918a710493d56a344db8df40c440d167"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"5b1f16546aef578b1bdfdf83e563cd9c05127b1a","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        For full list of available parameters, please refer to the official"},{"line_number":43,"context_line":"        API reference:"},{"line_number":44,"context_line":"        https://developer.openstack.org/api-ref/placement/#list-allocation-candidates"},{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer_uuid"},{"line_number":47,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_7e04cf4a","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":85},"in_reply_to":"9fdfeff1_2f7dc0e6","updated":"2019-01-25 13:10:14.000000000","message":"Done","commit_id":"3a4821a1918a710493d56a344db8df40c440d167"}],"tempest/tests/lib/services/placement/test_placement_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"721beb9be0ab750f8332932482e29559214ee0c2","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.client \u003d placement_client.PlacementClient("},{"line_number":54,"context_line":"            fake_auth, \u0027placement\u0027, \u0027regionOne\u0027)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def test_list_allocation_candidates(self):"},{"line_number":57,"context_line":"        self.check_service_client_function("},{"line_number":58,"context_line":"            self.client.list_allocation_candidates,"},{"line_number":59,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_e3d04aca","line":56,"updated":"2018-12-16 02:40:32.000000000","message":"Should also add test varieties for bytes_body\u003dTrue for both tests. Example:\n\n    def _test_list_allocation_candidates(self, bytes_body\u003dFalse):\n            self.check_service_client_function(\n            self.client.list_allocation_candidates,\n            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,\n            self.FAKE_ALLOCATION_CANDIDATES,\n            to_utf\u003dbytes_body,\n            **{\u0027resources1\u0027: \u0027NET_BW_IGR_KILOBIT_PER_SEC:1\u0027}\n        )\n\n    def test_list_allocation_candidates_with_str_body(self):\n        self._test_list_allocation_candidates()\n\n    def test_list_allocation_candidates_with_bytes_body(self):\n        self._test_list_allocation_candidates(\nbytes_body\u003dTrue)","commit_id":"40b9bd07ec6c30c5f4336b8fb2fd49df8c17e96a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"51f3b58af38db4ac13ef0929b42dde10025cb9b9","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.client \u003d placement_client.PlacementClient("},{"line_number":54,"context_line":"            fake_auth, \u0027placement\u0027, \u0027regionOne\u0027)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def test_list_allocation_candidates(self):"},{"line_number":57,"context_line":"        self.check_service_client_function("},{"line_number":58,"context_line":"            self.client.list_allocation_candidates,"},{"line_number":59,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfd5e7cf_194add26","line":56,"in_reply_to":"3f79a3b5_e3d04aca","updated":"2019-01-07 15:05:35.000000000","message":"Done","commit_id":"40b9bd07ec6c30c5f4336b8fb2fd49df8c17e96a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"721beb9be0ab750f8332932482e29559214ee0c2","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        self.check_service_client_function("},{"line_number":66,"context_line":"            self.client.list_allocations,"},{"line_number":67,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":68,"context_line":"            self.FAKE_ALLOCATION_CANDIDATES,"},{"line_number":69,"context_line":"            **{\u0027consumer_uuid\u0027: \u0027foo-bar\u0027}"},{"line_number":70,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_43ca5e18","line":68,"range":{"start_line":68,"start_character":17,"end_line":68,"end_character":43},"updated":"2018-12-16 02:40:32.000000000","message":"Should be FAKE_ALLOCATIONS","commit_id":"40b9bd07ec6c30c5f4336b8fb2fd49df8c17e96a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"51f3b58af38db4ac13ef0929b42dde10025cb9b9","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        self.check_service_client_function("},{"line_number":66,"context_line":"            self.client.list_allocations,"},{"line_number":67,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":68,"context_line":"            self.FAKE_ALLOCATION_CANDIDATES,"},{"line_number":69,"context_line":"            **{\u0027consumer_uuid\u0027: \u0027foo-bar\u0027}"},{"line_number":70,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfd5e7cf_9936cdb4","line":68,"range":{"start_line":68,"start_character":17,"end_line":68,"end_character":43},"in_reply_to":"3f79a3b5_43ca5e18","updated":"2019-01-07 15:05:35.000000000","message":"Done","commit_id":"40b9bd07ec6c30c5f4336b8fb2fd49df8c17e96a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_1e924d57","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"updated":"2018-12-18 16:40:02.000000000","message":"drop","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"456737a8ef0d5883468c7c70161ca350f9db3e65","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        }"},{"line_number":37,"context_line":"    }"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    FAKE_ALLOCATIONS \u003d {"},{"line_number":40,"context_line":"        \u0027allocations\u0027: {"},{"line_number":41,"context_line":"            \u0027rp-uuid-1\u0027: {\u0027resources\u0027: {"},{"line_number":42,"context_line":"                \u0027NET_BW_IGR_KILOBIT_PER_SEC\u0027: 1}"},{"line_number":43,"context_line":"            }, \u0027generation\u0027: 14},"},{"line_number":44,"context_line":"        \u0027rp-uuid2\u0027: {\u0027resources\u0027: {"},{"line_number":45,"context_line":"            \u0027MEMORY_MB\u0027: 256,"},{"line_number":46,"context_line":"            \u0027VCPU\u0027: 1"},{"line_number":47,"context_line":"        }, \u0027generation\u0027: 9}"},{"line_number":48,"context_line":"    }"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def setUp(self):"},{"line_number":51,"context_line":"        super(TestPlacementClient, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_be91d946","line":48,"range":{"start_line":39,"start_character":23,"end_line":48,"end_character":5},"updated":"2018-12-18 16:40:02.000000000","message":"The formatting on this is weird, please align it properly. I also think your nesting is incorrect, see:\n\nhttps://developer.openstack.org/api-ref/placement/?expanded\u003dlist-allocations-detail#response-example-1-28","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"72596a3756c0d59530ef31fe47dcac4dbb54e523","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        }"},{"line_number":37,"context_line":"    }"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    FAKE_ALLOCATIONS \u003d {"},{"line_number":40,"context_line":"        \u0027allocations\u0027: {"},{"line_number":41,"context_line":"            \u0027rp-uuid-1\u0027: {\u0027resources\u0027: {"},{"line_number":42,"context_line":"                \u0027NET_BW_IGR_KILOBIT_PER_SEC\u0027: 1}"},{"line_number":43,"context_line":"            }, \u0027generation\u0027: 14},"},{"line_number":44,"context_line":"        \u0027rp-uuid2\u0027: {\u0027resources\u0027: {"},{"line_number":45,"context_line":"            \u0027MEMORY_MB\u0027: 256,"},{"line_number":46,"context_line":"            \u0027VCPU\u0027: 1"},{"line_number":47,"context_line":"        }, \u0027generation\u0027: 9}"},{"line_number":48,"context_line":"    }"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def setUp(self):"},{"line_number":51,"context_line":"        super(TestPlacementClient, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfd5e7cf_74a3f050","line":48,"range":{"start_line":39,"start_character":23,"end_line":48,"end_character":5},"in_reply_to":"3f79a3b5_be91d946","updated":"2019-01-07 16:00:49.000000000","message":"thanks, done","commit_id":"6a117bcb9fc3775647cdd817b7b9b990705e8555"}]}
