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_builder_image_name: "Fedora-Cloud-Base-20141203-21"
|
||||
copr_builder_image_name: "builder-f24"
|
||||
copr_builder_flavor_name: "ms2.builder"
|
||||
copr_builder_network_name: "copr-net"
|
||||
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
|
||||
max_spawn_time: 600
|
||||
spawning_vm_user: "fedora"
|
||||
image_name: "copr-builder-f26-x86_64-beta"
|
||||
|
||||
tasks:
|
||||
- name: generate builder name
|
||||
|
@ -61,5 +62,5 @@
|
|||
- nss-softokn-freebl.i686
|
||||
# DNF module will not resolve the deps, we must install deps manualy!
|
||||
- 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
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
gather_facts: False
|
||||
|
||||
vars_files:
|
||||
- nova_cloud_vars_ppc64le.yml
|
||||
- nova_cloud_vars.yml
|
||||
|
||||
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}} "
|
||||
|
@ -11,6 +11,7 @@
|
|||
keypair: buildsys
|
||||
max_spawn_time: 600
|
||||
spawning_vm_user: "fedora"
|
||||
image_name: "copr-builder-f26-ppc64le-beta"
|
||||
|
||||
tasks:
|
||||
- name: generate builder name
|
||||
|
@ -41,7 +42,10 @@
|
|||
#prepare_base_image: True
|
||||
|
||||
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
|
||||
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
|
||||
copy: src="copr.repo" dest="/etc/yum.repos.d/copr.repo"
|
||||
- shell: dnf -y upgrade
|
||||
when: prepare_base_image is defined
|
||||
|
||||
- name: set bigger timeout for yum
|
||||
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
|
||||
yum: state=present pkg={{ item }}
|
||||
dnf: 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: enable @copr/copr for now
|
||||
shell: dnf copr -y enable @copr/copr
|
||||
|
||||
- name: make sure newest rpm
|
||||
dnf: name={{ item }} state=latest
|
||||
dnf: state=latest pkg={{ item }}
|
||||
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
|
||||
- copr-rpmbuild
|
||||
|
||||
- name: put updated mock configs into /etc/mock
|
||||
template: src=files/mock/{{ item }} dest=/etc/mock
|
||||
with_items:
|
||||
- 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: "fix mock configs to use nearest mirror"
|
||||
# # 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: put copr-rpmbuild configuration file in the right place
|
||||
copy: src=files/main.ini dest=/etc/copr-rpmbuild/main.ini
|
||||
|
||||
- name: mockbuilder user
|
||||
user: name=mockbuilder groups=mock
|
||||
|
@ -122,11 +64,3 @@
|
|||
|
||||
- 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,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:
|
||||
- provision_config
|
||||
|
||||
- name: put some files 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
|
||||
- name: put copr-rpmbuild configuration file into the provision subdir
|
||||
template: src="provision/copr-rpmbuild/main.ini.j2" dest="/home/copr/provision/files/main.ini" owner=copr group=copr
|
||||
tags:
|
||||
- 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
|
||||
copy: dest="/home/copr/cloud/ec2rc.variable" content=""
|
||||
when: devel
|
||||
|
|
|
@ -110,5 +110,7 @@ timeout=86400
|
|||
# utilized by /usr/bin/check_consecutive_build_fails.py
|
||||
consecutive_failure_threshold=30
|
||||
|
||||
builder_perl=True
|
||||
|
||||
[ssh]
|
||||
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: "{{ copr_password|default('variable OS_PASSWORD is undefined')}}"
|
||||
|
||||
|
||||
image_name: "{{ copr_builder_image_name }}"
|
||||
flavor_name: "{{ copr_builder_flavor_name }}"
|
||||
network_name: "{{ copr_builder_network_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