dpb@helo:~$ juju api-endpoints
planck.beretstack:17070
dpb@helo:~$ juju api-info
user: admin
environ-uuid: 2a67f294-aa7d-4ec9-88c4-8b0113c9778c
state-servers:
- planck.beretstack:17070
- planck.beretstack:17070
- 10.1.4.8:17070
[...]
As you can see, api-endpoints no longer returns what api-info shows as the "state-servers". Notice that planck and 10.1.4.8 are the same host.
I think you could make an argument that DNS should be consulted for MAAS, but IME, this is just ignoring reality of a major use case of MAAS. It's easy to route IP traffic to the MAAS net, but using it for your DNS is not an easy task and really limits how tools like juju-deployer are used. Namely they could only properly work from a node that uses MAAS as its DNS authority.
Imagine that MAAS controls the DNS in your lab, but not in your cubicle where you use juju on your workstation.
The crux of the issue is that juju 1.20.x just works with the openstack autopilot, and does not with 1.21.x. oil/landscape will not use 1.21.x in production because api-endpoints is not returning an ip address as reliably as before.
The `api-info` command was added to be able to inspect the information that the juju command line client was using to connect to the API server. `api-info` shows all the information.
`api-endpoints` says `purpose: Print the API server address`. The `api-endpoints` has only ever returned one address and will continue to only return one address. The address it returns is the most recent address used to connect to the API server.
Every time the API connects, the list that is saved in the .JENV file is updated. The endpoint that you are talking to is always the first one.
There is no regression here, and it is unclear if there is even a problem.
If you are having problems, can you please explain the problem?