Stop supporting CentOS 7 controllers and images
The diskimage-create.sh tool will now default to CentOS 8 when building CentOS-based amphora images. This patch also removes leftover references to support for Ubuntu Trusty and Xenial. Change-Id: I3aba59c8dd86aeeee28cc6a67af93697912fb55b
This commit is contained in:
parent
bc92de786c
commit
dc2dd711e6
@ -8,10 +8,7 @@ function octavia_install {
|
|||||||
setup_develop $OCTAVIA_DIR
|
setup_develop $OCTAVIA_DIR
|
||||||
if [ $OCTAVIA_NODE == 'main' ] || [ $OCTAVIA_NODE == 'standalone' ] ; then
|
if [ $OCTAVIA_NODE == 'main' ] || [ $OCTAVIA_NODE == 'standalone' ] ; then
|
||||||
if ! [ "$DISABLE_AMP_IMAGE_BUILD" == 'True' ]; then
|
if ! [ "$DISABLE_AMP_IMAGE_BUILD" == 'True' ]; then
|
||||||
if [[ ${DISTRO} =~ "rhel7" ]]; then
|
if [[ ${DISTRO} =~ (rhel|centos) ]]; then
|
||||||
# Installing qemu would bring in the default OS qemu package,
|
|
||||||
# which is too old for Pike and later releases
|
|
||||||
# See https://review.opendev.org/#/c/438325 for details
|
|
||||||
install_package qemu-kvm
|
install_package qemu-kvm
|
||||||
else
|
else
|
||||||
install_package qemu
|
install_package qemu
|
||||||
|
@ -5,14 +5,14 @@ VM_CPUS = ENV['VM_CPUS'] || "1"
|
|||||||
def configure_providers(vm)
|
def configure_providers(vm)
|
||||||
|
|
||||||
vm.provider "virtualbox" do |vb, config|
|
vm.provider "virtualbox" do |vb, config|
|
||||||
config.vm.box = "ubuntu/xenial64"
|
config.vm.box = "ubuntu/bionic64"
|
||||||
vb.gui = true
|
vb.gui = true
|
||||||
vb.memory = VM_MEMORY
|
vb.memory = VM_MEMORY
|
||||||
vb.cpus = VM_CPUS
|
vb.cpus = VM_CPUS
|
||||||
end
|
end
|
||||||
|
|
||||||
vm.provider "libvirt" do |lb, config|
|
vm.provider "libvirt" do |lb, config|
|
||||||
config.vm.box = "celebdor/xenial64"
|
config.vm.box = "celebdor/bionic64"
|
||||||
config.vm.synced_folder './', '/vagrant', type: 'rsync'
|
config.vm.synced_folder './', '/vagrant', type: 'rsync'
|
||||||
lb.nested = true
|
lb.nested = true
|
||||||
lb.memory = VM_MEMORY
|
lb.memory = VM_MEMORY
|
||||||
|
@ -12,13 +12,10 @@ future release.
|
|||||||
Prerequisites
|
Prerequisites
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This script assumes a typical Linux environment and was developed on
|
|
||||||
Ubuntu 12.04.5 LTS.
|
|
||||||
|
|
||||||
Python pip should be installed as well as the python modules found in the
|
Python pip should be installed as well as the python modules found in the
|
||||||
requirements.txt file.
|
requirements.txt file.
|
||||||
|
|
||||||
To do so, you can use the following command on ubuntu:
|
To do so, you can use the following command on Ubuntu:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
@ -57,7 +54,7 @@ Fedora, CentOS and Red Hat Enterprise Linux
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
$ sudo yum install qemu-img git e2fsprogs policycoreutils-python
|
$ sudo dnf install qemu-img git e2fsprogs policycoreutils-python-utils
|
||||||
|
|
||||||
Test Prerequisites
|
Test Prerequisites
|
||||||
------------------
|
------------------
|
||||||
@ -70,8 +67,6 @@ running the tests:
|
|||||||
|
|
||||||
$ sudo chmod 0644 /boot/vmlinuz*
|
$ sudo chmod 0644 /boot/vmlinuz*
|
||||||
|
|
||||||
Tests were run on Ubuntu 14.04.1 LTS during development.
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
This script and associated elements will build Amphora images. Current support
|
This script and associated elements will build Amphora images. Current support
|
||||||
@ -106,7 +101,7 @@ Command syntax:
|
|||||||
[-a i386 | **amd64** | armhf | ppc64le ]
|
[-a i386 | **amd64** | armhf | ppc64le ]
|
||||||
[-b **haproxy** ]
|
[-b **haproxy** ]
|
||||||
[-c **~/.cache/image-create** | <cache directory> ]
|
[-c **~/.cache/image-create** | <cache directory> ]
|
||||||
[-d **bionic**/**7** | 8 | <other release id> ]
|
[-d **bionic**/**8** | <other release id> ]
|
||||||
[-e]
|
[-e]
|
||||||
[-f]
|
[-f]
|
||||||
[-h]
|
[-h]
|
||||||
@ -211,20 +206,6 @@ DIB_CLOUD_IMAGES
|
|||||||
- Directory base URL to download the image from
|
- Directory base URL to download the image from
|
||||||
- Default: depends on the distribution
|
- Default: depends on the distribution
|
||||||
|
|
||||||
For example to build a CentOS 7 amphora with Pike RPM packages:
|
|
||||||
|
|
||||||
.. code:: bash
|
|
||||||
|
|
||||||
# Get image
|
|
||||||
$ wget https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
|
|
||||||
|
|
||||||
# Add repository
|
|
||||||
$ virt-customize -a CentOS-7-x86_64-GenericCloud.qcow2 --selinux-relabel --run-command 'yum install -y centos-release-openstack-pike'
|
|
||||||
|
|
||||||
# Point to modified image and run script
|
|
||||||
$ export DIB_LOCAL_IMAGE=/home/stack/CentOS-7-x86_64-GenericCloud.qcow2
|
|
||||||
$ ./diskimage-create.sh -p -i centos-minimal
|
|
||||||
|
|
||||||
RHEL specific variables
|
RHEL specific variables
|
||||||
------------------------
|
------------------------
|
||||||
Building a RHEL-based image requires:
|
Building a RHEL-based image requires:
|
||||||
@ -240,13 +221,13 @@ Building a RHEL-based image requires:
|
|||||||
More details at:
|
More details at:
|
||||||
<DIB_REPO_PATH>/elements/rhel-common
|
<DIB_REPO_PATH>/elements/rhel-common
|
||||||
|
|
||||||
Here is an example with Customer Portal registration and OSP 13 repository:
|
Here is an example with Customer Portal registration and OSP 15 repository:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
$ export DIB_LOCAL_IMAGE='/tmp/rhel-server-7.6-x86_64-kvm.qcow2'
|
$ export DIB_LOCAL_IMAGE='/tmp/rhel-server-8.0-x86_64-kvm.qcow2'
|
||||||
|
|
||||||
$ export REG_METHOD='portal' REG_REPOS='rhel-7-server-openstack-13-rpms'
|
$ export REG_METHOD='portal' REG_REPOS='rhel-8-server-openstack-15-rpms'
|
||||||
|
|
||||||
$ export REG_USER='<user>' REG_PASSWORD='<password>' REG_AUTO_ATTACH=true
|
$ export REG_USER='<user>' REG_PASSWORD='<password>' REG_AUTO_ATTACH=true
|
||||||
|
|
||||||
@ -255,7 +236,7 @@ an OSP repository):
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
$ export DIB_LOCAL_IMAGE='/tmp/rhel-server-7.6-x86_64-kvm.qcow2'
|
$ export DIB_LOCAL_IMAGE='/tmp/rhel-server-8.1-x86_64-kvm.qcow2'
|
||||||
|
|
||||||
$ export REG_METHOD='satellite' REG_ACTIVATION_KEY="<activation key>"
|
$ export REG_METHOD='satellite' REG_ACTIVATION_KEY="<activation key>"
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ usage() {
|
|||||||
echo " [-a i386 | **amd64** | armhf | ppc64le]"
|
echo " [-a i386 | **amd64** | armhf | ppc64le]"
|
||||||
echo " [-b **haproxy** ]"
|
echo " [-b **haproxy** ]"
|
||||||
echo " [-c **~/.cache/image-create** | <cache directory> ]"
|
echo " [-c **~/.cache/image-create** | <cache directory> ]"
|
||||||
echo " [-d **bionic**/**7** | 8 | <other release id> ]"
|
echo " [-d **bionic**/**8** | <other release id> ]"
|
||||||
echo " [-e]"
|
echo " [-e]"
|
||||||
echo " [-f]"
|
echo " [-f]"
|
||||||
echo " [-h]"
|
echo " [-h]"
|
||||||
@ -216,7 +216,7 @@ AMP_BASEOS=${AMP_BASEOS:-"ubuntu-minimal"}
|
|||||||
if [ "$AMP_BASEOS" = "ubuntu-minimal" ]; then
|
if [ "$AMP_BASEOS" = "ubuntu-minimal" ]; then
|
||||||
export DIB_RELEASE=${AMP_DIB_RELEASE:-"bionic"}
|
export DIB_RELEASE=${AMP_DIB_RELEASE:-"bionic"}
|
||||||
elif [ "${AMP_BASEOS}" = "centos-minimal" ] || [ "${AMP_BASEOS}" = "rhel" ]; then
|
elif [ "${AMP_BASEOS}" = "centos-minimal" ] || [ "${AMP_BASEOS}" = "rhel" ]; then
|
||||||
export DIB_RELEASE=${AMP_DIB_RELEASE:-"7"}
|
export DIB_RELEASE=${AMP_DIB_RELEASE:-"8"}
|
||||||
elif [ "${AMP_BASEOS}" = "fedora" ]; then
|
elif [ "${AMP_BASEOS}" = "fedora" ]; then
|
||||||
export DIB_RELEASE=${AMP_DIB_RELEASE:-"28"}
|
export DIB_RELEASE=${AMP_DIB_RELEASE:-"28"}
|
||||||
fi
|
fi
|
||||||
@ -321,8 +321,8 @@ if [[ "$platform" = 'Ubuntu' || "$platform" =~ 'Debian' ]]; then
|
|||||||
# Also check if we can build the BASEOS on this Ubuntu version
|
# Also check if we can build the BASEOS on this Ubuntu version
|
||||||
UBUNTU_VERSION=`lsb_release -r | awk '{print $2}'`
|
UBUNTU_VERSION=`lsb_release -r | awk '{print $2}'`
|
||||||
if [ "$AMP_BASEOS" != "ubuntu-minimal" ] && \
|
if [ "$AMP_BASEOS" != "ubuntu-minimal" ] && \
|
||||||
[ 1 -eq $(echo "$UBUNTU_VERSION < 14.04" | bc) ]; then
|
[ 1 -eq $(echo "$UBUNTU_VERSION < 16.04" | bc) ]; then
|
||||||
echo "Ubuntu minimum version 14.04 required to build $AMP_BASEOS."
|
echo "Ubuntu minimum version 16.04 required to build $AMP_BASEOS."
|
||||||
echo "Earlier versions don't support the extended attributes required."
|
echo "Earlier versions don't support the extended attributes required."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -28,7 +28,7 @@ tl;dr
|
|||||||
-----
|
-----
|
||||||
* 8GB RAM minimum
|
* 8GB RAM minimum
|
||||||
* "vmx" or "svm" in ``/proc/cpuinfo``
|
* "vmx" or "svm" in ``/proc/cpuinfo``
|
||||||
* Ubuntu 16.04 or later
|
* Ubuntu 18.04 or later
|
||||||
* On that host, copy and run as root:
|
* On that host, copy and run as root:
|
||||||
``octavia/devstack/contrib/new-octavia-devstack.sh``
|
``octavia/devstack/contrib/new-octavia-devstack.sh``
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ For more information, see:
|
|||||||
`Configure DevStack with KVM-based Nested Virtualization
|
`Configure DevStack with KVM-based Nested Virtualization
|
||||||
<https://docs.openstack.org/devstack/latest/guides/devstack-with-nested-kvm.html>`__
|
<https://docs.openstack.org/devstack/latest/guides/devstack-with-nested-kvm.html>`__
|
||||||
|
|
||||||
The devstack environment we recommend should be running Ubuntu Linux 16.04 or
|
The devstack environment we recommend should be running Ubuntu Linux 18.04 or
|
||||||
later. These instructions may work for other Linux operating systems or
|
later. These instructions may work for other Linux operating systems or
|
||||||
environments. However, most people doing development on Octavia are using
|
environments. However, most people doing development on Octavia are using
|
||||||
Ubuntu for their test environment, so you will probably have the easiest time
|
Ubuntu for their test environment, so you will probably have the easiest time
|
||||||
@ -66,7 +66,7 @@ getting your devstack working with that OS.
|
|||||||
|
|
||||||
Deployment
|
Deployment
|
||||||
----------
|
----------
|
||||||
1. Deploy an Ubuntu 16.04 or later Linux host with at least 8GB of RAM. (This
|
1. Deploy an Ubuntu 18.04 or later Linux host with at least 8GB of RAM. (This
|
||||||
can be a VM, but again, make sure you have nested virtualization features
|
can be a VM, but again, make sure you have nested virtualization features
|
||||||
enabled in your BIOS and virtualization software.)
|
enabled in your BIOS and virtualization software.)
|
||||||
2. Copy ``devstack/contrib/new-octavia-devstack.sh`` from this source
|
2. Copy ``devstack/contrib/new-octavia-devstack.sh`` from this source
|
||||||
|
@ -1,16 +1,4 @@
|
|||||||
{
|
{
|
||||||
"release": {
|
|
||||||
"ubuntu": {
|
|
||||||
"trusty": {
|
|
||||||
"haproxy": "haproxy/trusty-backports"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"centos": {
|
|
||||||
"7": {
|
|
||||||
"haproxy": "haproxy18"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"distro": {
|
"distro": {
|
||||||
"ubuntu": {
|
"ubuntu": {
|
||||||
"haproxy": "haproxy"
|
"haproxy": "haproxy"
|
||||||
|
@ -3,11 +3,4 @@
|
|||||||
set -eu
|
set -eu
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
if [ "$DISTRO_NAME" == "ubuntu" ]; then
|
systemctl disable haproxy
|
||||||
# Doing both here as just remove doesn't seem to work on xenial
|
|
||||||
update-rc.d haproxy disable || true
|
|
||||||
update-rc.d -f haproxy remove || true
|
|
||||||
else
|
|
||||||
chkconfig haproxy off
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Add the Ubuntu backports archive
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
set -o xtrace
|
|
||||||
|
|
||||||
if [ "$DISTRO_NAME" == "ubuntu" ] && [ "$DIB_RELEASE" == "trusty" ]; then
|
|
||||||
echo deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse > /etc/apt/sources.list.d/backports.list
|
|
||||||
elif [ "$DISTRO_NAME" == "centos" ] && [ "$DIB_RELEASE" == "7" ]; then
|
|
||||||
INCLUDEPKGS=''
|
|
||||||
case $ARCH in
|
|
||||||
x86_64|amd64)
|
|
||||||
BASEURL=http://mirror.centos.org/\$contentdir/\$releasever/paas/\$basearch/openshift-origin/
|
|
||||||
;;
|
|
||||||
ppc64le)
|
|
||||||
# For ppc64le, the CentOS PaaS sig does not currently publish a repo
|
|
||||||
# even though it does build everything for that architecture. Until
|
|
||||||
# there is an official repo, the publish buildroot can be used. One
|
|
||||||
# down-side to doing this is that the build root contains *all* of the
|
|
||||||
# CentOS-base, CentOS-extras, and CentOS-updates content. To ensure
|
|
||||||
# *only* `haproxy18` is retrieved from this repo, the explicit limit
|
|
||||||
# for that package can be used. This should be fine for now since
|
|
||||||
# haproxy18's dependencies are available outside this repo. If things
|
|
||||||
# change, the includepkgs line can be expanded as needed.
|
|
||||||
BASEURL=https://cbs.centos.org/kojifiles/repos/paas7-openshift-multiarch-el7-build/latest/\$basearch/
|
|
||||||
INCLUDEPKGS='includepkgs=haproxy*'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
cat > /etc/yum.repos.d/CentOS-PaaS.repo <<EOF
|
|
||||||
[paas]
|
|
||||||
name=CentOS-7 - PaaS
|
|
||||||
baseurl=$BASEURL
|
|
||||||
gpgcheck=0
|
|
||||||
enabled=1
|
|
||||||
$INCLUDEPKGS
|
|
||||||
EOF
|
|
||||||
fi
|
|
@ -1,11 +1,4 @@
|
|||||||
{
|
{
|
||||||
"release": {
|
|
||||||
"ubuntu": {
|
|
||||||
"trusty": {
|
|
||||||
"keepalived": "keepalived/trusty-backports"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"distro": {
|
"distro": {
|
||||||
"ubuntu": {
|
"ubuntu": {
|
||||||
"keepalived": "keepalived"
|
"keepalived": "keepalived"
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# keepalived older than 1.3 will segfault when using IPv6 VIPs if the
|
|
||||||
# ip6_tables module is not loaded. Make sure it is loaded on releases we
|
|
||||||
# know have the older version.
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
set -o xtrace
|
|
||||||
|
|
||||||
if [ "$DISTRO_NAME" == "ubuntu" ] && { [ "$DIB_RELEASE" == "trusty" ] || [ "$DIB_RELEASE" == "xenial" ]; }; then
|
|
||||||
echo ip6_tables > /etc/modules-load.d/ip6_tables.conf
|
|
||||||
fi
|
|
@ -1,9 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Add the Ubuntu backports archive
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
set -o xtrace
|
|
||||||
|
|
||||||
if [ "$DISTRO_NAME" == "ubuntu" ] && [ "$DIB_RELEASE" == "trusty" ]; then
|
|
||||||
echo deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse > /etc/apt/sources.list.d/backports.list
|
|
||||||
fi
|
|
@ -42,16 +42,6 @@
|
|||||||
amphora_os: ubuntu
|
amphora_os: ubuntu
|
||||||
amphora_os_release: bionic
|
amphora_os_release: bionic
|
||||||
|
|
||||||
- job:
|
|
||||||
name: publish-openstack-octavia-amphora-image-centos7
|
|
||||||
parent: publish-openstack-octavia-amphora-image
|
|
||||||
description: |
|
|
||||||
Publish CentOS 7 based amphora image to tarballs.o.o.
|
|
||||||
vars:
|
|
||||||
amphora_os: centos
|
|
||||||
amphora_image_size: 3
|
|
||||||
amphora_os_release: 7
|
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: publish-openstack-octavia-amphora-image-centos8
|
name: publish-openstack-octavia-amphora-image-centos8
|
||||||
parent: publish-openstack-octavia-amphora-image
|
parent: publish-openstack-octavia-amphora-image
|
||||||
|
@ -71,7 +71,5 @@
|
|||||||
jobs:
|
jobs:
|
||||||
- publish-openstack-octavia-amphora-image-bionic:
|
- publish-openstack-octavia-amphora-image-bionic:
|
||||||
branches: ^(?!stable/.*).*$
|
branches: ^(?!stable/.*).*$
|
||||||
- publish-openstack-octavia-amphora-image-centos7:
|
|
||||||
branches: ^(?!stable/.*).*$
|
|
||||||
- publish-openstack-octavia-amphora-image-centos8:
|
- publish-openstack-octavia-amphora-image-centos8:
|
||||||
branches: ^(?!stable/.*).*$
|
branches: ^(?!stable/.*).*$
|
||||||
|
Loading…
Reference in New Issue
Block a user