summaryrefslogtreecommitdiffstats
path: root/roles/releng/tasks/main.yml
blob: 08d0b1825d9dbdfa3d24ba4b1b5c4e13fe6c0189 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
- name: set root passwd
  user: name=root password={{ builder_rootpw }} state=present

- name: add mock user as 425
  user: name=mock uid=425 state=present home=/var/lib/mock createhome=yes system=yes
- name: make mock homedir 2775
  file: state=directory path=/var/lib/mock mode=2775 owner=mock group=mock
- name: add mock ssh dir
  file: state=directory path=/var/lib/mock/.ssh mode=700 owner=mock group=mock
- name: add mock ssh keys
  copy: src="{{ files }}/../roles/koji_builder/files//mock_auth_keys" dest=/var/lib/mock/.ssh/authorized_keys mode=644 owner=mock group=mock

- name: add ftpsync group
  group: name=ftpsync gid=263 system=yes state=present

- name: add ftpsync user
  user: name=ftpsync uid=263 group=ftpsync createhome=yes system=yes state=present

- name: add the ftpsync update-fullfilelist script
  copy: src=update-fullfilelist dest=/usr/local/bin/update-fullfilelist owner=ftpsync group=ftpsync mode=555

- name: add masher group
  group: name=masher gid=751 system=yes state=present
# masher user 751
- name: add masher user as 751 - and group
  user: name=masher uid=751 group=masher home=/home/masher groups=mock,ftpsync,fedmsg
# masher ssh keys and config
- name: add masher ssh dir
  file: state=directory path=/home/masher/.ssh mode=700 owner=masher group=masher
- name: add masher ssh keys
  copy: src="mash/masher.{{ item }}" dest="/home/masher/.ssh/{{ item }}" mode=600 owner=masher group=masher
  with_items:
    - id_rsa.pub
    - config

- name: add masher ssh priv key
  copy: src="{{ private }}/files/mash/masher.id_rsa" dest=/home/masher/.ssh/id_rsa mode=600 owner=masher group=masher

- name: add masher koji cert/key
  copy: src="{{ private }}/files/mash/masher.pem" dest=/home/masher/.fedora.cert mode=600 owner=masher group=masher
- name: add masher koji ca cert
  copy: src="{{ private }}/files/koji/buildercerts/fedora-ca.cert" dest=/home/masher/.fedora-server-ca.cert
- name: add masher koji ca upload cert
  copy: src="{{ private }}/files/koji/buildercerts/fedora-ca.cert" dest=/home/masher/.fedora-upload-ca.cert

- name: add releng koji cert/key
  copy: src="{{ private }}/files/releng_key_and_cert.pem" dest=/root/.fedora.cert mode=600 owner=root group=root
- name: add masher koji ca cert
  copy: src="{{ private }}/files/koji/buildercerts/fedora-ca.cert" dest=/root/.fedora-server-ca.cert
- name: add masher koji ca upload cert
  copy: src="{{ private }}/files/koji/buildercerts/fedora-ca.cert" dest=/root/.fedora-upload-ca.cert

- name: add koji ca cert to central system ca-trust
  copy: src="{{ private }}/files/koji/buildercerts/fedora-ca.cert" dest=/etc/pki/ca-trust/source/anchors/fedora-server-ca.cert
- name: update ca-trust
  command: /usr/bin/update-ca-trust

# rawhide group
- name: rawhide group
  group: name=rawhide gid=265
# rawhide user 265
- name: add rawhide user
  user: name=rawhide uid=265 group=rawhide home=/tmp comment="rawhide compose account"
 
- name: make a bunch of dirs
  file: state=directory path={{ item }}
  with_items:
    - /pub
    - /epel
    - /mnt/fedora_koji
    - /var/spool/rsyslog

- name: add pkgs
  yum: state=present pkg={{ item }}
  with_items:
    - yum-utils
    - koji
    - strace
    - mock
    - nfs-utils
    - git
    - mash
    - intltool
    - mutt
    - createrepo
    - pykickstart
    - pyliblzma
    - httpd
  when: ansible_distribution_major_version|int < 22

