43119913d6
* Make ingress-internal relation mandatory for charms instead of ingress-public * If ingress-public is not integrated, default public endpoint to internal endpoint Change-Id: Ibbc600b3dd53655f2160394d4717b75e14d63cf8
131 lines
2.9 KiB
YAML
131 lines
2.9 KiB
YAML
type: charm
|
|
title: OpenStack masakari service
|
|
name: masakari-k8s
|
|
summary: Masakari - Instances High Availability Service
|
|
description: |
|
|
Masakari provides Instances High Availability Service for OpenStack clouds by
|
|
automatically recovering failed Instances. Currently, Masakari can recover
|
|
KVM-based Virtual Machine(VM)s from failure events such as VM process down,
|
|
provisioning process down, and nova-compute host failure. Masakari also
|
|
provides an API service to manage and control the automated rescue mechanism.
|
|
assumes:
|
|
- k8s-api
|
|
- juju >= 3.5
|
|
links:
|
|
source: https://opendev.org/openstack/sunbeam-charms
|
|
issues: https://bugs.launchpad.net/sunbeam-charms
|
|
|
|
base: ubuntu@24.04
|
|
platforms:
|
|
amd64:
|
|
|
|
config:
|
|
options:
|
|
debug:
|
|
default: false
|
|
description: Enable debug logging.
|
|
type: boolean
|
|
evacuation-delay:
|
|
type: int
|
|
default: 60
|
|
description: |
|
|
Number of seconds to wait before evacuation after a service is
|
|
enabled or disabled.
|
|
evacuate-all-instances:
|
|
type: boolean
|
|
default: true
|
|
description: |
|
|
Whether to restrict instance evacuation to instances with ha enabled
|
|
in their metadata
|
|
region:
|
|
type: string
|
|
default: RegionOne
|
|
description: Name of the OpenStack region
|
|
|
|
containers:
|
|
masakari-api:
|
|
resource: masakari-image
|
|
masakari-engine:
|
|
resource: masakari-image
|
|
masakari-hostmonitor:
|
|
resource: masakari-image
|
|
|
|
resources:
|
|
masakari-image:
|
|
description: OCI image for OpenStack Masakari services
|
|
type: oci-image
|
|
upstream-source: ghcr.io/canonical/masakari-consolidated:2024.1
|
|
|
|
requires:
|
|
amqp:
|
|
interface: rabbitmq
|
|
limit: 1
|
|
database:
|
|
interface: mysql_client
|
|
limit: 1
|
|
identity-service:
|
|
interface: keystone
|
|
limit: 1
|
|
ingress-internal:
|
|
interface: ingress
|
|
limit: 1
|
|
ingress-public:
|
|
interface: ingress
|
|
optional: true
|
|
limit: 1
|
|
logging:
|
|
interface: loki_push_api
|
|
limit: 1
|
|
optional: true
|
|
receive-ca-cert:
|
|
interface: certificate_transfer
|
|
limit: 1
|
|
optional: true
|
|
tracing:
|
|
interface: tracing
|
|
limit: 1
|
|
optional: true
|
|
consul-management:
|
|
interface: consul-cluster
|
|
limit: 1
|
|
optional: true
|
|
consul-tenant:
|
|
interface: consul-cluster
|
|
limit: 1
|
|
optional: true
|
|
consul-storage:
|
|
interface: consul-cluster
|
|
limit: 1
|
|
optional: true
|
|
|
|
provides:
|
|
masakari-service:
|
|
interface: service-ready
|
|
|
|
peers:
|
|
peers:
|
|
interface: masakari-peer
|
|
|
|
parts:
|
|
update-certificates:
|
|
plugin: nil
|
|
override-build: |
|
|
apt update
|
|
apt install -y ca-certificates
|
|
update-ca-certificates
|
|
charm:
|
|
after:
|
|
- update-certificates
|
|
build-packages:
|
|
- git
|
|
- libffi-dev
|
|
- libssl-dev
|
|
- rustc
|
|
- cargo
|
|
- pkg-config
|
|
charm-binary-python-packages:
|
|
- cryptography
|
|
- jsonschema
|
|
- pydantic
|
|
- jinja2
|