blob: 507a0b27715c6c0a7886840d3f6129dc3139519c [file] [log] [blame]
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +02001# 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
Rico Line7132672024-02-28 00:10:53 +080057 env:
58 DOCKER_TIMEOUT: 600
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +020059 config_options:
60 connection:
61 pipelining: true
62 tags:
63 skip: >-
64 sysctl,
65 ethtool
66 inventory:
67 group_vars:
68 all:
69 # Ceph
70 ceph_fsid: ${MOLECULE_CEPH_FSID:-"d1f9e453-f13a-4d30-9ab1-e5ae1d87b67f"}
71 ceph_conf_overrides:
72 - section: global
73 option: osd crush chooseleaf type
74 value: 0
75 - section: mon
76 option: auth allow insecure global id reclaim
77 value: false
78 # Kubernetes
79 kubernetes_keepalived_interface: eth0
80 kubernetes_keepalived_vrid: 42
81 kubernetes_keepalived_vip: 10.96.240.10
82 kubernetes_hostname: 10.96.240.10
83 # CNI
84 cilium_helm_values:
85 operator:
86 replicas: 1
87 # CSI
88 csi_driver: ${MOLECULE_CSI_DRIVER:-"local-path-provisioner"}
89 ceph_csi_rbd_helm_values:
90 provisioner:
91 replicaCount: 1
92 # Certificates
93 cluster_issuer_type: self-signed
94 # Ingress
95 ingress_nginx_helm_values:
96 controller:
97 config:
98 worker-processes: 2
99 # Percona XtraDB Cluster
100 percona_xtradb_cluster_spec:
101 allowUnsafeConfigurations: true
102 pxc:
103 size: 1
104 haproxy:
105 size: 1
106 # Common
107 domain_name: "{{ (lookup('env', 'HOST_IP') | default(ansible_default_ipv4.address, true)).replace('.', '-') }}.nip.io"
108 openstack_helm_endpoints_region_name: RegionOne
109 # Keycloak
110 keycloak_host: "keycloak.{{ domain_name }}"
111 keycloak_database_password: secrete123
112 keycloak_admin_password: secrete123
113 # Monitoring
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +0200114 kube_prometheus_stack_grafana_admin_password: secrete123
Rico Lin37ebfde2024-02-27 00:20:03 +0800115 kube_prometheus_stack_prometheus_host: "prometheus.{{ domain_name }}"
116 kube_prometheus_stack_alertmanager_host: "alertmanager.{{ domain_name }}"
117 kube_prometheus_stack_grafana_host: "grafana.{{ domain_name }}"
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +0200118 # Memcached
119 openstack_helm_endpoints_memcached_secret_key: secrete123
120 # RabbitMQ
121 rabbitmq_spec:
122 resources:
123 requests:
124 cpu: 250m
125 memory: 256Mi
126 # Keystone
127 openstack_helm_endpoints_keystone_api_host: "identity.{{ domain_name }}"
128 openstack_helm_endpoints_keystone_admin_password: secrete123
129 openstack_helm_endpoints_keystone_mariadb_password: secrete123
130 openstack_helm_endpoints_keystone_rabbitmq_password: secrete123
131 keystone_keycloak_client_secret: secrete123
132 keystone_oidc_crypto_passphrase: secrete123
133 keystone_helm_values:
134 pod:
135 replicas:
136 api: 1
137 # Horizon
138 openstack_helm_endpoints_horizon_api_host: "dashboard.{{ domain_name }}"
139 openstack_helm_endpoints_horizon_mariadb_password: secrete123
140 horizon_helm_values:
141 pod:
142 replicas:
143 server: 1
Rico Linb07029f2023-10-18 21:26:01 +0800144 cinder_helm_values:
145 conf:
146 cinder:
147 DEFAULT:
148 osapi_volume_workers: 2
Oleksandr Kozachenkob0093492023-09-06 21:43:47 +0200149 cephs:
150 ceph_osd_devices:
151 - "/dev/ceph-{{ inventory_hostname_short }}-osd0/data"
152 - "/dev/ceph-{{ inventory_hostname_short }}-osd1/data"
153 - "/dev/ceph-{{ inventory_hostname_short }}-osd2/data"
154 # options:
155 # inventory: "${MOLECULE_EPHEMERAL_DIRECTORY}/workspace"
156 # inventory:
157 # links:
158 # host_vars: "${MOLECULE_SCENARIO_DIRECTORY}/host_vars"
159 # group_vars: "${MOLECULE_SCENARIO_DIRECTORY}/group_vars"
160verifier:
161 name: ansible