Skip to content

Commit b6ea470

Browse files
classabbyampthe-maldridge
authored andcommitted
ansible: decommission builders
1 parent f942629 commit b6ea470

File tree

1 file changed

+34
-150
lines changed

1 file changed

+34
-150
lines changed
Lines changed: 34 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -1,173 +1,57 @@
11
---
2-
- name: Install BuildBot Slave and Dependencies
3-
xbps:
4-
pkg:
5-
- buildbot-slave
6-
- git
7-
state: present
8-
9-
- name: Create Buildslave user ({{ buildslave_user}})
10-
user:
11-
name: "{{ buildslave_user }}"
12-
state: present
13-
createhome: yes
14-
system: yes
15-
groups: "{{ buildslave_groups | join(',') }}"
16-
17-
- name: Create Buildsync user ({{ buildslave_sync_user }})
18-
user:
19-
name: "{{ buildslave_sync_user }}"
20-
state: present
21-
createhome: yes
22-
system: yes
23-
when: buildslave_isremote
24-
25-
- name: Create {{ buildslave_sync_user }} .ssh
26-
file:
27-
path: /home/{{ buildslave_sync_user }}/.ssh
28-
state: directory
29-
owner: "{{ buildslave_sync_user }}"
30-
group: "{{ buildslave_sync_user }}"
31-
mode: 0700
32-
when: buildslave_isremote
33-
34-
- name: Install sync key
35-
copy:
36-
src: secret/buildmaster_slave_reposync_public
37-
dest: /home/{{ buildslave_sync_user }}/.ssh/authorized_keys
38-
owner: "{{ buildslave_sync_user }}"
39-
group: "{{ buildslave_sync_user }}"
40-
mode: 0600
41-
when: buildslave_isremote
42-
43-
- name: Create Builder Directories
2+
- name: Disable BuildSlave
443
file:
45-
path: "/{{ buildslave_rootdir }}/{{ item.directory | default('void-builder-' + item.mach) }}"
46-
state: directory
47-
owner: "{{ buildslave_user }}"
48-
group: "{{ buildslave_user }}"
49-
mode: 0755
50-
with_items: "{{ buildslave_buildslaves | json_query(query) | unique }}"
51-
vars:
52-
query: "[?zone=='{{ buildslave_zone }}']"
53-
loop_control:
54-
label: "{{ item.mach }}"
55-
56-
- include_vars: secret/buildslave_credentials.yml
57-
58-
- name: Configure buildbot-slave
59-
template:
60-
src: buildbot.tac.j2
61-
dest: "/{{ buildslave_rootdir }}/{{ item.directory | default('void-builder-' + item.mach) }}/buildbot.tac"
62-
owner: "{{ buildslave_user }}"
63-
group: "{{ buildslave_user }}"
64-
mode: 0644
4+
path: "/var/service/{{ item.service_name | default('void-builder-' + item.mach) }}"
5+
state: absent
656
with_items: "{{ buildslave_buildslaves | json_query(query) }}"
667
vars:
678
query: "[?zone=='{{ buildslave_zone }}']"
689
loop_control:
6910
label: "{{ item.mach }}"
7011

71-
- name: Create buildbot-slave info directories
12+
- name: Remove Service Directories
7213
file:
73-
path: "/{{ buildslave_rootdir }}/{{ item.directory | default('void-builder-' + item.mach) }}/info"
74-
state: directory
75-
owner: "{{ buildslave_user }}"
76-
group: "{{ buildslave_user }}"
77-
mode: 0755
78-
with_items: "{{ buildslave_buildslaves | json_query(query) }}"
79-
vars:
80-
query: "[?zone=='{{ buildslave_zone }}']"
81-
loop_control:
82-
label: "{{ item.mach }}"
83-
84-
- name: Configure buildbot host description
85-
template:
86-
src: host.j2
87-
dest: "/{{ buildslave_rootdir }}/{{ item.directory | default('void-builder-' + item.mach) }}/info/host"
88-
owner: "{{ buildslave_user }}"
89-
group: "{{ buildslave_user }}"
90-
mode: 0644
14+
path: "/etc/sv/{{ item.service_name | default('void-builder-' + item.mach) }}"
15+
state: absent
9116
with_items: "{{ buildslave_buildslaves | json_query(query) }}"
9217
vars:
9318
query: "[?zone=='{{ buildslave_zone }}']"
9419
loop_control:
9520
label: "{{ item.mach }}"
9621

