
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
136 lines
3.0 KiB
YAML
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
|