If provisioning network is changed, Ironic conductor does not behave correctly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Fix Released
|
High
|
Sam Betts |
Bug Description
During multi-tenancy testing, I discovered an undesirable behavior.
In /etc/ironic/
The config looks like :
[neutron]
cleaning_network = ironic-provision
provisioning_
This all works fine, except, if I delete the provisioning network and recreate it, Ir-cond remembers the old network's UUID and tries to create ports on old network which is rejected by Neutron, and hence, all BM deploy operations will fail. Instead of remembering the network UUID, conductor should read the config variable for provisioning (and cleaning networks).
The work around is restart ir-cond - which is kind of annoying.
Changed in ironic: | |
assignee: | nobody → M V P Nitesh (m-nitesh) |
Changed in ironic: | |
importance: | Undecided → High |
status: | New → Triaged |
This is caused by the conductor caching the neutron network uuid after pulling it from neutron, I think we should fix this by removing the is not None check in these functions:
https:/ /github. com/openstack/ ironic/ blob/master/ ironic/ common/ neutron. py#L427