diff --git a/inventory/group_vars/copr-back b/inventory/group_vars/copr-back index 909f14b97a..9a98c79961 100644 --- a/inventory/group_vars/copr-back +++ b/inventory/group_vars/copr-back @@ -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" diff --git a/roles/copr/backend/files/provision/builderpb.yml b/roles/copr/backend/files/provision/builderpb.yml deleted file mode 100644 index 21b0bd242b..0000000000 --- a/roles/copr/backend/files/provision/builderpb.yml +++ /dev/null @@ -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 diff --git a/roles/copr/backend/files/provision/builderpb_nova.yml b/roles/copr/backend/files/provision/builderpb_nova.yml index 97b11e22ae..11c797e6e0 100644 --- a/roles/copr/backend/files/provision/builderpb_nova.yml +++ b/roles/copr/backend/files/provision/builderpb_nova.yml @@ -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 diff --git a/roles/copr/backend/files/provision/builderpb_nova_ppc64le.yml b/roles/copr/backend/files/provision/builderpb_nova_ppc64le.yml index dc91142cf5..73c4606704 100644 --- a/roles/copr/backend/files/provision/builderpb_nova_ppc64le.yml +++ b/roles/copr/backend/files/provision/builderpb_nova_ppc64le.yml @@ -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 diff --git a/roles/copr/backend/files/provision/builderpb_ppc64le.yml b/roles/copr/backend/files/provision/builderpb_ppc64le.yml deleted file mode 100644 index af892422c1..0000000000 --- a/roles/copr/backend/files/provision/builderpb_ppc64le.yml +++ /dev/null @@ -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 diff --git a/roles/copr/backend/files/provision/copr.repo b/roles/copr/backend/files/provision/copr.repo deleted file mode 100644 index 90aa909168..0000000000 --- a/roles/copr/backend/files/provision/copr.repo +++ /dev/null @@ -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 diff --git a/roles/copr/backend/files/provision/files/mock/custom-1-i386.cfg b/roles/copr/backend/files/provision/files/mock/custom-1-i386.cfg deleted file mode 100644 index bccbdc9beb..0000000000 --- a/roles/copr/backend/files/provision/files/mock/custom-1-i386.cfg +++ /dev/null @@ -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 - -""" diff --git a/roles/copr/backend/files/provision/files/mock/custom-1-ppc64le.cfg b/roles/copr/backend/files/provision/files/mock/custom-1-ppc64le.cfg deleted file mode 100644 index 8742102d82..0000000000 --- a/roles/copr/backend/files/provision/files/mock/custom-1-ppc64le.cfg +++ /dev/null @@ -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 - -""" diff --git a/roles/copr/backend/files/provision/files/mock/custom-1-x86_64.cfg b/roles/copr/backend/files/provision/files/mock/custom-1-x86_64.cfg deleted file mode 100644 index 43554b106d..0000000000 --- a/roles/copr/backend/files/provision/files/mock/custom-1-x86_64.cfg +++ /dev/null @@ -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 - -""" diff --git a/roles/copr/backend/files/provision/files/mock/fedora-26-i386.cfg b/roles/copr/backend/files/provision/files/mock/fedora-26-i386.cfg deleted file mode 100644 index bf5d9abc2f..0000000000 --- a/roles/copr/backend/files/provision/files/mock/fedora-26-i386.cfg +++ /dev/null @@ -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 -""" diff --git a/roles/copr/backend/files/provision/files/mock/fedora-26-ppc64le.cfg b/roles/copr/backend/files/provision/files/mock/fedora-26-ppc64le.cfg deleted file mode 100644 index dfb36e46e7..0000000000 --- a/roles/copr/backend/files/provision/files/mock/fedora-26-ppc64le.cfg +++ /dev/null @@ -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 -""" diff --git a/roles/copr/backend/files/provision/files/mock/fedora-26-x86_64.cfg b/roles/copr/backend/files/provision/files/mock/fedora-26-x86_64.cfg deleted file mode 100644 index 6ba4d1eed0..0000000000 --- a/roles/copr/backend/files/provision/files/mock/fedora-26-x86_64.cfg +++ /dev/null @@ -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 -""" diff --git a/roles/copr/backend/files/provision/provision_builder_tasks.yml b/roles/copr/backend/files/provision/provision_builder_tasks.yml index f3de7bbe6d..982a1011e1 100644 --- a/roles/copr/backend/files/provision/provision_builder_tasks.yml +++ b/roles/copr/backend/files/provision/provision_builder_tasks.yml @@ -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= install glibc-all-langpacks` installs all possible locale into build chroots' - lineinfile: - dest: '/etc/rpm/macros.image-language-conf' - regexp: '^%_install_lang.*' - state: 'absent' diff --git a/roles/copr/backend/files/provision/provision_builder_tasks_ppc64le.yml b/roles/copr/backend/files/provision/provision_builder_tasks_ppc64le.yml deleted file mode 100644 index 5ef7791eb2..0000000000 --- a/roles/copr/backend/files/provision/provision_builder_tasks_ppc64le.yml +++ /dev/null @@ -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= install glibc-all-langpacks` installs all possible locale into build chroots' - lineinfile: - dest: '/etc/rpm/macros.image-language-conf' - regexp: '^%_install_lang.*' - state: 'absent' diff --git a/roles/copr/backend/files/provision/terminatepb.yml b/roles/copr/backend/files/provision/terminatepb.yml deleted file mode 100644 index 372c503948..0000000000 --- a/roles/copr/backend/files/provision/terminatepb.yml +++ /dev/null @@ -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 diff --git a/roles/copr/backend/files/provision/terminatepb_ppc64le.yml b/roles/copr/backend/files/provision/terminatepb_ppc64le.yml deleted file mode 100644 index c04fabd876..0000000000 --- a/roles/copr/backend/files/provision/terminatepb_ppc64le.yml +++ /dev/null @@ -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" diff --git a/roles/copr/backend/tasks/main.yml b/roles/copr/backend/tasks/main.yml index 956decb248..2270dbf4a8 100644 --- a/roles/copr/backend/tasks/main.yml +++ b/roles/copr/backend/tasks/main.yml @@ -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 diff --git a/roles/copr/backend/templates/copr-be.conf.j2 b/roles/copr/backend/templates/copr-be.conf.j2 index 0bed0583aa..f3276db882 100644 --- a/roles/copr/backend/templates/copr-be.conf.j2 +++ b/roles/copr/backend/templates/copr-be.conf.j2 @@ -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 diff --git a/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2 b/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2 new file mode 100644 index 0000000000..9fa623ebc9 --- /dev/null +++ b/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2 @@ -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/ diff --git a/roles/copr/backend/templates/provision/fedpkg-copr.conf b/roles/copr/backend/templates/provision/fedpkg-copr.conf deleted file mode 100644 index 5a13ca7ba7..0000000000 --- a/roles/copr/backend/templates/provision/fedpkg-copr.conf +++ /dev/null @@ -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 diff --git a/roles/copr/backend/templates/provision/nova_cloud_vars.yml b/roles/copr/backend/templates/provision/nova_cloud_vars.yml index d426e8a4cc..1135504f40 100644 --- a/roles/copr/backend/templates/provision/nova_cloud_vars.yml +++ b/roles/copr/backend/templates/provision/nova_cloud_vars.yml @@ -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 }}" diff --git a/roles/copr/backend/templates/provision/nova_cloud_vars_ppc64le.yml b/roles/copr/backend/templates/provision/nova_cloud_vars_ppc64le.yml deleted file mode 100644 index f84fa797e7..0000000000 --- a/roles/copr/backend/templates/provision/nova_cloud_vars_ppc64le.yml +++ /dev/null @@ -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 }}"