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-31 11:57:32 +02:00
2023-05-01 16:40:01 +02:00
2023-05-01 16:40:01 +02:00
2024-04-18 23:21:03 +00:00

heat-k8s

Description

heat-k8s is an operator to manage the orchestration services heat api, heat api cfn and heat engine on a Kubernetes based environment.

Usage

Deployment

heat-k8s is deployed using below command:

juju deploy heat-k8s heat --trust

Now connect the heat operator to existing database, keystone identity, keystone ops and rabbitmq operators:

juju relate mysql:database heat:database
juju relate keystone:identity-service heat:identity-service
juju relate keystone:identity-ops heat:identity-ops
juju relate rabbitmq:amqp heat:amqp 

heat-api-cfn is deployed as separate instance of charm using below command:

juju deploy heat-k8s heat-cfn --trust --config api_service=heat-api-cfn

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.

api_service

The api_service option determines whether to act as heat-api service or heat-api-cfn service. Accepted values are heat-api or heat-api-service and defaults to heat-api.

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 heat. If the charm is not deployed then see file actions.yaml.

Relations

heat-k8s requires the following relations:

database: To connect to MySQL identity-service: To register endpoints in Keystone identity-ops: To create heat stack domain and users ingress-internal: To expose service on underlying internal network ingress-public: To expose service on public network amqp: To connect to Rabbitmq

OCI Images

The charm by default uses following images:

ghcr.io/canonical/heat-consolidated: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.