| # Copyright (c) 2023 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: docker |
| platforms: |
| - name: ${MOLECULE_SCENARIO_NAME} |
| image: geerlingguy/docker-${MOLECULE_DISTRO:-ubuntu2004}-ansible:latest |
| command: ${MOLECULE_DOCKER_COMMAND:-""} |
| privileged: true |
| cgroupns_mode: host |
| pre_build_image: true |
| purge_networks: true |
| dns_servers: |
| - 1.1.1.1 |
| docker_networks: |
| - name: mgmt |
| ipam_config: |
| - subnet: 10.96.240.0/24 |
| gateway: 10.96.240.1 |
| - name: public |
| ipam_config: |
| - subnet: 10.96.250.0/24 |
| gateway: 10.96.250.1 |
| networks: |
| - name: mgmt |
| - name: public |
| published_ports: |
| - 80:80 |
| - 443:443 |
| security_opts: |
| - apparmor=unconfined |
| volumes: |
| - /dev:/dev |
| - /lib/modules:/lib/modules:ro |
| - /sys/fs/cgroup:/sys/fs/cgroup:rw |
| - /usr/src:/usr/src:ro |
| groups: |
| - controllers |
| - cephs |
| - computes |
| provisioner: |
| name: ansible |
| config_options: |
| connection: |
| pipelining: true |
| tags: |
| skip: >- |
| sysctl, |
| ethtool |
| inventory: |
| group_vars: |
| all: |
| # Ceph |
| ceph_fsid: ${MOLECULE_CEPH_FSID:-"d1f9e453-f13a-4d30-9ab1-e5ae1d87b67f"} |
| ceph_conf_overrides: |
| - section: global |
| option: osd crush chooseleaf type |
| value: 0 |
| - section: mon |
| option: auth allow insecure global id reclaim |
| value: false |
| # Kubernetes |
| kubernetes_keepalived_interface: eth0 |
| kubernetes_keepalived_vrid: 42 |
| kubernetes_keepalived_vip: 10.96.240.10 |
| kubernetes_hostname: 10.96.240.10 |
| # CNI |
| cilium_helm_values: |
| operator: |
| replicas: 1 |
| # CSI |
| csi_driver: ${MOLECULE_CSI_DRIVER:-"local-path-provisioner"} |
| ceph_csi_rbd_helm_values: |
| provisioner: |
| replicaCount: 1 |
| # Percona XtraDB Cluster |
| percona_xtradb_cluster_spec: |
| allowUnsafeConfigurations: true |
| pxc: |
| size: 1 |
| haproxy: |
| size: 1 |
| # Common |
| domain_name: "{{ (lookup('env', 'HOST_IP') | default(ansible_default_ipv4.address, true)).replace('.', '-') }}.nip.io" |
| openstack_helm_endpoints_region_name: RegionOne |
| cephs: |
| ceph_osd_devices: |
| - "/dev/ceph-{{ inventory_hostname_short }}-osd0/data" |
| - "/dev/ceph-{{ inventory_hostname_short }}-osd1/data" |
| - "/dev/ceph-{{ inventory_hostname_short }}-osd2/data" |
| # options: |
| # inventory: "${MOLECULE_EPHEMERAL_DIRECTORY}/workspace" |
| # inventory: |
| # links: |
| # host_vars: "${MOLECULE_SCENARIO_DIRECTORY}/host_vars" |
| # group_vars: "${MOLECULE_SCENARIO_DIRECTORY}/group_vars" |
| verifier: |
| name: ansible |