default-base: ubuntu@22.04/stable
applications:
  barbican:
    charm: barbican
    channel: 2024.1/stable
    revision: 209
    resources:
      policyd-override: 1
    num_units: 1
    to:
    - lxd:3
    options:
      openstack-origin: cloud:jammy-caracal
      vip: 10.12.4.51 10.12.8.51 10.12.12.51
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      amqp: metal-internal
      certificates: metal-internal
      cluster: metal-internal
      ha: metal-internal
      hsm: metal-admin
      identity-service: metal-internal
      internal: metal-internal
      public: provider-public
      secrets: metal-internal
      shared-db: metal-internal
  barbican-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  barbican-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  barbican-vault:
    charm: barbican-vault
    channel: 2024.1/stable
    revision: 75
    bindings:
      "": metal-admin
      certificates: metal-internal
      juju-info: metal-admin
      secrets: metal-internal
      secrets-storage: metal-internal
  ceph-mon:
    charm: ceph-mon
    channel: squid/stable
    revision: 491
    resources:
      alert-rules: 3
    num_units: 3
    to:
    - lxd:0
    - lxd:1
    - lxd:2
    options:
      expected-osd-count: 4
      monitor-count: 3
      source: cloud:jammy-caracal
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      bootstrap-source: storage
      client: storage
      cluster: replication
      cos-agent: metal-admin
      dashboard: metal-admin
      mds: storage
      metrics-endpoint: metal-admin
      mon: storage
      nrpe-external-master: metal-admin
      osd: storage
      prometheus: metal-admin
      public: storage
      radosgw: storage
      rbd-mirror: storage
  ceph-osd:
    charm: ceph-osd
    channel: squid/stable
    revision: 632
    num_units: 4
    to:
    - "0"
    - "1"
    - "2"
    - "3"
    options:
      osd-devices: /dev/vdb
      source: cloud:jammy-caracal
    constraints: arch=amd64 tags=openstack
    storage:
      bluestore-db: loop,1024M
      bluestore-wal: loop,1024M
      cache-devices: loop,10240M
      osd-devices: loop,1024M
      osd-journals: loop,1024M
    bindings:
      "": metal-admin
      cluster: replication
      mon: storage
      nrpe-external-master: metal-admin
      public: storage
      secrets-storage: metal-internal
  ceph-radosgw:
    charm: ceph-radosgw
    channel: squid/stable
    revision: 600
    num_units: 1
    to:
    - lxd:0
    options:
      source: cloud:jammy-caracal
      vip: 10.12.4.60 10.12.8.60 10.12.12.60
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      certificates: metal-internal
      cluster: metal-internal
      gateway: metal-internal
      ha: metal-internal
      identity-service: metal-internal
      internal: metal-internal
      master: metal-admin
      mon: storage
      nrpe-external-master: metal-admin
      object-store: metal-internal
      primary: metal-admin
      public: provider-public
      radosgw-user: metal-internal
      s3: metal-internal
      secondary: metal-admin
      slave: metal-admin
  ceph-radosgw-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  cinder:
    charm: cinder
    channel: 2024.1/stable
    revision: 733
    resources:
      policyd-override: 0
    num_units: 1
    to:
    - lxd:1
    options:
      block-device: None
      glance-api-version: 2
      vip: 10.12.4.52 10.12.8.52 10.12.12.52
    constraints: arch=amd64
    storage:
      block-devices: loop,10240M
    bindings:
      "": metal-admin
      admin: metal-admin
      amqp: metal-internal
      backup-backend: metal-internal
      ceph: storage
      certificates: metal-internal
      cinder-volume-service: metal-internal
      cluster: metal-internal
      ha: metal-internal
      identity-credentials: metal-internal
      identity-service: metal-internal
      image-service: metal-internal
      internal: metal-internal
      nrpe-external-master: metal-admin
      public: provider-public
      shared-db: metal-internal
      storage-backend: metal-internal
  cinder-ceph:
    charm: cinder-ceph
    channel: 2024.1/stable
    revision: 533
    bindings:
      "": metal-admin
      ceph: storage
      ceph-access: storage
      ceph-replication-device: metal-admin
      juju-info: metal-admin
      storage-backend: metal-internal
  cinder-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  cinder-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  dashboard-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  glance:
    charm: glance
    channel: 2024.1/stable
    revision: 642
    resources:
      policyd-override: 0
    num_units: 1
    to:
    - lxd:3
    options:
      image-conversion: true
      vip: 10.12.4.53 10.12.8.53 10.12.12.53
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      amqp: metal-internal
      ceph: storage
      certificates: metal-internal
      cinder-volume-service: metal-internal
      cluster: metal-internal
      ha: metal-internal
      identity-service: metal-internal
      image-service: metal-internal
      internal: metal-internal
      nrpe-external-master: metal-admin
      object-store: metal-internal
      public: provider-public
      shared-db: metal-internal
      storage-backend: metal-internal
  glance-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  glance-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  glance-simplestreams-sync:
    charm: glance-simplestreams-sync
    channel: 2024.1/stable
    revision: 124
    resources:
      simplestreams: 1
    num_units: 1
    to:
    - lxd:0
    options:
      use-internal-endpoints: true
      use_swift: false
    constraints: arch=amd64
    bindings:
      "": metal-admin
      certificates: metal-internal
      identity-service: metal-internal
      image-modifier: metal-internal
      nrpe-external-master: metal-admin
      simplestreams-image-service: metal-internal
  keystone:
    charm: keystone
    channel: 2024.1/stable
    revision: 778
    num_units: 1
    to:
    - lxd:0
    options:
      use-policyd-override: true
      vip: 10.12.4.50 10.12.8.50 10.12.12.50
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      certificates: metal-internal
      cluster: metal-internal
      domain-backend: metal-internal
      ha: metal-internal
      identity-admin: metal-internal
      identity-credentials: metal-internal
      identity-notifications: metal-internal
      identity-service: metal-internal
      internal: metal-internal
      keystone-fid-service-provider: metal-internal
      keystone-middleware: metal-internal
      nrpe-external-master: metal-admin
      public: provider-public
      shared-db: metal-internal
      websso-trusted-dashboard: metal-internal
  keystone-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  keystone-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  magnum:
    charm: magnum
    channel: 2024.1/stable
    revision: 70
    num_units: 1
    to:
    - lxd:1
    options:
      openstack-origin: cloud:jammy-caracal
      region: RegionOne
      vip: 10.12.4.54 10.12.8.54 10.12.12.54
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      amqp: metal-internal
      certificates: metal-internal
      cluster: metal-internal
      ha: metal-internal
      identity-service: metal-internal
      internal: metal-internal
      public: provider-public
      shared-db: metal-internal
  magnum-dashboard:
    charm: magnum-dashboard
    channel: 2024.1/stable
    revision: 59
    bindings:
      "": metal-admin
      certificates: metal-internal
      dashboard: metal-internal
  magnum-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  magnum-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  memcached:
    charm: memcached
    channel: latest/stable
    revision: 39
    num_units: 1
    to:
    - lxd:0
    constraints: arch=amd64
    bindings:
      "": metal-admin
      cache: metal-internal
      cluster: metal-internal
      local-monitors: metal-admin
      monitors: metal-admin
      munin: metal-admin
      nrpe-external-master: metal-admin
  mysql-innodb-cluster:
    charm: mysql-innodb-cluster
    channel: 8.0/stable
    revision: 164
    resources:
      mysql-shell: 0
    num_units: 3
    to:
    - lxd:0
    - lxd:1
    - lxd:2
    constraints: arch=amd64
    bindings:
      "": metal-admin
      certificates: metal-internal
      cluster: metal-internal
      coordinator: metal-internal
      db-monitor: metal-admin
      db-router: metal-internal
      shared-db: metal-internal
  ncc-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  neutron-api:
    charm: neutron-api
    channel: 2024.1/stable
    revision: 650
    resources:
      policyd-override: 0
    num_units: 1
    to:
    - lxd:1
    options:
      enable-ml2-port-security: true
      flat-network-providers: physnet1
      neutron-security-groups: true
      vip: 10.12.4.55 10.12.8.55 10.12.12.55
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      amqp: metal-internal
      certificates: metal-internal
      cluster: metal-internal
      etcd-proxy: metal-admin
      external-dns: metal-admin
      ha: metal-internal
      identity-service: metal-internal
      infoblox-neutron: metal-admin
      internal: metal-internal
      midonet: metal-admin
      neutron-api: metal-internal
      neutron-load-balancer: metal-admin
      neutron-plugin-api: metal-internal
      neutron-plugin-api-subordinate: metal-internal
      nrpe-external-master: metal-admin
      public: provider-public
      shared-db: metal-internal
      vsd-rest-api: metal-admin
  neutron-api-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  neutron-api-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  neutron-api-plugin-ovn:
    charm: neutron-api-plugin-ovn
    channel: 2024.1/stable
    revision: 178
    bindings:
      "": metal-admin
      certificates: metal-internal
      container: metal-admin
      neutron-plugin: metal-internal
      ovsdb-cms: metal-internal
  nova-cloud-controller:
    charm: nova-cloud-controller
    channel: 2024.1/stable
    revision: 795
    resources:
      policyd-override: 0
    num_units: 1
    to:
    - lxd:3
    options:
      console-access-protocol: novnc
      network-manager: Neutron
      vip: 10.12.4.56 10.12.8.56 10.12.12.56
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      amqp: metal-internal
      amqp-cell: metal-internal
      certificates: metal-internal
      cinder-volume-service: metal-internal
      cloud-compute: metal-internal
      cloud-controller: metal-internal
      cluster: metal-internal
      dashboard: metal-internal
      ha: metal-internal
      identity-service: metal-internal
      image-service: metal-internal
      internal: metal-internal
      memcache: metal-internal
      neutron-api: metal-internal
      nova-cell-api: metal-internal
      nova-vmware: metal-admin
      nrpe-external-master: metal-admin
      placement: metal-internal
      public: provider-public
      quantum-network-service: metal-admin
      shared-db: metal-internal
      shared-db-cell: metal-internal
  nova-cloud-controller-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  nova-compute:
    charm: nova-compute
    channel: 2024.1/stable
    revision: 827
    num_units: 3
    to:
    - "1"
    - "2"
    - "3"
    options:
      config-flags: default_ephemeral_format=ext4
      enable-live-migration: true
      enable-resize: true
      libvirt-image-backend: rbd
      migration-auth-type: ssh
      reserved-host-memory: 8192
      resume-guests-state-on-host-boot: true
      virt-type: qemu
    constraints: arch=amd64
    storage:
      ephemeral-device: loop,10240M
    bindings:
      "": metal-admin
      amqp: metal-internal
      ceph: storage
      ceph-access: storage
      cloud-compute: metal-internal
      cloud-credentials: metal-internal
      compute-peer: metal-internal
      ephemeral-backend: metal-admin
      image-service: metal-internal
      internal: metal-internal
      ironic-api: metal-admin
      lxd: metal-admin
      migration: metal-internal
      neutron-plugin: data-tenant
      nova-ceilometer: metal-admin
      nova-vgpu: metal-admin
      nrpe-external-master: metal-admin
      secrets-storage: metal-internal
      storage-backend: metal-internal
  octavia:
    charm: octavia
    channel: 2024.1/stable
    revision: 441
    resources:
      policyd-override: 0
    num_units: 1
    to:
    - lxd:3
    options:
      amp-image-tag: octavia-amphora
      debug: false
      lb-mgmt-controller-cacert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNJakNDQWFpZ0F3SUJBZ0lVR2IvQ3YwZElzT2lVZ043YXUxNStWdDBFbTBBd0NnWUlLb1pJemowRUF3TXcKU0RFeU1EQUdBMVVFQXd3cFZsSXdJRVJETUNCUGJXVm5ZU0JEYkc5MVpDQlBZM1JoZG1saElFTnZiblJ5YjJ4cwpaWElnUTBFeEVqQVFCZ05WQkFvTUNVNWxkVzFoZEhKcGVEQWVGdzB5TmpBMU1qa3dNakV5TkRGYUZ3MHpOakExCk1qWXdNakV5TkRGYU1FZ3hNakF3QmdOVkJBTU1LVlpTTUNCRVF6QWdUMjFsWjJFZ1EyeHZkV1FnVDJOMFlYWnAKWVNCRGIyNTBjbTlzYkdWeUlFTkJNUkl3RUFZRFZRUUtEQWxPWlhWdFlYUnlhWGd3ZGpBUUJnY3Foa2pPUFFJQgpCZ1VyZ1FRQUlnTmlBQVI4NGE0RWpBRmZGaGdPbWpmRU5uSzYwcGdmamM1S250L3BtOU5LY1NxeGY3eFF2QzVPClNudVpUVk5wZXRBUzIxdUx3bkdEOXkrRnhab0UwK2tha1JDL251S05lVnc0U2hhbGo5U1YrZ3hGYlg3RTdaSVMKbCtMSHZJTWNyWXhlcHkralV6QlJNQjBHQTFVZERnUVdCQlEvaDROL0h2V2xHSW9XOWFoTlA4OHVVQ2VocGpBZgpCZ05WSFNNRUdEQVdnQlEvaDROL0h2V2xHSW9XOWFoTlA4OHVVQ2VocGpBUEJnTlZIUk1CQWY4RUJUQURBUUgvCk1Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01IM090bUhZRzc3M05JQzB3NWljVzlESWFUeUZCYnYrVGFXU1hFSjIKVDQ0VzJnQi9nS0xWaXJtRHRwL25CK25HbmdJeEFKS3kwRGhSbFJNOUhKc3d1MDA2WHZISFRDNUtMSXRTeVZjTQpucUdHMGF6aHZrUW1vSm95QWlBd0tMQmliMFZPTFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
      lb-mgmt-controller-cert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNxRENDQWk2Z0F3SUJBZ0lVRWtzZEx6T0dQTW1ybGFqbjNiYXowbzJDbEt3d0NnWUlLb1pJemowRUF3SXcKU0RFeU1EQUdBMVVFQXd3cFZsSXdJRVJETUNCUGJXVm5ZU0JEYkc5MVpDQlBZM1JoZG1saElFTnZiblJ5YjJ4cwpaWElnUTBFeEVqQVFCZ05WQkFvTUNVNWxkVzFoZEhKcGVEQWVGdzB5TmpBMU1qa3dNakUyTWpKYUZ3MHlPREExCk1qZ3dNakUyTWpKYU1GVXhQekE5QmdOVkJBTU1ObTlqZEdGMmFXRXRZMjl1ZEhKdmJHeGxjaTV2YldWbllTNWsKWXpBdWRuSXdMbU5zYjNWa0xtNWxkVzFoZEhKcGVDNXNiMk5oYkRFU01CQUdBMVVFQ2d3SlRtVjFiV0YwY21sNApNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVCczkzc2h6WXlxZG9DZG44cWIrSFVmbEFhNUVFCjZya3FOdmJWeSsxSGU2ZmxUektuakgvQ1I2c0luMzNaV21aM0hLdGF1VXoyWTh6UmxxRU5tdUpHY2FPQjZEQ0IKNVRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUJCUVVIQXdJR0NDc0dBUVVGQndNQgpNSFFHQTFVZEVRUnRNR3VDTm05amRHRjJhV0V0WTI5dWRISnZiR3hsY2k1dmJXVm5ZUzVrWXpBdWRuSXdMbU5zCmIzVmtMbTVsZFcxaGRISnBlQzVzYjJOaGJJSXJiMk4wWVhacFlTNXZiV1ZuWVM1a1l6QXVkbkl3TG1Oc2IzVmsKTG01bGRXMWhkSEpwZUM1c2IyTmhiSWNFQ2d3RTZUQWRCZ05WSFE0RUZnUVVqTnRJcnFGQk8va3Z5eXlIeit4YQpEQ2FXaXV3d0h3WURWUjBqQkJnd0ZvQVVQNGVEZng3MXBSaUtGdldvVFQvUExsQW5vYVl3Q2dZSUtvWkl6ajBFCkF3SURhQUF3WlFJd0FiY0tZSmtPNStTMUtDVnNrNHdVWWlpeUg2MCtMdUlLWDJSYlN1MlhZdTBZRFcxd3VlTFAKTEVzZXFhcDZpbG1XQWpFQTB1djVGRTRoV2RqU0piL1NWamNoWnhBNm9BVi83cTlqTUQ5a0lBcWZTK05oUEJiYwpQS0U2ZFhoZlZlSWV2WG9mCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JR0hBZ0VBTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEJHMHdhd0lCQVFRZzBnU1Y5cDZDeDlFdzRsT20KLys3dFBkUzdqMlBkd1dzWEpQQmFGOC9iL3p1aFJBTkNBQVFHejNleUhOaktwMmdKMmZ5cHY0ZFIrVUJya1FUcQp1U28yOXRYTDdVZDdwK1ZQTXFlTWY4Skhxd2lmZmRsYVpuY2NxMXE1VFBaanpOR1dvUTJhNGtaeAotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==
      lb-mgmt-issuing-ca-key-passphrase: Ixnq0p6kZe5qReUwLmfPJ1Z+FbP8m8bMo267jBW2ij4=
      lb-mgmt-issuing-ca-private-key: LS0tLS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQpNSUlCSERCWEJna3Foa2lHOXcwQkJRMHdTakFwQmdrcWhraUc5dzBCQlF3d0hBUUlKVFpsck9yT2RCRUNBZ2dBCk1Bd0dDQ3FHU0liM0RRSUpCUUF3SFFZSllJWklBV1VEQkFFcUJCQmRVeFFIcm1nSnR5Ny9jQk00OVp6akJJSEEKRUFqbWhCQ1JteUJCT2pRTzdJRU1MYitPcVFCKzNHaTFoTThvWk9FMGFTVnJOQWNRUGprc2hRUHl4azk3eTNCNQo1c2Z6QUtiVkM2ajBNRzI1M25hQTU0Qy9CYmRmMXFKcXFEOEwrUlZ1SUQzRDhvS2pOY1BEeW5jL2FyWlRzK2c1ClFvVUMxemlrOUIrQ3BNOFFZT2FWOGRTZERFV055a0NqWmNOVzYxWGdIK3VTUmxNMlFLSTFDT0tKS3A2a2JQV2sKcC9XQUYrdFo3NW1yT2ZiMlpmTGpPU2NsQjFGcGZaaFFYb3gvbEhIS1BYM2hzSDVPc0FuTWZqR0szd29sVFVSNwotLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQo=
      lb-mgmt-issuing-cacert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNIVENDQWFLZ0F3SUJBZ0lVVmZmUHI2S2JGQTkxL3JVdnVHU0pQaUVPdEFzd0NnWUlLb1pJemowRUF3TXcKUlRFdk1DMEdBMVVFQXd3bVZsSXdJRVJETUNCUGJXVm5ZU0JEYkc5MVpDQlBZM1JoZG1saElFbHpjM1ZwYm1jZwpRMEV4RWpBUUJnTlZCQW9NQ1U1bGRXMWhkSEpwZURBZUZ3MHlOakExTWprd01qRXlOREZhRncwek5qQTFNall3Ck1qRXlOREZhTUVVeEx6QXRCZ05WQkFNTUpsWlNNQ0JFUXpBZ1QyMWxaMkVnUTJ4dmRXUWdUMk4wWVhacFlTQkoKYzNOMWFXNW5JRU5CTVJJd0VBWURWUVFLREFsT1pYVnRZWFJ5YVhnd2RqQVFCZ2NxaGtqT1BRSUJCZ1VyZ1FRQQpJZ05pQUFSUktwenZQWTgxVEJvSTlzTFBHK2h5U2lxbEpYQTZab0tvSUdyMW11L2VUVmlqR1g2cEpBbzl6MEhwCmthckFqZ3RKQVhvOWZiRXU5dzhCNlRIZllVRzBLRlBQQURqanh3YWQwbmkxeE9iYlAzYW5PTmRqVFFyL092MVUKblA4Rm5tS2pVekJSTUIwR0ExVWREZ1FXQkJSVVRGNzZpcEZOb0J2UmpoQmVQNTczSmJaM1FUQWZCZ05WSFNNRQpHREFXZ0JSVVRGNzZpcEZOb0J2UmpoQmVQNTczSmJaM1FUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01Bb0dDQ3FHClNNNDlCQU1EQTJrQU1HWUNNUUM1OGxBVHBaQzd0eWZjMG9EdE43Y0tzMmk2WitSMDE4eFlZNVhQcndZNjJ4OHcKZVBIdlBVS3FnVXhnYkg2Zy9HOENNUURpQ2lORDBzQ2l1aHBGdmY4YXF4bjFoZlpwNmxST1RoQTR2SXR2aWxZRgpJdlNOajJZdkR1b2p1OHVFalNXSW15MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      openstack-origin: cloud:jammy-caracal
      vip: 10.12.4.57 10.12.8.57 10.12.12.57
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      amqp: metal-internal
      certificates: metal-internal
      cluster: metal-internal
      ha: metal-internal
      identity-service: metal-internal
      internal: metal-internal
      neutron-api: metal-internal
      neutron-openvswitch: metal-internal
      nrpe-external-master: metal-admin
      ovsdb-cms: data-tenant
      ovsdb-subordinate: metal-internal
      public: provider-public
      shared-db: metal-internal
  octavia-dashboard:
    charm: octavia-dashboard
    channel: 2024.1/stable
    revision: 120
    bindings:
      "": metal-admin
      certificates: metal-internal
      dashboard: metal-internal
  octavia-diskimage-retrofit:
    charm: octavia-diskimage-retrofit
    channel: 2024.1/stable
    revision: 196
    resources:
      core18: 0
      octavia-diskimage-retrofit: 0
      snapd: 0
    options:
      amp-image-tag: octavia-amphora
      image-format: raw
      use-internal-endpoints: true
    bindings:
      "": metal-admin
      certificates: metal-internal
      identity-credentials: metal-internal
      juju-info: metal-admin
  octavia-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  octavia-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  openstack-dashboard:
    charm: openstack-dashboard
    channel: 2024.1/stable
    revision: 728
    resources:
      policyd-override: 0
      theme: 0
    num_units: 1
    to:
    - lxd:2
    options:
      debug: "false"
      vip: 10.12.4.58 10.12.8.58 10.12.12.58
    constraints: arch=amd64
    bindings:
      "": metal-admin
      application-dashboard: metal-internal
      certificates: metal-internal
      cluster: metal-internal
      dashboard: metal-internal
      dashboard-plugin: metal-internal
      ha: metal-internal
      identity-service: metal-internal
      nrpe-external-master: metal-admin
      public: provider-public
      shared-db: metal-internal
      website: metal-internal
      websso-fid-service-provider: metal-internal
      websso-trusted-dashboard: metal-internal
  openstack-dashboard-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  ovn-central:
    charm: ovn-central
    channel: 24.03/stable
    revision: 311
    num_units: 3
    to:
    - lxd:0
    - lxd:1
    - lxd:2
    constraints: arch=amd64
    bindings:
      "": metal-admin
      certificates: metal-internal
      coordinator: metal-internal
      cos-agent: metal-admin
      metrics-endpoint: metal-admin
      nrpe-external-master: metal-admin
      ovsdb: metal-internal
      ovsdb-cms: metal-internal
      ovsdb-peer: metal-internal
      ovsdb-server: metal-internal
  ovn-chassis:
    charm: ovn-chassis
    channel: 24.03/stable
    revision: 396
    options:
      bridge-interface-mappings: br-ex:52:54:00:3d:fd:54 br-ex:52:54:00:9d:63:77 br-ex:52:54:00:89:7f:ce
        br-ex:52:54:00:99:fc:c2
      ovn-bridge-mappings: physnet1:br-ex
      prefer-chassis-as-gw: true
    bindings:
      "": metal-admin
      amqp: metal-internal
      certificates: metal-internal
      cos-agent: metal-admin
      data: data-tenant
      juju-info: metal-admin
      metrics-endpoint: metal-admin
      nova-compute: metal-admin
      nrpe-external-master: metal-admin
      ovsdb: metal-internal
      ovsdb-subordinate: metal-internal
  ovn-chassis-octavia:
    charm: ovn-chassis
    channel: 24.03/stable
    revision: 396
    bindings:
      "": metal-admin
      amqp: metal-internal
      certificates: metal-internal
      cos-agent: metal-admin
      data: data-tenant
      juju-info: metal-admin
      metrics-endpoint: metal-admin
      nova-compute: metal-admin
      nrpe-external-master: metal-admin
      ovsdb: metal-internal
      ovsdb-subordinate: metal-internal
  placement:
    charm: placement
    channel: 2024.1/stable
    revision: 125
    num_units: 1
    to:
    - lxd:3
    options:
      vip: 10.12.4.59 10.12.8.59 10.12.12.59
    constraints: arch=amd64
    bindings:
      "": metal-admin
      admin: metal-admin
      amqp: metal-internal
      certificates: metal-internal
      cluster: metal-internal
      ha: metal-internal
      identity-service: metal-internal
      internal: metal-internal
      placement: metal-internal
      public: provider-public
      shared-db: metal-internal
  placement-hacluster:
    charm: hacluster
    channel: 2.4/stable
    revision: 166
    options:
      cluster_count: 1
    bindings:
      "": metal-admin
      ha: metal-internal
      hanode: metal-internal
      juju-info: metal-admin
      nrpe-external-master: metal-admin
      pacemaker-remote: metal-internal
      peer-availability: metal-internal
  placement-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
  rabbitmq-server:
    charm: rabbitmq-server
    channel: 3.9/stable
    revision: 295
    num_units: 1
    to:
    - lxd:2
    constraints: arch=amd64
    bindings:
      "": metal-admin
      amqp: metal-internal
      certificates: metal-internal
      cluster: metal-internal
      dashboards: metal-admin
      ha: metal-internal
      nrpe-external-master: metal-admin
      prometheus-rules: metal-admin
      scrape: metal-admin
  vault:
    charm: vault
    channel: 1.8/stable
    revision: 372
    resources:
      core: 0
      vault: 0
    num_units: 1
    to:
    - lxd:3
    constraints: arch=amd64
    bindings:
      "": metal-admin
      access: metal-internal
      certificates: metal-internal
      cluster: metal-internal
      db: metal-admin
      etcd: metal-admin
      external: metal-internal
      ha: metal-internal
      lb-provider: metal-admin
      nrpe-external-master: metal-admin
      secrets: metal-internal
      shared-db: metal-internal
  vault-mysql-router:
    charm: mysql-router
    channel: 8.0/stable
    revision: 1154
    bindings:
      "": metal-admin
      certificates: metal-internal
      db-router: metal-internal
      juju-info: metal-admin
      shared-db: metal-internal
