From 9863abbc72d21965e38f503172737ba55e375ff0 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Sat, 10 Feb 2018 21:46:37 +0100 Subject: [PATCH] Move jenkins/data/bindep-fallback.txt (1/2) Let's get rid of jenkins in the name and use a new place to place bindep-fallback.txt in. Create new nodepool element to copy the file over. This is a first of two changes for this repo, we also need to update the few users in bindep and openstack-zuul-jobs before we can remove the old location. We can remove jenkins/data/bindep-fallback.txt only in the followup change since project-config is not self-testing. Change-Id: I5c94dcbbca25db7dd998bfbccfbb25c1c4342a2b --- nodepool/elements/bindep-fallback.txt | 115 ++++++++++++++++++ .../post-install.d/89-data-files | 28 +++++ .../post-install.d/89-jenkins-scripts | 4 +- playbooks/bindep-fallback/run.yaml | 2 +- zuul.d/jobs.yaml | 16 +-- 5 files changed, 155 insertions(+), 10 deletions(-) create mode 100644 nodepool/elements/bindep-fallback.txt create mode 100755 nodepool/elements/nodepool-base/post-install.d/89-data-files diff --git a/nodepool/elements/bindep-fallback.txt b/nodepool/elements/bindep-fallback.txt new file mode 100644 index 0000000000..04ed8de9ec --- /dev/null +++ b/nodepool/elements/bindep-fallback.txt @@ -0,0 +1,115 @@ +# This is the fallback list for packages to install. Do not add +# additional packages here. Repositories should use bindep and create +# their own bindep.txt files if the list below is not +# working for them. + +build-essential [platform:dpkg] +curl [!platform:gentoo] +net-misc/curl [platform:gentoo] +dev-libs/cyrus-sasl [platform:gentoo] +cyrus-sasl-devel [platform:rpm] +media-fonts/nanumfont [platform:gentoo] +fonts-nanum [platform:dpkg] +media-fonts/takao-fonts [platform:gentoo] +fonts-takao [platform:dpkg] +gawk +gettext [!platform:suse] +gettext-runtime [platform:suse] +graphviz [!platform:gentoo] +media-gfx/graphviz [platform:gentoo] +language-pack-en [platform:ubuntu] +libcurl-devel [platform:rpm] +libcurl4-gnutls-dev [platform:dpkg] +libevent-dev [platform:dpkg] +libevent-devel [platform:rpm] +dev-libs/libevent [platform:gentoo] +libffi-dev [platform:dpkg] +libffi-devel [platform:redhat] +libffi48-devel [platform:suse] +virtual/libffi [platform:gentoo] +libjerasure-dev [platform:ubuntu] +dev-libs/jerasure [platform:gentoo] +libjpeg-dev [platform:dpkg] +libjpeg8-devel [platform:suse] +libjpeg-turbo-devel [platform:redhat] +media-libs/libjpeg-turbo [platform:gentoo] +libldap2-dev [platform:dpkg] +net-nds/openldap [platform:gentoo] +libmysqlclient-dev [platform:dpkg] +libpcap-dev [platform:dpkg] +libpcap-devel [platform:rpm] +net-libs/libpcap [platform:gentoo] +libpq-dev [platform:dpkg] +librrd-dev [platform:dpkg] +net-analyzer/rrdtool [platform:gentoo] +libsasl2-dev [platform:dpkg] +libselinux-python [platform:redhat] +python-selinux [platform:suse] +sys-libs/libselinux [platform:gentoo] +libsqlite3-dev [platform:dpkg] +libuuid-devel [platform:rpm] +libvirt-dev [platform:dpkg] +libvirt-devel [platform:rpm] +app-emulation/libvirt [platform:gentoo] +libvirt-python [platform:rpm] +dev-python/libvirt-python [platform:gentoo] +libxml2-dev [platform:dpkg] +libxml2-devel [platform:rpm] +libxml2-utils [platform:dpkg] +dev-libs/libxml2 [platform:gentoo] +libxslt-devel [platform:rpm] +libxslt1-dev [platform:dpkg] +dev-libs/libxslt [platform:gentoo] +locales [platform:debian] +mariadb [platform:rpm] +mariadb-server [platform:redhat] +mariadb-devel [platform:redhat] +libmysqlclient-devel [platform:suse] +dev-db/mariadb [platform:gentoo] +memcached +mysql-client [platform:dpkg] +mysql-server [platform:dpkg] +openldap-devel [platform:redhat] +openldap2-devel [platform:suse] +pkg-config [platform:dpkg platform:suse] +pkgconfig [platform:redhat] +virtual/pkgconfig [platform:gentoo] +postgresql +postgresql-client [platform:dpkg] +postgresql-devel [platform:rpm] +postgresql-server [platform:rpm] +pypy [platform:ubuntu] +pypy-dev [platform:ubuntu] +python-dev [platform:dpkg] +python-devel [platform:rpm] +dev-lang/python [platform:gentoo] +python-libvirt [platform:dpkg] +python-lxml [!platform:gentoo !platform:fedora] +python2-lxml [platform:fedora] +dev-python/lxml [platform:gentoo] +# Note that python3-all-dev includes python3-all, added +# both here for documentary purpose. +python3-all [platform:dpkg] +python3-all-dev [platform:dpkg] +python3-devel [platform:fedora platform:suse] +# python3-devel does not pull in the python3 package on openSUSE so +# we need to be explicit. The python3 package contains the XML module +# which is required by a python3 virtualenv. Similarly, in python2, +# the XML module is located in python-xml which is not pulled in +# by python-devel as well. See https://bugzilla.suse.com/show_bug.cgi?id=1046990 +python3 [platform:suse] +python-xml [platform:suse] +rrdtool-devel [platform:rpm] +sqlite [platform:redhat] +sqlite-devel [platform:redhat] +sqlite3-devel [platform:suse] +sqlite3 [platform:dpkg] +dev-db/sqlite [platform:gentoo] +swig +unzip +uuid-dev [platform:dpkg] +xsltproc [platform:dpkg] +zip +zlib-devel [platform:rpm] +zlib1g-dev [platform:dpkg] +sys-libs/zlib [platform:gentoo] diff --git a/nodepool/elements/nodepool-base/post-install.d/89-data-files b/nodepool/elements/nodepool-base/post-install.d/89-data-files new file mode 100755 index 0000000000..b46f2ba4fc --- /dev/null +++ b/nodepool/elements/nodepool-base/post-install.d/89-data-files @@ -0,0 +1,28 @@ +#!/bin/bash +# Copyright (C) 2011-2013 OpenStack Foundation +# Copyright 2016 Red Hat, Inc. +# Copyright 2018 SUSE Linux, LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# +# See the License for the specific language governing permissions and +# limitations under the License. + +if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +mkdir -p /usr/local/bindep-fallback +cp -a /opt/git/openstack-infra/project-config/nodepool/elements/bindep-fallback.txt \ + /usr/local/bindep-fallback/ diff --git a/nodepool/elements/nodepool-base/post-install.d/89-jenkins-scripts b/nodepool/elements/nodepool-base/post-install.d/89-jenkins-scripts index 4e36080399..3d6379981d 100755 --- a/nodepool/elements/nodepool-base/post-install.d/89-jenkins-scripts +++ b/nodepool/elements/nodepool-base/post-install.d/89-jenkins-scripts @@ -25,7 +25,9 @@ set -o pipefail # NOTE(pabelanger): Until zuulv3 lands, manually copy scripts / data into # /usr/local/jenkins. mkdir -p /usr/local/jenkins -cp -a /opt/git/openstack-infra/project-config/jenkins/data \ +# NOTE(AJaeger): Remove this once all users are updated +mkdir -p /usr/local/jenkins/common_data +cp -a /opt/git/openstack-infra/project-config/nodepool/elements/bindep-fallback.txt \ /usr/local/jenkins/common_data cp -a /opt/git/openstack-infra/project-config/jenkins/scripts \ /usr/local/jenkins/slave_scripts diff --git a/playbooks/bindep-fallback/run.yaml b/playbooks/bindep-fallback/run.yaml index a4bf6eac96..0aa770a430 100644 --- a/playbooks/bindep-fallback/run.yaml +++ b/playbooks/bindep-fallback/run.yaml @@ -2,4 +2,4 @@ roles: - role: bindep bindep_profile: test - bindep_file: "{{ zuul.project.src_dir }}/jenkins/data/bindep-fallback.txt" + bindep_file: "{{ zuul.project.src_dir }}/nodepool/elements/bindep-fallback.txt" diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 40a90256a1..7cbfdd8f1b 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -1114,10 +1114,10 @@ name: project-config-bindep-fallback description: | Check installation of binary packages for file - jenkins/data/bindep-fallback.txt. + nodepool/elements/bindep-fallback.txt. run: playbooks/bindep-fallback/run.yaml files: - - jenkins/data/bindep-fallback.txt + - nodepool/elements/bindep-fallback.txt - playbooks/bindep-fallback/run.yaml - job: @@ -1125,7 +1125,7 @@ parent: project-config-bindep-fallback description: | Check installation of binary packages for file - jenkins/data/bindep-fallback.txt. + nodepool/elements/bindep-fallback.txt. The testing is done for CentOS 7. nodeset: centos-7 @@ -1135,7 +1135,7 @@ parent: project-config-bindep-fallback description: | Check installation of binary packages for file - jenkins/data/bindep-fallback.txt. + nodepool/elements/bindep-fallback.txt. The testing is done for Fedora 26. nodeset: fedora-26 @@ -1145,7 +1145,7 @@ parent: project-config-bindep-fallback description: | Check installation of binary packages for file - jenkins/data/bindep-fallback.txt. + nodepool/elements/bindep-fallback.txt. The testing is done for Debian Jessie. nodeset: debian-jessie @@ -1155,7 +1155,7 @@ parent: project-config-bindep-fallback description: | Check installation of binary packages for file - jenkins/data/bindep-fallback.txt. + nodepool/elements/bindep-fallback.txt. The testing is done for openSUSE Leap 42.3. nodeset: opensuse-423 @@ -1165,7 +1165,7 @@ parent: project-config-bindep-fallback description: | Check installation of binary packages for file - jenkins/data/bindep-fallback.txt. + nodepool/elements/bindep-fallback.txt. The testing is done for Ubuntu Trusty. nodeset: ubuntu-trusty @@ -1175,7 +1175,7 @@ parent: project-config-bindep-fallback description: | Check installation of binary packages for file - jenkins/data/bindep-fallback.txt. + nodepool/elements/bindep-fallback.txt. The testing is done for Ubuntu Xenial. nodeset: ubuntu-xenial