Since moving to nova-cells a few months back, we really wanted to still utilize host aggregates and availability zones.
Fortunately, we were able to piggyback off work NeCTAR had done to implement this functionality. Here’s a list of patches we pulled in, and they’ve been working well.
- nova-api server read cell state from DB: https://github.com/NeCTAR-RC/nova/commit/6fe7057fb4957485d3bac06579ddc38c93458064
- Add AZ support for cells: https://github.com/NeCTAR-RC/nova/commit/048bd2d6d438fb8fa9ad7d3e0d57e7d03c546f6f
- Support aggregate API in cells: https://github.com/NeCTAR-RC/nova/commit/8ca8828d191bc271460eb80567717fd15ef6167c
- Ability to filter cells capacity report: https://github.com/NeCTAR-RC/nova/commit/97921ef1010c5e5bca357d77682bd0ee42d6ffcc
- Print cell name in cell timeout exceptions: https://github.com/NeCTAR-RC/nova/commit/60f669ba1ed5221d71138a72fb2cf3b34c07a970
- Use sysmetadata to get instances AZ in API cell: https://github.com/NeCTAR-RC/nova/commit/95e4cccac623c601e074a618ea71d121a359e00f
- Use sysmetadata to get instance_name in API cell: https://github.com/NeCTAR-RC/nova/commit/6bf1cf78b86bed99733e1119b891397dee15a65e
- Cells support for flavors: https://github.com/NeCTAR-RC/nova/commit/5abc8847dc89b162b6ae678176a5cfe4989144a9
A big thanks to the NeCTAR team, especially Sam Morrison, for all the help with this!