The sudden arrival of the wdqs cloudvirts (T221631) has provided a very straightforward use case for nova host aggregates. We'd already been planning to adopt them at some point (T226731) so I've gone ahead and set some up today.
Starting sometime soon (maybe tomorrow!) a host aggregate named 'standard' will replace the existing 'scheduler pool,' and the profile::openstack::eqiad1::nova::scheduler_pool: hiera key will vanish. That knowledge will instead live inside the nova database, and can be queried in a few ways, most simply with '# openstack aggregate show standard'
I've done my best to document all this[0] but want to call out a few points:
- We will no longer have git history explaining why a given cloudvirt is pooled or depooled. For that reason it is more important than ever to !log any change to aggregate membership. I propose we standardize on the !log admin SAL in -cloud rather than the production -operations SAL in for this.
- In order to reduce the chances of losing track of a hypervisor entirely, I've created some tracking aggregates. If you remove a cloudvirt from the 'standard' aggregate, please re-assign it to 'maintenance', 'spare', or 'toobusy' as appropriate.
That's it! If anyone really hates this please let me know and I can roll things back. I'm already regretting the name 'standard' but at least it's not badly overloaded like my first choice, 'public', is.
[0] https://wikitech.wikimedia.org/wiki/Portal:Cloud_VPS/Admin/Host_aggregates