diff options
60 files changed, 1688 insertions, 194 deletions
diff --git a/build/Makefile b/build/Makefile index 84fddc3ae..3d7dd634d 100644 --- a/build/Makefile +++ b/build/Makefile @@ -20,7 +20,7 @@ SHELL = /bin/bash #Input args export ISOSRC = file:$(shell pwd)/fuel-8.0.iso export ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC)) -export PRODNO = "OPNFV_BGS" +export PRODNO = "OPNFV_FUEL" export REVSTATE = "P0000" ifdef BUILD_FUEL_PLUGINS @@ -43,6 +43,24 @@ export DOCKERIMG = opnfv.org/ubuntu-builder:14.04 export TOPDIR := $(shell pwd) export REPOINFO := $(BUILD_BASE)/repo_info.sh +# Use snapshots +# Use nearby repositories +export MIRROR_UBUNTU_URL := $(shell ./f_isoroot/f_repobuild/select_ubuntu_repo.sh --url) +export MIRROR_UBUNTU := $(shell echo "$(MIRROR_UBUNTU_URL)" | cut -d'/' -f3 ) +export MIRROR_UBUNTU_ROOT := $(shell echo -n '/' ; echo "$(MIRROR_UBUNTU_URL)" | cut -d'/' -f4-) + +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 LATEST_TARGET_UBUNTU := $(shell curl -sSf "$(MIRROR_MOS_UBUNTU)/mos-repos/ubuntu/8.0.target.txt" | head -1) +export MIRROR_MOS_UBUNTU_ROOT := "/mos-repos/ubuntu/$(LATEST_TARGET_UBUNTU)" + +export LATEST_TARGET_CENTOS := $(shell curl -sSf "$(LATEST_MIRROR_ID_URL)/mos-repos/centos/mos8.0-centos7-fuel/os.target.txt" | head -1) +export MIRROR_FUEL := "$(LATEST_MIRROR_ID_URL)/mos-repos/centos/mos8.0-centos7-fuel/$(LATEST_TARGET_CENTOS)/x86_64" + +# uncomment and use: make print-VARIABLE +#print-% : ; @echo $* = $($*) + #Build subclasses SUBDIRS := f_isoroot @@ -94,11 +112,16 @@ $(ISOCACHE): cd /tmp/fuel-main && patch -f -p0 < $(TOPDIR)/fuel-main_docker_version.patch # cd /tmp/fuel-main && ./prepare-build-env.sh + # Verify that Docker is alive + sudo docker info cd /tmp/fuel-main && make repos $(REPOINFO) -r /tmp/fuel-main > gitinfo_fuel.txt - # - cd /tmp/fuel-main && sudo make iso + # Repeat build up to ten times + sudo ./fuel_build_loop cp /tmp/fuel-main/build/artifacts/fuel*.iso . + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 .PHONY: mount-origiso umount-origiso mount-origiso: $(ISOCACHE) @@ -181,7 +204,8 @@ debug: cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG) cd /tmp/fuel-main && make repos $(REPOINFO) -r /tmp/fuel-main > .cachedata - sha1sum fuel-main*.patch >> .cachedata + sha1sum *.patch >> .cachedata + sha1sum fuel_build_loop >> .cachedata sha1sum config.mk >> .cachedata sha1sum Makefile >> .cachedata $(CACHETOOL) getbiweek >> .cachedata diff --git a/build/cache.sh b/build/cache.sh index 52d28fa33..b5f090210 100755 --- a/build/cache.sh +++ b/build/cache.sh @@ -19,7 +19,6 @@ exit_trap() { trap exit_trap EXIT CACHETRANSPORT=${CACHETRANSPORT:-"curl --silent"} -CACHEBASE=${CACHEBASE:-"file://${HOME}/cache"} CACHEMAXAGE=${CACHEMAXAGE:-$[14*24*3600]} CACHEDEBUG=${CACHEDEBUG:-1} @@ -139,6 +138,12 @@ getcommitid() { fi } + + +if [ -z "$CACHEBASE" ]; then + errorexit "CACHEBASE not set - exiting..." +fi + case $1 in getbiweek) if [ $# -ne 1 ]; then diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile index 9d1881c05..4ac51476e 100644 --- a/build/docker/Dockerfile +++ b/build/docker/Dockerfile @@ -24,9 +24,12 @@ RUN echo "ALL ALL=NOPASSWD: ALL" > /etc/sudoers.d/open-sudo RUN echo "Defaults env_keep += \"ftp_proxy http_proxy https_proxy no_proxy RSYNC_PROXY RSYNC_CONNECT_PROG npm_config_registry\"" > /etc/sudoers.d/keep-proxies # 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\"" > /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 +RUN chmod 0440 /etc/sudoers.d/keep-mos RUN chmod 4755 /bin/fusermount ADD ./setcontext /root/setcontext diff --git a/build/docker/runcontext b/build/docker/runcontext index 4ddd754f9..2df765868 100755 --- a/build/docker/runcontext +++ b/build/docker/runcontext @@ -111,7 +111,7 @@ 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 -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 -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 0f7f14fa0..fc4bf79ba 100644 --- a/build/f_isoroot/Makefile +++ b/build/f_isoroot/Makefile @@ -9,19 +9,20 @@ ############################################################################## # Add Fuel plugin build targets here -PLUGINS = f_odlpluginbuild f_qemupluginbuild f_ovs-nsh-dpdk-pluginbuild f_onosfwpluginbuild f_bgpvpn-pluginbuild f_ovsnfv-dpdk-pluginbuild f_vsperfpluginbuild +PLUGINS = f_odlpluginbuild +#NON_8-0_REBASED_PLUGINS = f_qemupluginbuild f_ovs-nsh-dpdk-pluginbuild f_onosfwpluginbuild f_bgpvpn-pluginbuild f_ovsnfv-dpdk-pluginbuild f_vsperfpluginbuild # If the BUILD_FUEL_PLUGINS environment variable is set, only build the plugins # indicated therein. # Temporarilu disabling f_repobuild that currently have some issues on # Fuel 8. ifdef BUILD_FUEL_PLUGINS -#SUBDIRS = f_kscfg f_bootstrap f_repobuild $(BUILD_FUEL_PLUGINS) -SUBDIRS = f_kscfg f_bootstrap $(BUILD_FUEL_PLUGINS) +#SUBDIRS = f_kscfg f_bootstrap f_isolinux f_repobuild $(BUILD_FUEL_PLUGINS) +SUBDIRS = f_kscfg f_bootstrap f_isolinux $(BUILD_FUEL_PLUGINS) $(warning Overriding plugin build selection to $(BUILD_FUEL_PLUGINS)) else -#SUBDIRS = f_kscfg f_bootstrap f_repobuild $(PLUGINS) -SUBDIRS = f_kscfg f_bootstrap $(PLUGINS) +#SUBDIRS = f_kscfg f_bootstrap f_isolinux f_repobuild $(PLUGINS) +SUBDIRS = f_kscfg f_bootstrap f_isolinux $(PLUGINS) endif SUBCLEAN = $(addsuffix .clean,$(SUBDIRS)) diff --git a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile index a99a426b6..71f2771a5 100644 --- a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile +++ b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile @@ -51,6 +51,9 @@ release:.bgpvpnbuild $(REPOINFO) -r . > gitinfo_bgpvpnplugin.txt rm -rf fuel-plugin-bgpvpn touch .bgpvpnbuild + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 ############################################################################# # Cache operations - only used when building through ci/build.sh diff --git a/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh b/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh index d057d0aee..a5ca56c64 100755 --- a/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh +++ b/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh @@ -3,7 +3,8 @@ mkdir -p /var/log/puppet exec > >(tee -i /var/log/puppet/bootstrap_admin_node.log) exec 2>&1 -FUEL_RELEASE=$(grep release: /etc/fuel/version.yaml | cut -d: -f2 | tr -d '" ') +FUEL_RELEASE=$(cat /etc/fuel_release) +ASTUTE_YAML='/etc/fuel/astute.yaml' BOOTSTRAP_NODE_CONFIG="/etc/fuel/bootstrap_admin_node.conf" bs_build_log='/var/log/fuel-bootstrap-image-build.log' bs_status=0 @@ -48,6 +49,8 @@ update_done_message="We recommend reviewing and applying Maintenance Updates \ for this release of Mirantis OpenStack: \ https://docs.mirantis.com/openstack/fuel/fuel-${FUEL_RELEASE}/\ release-notes.html#maintenance-updates" +fuelmenu_fail_message="Fuelmenu was not able to generate '/etc/fuel/astute.yaml' file! \ +Please, restart it manualy using 'fuelmenu' command." function countdown() { local i @@ -211,6 +214,10 @@ done shopt -u nullglob ### OPNFV addition END +# Enable sshd +systemctl enable sshd +systemctl start sshd + if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then fuelmenu else @@ -232,9 +239,12 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then fi fi -# Enable sshd -systemctl enable sshd -systemctl start sshd +if [ ! -f "${ASTUTE_YAML}" ]; then + echo ${fuelmenu_fail_message} + fail +fi + +systemctl reload sshd # Enable iptables systemctl enable iptables.service @@ -283,19 +293,19 @@ make_ubuntu_bootstrap_stub () { } get_bootstrap_flavor () { - local ASTUTE_YAML='/etc/fuel/astute.yaml' python <<-EOF - from fuelmenu.fuelmenu import Settings - conf = Settings().read("$ASTUTE_YAML").get('BOOTSTRAP', {}) + from yaml import safe_load + with open("$ASTUTE_YAML", 'r') as f: + conf = safe_load(f).get('BOOTSTRAP', {}) print(conf.get('flavor', 'centos').lower()) EOF } get_bootstrap_skip () { - local ASTUTE_YAML='/etc/fuel/astute.yaml' python <<-EOF - from fuelmenu.fuelmenu import Settings - conf = Settings().read("$ASTUTE_YAML").get('BOOTSTRAP', {}) + from yaml import safe_load + with open("$ASTUTE_YAML", 'r') as f: + conf = safe_load(f).get('BOOTSTRAP', {}) print(conf.get('skip_default_img_build', False)) EOF } diff --git a/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig b/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig index e1c3c7365..69e38e42a 100755 --- a/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig +++ b/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig @@ -3,7 +3,8 @@ mkdir -p /var/log/puppet exec > >(tee -i /var/log/puppet/bootstrap_admin_node.log) exec 2>&1 -FUEL_RELEASE=$(grep release: /etc/fuel/version.yaml | cut -d: -f2 | tr -d '" ') +FUEL_RELEASE=$(cat /etc/fuel_release) +ASTUTE_YAML='/etc/fuel/astute.yaml' BOOTSTRAP_NODE_CONFIG="/etc/fuel/bootstrap_admin_node.conf" bs_build_log='/var/log/fuel-bootstrap-image-build.log' bs_status=0 @@ -48,6 +49,8 @@ update_done_message="We recommend reviewing and applying Maintenance Updates \ for this release of Mirantis OpenStack: \ https://docs.mirantis.com/openstack/fuel/fuel-${FUEL_RELEASE}/\ release-notes.html#maintenance-updates" +fuelmenu_fail_message="Fuelmenu was not able to generate '/etc/fuel/astute.yaml' file! \ +Please, restart it manualy using 'fuelmenu' command." function countdown() { local i @@ -222,6 +225,11 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then fi fi +if [ ! -f "${ASTUTE_YAML}" ]; then + echo ${fuelmenu_fail_message} + fail +fi + # Enable sshd systemctl enable sshd systemctl start sshd @@ -273,19 +281,19 @@ make_ubuntu_bootstrap_stub () { } get_bootstrap_flavor () { - local ASTUTE_YAML='/etc/fuel/astute.yaml' python <<-EOF - from fuelmenu.fuelmenu import Settings - conf = Settings().read("$ASTUTE_YAML").get('BOOTSTRAP', {}) + from yaml import safe_load + with open("$ASTUTE_YAML", 'r') as f: + conf = safe_load(f).get('BOOTSTRAP', {}) print(conf.get('flavor', 'centos').lower()) EOF } get_bootstrap_skip () { - local ASTUTE_YAML='/etc/fuel/astute.yaml' python <<-EOF - from fuelmenu.fuelmenu import Settings - conf = Settings().read("$ASTUTE_YAML").get('BOOTSTRAP', {}) + from yaml import safe_load + with open("$ASTUTE_YAML", 'r') as f: + conf = safe_load(f).get('BOOTSTRAP', {}) print(conf.get('skip_default_img_build', False)) EOF } diff --git a/build/f_isoroot/f_isolinux/Makefile b/build/f_isoroot/f_isolinux/Makefile new file mode 100644 index 000000000..b683ea38c --- /dev/null +++ b/build/f_isoroot/f_isolinux/Makefile @@ -0,0 +1,46 @@ +############################################################################## +# Copyright (c) 2016 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: + @mkdir -p release/isolinux + grep -q OpenStack_Fuel isolinux.cfg + sed "s/OpenStack_Fuel/$(PRODNO)_$(REVSTATE)/g" isolinux.cfg > isolinux.cfg.patched + @cp isolinux.cfg.patched release/isolinux/isolinux.cfg + @cp isolinux.cfg.orig release/isolinux/ + +.PHONY: clean +clean: + @rm -rf release isolinux.cfg.patched + +.PHONY: release +release: all + @cp -Rvp release/* ../release + +############################################################################# +# Cache operations - only used when building through ci/build.sh +############################################################################# + +# Clean local data related to caching - called prior to ordinary build +.PHONY: clean-cache +clean-cache: clean + @echo "clean-cache not implemented" + +# Try to download cache - called prior to ordinary build +.PHONY: get-cache +get-cache: + @echo "get-cache not implemented" + +# Store cache if not already stored - called after ordinary build +.PHONY: put-cache +put-cache: + @echo "put-cache not implemented" diff --git a/build/f_isoroot/f_isolinux/isolinux.cfg b/build/f_isoroot/f_isolinux/isolinux.cfg new file mode 100644 index 000000000..0948c95ac --- /dev/null +++ b/build/f_isoroot/f_isolinux/isolinux.cfg @@ -0,0 +1,32 @@ +default vesamenu.c32 +#prompt 1 +timeout 300 + +display boot.msg + +menu background splash.jpg +menu title Welcome to Fuel Installer (version: 8.0) +menu color border 0 #ffffffff #00000000 +menu color sel 7 #ffffffff #ff000000 +menu color title 0 #ffffffff #00000000 +menu color tabmsg 0 #ffffffff #00000000 +menu color unsel 0 #ffffffff #00000000 +menu color hotsel 0 #ff000000 #ffffffff +menu color hotkey 7 #ffffffff #ff000000 +menu color scrollbar 0 #ffffffff #00000000 + +label nailgun + menu label ^1. Fuel Install (Static IP) + menu default + kernel vmlinuz + append initrd=initrd.img net.ifnames=0 biosdevname=0 ks=hd:sr0:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:eth0:off::: dns1=10.20.0.1 selinux=0 showmenu=yes + +label nailgunifname + menu label ^2. Fuel Advanced Install (Static IP) + kernel vmlinuz + append initrd=initrd.img ks=hd:sr0:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:adminif:off::: dns1=10.20.0.1 selinux=0 ifname=adminif:XX:XX:XX:XX:XX:XX showmenu=yes + +label usbboot + menu label ^3. USB Fuel Install (Static IP) + kernel vmlinuz + append initrd=initrd.img biosdevname=0 repo=hd:LABEL=OpenStack_Fuel:/ ks=hd:LABEL=OpenStack_Fuel:/ks.cfg ip=10.20.0.2 gw=10.20.0.1 dns1=10.20.0.1 netmask=255.255.255.0 hostname=fuel.domain.tld showmenu=yes diff --git a/build/f_isoroot/f_isolinux/isolinux.cfg.orig b/build/f_isoroot/f_isolinux/isolinux.cfg.orig new file mode 100644 index 000000000..2b3e7e307 --- /dev/null +++ b/build/f_isoroot/f_isolinux/isolinux.cfg.orig @@ -0,0 +1,32 @@ +default vesamenu.c32 +#prompt 1 +timeout 300 + +display boot.msg + +menu background splash.jpg +menu title Welcome to Fuel Installer (version: 8.0) +menu color border 0 #ffffffff #00000000 +menu color sel 7 #ffffffff #ff000000 +menu color title 0 #ffffffff #00000000 +menu color tabmsg 0 #ffffffff #00000000 +menu color unsel 0 #ffffffff #00000000 +menu color hotsel 0 #ff000000 #ffffffff +menu color hotkey 7 #ffffffff #ff000000 +menu color scrollbar 0 #ffffffff #00000000 + +label nailgun + menu label ^1. Fuel Install (Static IP) + menu default + kernel vmlinuz + append initrd=initrd.img net.ifnames=0 biosdevname=0 ks=hd:sr0:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:eth0:off::: dns1=10.20.0.1 selinux=0 + +label nailgunifname + menu label ^2. Fuel Advanced Install (Static IP) + kernel vmlinuz + append initrd=initrd.img ks=hd:sr0:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:adminif:off::: dns1=10.20.0.1 selinux=0 ifname=adminif:XX:XX:XX:XX:XX:XX + +label usbboot + menu label ^3. USB Fuel Install (Static IP) + kernel vmlinuz + append initrd=initrd.img biosdevname=0 repo=hd:LABEL=OpenStack_Fuel:/ ks=hd:LABEL=OpenStack_Fuel:/ks.cfg ip=10.20.0.2 gw=10.20.0.1 dns1=10.20.0.1 netmask=255.255.255.0 hostname=fuel.domain.tld showmenu=yes diff --git a/build/f_isoroot/f_kscfg/Makefile b/build/f_isoroot/f_kscfg/Makefile index fe740418d..2a82a1803 100644 --- a/build/f_isoroot/f_kscfg/Makefile +++ b/build/f_isoroot/f_kscfg/Makefile @@ -13,12 +13,14 @@ TOP := $(shell pwd) .PHONY: all all: @mkdir -p release - @cp ks.cfg release + grep -q OpenStack_Fuel ks.cfg + sed "s/OpenStack_Fuel/$(PRODNO)_$(REVSTATE)/g" ks.cfg > ks.cfg.patched + @cp ks.cfg.patched release/ks.cfg @cp ks.cfg.orig release .PHONY: clean clean: - @rm -rf release + @rm -rf release ks.cfg.patched .PHONY: release release: all diff --git a/build/f_isoroot/f_kscfg/ks.cfg b/build/f_isoroot/f_kscfg/ks.cfg index c09a09be9..1787db8c9 100644 --- a/build/f_isoroot/f_kscfg/ks.cfg +++ b/build/f_isoroot/f_kscfg/ks.cfg @@ -97,8 +97,8 @@ for drv in `ls -1 /sys/block | grep "sd\|hd\|vd\|cciss"`; do done default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'` -installdrive="undefined" -forceformat="no" +installdrive=${installdrive:-undefined} +forceformat=${forceformat:-no} for I in $(cat /proc/cmdline); do case "$I" in *=*) @@ -628,4 +628,4 @@ if [[ ! -z $adminif ]]; then /etc/sysconfig/network-scripts/ifcfg-${ifname%%:*} > \ /mnt/sysimage/etc/sysconfig/network-scripts/ifcfg-${adminif} fi -%end
\ No newline at end of file +%end diff --git a/build/f_isoroot/f_kscfg/ks.cfg.orig b/build/f_isoroot/f_kscfg/ks.cfg.orig index a752dacac..60e124ae3 100644 --- a/build/f_isoroot/f_kscfg/ks.cfg.orig +++ b/build/f_isoroot/f_kscfg/ks.cfg.orig @@ -97,8 +97,8 @@ for drv in `ls -1 /sys/block | grep "sd\|hd\|vd\|cciss"`; do done default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'` -installdrive="undefined" -forceformat="no" +installdrive=${installdrive:-undefined} +forceformat=${forceformat:-no} for I in $(cat /proc/cmdline); do case "$I" in *=*) diff --git a/build/f_isoroot/f_odlpluginbuild/Makefile b/build/f_isoroot/f_odlpluginbuild/Makefile index ba5a06b0e..024cd4a50 100644 --- a/build/f_isoroot/f_odlpluginbuild/Makefile +++ b/build/f_isoroot/f_odlpluginbuild/Makefile @@ -8,7 +8,7 @@ ############################################################################## TOP := $(shell pwd) -ODL_BRANCH=7.0 +ODL_BRANCH=brahmaputra-release ODL_REPO="https://github.com/openstack/fuel-plugin-opendaylight.git" .PHONY: all @@ -32,11 +32,15 @@ release:.odlbuild sudo gem install fpm sudo pip install fuel-plugin-builder git clone -b $(ODL_BRANCH) $(ODL_REPO) - fpb --debug --build fuel-plugin-opendaylight/ + # Temporary location of working Be snapshot + ODL_TARBALL_LOCATION=http://devel.opt.im/distribution-karaf-0.4.0-20160118.091622-3555.tar.gz fpb --debug --build fuel-plugin-opendaylight/ mv fuel-plugin-opendaylight/opendaylight*.rpm . $(REPOINFO) -r . > gitinfo_odlplugin.txt rm -rf fuel-plugin-opendaylight touch .odlbuild + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 ############################################################################# # Cache operations - only used when building through ci/build.sh diff --git a/build/f_isoroot/f_onosfwpluginbuild/Makefile b/build/f_isoroot/f_onosfwpluginbuild/Makefile index 0cf290c1c..9516e3d46 100644 --- a/build/f_isoroot/f_onosfwpluginbuild/Makefile +++ b/build/f_isoroot/f_onosfwpluginbuild/Makefile @@ -49,6 +49,9 @@ release:.onosbuild $(REPOINFO) -r . > gitinfo_onos-plugin.txt @rm -rf fuel-plugin-onos @touch .onosbuild + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 ############################################################################# # Cache operations - only used when building through ci/build.sh diff --git a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile index 700a93c0d..f89f8d980 100644 --- a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile +++ b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile @@ -50,6 +50,9 @@ release:.ovsbuild $(REPOINFO) -r . > gitinfo_ovs-nsh-dpdk-plugin.txt @rm -rf fuel-plugin-ovs @touch .ovsbuild + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 ############################################################################# # Cache operations - only used when building through ci/build.sh diff --git a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile index 70fd22409..a74687307 100644 --- a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile +++ b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile @@ -50,6 +50,9 @@ release:.ovsnfvbuild $(REPOINFO) -r . > gitinfo_ovsnfv-dpdk-plugin.txt @rm -rf fuel-plugin-ovsnfv @touch .ovsnfvbuild + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 ############################################################################# # Cache operations - only used when building through ci/build.sh diff --git a/build/f_isoroot/f_qemupluginbuild/Makefile b/build/f_isoroot/f_qemupluginbuild/Makefile index 126e20549..0f245aec3 100644 --- a/build/f_isoroot/f_qemupluginbuild/Makefile +++ b/build/f_isoroot/f_qemupluginbuild/Makefile @@ -50,6 +50,9 @@ release:.qemubuild $(REPOINFO) -r . > gitinfo_qemu-plugin.txt @rm -rf fuel-plugin-qemu @touch .qemubuild + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 ############################################################################# # Cache operations - only used when building through ci/build.sh diff --git a/build/f_isoroot/f_repobuild/Makefile b/build/f_isoroot/f_repobuild/Makefile index 522722e66..1fc703031 100644 --- a/build/f_isoroot/f_repobuild/Makefile +++ b/build/f_isoroot/f_repobuild/Makefile @@ -45,6 +45,9 @@ nailgun: sudo su - -c /opt/fuel-createmirror-*/fuel-createmirror sudo chmod -R 755 /var/www/nailgun cp -Rp /var/www/nailgun . + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 .PHONY: clean clean: diff --git a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh index cb05fe136..992359afd 100755 --- a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh +++ b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh @@ -11,6 +11,19 @@ RSYNC="rsync -4 --contimeout 5 --no-motd --list-only" # local mirror can be found after four attempts, the default archive # is returned instead. +return_url=0 + +while [ "$1" != "" ]; do + case $1 in + -u | --url ) shift + return_url=1 + ;; + # Shift all the parameters down by one + esac + shift +done + + cnt=0 while [ $cnt -lt 4 ] do @@ -21,13 +34,22 @@ do then if ! $RSYNC "${host}::ubuntu/Archive-Update-in-Progress*" &> /dev/null then - echo "$host" - exit 0 + if [ "$return_url" = "1" ]; then + echo "$url" + exit 0 + else + echo "$host" + exit 0 + fi fi fi done cnt=$[cnt + 1] sleep 15 done -echo "archive.ubuntu.com" +if [ "$return_url" = "1" ]; then + echo "http://archive.ubuntu.com/ubuntu/" +else + echo "archive.ubuntu.com" +fi diff --git a/build/f_isoroot/f_vsperfpluginbuild/Makefile b/build/f_isoroot/f_vsperfpluginbuild/Makefile index ccf596a14..c9653d785 100644 --- a/build/f_isoroot/f_vsperfpluginbuild/Makefile +++ b/build/f_isoroot/f_vsperfpluginbuild/Makefile @@ -50,6 +50,9 @@ release:.vsperfbuild $(REPOINFO) -r . > gitinfo_vsperf-plugin.txt @rm -rf fuel-plugin-vsperf @touch .vsperfbuild + # Store artifact in cache straight away if caching is enabled + # (no .cacheid will be present unless this is a cached build) + test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 ############################################################################# # Cache operations - only used when building through ci/build.sh diff --git a/build/fuel_build_loop b/build/fuel_build_loop new file mode 100755 index 000000000..7e26b98b8 --- /dev/null +++ b/build/fuel_build_loop @@ -0,0 +1,32 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2016 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 +############################################################################## + +echo "MIRROR_MOS_UBUNTU_ROOT=${MIRROR_MOS_UBUNTU_ROOT}" +echo "MIRROR_FUEL=${MIRROR_FUEL}" + +maxcount=10 +cnt=0 +rc=1 +while [ $cnt -lt $maxcount ] && [ $rc -ne 0 ] +do + cnt=$[cnt + 1] + echo -e "\n\n\n*** Starting build attempt # $cnt" + cd /tmp/fuel-main + make clean + make iso + rc=$? + if [ $rc -ne 0 ]; then + echo "### Build failed with rc $rc ###" + else + echo "### Build successful at attempt # $cnt" + fi +done +exit $rc diff --git a/build/install/install.sh b/build/install/install.sh index 6155a4162..4e0389ed8 100755 --- a/build/install/install.sh +++ b/build/install/install.sh @@ -464,7 +464,7 @@ if [ $MODE = "iso" ]; then TMP_ISOPUPPET=`mktemp -d /tmp/XXXXXXX` ORIGISO=$2 NEWISO=$3 - VOLUMEID="$4 $5" + VOLUMEID="$4_$5" REPORTFILE="${NEWISO}.txt" echo "Opening reportfile at $REPORTFILE" touch $REPORTFILE diff --git a/build/select_closest_fuel_mirror.py b/build/select_closest_fuel_mirror.py new file mode 100755 index 000000000..0fdc69eac --- /dev/null +++ b/build/select_closest_fuel_mirror.py @@ -0,0 +1,35 @@ +#!/usr/bin/python +############################################################################## +# Copyright (c) 2016 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 +############################################################################## + +# Select closest fuel mirror based on latency measured with ping. +# Failsafe: The us1 mirror + +from subprocess import Popen,PIPE +import re +from operator import itemgetter + +mirrors = [ "us1", "cz1" ] +FNULL = open('/dev/null', 'w') +try: + re_avg = re.compile(r'.* = [^/]*/([^/]*).*') + + pingtime = {} + for mirror in mirrors: + fqdn = "mirror.seed-"+mirror+".fuel-infra.org" + pingtime[fqdn] = 0 + pipe = Popen("ping -c 3 " + fqdn + " | tail -1",shell = True, stdout=PIPE, stderr=FNULL) + avg = pipe.communicate()[0] + pipe.stdout.close() + pingtime[fqdn] = float(re_avg.split(avg)[1]) + + print sorted(pingtime.items(), key=itemgetter(1))[0][0] +except: + print "mirror.seed-"+mirrors[0]+".fuel-infra.org" diff --git a/deploy/README b/deploy/README index 167078bf8..7a3e09dc9 100644 --- a/deploy/README +++ b/deploy/README @@ -5,7 +5,7 @@ the following dependencies and python modules are required to be installed: - for Ubuntu: -sudo apt-get install -y libvirt-bin qemu-kvm python-pip fuseiso mkisofs +sudo apt-get install -y libvirt-bin qemu-kvm python-pip fuseiso mkisofs genisoimage sudo apt-get install -y python-dev libz-dev libxml2-dev libxslt-dev sudo pip install pyyaml netaddr paramiko lxml scp pycrypto ecdsa diff --git a/deploy/cloud/configure_environment.py b/deploy/cloud/configure_environment.py index ed89fa600..1914d7e3e 100644 --- a/deploy/cloud/configure_environment.py +++ b/deploy/cloud/configure_environment.py @@ -46,14 +46,11 @@ class ConfigureEnvironment(object): delete(self.yaml_config_dir) create_dir_if_not_exists(self.yaml_config_dir) env_name = self.dea.get_env_name() - env_mode = self.dea.get_env_mode() env_net_segment_type = self.dea.get_env_net_segment_type() - log('Creating environment %s release %s, mode %s, network-mode neutron' - ', net-segment-type %s' - % (env_name, self.release_id, env_mode, env_net_segment_type)) - exec_cmd('fuel env create --name %s --release %s --mode %s ' - '--network-mode neutron --net-segment-type %s' - % (env_name, self.release_id, env_mode, env_net_segment_type)) + log('Creating environment %s release %s net-segment-type %s' + % (env_name, self.release_id, env_net_segment_type)) + exec_cmd('fuel env create --name %s --release %s --net-segment-type %s' + % (env_name, self.release_id, env_net_segment_type)) if not self.env_exists(env_name): err('Failed to create environment %s' % env_name) diff --git a/deploy/cloud/deploy.py b/deploy/cloud/deploy.py index 14d6a9621..679b0ad6f 100644 --- a/deploy/cloud/deploy.py +++ b/deploy/cloud/deploy.py @@ -42,8 +42,9 @@ class Deploy(object): def assign_roles_to_cluster_node_ids(self): self.node_roles_dict = {} for blade, node in self.blade_node_dict.iteritems(): - roles = commafy(self.dea.get_node_role(blade)) - self.node_roles_dict[node] = (roles, blade) + if self.dea.get_node_role(blade): + roles = commafy(self.dea.get_node_role(blade)) + self.node_roles_dict[node] = (roles, blade) def configure_environment(self): release_list = parse(exec_cmd('fuel release -l')) diff --git a/deploy/cloud/deployment.py b/deploy/cloud/deployment.py index 29134b373..63c8c1e53 100644 --- a/deploy/cloud/deployment.py +++ b/deploy/cloud/deployment.py @@ -132,7 +132,7 @@ class Deployment(object): node_list = parse(exec_cmd('fuel node list')) failed_nodes = [] for node in node_list: - if node[N['status']] != 'ready': + if node[N['status']] != 'ready' and node[N['cluster']] != 'None': failed_nodes.append((node[N['id']], node[N['status']])) if failed_nodes: diff --git a/deploy/common.py b/deploy/common.py index bc2787617..4b0561cd4 100644 --- a/deploy/common.py +++ b/deploy/common.py @@ -18,9 +18,8 @@ import stat import errno N = {'id': 0, 'status': 1, 'name': 2, 'cluster': 3, 'ip': 4, 'mac': 5, - 'roles': 6, 'pending_roles': 7, 'online': 8} -E = {'id': 0, 'status': 1, 'name': 2, 'mode': 3, 'release_id': 4, - 'changes': 5, 'pending_release_id': 6} + 'roles': 6, 'pending_roles': 7, 'online': 8, 'group_id': 9} +E = {'id': 0, 'status': 1, 'name': 2, 'release_id': 3, 'pending_release_id': 5} R = {'id': 0, 'name': 1, 'state': 2, 'operating_system': 3, 'version': 4} RO = {'name': 0, 'conflicts': 1} CWD = os.getcwd() diff --git a/deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml b/deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml index 2be68e25a..6056f0409 100644 --- a/deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml +++ b/deploy/config/labs/devel-pipeline/default/fuel/config/dea-pod-override.yaml @@ -1,8 +1,8 @@ dea-pod-override-config-metadata: title: 'Deployment Environment Adapter POD override for Development Pipeline - Default version' - version: '0.1' - created: 'Thu 7 2016' - comment: 'None' + version: '0.2' + created: 'Wed 20 2016' + comment: 'Updated DNS and NTP for Internet use' environment: name: opnfv_virt fuel: @@ -13,16 +13,16 @@ fuel: dhcp_pool_start: 10.20.0.3 ipaddress: 10.20.0.2 netmask: 255.255.0.0 - DNS_DOMAIN: opnfvericsson.se - DNS_SEARCH: opnfvericsson.se - DNS_UPSTREAM: 10.118.32.193 + DNS_DOMAIN: opnfv.org + DNS_SEARCH: opnfv.org + DNS_UPSTREAM: 8.8.8.8, 8.8.4.4 FUEL_ACCESS: password: admin user: admin HOSTNAME: opnfv_virt - NTP1: 81.170.152.66 - NTP2: 83.168.200.199 - NTP3: 78.108.60.252 + NTP1: 0.ubuntu.pool.ntp.org + NTP2: 1.ubuntu.pool.ntp.org + NTP3: 2.ubuntu.pool.ntp.org interfaces_1: eth0: - fuelweb_admin @@ -243,7 +243,7 @@ settings: error: Invalid NTP server list source: ^\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(?:\.\d{1,3}){3})\s*(?:,\s*(?:(?:\w+(?:-+\w+)*\.)+[a-z]+|\d{1,3}(\.\d{1,3}){3})\s*)*$ type: text - value: 81.170.152.66,83.168.200.199,78.108.60.252 + value: 0.ubuntu.pool.ntp.org,1.ubuntu.pool.ntp.org,2.ubuntu.pool.ntp.org weight: 10 syslog: metadata: diff --git a/deploy/config/plugins/fuel-odl_0.0.1.yaml b/deploy/config/plugins/fuel-odl_0.0.1.yaml index 11622a16c..e1f743fbc 100644 --- a/deploy/config/plugins/fuel-odl_0.0.1.yaml +++ b/deploy/config/plugins/fuel-odl_0.0.1.yaml @@ -5,60 +5,78 @@ plugin-config-metadata: comment: None opendaylight: - enable_gbp: - label: GBP features - type: checkbox - value: false - weight: 14 - enable_l3_odl: - label: 'EXPERIMENTAL: Use ODL to manage L3 traffic' - type: checkbox - value: false - weight: 12 - enable_sfc: - label: SFC features - type: checkbox - value: false - weight: 13 metadata: + # chosen_id: Assigned during installation + class: plugin + default: false enabled: true - label: OpenDaylight Lithium plugin - odl_features: - default: - - config - - standard - - region - - package - - kar - - ssh - - management - gbp: - - odl-groupbasedpolicy-base - - odl-groupbasedpolicy-ofoverlay - ovs: - - odl-ovsdb-openstack - - odl-restconf-all - - odl-aaa-authn - - odl-dlux-all - sfc: - - odl-sfc-core - - odl-sfc-sb-rest - - odl-sfc-ui - - odl-sfc-netconf - - odl-sfc-ovs - - odl-sfcofl2 - - odl-sfc-test-consumer - # plugin_id: Assigned during installation - restrictions: - - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight + label: OpenDaylight plugin toggleable: true + versions: + - enable_gbp: + label: GBP features + type: checkbox + value: false + weight: 14 + enable_l3_odl: + label: Use ODL to manage L3 traffic + restrictions: + - networking_parameters:segmentation_type == 'vlan': Use tunneling segmentation + type. + - settings:public_network_assignment.assign_to_all_nodes.value == false: Assign + public network to all nodes + type: checkbox + value: true + weight: 12 + enable_sfc: + label: SFC features + type: checkbox + value: false + weight: 13 + metadata: + always_editable: false + odl_features: + default: + - config + - standard + - region + - package + - kar + - ssh + - management + gbp: + - odl-groupbasedpolicy-base + - odl-groupbasedpolicy-ofoverlay + ovs: + - odl-ovsdb-openstack + - odl-restconf-all + - odl-aaa-authn + - odl-dlux-all + sfc: + - odl-sfc-core + - odl-sfc-sb-rest + - odl-sfc-ui + - odl-sfc-netconf + - odl-sfc-ovs + - odl-sfcofl2 + - odl-sfc-test-consumer + vpn: + - odl-vpnservice-api + - odl-vpnservice-impl + - odl-vpnservice-impl-rest + - odl-vpnservice-impl-ui + - odl-vpnservice-core + # plugin_id: Assigned during installation + plugin_version: 0.8.0 + restrictions: + - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight + rest_api_port: + description: Port on which ODL REST API will be available. + label: Port number + regex: + error: Invalid port number + source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$ + type: text + value: '8282' + weight: 40 weight: 70 - rest_api_port: - description: Port on which ODL REST API will be available. - label: Port number - regex: - error: Invalid port number - source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$ - type: text - value: '8282' - weight: 40 diff --git a/deploy/dea.py b/deploy/dea.py index 2d2b28ae8..b5b63f7cc 100644 --- a/deploy/dea.py +++ b/deploy/dea.py @@ -34,9 +34,6 @@ class DeploymentEnvironmentAdapter(object): def get_env_name(self): return self.get_property('environment')['name'] - def get_env_mode(self): - return self.get_property('environment')['mode'] - def get_env_net_segment_type(self): return self.get_property('environment')['net_segment_type'] diff --git a/deploy/deploy.py b/deploy/deploy.py index 8a4bfc40a..393523bf9 100755 --- a/deploy/deploy.py +++ b/deploy/deploy.py @@ -147,23 +147,65 @@ class AutoDeploy(object): log('isolinux.cfg after: %s' % exec_cmd('grep netmask %s' % isolinux)) + iso_label = self.parse_iso_volume_label(self.iso_file) + log('Volume label: %s' % iso_label) + iso_linux_bin = 'isolinux/isolinux.bin' exec_cmd('mkisofs -quiet -r -J -R -b %s ' '-no-emul-boot -boot-load-size 4 ' '-boot-info-table -hide-rr-moved ' - '-x "lost+found:" -o %s .' - % (iso_linux_bin, new_iso)) + '-x "lost+found:" -V %s -o %s .' + % (iso_linux_bin, iso_label, new_iso)) def update_fuel_isolinux(self, file): with io.open(file) as f: data = f.read() for key, val in self.fuel_conf.iteritems(): + # skip replacing these keys, as the format is custom + if key in ['ip', 'gw', 'netmask', 'hostname']: + continue + pattern = r'%s=[^ ]\S+' % key replace = '%s=%s' % (key, val) data = re.sub(pattern, replace, data) + + # process networking parameters + ip = ':'.join([self.fuel_conf['ip'], + '', + self.fuel_conf['gw'], + self.fuel_conf['netmask'], + self.fuel_conf['hostname'], + 'eth0:off:::']) + + data = re.sub(r'ip=[^ ]\S+', 'ip=%s' % ip, data) + + netmask = self.fuel_conf['netmask'] + data = self.append_kernel_param(data, 'netmask=%s' % netmask) + with io.open(file, 'w') as f: f.write(data) + def append_kernel_param(self, data, kernel_param): + """Append the specified kernel parameter to a list of kernel + parameters. Do it only if it isn't already there. + """ + data_final = '' + key = re.match(r'(.+?=)', kernel_param).group() + + for line in data.splitlines(): + data_final += line + if (re.search(r'append ', line) and + not re.search(key, line)): + data_final += ' ' + kernel_param + data_final += '\n' + + return data_final + + def parse_iso_volume_label(self, iso_filename): + label_line = exec_cmd('isoinfo -d -i %s | grep -i "Volume id: "' % iso_filename) + # cut leading text: 'Volume id: ' + return label_line[11:] + def deploy_env(self): dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'], self.fuel_username, self.fuel_password, diff --git a/deploy/fuel_patch/ks.cfg.patch b/deploy/fuel_patch/ks.cfg.patch index 189695792..8c9cebc0f 100644 --- a/deploy/fuel_patch/ks.cfg.patch +++ b/deploy/fuel_patch/ks.cfg.patch @@ -1,19 +1,19 @@ -*** ks.cfg.orig Wed Apr 15 21:47:09 2015 ---- ks.cfg Wed Apr 15 21:47:24 2015 +*** ks.cfg.orig 2016-01-25 08:56:16.406241267 +0100 +--- ks.cfg 2016-01-25 14:31:11.417761494 +0100 *************** -*** 35,41 **** +*** 98,104 **** default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'` - installdrive="undefined" -! forceformat="no" - for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done - - set ${drives} ${removable_drives} ---- 35,41 ---- + installdrive=${installdrive:-undefined} +! forceformat=${forceformat:-no} + for I in $(cat /proc/cmdline); do + case "$I" in + *=*) +--- 98,104 ---- default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'` - installdrive="undefined" -! forceformat="yes" - for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done - - set ${drives} ${removable_drives} + installdrive=${installdrive:-undefined} +! forceformat=${forceformat:-yes} + for I in $(cat /proc/cmdline); do + case "$I" in + *=*) diff --git a/deploy/install_fuel_master.py b/deploy/install_fuel_master.py index e3a7327c0..4f6a0527b 100644 --- a/deploy/install_fuel_master.py +++ b/deploy/install_fuel_master.py @@ -87,7 +87,7 @@ class InstallFuelMaster(object): log('Found FUEL menu as PID %s, now killing it' % fuel_menu_pid) self.ssh_exec_cmd('kill %s' % fuel_menu_pid, False) - log('Wait until installation complete') + log('Wait until installation is complete') self.wait_until_installation_completed() log('Waiting for one minute for Fuel to stabilize') @@ -117,6 +117,7 @@ class InstallFuelMaster(object): plugin_files = [] with self.ssh as s: for plugin_location in [PLUGINS_DIR, LOCAL_PLUGIN_FOLDER]: + s.exec_cmd('mkdir -p %s' % plugin_location) r = s.exec_cmd('find %s -type f -name \'*.rpm\'' % plugin_location) plugin_files.extend(r.splitlines()) @@ -130,7 +131,7 @@ class InstallFuelMaster(object): 'failed: %s' % (f, e)) def wait_for_node_up(self): - WAIT_LOOP = 60 + WAIT_LOOP = 240 SLEEP_TIME = 10 success = False for i in range(WAIT_LOOP): diff --git a/deploy/reap.py b/deploy/reap.py index 72bfcee4c..dd5b242cf 100755 --- a/deploy/reap.py +++ b/deploy/reap.py @@ -75,8 +75,8 @@ DHA_2 = ''' ''' DISKS = {'fuel': '50G', - 'controller': '60G', - 'compute': '50G'} + 'controller': '100G', + 'compute': '100G'} class Reap(object): @@ -221,13 +221,8 @@ class Reap(object): % (self.temp_dir, self.env_id)) network = self.read_yaml(network_file) - # ha_compact not understood by Fuel when deploying...OD - if self.env[E['mode']] == 'ha_compact': - self.env[E['mode']] = 'ha' - env = {'environment': {'name': self.env[E['name']], - 'mode': self.env[E['mode']], 'net_segment_type': network['networking_parameters']['segmentation_type']}} self.write_yaml(self.dea_file, env) diff --git a/deploy/scenario/ha_heat_ceilometer_scenario_0.0.2.yaml b/deploy/scenario/ha_heat_ceilometer_scenario_0.0.2.yaml new file mode 100644 index 000000000..6a33dd819 --- /dev/null +++ b/deploy/scenario/ha_heat_ceilometer_scenario_0.0.2.yaml @@ -0,0 +1,134 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# 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 +############################################################################## + +############################################################################### # Description: +# This .yaml configuration file defines the configuration of the fuel +# deployment and is passed as an argument to deploy.sh +# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config +# This will make build.sh fetch this configuration file and configure the +# deployment accordingly. +# After the deployment, a copy of this file gets uploaded to fuel: +# /root/deploy-config.yaml, as well as the sha-1 sum of this file: +# /root/deploy-config.sha1 +############################################################################## + +############################################################################## +# deployment configuration meta-data +deployment-scenario-metadata: + title: OpenStack-only, HA deployment + version: 0.0.2 + created: Jan 19 2016 + comment: Rebased to Fuel8 + +############################################################################## +# Stack extentions are opnfv added value features in form of a fuel-plugin +# plug-ins listed below will be enabled and configured according to the +# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml +# It does so by copying the config file to the local plugin config directory +stack-extensions: + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + mode: ha + net_segment_type: tun + wanted_release: Kilo on Ubuntu 14.04 + nodes: + - id: 1 + interfaces: interfaces_1 + role: controller + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: mongo, controller + transformations: transformations_1 + - id: 3 + interfaces: interfaces_1 + role: ceph-osd,controller + transformations: transformations_1 + - id: 4 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + + settings: + editable: + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: true + weight: 40 + heat: + description: '' + label: '' + type: hidden + value: true + weight: 30 + metadata: + label: Additional Components + weight: 20 + storage: + ephemeral_ceph: + description: Configures Nova to store ephemeral volumes in RBD. This works + best if Ceph is enabled for volumes and images, too. Enables live migration + of all types of Ceph backed VMs (without this option, live migration will + only work with VMs launched from Cinder volumes). + label: Ceph RBD for ephemeral volumes (Nova) + type: checkbox + value: true + weight: 75 + images_ceph: + description: Configures Glance to use the Ceph RBD backend to store images. + If enabled, this option will prevent Swift from installing. + label: Ceph RBD for images (Glance) + restrictions: + - settings:storage.images_vcenter.value == true: Only one Glance backend could + be selected. + type: checkbox + value: true + weight: 30 + +dha-override-config: + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + + +############################################################################## +# The verification pipeline may populate the section below with arbitrary +# testing information, which post deploy can be retreived from the fuel master: +# /root/deploy-config.yaml +test: diff --git a/deploy/scenario/ha_nfv-kvm_heat_ceilometer_scenario_0.0.2.yaml b/deploy/scenario/ha_nfv-kvm_heat_ceilometer_scenario_0.0.2.yaml new file mode 100644 index 000000000..525fc51ad --- /dev/null +++ b/deploy/scenario/ha_nfv-kvm_heat_ceilometer_scenario_0.0.2.yaml @@ -0,0 +1,138 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# 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 +############################################################################## + +############################################################################### # Description: +# This .yaml configuration file defines the configuration of the fuel +# deployment and is passed as an argument to deploy.sh +# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config +# This will make build.sh fetch this configuration file and configure the +# deployment accordingly. +# After the deployment, a copy of this file gets uploaded to fuel: +# /root/deploy-config.yaml, as well as the sha-1 sum of this file: +# /root/deploy-config.sha1 +############################################################################## + +############################################################################## +# deployment configuration meta-data +deployment-scenario-metadata: + title: NFV KVM HA deployment + version: 0.0.2 + created: Jan 19 2016 + comment: Rebased to Fuel8 + +############################################################################## +# Stack extentions are opnfv added value features in form of a fuel-plugin +# plug-ins listed below will be enabled and configured according to the +# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml +# It does so by copying the config file to the local plugin config directory +stack-extensions: + - module: fuel-plugin-qemu + module-config-name: fuel-nfvkvm + module-config-version: 0.0.1 + module-config-override: + # Module config overrides + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + mode: ha + net_segment_type: tun + wanted_release: Kilo on Ubuntu 14.04 + nodes: + - id: 1 + interfaces: interfaces_1 + role: controller + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: mongo,controller + transformations: transformations_1 + - id: 3 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 4 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + settings: + editable: + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: true + weight: 40 + heat: + description: '' + label: '' + type: hidden + value: true + weight: 30 + metadata: + label: Additional Components + weight: 20 + storage: + ephemeral_ceph: + description: Configures Nova to store ephemeral volumes in RBD. This works + best if Ceph is enabled for volumes and images, too. Enables live migration + of all types of Ceph backed VMs (without this option, live migration will + only work with VMs launched from Cinder volumes). + label: Ceph RBD for ephemeral volumes (Nova) + type: checkbox + value: true + weight: 75 + images_ceph: + description: Configures Glance to use the Ceph RBD backend to store images. + If enabled, this option will prevent Swift from installing. + label: Ceph RBD for images (Glance) + restrictions: + - settings:storage.images_vcenter.value == true: Only one Glance backend could + be selected. + type: checkbox + value: true + weight: 30 + +dha-override-config: + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + + +############################################################################## +# The verification pipeline may populate the section below with arbitrary +# testing information, which post deploy can be retreived from the fuel master: +# /root/deploy-config.yaml +test: diff --git a/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario_0.0.2.yaml b/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario_0.0.2.yaml new file mode 100644 index 000000000..57bbe406d --- /dev/null +++ b/deploy/scenario/ha_nfv-ovs_heat_ceilometer_scenario_0.0.2.yaml @@ -0,0 +1,137 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# 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 +############################################################################## + +############################################################################### # Description: +# This .yaml configuration file defines the configuration of the fuel +# deployment and is passed as an argument to deploy.sh +# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config +# This will make build.sh fetch this configuration file and configure the +# deployment accordingly. +# After the deployment, a copy of this file gets uploaded to fuel: +# /root/deploy-config.yaml, as well as the sha-1 sum of this file: +# /root/deploy-config.sha1 +############################################################################## + +############################################################################## +# deployment configuration meta-data +deployment-scenario-metadata: + title: NFV OVS HA deployment + version: 0.0.2 + created: Jan 19 2016 + comment: Rebased to Fuel8 + +############################################################################## +# Stack extentions are opnfv added value features in form of a fuel-plugin +# plug-ins listed below will be enabled and configured according to the +# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml +# It does so by copying the config file to the local plugin config directory +stack-extensions: + - module: fuel-plugin-ovsnfv + module-config-name: fuel-nfvovs + module-config-version: 0.0.1 + module-config-override: + # Module config overrides + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + mode: ha + net_segment_type: tun + wanted_release: Kilo on Ubuntu 14.04 + nodes: + - id: 1 + interfaces: interfaces_1 + role: controller + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: mongo,controller + transformations: transformations_1 + - id: 3 + interfaces: interfaces_1 + role: ceph-osd,controller + transformations: transformations_1 + - id: 4 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + settings: + editable: + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: true + weight: 40 + heat: + description: '' + label: '' + type: hidden + value: true + weight: 30 + metadata: + label: Additional Components + weight: 20 + storage: + ephemeral_ceph: + description: Configures Nova to store ephemeral volumes in RBD. This works + best if Ceph is enabled for volumes and images, too. Enables live migration + of all types of Ceph backed VMs (without this option, live migration will + only work with VMs launched from Cinder volumes). + label: Ceph RBD for ephemeral volumes (Nova) + type: checkbox + value: true + weight: 75 + images_ceph: + description: Configures Glance to use the Ceph RBD backend to store images. + If enabled, this option will prevent Swift from installing. + label: Ceph RBD for images (Glance) + restrictions: + - settings:storage.images_vcenter.value == true: Only one Glance backend could + be selected. + type: checkbox + value: true + weight: 30 + +dha-override-config: + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + +############################################################################## +# The verification pipeline may populate the section below with arbitrary +# testing information, which post deploy can be retreived from the fuel master: +# /root/deploy-config.yaml +test: diff --git a/deploy/scenario/ha_odl-l2_bgpvpn_scenario_0.0.1.yaml b/deploy/scenario/ha_odl-l2_bgpvpn_scenario_0.0.1.yaml new file mode 100644 index 000000000..a5f3fc5e2 --- /dev/null +++ b/deploy/scenario/ha_odl-l2_bgpvpn_scenario_0.0.1.yaml @@ -0,0 +1,150 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# 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 +############################################################################## + +############################################################################### # Description: +# This .yaml configuration file defines the configuration of the fuel +# deployment and is passed as an argument to deploy.sh +# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config +# This will make build.sh fetch this configuration file and configure the +# deployment accordingly. +# After the deployment, a copy of this file gets uploaded to fuel: +# /root/deploy-config.yaml, as well as the sha-1 sum of this file: +# /root/deploy-config.sha1 +############################################################################## + +############################################################################## +# deployment configuration meta-data +deployment-scenario-metadata: + title: ODL-L2 HA BGPVPN deployment + version: 0.0.1 + created: Jan 19 2016 + comment: Fuel ODL-L2 HA with Ceph, Ceilometer, Heat and BGPVPN + +############################################################################## +# Stack extentions are opnfv added value features in form of a fuel-plugin +# plug-ins listed below will be enabled and configured according to the +# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml +# It does so by copying the config file to the local plugin config directory +stack-extensions: + - module: opendaylight + module-config-name: fuel-odl + module-config-version: 0.0.1 + module-config-override: + # Module config overrides + rest_api_port: + value: '8282' + enable_gbp: + value: false + enable_l3_odl: + value: false + enable_sfc: + value: false + - module: bgpvpn + module-config-name: fuel-bgpvpn + module-config-version: 0.0.1 + module-config-override: + + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + mode: ha + net_segment_type: tun + wanted_release: Kilo on Ubuntu 14.04 + nodes: + - id: 1 + interfaces: interfaces_1 + role: controller,opendaylight + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: mongo,controller + transformations: transformations_1 + - id: 3 + interfaces: interfaces_1 + role: ceph-osd,controller + transformations: transformations_1 + - id: 4 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + settings: + editable: + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: true + weight: 40 + heat: + description: '' + label: '' + type: hidden + value: true + weight: 30 + metadata: + label: Additional Components + weight: 20 + storage: + ephemeral_ceph: + description: Configures Nova to store ephemeral volumes in RBD. This works + best if Ceph is enabled for volumes and images, too. Enables live migration + of all types of Ceph backed VMs (without this option, live migration will + only work with VMs launched from Cinder volumes). + label: Ceph RBD for ephemeral volumes (Nova) + type: checkbox + value: true + weight: 75 + images_ceph: + description: Configures Glance to use the Ceph RBD backend to store images. + If enabled, this option will prevent Swift from installing. + label: Ceph RBD for images (Glance) + restrictions: + - settings:storage.images_vcenter.value == true: Only one Glance backend could + be selected. + type: checkbox + value: true + weight: 30 + +dha-override-config: + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + +############################################################################## +# The verification pipeline may populate the section below with arbitrary +# testing information, which post deploy can be retreived from the fuel master: +# /root/deploy-config.yaml +test: diff --git a/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario_0.0.2.yaml b/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario_0.0.2.yaml new file mode 100644 index 000000000..e79283b86 --- /dev/null +++ b/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario_0.0.2.yaml @@ -0,0 +1,146 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# 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 +############################################################################## + +############################################################################### # Description: +# This .yaml configuration file defines the configuration of the fuel +# deployment and is passed as an argument to deploy.sh +# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config +# This will make build.sh fetch this configuration file and configure the +# deployment accordingly. +# After the deployment, a copy of this file gets uploaded to fuel: +# /root/deploy-config.yaml, as well as the sha-1 sum of this file: +# /root/deploy-config.sha1 +############################################################################## + +############################################################################## +# deployment configuration meta-data +deployment-scenario-metadata: + title: ODL-L2 HA deployment + version: 0.0.2 + created: Jan 19 2016 + comment: Rebased to Fuel8 + +############################################################################## +# Stack extentions are opnfv added value features in form of a fuel-plugin +# plug-ins listed below will be enabled and configured according to the +# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml +# It does so by copying the config file to the local plugin config directory +stack-extensions: + - module: opendaylight + module-config-name: fuel-odl + module-config-version: 0.0.1 + module-config-override: + # Module config overrides + rest_api_port: + value: '8282' + enable_gbp: + value: false + enable_l3_odl: + value: false + enable_sfc: + value: false + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + mode: ha + net_segment_type: tun + wanted_release: Kilo on Ubuntu 14.04 + nodes: + - id: 1 + interfaces: interfaces_1 + role: controller,opendaylight + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: mongo,controller + transformations: transformations_1 + - id: 3 + interfaces: interfaces_1 + role: ceph-osd,controller + transformations: transformations_1 + - id: 4 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + + settings: + editable: + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: true + weight: 40 + heat: + description: '' + label: '' + type: hidden + value: true + weight: 30 + metadata: + label: Additional Components + weight: 20 + storage: + ephemeral_ceph: + description: Configures Nova to store ephemeral volumes in RBD. This works + best if Ceph is enabled for volumes and images, too. Enables live migration + of all types of Ceph backed VMs (without this option, live migration will + only work with VMs launched from Cinder volumes). + label: Ceph RBD for ephemeral volumes (Nova) + type: checkbox + value: true + weight: 75 + images_ceph: + description: Configures Glance to use the Ceph RBD backend to store images. + If enabled, this option will prevent Swift from installing. + label: Ceph RBD for images (Glance) + restrictions: + - settings:storage.images_vcenter.value == true: Only one Glance backend could + be selected. + type: checkbox + value: true + weight: 30 + +dha-override-config: + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + +############################################################################## +# The verification pipeline may populate the section below with arbitrary +# testing information, which post deploy can be retreived from the fuel master: +# /root/deploy-config.yaml +test: diff --git a/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario_0.0.2.yaml b/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario_0.0.2.yaml new file mode 100644 index 000000000..be54d4084 --- /dev/null +++ b/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario_0.0.2.yaml @@ -0,0 +1,146 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# 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 +############################################################################## + +############################################################################### # Description: +# This .yaml configuration file defines the configuration of the fuel +# deployment and is passed as an argument to deploy.sh +# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config +# This will make build.sh fetch this configuration file and configure the +# deployment accordingly. +# After the deployment, a copy of this file gets uploaded to fuel: +# /root/deploy-config.yaml, as well as the sha-1 sum of this file: +# /root/deploy-config.sha1 +############################################################################## + +############################################################################## +# deployment configuration meta-data +deployment-scenario-metadata: + title: ODL-L3 HA deployment + version: 0.0.2 + created: Jan 19 2016 + comment: Rebased to Fuel8 + +############################################################################## +# Stack extentions are opnfv added value features in form of a fuel-plugin +# plug-ins listed below will be enabled and configured according to the +# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml +# It does so by copying the config file to the local plugin config directory +stack-extensions: + - module: opendaylight + module-config-name: fuel-odl + module-config-version: 0.0.1 + module-config-override: + # Module config overrides + rest_api_port: + value: '8282' + enable_gbp: + value: false + enable_l3_odl: + value: true + enable_sfc: + value: false + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + mode: ha + net_segment_type: tun + wanted_release: Kilo on Ubuntu 14.04 + nodes: + - id: 1 + interfaces: interfaces_1 + role: controller,opendaylight + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: mongo,controller + transformations: transformations_1 + - id: 3 + interfaces: interfaces_1 + role: ceph-osd,controller + transformations: transformations_1 + - id: 4 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + + settings: + editable: + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: true + weight: 40 + heat: + description: '' + label: '' + type: hidden + value: true + weight: 30 + metadata: + label: Additional Components + weight: 20 + storage: + ephemeral_ceph: + description: Configures Nova to store ephemeral volumes in RBD. This works + best if Ceph is enabled for volumes and images, too. Enables live migration + of all types of Ceph backed VMs (without this option, live migration will + only work with VMs launched from Cinder volumes). + label: Ceph RBD for ephemeral volumes (Nova) + type: checkbox + value: true + weight: 75 + images_ceph: + description: Configures Glance to use the Ceph RBD backend to store images. + If enabled, this option will prevent Swift from installing. + label: Ceph RBD for images (Glance) + restrictions: + - settings:storage.images_vcenter.value == true: Only one Glance backend could + be selected. + type: checkbox + value: true + weight: 30 + +dha-override-config: + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + +############################################################################## +# The verification pipeline may populate the section below with arbitrary +# testing information, which post deploy can be retreived from the fuel master: +# /root/deploy-config.yaml +test: diff --git a/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.3.yaml b/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.3.yaml new file mode 100644 index 000000000..eeb99b2a3 --- /dev/null +++ b/deploy/scenario/ha_onos_heat_ceilometer_scenario_0.0.3.yaml @@ -0,0 +1,140 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# 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 +############################################################################## + +############################################################################### # Description: +# This .yaml configuration file defines the configuration of the fuel +# deployment and is passed as an argument to deploy.sh +# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config +# This will make build.sh fetch this configuration file and configure the +# deployment accordingly. +# After the deployment, a copy of this file gets uploaded to fuel: +# /root/deploy-config.yaml, as well as the sha-1 sum of this file: +# /root/deploy-config.sha1 +############################################################################## + +############################################################################## +# deployment configuration meta-data +deployment-scenario-metadata: + title: ONOS HA deployment + version: 0.0.2 + created: Jan 19 2016 + comment: Rebased to Fuel8 + +############################################################################## +# Stack extentions are opnfv added value features in form of a fuel-plugin +# plug-ins listed below will be enabled and configured according to the +# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml +# It does so by copying the config file to the local plugin config directory +stack-extensions: + - module: onos + module-config-name: fuel-onos + module-config-version: 0.0.1 + module-config-override: + # Module config overrides + public_eth: + value: 'eth3' + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + mode: ha + net_segment_type: tun + wanted_release: Kilo on Ubuntu 14.04 + nodes: + - id: 1 + interfaces: interfaces_1 + role: controller,onos + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: mongo,controller + transformations: transformations_1 + - id: 3 + interfaces: interfaces_1 + role: ceph-osd,controller + transformations: transformations_1 + - id: 4 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + + settings: + editable: + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: true + weight: 40 + heat: + description: '' + label: '' + type: hidden + value: true + weight: 30 + metadata: + label: Additional Components + weight: 20 + storage: + ephemeral_ceph: + description: Configures Nova to store ephemeral volumes in RBD. This works + best if Ceph is enabled for volumes and images, too. Enables live migration + of all types of Ceph backed VMs (without this option, live migration will + only work with VMs launched from Cinder volumes). + label: Ceph RBD for ephemeral volumes (Nova) + type: checkbox + value: true + weight: 75 + images_ceph: + description: Configures Glance to use the Ceph RBD backend to store images. + If enabled, this option will prevent Swift from installing. + label: Ceph RBD for images (Glance) + restrictions: + - settings:storage.images_vcenter.value == true: Only one Glance backend could + be selected. + type: checkbox + value: true + weight: 30 + +dha-override-config: + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + +############################################################################## +# The verification pipeline may populate the section below with arbitrary +# testing information, which post deploy can be retreived from the fuel master: +# /root/deploy-config.yaml +test: diff --git a/deploy/scenario/ha_vlan_heat_ceilometer_scenario_0.0.2.yaml b/deploy/scenario/ha_vlan_heat_ceilometer_scenario_0.0.2.yaml new file mode 100644 index 000000000..9691c7920 --- /dev/null +++ b/deploy/scenario/ha_vlan_heat_ceilometer_scenario_0.0.2.yaml @@ -0,0 +1,135 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# 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 +############################################################################## + +############################################################################### # Description: +# This .yaml configuration file defines the configuration of the fuel +# deployment and is passed as an argument to deploy.sh +# eg. deploy.sh -c https://artifact.opnfv.org/fuel/config +# This will make build.sh fetch this configuration file and configure the +# deployment accordingly. +# After the deployment, a copy of this file gets uploaded to fuel: +# /root/deploy-config.yaml, as well as the sha-1 sum of this file: +# /root/deploy-config.sha1 +############################################################################## + +############################################################################## +# deployment configuration meta-data +deployment-scenario-metadata: + title: OpenStack-only, HA deployment with VLAN segmentation + version: 0.0.2 + created: Jan 19 2016 + comment: Rebased to Fuel8 + +############################################################################## +# Stack extentions are opnfv added value features in form of a fuel-plugin +# plug-ins listed below will be enabled and configured according to the +# <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml +# It does so by copying the config file to the local plugin config directory +stack-extensions: + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + mode: ha + net_segment_type: vlan + name: opnfv-vlan-noha + wanted_release: Kilo on Ubuntu 14.04 + nodes: + - id: 1 + interfaces: interfaces_1 + role: controller + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: mongo,controller + transformations: transformations_1 + - id: 3 + interfaces: interfaces_1 + role: ceph-osd,controller + transformations: transformations_1 + - id: 4 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + - id: 5 + interfaces: interfaces_1 + role: ceph-osd,compute + transformations: transformations_1 + + settings: + editable: + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: true + weight: 40 + heat: + description: '' + label: '' + type: hidden + value: true + weight: 30 + metadata: + label: Additional Components + weight: 20 + storage: + ephemeral_ceph: + description: Configures Nova to store ephemeral volumes in RBD. This works + best if Ceph is enabled for volumes and images, too. Enables live migration + of all types of Ceph backed VMs (without this option, live migration will + only work with VMs launched from Cinder volumes). + label: Ceph RBD for ephemeral volumes (Nova) + type: checkbox + value: true + weight: 75 + images_ceph: + description: Configures Glance to use the Ceph RBD backend to store images. + If enabled, this option will prevent Swift from installing. + label: Ceph RBD for images (Glance) + restrictions: + - settings:storage.images_vcenter.value == true: Only one Glance backend could + be selected. + type: checkbox + value: true + weight: 30 + +dha-override-config: +# These overrides only take effect for virtual deployment scenarios + nodes: + - id: 1 + libvirtName: controller1 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 2 + libvirtName: controller2 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 3 + libvirtName: controller3 + libvirtTemplate: templates/virtual_environment/vms/controller.xml + - id: 4 + libvirtName: compute1 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 5 + libvirtName: compute2 + libvirtTemplate: templates/virtual_environment/vms/compute.xml + - id: 6 + libvirtName: fuel-master + libvirtTemplate: templates/virtual_environment/vms/fuel.xml + isFuel: yes + username: root + password: r00tme + +############################################################################## +# The verification pipeline may populate the section below with arbitrary +# testing information, which post deploy can be retreived from the fuel master: +# /root/deploy-config.yaml +test: diff --git a/deploy/scenario/scenario.yaml b/deploy/scenario/scenario.yaml index abde2e753..6090ef04a 100644 --- a/deploy/scenario/scenario.yaml +++ b/deploy/scenario/scenario.yaml @@ -29,43 +29,49 @@ ############################################################################## os-nosdn-nofeature-ha: - configfile: ha_heat_ceilometer_scenario_0.0.1.yaml + configfile: ha_heat_ceilometer_scenario_0.0.2.yaml os-nosdn-nofeature-noha: configfile: no-ha_heat_ceilometer_scenario_0.0.1.yaml os-nosdn-vlan-ha: - configfile: ha_vlan_heat_ceilometer_scenario_0.0.1.yaml + configfile: ha_vlan_heat_ceilometer_scenario_0.0.2.yaml os-nosdn-vlan-noha: configfile: no-ha_vlan_heat_ceilometer_scenario_0.0.1.yaml os-odl_l3-nofeature-ha: - configfile: ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml + configfile: ha_odl-l3_heat_ceilometer_scenario_0.0.2.yaml os-odl_l3-nofeature-noha: configfile: no-ha_odl-l3_heat_ceilometer_scenario_0.0.1.yaml os-odl_l2-nofeature-ha: - configfile: ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml + configfile: ha_odl-l2_heat_ceilometer_scenario_0.0.2.yaml os-odl_l2-nofeature-noha: configfile: no-ha_odl-l2_heat_ceilometer_scenario_0.0.1.yaml os-onos-nofeature-ha: - configfile: ha_onos_heat_ceilometer_scenario_0.0.1.yaml + configfile: ha_onos_heat_ceilometer_scenario_0.0.3.yaml os-onos-nofeature-noha: configfile: no-ha_onos_heat_ceilometer_scenario_0.0.1.yaml +os-onos-nofeature-ha-virtual: + configfile: ha_onos_heat_ceilometer_scenario_0.0.2.yaml + +os-onos-nofeature-noha-virtual: + configfile: no-ha_onos_heat_ceilometer_scenario_0.0.2.yaml + os-nosdn-kvm-ha: - configfile: ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml + configfile: ha_nfv-kvm_heat_ceilometer_scenario_0.0.2.yaml os-nosdn-kvm-noha: configfile: no-ha_nfv-kvm_heat_ceilometer_scenario_0.0.1.yaml os-nosdn-ovs-ha: - configfile: ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml + configfile: ha_nfv-ovs_heat_ceilometer_scenario_0.0.2.yaml os-nosdn-ovs-noha: configfile: no-ha_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml @@ -76,5 +82,8 @@ os-nosdn-kvm_ovs-ha: os-nosdn-kvm_ovs-noha: configfile: no-ha_nfv-kvm_nfv-ovs_heat_ceilometer_scenario_0.0.1.yaml +os-odl_l2-bgpvpn-ha: + configfile: ha_odl-l2_bgpvpn_scenario_0.0.1.yaml + os-odl_l2-bgpvpn-noha: configfile: no-ha_odl-l2_bgpvpn_scenario_0.0.1.yaml diff --git a/deploy/templates/ericsson/virtual_environment/noha/vms/compute.xml b/deploy/templates/ericsson/virtual_environment/noha/vms/compute.xml index fbef4bda7..063b23d98 100644 --- a/deploy/templates/ericsson/virtual_environment/noha/vms/compute.xml +++ b/deploy/templates/ericsson/virtual_environment/noha/vms/compute.xml @@ -57,19 +57,19 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel2'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel3'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel4'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/ericsson/virtual_environment/noha/vms/controller.xml b/deploy/templates/ericsson/virtual_environment/noha/vms/controller.xml index 3ff28218d..d30a95dcf 100644 --- a/deploy/templates/ericsson/virtual_environment/noha/vms/controller.xml +++ b/deploy/templates/ericsson/virtual_environment/noha/vms/controller.xml @@ -57,19 +57,19 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel2'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel3'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel4'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/ericsson/virtual_environment/noha/vms/fuel.xml b/deploy/templates/ericsson/virtual_environment/noha/vms/fuel.xml index 1a3286001..a693c96f9 100644 --- a/deploy/templates/ericsson/virtual_environment/noha/vms/fuel.xml +++ b/deploy/templates/ericsson/virtual_environment/noha/vms/fuel.xml @@ -67,7 +67,7 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/intel/virtual_environment/noha/vms/compute.xml b/deploy/templates/intel/virtual_environment/noha/vms/compute.xml index fbef4bda7..063b23d98 100644 --- a/deploy/templates/intel/virtual_environment/noha/vms/compute.xml +++ b/deploy/templates/intel/virtual_environment/noha/vms/compute.xml @@ -57,19 +57,19 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel2'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel3'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel4'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/intel/virtual_environment/noha/vms/controller.xml b/deploy/templates/intel/virtual_environment/noha/vms/controller.xml index 3ff28218d..d30a95dcf 100644 --- a/deploy/templates/intel/virtual_environment/noha/vms/controller.xml +++ b/deploy/templates/intel/virtual_environment/noha/vms/controller.xml @@ -57,19 +57,19 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel2'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel3'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel4'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/intel/virtual_environment/noha/vms/fuel.xml b/deploy/templates/intel/virtual_environment/noha/vms/fuel.xml index 1a3286001..a693c96f9 100644 --- a/deploy/templates/intel/virtual_environment/noha/vms/fuel.xml +++ b/deploy/templates/intel/virtual_environment/noha/vms/fuel.xml @@ -67,7 +67,7 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/virtual_environment/vms/compute.xml b/deploy/templates/virtual_environment/vms/compute.xml index cc60a2ad2..fa4ef5d8d 100644 --- a/deploy/templates/virtual_environment/vms/compute.xml +++ b/deploy/templates/virtual_environment/vms/compute.xml @@ -30,19 +30,19 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel2'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel3'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel4'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/virtual_environment/vms/controller.xml b/deploy/templates/virtual_environment/vms/controller.xml index 0a4b6937c..50950db17 100644 --- a/deploy/templates/virtual_environment/vms/controller.xml +++ b/deploy/templates/virtual_environment/vms/controller.xml @@ -30,19 +30,19 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel2'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel3'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel4'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/virtual_environment/vms/fuel.xml b/deploy/templates/virtual_environment/vms/fuel.xml index a9177f311..4e7c7fd2a 100644 --- a/deploy/templates/virtual_environment/vms/fuel.xml +++ b/deploy/templates/virtual_environment/vms/fuel.xml @@ -40,7 +40,7 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/virtual_environment_noha/vms/compute.xml b/deploy/templates/virtual_environment_noha/vms/compute.xml index cc60a2ad2..fa4ef5d8d 100644 --- a/deploy/templates/virtual_environment_noha/vms/compute.xml +++ b/deploy/templates/virtual_environment_noha/vms/compute.xml @@ -30,19 +30,19 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel2'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel3'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel4'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/virtual_environment_noha/vms/controller.xml b/deploy/templates/virtual_environment_noha/vms/controller.xml index 0a4b6937c..50950db17 100644 --- a/deploy/templates/virtual_environment_noha/vms/controller.xml +++ b/deploy/templates/virtual_environment_noha/vms/controller.xml @@ -30,19 +30,19 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel2'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel3'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <interface type='network'> <source network='fuel4'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/deploy/templates/virtual_environment_noha/vms/fuel.xml b/deploy/templates/virtual_environment_noha/vms/fuel.xml index a9177f311..4e7c7fd2a 100644 --- a/deploy/templates/virtual_environment_noha/vms/fuel.xml +++ b/deploy/templates/virtual_environment_noha/vms/fuel.xml @@ -40,7 +40,7 @@ <controller type='pci' index='0' model='pci-root'/> <interface type='network'> <source network='fuel1'/> - <model type='virtio'/> + <model type='e1000'/> </interface> <serial type='pty'> <target port='0'/> diff --git a/docs/build-instruction.rst b/docs/build-instruction.rst index b7b13c896..1bfc8bed6 100644 --- a/docs/build-instruction.rst +++ b/docs/build-instruction.rst @@ -41,6 +41,9 @@ Version history | | | (Ericsson AB) | for plugin build | | | | | selection | +--------------------+--------------------+--------------------+----------------------+ +| 2016-01-20 | 1.2.1 | Daniel Smith | Minor updates for | +| | | (Ericsson AB) | docker requirements | ++--------------------+--------------------+--------------------+----------------------+ Introduction ============ @@ -66,6 +69,8 @@ Minimum Hardware Requirements - An x86_64 host (Bare-metal or VM) with Ubuntu 14.04 LTS installed + - Note: Builds on Wily (Ubuntu 15.x) are not supportted currently + - ~30 GB available disc - 4 GB RAM @@ -77,9 +82,9 @@ The build host should run Ubuntu 14.04 operating system. On the host, the following packages must be installed: -- docker - see https://docs.docker.com/installation/ubuntulinux/ for +- docker - see https://docs.docker.com/engine/installation/ubuntulinux/ for installation notes for Ubuntu 14.04. Note: only use the Ubuntu stock - distro of Docker (docker.io) + distro of Docker (docker-engine). Tested against ver 1.9.x and greater - git (simply available through sudo apt-get install git) @@ -94,16 +99,17 @@ Setting up the Docker build container ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After having installed Docker, add yourself to the docker group: -<usermod -a -G docker [userid]> +<sudo usermod -a -G docker [userid]> Also make sure to define relevant DNS servers part of the global dns chain in -in your </etc/default/docker> configuration file, for example: +in your </etc/default/docker> configuration file. Uncomment, modify the values appropriately +and save and quit the file. For example: <DOCKER_OPTS=" --dns=8.8.8.8 --dns=8.8.8.4"> Then restart docker: -<sudo service docker.io restart> +<sudo service docker restart> Setting up OPNFV Gerrit in order to being able to clone the code ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/configguide/postinstall.rst b/docs/configguide/postinstall.rst new file mode 100644 index 000000000..1702cea5f --- /dev/null +++ b/docs/configguide/postinstall.rst @@ -0,0 +1,26 @@ +<Project> post installation procedures +====================================== +Add a brief introduction to the methods of validating the installation +according to this specific installer or feature. + +Automated post installation activities +-------------------------------------- +Describe specific post installation activities performed by the OPNFV +deployment pipeline including testing activities and reports. Refer to +the relevant testing guides, results, and release notes. + +note: this section should be singular and derived from the test projects +once we have one test suite to run for all deploy tools. This is not the +case yet so each deploy tool will need to provide (hopefully very simillar) +documentation of this. + +<Project> post configuration procedures +-------------------------------------- +Describe any deploy tool or feature specific scripts, tests or procedures +that should be carried out on the deployment post install and configuration +in this section. + +Platform components validation +--------------------------------- +Describe any component specific validation procedures necessary for your +deployment tool in this section. |