Guillaume Boutry cb27776b43
[ops-sunbeam] Move handlers setup in post_init
Because handler setup was performed in __init__, this made using
attributes defined in constructor impossible to use in the setup
methods except by ensuring right order in object init. This, in
turn, added a lot of overhead.
Methods of an object should be able to use attributes defined in
the object constructor.

Move handler setup in __post_init__ hooks, called after object
initialiazation.
Remove constructors only calling super() constructor.
Re-order attribute definition to be called after super()
constructor.

Change-Id: Ieb9d23b1e4764e2c0e894c932b7584b5b7c38258
Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
2025-02-21 13:30:22 +01:00
..
2024-07-08 21:51:09 +02:00
2024-04-18 23:21:03 +00:00
2022-01-13 13:38:15 +00:00
2024-04-18 23:21:03 +00:00

nova-k8s

Description

nova-k8s is an operator to manage the Nova API, Conductor and Scheduler services on a Kubernetes based environment.

Usage

Deployment

nova-k8s is deployed using below command:

juju deploy nova-k8s nova --trust

Now connect the nova operator to existing database, messaging and keystone identity operators:

juju relate mysql:database nova:database
juju relate mysql:database nova:api-database
juju relate mysql:database nova:cell-database
juju relate rabbitmq:amqp nova:amqp
juju relate keystone:identity-service nova:identity-service

Configuration

This section covers common and/or important configuration options. See file config.yaml for the full list of options, along with their descriptions and default values. See the Juju documentation for details on configuring applications.

Actions

This section covers Juju actions supported by the charm. Actions allow specific operations to be performed on a per-unit basis. To display action descriptions run juju actions nova. If the charm is not deployed then see file actions.yaml.

Relations

nova-k8s requires the following relations:

database, api-database, cell-database: To connect to MySQL (nova requires 3 databases) amqp: To connect to RabbitMQ identity-service: To register endpoints in Keystone ingress-internal: To expose service on underlying internal network ingress-public: To expose service on public network

OCI Images

The charm by default uses following images:

`ghcr.io/canonical/nova-api:2024.1`
`ghcr.io/canonical/nova-scheduler:2024.1`
`ghcr.io/canonical/nova-conductor:2024.1`

Contributing

Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.

Bugs

Please report bugs on Launchpad.