machines:
  "0":
    constraints: arch=amd64 tags=openstack
  "1":
    constraints: arch=amd64 tags=openstack
  "2":
    constraints: arch=amd64 tags=openstack
  "3":
    constraints: arch=amd64 tags=openstack
relations:
- - nova-cloud-controller:memcache
  - memcached:cache
- - vault-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - vault:shared-db
  - vault-mysql-router:shared-db
- - mysql-innodb-cluster:certificates
  - vault:certificates
- - keystone-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - keystone-mysql-router:shared-db
  - keystone:shared-db
- - keystone:certificates
  - vault:certificates
- - keystone:ha
  - keystone-hacluster:ha
- - glance-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - glance-mysql-router:shared-db
  - glance:shared-db
- - glance:identity-service
  - keystone:identity-service
- - glance:certificates
  - vault:certificates
- - glance:ha
  - glance-hacluster:ha
- - glance-simplestreams-sync:identity-service
  - keystone:identity-service
- - glance-simplestreams-sync:certificates
  - vault:certificates
- - ncc-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - ncc-mysql-router:shared-db
  - nova-cloud-controller:shared-db
- - nova-cloud-controller:identity-service
  - keystone:identity-service
- - nova-cloud-controller:amqp
  - rabbitmq-server:amqp
- - nova-cloud-controller:image-service
  - glance:image-service
