blob: 9514cfbf4ffa87419d67c57fe4fafe5f18a06cae [file] [log] [blame]
Oleksandr K249d3db2023-12-06 16:35:23 +01001# Copyright (c) 2023 VEXXHOST, Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
15dependency:
16 name: galaxy
17driver:
18 name: docker
19platforms:
20 - name: ${MOLECULE_SCENARIO_NAME}
21 image: geerlingguy/docker-${MOLECULE_DISTRO:-ubuntu2004}-ansible:latest
22 command: ${MOLECULE_DOCKER_COMMAND:-""}
23 privileged: true
24 cgroupns_mode: host
25 pre_build_image: true
26 purge_networks: true
27 dns_servers:
28 - 1.1.1.1
29 docker_networks:
30 - name: mgmt
31 ipam_config:
32 - subnet: 10.96.240.0/24
33 gateway: 10.96.240.1
34 - name: public
35 ipam_config:
36 - subnet: 10.96.250.0/24
37 gateway: 10.96.250.1
38 networks:
39 - name: mgmt
40 - name: public
41 published_ports:
42 - 80:80
43 - 443:443
44 security_opts:
45 - apparmor=unconfined
46 volumes:
47 - /dev:/dev
48 - /lib/modules:/lib/modules:ro
49 - /sys/fs/cgroup:/sys/fs/cgroup:rw
50 - /usr/src:/usr/src:ro
51 groups:
52 - controllers
53 - cephs
54 - computes
55provisioner:
56 name: ansible
57 config_options:
58 connection:
59 pipelining: true
60 tags:
61 skip: >-
62 sysctl,
63 ethtool
64 inventory:
65 group_vars:
66 all:
67 # Ceph
68 ceph_fsid: ${MOLECULE_CEPH_FSID:-"d1f9e453-f13a-4d30-9ab1-e5ae1d87b67f"}
69 ceph_conf_overrides:
70 - section: global
71 option: osd crush chooseleaf type
72 value: 0
73 - section: mon
74 option: auth allow insecure global id reclaim
75 value: false
76 # Kubernetes
77 kubernetes_keepalived_interface: eth0
78 kubernetes_keepalived_vrid: 42
79 kubernetes_keepalived_vip: 10.96.240.10
80 kubernetes_hostname: 10.96.240.10
81 # CNI
82 cilium_helm_values:
83 operator:
84 replicas: 1
85 # CSI
86 csi_driver: ${MOLECULE_CSI_DRIVER:-"local-path-provisioner"}
87 ceph_csi_rbd_helm_values:
88 provisioner:
89 replicaCount: 1
90 # Percona XtraDB Cluster
91 percona_xtradb_cluster_spec:
92 allowUnsafeConfigurations: true
93 pxc:
94 size: 1
95 haproxy:
96 size: 1
97 # Common
98 domain_name: "{{ (lookup('env', 'HOST_IP') | default(ansible_default_ipv4.address, true)).replace('.', '-') }}.nip.io"
99 openstack_helm_endpoints_region_name: RegionOne
100 cephs:
101 ceph_osd_devices:
102 - "/dev/ceph-{{ inventory_hostname_short }}-osd0/data"
103 - "/dev/ceph-{{ inventory_hostname_short }}-osd1/data"
104 - "/dev/ceph-{{ inventory_hostname_short }}-osd2/data"
105 # options:
106 # inventory: "${MOLECULE_EPHEMERAL_DIRECTORY}/workspace"
107 # inventory:
108 # links:
109 # host_vars: "${MOLECULE_SCENARIO_DIRECTORY}/host_vars"
110 # group_vars: "${MOLECULE_SCENARIO_DIRECTORY}/group_vars"
111verifier:
112 name: ansible