ironic conductor directly deployed nodes to internal API endpoints

Bug #1934907 reported by Jeff Hillman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Ironic Conductor Charm
Fix Released
Undecided
Unassigned

Bug Description

Focal + Ussuri

The template for ironic conductor's /etc/ironic/ironic.conf is rendered to the point that when requesting metadata and other resources for a baremetal node that is deploying is directing all API request to internal endpoints.

In this case, the internal network is not routable and therefore not reachable. There is no configurable way to have it point to the public API endpoints.

The following diff resolves the issue:

```
diff --git a/src/templates/train/ironic.conf b/src/templates/train/ironic.conf
index 4c5a59f..403a56b 100644
--- a/src/templates/train/ironic.conf
+++ b/src/templates/train/ironic.conf
@@ -34,6 +34,8 @@ transport_url = {{ amqp.transport_url }}
 [nova]
 {% include "parts/service-auth" %}

+valid_interfaces = public
+
 [neutron]
 {% include "parts/service-auth" %}
 {% if options.cleaning_network %}
@@ -43,6 +45,8 @@ cleaning_network = {{ options.cleaning_network }}
 provisioning_network = {{ options.provisioning_network }}
 {% endif %}

+valid_interfaces = public
+
 [glance]
 {% include "parts/service-auth" %}
 swift_container = glance
@@ -50,15 +54,23 @@ swift_container = glance
 swift_temp_url_key = {{ options.temp_url_secret }}
 {% endif %}

+valid_interfaces = public
+
 [swift]
 {% include "parts/service-auth" %}

+valid_interfaces = public
+
 [cinder]
 {% include "parts/service-auth" %}

+valid_interfaces = public
+
 [service_catalog]
 {% include "parts/service-auth" %}

+valid_interfaces = public
+
 {% include "parts/section-pxe" %}

 {% include "parts/section-deploy" %}

```

Tags: cpe-onsite
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-ironic-conductor (master)
Changed in charm-ironic-conductor:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-ironic-conductor (master)

Reviewed: https://review.opendev.org/c/openstack/charm-ironic-conductor/+/799909
Committed: https://opendev.org/openstack/charm-ironic-conductor/commit/26b14ec77bcb4d1707d3c821d110fcd4abe1e382
Submitter: "Zuul (22348)"
Branch: master

commit 26b14ec77bcb4d1707d3c821d110fcd4abe1e382
Author: Billy Olsen <email address hidden>
Date: Fri Jul 2 13:29:57 2021 -0700

    Handle use-internal-endpoints properly.

    The ironic conductor, by default, will use internal endpoints when
    communicating with other services such as nova, keystone, etc. The
    use-internal-endpoints config option in the charm doesn't update the
    configuration for the valid_interfaces that the clients should use
    when communicating with other services. This change sets the
    internal_endpoints option explicitly to honor the charm setting.

    Closes-Bug: #1934907
    Change-Id: I235391737858d9f7b3ee1e352bbcb1704c52af32

Changed in charm-ironic-conductor:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-ironic-conductor (stable/21.04)
Changed in charm-ironic-conductor:
milestone: none → 21.10
milestone: 21.10 → none
milestone: none → 21.04
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-ironic-conductor (stable/21.04)

Reviewed: https://review.opendev.org/c/openstack/charm-ironic-conductor/+/801002
Committed: https://opendev.org/openstack/charm-ironic-conductor/commit/bb13dc1dd105487585c0ac52e3d882628f227a1d
Submitter: "Zuul (22348)"
Branch: stable/21.04

commit bb13dc1dd105487585c0ac52e3d882628f227a1d
Author: Billy Olsen <email address hidden>
Date: Fri Jul 2 13:29:57 2021 -0700

    Handle use-internal-endpoints properly.

    The ironic conductor, by default, will use internal endpoints when
    communicating with other services such as nova, keystone, etc. The
    use-internal-endpoints config option in the charm doesn't update the
    configuration for the valid_interfaces that the clients should use
    when communicating with other services. This change sets the
    internal_endpoints option explicitly to honor the charm setting.

    Closes-Bug: #1934907
    Change-Id: I235391737858d9f7b3ee1e352bbcb1704c52af32
    (cherry picked from commit 26b14ec77bcb4d1707d3c821d110fcd4abe1e382)

Changed in charm-ironic-conductor:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.