- - nova-cloud-controller:neutron-api
  - neutron-api:neutron-api
- - nova-cloud-controller:cloud-compute
  - nova-compute:cloud-compute
- - nova-cloud-controller:cinder-volume-service
  - cinder:cinder-volume-service
- - nova-cloud-controller:certificates
  - vault:certificates
- - nova-cloud-controller:ha
  - nova-cloud-controller-hacluster:ha
- - nova-compute:amqp
  - rabbitmq-server:amqp
- - nova-compute:image-service
  - glance:image-service
- - placement-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - placement-mysql-router:shared-db
  - placement:shared-db
- - placement:identity-service
  - keystone:identity-service
- - placement:placement
  - nova-cloud-controller:placement
- - placement:certificates
  - vault:certificates
- - placement:ha
  - placement-hacluster:ha
- - neutron-api-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - neutron-api-mysql-router:shared-db
  - neutron-api:shared-db
- - neutron-api:identity-service
  - keystone:identity-service
- - neutron-api:amqp
  - rabbitmq-server:amqp
- - neutron-api:certificates
  - vault:certificates
- - neutron-api-plugin-ovn:neutron-plugin
  - neutron-api:neutron-plugin-api-subordinate
- - neutron-api-plugin-ovn:ovsdb-cms
  - ovn-central:ovsdb-cms
