copr-backend: prep for release + clean-up
This commit is contained in:
parent
bc79560132
commit
11ba27ce11
22 changed files with 28 additions and 697 deletions
|
@ -7,7 +7,6 @@ copr_nova_tenant_name: "copr"
|
||||||
copr_nova_username: "copr"
|
copr_nova_username: "copr"
|
||||||
|
|
||||||
# copr_builder_image_name: "Fedora-Cloud-Base-20141203-21"
|
# copr_builder_image_name: "Fedora-Cloud-Base-20141203-21"
|
||||||
copr_builder_image_name: "builder-f24"
|
|
||||||
copr_builder_flavor_name: "ms2.builder"
|
copr_builder_flavor_name: "ms2.builder"
|
||||||
copr_builder_network_name: "copr-net"
|
copr_builder_network_name: "copr-net"
|
||||||
copr_builder_key_name: "buildsys"
|
copr_builder_key_name: "buildsys"
|
||||||
|
|
|
@ -1,95 +0,0 @@
|
||||||
---
|
|
||||||
- name: check/create instance
|
|
||||||
hosts: localhost
|
|
||||||
user: copr
|
|
||||||
gather_facts: False
|
|
||||||
|
|
||||||
vars_files:
|
|
||||||
- nova_cloud_vars.yml
|
|
||||||
|
|
||||||
vars:
|
|
||||||
- security_group: builder
|
|
||||||
- image_id: cba0c766-84ac-4048-b0f5-6d4000af62f8
|
|
||||||
- OS_USERNAME_OLD: msuchy
|
|
||||||
- OS_AUTH_URL_OLD: http://172.23.0.2:5000/v2.0
|
|
||||||
# todo: remove after transition to new cloud
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: generate builder name
|
|
||||||
local_action: command echo "Copr builder {{ 999999999 | random }}"
|
|
||||||
register: vm_name
|
|
||||||
|
|
||||||
- name: spin it up
|
|
||||||
local_action: nova_compute auth_url={{OS_AUTH_URL_OLD}} flavor_id=6 image_id={{ image_id }} key_name=buildsys login_password={{OS_PASSWORD_OLD}} login_tenant_name={{OS_TENANT_NAME}} login_username={{OS_USERNAME_OLD}} security_groups={{security_group}} wait=yes name="{{vm_name.stdout}}"
|
|
||||||
register: nova
|
|
||||||
|
|
||||||
# should be able to use nova.private_ip, but it does not work with Fedora Cloud.
|
|
||||||
- debug: msg="IP={{ nova.info.addresses.vlannet_3[0].addr }}"
|
|
||||||
|
|
||||||
- debug: msg="vm_name={{vm_name.stdout}}"
|
|
||||||
|
|
||||||
- name: add it to the special group
|
|
||||||
local_action: add_host hostname={{ nova.info.addresses.vlannet_3[0].addr }} groupname=builder_temp_group
|
|
||||||
|
|
||||||
- name: wait for the host to be hot
|
|
||||||
local_action: wait_for host={{ nova.info.addresses.vlannet_3[0].addr }} port=22 delay=5 timeout=600
|
|
||||||
|
|
||||||
- hosts: builder_temp_group
|
|
||||||
user: root
|
|
||||||
gather_facts: True
|
|
||||||
vars:
|
|
||||||
- files: files/
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: edit hostname to be instance name
|
|
||||||
shell: hostname `curl -s http://169.254.169.254/2009-04-04/meta-data/instance-id`
|
|
||||||
|
|
||||||
- name: install pkgs
|
|
||||||
yum: state=present pkg={{ item }}
|
|
||||||
with_items:
|
|
||||||
- rsync
|
|
||||||
- openssh-clients
|
|
||||||
- libselinux-python
|
|
||||||
- libsemanage-python
|
|
||||||
|
|
||||||
- name: add repos
|
|
||||||
copy: src={{ files }}/{{ item }} dest=/etc/yum.repos.d/{{ item }}
|
|
||||||
with_items:
|
|
||||||
- epel6.repo
|
|
||||||
|
|
||||||
- name: install additional pkgs
|
|
||||||
yum: state=present pkg={{ item }}
|
|
||||||
with_items:
|
|
||||||
- mock
|
|
||||||
- createrepo
|
|
||||||
- yum-utils
|
|
||||||
- pyliblzma
|
|
||||||
|
|
||||||
- name: make sure newest rpm
|
|
||||||
yum: name={{ item }} state=latest
|
|
||||||
with_items:
|
|
||||||
- rpm
|
|
||||||
- glib2
|
|
||||||
- ca-certificates
|
|
||||||
|
|
||||||
#- yum: name=mock enablerepo=epel-testing state=latest
|
|
||||||
|
|
||||||
- name: mockbuilder user
|
|
||||||
user: name=mockbuilder groups=mock
|
|
||||||
|
|
||||||
- name: mockbuilder .ssh
|
|
||||||
file: state=directory path=/home/mockbuilder/.ssh mode=0700 owner=mockbuilder group=mockbuilder
|
|
||||||
|
|
||||||
- name: mockbuilder authorized_keys
|
|
||||||
authorized_key: user=mockbuilder key='{{ lookup('file', '/home/copr/provision/files/buildsys.pub') }}'
|
|
||||||
|
|
||||||
- name: put updated mock configs into /etc/mock
|
|
||||||
template: src={{ files }}/mock/{{ item }} dest=/etc/mock
|
|
||||||
with_items:
|
|
||||||
- site-defaults.cfg
|
|
||||||
|
|
||||||
- lineinfile: dest=/etc/mock/fedora-rawhide-x86_64.cfg line="config_opts['package_manager'] = 'dnf'" state=absent
|
|
||||||
- lineinfile: dest=/etc/mock/fedora-rawhide-i386.cfg line="config_opts['package_manager'] = 'dnf'" state=absent
|
|
||||||
|
|
||||||
- lineinfile: dest=/etc/security/limits.conf line="* soft nofile 10240" insertafter=EOF
|
|
||||||
- lineinfile: dest=/etc/security/limits.conf line="* hard nofile 10240" insertafter=EOF
|
|
|
@ -11,6 +11,7 @@
|
||||||
keypair: buildsys
|
keypair: buildsys
|
||||||
max_spawn_time: 600
|
max_spawn_time: 600
|
||||||
spawning_vm_user: "fedora"
|
spawning_vm_user: "fedora"
|
||||||
|
image_name: "copr-builder-f26-x86_64-beta"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: generate builder name
|
- name: generate builder name
|
||||||
|
@ -61,5 +62,5 @@
|
||||||
- nss-softokn-freebl.i686
|
- nss-softokn-freebl.i686
|
||||||
# DNF module will not resolve the deps, we must install deps manualy!
|
# DNF module will not resolve the deps, we must install deps manualy!
|
||||||
- name: install i686 version of nosync for multilib building
|
- name: install i686 version of nosync for multilib building
|
||||||
dnf: name=https://kojipkgs.fedoraproject.org//packages/nosync/1.0/5.fc24/i686/nosync-1.0-5.fc24.i686.rpm state=present
|
dnf: name=https://kojipkgs.fedoraproject.org/packages/nosync/1.0/6.fc26/i686/nosync-1.0-6.fc26.i686.rpm state=present
|
||||||
when: prepare_base_image is defined
|
when: prepare_base_image is defined
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
|
|
||||||
vars_files:
|
vars_files:
|
||||||
- nova_cloud_vars_ppc64le.yml
|
- nova_cloud_vars.yml
|
||||||
|
|
||||||
vars:
|
vars:
|
||||||
# _OS_AUTH_OPTS: "--os-auth-url {{OS_AUTH_URL}} --os-username {{OS_USERNAME}} --os-password {{OS_PASSWORD}} --os-tenant-name {{OS_TENANT_NAME}} --os-tenant-id {{OS_TENANT_ID}} "
|
# _OS_AUTH_OPTS: "--os-auth-url {{OS_AUTH_URL}} --os-username {{OS_USERNAME}} --os-password {{OS_PASSWORD}} --os-tenant-name {{OS_TENANT_NAME}} --os-tenant-id {{OS_TENANT_ID}} "
|
||||||
|
@ -11,6 +11,7 @@
|
||||||
keypair: buildsys
|
keypair: buildsys
|
||||||
max_spawn_time: 600
|
max_spawn_time: 600
|
||||||
spawning_vm_user: "fedora"
|
spawning_vm_user: "fedora"
|
||||||
|
image_name: "copr-builder-f26-ppc64le-beta"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: generate builder name
|
- name: generate builder name
|
||||||
|
@ -41,7 +42,10 @@
|
||||||
#prepare_base_image: True
|
#prepare_base_image: True
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- include: "provision_builder_tasks_ppc64le.yml"
|
- name: swap on /dev/vda 100GB volume for tmpfs mock plugin
|
||||||
|
command: swapon /dev/vda
|
||||||
|
|
||||||
|
- include: "provision_builder_tasks.yml"
|
||||||
|
|
||||||
- name: disable offloading
|
- name: disable offloading
|
||||||
command: ethtool -K eth0 tso off gro off gso off
|
command: ethtool -K eth0 tso off gro off gso off
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
- name: check/create instance
|
|
||||||
hosts: 127.0.0.1
|
|
||||||
gather_facts: False
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: add hypervisor
|
|
||||||
local_action: add_host hostname=rh-power2.fit.vutbr.cz groupname=spinup_vm_group
|
|
||||||
|
|
||||||
|
|
||||||
- name: spinup vm
|
|
||||||
hosts: spinup_vm_group
|
|
||||||
gather_facts: False
|
|
||||||
user: msuchy
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: spin up VM
|
|
||||||
shell: /home/msuchy/bin/get-one-vm.sh
|
|
||||||
register: get_one
|
|
||||||
|
|
||||||
- debug: msg="{{ get_one.stdout }}"
|
|
||||||
|
|
||||||
- set_fact: builder_ip="{{ get_one.stdout|extract_ip_from_stdout() }}"
|
|
||||||
|
|
||||||
- name: wait for he host to be hot
|
|
||||||
local_action: wait_for host={{ builder_ip }} port=22 delay=1 timeout=600
|
|
||||||
|
|
||||||
- name: add builder ip to the special group
|
|
||||||
local_action: add_host hostname={{ builder_ip }} groupname=builder_temp_group
|
|
||||||
|
|
||||||
- name: provision builder
|
|
||||||
hosts: builder_temp_group
|
|
||||||
gather_facts: True
|
|
||||||
user: root
|
|
||||||
|
|
||||||
vars:
|
|
||||||
# pass this options if you need to create new base image from snapshot
|
|
||||||
#prepare_base_image: True
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- include: "provision_builder_tasks.yml"
|
|
||||||
|
|
||||||
- name: disable offloading
|
|
||||||
command: ethtool -K eth0 tso off gro off gso off
|
|
||||||
|
|
||||||
- yum: state=latest enablerepo="updates-testing" name=mock
|
|
|
@ -1,11 +0,0 @@
|
||||||
[Copr]
|
|
||||||
name=Copr
|
|
||||||
failovermethod=priority
|
|
||||||
baseurl=https://209.132.184.48/results/@copr/copr/fedora-$releasever-x86_64/
|
|
||||||
https://copr-be.cloud.fedoraproject.org/results/@copr/copr/fedora-$releasever-x86_64/
|
|
||||||
https://172.25.32.109/results/@copr/copr/fedora-$releasever-x86_64/
|
|
||||||
|
|
||||||
enabled=1
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://copr-be.cloud.fedoraproject.org/results/@copr/copr/pubkey.gpg
|
|
||||||
skip_if_unavailable=1
|
|
|
@ -1,24 +0,0 @@
|
||||||
config_opts['root'] = 'custom-1-i386'
|
|
||||||
config_opts['target_arch'] = 'i686'
|
|
||||||
config_opts['legal_host_arches'] = ('i386', 'i586', 'i686', 'x86_64')
|
|
||||||
config_opts['chroot_setup_cmd'] = ''
|
|
||||||
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
|
||||||
config_opts['package_manager'] = 'dnf'
|
|
||||||
|
|
||||||
config_opts['yum.conf'] = """
|
|
||||||
[main]
|
|
||||||
keepcache=1
|
|
||||||
debuglevel=2
|
|
||||||
reposdir=/dev/null
|
|
||||||
logfile=/var/log/dnf.log
|
|
||||||
retries=20
|
|
||||||
obsoletes=1
|
|
||||||
gpgcheck=0
|
|
||||||
assumeyes=1
|
|
||||||
syslog_ident=mock
|
|
||||||
syslog_device=
|
|
||||||
install_weak_deps=0
|
|
||||||
metadata_expire=0
|
|
||||||
mdpolicy=group:primary
|
|
||||||
|
|
||||||
"""
|
|
|
@ -1,24 +0,0 @@
|
||||||
config_opts['root'] = 'custom-1-ppc64le'
|
|
||||||
config_opts['target_arch'] = 'ppc64le'
|
|
||||||
config_opts['legal_host_arches'] = ('ppc64le',)
|
|
||||||
config_opts['chroot_setup_cmd'] = ''
|
|
||||||
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
|
||||||
config_opts['package_manager'] = 'dnf'
|
|
||||||
|
|
||||||
config_opts['yum.conf'] = """
|
|
||||||
[main]
|
|
||||||
keepcache=1
|
|
||||||
debuglevel=2
|
|
||||||
reposdir=/dev/null
|
|
||||||
logfile=/var/log/dnf.log
|
|
||||||
retries=20
|
|
||||||
obsoletes=1
|
|
||||||
gpgcheck=0
|
|
||||||
assumeyes=1
|
|
||||||
syslog_ident=mock
|
|
||||||
syslog_device=
|
|
||||||
install_weak_deps=0
|
|
||||||
metadata_expire=0
|
|
||||||
mdpolicy=group:primary
|
|
||||||
|
|
||||||
"""
|
|
|
@ -1,24 +0,0 @@
|
||||||
config_opts['root'] = 'custom-1-x86_64'
|
|
||||||
config_opts['target_arch'] = 'x86_64'
|
|
||||||
config_opts['legal_host_arches'] = ('x86_64',)
|
|
||||||
config_opts['chroot_setup_cmd'] = ''
|
|
||||||
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
|
||||||
config_opts['package_manager'] = 'dnf'
|
|
||||||
|
|
||||||
config_opts['yum.conf'] = """
|
|
||||||
[main]
|
|
||||||
keepcache=1
|
|
||||||
debuglevel=2
|
|
||||||
reposdir=/dev/null
|
|
||||||
logfile=/var/log/dnf.log
|
|
||||||
retries=20
|
|
||||||
obsoletes=1
|
|
||||||
gpgcheck=0
|
|
||||||
assumeyes=1
|
|
||||||
syslog_ident=mock
|
|
||||||
syslog_device=
|
|
||||||
install_weak_deps=0
|
|
||||||
metadata_expire=0
|
|
||||||
mdpolicy=group:primary
|
|
||||||
|
|
||||||
"""
|
|
|
@ -1,72 +0,0 @@
|
||||||
config_opts['root'] = 'fedora-26-i386'
|
|
||||||
config_opts['target_arch'] = 'i686'
|
|
||||||
config_opts['legal_host_arches'] = ('i386', 'i586', 'i686', 'x86_64')
|
|
||||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
|
||||||
config_opts['dist'] = 'fc26' # only useful for --resultdir variable subst
|
|
||||||
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
|
||||||
config_opts['releasever'] = '26'
|
|
||||||
config_opts['package_manager'] = 'dnf'
|
|
||||||
|
|
||||||
config_opts['yum.conf'] = """
|
|
||||||
[main]
|
|
||||||
keepcache=1
|
|
||||||
debuglevel=2
|
|
||||||
reposdir=/dev/null
|
|
||||||
logfile=/var/log/yum.log
|
|
||||||
retries=20
|
|
||||||
obsoletes=1
|
|
||||||
gpgcheck=0
|
|
||||||
assumeyes=1
|
|
||||||
syslog_ident=mock
|
|
||||||
syslog_device=
|
|
||||||
install_weak_deps=0
|
|
||||||
metadata_expire=0
|
|
||||||
mdpolicy=group:primary
|
|
||||||
best=1
|
|
||||||
|
|
||||||
# repos
|
|
||||||
|
|
||||||
[fedora]
|
|
||||||
name=fedora
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-26-primary
|
|
||||||
gpgcheck=1
|
|
||||||
|
|
||||||
[updates]
|
|
||||||
name=updates
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-26-primary
|
|
||||||
gpgcheck=1
|
|
||||||
|
|
||||||
[updates-testing]
|
|
||||||
name=updates-testing
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[local]
|
|
||||||
name=local
|
|
||||||
baseurl=https://kojipkgs.fedoraproject.org/repos/f26-build/latest/i386/
|
|
||||||
cost=2000
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[fedora-debuginfo]
|
|
||||||
name=fedora-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[updates-debuginfo]
|
|
||||||
name=updates-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[updates-testing-debuginfo]
|
|
||||||
name=updates-testing-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
"""
|
|
|
@ -1,72 +0,0 @@
|
||||||
config_opts['root'] = 'fedora-26-ppc64le'
|
|
||||||
config_opts['target_arch'] = 'ppc64le'
|
|
||||||
config_opts['legal_host_arches'] = ('ppc64le',)
|
|
||||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
|
||||||
config_opts['dist'] = 'fc26' # only useful for --resultdir variable subst
|
|
||||||
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
|
||||||
config_opts['releasever'] = '26'
|
|
||||||
config_opts['package_manager'] = 'dnf'
|
|
||||||
|
|
||||||
config_opts['yum.conf'] = """
|
|
||||||
[main]
|
|
||||||
keepcache=1
|
|
||||||
debuglevel=1
|
|
||||||
reposdir=/dev/null
|
|
||||||
logfile=/var/log/yum.log
|
|
||||||
retries=20
|
|
||||||
obsoletes=1
|
|
||||||
gpgcheck=0
|
|
||||||
assumeyes=1
|
|
||||||
syslog_ident=mock
|
|
||||||
syslog_device=
|
|
||||||
install_weak_deps=0
|
|
||||||
metadata_expire=0
|
|
||||||
mdpolicy=group:primary
|
|
||||||
best=1
|
|
||||||
|
|
||||||
# repos
|
|
||||||
|
|
||||||
[fedora]
|
|
||||||
name=fedora
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-26-primary
|
|
||||||
gpgcheck=1
|
|
||||||
|
|
||||||
[updates]
|
|
||||||
name=updates
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-26-primary
|
|
||||||
gpgcheck=1
|
|
||||||
|
|
||||||
[updates-testing]
|
|
||||||
name=updates-testing
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[local]
|
|
||||||
name=local
|
|
||||||
baseurl=http://ppcpkgs.fedoraproject.org/repos/f26-build/latest/ppc64le/
|
|
||||||
cost=2000
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[fedora-debuginfo]
|
|
||||||
name=fedora-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[updates-debuginfo]
|
|
||||||
name=updates-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[updates-testing-debuginfo]
|
|
||||||
name=updates-testing-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
"""
|
|
|
@ -1,72 +0,0 @@
|
||||||
config_opts['root'] = 'fedora-26-x86_64'
|
|
||||||
config_opts['target_arch'] = 'x86_64'
|
|
||||||
config_opts['legal_host_arches'] = ('x86_64',)
|
|
||||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
|
|
||||||
config_opts['dist'] = 'fc26' # only useful for --resultdir variable subst
|
|
||||||
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
|
||||||
config_opts['releasever'] = '26'
|
|
||||||
config_opts['package_manager'] = 'dnf'
|
|
||||||
|
|
||||||
config_opts['yum.conf'] = """
|
|
||||||
[main]
|
|
||||||
keepcache=1
|
|
||||||
debuglevel=2
|
|
||||||
reposdir=/dev/null
|
|
||||||
logfile=/var/log/yum.log
|
|
||||||
retries=20
|
|
||||||
obsoletes=1
|
|
||||||
gpgcheck=0
|
|
||||||
assumeyes=1
|
|
||||||
syslog_ident=mock
|
|
||||||
syslog_device=
|
|
||||||
install_weak_deps=0
|
|
||||||
metadata_expire=0
|
|
||||||
mdpolicy=group:primary
|
|
||||||
best=1
|
|
||||||
|
|
||||||
# repos
|
|
||||||
|
|
||||||
[fedora]
|
|
||||||
name=fedora
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-26-primary
|
|
||||||
gpgcheck=1
|
|
||||||
|
|
||||||
[updates]
|
|
||||||
name=updates
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
gpgkey=file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-26-primary
|
|
||||||
gpgcheck=1
|
|
||||||
|
|
||||||
[updates-testing]
|
|
||||||
name=updates-testing
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[local]
|
|
||||||
name=local
|
|
||||||
baseurl=https://kojipkgs.fedoraproject.org/repos/f26-build/latest/x86_64/
|
|
||||||
cost=2000
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[fedora-debuginfo]
|
|
||||||
name=fedora-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[updates-debuginfo]
|
|
||||||
name=updates-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-debug-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
|
|
||||||
[updates-testing-debuginfo]
|
|
||||||
name=updates-testing-debuginfo
|
|
||||||
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f$releasever&arch=$basearch
|
|
||||||
failovermethod=priority
|
|
||||||
enabled=0
|
|
||||||
"""
|
|
|
@ -1,109 +1,51 @@
|
||||||
- name: install copr repo
|
- shell: dnf -y upgrade
|
||||||
copy: src="copr.repo" dest="/etc/yum.repos.d/copr.repo"
|
when: prepare_base_image is defined
|
||||||
|
|
||||||
- name: set bigger timeout for yum
|
- name: set bigger timeout for yum
|
||||||
ini_file: dest=/etc/yum.conf section=main option=timeout value=1000
|
ini_file: dest=/etc/yum.conf section=main option=timeout value=1000
|
||||||
|
|
||||||
|
- name: set bigger timeout for dnf
|
||||||
|
ini_file: dest=/etc/dnf/dnf.conf section=main option=timeout value=1000
|
||||||
|
|
||||||
- name: install pkgs
|
- name: install pkgs
|
||||||
yum: state=present pkg={{ item }}
|
dnf: state=present pkg={{ item }}
|
||||||
with_items:
|
with_items:
|
||||||
- dnf
|
- dnf
|
||||||
- dnf-plugins-core
|
- dnf-plugins-core
|
||||||
- mock
|
- mock
|
||||||
# - mock-lvm
|
|
||||||
- createrepo_c
|
- createrepo_c
|
||||||
- yum-utils
|
- yum-utils
|
||||||
- pyliblzma
|
- pyliblzma
|
||||||
- rsync
|
- rsync
|
||||||
- openssh-clients
|
- openssh-clients
|
||||||
- rsync
|
|
||||||
- libselinux-python
|
- libselinux-python
|
||||||
- libsemanage-python
|
- libsemanage-python
|
||||||
- yum
|
- yum
|
||||||
- scl-utils-build
|
- scl-utils-build
|
||||||
- ethtool
|
- ethtool
|
||||||
# - fedpkg-copr
|
|
||||||
- nosync
|
- nosync
|
||||||
- expect
|
- expect
|
||||||
|
|
||||||
- name: set bigger timeout for dnf
|
- name: enable @copr/copr for now
|
||||||
ini_file: dest=/etc/dnf/dnf.conf section=main option=timeout value=1000
|
shell: dnf copr -y enable @copr/copr
|
||||||
|
|
||||||
# this comes from https://copr-be.cloud.fedoraproject.org/results/%40copr/copr/fedora-23-x86_64/00179756-fedpkg-copr/fedpkg-copr-0.3-1.fc23.noarch.rpm
|
|
||||||
# TODO put it in correct place
|
|
||||||
# BZ 1241507
|
|
||||||
- shell: yum-deprecated install -y fedpkg-copr || yum install -y fedpkg-copr
|
|
||||||
|
|
||||||
- shell: yum-deprecated install -y fedpkg || yum install -y fedpkg
|
|
||||||
|
|
||||||
# This needs to be updated for python-fedora
|
|
||||||
- shell: yum-deprecated update -y python-requests || yum install -y python-requests
|
|
||||||
|
|
||||||
- name: make sure newest rpm
|
- name: make sure newest rpm
|
||||||
dnf: name={{ item }} state=latest
|
dnf: state=latest pkg={{ item }}
|
||||||
with_items:
|
with_items:
|
||||||
- rpm
|
- rpm
|
||||||
- glib2
|
- glib2
|
||||||
- ca-certificates
|
- ca-certificates
|
||||||
- mock
|
- mock
|
||||||
- dnf
|
- dnf
|
||||||
- koji
|
- copr-rpmbuild
|
||||||
- dnf-plugins-core
|
|
||||||
- libsolv
|
|
||||||
- hawkey
|
|
||||||
|
|
||||||
- copy: src=files/fedpkg-copr.conf dest=/etc/rpkg/fedpkg-copr.conf
|
|
||||||
|
|
||||||
- name: put updated mock configs into /etc/mock
|
- name: put updated mock configs into /etc/mock
|
||||||
template: src=files/mock/{{ item }} dest=/etc/mock
|
template: src=files/mock/{{ item }} dest=/etc/mock
|
||||||
with_items:
|
with_items:
|
||||||
- site-defaults.cfg
|
- site-defaults.cfg
|
||||||
- custom-1-x86_64.cfg
|
|
||||||
- custom-1-i386.cfg
|
|
||||||
- custom-1-ppc64le.cfg
|
|
||||||
- fedora-26-x86_64.cfg
|
|
||||||
- fedora-26-i386.cfg
|
|
||||||
|
|
||||||
# TODO: file globs or ansible escaping works strange, now using predefined file location
|
- name: put copr-rpmbuild configuration file in the right place
|
||||||
#- name: "fix mock configs to use nearest mirror"
|
copy: src=files/main.ini dest=/etc/copr-rpmbuild/main.ini
|
||||||
# # Affects only some fedora configs ... repo urls are tricky. TODO: add for epel
|
|
||||||
# shell: "ls -1 /etc/mock/fedora*.cfg"
|
|
||||||
# register: mock_fedora_configs_to_patch
|
|
||||||
|
|
||||||
- name: "patch mock.cfg (updates)"
|
|
||||||
replace: >
|
|
||||||
dest={{ item }}
|
|
||||||
regexp='^metalink=https://mirrors.fedoraproject.org/metalink\?repo=updates-released-f\$releasever&arch=\$basearch'
|
|
||||||
replace='baseurl=http://infrastructure.fedoraproject.org/pub/fedora/linux/updates/$releasever/$basearch/'
|
|
||||||
with_items: #mock_fedora_configs_to_patch.stdout_lines
|
|
||||||
- /etc/mock/fedora-24-i386.cfg
|
|
||||||
- /etc/mock/fedora-24-x86_64.cfg
|
|
||||||
- /etc/mock/fedora-25-i386.cfg
|
|
||||||
- /etc/mock/fedora-25-x86_64.cfg
|
|
||||||
- /etc/mock/fedora-26-i386.cfg
|
|
||||||
- /etc/mock/fedora-26-x86_64.cfg
|
|
||||||
|
|
||||||
- name: "patch mock.cfg (main)"
|
|
||||||
replace: >
|
|
||||||
dest={{ item }}
|
|
||||||
regexp='^metalink=https://mirrors.fedoraproject.org/metalink\?repo=fedora-f\$releasever&arch=\$basearch'
|
|
||||||
replace='baseurl=http://infrastructure.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/'
|
|
||||||
with_items: #mock_fedora_configs_to_patch.stdout_lines
|
|
||||||
- /etc/mock/fedora-24-i386.cfg
|
|
||||||
- /etc/mock/fedora-24-x86_64.cfg
|
|
||||||
- /etc/mock/fedora-25-i386.cfg
|
|
||||||
- /etc/mock/fedora-25-x86_64.cfg
|
|
||||||
- /etc/mock/fedora-26-i386.cfg
|
|
||||||
- /etc/mock/fedora-26-x86_64.cfg
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ansible doesn't support simultaneously usage of async and with_* options
|
|
||||||
# it's not even planned for implementation, see https://github.com/ansible/ansible/issues/5841
|
|
||||||
- name: prepare cache
|
|
||||||
when: prepare_base_image is defined
|
|
||||||
async: 14400
|
|
||||||
shell: "for i in epel-5-i386 epel-5-x86_64 epel-6-i386 epel-6-x86_64 epel-7-x86_64 fedora-23-i386 fedora-23-x86_64 fedora-24-i386 fedora-24-x86_64 fedora-25-i386 fedora-25-x86_64 fedora-26-i386 fedora-26-x86_64 fedora-rawhide-i386 fedora-rawhide-x86_64; do mock --init -r $i; done"
|
|
||||||
|
|
||||||
- name: mockbuilder user
|
- name: mockbuilder user
|
||||||
user: name=mockbuilder groups=mock
|
user: name=mockbuilder groups=mock
|
||||||
|
@ -122,11 +64,3 @@
|
||||||
|
|
||||||
- name: disable core dumps
|
- name: disable core dumps
|
||||||
ini_file: dest=/etc/systemd/coredump.conf section=Coredump option=Storage value=none
|
ini_file: dest=/etc/systemd/coredump.conf section=Coredump option=Storage value=none
|
||||||
# notify:
|
|
||||||
# - systemctl daemon-reload
|
|
||||||
|
|
||||||
- name: 'Remove %_install_langs from /etc/rpm/macros.image-language-conf so that `yum-deprecated --installroot=<chroot-path> install glibc-all-langpacks` installs all possible locale into build chroots'
|
|
||||||
lineinfile:
|
|
||||||
dest: '/etc/rpm/macros.image-language-conf'
|
|
||||||
regexp: '^%_install_lang.*'
|
|
||||||
state: 'absent'
|
|
||||||
|
|
|
@ -1,94 +0,0 @@
|
||||||
- name: install copr repo
|
|
||||||
copy: src="copr.repo" dest="/etc/yum.repos.d/copr.repo"
|
|
||||||
|
|
||||||
- name: set bigger timeout for yum
|
|
||||||
ini_file: dest=/etc/yum.conf section=main option=timeout value=1000
|
|
||||||
|
|
||||||
- name: install pkgs
|
|
||||||
yum: state=present pkg={{ item }}
|
|
||||||
with_items:
|
|
||||||
- dnf
|
|
||||||
- dnf-plugins-core
|
|
||||||
- mock
|
|
||||||
# - mock-lvm
|
|
||||||
- createrepo_c
|
|
||||||
- yum-utils
|
|
||||||
- pyliblzma
|
|
||||||
- rsync
|
|
||||||
- openssh-clients
|
|
||||||
- rsync
|
|
||||||
- libselinux-python
|
|
||||||
- libsemanage-python
|
|
||||||
- yum
|
|
||||||
- scl-utils-build
|
|
||||||
- ethtool
|
|
||||||
# - fedpkg-copr
|
|
||||||
- nosync
|
|
||||||
- expect
|
|
||||||
|
|
||||||
- name: set bigger timeout for dnf
|
|
||||||
ini_file: dest=/etc/dnf/dnf.conf section=main option=timeout value=1000
|
|
||||||
|
|
||||||
# this comes from https://copr-be.cloud.fedoraproject.org/results/%40copr/copr/fedora-23-x86_64/00179756-fedpkg-copr/fedpkg-copr-0.3-1.fc23.noarch.rpm
|
|
||||||
# TODO put it in correct place
|
|
||||||
# BZ 1241507
|
|
||||||
- shell: yum-deprecated install -y fedpkg-copr || yum install -y fedpkg-copr
|
|
||||||
|
|
||||||
- shell: yum-deprecated install -y fedpkg || yum install -y fedpkg
|
|
||||||
|
|
||||||
# This needs to be updated for python-fedora
|
|
||||||
- shell: yum-deprecated update -y python-requests || yum install -y python-requests
|
|
||||||
|
|
||||||
- name: make sure newest rpm
|
|
||||||
dnf: name={{ item }} state=latest
|
|
||||||
with_items:
|
|
||||||
- rpm
|
|
||||||
- glib2
|
|
||||||
- ca-certificates
|
|
||||||
- mock
|
|
||||||
- dnf
|
|
||||||
- koji
|
|
||||||
- dnf-plugins-core
|
|
||||||
- libsolv
|
|
||||||
- hawkey
|
|
||||||
|
|
||||||
- copy: src=files/fedpkg-copr.conf dest=/etc/rpkg/fedpkg-copr.conf
|
|
||||||
|
|
||||||
- name: put updated mock configs into /etc/mock
|
|
||||||
template: src=files/mock/{{ item }} dest=/etc/mock
|
|
||||||
with_items:
|
|
||||||
- fedora-26-ppc64le.cfg
|
|
||||||
- site-defaults.cfg
|
|
||||||
|
|
||||||
# ansible doesn't support simultaneously usage of async and with_* options
|
|
||||||
# it's not even planned for implementation, see https://github.com/ansible/ansible/issues/5841
|
|
||||||
- name: prepare cache
|
|
||||||
when: prepare_base_image is defined
|
|
||||||
async: 14400
|
|
||||||
shell: "for i in fedora-23-ppc64le fedora-24-ppc64le fedora-25-ppc64le fedora-26-ppc64le fedora-rawhide-ppc64le; do mock --init -r $i; done"
|
|
||||||
|
|
||||||
- name: mockbuilder user
|
|
||||||
user: name=mockbuilder groups=mock
|
|
||||||
|
|
||||||
- name: mockbuilder .ssh
|
|
||||||
file: state=directory path=/home/mockbuilder/.ssh mode=0700 owner=mockbuilder group=mockbuilder
|
|
||||||
|
|
||||||
- name: mockbuilder authorized_keys
|
|
||||||
authorized_key: user=mockbuilder key='{{ lookup('file', '/home/copr/provision/files/buildsys.pub') }}'
|
|
||||||
|
|
||||||
- name: root authorized_keys
|
|
||||||
authorized_key: user=root key='{{ lookup('file', '/home/copr/provision/files/buildsys.pub') }}'
|
|
||||||
|
|
||||||
- lineinfile: dest=/etc/security/limits.conf line="* soft nofile 10240" insertafter=EOF
|
|
||||||
- lineinfile: dest=/etc/security/limits.conf line="* hard nofile 10240" insertafter=EOF
|
|
||||||
|
|
||||||
- name: disable core dumps
|
|
||||||
ini_file: dest=/etc/systemd/coredump.conf section=Coredump option=Storage value=none
|
|
||||||
# notify:
|
|
||||||
# - systemctl daemon-reload
|
|
||||||
|
|
||||||
- name: 'Remove %_install_langs from /etc/rpm/macros.image-language-conf so that `yum-deprecated --installroot=<chroot-path> install glibc-all-langpacks` installs all possible locale into build chroots'
|
|
||||||
lineinfile:
|
|
||||||
dest: '/etc/rpm/macros.image-language-conf'
|
|
||||||
regexp: '^%_install_lang.*'
|
|
||||||
state: 'absent'
|
|
|
@ -1,17 +0,0 @@
|
||||||
---
|
|
||||||
- name: terminate instance
|
|
||||||
hosts: all
|
|
||||||
user: root
|
|
||||||
gather_facts: False
|
|
||||||
|
|
||||||
vars_files:
|
|
||||||
- nova_cloud_vars.yml
|
|
||||||
|
|
||||||
vars:
|
|
||||||
- OS_USERNAME_OLD: msuchy
|
|
||||||
- OS_AUTH_URL_OLD: http://172.23.0.2:5000/v2.0
|
|
||||||
# todo: remove after transition to new cloud
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: terminate it
|
|
||||||
local_action: nova_compute auth_url={{OS_AUTH_URL_OLD}} login_password={{OS_PASSWORD}} login_tenant_name={{OS_TENANT_NAME}} login_username={{OS_USERNAME_OLD}} name="{{copr_task.vm_name}}" state=absent
|
|
|
@ -1,30 +0,0 @@
|
||||||
- name: terminate instance
|
|
||||||
hosts: 127.0.0.1
|
|
||||||
gather_facts: False
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: add hypervisor
|
|
||||||
local_action: add_host hostname=rh-power2.fit.vutbr.cz groupname=terminate_vm_group
|
|
||||||
|
|
||||||
|
|
||||||
- name: terminate vm
|
|
||||||
hosts: terminate_vm_group
|
|
||||||
gather_facts: False
|
|
||||||
user: msuchy
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: terminating vm26
|
|
||||||
shell: /home/msuchy/bin/virsh-destroy-vm26.sh; /home/msuchy/bin/reinit-vm26.sh
|
|
||||||
when: copr_task.vm_name == "rh-power-vm26.fit.vutbr.cz"
|
|
||||||
|
|
||||||
- name: terminating vm27
|
|
||||||
shell: /home/msuchy/bin/virsh-destroy-vm27.sh; /home/msuchy/bin/reinit-vm27.sh
|
|
||||||
when: copr_task.vm_name == "rh-power-vm27.fit.vutbr.cz"
|
|
||||||
|
|
||||||
- name: terminating vm28
|
|
||||||
shell: /home/msuchy/bin/virsh-destroy-vm28.sh; /home/msuchy/bin/reinit-vm28.sh
|
|
||||||
when: copr_task.vm_name == "rh-power-vm28.fit.vutbr.cz"
|
|
||||||
|
|
||||||
- name: terminating vm29
|
|
||||||
shell: /home/msuchy/bin/virsh-destroy-vm29.sh; /home/msuchy/bin/reinit-vm29.sh
|
|
||||||
when: copr_task.vm_name == "rh-power-vm29.fit.vutbr.cz"
|
|
|
@ -130,14 +130,11 @@
|
||||||
tags:
|
tags:
|
||||||
- provision_config
|
- provision_config
|
||||||
|
|
||||||
- name: put some files into the provision subdir
|
- name: put copr-rpmbuild configuration file into the provision subdir
|
||||||
template: src="provision/nova_cloud_vars_ppc64le.yml" dest="/home/copr/provision/nova_cloud_vars_ppc64le.yml" owner=copr group=copr
|
template: src="provision/copr-rpmbuild/main.ini.j2" dest="/home/copr/provision/files/main.ini" owner=copr group=copr
|
||||||
tags:
|
tags:
|
||||||
- provision_config
|
- provision_config
|
||||||
|
|
||||||
- name: put fedpkg-copr.conf into the provision files
|
|
||||||
template: src="provision/fedpkg-copr.conf" dest="/home/copr/provision/files/fedpkg-copr.conf" owner=copr group=copr
|
|
||||||
|
|
||||||
- name: testing fixture
|
- name: testing fixture
|
||||||
copy: dest="/home/copr/cloud/ec2rc.variable" content=""
|
copy: dest="/home/copr/cloud/ec2rc.variable" content=""
|
||||||
when: devel
|
when: devel
|
||||||
|
|
|
@ -110,5 +110,7 @@ timeout=86400
|
||||||
# utilized by /usr/bin/check_consecutive_build_fails.py
|
# utilized by /usr/bin/check_consecutive_build_fails.py
|
||||||
consecutive_failure_threshold=30
|
consecutive_failure_threshold=30
|
||||||
|
|
||||||
|
builder_perl=True
|
||||||
|
|
||||||
[ssh]
|
[ssh]
|
||||||
builder_config=/home/copr/.ssh/config
|
builder_config=/home/copr/.ssh/config
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[main]
|
||||||
|
frontend_url = http://{{ frontend_base_url }}/
|
||||||
|
distgit_lookaside_url = http://{{ dist_git_base_url }}/repo/pkgs/
|
||||||
|
distgit_clone_url = http://{{ dist_git_base_url }}/git/
|
|
@ -1,10 +0,0 @@
|
||||||
[fedpkg-copr]
|
|
||||||
lookaside = http://{{ dist_git_base_url }}/repo/pkgs
|
|
||||||
lookasidehash = md5
|
|
||||||
lookaside_cgi = http://{{ dist_git_base_url }}/repo/pkgs/upload.cgi
|
|
||||||
gitbaseurl = ssh://%(user)s@{{ dist_git_base_url }}/%(module)s
|
|
||||||
anongiturl = git://{{ dist_git_base_url }}/%(module)s
|
|
||||||
tracbaseurl = https://%(user)s:%(password)s@fedorahosted.org/rel-eng/login/xmlrpc
|
|
||||||
branchre = f\d$|f\d\d$|el\d$|olpc\d$|master$
|
|
||||||
kojiconfig = /etc/koji.conf
|
|
||||||
build_client = koji
|
|
|
@ -10,8 +10,6 @@ OS_USERNAME: "{{ copr_nova_username }}"
|
||||||
OS_PASSWORD_OLD: "{{ copr_nova_password|default('variable OS_PASSWORD_OLD is undefined') }}"
|
OS_PASSWORD_OLD: "{{ copr_nova_password|default('variable OS_PASSWORD_OLD is undefined') }}"
|
||||||
OS_PASSWORD: "{{ copr_password|default('variable OS_PASSWORD is undefined')}}"
|
OS_PASSWORD: "{{ copr_password|default('variable OS_PASSWORD is undefined')}}"
|
||||||
|
|
||||||
|
|
||||||
image_name: "{{ copr_builder_image_name }}"
|
|
||||||
flavor_name: "{{ copr_builder_flavor_name }}"
|
flavor_name: "{{ copr_builder_flavor_name }}"
|
||||||
network_name: "{{ copr_builder_network_name }}"
|
network_name: "{{ copr_builder_network_name }}"
|
||||||
key_name: "{{ copr_builder_key_name }}"
|
key_name: "{{ copr_builder_key_name }}"
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
---
|
|
||||||
OS_AUTH_URL: "{{ copr_nova_auth_url }}"
|
|
||||||
|
|
||||||
OS_TENANT_ID: "{{ copr_nova_tenant_id }}"
|
|
||||||
OS_TENANT_NAME: "{{ copr_nova_tenant_name }}"
|
|
||||||
|
|
||||||
OS_USERNAME: "{{ copr_nova_username }}"
|
|
||||||
|
|
||||||
# remove default values after transition to the new cloud is finished
|
|
||||||
OS_PASSWORD_OLD: "{{ copr_nova_password|default('variable OS_PASSWORD_OLD is undefined') }}"
|
|
||||||
OS_PASSWORD: "{{ copr_password|default('variable OS_PASSWORD is undefined')}}"
|
|
||||||
|
|
||||||
|
|
||||||
image_name: "builder-f24-ppc64le-swapmounted-freshmockconfigs"
|
|
||||||
flavor_name: "{{ copr_builder_flavor_name }}"
|
|
||||||
network_name: "{{ copr_builder_network_name }}"
|
|
||||||
key_name: "{{ copr_builder_key_name }}"
|
|
||||||
security_groups: "{{ copr_builder_security_groups }}"
|
|
Loading…
Add table
Add a link
Reference in a new issue