We have tried to retest this on Juju 2.6RC2 with a slightly different triggering error condition. In this case it was creating a VM with a floating ip on an Openstack network with no route to the target external network. Here are the notes from our engineer:
Environment setup
openstack rocky
create private network with subnet in project_a
ensure there's an external shared network
no routing from private network to external shared network
deploy a model with application that uses both networks
After 20-30min juju status reports:
cannot assign public address 172.16.20.53 to instance "eb98fa8f-773b-42d2-9426-16eb478a23a9": failed to add floating ip 172.16.20.53 to server with id: eb98fa8f-773b-42d2-9426-16eb478a23a9
caused by: request (https://xxxxxxxx.net:8774/v2.1/servers/eb98fa8f-773b-42d2-9426-16eb478a23a9/action) returned unexpected status: 400; error info: {"badRequest": {"code": 400, "message": "Unable to associate floating IP 172.16.20.53 to fixed IP 192.168.2.17 for instance eb98fa8f-773b-42d2-9426-16eb478a23a9. Error: External network a4e7ace0-102e-4836-9143-5bd175ea26cc is not reachable from subnet 7baa2429-daf9-4fcb-9042-5ef5485c58a5. Therefore, cannot associate Port c643a9ee-39d2-4e19-8ca0-a324b09cd128 with a Floating IP.\nNeutron server returns request_ids: ['req-edfe24df-c3e5-410e-9337-9caa8d859ac5']"}}
Test case 1
=================
Juju controller runs 2.5.4
setup the environment as described above
after we see juju is stuck, we try to remove the model with juju destroy-model
destroy never completes, stuck at above error
juju upgrade-model -m controller --agent-version 2.6-rc2 --agent-stream devel
wait until the upgrade completes
observe the model that was previously stuck is now gone from juju models --all
Test case 2
===================
Juju controller runs 2.6.-rc2
setup the environment as described above
after we see juju is stuck, we try to remove the model with juju destroy-model
destroy never completes, stuck at above error and the output of juju destroy-model is stuck in a loop:
Destroying model
Waiting on model to be removed, 4 machine(s)...
Waiting on model to be removed, 4 machine(s)...
...
Conclusion
================
Bottom line is 2.6-rc2 still does not cleanly remove a model when it got stuck creating vm and connecting public address to it because the internal network is misconfigured (no route to external).
Where the model got cleaned up correctly in the transition from 2.5.4 to 2.6-rc2. I suspect that is an unexpected side effect which could be an interesting cue.
We have tried to retest this on Juju 2.6RC2 with a slightly different triggering error condition. In this case it was creating a VM with a floating ip on an Openstack network with no route to the target external network. Here are the notes from our engineer:
Environment setup
openstack rocky
create private network with subnet in project_a
ensure there's an external shared network
no routing from private network to external shared network
deploy a model with application that uses both networks
After 20-30min juju status reports:
cannot assign public address 172.16.20.53 to instance "eb98fa8f- 773b-42d2- 9426-16eb478a23 a9": failed to add floating ip 172.16.20.53 to server with id: eb98fa8f- 773b-42d2- 9426-16eb478a23 a9 /xxxxxxxx. net:8774/ v2.1/servers/ eb98fa8f- 773b-42d2- 9426-16eb478a23 a9/action) returned unexpected status: 400; error info: {"badRequest": {"code": 400, "message": "Unable to associate floating IP 172.16.20.53 to fixed IP 192.168.2.17 for instance eb98fa8f- 773b-42d2- 9426-16eb478a23 a9. Error: External network a4e7ace0- 102e-4836- 9143-5bd175ea26 cc is not reachable from subnet 7baa2429- daf9-4fcb- 9042-5ef5485c58 a5. Therefore, cannot associate Port c643a9ee- 39d2-4e19- 8ca0-a324b09cd1 28 with a Floating IP.\nNeutron server returns request_ids: ['req-edfe24df- c3e5-410e- 9337-9caa8d859a c5']"}}
caused by: request (https:/
Test case 1
=================
Juju controller runs 2.5.4
setup the environment as described above
after we see juju is stuck, we try to remove the model with juju destroy-model
destroy never completes, stuck at above error
juju upgrade-model -m controller --agent-version 2.6-rc2 --agent-stream devel
wait until the upgrade completes
observe the model that was previously stuck is now gone from juju models --all
Test case 2
===================
Juju controller runs 2.6.-rc2
setup the environment as described above
after we see juju is stuck, we try to remove the model with juju destroy-model
destroy never completes, stuck at above error and the output of juju destroy-model is stuck in a loop:
Destroying model
Waiting on model to be removed, 4 machine(s)...
Waiting on model to be removed, 4 machine(s)...
...
Conclusion
================
Bottom line is 2.6-rc2 still does not cleanly remove a model when it got stuck creating vm and connecting public address to it because the internal network is misconfigured (no route to external).
Where the model got cleaned up correctly in the transition from 2.5.4 to 2.6-rc2. I suspect that is an unexpected side effect which could be an interesting cue.