- name: add pkgs
  dnf: state=present pkg={{ item }}
  with_items:
    - yum-utils
    - koji
    - strace
    - mock
    - nfs-utils
    - git
    - mash
    - intltool
    - mutt
    - createrepo
    - pykickstart
    - pyliblzma
    - pungi
    - compose-utils
    - httpd
  when: ansible_distribution_major_version|int > 21

- name: copy over our mash.conf
  template: src=mash.conf dest=/etc/mash/mash.conf

- name: /etc/koji/koji.conf
  template: src="{{ files }}//../roles/koji_builder/templates/koji.conf" dest=/etc/koji.conf

# mock configs
- name: put extra special  mock configs in
  template: src="{{ item }}" dest="/etc/mock/{{ item }}" mode=644
  with_items:
    - fedora-22-compose-armhfp.cfg
    - fedora-23-compose-armhfp.cfg
    - fedora-24-compose-armhfp.cfg
    - fedora-branched-compose-armhfp.cfg
    - fedora-rawhide-compose-armhfp.cfg
    - fedora-22-compose-i386.cfg
    - fedora-23-compose-i386.cfg
    - fedora-24-compose-i386.cfg
    - fedora-branched-compose-i386.cfg
    - fedora-rawhide-compose-i386.cfg
    - fedora-22-compose-x86_64.cfg
    - fedora-23-compose-x86_64.cfg
    - fedora-24-compose-x86_64.cfg
    - fedora-branched-compose-x86_64.cfg
    - fedora-rawhide-compose-x86_64.cfg
    - fedora-22-compose-aarch64.cfg
    - fedora-23-compose-aarch64.cfg
    - fedora-24-compose-aarch64.cfg
    - fedora-branched-compose-aarch64.cfg
    - fedora-rawhide-compose-aarch64.cfg


# idmapd and make sure it's set to run
- name: idmapd.conf
  copy: src="{{ files }}/../roles/koji_builder/files//idmapd.conf" dest=/etc/idmapd.conf
  tags:
  - configs

- name: make a mnt/koji link
  file: state=link src=/mnt/fedora_koji/koji dest=/mnt/koji
  when: inventory_hostname.startswith('compose-x86-01') or inventory_hostname.startswith('rawhide-composer') or inventory_hostname.startswith('branched-composer')

- name: symlink /srv/pungi
  file: src=/mnt/fedora_koji/compose dest=/srv/pungi  state=link
  when: not inventory_hostname.startswith('compose-aarch64-01')

- name: add pkgs for nightly compose
  yum:  state=present pkg={{ item }}
  with_items:
    - packagedb-cli
  when: inventory_hostname.startswith('branched-composer') or inventory_hostname.startswith('rawhide-composer') or inventory_hostname.startswith('composer.stg')

# put cron job in for branched compose
- name: branched compose cron
  copy: src="branched" dest=/etc/cron.d/branched
  when: inventory_hostname.startswith('branched-composer')

# put cron job in for rawhide compose
- name: rawhide compose cron
  copy: src="rawhide" dest=/etc/cron.d/rawhide
  when: inventory_hostname.startswith('rawhide-composer')

# put cron job in for aarch64 branched compose
- name: aarch64 branched compose cron
  copy: src="aarch64.branched" dest=/etc/cron.d/branched
  when: inventory_hostname.startswith('compose-aarch64-01')

# put cron job in for aarch64 rawhide compose
- name: aarch64 rawhide compose cron
  copy: src="aarch64.rawhide" dest=/etc/cron.d/rawhide
  when: inventory_hostname.startswith('compose-aarch64-01')

# put cron job in for two-week nightly compose
- name: twoweek compose cron
  copy: src="twoweek-updates" dest=/etc/cron.d/twoweek-updates
  when: inventory_hostname.startswith('compose-x86-01')

- name: install compose /etc/httpd/conf.d/compose.conf file
  copy: >
    src="compose.conf"
    dest="/etc/httpd/conf.d/compose.conf"
    owner=root
    group=root
    mode=0644
  notify:
  - reload httpd
  tags:
  - config
  when: inventory_hostname.startswith('compose-x86-01')