)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"a615e11f037177c7199cf5bcc33db19e195a4feb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0ca5e3b6_9f487ba2","updated":"2022-11-11 10:44:41.000000000","message":"recheck","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"c785062a0ebeb7a2e7a277db8997523018f89e6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2ce6eae2_12a33b5e","updated":"2022-11-15 10:07:37.000000000","message":"recheck","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"}],"deployment/nova/nova-api-container-puppet.yaml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ad6184115d3688fa3367b13cb9a0fef065b839eb","unresolved":true,"context_lines":[{"line_number":240,"context_line":"      and enforce them against API users."},{"line_number":241,"context_line":"    type: boolean"},{"line_number":242,"context_line":"    default: false"},{"line_number":243,"context_line":"  NovaKeystoneEndpointId:"},{"line_number":244,"context_line":"    description: \u003e"},{"line_number":245,"context_line":"      This provides nova service\u0027s endpoint id which is registered in Keystone."},{"line_number":246,"context_line":"      User needs to find the correct one, once overcloud is deployed without"},{"line_number":247,"context_line":"      unified limit and then pass it to this parameter and enable nova unified"},{"line_number":248,"context_line":"      quotas."},{"line_number":249,"context_line":"    type: string"},{"line_number":250,"context_line":"    default: \u0027\u0027"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"31d0b9f2_29902fc4","line":248,"range":{"start_line":243,"start_character":2,"end_line":248,"end_character":13},"updated":"2022-11-14 12:29:26.000000000","message":"i dont know why this is required it would be good to provide an explanation.\nwe should not need a two step process like this","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"ac565e5f25d06f0477e21c172591d05404ffc1d3","unresolved":true,"context_lines":[{"line_number":240,"context_line":"      and enforce them against API users."},{"line_number":241,"context_line":"    type: boolean"},{"line_number":242,"context_line":"    default: false"},{"line_number":243,"context_line":"  NovaKeystoneEndpointId:"},{"line_number":244,"context_line":"    description: \u003e"},{"line_number":245,"context_line":"      This provides nova service\u0027s endpoint id which is registered in Keystone."},{"line_number":246,"context_line":"      User needs to find the correct one, once overcloud is deployed without"},{"line_number":247,"context_line":"      unified limit and then pass it to this parameter and enable nova unified"},{"line_number":248,"context_line":"      quotas."},{"line_number":249,"context_line":"    type: string"},{"line_number":250,"context_line":"    default: \u0027\u0027"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"f08dcbcd_e45402fb","line":248,"range":{"start_line":243,"start_character":2,"end_line":248,"end_character":13},"in_reply_to":"31d0b9f2_29902fc4","updated":"2022-11-15 12:46:57.000000000","message":"good point. Rajesh, could you please elaborate?","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"6da7dba2877418171a2f14411fecb0c4dac1a27b","unresolved":true,"context_lines":[{"line_number":240,"context_line":"      and enforce them against API users."},{"line_number":241,"context_line":"    type: boolean"},{"line_number":242,"context_line":"    default: false"},{"line_number":243,"context_line":"  NovaKeystoneEndpointId:"},{"line_number":244,"context_line":"    description: \u003e"},{"line_number":245,"context_line":"      This provides nova service\u0027s endpoint id which is registered in Keystone."},{"line_number":246,"context_line":"      User needs to find the correct one, once overcloud is deployed without"},{"line_number":247,"context_line":"      unified limit and then pass it to this parameter and enable nova unified"},{"line_number":248,"context_line":"      quotas."},{"line_number":249,"context_line":"    type: string"},{"line_number":250,"context_line":"    default: \u0027\u0027"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"de257dba_d4b692bc","line":248,"range":{"start_line":243,"start_character":2,"end_line":248,"end_character":13},"in_reply_to":"c594b5a8_bd7afa9c","updated":"2022-11-16 15:53:34.000000000","message":"We cannot get endpoint IDs from EndpointMap data. In tripleo-ansible, keystone entities are managed like that:\n\nTASK [tripleo_keystone_resources : Create identity admin endpoint] *************\ntask path: /home/zuul/src/opendev.org/openstack/tripleo-ansible/tripleo_ansible/roles/tripleo_keystone_resources/tasks/admin.yml:103\nok: [instance] \u003d\u003e changed\u003dfalse \n  endpoint:\n    enabled: true\n    id: 66f9bed2510b45d0907b459fc8c8efdf\n    interface: admin\n    links:\n      self: http://localhost:5000/v3/endpoints/66f9bed2510b45d0907b459fc8c8efdf\n    region: RegionOne\n    region_id: RegionOne\n    service_id: bf6f16e8f10c4678a41c00cbdccc17eb\n    url: http://localhost:35357\n    \n ^^ and there are async result files created by ansible which also contain IDs and other info like that example above:\n \n   tripleo_keystone_resources_project_async_result_item:\n    ansible_job_id: \u0027395252619835.39896\u0027\n    ansible_loop_var: tripleo_keystone_resources_project\n    changed: true\n    failed: false\n    finished: 0\n    results_file: /root/.ansible_async/395252619835.39896\n    started: 1\n    tripleo_keystone_resources_project: admin\n\nI\u0027m sure how can we use all that to not ask users to provide the endpoint ID.\nMaybe we could copy the puppet generated config and amend it with ansible config template at later steps, using the data stored in async results files?","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"b58ccaf11c3104baf47178f5b2433c88eb3027d2","unresolved":true,"context_lines":[{"line_number":240,"context_line":"      and enforce them against API users."},{"line_number":241,"context_line":"    type: boolean"},{"line_number":242,"context_line":"    default: false"},{"line_number":243,"context_line":"  NovaKeystoneEndpointId:"},{"line_number":244,"context_line":"    description: \u003e"},{"line_number":245,"context_line":"      This provides nova service\u0027s endpoint id which is registered in Keystone."},{"line_number":246,"context_line":"      User needs to find the correct one, once overcloud is deployed without"},{"line_number":247,"context_line":"      unified limit and then pass it to this parameter and enable nova unified"},{"line_number":248,"context_line":"      quotas."},{"line_number":249,"context_line":"    type: string"},{"line_number":250,"context_line":"    default: \u0027\u0027"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"c594b5a8_bd7afa9c","line":248,"range":{"start_line":243,"start_character":2,"end_line":248,"end_character":13},"in_reply_to":"f08dcbcd_e45402fb","updated":"2022-11-16 02:29:15.000000000","message":"The endpoint_id is unfortunately required (please see my other comment) but AFAICT we could use the already existing global EndpointMap to get the nova endpoint_id instead of adding a new parameter. Bogdan can correct me on whatever I said wrong. 😊","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":34598,"name":"Manojkatari","email":"mkatari@redhat.com","username":"mkatari"},"change_message_id":"84e69d910bf484d6ad226bddcceff789f90dc7e3","unresolved":true,"context_lines":[{"line_number":455,"context_line":"            - tripleo::profile::base::nova::api::nova_enable_unified_quotas: true"},{"line_number":456,"context_line":"              tripleo::profile::base::nova::api::endpoint_id: {get_param: NovaKeystoneEndpointId}"},{"line_number":457,"context_line":"              nova::limit::password: {get_param: NovaPassword}"},{"line_number":458,"context_line":"              nova::api::use_keystone_limits: true"},{"line_number":459,"context_line":"      service_config_settings:"},{"line_number":460,"context_line":"        rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}"},{"line_number":461,"context_line":"        mysql:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"2e5e8a78_b6bdd93a","line":458,"range":{"start_line":458,"start_character":25,"end_line":458,"end_character":44},"updated":"2022-11-11 11:44:39.000000000","message":"in nova::api class [1], there is no parameter \u0027use_keystone_limits\u0027\n\nI think you need to add a parameter similar to \u0027glance::api::use_keystone_limits\u0027\n\n[1] https://opendev.org/openstack/puppet-nova/src/branch/master/manifests/api.pp#L179","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ad6184115d3688fa3367b13cb9a0fef065b839eb","unresolved":true,"context_lines":[{"line_number":455,"context_line":"            - tripleo::profile::base::nova::api::nova_enable_unified_quotas: true"},{"line_number":456,"context_line":"              tripleo::profile::base::nova::api::endpoint_id: {get_param: NovaKeystoneEndpointId}"},{"line_number":457,"context_line":"              nova::limit::password: {get_param: NovaPassword}"},{"line_number":458,"context_line":"              nova::api::use_keystone_limits: true"},{"line_number":459,"context_line":"      service_config_settings:"},{"line_number":460,"context_line":"        rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}"},{"line_number":461,"context_line":"        mysql:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3d46245f_f36772b2","line":458,"range":{"start_line":458,"start_character":25,"end_line":458,"end_character":44},"in_reply_to":"27159868_7f62d5b5","updated":"2022-11-14 12:29:26.000000000","message":"this does not exist\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/yoga/implemented/unified-limits-nova.html#enforcing-unified-limits descibes how you enable unified limits in nova\n\nyou set [quota]driver\u003dnova.quota.UnifiedLimitsDriver and [quota]count_usage_from_placement\u003dtrue","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"3b0e75c7d155badf1b957ef1a9f57279d085423c","unresolved":true,"context_lines":[{"line_number":455,"context_line":"            - tripleo::profile::base::nova::api::nova_enable_unified_quotas: true"},{"line_number":456,"context_line":"              tripleo::profile::base::nova::api::endpoint_id: {get_param: NovaKeystoneEndpointId}"},{"line_number":457,"context_line":"              nova::limit::password: {get_param: NovaPassword}"},{"line_number":458,"context_line":"              nova::api::use_keystone_limits: true"},{"line_number":459,"context_line":"      service_config_settings:"},{"line_number":460,"context_line":"        rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}"},{"line_number":461,"context_line":"        mysql:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"91a2ba56_4a9be0de","line":458,"range":{"start_line":458,"start_character":25,"end_line":458,"end_character":44},"in_reply_to":"2e5e8a78_b6bdd93a","updated":"2022-11-11 12:55:53.000000000","message":"it comes from https://review.opendev.org/c/openstack/puppet-tripleo/+/864196, is it?","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"ac565e5f25d06f0477e21c172591d05404ffc1d3","unresolved":false,"context_lines":[{"line_number":455,"context_line":"            - tripleo::profile::base::nova::api::nova_enable_unified_quotas: true"},{"line_number":456,"context_line":"              tripleo::profile::base::nova::api::endpoint_id: {get_param: NovaKeystoneEndpointId}"},{"line_number":457,"context_line":"              nova::limit::password: {get_param: NovaPassword}"},{"line_number":458,"context_line":"              nova::api::use_keystone_limits: true"},{"line_number":459,"context_line":"      service_config_settings:"},{"line_number":460,"context_line":"        rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}"},{"line_number":461,"context_line":"        mysql:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"6b3c3f9f_768c2349","line":458,"range":{"start_line":458,"start_character":25,"end_line":458,"end_character":44},"in_reply_to":"3d46245f_f36772b2","updated":"2022-11-15 12:46:57.000000000","message":"Done","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":34598,"name":"Manojkatari","email":"mkatari@redhat.com","username":"mkatari"},"change_message_id":"4e50d952b95a1f826e503eabfdb654337d08a678","unresolved":true,"context_lines":[{"line_number":455,"context_line":"            - tripleo::profile::base::nova::api::nova_enable_unified_quotas: true"},{"line_number":456,"context_line":"              tripleo::profile::base::nova::api::endpoint_id: {get_param: NovaKeystoneEndpointId}"},{"line_number":457,"context_line":"              nova::limit::password: {get_param: NovaPassword}"},{"line_number":458,"context_line":"              nova::api::use_keystone_limits: true"},{"line_number":459,"context_line":"      service_config_settings:"},{"line_number":460,"context_line":"        rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}"},{"line_number":461,"context_line":"        mysql:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"d2d30944_4ee57640","line":458,"range":{"start_line":458,"start_character":25,"end_line":458,"end_character":44},"in_reply_to":"91a2ba56_4a9be0de","updated":"2022-11-11 14:57:51.000000000","message":"I think it should be added in puppet-nova similar to \nhttps://review.opendev.org/c/openstack/puppet-glance/+/812483/5/manifests/api.pp#348","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"d645cf0149602699f3e0afc128a4385d2d0d7a2a","unresolved":true,"context_lines":[{"line_number":455,"context_line":"            - tripleo::profile::base::nova::api::nova_enable_unified_quotas: true"},{"line_number":456,"context_line":"              tripleo::profile::base::nova::api::endpoint_id: {get_param: NovaKeystoneEndpointId}"},{"line_number":457,"context_line":"              nova::limit::password: {get_param: NovaPassword}"},{"line_number":458,"context_line":"              nova::api::use_keystone_limits: true"},{"line_number":459,"context_line":"      service_config_settings:"},{"line_number":460,"context_line":"        rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}"},{"line_number":461,"context_line":"        mysql:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"27159868_7f62d5b5","line":458,"range":{"start_line":458,"start_character":25,"end_line":458,"end_character":44},"in_reply_to":"d2d30944_4ee57640","updated":"2022-11-14 12:15:02.000000000","message":"This parameter is not there in nova sample conf [1] as well.\nI think, I should use unified_limits_count_pcpu_as_vcpu parameter here.\n\n[1] https://docs.openstack.org/nova/latest/configuration/sample-config.html","commit_id":"8c066810efea70d53722d7b6c46fba16f19a948b"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"b58ccaf11c3104baf47178f5b2433c88eb3027d2","unresolved":true,"context_lines":[{"line_number":454,"context_line":"            - {get_param: NovaEnableUnifiedQuotas}"},{"line_number":455,"context_line":"            - tripleo::profile::base::nova::api::nova_enable_unified_quotas: true"},{"line_number":456,"context_line":"              tripleo::profile::base::nova::api::endpoint_id: {get_param: NovaKeystoneEndpointId}"},{"line_number":457,"context_line":"              nova::limit::password: {get_param: NovaPassword}"},{"line_number":458,"context_line":"              nova::quota::driver: \u0027nova.quota.UnifiedLimitsDriver\u0027"},{"line_number":459,"context_line":"              nova::quota::count_usage_from_placement: true"},{"line_number":460,"context_line":"      service_config_settings:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"f5fea988_9eaad6c7","line":457,"range":{"start_line":457,"start_character":14,"end_line":457,"end_character":62},"updated":"2022-11-16 02:29:15.000000000","message":"This is one of the things we need to configure under [oslo_limit] in nova.conf but there are several more which are similar to the other sections in nova.conf for other services like keystone, cinder, neutron, placement. Here is an example from the gate [1]:\n\n [oslo_limit]\n endpoint_id \u003d 6354a4888cca44fa930157a17922ffdd\n system_scope \u003d all\n auth_url \u003d https://198.72.124.34/identity\n auth_type \u003d password\n username \u003d nova\n password \u003d secretservice\n user_domain_name \u003d Default\n\nAside from that, we also need the nova service user to have a keystone role that enables it to read the /limits and /registered_limits APIs. I\u0027m not familiar enough with tripleo to know where/how it manages keystone roles.\n\n[1] https://zuul.openstack.org/build/da4b3b8d154a4d68b147f8b4d6c89a61/log/controller/logs/etc/nova/nova_conf.txt#141-148","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"b58ccaf11c3104baf47178f5b2433c88eb3027d2","unresolved":true,"context_lines":[{"line_number":455,"context_line":"            - tripleo::profile::base::nova::api::nova_enable_unified_quotas: true"},{"line_number":456,"context_line":"              tripleo::profile::base::nova::api::endpoint_id: {get_param: NovaKeystoneEndpointId}"},{"line_number":457,"context_line":"              nova::limit::password: {get_param: NovaPassword}"},{"line_number":458,"context_line":"              nova::quota::driver: \u0027nova.quota.UnifiedLimitsDriver\u0027"},{"line_number":459,"context_line":"              nova::quota::count_usage_from_placement: true"},{"line_number":460,"context_line":"      service_config_settings:"},{"line_number":461,"context_line":"        rabbitmq: {get_attr: [NovaBase, role_data, service_config_settings], rabbitmq}"},{"line_number":462,"context_line":"        mysql:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"a6c6c2ab_5ebf0c07","line":459,"range":{"start_line":458,"start_character":14,"end_line":459,"end_character":59},"updated":"2022-11-16 02:29:15.000000000","message":"++ this is correct, these are needed for nova to use unified limits","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"}],"releasenotes/notes/enable_unified_quotas-98d565b1d4f54fb3.yaml":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"9761d5a61d560f3bd000cfba71c8947395805e25","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Added ``NovaEnableUnifiedQuotas`` parameter, which allows Nova to"},{"line_number":5,"context_line":"    retrieve limits set in Keystone for resource consumption and enforce"},{"line_number":6,"context_line":"    those against API users."},{"line_number":7,"context_line":"    Also added ``NovaKeystoneEndpointId`` to set ``oslo_limit/endpoint_id``,"},{"line_number":8,"context_line":"    the nova service\u0027s endpoint id which is registered in Keystone."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1b21fcad_f046e567","line":7,"updated":"2022-11-15 12:54:34.000000000","message":"ideally, this should be detected from the outputs as the endpoint gets created by ansible?","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"62469a3cdd332f80b449bd59c1f29087b0dd557e","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Added ``NovaEnableUnifiedQuotas`` parameter, which allows Nova to"},{"line_number":5,"context_line":"    retrieve limits set in Keystone for resource consumption and enforce"},{"line_number":6,"context_line":"    those against API users."},{"line_number":7,"context_line":"    Also added ``NovaKeystoneEndpointId`` to set ``oslo_limit/endpoint_id``,"},{"line_number":8,"context_line":"    the nova service\u0027s endpoint id which is registered in Keystone."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"b413281d_04c5f43a","line":7,"in_reply_to":"0d07e01c_dc9719cf","updated":"2022-11-15 13:04:13.000000000","message":"...or maybe we can just query it with a shell ?","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"51c38b9ad18ddab45dc6682bf2d52ea9992b4bf3","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Added ``NovaEnableUnifiedQuotas`` parameter, which allows Nova to"},{"line_number":5,"context_line":"    retrieve limits set in Keystone for resource consumption and enforce"},{"line_number":6,"context_line":"    those against API users."},{"line_number":7,"context_line":"    Also added ``NovaKeystoneEndpointId`` to set ``oslo_limit/endpoint_id``,"},{"line_number":8,"context_line":"    the nova service\u0027s endpoint id which is registered in Keystone."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"0d07e01c_dc9719cf","line":7,"in_reply_to":"1b21fcad_f046e567","updated":"2022-11-15 13:00:58.000000000","message":"so, service endpoints got created by that task, in an async loop, https://github.com/openstack/tripleo-ansible/blob/6b9d93d5de78db5d829a8fa72a25c9b0d6800559/tripleo_ansible/roles/tripleo_keystone_resources/tasks/endpoints.yml#L18\n\nwhich uses https://docs.ansible.com/ansible/latest/collections/openstack/cloud/endpoint_module.html\n\nI wonder if we can have some facts set for that module results to refer that keystone endpoint ID by that ansible fact name to somehowe wire it in for the corresponding hiera data ? DF folks, WDYT?","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6581a0ab73ad163e02477d8e162955ba1878b044","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Added ``NovaEnableUnifiedQuotas`` parameter, which allows Nova to"},{"line_number":5,"context_line":"    retrieve limits set in Keystone for resource consumption and enforce"},{"line_number":6,"context_line":"    those against API users."},{"line_number":7,"context_line":"    Also added ``NovaKeystoneEndpointId`` to set ``oslo_limit/endpoint_id``,"},{"line_number":8,"context_line":"    the nova service\u0027s endpoint id which is registered in Keystone."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"e46e60d8_d032086b","line":7,"in_reply_to":"906003cd_c4a83cbc","updated":"2022-11-15 16:05:40.000000000","message":"Just echoing what I told Bogdan in our internal chat (and a few more additional points).\n\nCurrent oslo.limits requires endpoint id which is not predictable. I believe you are reffering to devstack thing but we do have a logic to look up endpoint here.\n\nhttps://github.com/openstack/devstack/blob/master/lib/nova#L805-L806\n\nThere is no mechanism in puppet to look up the endpoint id atm.\nWe probably can implement some ansible tasks to inject additional hieradata but the next problem is that config files are generated (at step 1) before endpoints are created (at step 3 or 4 IIRC) and changing these steps require some rework in the tasks to generate config files.\n\nThere is a pending proposal in oslo.limit which allows us to use predictable values such as service_name. We probably want to move it forward instead of implementing more tricky lookup in deployment tools.\nhttps://review.opendev.org/c/openstack/oslo.limit/+/733881","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"552f889f7353f104886f1f94869334876251028c","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Added ``NovaEnableUnifiedQuotas`` parameter, which allows Nova to"},{"line_number":5,"context_line":"    retrieve limits set in Keystone for resource consumption and enforce"},{"line_number":6,"context_line":"    those against API users."},{"line_number":7,"context_line":"    Also added ``NovaKeystoneEndpointId`` to set ``oslo_limit/endpoint_id``,"},{"line_number":8,"context_line":"    the nova service\u0027s endpoint id which is registered in Keystone."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"906003cd_c4a83cbc","line":7,"in_reply_to":"b413281d_04c5f43a","updated":"2022-11-15 15:22:07.000000000","message":"so i think nova will just look this up and you dont need to popultate it\n\nmelaine would knwo better i have not actully deploy with unified limits enabeld but i dont think we need to set this in the config.\n\nprovided we have credentals in the keystone auth section so we can look up the endpoint in the catalong i belive we will do that if you dont populate this.","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"b58ccaf11c3104baf47178f5b2433c88eb3027d2","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Added ``NovaEnableUnifiedQuotas`` parameter, which allows Nova to"},{"line_number":5,"context_line":"    retrieve limits set in Keystone for resource consumption and enforce"},{"line_number":6,"context_line":"    those against API users."},{"line_number":7,"context_line":"    Also added ``NovaKeystoneEndpointId`` to set ``oslo_limit/endpoint_id``,"},{"line_number":8,"context_line":"    the nova service\u0027s endpoint id which is registered in Keystone."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"11597691_44019df2","line":7,"in_reply_to":"e46e60d8_d032086b","updated":"2022-11-16 02:29:15.000000000","message":"Ultimately what the keystone unified limits API needs for limit calls are service_id and optionally region_id [1][2] ... but the current implementation of oslo.limit accepts only the endpoint_id [3] to derive the info. Because of this, we have to configure [oslo_limit]endpoint_id [4] in nova.conf.\n\n[1] https://docs.openstack.org/api-ref/identity/v3/index.html?expanded\u003dcreate-registered-limits-detail#create-registered-limits\n[2] https://docs.openstack.org/api-ref/identity/v3/index.html?expanded\u003dcreate-limits-detail#create-limits\n[3] https://github.com/openstack/oslo.limit/blob/6451b4f61e16485ef8243754e7cc493455332f58/oslo_limit/limit.py#L266\n[4] https://docs.openstack.org/oslo.limit/latest/reference/opts.html#oslo_limit.endpoint_id","commit_id":"cafd4e16a8fa63ee10b86506774ac6b22ef45f0b"}]}