97-
- name: Configure buildbot admin description
98-
template:
99-
src: admin.j2
100-
dest: "/{{ buildslave_rootdir }}/{{ item.directory | default('void-builder-' + item.mach) }}/info/admin"
101-
owner: "{{ buildslave_user }}"
102-
group: "{{ buildslave_user }}"
103-
mode: 0644
104-
with_items: "{{ buildslave_buildslaves | json_query(query) }}"
105-
vars:
106-
query: "[?zone=='{{ buildslave_zone }}']"
107-
loop_control:
108-
label: "{{ item.mach }}"
22+
- name: Uninstall BuildBot Slave and Dependencies
23+
xbps:
24+
pkg:
25+
- buildbot-slave
26+
state: absent
10927

110-
- name: Configure xbps-src
111-
template:
112-
src: xbps-src.conf.j2
113-
dest: "/home/{{ buildslave_user }}/.xbps-src.conf"
114-
owner: "{{ buildslave_user }}"
115-
group: "{{ buildslave_user }}"
116-
mode: 0644
28+
- name: Remove Buildslave user ({{ buildslave_user}})
29+
user:
30+
name: "{{ buildslave_user }}"
31+
state: absent
32+
remove: true
11733

118-
- name: Configure local build mirror
119-
template:
120-
src: local-repository.conf
121-
dest: /etc/xbps.d/99-local-repository.conf
122-
owner: root
123-
group: root
124-
mode: 0644
125-
when: buildslave_zone in buildmaster_remote_zones
34+
- name: Remove Buildsync user ({{ buildslave_sync_user }})
35+
user:
36+
name: "{{ buildslave_sync_user }}"
37+
state: absent
38+
remove: true
39+
when: buildslave_isremote
12640

127-
- name: Create Service Directories
41+
- name: Remove Builder Directories
12842
file:
129-
path: "/etc/sv/{{ item.service_name | default('void-builder-' + item.mach) }}"
130-
state: directory
131-
owner: root
132-
group: root
133-
mode: 0755
134-
with_items: "{{ buildslave_buildslaves | json_query(query) }}"
135-
vars:
136-
query: "[?zone=='{{ buildslave_zone }}']"
137-
loop_control:
138-
label: "{{ item.mach }}"
43+
path: "/{{ buildslave_rootdir }}"
44+
state: absent
13945

140-
- name: Configure Runit
141-
template:
142-
src: run.j2
143-
dest: "/etc/sv/{{ item.service_name | default('void-builder-' + item.mach) }}/run"
144-
owner: root
145-
group: root
146-
mode: 0755
147-
with_items: "{{ buildslave_buildslaves | json_query(query) }}"
148-
vars:
149-
query: "[?zone=='{{ buildslave_zone }}']"
150-
loop_control:
151-
label: "{{ item.mach }}"
46+
- include_vars: secret/buildslave_credentials.yml
15247

153-
- name: Enable BuildSlave
48+
- name: Unconfigure local build mirror
15449
file:
155-
src: "/etc/sv/{{ item.service_name | default('void-builder-' + item.mach) }}"
156-
dest: "/var/service/{{ item.service_name | default('void-builder-' + item.mach) }}"
157-
state: link
158-
with_items: "{{ buildslave_buildslaves | json_query(query) }}"
159-
vars:
160-
query: "[?zone=='{{ buildslave_zone }}']"
161-
loop_control:
162-
label: "{{ item.mach }}"
50+
path: /etc/xbps.d/99-local-repository.conf
51+
state: absent
52+
when: buildslave_zone in buildmaster_remote_zones
16353

164-
- name: Install sudo policy
165-
template:
166-
src: buildslave.sudoers.j2
167-
dest: /etc/sudoers.d/buildslave
168-
owner: root
169-
group: root
170-
mode: 0640
171-
vars:
172-
query: "[?zone=='{{ buildslave_zone }}']"
173-
local_buildbots: "{{ buildslave_buildslaves | json_query(query) }}"
54+
- name: Remove sudo policy
55+
file:
56+
path: /etc/sudoers.d/buildslave
57+
state: absent

0 commit comments

Comments
 (0)