Comment 2 for bug 1995778

Revision history for this message
Przemyslaw Hausman (phausman) wrote :

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:

```
[neutron]
auth_url = https://keystone-internal.engineering-cloud.example.com:35357
```

It looks like auth_ver is only rendered in [ironic] section:

```
root@juju-4bb50e-1-lxd-6:/var/lib/juju/agents/unit-nova-ironic-0/charm/templates# grep -RP auth_url
kilo/nova.conf:admin_auth_url = {{ network_manager_config.auth_protocol }}://{{ network_manager_config.keystone_host }}:{{ network_manager_config.auth_port }}/v2.0
rocky/nova.conf:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
parts/section-ironic:auth_url = {{auth_protocol}}://{{auth_host}}:{{auth_port}}/{{auth_ver}}
parts/section-placement:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
train/nova.conf:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
ocata/nova.conf:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
stein/nova.conf:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
newton/nova.conf:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
queens/nova.conf:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
mitaka/nova.conf:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
pike/nova.conf:auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }}
```

Relation data between nova-cloud-controller and nova-ironic does indeed specify `api_version: "2.0"`:

```
$ juju run --unit nova-cloud-controller/0 'relation-ids cloud-compute'
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'
admin_domain_name: service_domain
allow_resize_to_same_host: "False"
api_version: "2.0"
auth_host: keystone-internal.engineering-cloud.example.com
auth_port: "35357"
auth_protocol: https
ca_cert: REDACTED
console_access_protocol: spice
console_keymap: en-us
console_proxy_spice_address: https://nova.engineering-cloud.example.com:6082/spice_auto.html
console_proxy_spice_host: nova.engineering-cloud.example.com
console_proxy_spice_port: "6082"
cpu_allocation_ratio: "16"
cross_az_attach: "True"
disk_allocation_ratio: "1"
dns_domain: engineering-cloud.de.example.lan.
ec2_host: 10.9.186.7
egress-subnets: 192.168.4.90/32
enable_serial_console: "false"
ingress-address: 192.168.4.90
keystone_host: keystone-internal.engineering-cloud.example.com
network_manager: neutron
private-address: 192.168.4.90
quantum_host: neutron-internal.engineering-cloud.example.com
quantum_plugin: ovs
quantum_port: "9696"
quantum_security_groups: "yes"
quantum_url: https://neutron-internal.engineering-cloud.example.com:9696
ram_allocation_ratio: "1"
region: ABT102
restart_trigger: eab4201a-9bf0-4c3f-afe8-871bdfd918f0
serial_console_base_url: ws://nova.engineering-cloud.example.com:6083/
service_password: REDACTED
service_port: "5000"
service_protocol: https
service_tenant: services
service_tenant_name: services
service_username: nova
spice_agent_enabled: "True"
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`.