diff --git a/charms/heat-k8s/README.md b/charms/heat-k8s/README.md index 43c96657..cf976992 100644 --- a/charms/heat-k8s/README.md +++ b/charms/heat-k8s/README.md @@ -1,28 +1,80 @@ - - # heat-k8s -Charmhub package name: heat-k8s -More information: https://charmhub.io/heat-k8s +## Description -Operator for OpenStack Heat. The charm can be used to deploy -either heat-api service or heat-api-cnf service determined by -the configuration parameter api_service. +heat-k8s is an operator to manage the orchestration services heat api, +heat api cfn and heat engine on a Kubernetes based environment. -## Other resources +## Usage - +### Deployment -- [Read more](https://example.com) +heat-k8s is deployed using below command: -- [Contributing](CONTRIBUTING.md) + juju deploy heat-k8s heat --trust -- See the [Juju SDK documentation](https://juju.is/docs/sdk) for more information about developing and improving charms. +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][juju-docs-config-apps] 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][juju-docs-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:2023.1 + +## Contributing + +Please see the [Juju SDK docs](https://juju.is/docs/sdk) for guidelines +on enhancements to this charm following best practice guidelines, and +[CONTRIBUTING.md](contributors-guide) for developer guidance. + +## Bugs + +Please report bugs on [Launchpad][lp-bugs-charm-heat-k8s]. + + + +[contributors-guide]: https://opendev.org/openstack/charm-heat-k8s/src/branch/main/CONTRIBUTING.md +[juju-docs-actions]: https://jaas.ai/docs/actions +[juju-docs-config-apps]: https://juju.is/docs/configuring-applications +[lp-bugs-charm-heat-k8s]: https://bugs.launchpad.net/charm-heat-k8s/+filebug diff --git a/charms/heat-k8s/metadata.yaml b/charms/heat-k8s/metadata.yaml index 5b133af0..c2d1bb23 100644 --- a/charms/heat-k8s/metadata.yaml +++ b/charms/heat-k8s/metadata.yaml @@ -27,13 +27,13 @@ resources: heat-api-image: type: oci-image description: OCI image for OpenStack Heat - # ghcr.io/openstack-snaps/heat-api:2023.1 - upstream-source: ghcr.io/openstack-snaps/heat-consolidated:2023.1 + # ghcr.io/canonical/heat-api:2023.1 + upstream-source: ghcr.io/canonical/heat-consolidated:2023.1 heat-engine-image: type: oci-image description: OCI image for OpenStack Heat Engine - # ghcr.io/openstack-snaps/heat-engine:2023.1 - upstream-source: ghcr.io/openstack-snaps/heat-consolidated:2023.1 + # ghcr.io/canonical/heat-engine:2023.1 + upstream-source: ghcr.io/canonical/heat-consolidated:2023.1 requires: database: diff --git a/charms/heat-k8s/src/charm.py b/charms/heat-k8s/src/charm.py index dbfb9de8..cbe19540 100755 --- a/charms/heat-k8s/src/charm.py +++ b/charms/heat-k8s/src/charm.py @@ -465,7 +465,7 @@ class HeatOperatorCharm(sunbeam_charm.OSBaseOperatorAPICharm): return True def get_stack_admin_credentials_to_configure(self) -> tuple: - """Get domain admin credentials to configiure in heat conf.""" + """Get domain admin credentials to configure in heat conf.""" label = ( f"{CREDENTIALS_SECRET_PREFIX}configure_" f"{self.stack_domain_admin_user}" diff --git a/charms/heat-k8s/tests/bundles/smoke.yaml b/charms/heat-k8s/tests/bundles/smoke.yaml index 92ecf7c9..5fed3797 100644 --- a/charms/heat-k8s/tests/bundles/smoke.yaml +++ b/charms/heat-k8s/tests/bundles/smoke.yaml @@ -47,8 +47,8 @@ applications: scale: 1 trust: true resources: - heat-api-image: ghcr.io/openstack-snaps/heat-consolidated:2023.1 - heat-engine-image: ghcr.io/openstack-snaps/heat-consolidated:2023.1 + heat-api-image: ghcr.io/canonical/heat-consolidated:2023.1 + heat-engine-image: ghcr.io/canonical/heat-consolidated:2023.1 heat-cfn: charm: ../../heat-k8s.charm @@ -57,8 +57,8 @@ applications: options: api_service: heat-api-cfn resources: - heat-api-image: ghcr.io/openstack-snaps/heat-consolidated:2023.1 - heat-engine-image: ghcr.io/openstack-snaps/heat-consolidated:2023.1 + heat-api-image: ghcr.io/canonical/heat-consolidated:2023.1 + heat-engine-image: ghcr.io/canonical/heat-consolidated:2023.1 relations: - - traefik:ingress