- - neutron-api-plugin-ovn:certificates
  - vault:certificates
- - ovn-central:certificates
  - vault:certificates
- - ovn-chassis:ovsdb
  - ovn-central:ovsdb
- - ovn-chassis:nova-compute
  - nova-compute:neutron-plugin
- - ovn-chassis:certificates
  - vault:certificates
- - neutron-api:ha
  - neutron-api-hacluster:ha
- - cinder-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - cinder-mysql-router:shared-db
  - cinder:shared-db
- - cinder:identity-service
  - keystone:identity-service
- - cinder:amqp
  - rabbitmq-server:amqp
- - cinder:image-service
  - glance:image-service
- - cinder:certificates
  - vault:certificates
- - cinder-ceph:storage-backend
  - cinder:storage-backend
- - cinder-ceph:ceph
  - ceph-mon:client
- - cinder-ceph:ceph-access
  - nova-compute:ceph-access
- - cinder:ha
  - cinder-hacluster:ha
- - ceph-mon:osd
  - ceph-osd:mon
- - ceph-mon:client
  - nova-compute:ceph
- - ceph-mon:client
  - glance:ceph
- - ceph-radosgw:mon
  - ceph-mon:radosgw
- - ceph-radosgw:identity-service
  - keystone:identity-service
- - ceph-radosgw:certificates
  - vault:certificates
