From e42a9b3011f96ad26f4a19db77ac44cad31a4290 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 18 Dec 2016 16:53:26 +0100 Subject: Uplift Armband to Fuel Newton [ Dan Andresan ] - puppet: database: Fix Percona XtraBackup sync [ Alexandru Avadanii ] - disable all plugins; - re-enable remote tracking; - remove "Revert: Point to specific snapshot ..."; - patch context adjustments; - obsolete "kernel-bump", linux-image-lts-xenial is now the default; - network-checker iface state check now fixed upstream [1]; - fuel-nailgun-agent hugepage size should also check /proc/meminfo; - fuel-nailgun-agent CPU detection for AArch64; - nova AArch64 hugepage support is now upstream; - obsolete Cirros Test VM direct kernel boot (by switch to AAVMF): * f-l/0001-upload_cirros-Add-direct-kernel-boot-support.patch * f-w/0001-direct-kernel-boot-for-cirros.patch - rework m1.micro RAM size patch after puppet manifest split upstream; - re-enable arch-agnostic plugins which were rebased in Fuel@OPNFV: * f_yardstick-pluginbuild * f_congress-pluginbuild - do NOT retire MySQL SST provider patch series (nack: ARMBAND-186), rebase (and keep for now) MySQL SST provider patches, as trying to use xtrabackup-v2 revelead a regression since Colorado.3.0, and these patches simplify troubleshooting a lot; - AArch64: nova: libvirt: Use host-model cpu (ARMBAND-193); - AArch64: nova: libvirt: Use pointer_model instead of use_usb_tablet; - m1.micro RAM size insufficient for TestVM with AAVMF (s/128/256/) - switch Cirros TestVM to AAVMF from direct kernel boot; - backport nova libvirt driver fix for deleting instances booted with AAVMF firmware from [2]; TODO (later): - Include ISO build time fixes for cirros_testvm in Armband package; TODO (ODL, later): - test & revise leveldb patching; - bring back Qugga patching for arm64; - configure systemd service to automatically respawn; [1] https://review.openstack.org/#/c/417373/ [2] https://review.openstack.org/#/c/357190/ JIRA: ARMBAND-29 JIRA: ARMBAND-32 JIRA: ARMBAND-63 JIRA: ARMBAND-88 JIRA: ARMBAND-116 JIRA: ARMBAND-118 JIRA: ARMBAND-186 JIRA: ARMBAND-193 JIRA: ARMBAND-194 JIRA: ARMBAND-195 JIRA: ARMBAND-196 JIRA: ARMBAND-197 Change-Id: Ia99022e364e61245d109cabab9d0ed7157b4d2f5 Signed-off-by: Alexandru Avadanii Signed-off-by: Dan Andresan --- ...L-leveldb-leveldbjni-Enable-arm64-support.patch | 27 ++++----- .../0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch | 70 ---------------------- ...E-ODL-wget-no-check-certificate-for-cache.patch | 42 ------------- ...0004-ODL-Upstart-service-Respawn-on-crash.patch | 38 ------------ 4 files changed, 11 insertions(+), 166 deletions(-) delete mode 100644 patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch delete mode 100644 patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch delete mode 100644 patches/fuel-plugin-opendaylight/0004-ODL-Upstart-service-Respawn-on-crash.patch (limited to 'patches/fuel-plugin-opendaylight') diff --git a/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch b/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch index 5cfa99b5..5804722e 100644 --- a/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch +++ b/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch @@ -48,22 +48,18 @@ index 69cc23a..791ceba 100644 + } } diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp -index 1962609..ca98532 100644 --- a/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp +++ b/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp -@@ -17,6 +17,12 @@ class opendaylight::install ( - ensure => installed, - } - +@@ -15,3 +15,9 @@ class opendaylight::install ( + package { 'opendaylight': + ensure => $odl_package, ++ } ++ + if ($::osfamily == 'Debian' and $::opendaylight::arch == 'arm64') { + class { 'opendaylight::leveldbjni': -+ require => Package[$odl_package], ++ require => Package['opendaylight'], + } -+ } -+ - # quagga - class { 'opendaylight::quagga': - before => Service['opendaylight'] + } @@ -35,7 +41,8 @@ class opendaylight::install ( debug("Set odl rest api port to ${rest_port}") @@ -74,13 +70,12 @@ index 1962609..ca98532 100644 ensure => file, owner => 'odl', content => template('opendaylight/jetty.xml.erb') -@@ -71,6 +78,7 @@ class opendaylight::install ( - Package[$odl_package] -> +@@ -71,5 +78,6 @@ class opendaylight::install ( Ini_setting <||> -> Firewall <||> -> -- File <||> -> -+ File['jetty.xml'] -> -+ Class['opendaylight::leveldbjni'] -> +- File <||> ~> ++ File['jetty.xml'] ~> ++ Class['opendaylight::leveldbjni'] ~> Service['opendaylight'] } diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp diff --git a/patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch b/patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch deleted file mode 100644 index e6e7716f..00000000 --- a/patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch +++ /dev/null @@ -1,70 +0,0 @@ -From: Alexandru Avadanii -Date: Mon, 4 Jul 2016 20:44:49 +0200 -Subject: [PATCH] opnfv-quagga: Build for UBUNTU_ARCH. - -ODL itself is mostly arch-indep, but its deps (e.g. opnfv-quagga -and friends) are not. - -Introduce opnfv-quagga building/packing for multiple archs, listed -in UBUNTU_ARCH, which holds a space-separated list of target -arch(s), represented in `dpkg --print-architecture` format. -Only applicable when "BUILD_FOR=ubuntu". - -FIXME(armband): For now, only native building and prebuilt debs -are supported (no cross-building). - -Due to the design of opnfv-packaging repo, it is easier to: -- patch upstream sources to support native arm64 builds (see [1]); -- add prebuilt arm64 binaries to output dir in git repo (like amd64), -submitted as pull request upstream [2]; - -Until above OPNFV-QUAGGA changes land upstream and/or are refactored, -rely on forked repository that contains above patches [3] on -branch "stable/colorado", including prebuilt binaries (DEBs) for: -- amd64 (also available in upstream repo); -- arm64 (submitted upstream in [3]); - -[1] https://github.com/nikolas-hermanns/opnfv-quagga-packaging/pull/1 -[2] https://github.com/nikolas-hermanns/opnfv-quagga-packaging/pull/2 -[3] https://github.com/alexandruavadanii/opnfv-quagga-packaging - -Signed-off-by: Alexandru Avadanii ---- - pre_build_hook | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/pre_build_hook b/pre_build_hook -index 0296821..a6d55e9 100755 ---- a/pre_build_hook -+++ b/pre_build_hook -@@ -53,9 +53,17 @@ NETWORKING_ODL_BRANCH=${NETWORKING_ODL_BRANCH:-stable/mitaka} - OPNFV_QUAGGE_PACKAGING_REPO=${OPNFV_QUAGGE_PACKAGING_REPO:-https://github.com/nikolas-hermanns/opnfv-quagga-packaging} - OPNFV_QUAGGE_PACKAGING_BRANCH=stable/colorado - --# For which systems odl package should be build -+# For which systems odl package should be built - BUILD_FOR=${BUILD_FOR:-ubuntu} - -+# For which architecture(s) package should be built -+# Only applicable when "BUILD_FOR=ubuntu" -+# ODL itself is mostly arch-indep, but its deps are not -+# All archs should be represented in `dpkg --print-architecture` format -+# UBUNTU_ARCH holds a space-separated list of target arch(s) -+# FIXME(armband): For now, only native building is supported! -+UBUNTU_ARCH=${UBUNTU_ARCH:-$(dpkg --print-architecture)} -+ - DIR="$(dirname `readlink -f $0`)" - TMP_DIR="${DIR}/tmp" - MODULES="${DIR}/deployment_scripts/puppet/modules" -@@ -86,7 +94,10 @@ function add_opnfv_quagga { - sudo apt-get -y install `cat requirements.txt` - make -j6 - fi -- cp debian_package/* $path -+ # Filter only requested archs, bail on missing DEBs -+ for ARCH in ${UBUNTU_ARCH}; do -+ cp debian_package/*_${ARCH}.deb $path -+ done - popd - popd - diff --git a/patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch b/patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch deleted file mode 100644 index 8b2d1a38..00000000 --- a/patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Alexandru Avadanii -Date: Tue, 12 Jul 2016 14:26:22 +0200 -Subject: [PATCH] FIXME: ODL wget: --no-check-certificate for cache. - -ODL tarball is normally fetched from nexus.opendaylight.org domain, -which has a very limited bandwidth, taking up to 10-15mins for our -build server to download the ODL archive at each ISO build. -This adds up to 15-25% of each ISO build time spent on downloading -ODL archive. -Therefore, we chose to set up a local HTTPS cache of nexus repos, -(just for the sake of not hardcoding the URL in our Makefile), -and just disable certificate check for wget from local URL. - -Allow using a HTTPS local cache, so we don't override the whole -URL of the ODL archive. Our local cache has HTTPS enabled, but the -certificate won't match the domain name. - -FIXME: This patch is only needed if you have a local cache of -nexus.opendaylight.org! - -Only use this option if you are otherwise convinced of the site's -authenticity, or if you really don't care about the validity of -its certificate. - -Signed-off-by: Alexandru Avadanii ---- - pre_build_hook | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pre_build_hook b/pre_build_hook -index a6d55e9..21e7a99 100755 ---- a/pre_build_hook -+++ b/pre_build_hook -@@ -76,7 +76,7 @@ function cleanup { - } - - function download { -- wget "$1" -qO $2 -+ wget --no-check-certificate "$1" -qO $2 - } - - function unpack { diff --git a/patches/fuel-plugin-opendaylight/0004-ODL-Upstart-service-Respawn-on-crash.patch b/patches/fuel-plugin-opendaylight/0004-ODL-Upstart-service-Respawn-on-crash.patch deleted file mode 100644 index 6a9150c0..00000000 --- a/patches/fuel-plugin-opendaylight/0004-ODL-Upstart-service-Respawn-on-crash.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Alexandru Avadanii -Date: Thu, 1 Dec 2016 13:12:35 +0100 -Subject: [PATCH] ODL Upstart service: Respawn on crash - -On arm64, JVM sometimes (~10%) crashes at the very start, due to -JIT issues in our openjdk8 package. - -We can't really solve the JVM on arm64 issues in the near future, -so we will try to work around the issue by configuring the ODL -service as respawn-able (see [1] for more details). - -Note: This is specific to Ubuntu Trusty (14.04), which uses upstart, -for Ubuntu Xenial (or anything else >14.x), which uses systemd, -a different, equivalent mechanism should be used. - -[1] http://upstart.ubuntu.com/cookbook/#respawn - -JIRA: ARMBAND-134 - -Signed-off-by: Alexandru Avadanii ---- - odl_package/ubuntu/opendaylight | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/odl_package/ubuntu/opendaylight b/odl_package/ubuntu/opendaylight -index fd84376..b25e3b8 100644 ---- a/odl_package/ubuntu/opendaylight -+++ b/odl_package/ubuntu/opendaylight -@@ -8,6 +8,9 @@ stop on runlevel [!2345] - setgid odl - setuid odl - -+respawn -+respawn limit 20 20 -+ - env KARAF_HOME="/opt/opendaylight" - env JAVA_OPTS="-server -Xms1g -Xmx2g -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -Dcom.sun.management.jmxremote" - env OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true" -- cgit 1.2.3-korg