Files
sunbeam-charms/charms/nova-k8s
Lucian Petrut 58a4c980bb Enable audit middleware
We're enabling the audit middleware for the following API services:

* cinder
* nova
* neutron
* glance
* heat
* barbican
* octavia
* gnocchi
  * config.verbose was deprecated a long time ago and Gnocchi doesn't
    support a separate "logging.conf" file
     * as such, Gnocchi can't be configured to use "info" level logging
     * the audit logs will only be emitted in debug mode
  * cf001e8428/gnocchi/service.py (L72-L79)
* newly defined audit map (the other services had already existing
  definitions, which were updated):
  * aodh
  * designate
  * magnum
  * masakari
    * updated wsgi log configuration

The following services do not support the audit middleware,
the support for api paste was dropped:
* placement
* watcher
* keystone (has its own pycadf audit implementation)
  * emits notifications using oslo.notifications
  * configurable driver, possible options include "messagingv2" and "log"
  * we can't just use the log driver since the user may request amqp
    notifications using:
      "juju config keystone enable-telemetry-notifications=True"
  * we'll listen for amqp notifications using a separate service

Reference:
* audit middleware configuration: https://docs.openstack.org/keystonemiddleware/latest/audit.html
* api map samples: https://opendev.org/openstack/pycadf/src/tag/3.1.1/etc/pycadf

Change-Id: I28a261b85067704221d6ab3d949c5d2a27a4a9d7
2025-06-10 13:52:25 +00:00
..
2025-06-10 13:52:25 +00:00
2024-07-08 21:51:09 +02:00
2025-05-19 20:32:08 +02:00
2025-04-30 08:44:20 +02:00
2022-01-13 13:38:15 +00:00
2025-05-05 15:49:14 +05:30
2025-04-30 08:44:20 +02:00
2025-06-10 13:52:25 +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:2025.1`
`ghcr.io/canonical/nova-scheduler:2025.1`
`ghcr.io/canonical/nova-conductor:2025.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.