| # Copyright (c) 2022 VEXXHOST, Inc. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may |
| # not use this file except in compliance with the License. You may obtain |
| # a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations |
| # under the License. |
| |
| dependency: |
| name: galaxy |
| driver: |
| name: delegated |
| platforms: |
| - name: ctl1 |
| groups: &controller_groups |
| - controllers |
| - cephs |
| - ceph_mons |
| - ceph_mgrs |
| - name: ctl2 |
| groups: *controller_groups |
| - name: ctl3 |
| groups: *controller_groups |
| - name: nvme1 |
| groups: &nvme_groups |
| - cephs |
| - ceph_osds |
| - name: nvme2 |
| groups: *nvme_groups |
| - name: nvme3 |
| groups: *nvme_groups |
| - name: kvm1 |
| groups: &kvm_groups |
| - computes |
| - name: kvm2 |
| groups: *kvm_groups |
| provisioner: |
| name: ansible |
| options: |
| extra-vars: "@${MOLECULE_EPHEMERAL_DIRECTORY}/secrets.yml" |
| config_options: |
| ssh_connection: |
| pipelining: true |
| inventory: |
| group_vars: |
| all: |
| atmosphere_image_repository: us-docker.pkg.dev/vexxhost-infra/openstack |
| kubernetes_hostname: 10.96.240.10 |
| controllers: |
| kubernetes_keepalived_vrid: 42 |
| kubernetes_keepalived_interface: ens3 |
| kubernetes_keepalived_vip: 10.96.240.10 |
| openstack_helm_endpoints_region_name: RegionOne |
| # Keystone |
| openstack_helm_endpoints_keystone_api_host: "identity.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Glance |
| openstack_helm_endpoints_glance_api_host: "image.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Cinder |
| openstack_helm_endpoints_cinder_api_host: "volume.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Placement |
| openstack_helm_endpoints_placement_api_host: "placement.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Neutron |
| openstack_helm_endpoints_neutron_api_host: "network.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| openstack_helm_neutron_values: |
| conf: |
| auto_bridge_add: |
| br-ex: ens4 |
| # Nova |
| openstack_helm_endpoints_nova_api_host: "compute.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| openstack_helm_endpoints_nova_novnc_host: "vnc.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Ironic |
| openstack_helm_endpoints_ironic_api_host: "baremetal.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Designate |
| openstack_helm_endpoints_designate_api_host: "dns.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Octavia |
| openstack_helm_endpoints_octavia_api_host: "load-balancer.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Senlin |
| openstack_helm_endpoints_senlin_api_host: "clustering.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Heat |
| openstack_helm_endpoints_heat_api_host: "orchestration.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| openstack_helm_endpoints_heat_cfn_api_host: "cloudformation.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| # Horizon |
| openstack_helm_endpoints_horizon_api_host: "dashboard.{{ hostvars['ctl1']['ansible_host'].replace('.', '-') }}.nip.io" |
| openstack_helm_endpoints_horizon_mariadb_password: horizon-mariadb-password |
| cephs: |
| ceph_mon_fsid: 441193d8-fed9-485b-87f4-09245ddc1fe7 |
| ceph_mon_public_network: 10.96.240.0/24 |
| ceph_osds: |
| ceph_osd_devices: |
| - /dev/vdb |
| - /dev/vdc |
| - /dev/vdd |
| verifier: |
| name: testinfra |