A Juju deployed OpenStack will not show the real hypervisor name to
tenants who are not admins, instead they are presented with a
per-tenant hash of the hypervisor name.
The hashed hostnames causes numerous problems, e.g.
1) if administrators are performing maintenance on a hypervisor,
they can't just communicate the hostname of the machine
maintenance is being performed on and let the tenants figure out
if they have instances on there.
2) if the administrators of the cloud make their
monitoring/observability data available to their users, the users
won't be able to make use of this because they don't know which
host their instance is running on
While the hypervisor name hashing (arguably) makes sense for an
OpenStack with untrusted users (e.g. which is providing a public cloud
service), I don't think it makes sense for the majority of OpenStack
deployments which are likely to be private clouds where the users are
trusted enough that there's no harm in them knowing hostnames of
machines.
Can we please consider:
a) switching the default to not hash hypervisor names?
b) providing a way to control the hashing via Juju config?
Thanks
FWIW, we've fixed this in some of our clouds by removing
'rule:admin_api' from 'os_compute_api:os-extended-server-attributes'
in /etc/nova/policy.json but I understand that this variable has changed
names between different releases of OpenStack.
FYI, the upstream Charms Deployment Guide now includes instructions for achieving the desired goal via the policyd overrides feature of the OpenStack Charms.
https:/ /docs.openstack .org/project- deploy- guide/charm- deployment- guide/latest/ app-policy- overrides. html#showing- extended- server- attributes