taskotron: cronjobs for imagefactory on dev
This commit is contained in:
parent
7eacf03ebc
commit
ed58720364
9 changed files with 104 additions and 31 deletions
|
@ -47,6 +47,8 @@ artifacts_base_url: https://taskotron-dev.fedoraproject.org/artifacts
|
|||
|
||||
client_report_to_bodhi: 'False'
|
||||
|
||||
imagesdir: /srv/diskimages
|
||||
|
||||
|
||||
############################################################
|
||||
# testcloud config
|
||||
|
@ -68,8 +70,6 @@ buildmaster_pubkey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYzVmGYh6EHH8UAlgX6FI
|
|||
# imagefactory config
|
||||
############################################################
|
||||
|
||||
imagefactory_user: imgfac_user
|
||||
imagefactory_user_home: '/home/{{imagefactory_user}}'
|
||||
imagefactory_shared_dir: '{{imagefactory_user_home}}/images'
|
||||
|
||||
imagefactory_host: qa11.qa.fedoraproject.org
|
||||
imagefactory_baseurl: 'http://{{imagefactory_host}}:8075/imagefactory'
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ artifacts_base_url: https://taskotron.fedoraproject.org/artifacts
|
|||
|
||||
client_report_to_bodhi: 'False'
|
||||
|
||||
imagesdir: /srv/diskimages
|
||||
|
||||
############################################################
|
||||
# testcloud config
|
||||
|
@ -60,3 +61,12 @@ buildslave_pubkey: 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3Fhg7qUJ1+3N2YficTWQGEPm
|
|||
buildslave_private_sshkey_file: prod-buildslave-sshkey/prod_buildslave
|
||||
buildslave_public_sshkey_file: prod-buildslave-sshkey/prod_buildslave.pub
|
||||
buildmaster_pubkey: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ0I2cVUiU0VBj0E0qd9knPffShU16LJYNTPz5IlgEaWtr4KQly1aC3uTNtDBy2fKX9YZxmupTPsQw0F3sneHosDZlpWSh8+iOOi5pT/hH3/YxwwT+Uq1X/8ebAcQ/OHUhMcDb6TWOw8PltaOFMGxhVq5yJtzViknxY+7Z0sbKCtzHEYM9ABKiVfxyyow31sPLAHiv4aLjOfJBE09mmR79TiTk797SYNA+LXVLO18h05kDy3Y/pufoPFA3+j3AFQW1WyFqFG3O62J4TJHxFwtXGyimDjXho/7Km0QvQOxBx8d7mhdA9oNYEo2pGUJeYcXNjj34Bc/4A2bjw2m8elkz'
|
||||
|
||||
|
||||
############################################################
|
||||
# imagefactory config
|
||||
############################################################
|
||||
|
||||
imagefactory_host: qa11.qa.fedoraproject.org
|
||||
imagefactory_baseurl: 'http://{{imagefactory_host}}:8075/imagefactory'
|
||||
|
||||
|
|
|
@ -48,6 +48,8 @@ artifacts_base_url: https://taskotron.stg.fedoraproject.org/artifacts
|
|||
|
||||
client_report_to_bodhi: 'False'
|
||||
|
||||
imagesdir: /srv/diskimages
|
||||
|
||||
|
||||
############################################################
|
||||
# testcloud config
|
||||
|
@ -63,3 +65,12 @@ buildslave_pubkey: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4EOTNfPIvIjCLNRYauVquS2L
|
|||
buildslave_private_sshkey_file: dev-buildslave-sshkey/dev_buildslave
|
||||
buildslave_public_sshkey_file: dev-buildslave-sshkey/dev_buildslave.pub
|
||||
buildmaster_pubkey: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3cGfl2hdHA7PsP+ZrhhJDjrLnw8AdP3myMHb0/RHSCg7iPATR6CiljeU6oM0ZT0neKH4/DXtQr9zMT2OCrUXz/T94md8AzCbuLFrHPgSiJ5GciYyQ6E3edM7ATTU3qj1NsT/Uuiwqer/Sb7z1NrVWjzfyDXCSppHZfskQ3TDRVQFgAunrGmmUfbgOueftDXePHq8ozOf4v1bzR+9tCeqcfa0Xmzo/hpbav4IIhAoIJNknitw71BPFOd4ublNUzX7TLmi5zoxRxYU6F8rwm9kBMQ9+crpOpvHrY4qnk9Yq6TBt6UC/HbLwFhxCeU3s+cr2U4GmF/lk7sqo3Pz7Q3BR'
|
||||
|
||||
|
||||
############################################################
|
||||
# imagefactory config
|
||||
############################################################
|
||||
|
||||
imagefactory_host: qa11.qa.fedoraproject.org
|
||||
imagefactory_baseurl: 'http://{{imagefactory_host}}:8075/imagefactory'
|
||||
|
||||
|
|
|
@ -33,26 +33,8 @@
|
|||
handlers:
|
||||
- include: "{{ handlers }}/restart_services.yml"
|
||||
|
||||
- name: configure taskotron client host
|
||||
hosts: taskotron-dev-client-hosts:taskotron-stg-client-hosts:taskotron-prod-client-hosts
|
||||
user: root
|
||||
gather_facts: True
|
||||
|
||||
vars_files:
|
||||
- /srv/web/infra/ansible/vars/global.yml
|
||||
- "/srv/private/ansible/vars.yml"
|
||||
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
||||
|
||||
roles:
|
||||
- { role: taskotron/taskotron-client, tags: ['taskotronclient'] }
|
||||
- { role: taskotron/buildslave, tags: ['buildslave'] }
|
||||
- { role: taskotron/buildslave-configure, tags: ['buildslaveconfigure'] }
|
||||
|
||||
handlers:
|
||||
- include: "{{ handlers }}/restart_services.yml"
|
||||
|
||||
- name: configure taskotron imagefactory
|
||||
hosts: qa11.qa.fedoraproject.org
|
||||
hosts: '{{imagefactory_host}}'
|
||||
user: root
|
||||
gather_facts: True
|
||||
|
||||
|
@ -66,4 +48,24 @@
|
|||
|
||||
handlers:
|
||||
- include: "{{ handlers }}/restart_services.yml"
|
||||
|
||||
- name: configure taskotron client host
|
||||
hosts: taskotron-dev-client-hosts:taskotron-stg-client-hosts:taskotron-prod-client-hosts
|
||||
user: root
|
||||
gather_facts: True
|
||||
|
||||
vars_files:
|
||||
- /srv/web/infra/ansible/vars/global.yml
|
||||
- "/srv/private/ansible/vars.yml"
|
||||
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
||||
|
||||
roles:
|
||||
- { role: taskotron/taskotron-client, tags: ['taskotronclient'] }
|
||||
- { role: taskotron/imagefactory-client, tags: ['imagefactoryclient'] }
|
||||
- { role: taskotron/buildslave, tags: ['buildslave'] }
|
||||
- { role: taskotron/buildslave-configure, tags: ['buildslaveconfigure'] }
|
||||
|
||||
handlers:
|
||||
- include: "{{ handlers }}/restart_services.yml"
|
||||
|
||||
|
||||
|
|
2
roles/taskotron/imagefactory-client/defaults/main.yml
Normal file
2
roles/taskotron/imagefactory-client/defaults/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
extra_enablerepos: ''
|
33
roles/taskotron/imagefactory-client/tasks/main.yml
Normal file
33
roles/taskotron/imagefactory-client/tasks/main.yml
Normal file
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
- name: create directory for git clone
|
||||
file: path=/var/lib/fedoraqa state=directory owner=root group=root mode=1755
|
||||
when: deployment_type in ['dev']
|
||||
|
||||
- name: create directory for configuration
|
||||
file: path=/etc/taskotron_base_images state=directory owner=root group=root mode=0755
|
||||
when: deployment_type in ['dev']
|
||||
|
||||
- name: create directory for disposable clients images
|
||||
file: path={{ imagesdir }} state=directory owner=root group={{ slaves_group }} mode=1755
|
||||
when: deployment_type in ['dev']
|
||||
|
||||
- name: Check out our imagefactory tools
|
||||
git:
|
||||
repo: https://bitbucket.org/fedoraqa/base_images
|
||||
dest: '/var/lib/fedoraqa/base_images'
|
||||
update: yes
|
||||
when: deployment_type in ['dev']
|
||||
|
||||
- name: Generate configuration
|
||||
template: src=config.ini.j2 dest=/etc/taskotron_base_images/config.ini owner=root group=root mode=0644
|
||||
|
||||
- name: Download/update images
|
||||
command: '/var/lib/fedoraqa/base_images/get_latest_image/get_latest_image.py update --get-missing --outdir {{imagesdir}} {{imagesdir}}'
|
||||
when: deployment_type in ['dev']
|
||||
|
||||
- name: Create cronjob to download new images
|
||||
cron:
|
||||
name: "Download new images from ImageFactory"
|
||||
special_time: hourly
|
||||
job: '/var/lib/fedoraqa/base_images/get_latest_image/get_latest_image.py update --get-missing --outdir {{imagesdir}} {{imagesdir}}'
|
||||
when: deployment_type in ['dev']
|
|
@ -0,0 +1,6 @@
|
|||
[default]
|
||||
imgfac_base_url={{imagefactory_baseurl}}
|
||||
repourl_base=http://dl.fedoraproject.org/pub/fedora/linux/
|
||||
rawhide=24
|
||||
download_dir={{imagesdir}}
|
||||
|
|
@ -15,14 +15,23 @@
|
|||
- name: enable imagefactory
|
||||
service: name=imagefactoryd state=started enabled=yes
|
||||
|
||||
- name: add the imgfac user
|
||||
user: name={{imagefactory_user}}
|
||||
|
||||
- name: create directory for shared built images
|
||||
file: path={{ imagefactory_shared_dir }} state=directory owner={{ imagefactory_user }} group={{ imagefactory_user }} mode=1755
|
||||
- name: create directory for git clone
|
||||
file: path=/var/lib/fedoraqa state=directory owner=root group=root mode=1755
|
||||
|
||||
- name: Check out our imagefactory tools
|
||||
git:
|
||||
repo: https://bitbucket.org/fedoraqa/base_images
|
||||
dest: '{{imagefactory_user_home}}/base_images'
|
||||
dest: '/var/lib/fedoraqa/base_images'
|
||||
update: yes
|
||||
|
||||
- name: Create cronjob to build new images
|
||||
cron:
|
||||
name: "Build new taskotron_cloud images in ImageFactory"
|
||||
hour: "3"
|
||||
job: '/var/lib/fedoraqa/base_images/trigger_build/trigger_build.py build --release 23 --arch x86_64 --flavor="taskotron_cloud" --disksize="3G"'
|
||||
|
||||
- name: Create cronjob to prune old
|
||||
cron:
|
||||
name: "Prune old taskotron_cloud images in ImageFactory"
|
||||
hour: "5"
|
||||
job: '/var/lib/fedoraqa/base_images/trigger_build/trigger_build.py prune-old --keep 5'
|
||||
|
|
|
@ -51,8 +51,8 @@
|
|||
file: path=/var/log/taskotron state=directory owner={{ slave_user }} group={{ slave_user }} mode=1755
|
||||
when: deployment_type == 'local'
|
||||
|
||||
- name: create /srv/diskimages for disposable clients images
|
||||
file: path=/srv/diskimages state=directory owner=root group={{ slaves_group }} mode=1755
|
||||
- name: create directory for disposable clients images
|
||||
file: path={{ imagesdir }} state=directory owner=root group={{ slaves_group }} mode=1755
|
||||
when: deployment_type in ['dev', 'stg', 'prod']
|
||||
|
||||
- name: ensure buildslaves group exists
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue