Hemanth Nakkina e07819a9d9
Derive mandatory relations from charmcraft.yaml
Currently each charm defines in the code all the
mandatory relations. Instead populate the mandatory
relations from chamrcraft.yaml requires relations
with optional as False.
Charm can define mandatory relations that are not
derived from requires relations and they will be
appended to the list of mandatory_relations.
Barbican and ovn-central charms follows this pattern.

Change-Id: Iff45fca33dc954593ded52b97e905431b6a7bb53
2025-02-03 15:23:59 +05:30

136 lines
3.0 KiB
YAML

type: charm
title: OpenStack Hypervisor
name: openstack-hypervisor
summary: Deploy the OpenStack hypervisor
description: |
Configure machine to run VMs as part of an OpenStack cloud.
assumes:
- juju >= 3.1
base: ubuntu@24.04
platforms:
amd64:
config:
options:
snap-channel:
default: 2024.1/edge
type: string
debug:
default: false
type: boolean
resume-on-boot:
default: true
description: |
Whether to resume the guest VMs when the host boots.
type: boolean
dns-servers:
default: 8.8.8.8
type: string
external-bridge:
default: br-ex
type: string
external-bridge-address:
default: 10.20.20.1/24
type: string
physnet-name:
default: physnet1
type: string
use-migration-binding:
default: false
type: boolean
use-data-binding:
default: false
type: boolean
actions:
set-hypervisor-local-settings:
description: |
Apply settings specific to this hypervisor unit
params:
external-nic:
type: string
description: NIC that hypervisor will configure for North/South traffic
spice-proxy-address:
type: string
description: IP address to use for configuration of SPICE consoles in instances.
ip-address:
type: string
description: IP address to use for service configuration
additionalProperties: false
list-nics:
description: |
List host NICS, and which one are candidates for use as external NIC.
additionalProperties: false
disable:
description: |
Prevent new instances from being created.
params:
reason:
type: string
description: Reason for disabling the hypervisor
default: Stopped via operator action
additionalProperties: false
enable:
description: |
Allow new instances to be created.
additionalProperties: false
running-guests:
description: |
List the running guests on the hypervisor.
Only lists guests created by the OpenStack cloud.
additionalProperties: false
requires:
amqp:
interface: rabbitmq
identity-credentials:
interface: keystone-credentials
ovsdb-cms:
interface: ovsdb-cms
certificates:
interface: tls-certificates
optional: true
ceilometer-service:
interface: ceilometer
optional: true
ceph-access:
interface: cinder-ceph-key
optional: true
receive-ca-cert:
interface: certificate_transfer
optional: true
nova-service:
interface: nova
masakari-service:
interface: service-ready
optional: true
tracing:
interface: tracing
optional: true
limit: 1
provides:
cos-agent:
interface: cos_agent
extra-bindings:
migration: null
data: null
parts:
charm:
build-packages:
- git
- libffi-dev
- libssl-dev
- pkg-config
- rustc
- cargo
charm-binary-python-packages:
- cryptography
- jsonschema
- pydantic
- jinja2