2 # The search domain for instance names
3 search_domain: internal.efficios.com
4 # Which DNS server to use for checks + updates
5 name_server: smb-adc02.internal.efficios.com
6 # The host to use for delegating lxd commands
7 lxd_host: ci-host-amd64-1a.internal.efficios.com
8 # Default host to create libvirt VMs on if not specified
9 libvirt_host: ci-host-amd64-1b.internal.efficios.com
11 # @see https://docs.ansible.com/ansible/latest/collections/community/general/lxd_container_module.html#ansible-collections-community-general-lxd-container-module
12 # @example a container instance with the default image (deb12 amd64)
14 # address: 192.168.1.2
16 # name: ci-node-example
18 # The meta.address is used to fill in the default lxd.config['user.network-config'] value
19 # templated from the cloud_init_netconf.j2 template. Note that this does not change the
20 # configuration inside an already deployed instances. The merged value of lxd is passed
21 # as arguments to community.general.lxd_container task.
23 # When a container/vm is created, the target within the cluster is
24 # determined by the allocation strategy configured for the LXD cluster. The
25 # default is to allocate the instance to the cluster member with the fewest
26 # instances (resource usage not considered).
28 # Once the instances are provisied meta.address and lxd.name are used to update the
29 # DNS records in Samba. @see scripts/update_dns_entry.py.
31 # @example a container created on a specific cluster member
33 # address: 192.168.1.2
35 # name: ci-node-example
36 # # This only affects creation, the container is not moved if it
37 # # already exists in the cluster.
38 # target: ci-host-amd64-1a
40 # @example a virtual machine with the default image
42 # address: 192.168.1.2
44 # name: ci-rootnode-example
45 # type: virtual-machine
49 # @example a VM with an ISO attached as a cdrom
51 # address: 192.168.1.2
53 # name: ci-rootnode-example
54 # type: virtual-machine
57 # # If there are configuration errors, sometimes the state
58 # # will need to be set to stopped to apply any differences.
59 # # Some values, eg. raw.apparmor, cannot be changed while the
60 # # VM or container is online. Note that the image needs to
61 # # be readable as the user 'nobody'.
64 # raw.qemu: '-drive file=/path/to/image.iso,media=cdrom'
65 # raw.apparmor: '/path/to/image.iso rk,'
67 # Console access, assuming the remote 'ci' is connected to the LXD cluster:
68 # lxc console ci:ci-rootnode-example --type vga
69 # Text console (may not have output depending on boot settings)
70 # lxc console ci:ci-rootnode-example
72 # @example Define a VM using libvirt
74 # # host: 'ci-host-example'
75 # name: 'ci-rootnode-example'
76 # disk: '/path/to/disk'
78 # @note libvirt VMs are created using the task roles/libvirt/vm.yml.
79 # If `vm.host` not specified, then the host will default to the one defined
82 # @note: `meta.address` doesn't set any additional information for libvirt VMs.
89 target: ci-host-amd64-1c
91 # Using a privileged container here means we can avoid doing
92 # uid/gid mapping and reduce the work done during file IO
93 security.privileged: 'true'
96 path: /storage/git-mirror
97 # This was created manually:
98 # zfs create -o mountpoint=/storage/git-mirror tank/lxd/custom/git-mirror
99 source: /storage/git-mirror
104 name: ci-node-deb12-amd64-01
106 label: 'deb12-amd64 deb12'
111 name: ci-node-deb12-amd64-02
113 label: 'deb12-amd64 deb12'
118 name: ci-node-deb12-amd64-03
120 label: 'deb12-amd64 deb12'
125 name: ci-node-deb12-amd64-04
127 label: 'deb12-amd64 deb12'
132 name: ci-node-deb12-amd64-05
134 label: 'deb12-amd64 deb12'
139 name: ci-node-deb12-amd64-06
141 label: 'deb12-amd64 deb12'
146 name: ci-node-deb12-amd64-07
148 label: 'deb12-amd64 deb12'
153 name: ci-node-deb12-amd64-08
155 label: 'deb12-amd64 deb12'
157 # "Root" nodes in libvirt, since Jenkins can use the "libvirt agents" plugin
158 # to revert to a specific snapshot before running a job
160 # @NOTE: For Jenkins, the node configuration was initially created by cloning
161 # or creating the nodes as they use a type of node which isn't 'simple' to
162 # create through the API. The entire XML configuration would have to be written
163 # from scratch. In effect, templates may be a better long term solution than
164 # the current structure.
167 name: 'ci-rootnode-deb12-amd64-1a-01'
168 label: 'deb12 deb12-amd64-rootnode'
172 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1a.internal.efficios.com'
173 launcher/virtualMachineName: 'ci-rootnode-deb12-amd64-1a-01'
174 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
175 launcher/delegate/port: '22'
176 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
177 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
178 ./hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1a.internal.efficios.com'
179 ./virtualMachineName: 'ci-rootnode-deb12-amd64-1a-01'
181 beforeJobSnapshotName: 'base-configuration'
182 startupWaitingPeriodSeconds: '20'
183 launcher/waitTimeMs: '20000'
184 shutdownMethod: 'destroy'
186 name: 'ci-rootnode-deb12-amd64-1a-01'
187 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-amd64-1a-01.qcow'
188 host: 'ci-host-amd64-1a.internal.efficios.com'
192 name: 'ci-rootnode-deb12-i386-1a-01'
193 label: 'deb12 deb12-i386-rootnode'
197 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1a.internal.efficios.com'
198 launcher/virtualMachineName: 'ci-rootnode-deb12-i386-1a-01'
199 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
200 launcher/delegate/port: '22'
201 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
202 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
203 ./hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1a.internal.efficios.com'
204 ./virtualMachineName: 'ci-rootnode-deb12-i386-1a-01'
206 beforeJobSnapshotName: 'base-configuration'
207 startupWaitingPeriodSeconds: '20'
208 launcher/waitTimeMs: '20000'
209 shutdownMethod: 'destroy'
211 name: 'ci-rootnode-deb12-i386-1a-01'
212 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-i386-1a-01.qcow'
213 host: 'ci-host-amd64-1a.internal.efficios.com'
217 label: 'deb12 deb12-amd64-rootnode'
218 name: 'ci-rootnode-deb12-amd64-1b-01'
222 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1b.internal.efficios.com'
223 launcher/virtualMachineName: 'ci-rootnode-deb12-amd64-1b-01'
224 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
225 launcher/delegate/port: '22'
226 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
227 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
228 ./hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1b.internal.efficios.com'
229 ./virtualMachineName: 'ci-rootnode-deb12-amd64-1b-01'
231 beforeJobSnapshotName: 'base-configuration'
232 startupWaitingPeriodSeconds: '20'
233 launcher/waitTimeMs: '20000'
234 shutdownMethod: 'destroy'
236 name: 'ci-rootnode-deb12-amd64-1b-01'
237 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-amd64-1b-01.qcow'
238 host: 'ci-host-amd64-1b.internal.efficios.com'
242 label: 'deb12 deb12-amd64-rootnode'
243 name: 'ci-rootnode-deb12-amd64-1c-01'
247 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1c.internal.efficios.com'
248 launcher/virtualMachineName: 'ci-rootnode-deb12-amd64-1c-01'
249 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
250 launcher/delegate/port: '22'
251 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
252 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
254 beforeJobSnapshotName: 'base-configuration'
255 startupWaitingPeriodSeconds: '20'
256 launcher/waitTimeMs: '20000'
257 shutdownMethod: 'destroy'
259 name: 'ci-rootnode-deb12-amd64-1c-01'
260 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-amd64-1c-01.qcow'
261 host: 'ci-host-amd64-1c.internal.efficios.com'
265 label: 'deb12 deb12-amd64-rootnode'
266 name: 'ci-rootnode-deb12-amd64-1d-01'
269 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1d.internal.efficios.com'
270 launcher/virtualMachineName: 'ci-rootnode-deb12-amd64-1d-01'
271 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
272 launcher/delegate/port: '22'
273 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
274 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
275 ./hypervisorDescription: 'QEMU+ssh - ci-host-amd64-1d.internal.efficios.com'
276 ./virtualMachineName: 'ci-rootnode-deb12-amd64-1d-01'
278 beforeJobSnapshotName: 'base-configuration'
279 startupWaitingPeriodSeconds: '20'
280 launcher/waitTimeMs: '20000'
281 shutdownMethod: 'destroy'
283 name: 'ci-rootnode-deb12-amd64-1d-01'
284 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-amd64-1d-01.qcow'
285 host: 'ci-host-amd64-1d.internal.efficios.com'
289 label: 'deb12 deb12-amd64-rootnode'
290 name: 'ci-rootnode-deb12-amd64-2a-01'
294 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-2a.internal.efficios.com'
295 launcher/virtualMachineName: 'ci-rootnode-deb12-amd64-2a-01'
296 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
297 launcher/delegate/port: '22'
298 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
299 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
300 ./hypervisorDescription: 'QEMU+ssh - ci-host-amd64-2a.internal.efficios.com'
301 ./virtualMachineName: 'ci-rootnode-deb12-amd64-2a-01'
303 beforeJobSnapshotName: 'base-configuration'
304 startupWaitingPeriodSeconds: '20'
305 shutdownMethod: 'destroy'
307 name: 'ci-rootnode-deb12-amd64-2a-01'
308 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-amd64-2a-01.qcow'
309 host: 'ci-host-amd64-2a.internal.efficios.com'
313 label: 'deb12 deb12-amd64-rootnode'
314 name: 'ci-rootnode-deb12-amd64-2b-01'
318 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-2b.internal.efficios.com'
319 launcher/virtualMachineName: 'ci-rootnode-deb12-amd64-2b-01'
320 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
321 launcher/delegate/port: '22'
322 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
323 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
324 ./hypervisorDescription: 'QEMU+ssh - ci-host-amd64-2b.internal.efficios.com'
325 ./virtualMachineName: 'ci-rootnode-deb12-amd64-2b-01'
327 beforeJobSnapshotName: 'base-configuration'
328 startupWaitingPeriodSeconds: '20'
329 launcher/waitTimeMs: '20000'
330 shutdownMethod: 'destroy'
332 name: 'ci-rootnode-deb12-amd64-2b-01'
333 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-amd64-2b-01.qcow'
334 host: 'ci-host-amd64-2b.internal.efficios.com'
338 label: 'deb12 deb12-amd64-rootnode'
339 name: 'ci-rootnode-deb12-amd64-2c-01'
343 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-2c.internal.efficios.com'
344 launcher/virtualMachineName: 'ci-rootnode-deb12-amd64-2c-01'
345 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
346 launcher/delegate/port: '22'
347 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
348 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
349 ./hypervisorDescription: 'QEMU+ssh - ci-host-amd64-2c.internal.efficios.com'
350 ./virtualMachineName: 'ci-rootnode-deb12-amd64-2c-01'
352 beforeJobSnapshotName: 'base-configuration'
353 startupWaitingPeriodSeconds: '20'
354 launcher/waitTimeMs: '20000'
355 shutdownMethod: 'destroy'
357 name: 'ci-rootnode-deb12-amd64-2c-01'
358 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-amd64-2c-01.qcow'
359 host: 'ci-host-amd64-2c.internal.efficios.com'
363 label: 'deb12 deb12-amd64-rootnode'
364 name: 'ci-rootnode-deb12-amd64-2d-01'
368 launcher/hypervisorDescription: 'QEMU+ssh - ci-host-amd64-2d.internal.efficios.com'
369 launcher/virtualMachineName: 'ci-rootnode-deb12-amd64-2d-01'
370 launcher/delegate: 'hudson.plugins.sshslaves.SSHLauncher=class'
371 launcher/delegate/port: '22'
372 launcher/delegate/host: 'ci-rootnode-deb12-amd64-1a-01.internal.efficios.com'
373 launcher/delegate/credentialsId: 'bb5a81cf-346b-43fc-8586-3dc5e43801be'
374 ./hypervisorDescription: 'QEMU+ssh - ci-host-amd64-2d.internal.efficios.com'
375 ./virtualMachineName: 'ci-rootnode-deb12-amd64-2d-01'
377 beforeJobSnapshotName: 'base-configuration'
378 startupWaitingPeriodSeconds: '20'
379 launcher/waitTimeMs: '20000'
380 shutdownMethod: 'destroy'
382 name: 'ci-rootnode-deb12-amd64-2d-01'
383 disk: '/var/lib/libvirt/images/ci-rootnode-deb12-amd64-2d-01.qcow'
384 host: 'ci-host-amd64-2d.internal.efficios.com'