summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--foreman/docs/src/release-notes.rst195
-rw-r--r--fuel/build/Makefile3
-rw-r--r--fuel/build/install/apt-ftparchive-udeb.conf33
-rwxr-xr-xfuel/build/install/install.sh10
-rw-r--r--fuel/build/patch-packages/Makefile2
-rw-r--r--fuel/build/patch-packages/debootstrap/Makefile28
-rw-r--r--fuel/build/patch-packages/debootstrap/debootstrap.patch12
-rwxr-xr-xfuel/build/patch-packages/tools/udeb_pack38
-rwxr-xr-xfuel/build/patch-packages/tools/udeb_unpack58
-rwxr-xr-xfuel/prototypes/libvirt/deploy/deploy.sh13
10 files changed, 386 insertions, 6 deletions
diff --git a/foreman/docs/src/release-notes.rst b/foreman/docs/src/release-notes.rst
new file mode 100644
index 0000000..cb6db30
--- /dev/null
+++ b/foreman/docs/src/release-notes.rst
@@ -0,0 +1,195 @@
+:Authors: Tim Rozet (trozet@redhat.com)
+:Version: 0.1
+
+================================================================
+OPNFV Release Note for "Arno-RC2 release candidate" - Foreman/QuickStack@OPNFV
+================================================================
+
+Abstract
+========
+
+This document provides the release notes for ARNO-RC2 release candidate of Foreman/QuickStack@OPNFV.
+
+License
+=======
+All Foreman/QuickStack and "common" entities are protected by the Apache License ( http://www.apache.org/licenses/ )
+
+**Contents**
+
+1 Version History
+
+2 Important notes
+
+3 Summary
+
+4 Delivery Data
+
+5 Known Limitations, Issues and Workarounds
+
+6 Test Result
+
+7 References
+
+1 Version history
+===================
+
++--------------------+--------------------+--------------------+--------------------+
+| **Date** | **Ver.** | **Author** | **Comment** |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+| 2015-04-16 | 0.1.0 | Tim Rozet | First draft |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+
+2 Important notes
+===================
+
+This is the first OPNFV Arno pre-release that implements the deploy stage of the OPNFV CI pipeline.
+
+Carefully follow the installation-instructions which guide a user on how to deploy OPNFV using Foreman/QuickStack installer.
+
+3 Summary
+===========
+
+Arno Foreman/QuickStack@OPNFV is an installer capable of setting up an OPNFV target system. The current definition of an OPNFV target system is OpenStack Juno upstream project versioncombined with OpenDaylight version: Helium. The system is deployed with OpenStack High Availability (HA) for most OpenStack services. OpenDaylight is deployed in non-HA form as HA is not availble for Arno release. Ceph storage is used as Cinder backend, and is the only supported storage for Arno. Ceph is setup as 3 OSDs and 3 Monitors, one OSD+Mon per Controller node.
+
+This Arno pre-release of Foreman/QuickStack@OPNFV adds the deploy stage of the OPNFV CI pipeline
+
+- Documentation is built by Jenkins
+- .iso image is built by Jenkins
+- Jenkins deploys an Foreman/QuickStack@OPNFV stack to baremetal, which includes 3 control+network nodes, and 2 compute nodes.
+
+Automatic test of the deployed system is not part of this pre-release.
+
+4 Release Data
+================
+
++--------------------------------------+--------------------------------------+
+| **Project** | Arno/genesis/bgs |
+| | |
++--------------------------------------+--------------------------------------+
+| **Repo/tag** | genesis/arno-rc2 |
+| | |
++--------------------------------------+--------------------------------------+
+| **Release designation** | Arno RC2 |
+| | |
++--------------------------------------+--------------------------------------+
+| **Release date** | 2015-04-23 |
+| | |
++--------------------------------------+--------------------------------------+
+| **Purpose of the delivery** | OPNFV Internal quality assurance |
+| | and CI Pipline dry-run |
+| | |
++--------------------------------------+--------------------------------------+
+
+4.1 Version change
+------------------
+
+4.1.1 Module version changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+This is the first tracked version of genesis-Foreman/QuickStack. It is based on following upstream versions:
+
+- OpenStack (Juno release)
+
+- OpenDaylight Helium-SR2
+
+- CentOS 7
+
+4.1.2 Document version changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+This is the first tracked version of genesis-Foreman/QuickStack. It comes with the following documentation:
+
+- OPNFV Installation instructions for - Foreman/QuickStack@OPNFV - ver. 0.0.1
+- OPNFV Release Note for "Arno-RC2 release candidate" - Foreman/QuickStack@OPNFV - ver. 0.1 (this document)
+
+4.2 Reason for version
+----------------------
+4.2.1 Feature additions
+~~~~~~~~~~~~~~~~~~~~~~~
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| JIRA: BGS-4 | OPNFV base system install |
+| | using Foreman/Quickstack. |
++--------------------------------------+--------------------------------------+
+
+4.2.2 Bug corrections
+~~~~~~~~~~~~~~~~~~~~~
+
+**JIRA TICKETS:**
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| | |
+| | |
++--------------------------------------+--------------------------------------+
+
+4.3 Deliverables
+----------------
+
+4.3.1 Software deliverables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Foreman/QuickStack@OPNFV .iso file
+deploy.sh - Automatically deploys Target OPNFV System to Bare Metal
+
+4.3.2 Documentation deliverables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+- OPNFV Installation instructions for - Foreman/QuickStack@OPNFV - ver. 0.0.1
+- OPNFV Release Note for "Arno-RC2 release candidate" - Foreman/QuickStack@OPNFV - ver. 0.1 (this document)
+
+5 Known Limitations, Issues and Workarounds
+============================================
+
+5.1 System Limitations
+-------------------------
+
+**Max number of blades:** 1 Foreman/QuickStack master, 3 Controllers, 20 Compute blades
+
+**Min number of blades:** 1 Foreman/QuickStack master, 1 Controller, 1 Compute blade
+
+**Storage:** Ceph is the only supported storage configuration.
+
+**Min master requirements:** At least 2048 MB of RAM
+
+
+5.2 Known issues
+-------------------
+
+**JIRA TICKETS:**
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| JIRA: BGS-13 | bridge br-ex is not auto configured |
+| | by puppet |
++--------------------------------------+--------------------------------------+
+
+5.3 Workarounds
+------------------
+**-**
+
+
+6 Test Result
+==============
+
+Foreman/QuickStack@OPNFV Arno RC2 has undergone QA test runs with the following results:
+
++--------------------------------------+--------------------------------------+
+| **TEST-SUITE** | **Results:** |
+| | |
++--------------------------------------+--------------------------------------+
+| **-** | **-** |
++--------------------------------------+--------------------------------------+
+
+
+7 References
+=============
+
+For more information on the OPNFV Arno release, please see:
+
+http://wiki.opnfv.org/release/arno
diff --git a/fuel/build/Makefile b/fuel/build/Makefile
index fda212d..5f63120 100644
--- a/fuel/build/Makefile
+++ b/fuel/build/Makefile
@@ -27,6 +27,7 @@ export NEWISO = $(shell pwd)/release/opnfv-${REVSTATE}.iso
#Build variables
export BUILD_BASE := $(shell pwd)
export DEB_DEST := $(BUILD_BASE)/release/packages/ubuntu/pool/main
+export UDEB_DEST := $(BUILD_BASE)/release/packages/ubuntu/pool/debian-installer
export PUPPET_DEST := $(BUILD_BASE)/release/puppet/modules
export CACHE_DIR := $(BUILD_BASE)/cache
export VERSION_FILE := $(BUILD_BASE)/.versions
@@ -108,7 +109,7 @@ umount-origiso:
.PHONY: $(SUBDIRS)
$(SUBDIRS):
- @mkdir -p release/packages/ubuntu/pool/main release/puppet/modules release/isoroot
+ @mkdir -p release/packages/ubuntu/pool/main release/packages/ubuntu/pool/debian-installer release/puppet/modules release/isoroot
$(MAKE) -C $@ -f Makefile release
.PHONY: patch-packages
diff --git a/fuel/build/install/apt-ftparchive-udeb.conf b/fuel/build/install/apt-ftparchive-udeb.conf
new file mode 100644
index 0000000..2acbcf0
--- /dev/null
+++ b/fuel/build/install/apt-ftparchive-udeb.conf
@@ -0,0 +1,33 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# stefan.k.berg@ericsson.com
+# jonas.bjurel@ericsson.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+Dir {
+ ArchiveDir ".";
+};
+
+TreeDefault {
+ Directory "pool";
+};
+
+BinDirectory "pool/debian-installer" {
+ Packages "dists/precise/main/debian-installer/binary-amd64/Packages";
+ BinOverride "./indices/override.precise.main.debian-installer";
+};
+
+Default {
+ Packages {
+ Extensions ".udeb";
+ Compress ". gzip";
+ };
+};
+
+Contents {
+ Compress "gzip";
+};
diff --git a/fuel/build/install/install.sh b/fuel/build/install/install.sh
index 823bcd9..dbb26d6 100755
--- a/fuel/build/install/install.sh
+++ b/fuel/build/install/install.sh
@@ -257,6 +257,14 @@ make_iso() {
copy_packages() {
echo "Copying Debian packages..."
+ cd $TOP/release/packages/ubuntu/pool/debian-installer
+
+ for udeb in `ls -1 | grep '\.udeb$'`
+ do
+ echo " $udeb"
+ cp $udeb $REPO/pool/debian-installer
+ done
+
cd $TOP/release/packages/ubuntu/pool/main
for deb in `ls -1 | grep '\.deb$'`
do
@@ -401,8 +409,10 @@ copy_packages() {
# The below methods are from 15B
APT_REL_CONF="$TOP/install/apt-ftparchive-release.conf"
APT_DEB_CONF="$TOP/install/apt-ftparchive-deb.conf"
+ APT_UDEB_CONF="$TOP/install/apt-ftparchive-udeb.conf"
apt-ftparchive -c "${APT_REL_CONF}" generate "${APT_DEB_CONF}"
+ apt-ftparchive generate "${APT_UDEB_CONF}"
# Fuel also needs this index file
cat dists/precise/main/binary-amd64/Packages | \
diff --git a/fuel/build/patch-packages/Makefile b/fuel/build/patch-packages/Makefile
index 9eb22fe..bcaac36 100644
--- a/fuel/build/patch-packages/Makefile
+++ b/fuel/build/patch-packages/Makefile
@@ -8,7 +8,7 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-SUBDIRS := python-nova
+SUBDIRS := python-nova debootstrap
SUBCLEAN = $(addsuffix .clean,$(SUBDIRS))
.PHONY: $(SUBDIRS) $(SUBCLEAN) clean
diff --git a/fuel/build/patch-packages/debootstrap/Makefile b/fuel/build/patch-packages/debootstrap/Makefile
new file mode 100644
index 0000000..0109312
--- /dev/null
+++ b/fuel/build/patch-packages/debootstrap/Makefile
@@ -0,0 +1,28 @@
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# stefan.k.berg@ericsson.com
+# jonas.bjurel@ericsson.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+TOP := $(shell pwd)
+
+.PHONY: all
+all:
+
+.PHONY: clean
+clean:
+ @rm -rf udebPackage
+ @rm -rf *.udeb
+ @rm -rf patch-replacements
+ @rm -rf .udebpackage
+
+.PHONY: release
+release:
+ ../tools/udeb_unpack debootstrap-udeb_1.0.4*.udeb $(ORIGISO)
+ patch -s -p0 < debootstrap.patch
+ ../tools/udeb_pack $(REVSTATE)
+ @cp *.udeb $(UDEB_DEST)
diff --git a/fuel/build/patch-packages/debootstrap/debootstrap.patch b/fuel/build/patch-packages/debootstrap/debootstrap.patch
new file mode 100644
index 0000000..62342c9
--- /dev/null
+++ b/fuel/build/patch-packages/debootstrap/debootstrap.patch
@@ -0,0 +1,12 @@
+--- udebPackage/usr/share/debootstrap/scripts/gutsy.orig 2014-11-10 18:21:37.000000000 +0000
++++ udebPackage/usr/share/debootstrap/scripts/gutsy 2015-04-15 09:28:44.290437000 +0000
+@@ -112,7 +112,8 @@
+
+ p; progress $baseprog $bases INSTCORE "Installing core packages" #2
+ ln -sf mawk "$TARGET/usr/bin/awk"
+- x_core_install base-files base-passwd
++ x_core_install base-passwd
++ x_core_install base-files
+ p; progress $baseprog $bases INSTCORE "Installing core packages" #3
+ x_core_install dpkg
+
diff --git a/fuel/build/patch-packages/tools/udeb_pack b/fuel/build/patch-packages/tools/udeb_pack
new file mode 100755
index 0000000..e961a73
--- /dev/null
+++ b/fuel/build/patch-packages/tools/udeb_pack
@@ -0,0 +1,38 @@
+#!/bin/bash -e
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# stefan.k.berg@ericsson.com
+# jonas.bjurel@ericsson.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
+my_exit() {
+
+ if [ -d "$ISOROOT" ]; then
+ fusermount -u $ISOROOT
+ fi
+}
+
+ME=$(basename $0)
+
+trap my_exit EXIT
+
+if [ ! -d udebPackage ]; then
+ echo "$ME: Error - package directory does not exist"
+ exit 1
+fi
+
+echo "Stepping revision number to $REV"
+
+
+fakeroot dpkg-deb --build -Zgzip udebPackage
+PKGNAME=`grep "^Package: " udebPackage/DEBIAN/control | awk '{ print $2 }'`
+PKGREV=`grep "^Version: " udebPackage/DEBIAN/control | awk '{ print $2 }'`
+ARCH=`grep "^Architecture: " udebPackage/DEBIAN/control | awk '{ print $2 }'`
+mv udebPackage.deb ${PKGNAME}_${PKGREV}_${ARCH}.udeb
+
+ORIGPKG=`cat .udebpackage`
diff --git a/fuel/build/patch-packages/tools/udeb_unpack b/fuel/build/patch-packages/tools/udeb_unpack
new file mode 100755
index 0000000..ed9cd21
--- /dev/null
+++ b/fuel/build/patch-packages/tools/udeb_unpack
@@ -0,0 +1,58 @@
+#!/bin/bash -e
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+# stefan.k.berg@ericsson.com
+# jonas.bjurel@ericsson.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+
+my_exit() {
+
+ if [ -d "$ISOROOT" ]; then
+ fusermount -u $ISOROOT
+ fi
+}
+
+ME=$(basename $0)
+
+trap my_exit EXIT
+
+
+if [ -z "$1" ]; then
+ echo "$ME: Error - No package specified"
+ exit 1
+fi
+
+if [ -z "$2" ]; then
+ echo "$ME: Error - No ISO path specified"
+ exit 1
+fi
+
+DEB=$1
+ORIGISO=$2
+DEST=udebPackage
+
+if [ -e $DEST -o -d $DEST ]; then
+ echo "$ME: Error - $DEST already exists"
+ exit 1
+fi
+
+ISOROOT=`mktemp -d /tmp/XXXXXXX`
+fuseiso -p $ORIGISO $ISOROOT
+sleep 1
+
+if [ ! -f $ISOROOT/ubuntu/pool/debian-installer/$DEB ];then
+ echo "Could not find package $DEB in source ISO!"
+fi
+
+mkdir -p $DEST
+dpkg -x $ISOROOT/ubuntu/pool/debian-installer/$DEB $DEST
+
+mkdir -p $DEST/DEBIAN
+dpkg -e $ISOROOT/ubuntu/pool/debian-installer/$DEB $DEST/DEBIAN
+
+echo $DEB > .udebpackage
diff --git a/fuel/prototypes/libvirt/deploy/deploy.sh b/fuel/prototypes/libvirt/deploy/deploy.sh
index 5d267e6..ba7f7cd 100755
--- a/fuel/prototypes/libvirt/deploy/deploy.sh
+++ b/fuel/prototypes/libvirt/deploy/deploy.sh
@@ -21,9 +21,14 @@ deployiso=${tmpdir}/deploy.iso
exit_handler() {
# Remove safety catch
- kill $killpid
+ kill -9 `ps -p $killpid -o pid --no-headers` \
+ `ps --ppid $killpid -o pid --no-headers`\
+ > /dev/null 2>&1
}
+# Set maximum allowed deploy time (default three hours)
+MAXDEPLOYTIME=${MAXDEPLOYTIME-3h}
+
####### MAIN ########
if [ "`whoami`" != "root" ]; then
@@ -59,14 +64,14 @@ if [ ! -f $deafile ]; then
fi
-# Enable safety catch at three hours
-(sleep 3h; kill $$) &
+# Enable safety catch
+echo "Enabling auto-kill if deployment exceeds $MAXDEPLOYTIME"
+(sleep $MAXDEPLOYTIME; echo "Auto-kill of deploy after a timeout of $MAXDEPLOYTIME"; kill $$) &
killpid=$!
# Enable exit handler
trap exit_handler exit
-
# Stop all VMs
for node in controller1 controller2 controller3 compute4 compute5 fuel-master
do