jjb: Correct param builds for linux 6.9-rc1
[lttng-ci.git] / automation / ansible / playbooks / ci-instances.yml
CommitLineData
c3c15dc7 1---
455bd8ef 2- hosts: lxd_cluster_ci:localhost
c3c15dc7
KS
3 vars_files:
4 - ../vars/ci-instances.yml
5 - ../roles/lxd/defaults/main.yml
455bd8ef 6 - ../roles/libvirt/vars/main.yml
c3c15dc7 7 vars:
455bd8ef 8 skip_libvirt: false
7ff14a97 9 skip_lxd: false
c3c15dc7
KS
10 skip_dns: false
11 skip_jenkins: false
12 jenkins_config: "~/.config/jenkins_jobs/jenkins_jobs.ini"
13 jenkins_default_credentials: "c3e4f9f2-3e89-474d-bc75-6251a13e1053"
14 tasks:
15 - name: Manage instances
455bd8ef 16 when: item.lxd|default(false) and not skip_lxd and inventory_hostname == lxd_host
c3c15dc7
KS
17 include_tasks:
18 file: '../roles/lxd/tasks/container.yml'
19 vars:
20 object: >-
21 {{item.lxd|
22 combine({'config':{'user.network-config': lookup('ansible.builtin.template',
23 '../templates/cloud_init_netconf.j2',
24 template_vars=item.meta
25 )
26 }
27 },
28 recursive=true
29 )}}
30 with_items: "{{containers}}"
455bd8ef
KS
31 - name: Manage Libvirt VMs
32 when: item.vm|default(false) and not skip_libvirt and inventory_hostname == item.vm.host|default(libvirt_host)
33 include_tasks:
34 file: '../roles/libvirt/tasks/vm.yml'
35 vars:
36 object: "{{item.vm}}"
37 with_items: "{{containers}}"
c3c15dc7 38 - name: Update DNS entries
455bd8ef 39 when: not skip_dns and inventory_hostname == 'localhost'
c3c15dc7
KS
40 with_items: "{{containers}}"
41 ansible.builtin.command:
42 argv: [
455bd8ef 43 '../scripts/update_dns_entry.py', '-n', "{{item.lxd.name|default(item.vm.name)}}",
c3c15dc7
KS
44 '-z', "{{search_domain}}",
45 '-v', "{{item.meta.address}}",
46 '-s', "{{name_server}}",
47 ]
48 - name: Update Jenkins nodes
ecfc6da3 49 when: item.jenkins|default(false) and not skip_jenkins and inventory_hostname == 'localhost'
c3c15dc7
KS
50 with_items: "{{containers}}"
51 vars:
455bd8ef 52 node_name: "{{item.jenkins.node_name|default(item.lxd.name|default(item.vm.name))}}"
c3c15dc7 53 node_ip: "{{item.meta.address|default(None)}}"
455bd8ef 54 node_host: "{{item.meta.jenkins.node_host|default(item.lxd.name|default(item.vm.name) + '.' + search_domain)}}"
c3c15dc7
KS
55 node_label: "{{item.jenkins.label|default('')}}"
56 node_state: "{{item.jenkins.state|default('online')}}"
57 node_credentials: "{{item.jenkins.credentials|default(jenkins_default_credentials)}}"
58 node_message: "{{item.jenkins.message|default('Set offline by ansible')}}"
7ff14a97 59 node_mode: "{{item.jenkins.mode|default('NORMAL')}}"
455bd8ef 60 node_json: "{{item.jenkins.config|default({})|to_json}}"
c3c15dc7
KS
61 ansible.builtin.command:
62 argv: [
63 '../scripts/update_jenkins_node.py', '-n', "{{node_name}}",
64 '-c', "launcher/host={{node_ip|default(node_host)}}",
65 '-c', "label={{node_label}}",
66 '-c', "launcher/credentialsId={{node_credentials}}",
67 '-c', "launcher/sshHostKeyVerificationStrategy=hudson.plugins.sshslaves.verifiers.ManuallyTrustedKeyVerificationStrategy=class",
7ff14a97 68 '-c', "mode={{node_mode}}",
c3c15dc7
KS
69 '-s', "{{node_state}}", '-m', "{{node_message}}",
70 '-f', "{{jenkins_config|expanduser}}",
455bd8ef 71 '-j', "{{node_json}}",
c3c15dc7 72 ]
This page took 0.025449 seconds and 4 git commands to generate.