summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/Makefile3
-rw-r--r--build/docker/Dockerfile2
-rwxr-xr-xbuild/docker/runcontext8
-rw-r--r--build/f_isoroot/Makefile2
-rw-r--r--build/f_isoroot/f_bgpvpn-pluginbuild/Makefile1
-rw-r--r--build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile1
-rw-r--r--build/f_isoroot/f_kvm-pluginbuild/Makefile1
-rw-r--r--build/f_isoroot/f_odlpluginbuild/Makefile15
-rw-r--r--build/f_isoroot/f_odlpluginbuild/config.mk6
-rw-r--r--build/f_isoroot/f_onosfwpluginbuild/Makefile1
-rw-r--r--build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile1
-rw-r--r--build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk2
-rw-r--r--build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile1
-rw-r--r--build/f_isoroot/f_repobuild/Makefile1
-rw-r--r--build/f_isoroot/f_vsperfpluginbuild/Makefile1
-rw-r--r--build/f_isoroot/f_yardstick-pluginbuild/Makefile1
-rw-r--r--build/repo-multi-arch-local-mirrors.patch59
-rwxr-xr-xci/build.sh2
-rwxr-xr-xci/deploy.sh19
-rwxr-xr-xdeploy/deploy.py15
-rw-r--r--deploy/reap.py36
-rw-r--r--deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario.yaml4
-rw-r--r--deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario.yaml4
-rw-r--r--deploy/transplant_fuel_settings.py37
-rw-r--r--docs/buildprocedure/build.instruction.rst8
-rw-r--r--docs/buildprocedure/index.rst6
-rw-r--r--docs/installationprocedure/img/addnodes.pngbin24624 -> 24089 bytes
-rw-r--r--docs/installationprocedure/img/compute.pngbin49919 -> 25978 bytes
-rw-r--r--docs/installationprocedure/img/computelist.pngbin70343 -> 67975 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu1.pngbin8766 -> 9276 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu2.pngbin9679 -> 9774 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu3.pngbin9634 -> 9783 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu4.pngbin9843 -> 8843 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu5.pngbin22548 -> 20442 bytes
-rw-r--r--docs/installationprocedure/img/fuelmenu6.pngbin10703 -> 10322 bytes
-rw-r--r--docs/installationprocedure/img/grub-1.pngbin381031 -> 388991 bytes
-rw-r--r--docs/installationprocedure/img/health.pngbin54348 -> 51840 bytes
-rw-r--r--docs/installationprocedure/img/interfaceconf.pngbin58890 -> 25676 bytes
-rw-r--r--docs/installationprocedure/img/network.pngbin53472 -> 55423 bytes
-rw-r--r--docs/installationprocedure/img/neutronl3.pngbin71846 -> 40478 bytes
-rw-r--r--docs/installationprocedure/img/other.pngbin71641 -> 41526 bytes
-rw-r--r--docs/installationprocedure/img/plugins.pngbin39118 -> 52382 bytes
-rw-r--r--docs/installationprocedure/img/verifynet.pngbin61499 -> 33162 bytes
-rw-r--r--docs/installationprocedure/index.rst6
-rw-r--r--docs/installationprocedure/installation.instruction.rst69
-rw-r--r--docs/releasenotes/index.rst6
-rwxr-xr-xprototypes/sfc_tacker/poc.tacker-up.sh19
47 files changed, 258 insertions, 79 deletions
diff --git a/build/Makefile b/build/Makefile
index c4775a3da..fa708696e 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -57,7 +57,7 @@ export MIRROR_UBUNTU_ROOT := $(shell echo -n '/' ; echo "$(MIRROR_UBUNTU_URL)" |
export LATEST_MIRROR_ID_URL := http://$(shell ./select_closest_fuel_mirror.py)
-export MIRROR_MOS_UBUNTU := $(shell echo "$(LATEST_MIRROR_ID_URL)" | cut -d'/' -f3)
+export MIRROR_MOS_UBUNTU ?= $(shell echo "$(LATEST_MIRROR_ID_URL)" | cut -d'/' -f3)
export LATEST_TARGET_UBUNTU := $(shell curl -sSf "$(MIRROR_MOS_UBUNTU)/mos-repos/ubuntu/$(MOSVERSION).target.txt" | head -1)
export MIRROR_MOS_UBUNTU_ROOT := /mos-repos/ubuntu/$(LATEST_TARGET_UBUNTU)
@@ -135,6 +135,7 @@ $(ISOCACHE):
cd /tmp/fuel-main && git am $(TOPDIR)/bootstrap_admin_node.sh.patch
cd /tmp/fuel-main && git am $(TOPDIR)/isolinux.cfg.patch
cd /tmp/fuel-main/build/repos/fuel-nailgun && git am $(TOPDIR)/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch
+ cd /tmp/fuel-main && git am $(TOPDIR)/repo-multi-arch-local-mirrors.patch
# Repeat build up to three times
sudo -E ./fuel_build_loop
cp /tmp/fuel-main/build/artifacts/fuel*.iso .
diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile
index 1bb56b795..b38ea4c64 100644
--- a/build/docker/Dockerfile
+++ b/build/docker/Dockerfile
@@ -30,7 +30,7 @@ RUN echo "Defaults env_keep += \"ftp_proxy http_proxy https_proxy no_proxy RSYNC
# Keeping PWD is needed to build as root
RUN echo "Defaults env_keep += \"PWD\"" > /etc/sudoers.d/keep-pwd
# Keeping variables for ISO build
-RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU\"" > /etc/sudoers.d/keep-mos
+RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU UBUNTU_ARCH\"" > /etc/sudoers.d/keep-mos
RUN chmod 0440 /etc/sudoers.d/open-sudo
RUN chmod 0440 /etc/sudoers.d/keep-proxies
RUN chmod 0440 /etc/sudoers.d/keep-pwd
diff --git a/build/docker/runcontext b/build/docker/runcontext
index 9f077764e..daad663ac 100755
--- a/build/docker/runcontext
+++ b/build/docker/runcontext
@@ -111,7 +111,13 @@ if [ -n "$CACHEBASE" ]; then
fi
fi
-RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL -e LATEST_TARGET_UBUNTU -u $USER_ID:$GROUP_ID -w $PWD -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
+RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \
+ -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE \
+ -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT \
+ -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL \
+ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH \
+ -u $USER_ID:$GROUP_ID -w $PWD \
+ -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
# Passing "debug" puts up an interactive bash shell
if [ "$1" == "debug" ]; then
diff --git a/build/f_isoroot/Makefile b/build/f_isoroot/Makefile
index 4df7bcb0c..448f4158c 100644
--- a/build/f_isoroot/Makefile
+++ b/build/f_isoroot/Makefile
@@ -11,7 +11,7 @@
# Add Fuel plugin build targets here
# Plugins disabled for the Fuel Mitaka uplift. Please re-enable your plugin as you have
# verified it!
-PLUGINS = f_odlpluginbuild f_onosfwpluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_yardstick-pluginbuild f_kvm-pluginbuild f_bgpvpn-pluginbuild f_collectd-ceilometer-pluginbuild
+PLUGINS ?= f_odlpluginbuild f_onosfwpluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_yardstick-pluginbuild f_kvm-pluginbuild f_bgpvpn-pluginbuild f_collectd-ceilometer-pluginbuild
#PLUGINS = f_odlpluginbuild f_onosfwpluginbuild f_ovsnfv-dpdk-pluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_bgpvpn-pluginbuild
export PLUGINS
#NON_8-0_REBASED_PLUGINS = f_bgpvpn-pluginbuild
diff --git a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile
index ed3be2971..8ce28fcf8 100644
--- a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile
+++ b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile
@@ -67,6 +67,7 @@ release:.bgpvpnbuild
fi
sha1sum Makefile >> .cachedata
sha1sum config.mk >> .cachedata
+ echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile b/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile
index 9ab922d2d..17bc36d91 100644
--- a/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile
+++ b/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile
@@ -67,6 +67,7 @@ release:.fastpathmetrics
fi
@sha1sum Makefile | awk {'print $$1'} >> .cachedata
@sha1sum config.mk | awk {'print $$1'} >> .cachedata
+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
@cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_kvm-pluginbuild/Makefile b/build/f_isoroot/f_kvm-pluginbuild/Makefile
index 7268699c3..81309ef87 100644
--- a/build/f_isoroot/f_kvm-pluginbuild/Makefile
+++ b/build/f_isoroot/f_kvm-pluginbuild/Makefile
@@ -68,6 +68,7 @@ release:.kvmbuild
fi
@sha1sum Makefile | awk {'print $$1'} >> .cachedata
@sha1sum config.mk | awk {'print $$1'} >> .cachedata
+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
@cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_odlpluginbuild/Makefile b/build/f_isoroot/f_odlpluginbuild/Makefile
index e2cbf7d46..bf811f25f 100644
--- a/build/f_isoroot/f_odlpluginbuild/Makefile
+++ b/build/f_isoroot/f_odlpluginbuild/Makefile
@@ -28,10 +28,10 @@ release:.odlbuild
cp gitinfo_odlplugin.txt $(BUILD_BASE)
.odlbuild:
rm -rf fuel-plugin-opendaylight
- git clone -b $(ODL_BRANCH) $(ODL_REPO)
+ git clone -b $(FUEL_PLUGIN_ODL_BRANCH) $(FUEL_PLUGIN_ODL_REPO)
cd fuel-plugin-opendaylight; \
- if [ -n $(ODL_CHANGE) ]; then \
- git checkout $(ODL_CHANGE); \
+ if [ -n $(FUEL_PLUGIN_ODL_CHANGE) ]; then \
+ git checkout $(FUEL_PLUGIN_ODL_CHANGE); \
fi
fpb --debug --build fuel-plugin-opendaylight/
mv fuel-plugin-opendaylight/opendaylight*.rpm .
@@ -48,16 +48,17 @@ release:.odlbuild
# Create a unique hash to be used for getting and putting cache, based on:
-# - The SHA1 hash of the HEAD on the plugin repo's $(ODL_BRANCH)
+# - The SHA1 hash of the HEAD on the plugin repo's $(FUEL_PLUGIN_ODL_BRANCH)
# - The contents of this Makefile
.cacheid:
- if [ -n $(ODL_CHANGE) ]; then \
- $(CACHETOOL) getcommitid $(ODL_REPO) $(ODL_CHANGE) > .cachedata; \
+ if [ -n $(FUEL_PLUGIN_ODL_CHANGE) ]; then \
+ $(CACHETOOL) getcommitid $(FUEL_PLUGIN_ODL_REPO) $(FUEL_PLUGIN_ODL_CHANGE) > .cachedata; \
else \
- $(CACHETOOL) getcommitid $(ODL_REPO) $(ODL_BRANCH) > .cachedata; \
+ $(CACHETOOL) getcommitid $(FUEL_PLUGIN_ODL_REPO) $(FUEL_PLUGIN_ODL_BRANCH) > .cachedata; \
fi
@sha1sum Makefile | awk {'print $$1'} >> .cachedata
@sha1sum config.mk | awk {'print $$1'} >> .cachedata
+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_odlpluginbuild/config.mk b/build/f_isoroot/f_odlpluginbuild/config.mk
index 448356b31..48e7f78fd 100644
--- a/build/f_isoroot/f_odlpluginbuild/config.mk
+++ b/build/f_isoroot/f_odlpluginbuild/config.mk
@@ -7,9 +7,9 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-ODL_BRANCH ?= master
-ODL_CHANGE ?= 8cc22c4717d2da338135d854e1d13aac3ef75314
-ODL_REPO ?= https://github.com/openstack/fuel-plugin-opendaylight.git
+FUEL_PLUGIN_ODL_BRANCH ?= master
+FUEL_PLUGIN_ODL_CHANGE ?= 0ff4ebdbfe5f681f0b44eea14c9c2b3dbb10b1d5
+FUEL_PLUGIN_ODL_REPO ?= https://github.com/openstack/fuel-plugin-opendaylight.git
export ODL_TARBALL_LOCATION?=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.4.3-Beryllium-SR3/distribution-karaf-0.4.3-Beryllium-SR3.tar.gz
export ODL_VERSION_NUMBER?=0.4.3
diff --git a/build/f_isoroot/f_onosfwpluginbuild/Makefile b/build/f_isoroot/f_onosfwpluginbuild/Makefile
index a9dcb2200..02ba02951 100644
--- a/build/f_isoroot/f_onosfwpluginbuild/Makefile
+++ b/build/f_isoroot/f_onosfwpluginbuild/Makefile
@@ -66,6 +66,7 @@ release:.onosbuild
fi
@sha1sum Makefile | awk {'print $$1'} >> .cachedata
@sha1sum config.mk | awk {'print $$1'} >> .cachedata
+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
@cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile
index ecf586a76..2d0d202af 100644
--- a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile
+++ b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile
@@ -67,6 +67,7 @@ release:.ovsbuild
fi
@sha1sum Makefile | awk {'print $$1'} >> .cachedata
@sha1sum config.mk | awk {'print $$1'} >> .cachedata
+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
@cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk
index b585daef3..94557fe0d 100644
--- a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk
+++ b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk
@@ -7,6 +7,6 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-OVS_NSH_DPDK_BRANCH?=2537604061e8f44f45f0fa5c187f448534bf59ca
+OVS_NSH_DPDK_BRANCH?=7d02f4c328e1f712bb2bb3eee0d77593f22b2fba
OVS_NSH_DPDK_REPO?=https://review.openstack.org/openstack/fuel-plugin-ovs
OVS_NSH_DPDK_CHANGE?=
diff --git a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile
index 9e432d146..9455389bf 100644
--- a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile
+++ b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile
@@ -67,6 +67,7 @@ release:.ovsnfvbuild
fi
@sha1sum Makefile | awk {'print $$1'} >> .cachedata
@sha1sum config.mk | awk {'print $$1'} >> .cachedata
+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
@cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_repobuild/Makefile b/build/f_isoroot/f_repobuild/Makefile
index 8312f5e55..7c6b16304 100644
--- a/build/f_isoroot/f_repobuild/Makefile
+++ b/build/f_isoroot/f_repobuild/Makefile
@@ -67,6 +67,7 @@ release:nailgun
sha1sum Makefile >> .cachedata
sha1sum config.mk >> .cachedata
$(CACHETOOL) packages >> .cachedata
+ echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_vsperfpluginbuild/Makefile b/build/f_isoroot/f_vsperfpluginbuild/Makefile
index 9bd236a8d..73de611ff 100644
--- a/build/f_isoroot/f_vsperfpluginbuild/Makefile
+++ b/build/f_isoroot/f_vsperfpluginbuild/Makefile
@@ -68,6 +68,7 @@ release:.vsperfbuild
fi
@sha1sum Makefile | awk {'print $$1'} >> .cachedata
@sha1sum config.mk | awk {'print $$1'} >> .cachedata
+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
@cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/f_isoroot/f_yardstick-pluginbuild/Makefile b/build/f_isoroot/f_yardstick-pluginbuild/Makefile
index 47723d53e..32de3b3f4 100644
--- a/build/f_isoroot/f_yardstick-pluginbuild/Makefile
+++ b/build/f_isoroot/f_yardstick-pluginbuild/Makefile
@@ -68,6 +68,7 @@ release:.yardstickbuild
fi
@sha1sum Makefile | awk {'print $$1'} >> .cachedata
@sha1sum config.mk | awk {'print $$1'} >> .cachedata
+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
@cat .cachedata | $(CACHETOOL) getid > .cacheid
# Clean local data related to caching - called prior to ordinary build
diff --git a/build/repo-multi-arch-local-mirrors.patch b/build/repo-multi-arch-local-mirrors.patch
new file mode 100644
index 000000000..d40428743
--- /dev/null
+++ b/build/repo-multi-arch-local-mirrors.patch
@@ -0,0 +1,59 @@
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
+Date: Thu, 25 Feb 2016 13:31:19 +0100
+Subject: repo mirror: Allow multi-arch local mirrors
+
+This patch allows specifying multiple architectures via UBUNTU_ARCH in
+form of a list of space separated architectures. The first architecture
+in the list is considered primary and will be used for building all the
+deb packages by fuel-main. Additional architectures are added to allow
+targets of other architectures to use the mirror.
+NOTE: this imposes a requirement that all packages built are arch
+independent (which is true so far).
+
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ mirror/ubuntu/module.mk | 2 +-
+ sandbox.mk | 2 +-
+ config.mk | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mirror/ubuntu/module.mk b/mirror/ubuntu/module.mk
+index 7a9466e..fe1ada2 100644
+--- a/mirror/ubuntu/module.mk
++++ b/mirror/ubuntu/module.mk
+@@ -81,7 +81,7 @@ $(BUILD_DIR)/mirror/ubuntu/mirror.done:
+ --root=$(MIRROR_MOS_UBUNTU_ROOT) \
+ --dist=$(MIRROR_MOS_UBUNTU_SUITE) \
+ --section=$(subst $(space),$(comma),$(MIRROR_MOS_UBUNTU_SECTION)) \
+- --arch=$(UBUNTU_ARCH) \
++ --arch=$(shell echo $(UBUNTU_ARCH) | tr ' ' ',') \
+ $(LOCAL_MIRROR_UBUNTU)/
+ rm -rf $(LOCAL_MIRROR_UBUNTU)/.temp $(LOCAL_MIRROR_UBUNTU)/project
+ $(ACTION.TOUCH)
+diff --git a/sandbox.mk b/sandbox.mk
+index 4bc3962..5ffddbd 100644
+--- a/sandbox.mk
++++ b/sandbox.mk
+@@ -188,7 +188,7 @@ touch $(SANDBOX_UBUNTU)/etc/init.d/.legacy-bootordering
+ mkdir -p $(SANDBOX_UBUNTU)/usr/sbin
+ cp -a $(BUILD_DIR)/policy-rc.d $(SANDBOX_UBUNTU)/usr/sbin
+ echo "Running debootstrap"
+-sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(UBUNTU_ARCH) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT)
++sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(word 1,$(UBUNTU_ARCH)) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT)
+ if [ -e $(SANDBOX_UBUNTU)/etc/resolv.conf ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf.orig; fi
+ sudo cp /etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf
+ if [ -e $(SANDBOX_UBUNTU)/etc/hosts ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/hosts $(SANDBOX_UBUNTU)/etc/hosts.orig; fi
+diff --git a/config.mk b/config.mk
+index 74ee039..45a3b30 100644
+--- a/config.mk
++++ b/config.mk
+@@ -49,7 +49,7 @@ UBUNTU_MINOR:=04
+ UBUNTU_RELEASE_NUMBER:=$(UBUNTU_MAJOR).$(UBUNTU_MINOR)
+ UBUNTU_KERNEL_FLAVOR?=lts-trusty
+ UBUNTU_NETBOOT_FLAVOR?=netboot
+-UBUNTU_ARCH:=amd64
++UBUNTU_ARCH?=amd64
+ UBUNTU_IMAGE_RELEASE:=$(UBUNTU_MAJOR)$(UBUNTU_MINOR)
+ SEPARATE_IMAGES?=/boot,ext2 /,ext4
+
diff --git a/ci/build.sh b/ci/build.sh
index 62abba173..82049cdcd 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -111,7 +111,7 @@ SCRIPT_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]}))
BUILD_BASE=$(readlink -e ${SCRIPT_DIR}/../build/)
RESULT_DIR="${BUILD_BASE}/release"
BUILD_SPEC="${BUILD_BASE}/config.mk"
-LOCAL_CACHE_ARCH_NAME="fuel-cache"
+LOCAL_CACHE_ARCH_NAME="${LOCAL_CACHE_ARCH_NAME:-fuel-cache}"
#
# END of variables to customize
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 4e4586c2e..8411714eb 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -29,7 +29,7 @@ cat << EOF
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
`basename $0`: Deploys the Fuel@OPNFV stack
-usage: `basename $0` -b base-uri [-B PXE Bridge] [-f] [-F] [-H] -l lab-name -p pod-name -s deploy-scenario [-S image-dir] -i iso
+usage: `basename $0` -b base-uri [-B PXE Bridge] [-f] [-F] [-H] -l lab-name -p pod-name -s deploy-scenario [-S image-dir] [-T timeout] -i iso
-s deployment-scenario [-S optional Deploy-scenario path URI]
[-R optional local relen repo (containing deployment Scenarios]
@@ -47,6 +47,7 @@ OPTIONS:
-p Pod-name
-s Deploy-scenario short-name/base-file-name
-S Storage dir for VM images
+ -T Timeout, in minutes, for the deploy.
-i iso url
Description:
@@ -78,6 +79,8 @@ Input parameters to the build script is:
or a deployment short-name as defined by scenario.yaml in the deployment
scenario path.
-S Storage dir for VM images, default is fuel/deploy/images
+-T Timeout, in minutes, for the deploy. It defaults to using the DEPLOY_TIMEOUT
+ environment variable when defined, or to the default in deploy.py otherwise
-i .iso image to be deployed (needs to be provided in a URI
style, it can be a local resource: file:// or a remote resource http(s)://)
@@ -116,6 +119,11 @@ FUEL_CREATION_ONLY=''
NO_DEPLOY_ENVIRONMENT=''
STORAGE_DIR=''
DRY_RUN=0
+if ! [ -z $DEPLOY_TIMEOUT ]; then
+ DEPLOY_TIMEOUT="-dt $DEPLOY_TIMEOUT"
+else
+ DEPLOY_TIMEOUT=""
+fi
#
# END of variables to customize
############################################################################
@@ -123,7 +131,7 @@ DRY_RUN=0
############################################################################
# BEGIN of main
#
-while getopts "b:B:dfFHl:L:p:s:S:i:he" OPTION
+while getopts "b:B:dfFHl:L:p:s:S:T:i:he" OPTION
do
case $OPTION in
b)
@@ -174,6 +182,9 @@ do
STORAGE_DIR="-s ${OPTARG}"
fi
;;
+ T)
+ DEPLOY_TIMEOUT="-dt ${OPTARG}"
+ ;;
i)
ISO=${OPTARG}
if [[ ! $ISO == file://* ]] && \
@@ -243,8 +254,8 @@ if [ $DRY_RUN -eq 0 ]; then
ISO=${SCRIPT_PATH}/ISO/image.iso
fi
# Start deployment
- echo "python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO"
- python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO
+ echo "python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT"
+ python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT
fi
popd > /dev/null
diff --git a/deploy/deploy.py b/deploy/deploy.py
index 9e188ebe6..f491929e0 100755
--- a/deploy/deploy.py
+++ b/deploy/deploy.py
@@ -109,6 +109,20 @@ class AutoDeploy(object):
self.iso_file = new_iso
self.install_iso()
+ def delete_old_fuel_env(self):
+ log('Delete old Fuel Master environments if present')
+ try:
+ old_dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'],
+ self.fuel_username, self.fuel_password,
+ self.dea_file, self.fuel_plugins_conf_dir,
+ WORK_DIR, self.no_health_check,
+ self.deploy_timeout,
+ self.no_deploy_environment, self.deploy_log)
+ with old_dep.ssh:
+ old_dep.check_previous_installation()
+ except Exception as e:
+ log('Could not delete old env: %s' % str(e))
+
def install_iso(self):
fuel = InstallFuelMaster(self.dea_file, self.dha_file,
self.fuel_conf['ip'], self.fuel_username,
@@ -226,6 +240,7 @@ class AutoDeploy(object):
def deploy(self):
self.collect_fuel_info()
if not self.no_fuel:
+ self.delete_old_fuel_env()
self.setup_execution_environment()
self.create_tmp_dir()
self.install_fuel_master()
diff --git a/deploy/reap.py b/deploy/reap.py
index 7d996314b..eb02fe25d 100644
--- a/deploy/reap.py
+++ b/deploy/reap.py
@@ -16,6 +16,8 @@ import yaml
import glob
import shutil
import tempfile
+import re
+import netaddr
from common import (
N,
@@ -253,6 +255,40 @@ class Reap(object):
if key not in ['ipaddress', 'netmask',
'dhcp_pool_start', 'dhcp_pool_end', 'ssh_network']:
del fuel['ADMIN_NETWORK'][key]
+
+ ## FIXME(armband): Factor in support for adding public/other interfaces.
+ ## TODO: Following block expects interface name(s) to be lowercase only
+ interfaces_list = exec_cmd('ip -o -4 a | grep -e "e[nt][hopsx].*"')
+ for interface in re.split('\n', interfaces_list):
+ # Sample output line from above cmd:
+ # 3: eth1 inet 10.0.2.10/24 scope global eth1 valid_lft forever ...
+ ifcfg = re.split(r'\s+', interface)
+ ifcfg_name = ifcfg[1]
+ ifcfg_ipaddr = ifcfg[3]
+
+ # Filter out admin interface (device name is not known, match IP)
+ current_network = netaddr.IPNetwork(ifcfg_ipaddr)
+ if str(current_network.ip) == fuel['ADMIN_NETWORK']['ipaddress']:
+ continue
+
+ # Read ifcfg-* network interface config file, write IFCFG_<IFNAME>
+ ifcfg_sec = 'IFCFG_%s' % ifcfg_name.upper()
+ fuel[ifcfg_sec] = {}
+ ifcfg_data = {}
+ ifcfg_f = ('/etc/sysconfig/network-scripts/ifcfg-%s' % ifcfg_name)
+ with open(ifcfg_f) as f:
+ for line in f:
+ if line.startswith('#'):
+ continue
+ (key, val) = line.split('=')
+ ifcfg_data[key.lower()] = val.rstrip()
+
+ # Keep only needed info (e.g. filter-out type=Ethernet).
+ fuel[ifcfg_sec]['ipaddress'] = ifcfg_data['ipaddr']
+ fuel[ifcfg_sec]['device'] = ifcfg_data['device']
+ fuel[ifcfg_sec]['netmask'] = str(current_network.netmask)
+ fuel[ifcfg_sec]['gateway'] = ifcfg_data['gateway']
+
self.write_yaml(self.dea_file, {'fuel': fuel})
def reap_network_settings(self):
diff --git a/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario.yaml b/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario.yaml
index 91eb7b342..6ececba6c 100644
--- a/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario.yaml
+++ b/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario.yaml
@@ -38,8 +38,8 @@ stack-extensions:
module-config-override:
metadata:
versions:
- - install_dpdk:
- value: true
+ - install_dpdk:
+ value: true
metadata:
plugin_version: 0.9.0
diff --git a/deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario.yaml b/deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario.yaml
index e3c07db35..f7b69a50f 100644
--- a/deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario.yaml
+++ b/deploy/scenario/no-ha_nfv-ovs_heat_ceilometer_scenario.yaml
@@ -38,8 +38,8 @@ stack-extensions:
module-config-override:
metadata:
versions:
- - install_dpdk:
- value: true
+ - install_dpdk:
+ value: true
metadata:
plugin_version: 0.9.0
diff --git a/deploy/transplant_fuel_settings.py b/deploy/transplant_fuel_settings.py
index 318c633aa..993b0dcce 100644
--- a/deploy/transplant_fuel_settings.py
+++ b/deploy/transplant_fuel_settings.py
@@ -11,10 +11,14 @@
import sys
import io
import yaml
+import re
+import os
from dea import DeploymentEnvironmentAdapter
from common import (
check_file_exists,
+ exec_cmd,
+ log,
)
ASTUTE_YAML = '/etc/fuel/astute.yaml'
@@ -36,15 +40,45 @@ def parse_arguments():
check_file_exists(dea_file)
return dea_file
+def write_ifcfg_file(key, fuel_conf):
+ config = ('BOOTPROTO=none\n'
+ 'ONBOOT=yes\n'
+ 'TYPE=Ethernet\n'
+ 'NM_CONTROLLED=yes\n')
+ for skey in ('ipaddress', 'device', 'netmask', 'gateway'):
+ if not fuel_conf[key].get(skey):
+ log('Warning: missing key %s for %s' % (skey, key))
+ config += '%s=\n' % skey.upper()
+ elif skey == 'ipaddress':
+ config += 'IPADDR=%s\n' % fuel_conf[key][skey]
+ else:
+ config += '%s=%s\n' % (skey.upper(), fuel_conf[key][skey])
+
+ fname = os.path.join('/etc/sysconfig/network-scripts/',
+ key.lower().replace('_','-'))
+ with open(fname, 'wc') as f:
+ f.write(config)
def transplant(dea, astute):
fuel_conf = dea.get_fuel_config()
+ require_network_restart = False
for key in fuel_conf.iterkeys():
if key == 'ADMIN_NETWORK':
for skey in fuel_conf[key].iterkeys():
astute[key][skey] = fuel_conf[key][skey]
+ elif re.match('^IFCFG', key):
+ log('Adding interface configuration for: %s' % key.lower())
+ require_network_restart = True
+ write_ifcfg_file(key, fuel_conf)
+ if astute.has_key(key):
+ astute.pop(key, None)
else:
astute[key] = fuel_conf[key]
+ if require_network_restart:
+ admin_ifcfg = '/etc/sysconfig/network-scripts/ifcfg-eth0'
+ exec_cmd('echo "DEFROUTE=no" >> %s' % admin_ifcfg)
+ log('At least one interface was reconfigured, restart network manager')
+ exec_cmd('systemctl restart network')
return astute
@@ -62,11 +96,14 @@ def main():
check_file_exists(ASTUTE_YAML)
check_file_exists(FUEL_BOOTSTRAP_CLI_YAML)
dea = DeploymentEnvironmentAdapter(dea_file)
+ log('Reading astute file %s' % ASTUTE_YAML)
with io.open(ASTUTE_YAML) as stream:
astute = yaml.load(stream)
+ log('Initiating transplant')
transplant(dea, astute)
with io.open(ASTUTE_YAML, 'w') as stream:
yaml.dump(astute, stream, default_flow_style=False)
+ log('Transplant done')
# Update bootstrap config yaml with info from DEA/astute.yaml
with io.open(FUEL_BOOTSTRAP_CLI_YAML) as stream:
fuel_bootstrap_cli = yaml.load(stream)
diff --git a/docs/buildprocedure/build.instruction.rst b/docs/buildprocedure/build.instruction.rst
index 7e381500b..8ec8cb7b0 100644
--- a/docs/buildprocedure/build.instruction.rst
+++ b/docs/buildprocedure/build.instruction.rst
@@ -68,8 +68,6 @@ On the host, the following packages must be installed:
- curl (simply available through $ sudo apt-get install curl)
-- p7zip-full (simply available through $ sudo apt-get install p7zip-full)
-
Preparations
============
@@ -308,8 +306,8 @@ The artifacts produced are:
References
==========
-1) `OPNFV Installation instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/installation-instruction.html>`_
+1) `OPNFV Installation instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/installationprocedure/index.html>`_: http://artifacts.opnfv.org/fuel/colorado/docs/installationprocedure/index.html
-2) `OPNFV Build instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/build-instruction.html>`_
+2) `OPNFV Build instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/buildprocedure/index.html>`_: http://artifacts.opnfv.org/fuel/colorado/docs/buildprocedure/index.html
-3) `OPNFV Release Note for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/release-notes.html>`_
+3) `OPNFV Release Note for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/releasenotes/index.html>`_: http://artifacts.opnfv.org/fuel/colorado/docs/releasenotes/index.html
diff --git a/docs/buildprocedure/index.rst b/docs/buildprocedure/index.rst
index 99dc3ab27..d2a7512af 100644
--- a/docs/buildprocedure/index.rst
+++ b/docs/buildprocedure/index.rst
@@ -4,9 +4,9 @@
.. You should have received a copy of the license along with this work.
.. If not, see <http://creativecommons.org/licenses/by/4.0/>.
-*****************************
-Fuel@OPNFV build instructions
-*****************************
+******************************
+Fuel\@OPNFV build instructions
+******************************
.. toctree::
:numbered:
diff --git a/docs/installationprocedure/img/addnodes.png b/docs/installationprocedure/img/addnodes.png
index 15730db90..b62405692 100644
--- a/docs/installationprocedure/img/addnodes.png
+++ b/docs/installationprocedure/img/addnodes.png
Binary files differ
diff --git a/docs/installationprocedure/img/compute.png b/docs/installationprocedure/img/compute.png
index fd7811f37..fc1cf0f22 100644
--- a/docs/installationprocedure/img/compute.png
+++ b/docs/installationprocedure/img/compute.png
Binary files differ
diff --git a/docs/installationprocedure/img/computelist.png b/docs/installationprocedure/img/computelist.png
index a4453d958..474196536 100644
--- a/docs/installationprocedure/img/computelist.png
+++ b/docs/installationprocedure/img/computelist.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu1.png b/docs/installationprocedure/img/fuelmenu1.png
index 15fccc434..ee7a0edb2 100644
--- a/docs/installationprocedure/img/fuelmenu1.png
+++ b/docs/installationprocedure/img/fuelmenu1.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu2.png b/docs/installationprocedure/img/fuelmenu2.png
index 1f87c53e5..4dcbb6e68 100644
--- a/docs/installationprocedure/img/fuelmenu2.png
+++ b/docs/installationprocedure/img/fuelmenu2.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu3.png b/docs/installationprocedure/img/fuelmenu3.png
index c9fa27959..23e61975b 100644
--- a/docs/installationprocedure/img/fuelmenu3.png
+++ b/docs/installationprocedure/img/fuelmenu3.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu4.png b/docs/installationprocedure/img/fuelmenu4.png
index 1bc9c0410..3be29cd66 100644
--- a/docs/installationprocedure/img/fuelmenu4.png
+++ b/docs/installationprocedure/img/fuelmenu4.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu5.png b/docs/installationprocedure/img/fuelmenu5.png
index 11247986b..e3d215459 100644
--- a/docs/installationprocedure/img/fuelmenu5.png
+++ b/docs/installationprocedure/img/fuelmenu5.png
Binary files differ
diff --git a/docs/installationprocedure/img/fuelmenu6.png b/docs/installationprocedure/img/fuelmenu6.png
index 9ff62c798..cafbcddfc 100644
--- a/docs/installationprocedure/img/fuelmenu6.png
+++ b/docs/installationprocedure/img/fuelmenu6.png
Binary files differ
diff --git a/docs/installationprocedure/img/grub-1.png b/docs/installationprocedure/img/grub-1.png
index 7488503af..e64b79373 100644
--- a/docs/installationprocedure/img/grub-1.png
+++ b/docs/installationprocedure/img/grub-1.png
Binary files differ
diff --git a/docs/installationprocedure/img/health.png b/docs/installationprocedure/img/health.png
index 71675069e..57bd8cf70 100644
--- a/docs/installationprocedure/img/health.png
+++ b/docs/installationprocedure/img/health.png
Binary files differ
diff --git a/docs/installationprocedure/img/interfaceconf.png b/docs/installationprocedure/img/interfaceconf.png
index e8b45578c..e00b03f03 100644
--- a/docs/installationprocedure/img/interfaceconf.png
+++ b/docs/installationprocedure/img/interfaceconf.png
Binary files differ
diff --git a/docs/installationprocedure/img/network.png b/docs/installationprocedure/img/network.png
index 04c67d38e..7bef05064 100644
--- a/docs/installationprocedure/img/network.png
+++ b/docs/installationprocedure/img/network.png
Binary files differ
diff --git a/docs/installationprocedure/img/neutronl3.png b/docs/installationprocedure/img/neutronl3.png
index dd8d7954b..36291ef87 100644
--- a/docs/installationprocedure/img/neutronl3.png
+++ b/docs/installationprocedure/img/neutronl3.png
Binary files differ
diff --git a/docs/installationprocedure/img/other.png b/docs/installationprocedure/img/other.png
index 4e740eb06..c088488dc 100644
--- a/docs/installationprocedure/img/other.png
+++ b/docs/installationprocedure/img/other.png
Binary files differ
diff --git a/docs/installationprocedure/img/plugins.png b/docs/installationprocedure/img/plugins.png
index bfe8781e8..8f7ea596f 100644
--- a/docs/installationprocedure/img/plugins.png
+++ b/docs/installationprocedure/img/plugins.png
Binary files differ
diff --git a/docs/installationprocedure/img/verifynet.png b/docs/installationprocedure/img/verifynet.png
index 5932bc223..e675562c0 100644
--- a/docs/installationprocedure/img/verifynet.png
+++ b/docs/installationprocedure/img/verifynet.png
Binary files differ
diff --git a/docs/installationprocedure/index.rst b/docs/installationprocedure/index.rst
index 0dd7a881b..171647188 100644
--- a/docs/installationprocedure/index.rst
+++ b/docs/installationprocedure/index.rst
@@ -4,9 +4,9 @@
.. You should have received a copy of the license along with this work.
.. If not, see <http://creativecommons.org/licenses/by/4.0/>.
-***********************************
-Fuel@OPNFV Installation Instruction
-***********************************
+************************************
+Fuel\@OPNFV Installation Instruction
+************************************
.. toctree::
:numbered:
diff --git a/docs/installationprocedure/installation.instruction.rst b/docs/installationprocedure/installation.instruction.rst
index fea90af0d..bb56a53cf 100644
--- a/docs/installationprocedure/installation.instruction.rst
+++ b/docs/installationprocedure/installation.instruction.rst
@@ -13,7 +13,7 @@ Abstract
========
This document describes how to install the Colorado release of
-OPNFV when using Fuel as a deployment tool, covering it's usage,
+OPNFV when using Fuel as a deployment tool, covering it's usage,
limitations, dependencies and required system resources.
Introduction
@@ -35,6 +35,7 @@ networking and Unix/Linux administration.
Preface
=======
+
Before starting the installation of the Colorado release of
OPNFV, using Fuel as a deployment tool, some planning must be
done.
@@ -49,7 +50,8 @@ Building the ISO image
----------------------
Alternatively, you may build the Fuel .iso from source by cloning the
-opnfv/fuel git repository. To retrieve the repository for the Colorado release use the following command:
+opnfv/fuel git repository. To retrieve the repository for the Colorado
+release use the following command:
.. code-block:: bash
@@ -97,7 +99,7 @@ Prior to installation, a number of deployment specific parameters must be collec
#. How many nodes and what roles you want to deploy (Controllers, Storage, Computes)
-#. Monitoring options you want to deploy (Ceilometer, Syslog, erc.).
+#. Monitoring options you want to deploy (Ceilometer, Syslog, etc.).
#. Other options not covered in the document are available in the links above
@@ -207,7 +209,7 @@ Install Fuel master
.. figure:: img/grub-1.png
-#. Wait until screen Fuel setup is shown (Note: This can take up to 30 minutes).
+#. Wait until the Fuel setup screen is shown (Note: This can take up to 30 minutes).
#. In the "Fuel User" section - Confirm/change the default password (See figure below)
@@ -274,7 +276,7 @@ Install Fuel master
- Select Quit Setup and press Save and Quit.
- - Installation starts, wait until the login screen is shown.
+ - The installation will now start, wait until the login screen is shown.
Boot the Node Servers
@@ -282,12 +284,12 @@ Boot the Node Servers
After the Fuel Master node has rebooted from the above steps and is at
the login prompt, you should boot the Node Servers (Your
-Compute/Control/Storage blades (nested or real) with a PXE booting
+Compute/Control/Storage blades, nested or real) with a PXE booting
scheme so that the FUEL Master can pick them up for control.
#. Enable PXE booting
- - For every controller and compute server: enable PXE Booting as the first boot device in the BIOS boot order menu and hard disk as the second boot device in the same menu.
+ - For every controller and compute server: enable PXE Booting as the first boot device in the BIOS boot order menu, and hard disk as the second boot device in the same menu.
#. Reboot all the control and compute blades.
@@ -324,7 +326,7 @@ Install additional Plugins/Features on the FUEL node
Create an OpenStack Environment
-------------------------------
-#. Connect to Fuel WEB UI with a browser (default: https://10.20.0.2:8443) (login admin/admin)
+#. Connect to Fuel WEB UI with a browser (default: https://10.20.0.2:8443) (login: admin/admin)
#. Create and name a new OpenStack environment, to be installed.
@@ -350,7 +352,7 @@ Create an OpenStack Environment
#. Select "additional services" you wish to install.
- - Check option "Install Ceilometer (OpenStack Telemetry)" and press <Next>
+ - Check option "Install Ceilometer and Aodh" and press <Next>
#. Create the new environment.
@@ -361,7 +363,7 @@ Configure the network environment
#. Open the environment you previously created.
-#. Open the networks tab and select the "default Node Networks group to" on the left pane (see figure below).
+#. Open the networks tab and select the "default" Node Networks group to on the left pane (see figure below).
.. figure:: img/network.png
@@ -413,7 +415,7 @@ Configure the network environment
- Set appropriate VLAN tag (default 103)
-#. Select the "Neutron L3 Node Networks group" on the left pane.
+#. Select the "Neutron L3" Node Networks group on the left pane.
.. figure:: img/neutronl3.png
@@ -439,7 +441,7 @@ Configure the network environment
#. Save Settings.
-#. Select the "Other Node Networks group" on the left pane(see figure below).
+#. Select the "Other" Node Networks group on the left pane (see figure below).
.. figure:: img/other.png
@@ -460,7 +462,7 @@ Select Hypervisor type
#. In the FUEL UI of your Environment, click the "Settings" Tab
-#. Select Compute on the left side pane (see figure below)
+#. Select "Compute" on the left side pane (see figure below)
- Check the KVM box and press "Save settings"
@@ -488,7 +490,7 @@ Allocate nodes to environment and assign functional roles
- Click on the <+Add Nodes> button
- - Check <Controller>, <Telemetry - MongoDB> and optionally an SDN Controller role (OpenDaylight controller/ONOS) in the Assign Roles Section.
+ - Check <Controller>, <Telemetry - MongoDB> and optionally an SDN Controller role (OpenDaylight controller/ONOS) in the "Assign Roles" Section.
- Check one node which you want to act as a Controller from the bottom half of the screen
@@ -518,8 +520,7 @@ Allocate nodes to environment and assign functional roles
- Click <Configure Interfaces>
- - Assign interfaces (bonded) for mgmt-, admin-, private-, public-
- and storage networks
+ - Assign interfaces (bonded) for mgmt-, admin-, private-, public- and storage networks
- Click <Apply>
@@ -529,7 +530,7 @@ Allocate nodes to environment and assign functional roles
OPTIONAL - Set Local Mirror Repos
---------------------------------
-The following steps can be executed if you are in an environment with
+The following steps must be executed if you are in an environment with
no connection to the Internet. The Fuel server delivers a local repo
that can be used for installation / deployment of openstack.
@@ -543,7 +544,7 @@ that can be used for installation / deployment of openstack.
- "ubuntu-updates" URI="deb http://<ip-of-fuel-server>:8080/mirrors/ubuntu/ trusty-updates main"
- - "mos" URI="deb http://<ip-of-fuel-server>::8080/mitaka-9.0/ubuntu/x86_64 mos8.0 main restricted"
+ - "mos" URI="deb http://<ip-of-fuel-server>::8080/mitaka-9.0/ubuntu/x86_64 mos9.0 main restricted"
- "Auxiliary" URI="deb http://<ip-of-fuel-server>:8080/mitaka-9.0/ubuntu/auxiliary auxiliary main restricted"
@@ -617,7 +618,7 @@ packages needed for a successful deployment can be fetched.
Deploy Your Environment
-----------------------
-38. Deploy the environment.
+#. Deploy the environment.
- In the Fuel GUI, click on the "Dashboard" Tab.
@@ -647,43 +648,43 @@ References
OPNFV
-----
-1) `OPNFV Home Page <http://www.opnfv.org>`_
+1) `OPNFV Home Page <http://www.opnfv.org>`_: http://www.opnfv.org
-2) `OPNFV documentation- and software downloads <https://www.opnfv.org/software/download>`_
+2) `OPNFV documentation- and software downloads <https://www.opnfv.org/software/download>`_: https://www.opnfv.org/software/download
OpenStack
---------
-3) `OpenStack Mitaka Release artifacts <http://www.openstack.org/software/mitaka>`_
+3) `OpenStack Mitaka Release artifacts <http://www.openstack.org/software/mitaka>`_: http://www.openstack.org/software/mitaka
-4) `OpenStack documentation <http://docs.openstack.org>`_
+4) `OpenStack documentation <http://docs.openstack.org>`_: http://docs.openstack.org
OpenDaylight
------------
-5) `OpenDaylight artifacts <http://www.opendaylight.org/software/downloads>`_
+5) `OpenDaylight artifacts <http://www.opendaylight.org/software/downloads>`_: http://www.opendaylight.org/software/downloads
Fuel
----
-6) `The Fuel OpenStack project <https://wiki.openstack.org/wiki/Fuel>`_
+6) `The Fuel OpenStack project <https://wiki.openstack.org/wiki/Fuel>`_: https://wiki.openstack.org/wiki/Fuel
-7) `Fuel documentation overview <http://docs.openstack.org/developer/fuel-docs>`_
+7) `Fuel documentation overview <http://docs.openstack.org/developer/fuel-docs>`_: http://docs.openstack.org/developer/fuel-docs
-8) `Fuel Installation Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html>`_
+8) `Fuel Installation Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html>`_: http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide.html
-9) `Fuel User Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide.html>`_
+9) `Fuel User Guide <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide.html>`_: http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide.html
-10) `Fuel Developer Guide <http://docs.openstack.org/developer/fuel-docs/devdocs/develop.html>`_
+10) `Fuel Developer Guide <http://docs.openstack.org/developer/fuel-docs/devdocs/develop.html>`_: http://docs.openstack.org/developer/fuel-docs/devdocs/develop.html
-11) `Fuel Plugin Developers Guide <http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html>`_
+11) `Fuel Plugin Developers Guide <http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html>`_: http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide.html
-12) `Fuel OpenStack Hardware Compatibility List <https://www.mirantis.com/products/openstack-drivers-and-plugins/hardware-compatibility-list>`_
+12) `Fuel OpenStack Hardware Compatibility List <https://www.mirantis.com/products/openstack-drivers-and-plugins/hardware-compatibility-list>`_: https://www.mirantis.com/products/openstack-drivers-and-plugins/hardware-compatibility-list
Fuel in OPNFV
-------------
-13) `OPNFV Installation instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/installation-instruction.html>`_
+13) `OPNFV Installation instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/installationprocedure/index.html>`_: http://artifacts.opnfv.org/fuel/colorado/docs/installationprocedure/index.html
-14) `OPNFV Build instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/build-instruction.html>`_
+14) `OPNFV Build instruction for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/buildprocedure/index.html>`_: http://artifacts.opnfv.org/fuel/colorado/docs/buildprocedure/index.html
-15) `OPNFV Release Note for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/release-notes.html>`_
+15) `OPNFV Release Note for the Colorado release of OPNFV when using Fuel as a deployment tool <http://artifacts.opnfv.org/fuel/colorado/docs/releasenotes/index.html>`_: http://artifacts.opnfv.org/fuel/colorado/docs/releasenotes/index.html
diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst
index edce08908..8fb1fef78 100644
--- a/docs/releasenotes/index.rst
+++ b/docs/releasenotes/index.rst
@@ -4,9 +4,9 @@
.. You should have received a copy of the license along with this work.
.. If not, see <http://creativecommons.org/licenses/by/4.0/>.
-************************
-Fuel@OPNFV release notes
-************************
+*************************
+Fuel\@OPNFV release notes
+*************************
.. toctree::
:numbered:
diff --git a/prototypes/sfc_tacker/poc.tacker-up.sh b/prototypes/sfc_tacker/poc.tacker-up.sh
index fc45c7643..caad3f86a 100755
--- a/prototypes/sfc_tacker/poc.tacker-up.sh
+++ b/prototypes/sfc_tacker/poc.tacker-up.sh
@@ -58,6 +58,7 @@ ____EOF
# Function setting up the build/deploy environment
function envSetup () {
+ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BCE5CC461FA22B08
apt-get update
apt-get install -y git python-pip python-all debhelper
chkPPkg stdeb
@@ -136,13 +137,13 @@ function blessPackage () {
dpkg-deb --control "$DEBFILE" "${TMPDIR}/DEBIAN"
cd "$TMPDIR"
patch -p 1 <<EOFDC
-diff -ruN a/DEBIAN/control b/DEBIAN/control
---- a/DEBIAN/control 2016-08-09 05:13:13.000000000 -0400
-+++ b/DEBIAN/control 2016-08-09 05:32:56.761035046 -0400
+diff -ruN DEBIAN/control DEBIAN/control
+--- a/DEBIAN/control 2016-08-19 11:53:10.000000000 +0000
++++ b/DEBIAN/control 2016-08-19 12:01:49.629096317 +0000
@@ -4,7 +4,7 @@
Architecture: all
Maintainer: OpenStack <openstack-dev@lists.openstack.org>
- Installed-Size: 1565
+ Installed-Size: 1566
-Depends: python (>= 2.7), python (<< 2.8), python:any (>= 2.7.1-0ubuntu2), python-pbr, python-paste, python-pastedeploy, python-routes, python-anyjson, python-babel, python-eventlet, python-greenlet, python-httplib2, python-requests, python-iso8601, python-jsonrpclib, python-jinja2, python-kombu, python-netaddr, python-sqlalchemy (>= 1.0~), python-sqlalchemy (<< 1.1), python-webob, python-heatclient, python-keystoneclient, alembic, python-six, python-stevedore, python-oslo.config, python-oslo.messaging-, python-oslo.rootwrap, python-novaclient
+Depends: python (>= 2.7), python (<< 2.8), python:any (>= 2.7.1-0ubuntu2), python-pbr, python-paste, python-pastedeploy, python-routes, python-anyjson, python-babel, python-eventlet, python-greenlet, python-httplib2, python-requests, python-iso8601, python-jsonrpclib, python-jinja2, python-kombu, python-netaddr, python-sqlalchemy (>= 1.0~), python-sqlalchemy (<< 1.1), python-webob, python-heatclient, python-keystoneclient, alembic, python-six, python-stevedore, python-oslo.config, python-oslo.messaging, python-oslo.rootwrap, python-novaclient
Section: python
@@ -250,7 +251,7 @@ function populate_client() {
}
# Function orchestrate the Tacker service
-function orchestarte () {
+function orchestrate () {
rm -rf /etc/puppet/modules/tacker
pushd /etc/puppet/modules
git clone https://github.com/trozet/puppet-tacker.git tacker
@@ -266,6 +267,7 @@ function orchestarte () {
auth_uri=$(crudini --get '/etc/heat/heat.conf' 'keystone_authtoken' 'auth_uri')
identity_uri=$(crudini --get '/etc/heat/heat.conf' 'keystone_authtoken' 'identity_uri')
int_addr=$(ifconfig br-mesh | sed -n '/inet addr/s/.*addr.\([^ ]*\) .*/\1/p')
+ odl_addr=$(hiera management_vip)
mgmt_addr=$(ifconfig br-mgmt | sed -n '/inet addr/s/.*addr.\([^ ]*\) .*/\1/p')
pub_addr=$(ifconfig br-ex-lnx | sed -n '/inet addr/s/.*addr.\([^ ]*\) .*/\1/p')
rabbit_host=$(crudini --get '/etc/heat/heat.conf' 'oslo_messaging_rabbit' 'rabbit_hosts'| cut -d ':' -f 1)
@@ -301,7 +303,7 @@ function orchestarte () {
rabbit_host => '${rabbit_host}',
rabbit_password => '${rabbit_password}',
heat_uri => '${heat_uri}',
- opendaylight_host => '${mgmt_addr}',
+ opendaylight_host => '${odl_addr}',
opendaylight_port => '${odl_port}',
}
@@ -360,6 +362,7 @@ function populate_rc() {
done
}
+
envSetup
deployTackerClient
deployJsonrpclib
@@ -367,9 +370,11 @@ buildTackerServer
blessPackage
deployTackerServer
populate_client
-orchestarte
+orchestrate
populate_rc
+git clone https://github.com/trozet/sfc-random.git
+
remove_repo "$MYREPO"
remove_repo "$DEPREPO"
remove_repo "$CLIREPO"