blob: 9514cfbf4ffa87419d67c57fe4fafe5f18a06cae [file] [log] [blame] [edit]
# 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