Description: auto-discovery of nodes feature not enabling when configuring post undercloud install. Steps to re-produce: 1. install undercloud with latest osp14 2. add "enable_node_discovery = true" to undercloud.conf 3. run "openstack install undercloud" 4. power nodes 5. run "openstack baremetal node list" We don't see nodes discover. Checked both containers looking for /etc/ironic-inspector/inspector.conf and do not see node_not_found_hook configured. 1) Check undercloud.conf (undercloud) [stack@undercloud-0 ~]$ grep enable_node_discovery undercloud.conf enable_node_discovery = true 2) Check inspector.conf (undercloud) [stack@undercloud-0 ~]$ docker exec -u root -it ironic_inspector_dnsmasq bash ()[root@undercloud-0 /]# grep node_not_found_hook /etc/ironic-inspector/inspector.conf #node_not_found_hook = <None> 3) Check inspector.conf (believe this is one should change) (undercloud) [stack@undercloud-0 ~]$ docker exec -u root -it ironic_inspector bash ()[root@undercloud-0 /]# grep node_not_found_hook /etc/ironic-inspector/inspector.conf #node_not_found_hook = <None>
Created attachment 1482759 [details] sosreport
Intial attempt to reproduce this using current-dev upstream repositories: ------------------------------------------------------------------------- (undercloud) [stack@leafs ~]$ sudo grep node_not_found_hook /var/lib/config-data/puppet-generated/ironic_inspector/etc/ironic-inspector/inspector.conf #node_not_found_hook = <None> (undercloud) [stack@leafs ~]$ grep discovery undercloud.conf enable_node_discovery = true (undercloud) [stack@leafs ~]$ openstack undercloud install [ .... ] [root@leafs stack]# grep -R IronicInspectorEnableNodeDiscovery tripleo-heat-installer-templates/undercloud_parameters.yaml IronicInspectorEnableNodeDiscovery: true [root@leafs stack]# sudo grep node_not_found_hook /var/lib/config-data/puppet-generated/ironic_inspector/etc/ironic-inspector/inspector.conf #node_not_found_hook = <None> node_not_found_hook=enroll [root@leafs stack]# docker container list | grep inspector c4d132dc81e9 docker.io/tripleomaster/centos-binary-ironic-inspector:0d5b1d18e88ad27e87368c8844c325cbfe603fdb_e25bec61 "kolla_start" 2 hours ago Up 2 hours ironic_inspector_dnsmasq dbf8966b22a3 docker.io/tripleomaster/centos-binary-ironic-inspector:0d5b1d18e88ad27e87368c8844c325cbfe603fdb_e25bec61 "kolla_start" 2 hours ago Up 2 hours ironic_inspector [root@leafs stack]# docker exec -it dbf8966b22a3 /bin/bash ()[ironic-inspector@leafs /]$ grep node_not_found_hook /etc/ironic-inspector/inspector.conf #node_not_found_hook = <None> node_not_found_hook=enroll (Moving on to test with Rocky) Repeated same test using upstream Rocky: [root@container-undercloud ~]# sudo grep node_not_found_hook /var/lib/config-data/puppet-generated/ironic_inspector/etc/ironic-inspector/inspector.conf #node_not_found_hook = <None> node_not_found_hook=enroll [root@container-undercloud ~]# docker container list | grep inspector ebb35b34d74a docker.io/tripleorocky/centos-binary-ironic-inspector:c4ced59918d7a2105e64f024b2d5ea4c627c0b9e_fba987ed "kolla_start" 6 minutes ago Up 6 minutes ironic_inspector_dnsmasq 5c6948de65af docker.io/tripleorocky/centos-binary-ironic-inspector:c4ced59918d7a2105e64f024b2d5ea4c627c0b9e_fba987ed "kolla_start" 6 minutes ago Up 6 minutes ironic_inspector [root@container-undercloud ~]# docker exec -it 5c6948de65af /bin/bash ()[ironic-inspector@container-undercloud /]$ grep node_not_found_hook /etc/ironic-inspector/inspector.conf #node_not_found_hook = <None> node_not_found_hook=enroll Conclusion: ----------- Looks like this is working as intended in upstream Rocky and current.
Looks like the "enable_node_discovery = true" needs to be in [DEFAULT] section of the undercloud.conf and it was added to end of file in the [ctlplane-subnet]. The case where we enable this feature before initial undercloud install it seems to work in [ctlplane-subnet] Just tested this BZ case and I now seen feature enable in /etc/ironic-inspector/inspector.conf
This worked so we will close this bugzilla. (undercloud) [stack@undercloud-0 ~]$ cat undercloud.conf [DEFAULT] # Network interface on the Undercloud that will be handling the PXE # boots and DHCP for Overcloud instances. (string value) local_interface = eth0 local_ip = 192.168.24.1/24 undercloud_public_host = 192.168.24.2 undercloud_admin_host = 192.168.24.3 undercloud_ntp_servers=clock.redhat.com container_images_file=/home/stack/containers-prepare-parameter.yaml docker_insecure_registries=docker-registry.engineering.redhat.com,brew-pulp-docker01.web.prod.ext.phx2.redhat.com:8888 undercloud_service_certificate = /etc/pki/instack-certs/undercloud.pem hieradata_override = /home/stack/hiera_override.yaml enable_node_discovery = true [ctlplane-subnet] local_subnet = ctlplane-subnet cidr = 192.168.24.0/24 dhcp_start = 192.168.24.5 dhcp_end = 192.168.24.24 gateway = 192.168.24.1 inspection_iprange = 192.168.24.100,192.168.24.120 masquerade = true #TODO(skatlapa): add param to override masq