[libvirt] [jenkins-ci PATCH 0/3] Enable building of the VZ driver on CentOS 7

The VZ driver in libvirt periodically gets broken by refactoring in libvirt. This is not noticed either before or after merge because none of our CI tests nor common developer build hosts includ the deps needed for the VZ driver. The OpenVZ project, however, does provide builds of the required packages for RHEL-7. We can use these packages in our CentOS 7 CI VMs to enable build testing of the VZ driver. This closes the only hole we have in driver build coverage for CI. Daniel P. Berrangé (3): guests: add openvz repository on CentOS 7 guests: define mapping for the libprlsdk package guests: add libprlsdk package to libvirt project guests/playbooks/update/tasks/base.yml | 10 ++++++++++ guests/playbooks/update/templates/openvz.repo.j2 | 9 +++++++++ guests/vars/mappings.yml | 4 ++++ guests/vars/projects/libvirt.yml | 1 + 4 files changed, 24 insertions(+) create mode 100644 guests/playbooks/update/templates/openvz.repo.j2 -- 2.21.0

The OpenVZ site provides a yum repo built against RHEL-7 that includes the prlsdk-devel RPM needed for the VZ driver. This repo has quite alot of packages that replace stuff from standard RHEL repos, so the yum config file is set to whitelist only the minimal RPMs we need to do builds. Fortunately they have no deps which would cause replacement of standard RHEL RPMs. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/playbooks/update/tasks/base.yml | 10 ++++++++++ guests/playbooks/update/templates/openvz.repo.j2 | 9 +++++++++ 2 files changed, 19 insertions(+) create mode 100644 guests/playbooks/update/templates/openvz.repo.j2 diff --git a/guests/playbooks/update/tasks/base.yml b/guests/playbooks/update/tasks/base.yml index e0efe5d..a5b8810 100644 --- a/guests/playbooks/update/tasks/base.yml +++ b/guests/playbooks/update/tasks/base.yml @@ -9,6 +9,16 @@ - os_name == 'Fedora' - os_version == 'Rawhide' +- name: Enable openvz repository + template: + src: '{{ playbook_base }}/templates/openvz.repo.j2' + dest: /etc/yum.repos.d/openvz.repo + owner: root + group: root + when: + - os_name == 'CentOS' + - os_version == '7' + - name: Update installed packages package: name: '*' diff --git a/guests/playbooks/update/templates/openvz.repo.j2 b/guests/playbooks/update/templates/openvz.repo.j2 new file mode 100644 index 0000000..78acb36 --- /dev/null +++ b/guests/playbooks/update/templates/openvz.repo.j2 @@ -0,0 +1,9 @@ +[openvz] +name=OpenVZ addons +baseurl=https://download.openvz.org/virtuozzo/releases/7.0/x86_64/os/ +enabled=1 +gpgcheck=0 +skip_if_unavailable=0 +metadata_expire=6h +priority=90 +includepkgs=libprlcommon libprlsdk libprlsdk-devel libprlsdk-headers libprlxmlmodel -- 2.21.0

On Thu, 2019-07-11 at 11:54 +0100, Daniel P. Berrangé wrote:
+[openvz] +name=OpenVZ addons +baseurl=https://download.openvz.org/virtuozzo/releases/7.0/x86_64/os/ +enabled=1 +gpgcheck=0
Are these packages really not signed?
+skip_if_unavailable=0 +metadata_expire=6h +priority=90 +includepkgs=libprlcommon libprlsdk libprlsdk-devel libprlsdk-headers libprlxmlmodel
This can be simply includepkgs=libprl* Everything else looks good. -- Andrea Bolognani / Red Hat / Virtualization

Add a mapping exclusively for CentOS 7 to pull in the libprlsdk package, since other distros don't have it available at this time. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml index 4a231c3..6ea3128 100644 --- a/guests/vars/mappings.yml +++ b/guests/vars/mappings.yml @@ -365,6 +365,10 @@ mappings: rpm: libpciaccess-devel cross-policy-deb: foreign + libprlsdk: + default: + CentOS7: libprlsdk-devel + librbd: deb: librbd-dev Fedora: librbd-devel -- 2.21.0

On Thu, 2019-07-11 at 11:55 +0100, Daniel P. Berrangé wrote:
Add a mapping exclusively for CentOS 7 to pull in the libprlsdk package, since other distros don't have it available at this time.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/mappings.yml | 4 ++++ 1 file changed, 4 insertions(+)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/projects/libvirt.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/guests/vars/projects/libvirt.yml b/guests/vars/projects/libvirt.yml index 688dfa3..3cc1300 100644 --- a/guests/vars/projects/libvirt.yml +++ b/guests/vars/projects/libvirt.yml @@ -29,6 +29,7 @@ packages: - libparted - libpcap - libpciaccess + - libprlsdk - librbd - libselinux - libssh -- 2.21.0

On Thu, 2019-07-11 at 11:55 +0100, Daniel P. Berrangé wrote:
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- guests/vars/projects/libvirt.yml | 1 + 1 file changed, 1 insertion(+)
Reviewed-by: Andrea Bolognani <abologna@redhat.com> -- Andrea Bolognani / Red Hat / Virtualization
participants (2)
-
Andrea Bolognani
-
Daniel P. Berrangé