++ export IRONIC_IP= ++ IRONIC_IP= ++ PROVISIONING_INTERFACE=ironicendpoint ++ PROVISIONING_IP= ++ PROVISIONING_MACS= ++ IPXE_CUSTOM_FIRMWARE_DIR=/shared/custom_ipxe_firmware ++ CUSTOM_CONFIG_DIR=/conf ++ CUSTOM_DATA_DIR=/data ++ export DNSMASQ_CONF_DIR=/conf/dnsmasq ++ DNSMASQ_CONF_DIR=/conf/dnsmasq ++ export DNSMASQ_DATA_DIR=/data/dnsmasq ++ DNSMASQ_DATA_DIR=/data/dnsmasq ++ export DNSMASQ_TEMP_DIR=/conf/dnsmasq ++ DNSMASQ_TEMP_DIR=/conf/dnsmasq ++ export HTTPD_DIR=/conf/httpd ++ HTTPD_DIR=/conf/httpd ++ export HTTPD_CONF_DIR=/conf/httpd/conf ++ HTTPD_CONF_DIR=/conf/httpd/conf ++ export HTTPD_CONF_DIR_D=/conf/httpd/conf.d ++ HTTPD_CONF_DIR_D=/conf/httpd/conf.d ++ export IRONIC_CONF_DIR=/conf/ironic ++ IRONIC_CONF_DIR=/conf/ironic ++ export IRONIC_DB_DIR=/data/db ++ IRONIC_DB_DIR=/data/db ++ export IRONIC_GEN_CERT_DIR=/data/auto_gen_certs ++ IRONIC_GEN_CERT_DIR=/data/auto_gen_certs ++ export IRONIC_TMP_DATA_DIR=/data/tmp ++ IRONIC_TMP_DATA_DIR=/data/tmp ++ export PROBE_CONF_DIR=/conf/probes ++ PROBE_CONF_DIR=/conf/probes ++ mkdir -p /conf/ironic /conf/probes /conf/httpd/conf /conf/httpd/conf.d /conf/dnsmasq /conf/dnsmasq /data/db /data/auto_gen_certs /data/dnsmasq /data/tmp ++ export HTPASSWD_FILE=/conf/ironic/htpasswd ++ HTPASSWD_FILE=/conf/ironic/htpasswd ++ export LOCAL_DB_URI=sqlite:////data/db/ironic.sqlite ++ LOCAL_DB_URI=sqlite:////data/db/ironic.sqlite ++ export IRONIC_USE_MARIADB=false ++ IRONIC_USE_MARIADB=false +++ get_provisioning_interface +++ [[ -n ironicendpoint ]] +++ echo ironicendpoint +++ return ++ PROVISIONING_INTERFACE=ironicendpoint ++ export PROVISIONING_INTERFACE ++ export LISTEN_ALL_INTERFACES=true ++ LISTEN_ALL_INTERFACES=true ++ export IRONIC_PRIVATE_PORT=unix ++ IRONIC_PRIVATE_PORT=unix ++ export IRONIC_ACCESS_PORT=6385 ++ IRONIC_ACCESS_PORT=6385 ++ export IRONIC_LISTEN_PORT=6385 ++ IRONIC_LISTEN_PORT=6385 ++ export IRONIC_ENABLE_DISCOVERY=false ++ IRONIC_ENABLE_DISCOVERY=false + . /bin/auth-common.sh ++ set -euxo pipefail ++ export IRONIC_REVERSE_PROXY_SETUP=false ++ IRONIC_REVERSE_PROXY_SETUP=false ++ CUSTOM_CONFIG_DIR=/conf ++ IRONIC_CONF_DIR=/conf/ironic ++ [[ '' == \C\o\n\d\u\c\t\o\r ]] ++ export IRONIC_EXPOSE_JSON_RPC=false ++ IRONIC_EXPOSE_JSON_RPC=false ++ IRONIC_HTPASSWD_FILE=/conf/ironic/htpasswd ++ export IRONIC_RPC_HTPASSWD_FILE=/conf/ironic/htpasswd-rpc ++ IRONIC_RPC_HTPASSWD_FILE=/conf/ironic/htpasswd-rpc ++ [[ -f /auth/ironic/htpasswd ]] ++ [[ -f /auth/ironic-rpc/htpasswd ]] ++ export IRONIC_HTPASSWD= ++ IRONIC_HTPASSWD= ++ export IRONIC_RPC_HTPASSWD= ++ IRONIC_RPC_HTPASSWD= ++ [[ -n '' ]] ++ [[ -f /auth/mariadb/password ]] ++ [[ -z '' ]] ++ [[ -f /auth/mariadb/username ]] ++ IRONIC_CONFIG=/conf/ironic/ironic.conf + export HTTP_PORT=80 + HTTP_PORT=80 + export VMEDIA_TLS_PORT=8083 + VMEDIA_TLS_PORT=8083 + export IRONIC_REVERSE_PROXY_SETUP=false + IRONIC_REVERSE_PROXY_SETUP=false + export HTTPD_SERVE_NODE_IMAGES=true + HTTPD_SERVE_NODE_IMAGES=true + IRONIC_FAST_TRACK=true + HTTPD_ENABLE_SENDFILE=false Waiting for ironicendpoint interface to be configured + export IRONIC_IPA_COLLECTORS=default,logs + IRONIC_IPA_COLLECTORS=default,logs + wait_for_interface_or_ip + [[ -n '' ]] + [[ -n '' ]] + echo 'Waiting for ironicendpoint interface to be configured' ++ ip -br add show scope global up dev ironicendpoint ++ awk '{print $3}' ++ sed -e 's%/.*%%' ++ head -n 1 + IRONIC_IP=172.22.0.1 + export IRONIC_IP + sleep 1 + [[ -n 172.22.0.1 ]] + [[ 172.22.0.1 =~ .*:.* ]] + export IPV=4 + IPV=4 + export IRONIC_URL_HOST=172.22.0.1 + IRONIC_URL_HOST=172.22.0.1 + export IRONIC_HTTP_URL=http://172.22.0.1:80 + IRONIC_HTTP_URL=http://172.22.0.1:80 + export IRONIC_TFTP_URL=tftp://172.22.0.1 + IRONIC_TFTP_URL=tftp://172.22.0.1 + export IRONIC_BASE_URL=http://172.22.0.1:6385 + IRONIC_BASE_URL=http://172.22.0.1:6385 + mkdir -p /shared/html + chmod 0777 /shared/html + INSPECTOR_EXTRA_ARGS=' ipa-inspection-callback-url=http://172.22.0.1:6385/v1/continue_inspection' + [[ true == \t\r\u\e ]] + INSPECTOR_EXTRA_ARGS+=' ipa-api-url=http://172.22.0.1:6385' + export INSPECTOR_EXTRA_ARGS + render_j2_config /templates/inspector.ipxe.j2 /shared/html/inspector.ipxe + python3.12 -c 'import os; import sys; import jinja2; sys.stdout.write(jinja2.Template(sys.stdin.read()).render(env=os.environ))' + [[ -f /conf/httpd/conf/httpd.conf ]] + render_j2_config /etc/httpd/conf/httpd.conf.j2 /conf/httpd/conf/httpd.conf + python3.12 -c 'import os; import sys; import jinja2; sys.stdout.write(jinja2.Template(sys.stdin.read()).render(env=os.environ))' + [[ false == \t\r\u\e ]] + export IRONIC_REVERSE_PROXY_SETUP=false + IRONIC_REVERSE_PROXY_SETUP=false + write_htpasswd_files + [[ -n '' ]] + [[ false == \t\r\u\e ]] + [[ false == \t\r\u\e ]] + configure_restart_on_certificate_update false httpd /certs/ironic/tls.crt + local enabled=false + local service=httpd + local cert_file=/certs/ironic/tls.crt + local signal=TERM + [[ false == \t\r\u\e ]] + configure_restart_on_certificate_update false httpd /certs/vmedia/tls.crt + local enabled=false + local service=httpd + local cert_file=/certs/vmedia/tls.crt + local signal=TERM + [[ false == \t\r\u\e ]] + exec /usr/sbin/httpd -DFOREGROUND -f /conf/httpd/conf/httpd.conf AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 2607:5300:201:2000::37a. Set the 'ServerName' directive globally to suppress this message AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 2607:5300:201:2000::37a. Set the 'ServerName' directive globally to suppress this message [Thu Aug 07 18:32:54.399962 2025] [ssl:warn] [pid 1:tid 1] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache] [Thu Aug 07 18:32:54.401618 2025] [mpm_event:notice] [pid 1:tid 1] AH00489: Apache/2.4.62 (CentOS Stream) OpenSSL/3.5.1 configured -- resuming normal operations [Thu Aug 07 18:32:54.401649 2025] [core:notice] [pid 1:tid 1] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND -f /conf/httpd/conf/httpd.conf' 172.22.0.1 - - [07/Aug/2025:18:35:31 +0000] "GET /images/ipa-centos9-master.tar.gz.headers HTTP/1.1" 404 196 "-" "curl/7.76.1"