Alex, thank you for looking into this bug. Please see attached nova.conf from the nova-ironic unit. Interestingly, for other sections, e.g. [neutron], keystone-internal endpoint is rendered without specifying the API version at all:
Relation between nova-cloud-controller and regular nova-compute units (not nova-ironic unit) also contain `api_version: "2.0"` but this information is never rendered in nova.conf, as the `auth_ver` is only taken into accound in `parts/section-ironic`.
Alex, thank you for looking into this bug. Please see attached nova.conf from the nova-ironic unit. Interestingly, for other sections, e.g. [neutron], keystone-internal endpoint is rendered without specifying the API version at all:
``` /keystone- internal. engineering- cloud.example. com:35357
[neutron]
auth_url = https:/
```
It looks like auth_ver is only rendered in [ironic] section:
``` 4bb50e- 1-lxd-6: /var/lib/ juju/agents/ unit-nova- ironic- 0/charm/ templates# grep -RP auth_url conf:admin_ auth_url = {{ network_ manager_ config. auth_protocol }}://{{ network_ manager_ config. keystone_ host }}:{{ network_ manager_ config. auth_port }}/v2.0 conf:auth_ url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} ironic: auth_url = {{auth_ protocol} }://{{auth_ host}}: {{auth_ port}}/ {{auth_ ver}} placement: auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} conf:auth_ url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} conf:auth_ url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} conf:auth_ url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} nova.conf: auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} nova.conf: auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} nova.conf: auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} conf:auth_ url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
root@juju-
kilo/nova.
rocky/nova.
parts/section-
parts/section-
train/nova.
ocata/nova.
stein/nova.
newton/
queens/
mitaka/
pike/nova.
```
Relation data between nova-cloud- controller and nova-ironic does indeed specify `api_version: "2.0"`:
``` controller/ 0 'relation-ids cloud-compute'
$ juju run --unit nova-cloud-
cloud-compute:350
cloud-compute:351
$ juju run --unit nova-cloud- controller/ 0 'relation-list -r cloud-compute:350'
nova-compute/0
nova-compute/1
nova-compute/2
nova-compute/3
nova-compute/4
nova-compute/5
nova-compute/6
nova-compute/7
nova-compute/8
$ juju run --unit nova-cloud- controller/ 0 'relation-list -r cloud-compute:351'
nova-ironic/0
$ juju run --unit nova-cloud- controller/ 0 'relation-get -r cloud-compute:351 - nova-cloud- controller/ 0' to_same_ host: "False" internal. engineering- cloud.example. com access_ protocol: spice proxy_spice_ address: https:/ /nova.engineeri ng-cloud. example. com:6082/ spice_auto. html proxy_spice_ host: nova.engineerin g-cloud. example. com proxy_spice_ port: "6082" ratio: "16" _ratio: "1" cloud.de. example. lan. serial_ console: "false" internal. engineering- cloud.example. com internal. engineering- cloud.example. com security_ groups: "yes" /neutron- internal. engineering- cloud.example. com:9696 ratio: "1" 9bf0-4c3f- afe8-871bdfd918 f0 console_ base_url: ws://nova. engineering- cloud.example. com:6083/ tenant_ name: services enabled: "True"
admin_domain_name: service_domain
allow_resize_
api_version: "2.0"
auth_host: keystone-
auth_port: "35357"
auth_protocol: https
ca_cert: REDACTED
console_
console_keymap: en-us
console_
console_
console_
cpu_allocation_
cross_az_attach: "True"
disk_allocation
dns_domain: engineering-
ec2_host: 10.9.186.7
egress-subnets: 192.168.4.90/32
enable_
ingress-address: 192.168.4.90
keystone_host: keystone-
network_manager: neutron
private-address: 192.168.4.90
quantum_host: neutron-
quantum_plugin: ovs
quantum_port: "9696"
quantum_
quantum_url: https:/
ram_allocation_
region: ABT102
restart_trigger: eab4201a-
serial_
service_password: REDACTED
service_port: "5000"
service_protocol: https
service_tenant: services
service_
service_username: nova
spice_agent_
vendor_data: '{"vendor_data": false}'
vendor_json: '{}'
volume_service: cinder
```
Relation between nova-cloud- controller and regular nova-compute units (not nova-ironic unit) also contain `api_version: "2.0"` but this information is never rendered in nova.conf, as the `auth_ver` is only taken into accound in `parts/ section- ironic` .