[ci_gen_kustomize_values] Co-locate provisionserver with metal3 to prevent DHCP failures#3738
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
f5c2a2c to
d660efa
Compare
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
d660efa to
369ae18
Compare
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
369ae18 to
3fa51c9
Compare
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
3fa51c9 to
d0cf92f
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/3217375613864e0d83f7f88f394dcfaa ❌ openstack-k8s-operators-content-provider FAILURE in 7m 16s |
d0cf92f to
6b9c8b0
Compare
6b9c8b0 to
1339a1d
Compare
1339a1d to
cf58db9
Compare
e29b915 to
08a2b2b
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/0b04bcb1f4f54d518d017da862888f74 ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 03m 30s |
08a2b2b to
a7b18cb
Compare
a7b18cb to
4ec3152
Compare
309d835 to
073a7c2
Compare
073a7c2 to
6ed9e2a
Compare
7720fe4 to
2ffc089
Compare
2ffc089 to
2fc519d
Compare
2fc519d to
d8e4383
Compare
michburk
left a comment
There was a problem hiding this comment.
Sorry for the delay!
A couple of style nits, I'm still uncertain on the location of the two tasks you're introducting.
d8e4383 to
2ac037f
Compare
27c2747 to
e36910b
Compare
e36910b to
976f9b1
Compare
|
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/1ac27c6d8a5a4031b7def732f9c1b147 ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 09m 58s |
…event DHCP failures When metal3-dnsmasq pod restarts during a node's DHCP lease renewal on the provisioning network (172.23.0.0/24), NetworkManager fails to renew and sets ipv4.method=disabled. NMState operator then preserves this disabled state, causing permanent loss of provisioning network connectivity on that node. The issue occurs when OpenStackProvisionServer and metal3 pods run on different nodes. If metal3 restarts while a node is attempting DHCP renewal, the temporary unavailability of metal3-dnsmasq causes the renewal to fail. Solution: Automatically detect the node running metal3 pod (via k8s-app=metal3 label) and configure provisionServerNodeSelector in baremetalSetTemplate to schedule OpenStackProvisionServer on the same node. This ensures provisioning network connectivity is maintained because metal3-static-ip-manager maintains a static IP (172.23.0.3) on the metal3 node regardless of dnsmasq restarts. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Miguel Angel Nieto Jimenez <mnietoji@redhat.com>
|
changes are looking good, just wanted to double check: is this tested and working as expected? |
…ures
When metal3-dnsmasq pod restarts during a node's DHCP lease renewal on the provisioning network (172.23.0.0/24), NetworkManager fails to renew and sets ipv4.method=disabled. NMState operator then preserves this disabled state, causing permanent loss of provisioning network connectivity on that node.
The issue occurs when OpenStackProvisionServer and metal3 pods run on different nodes. If metal3 restarts while a node is attempting DHCP renewal, the temporary unavailability of metal3-dnsmasq causes the renewal to fail.
Solution:
Automatically detect the node running metal3 pod (via k8s-app=metal3 label) and configure provisionServerNodeSelector in baremetalSetTemplate to schedule OpenStackProvisionServer on the same node. This ensures provisioning network connectivity is maintained because metal3-static-ip-manager maintains a static IP (172.23.0.3) on the metal3 node regardless of dnsmasq restarts.