diff --git a/roles/multi-node-bridge/files/RPM-GPG-KEY-CentOS-SIG-Cloud b/roles/multi-node-bridge/files/RPM-GPG-KEY-CentOS-SIG-Cloud new file mode 100644 index 000000000..91f8e1c52 --- /dev/null +++ b/roles/multi-node-bridge/files/RPM-GPG-KEY-CentOS-SIG-Cloud @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.22 (GNU/Linux) + +mQENBFVWcCcBCACfm3eQ0526/I0/p7HpR0NjK7K307XHhnbcbZv1sDUjQABDaqh0 +N4gnZcovf+3fj6pcdOmeOpGI0cKE7Fh68RbEIqyjB7l7+j1grjewR0oCFFZ38KGm +j+DWQrj1IJW7JU5fH/G0Cu66ix+dJPcuTB3PJTqXN3ce+4TuG09D+epgwfbHlqaT +pH2qHCu2uiGj/AaRSM/ZZzcInMaeleHSB+NChvaQ0W/m+kK5d/20d7sfkaTfI/pY +SrodCfVTYxfKAd0TLW03kimHs5/Rdz+iZWecVKv6aFxzaywbrOjmOsy2q0kEWIwX +MTZrq6cBRRuWyiXsI2zT2YHQ4UK44IxINiaJABEBAAG0WkNlbnRPUyBDbG91ZCBT +SUcgKGh0dHA6Ly93aWtpLmNlbnRvcy5vcmcvU3BlY2lhbEludGVyZXN0R3JvdXAv +Q2xvdWQpIDxzZWN1cml0eUBjZW50b3Mub3JnPokBOQQTAQIAIwUCVVZwJwIbAwcL +CQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEPm5/ud2RCnmATUH/3HDtWxpFkmy +FiA3VGkMt5dp3bgCRSd84X6Orfx1LARowpI4LomCGglGBGXVJePBacwcclorbLaz +uWrW/wU0efz0aDB5c4NPg/yXfNvujvlda8ADJwZXVBQphzvaIKwl4PqBsEnxC10I +93T/0iyphAhfMRJ5R8AbEHMj7uF+TWTX/JoyQagllMqWTwoP4DFRutPdOmmjwvSV +kWItH7hq6z9+M4dhlqeoOvPbL5oCxX7TVmLck02Q5gI4syULOa7sqntzUQKFkhWp +9U0+5KrBQBKezrurrrkq/WZR3WNE1KQfNQ77f7S2JcXJdOaKgJ7xe7Y2flPq98Aq +wKXK7l1c3dc= +=W6yF +-----END PGP PUBLIC KEY BLOCK----- diff --git a/roles/multi-node-bridge/tasks/common.yaml b/roles/multi-node-bridge/tasks/common.yaml index 86a64ee62..44a03a03d 100644 --- a/roles/multi-node-bridge/tasks/common.yaml +++ b/roles/multi-node-bridge/tasks/common.yaml @@ -5,17 +5,23 @@ - "{{ ansible_os_family }}.yaml" - "default.yaml" -# CentOS requires repositories provided by centos in order to install -# openvswitch, set them up. -- name: Enable centos-release-openstack-queens - become: yes - package: - name: centos-release-openstack-queens - state: installed - when: +# openvswitch for CentOS is available from the RDO repositories. +# We're setting it up manually to prevent centos-release-openstack or rdo-release +# from installing repositories we don't need. +- when: - ansible_os_family == "RedHat" - ansible_distribution != "Fedora" - register: centos_ovs + become: yes + block: + - name: Set up RDO GPG key + copy: + src: RPM-GPG-KEY-CentOS-SIG-Cloud + dest: /tmp/RPM-GPG-KEY-CentOS-SIG-Cloud + + - name: Set up RDO repository + template: + src: zuul-multi-node-bridge-ovs.repo.j2 + dest: /etc/yum.repos.d/zuul-multi-node-bridge-ovs.repo - name: Set package.use values for OVS on Gentoo become: yes @@ -42,13 +48,17 @@ state: started enabled: yes -# If we've installed repositories for openvswitch earlier, remove them -- name: Ensure centos-release-openstack-queens is removed +- name: Remove RDO repository files become: yes - package: - name: "centos-release-openstack-queens" + file: + path: "{{ item }}" state: absent - when: centos_ovs | changed + with_items: + - /tmp/RPM-GPG-KEY-CentOS-SIG-Cloud + - /etc/yum.repos.d/zuul-multi-node-bridge-ovs.repo + when: + - ansible_os_family == "RedHat" + - ansible_distribution != "Fedora" - name: Authorize the multi-node-bridge network become: yes diff --git a/roles/multi-node-bridge/templates/zuul-multi-node-bridge-ovs.repo.j2 b/roles/multi-node-bridge/templates/zuul-multi-node-bridge-ovs.repo.j2 new file mode 100644 index 000000000..ae6b0643a --- /dev/null +++ b/roles/multi-node-bridge/templates/zuul-multi-node-bridge-ovs.repo.j2 @@ -0,0 +1,11 @@ +# Vendored from rdo-release: https://github.com/rdo-infra/rdo-release +[centos-openstack-queens] +name=CentOS OpenStack Queens Repository +{% if zuul_site_mirror_fqdn is defined %} +baseurl=http://{{ zuul_site_mirror_fqdn }}/centos/7/cloud/$basearch/openstack-queens/ +{% else %} +baseurl=http://mirror.centos.org/centos/7/cloud/$basearch/openstack-queens/ +{% endif %} +gpgcheck=1 +enabled=1 +gpgkey=file:///tmp/RPM-GPG-KEY-CentOS-SIG-Cloud