- - ceph-radosgw:ha
  - ceph-radosgw-hacluster:ha
- - dashboard-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - dashboard-mysql-router:shared-db
  - openstack-dashboard:shared-db
- - openstack-dashboard:identity-service
  - keystone:identity-service
- - openstack-dashboard:certificates
  - vault:certificates
- - openstack-dashboard:ha
  - openstack-dashboard-hacluster:ha
- - octavia-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - octavia-mysql-router:shared-db
  - octavia:shared-db
- - octavia:identity-service
  - keystone:identity-service
- - octavia:amqp
  - rabbitmq-server:amqp
- - octavia:neutron-api
  - neutron-api:neutron-load-balancer
- - octavia:certificates
  - vault:certificates
- - octavia-dashboard:dashboard
  - openstack-dashboard:dashboard-plugin
- - ovn-chassis-octavia:ovsdb
  - ovn-central:ovsdb
- - ovn-chassis-octavia:ovsdb-subordinate
  - octavia:ovsdb-subordinate
- - ovn-chassis-octavia:certificates
  - vault:certificates
- - octavia-diskimage-retrofit:juju-info
  - glance-simplestreams-sync:juju-info
- - octavia-diskimage-retrofit:identity-credentials
  - keystone:identity-credentials
- - octavia:ha
  - octavia-hacluster:ha
- - barbican-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - barbican-mysql-router:shared-db
  - barbican:shared-db
- - barbican:identity-service
  - keystone:identity-service
- - barbican:amqp
  - rabbitmq-server:amqp
- - barbican:certificates
  - vault:certificates
- - barbican:secrets
  - barbican-vault:secrets
- - barbican-vault:certificates
  - vault:certificates
- - barbican-vault:secrets-storage
  - vault:secrets
- - barbican:ha
  - barbican-hacluster:ha
- - magnum-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - magnum:shared-db
  - magnum-mysql-router:shared-db
- - magnum:identity-service
  - keystone:identity-service
- - magnum:amqp
  - rabbitmq-server:amqp
- - magnum:certificates
  - vault:certificates
- - magnum-dashboard:dashboard
  - openstack-dashboard:dashboard-plugin
- - magnum:ha
  - magnum-hacluster:ha
