summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/config.mk6
-rwxr-xr-xbuild/docker/runcontext2
-rw-r--r--build/f_isoroot/f_odlpluginbuild/config.mk7
-rw-r--r--build/f_repos/Makefile13
-rw-r--r--build/f_repos/README.md27
-rw-r--r--deploy/config/plugins/fuel-odl_0.9.0.yaml4
-rw-r--r--deploy/templates/hardware_environment/vms/enea_lab/fuel.xml88
7 files changed, 134 insertions, 13 deletions
diff --git a/build/config.mk b/build/config.mk
index b9be44f0a..ab278589e 100644
--- a/build/config.mk
+++ b/build/config.mk
@@ -8,7 +8,11 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-# fuel-main tag checked out from upstream `fuel-main` repo before patching it
+# This tag is NOT checked out, it only serves a cosmetic purpose of hinting
+# what upstream Fuel components our submodules are bound to (while tracking
+# remotes, ALL submodules will point to remote branch HEAD).
+# NOTE: Pinning fuel-main or other submodules to a specific commit/tag is
+# done ONLY via git submodules.
FUEL_MAIN_TAG = 9.0.1
MOS_VERSION = 9.0
OPENSTACK_VERSION = mitaka-9.0
diff --git a/build/docker/runcontext b/build/docker/runcontext
index 2d1356275..b17571135 100755
--- a/build/docker/runcontext
+++ b/build/docker/runcontext
@@ -111,7 +111,9 @@ if [ -n "$CACHEBASE" ]; then
fi
fi
+# FIXME: TERM is required because: https://github.com/docker/docker/issues/9299
RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \
+ -e TERM=$TERM \
-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 \
diff --git a/build/f_isoroot/f_odlpluginbuild/config.mk b/build/f_isoroot/f_odlpluginbuild/config.mk
index 7074ee2e0..55facfe4f 100644
--- a/build/f_isoroot/f_odlpluginbuild/config.mk
+++ b/build/f_isoroot/f_odlpluginbuild/config.mk
@@ -8,9 +8,8 @@
##############################################################################
FUEL_PLUGIN_ODL_BRANCH ?= master
-FUEL_PLUGIN_ODL_CHANGE ?= 58cf41ff4e9ed928bf024b166776b9df1a2e517b
+FUEL_PLUGIN_ODL_CHANGE ?= 7281b0db9171e5aeda0c23ba655f086a909395a1
FUEL_PLUGIN_ODL_REPO ?= https://github.com/openstack/fuel-plugin-opendaylight.git
-export ODL_TARBALL_LOCATION?=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.4.3-Beryllium-SR3/distribution-karaf-0.4.3-Beryllium-SR3.tar.gz
-export ODL_VERSION_NUMBER?=0.4.3
-export ODL_BORON_TARBALL_LOCATION?=http://artifacts.opnfv.org/fuel/colorado/vendor/distribution-karaf-0.5.0-Boron-RC3.5.tar.gz
+export ODL_TARBALL_LOCATION?=https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz
+export ODL_VERSION_NUMBER?=0.5.0
diff --git a/build/f_repos/Makefile b/build/f_repos/Makefile
index 2d2d0bf40..b5eafff9b 100644
--- a/build/f_repos/Makefile
+++ b/build/f_repos/Makefile
@@ -9,7 +9,7 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-SHELL = /bin/bash
+SHELL = /bin/sh
REPOINFO = $(shell readlink -e ../repo_info.sh)
FREPODIR = $(shell pwd)
FPATCHES = $(shell find ${F_PATCH_DIR} -name '*.patch')
@@ -51,9 +51,9 @@ sub: .cachefuelinfo
.cachefuelinfo:
@if [ -n "${FUEL_TRACK_REMOTES}" ]; then \
- git submodule update --init --remote; \
+ git submodule update --init --remote 2>/dev/null; \
else \
- git submodule update --init; \
+ git submodule update --init 2>/dev/null; \
fi
@rm -f $@
@git submodule -q foreach '${REPOINFO} . >> ${FREPODIR}/$@'
@@ -69,8 +69,9 @@ patches-export: sub
mkdir -p $$SUB_DIR/$${SUB_FEATURE} && \
git format-patch --no-signature --ignore-space-at-eol \
-o $$SUB_DIR/$$SUB_FEATURE -N $$F_TAG-root..$$F_TAG; \
+ sed -i -e "1{/From: /!d}" -e "s/[[:space:]]*$$//" \
+ $$SUB_DIR/$$SUB_FEATURE/*.patch; \
done'
- @sed -i -e '1d' -e 's/[[:space:]]*$$//' ${FPATCHES}
# Apply patches from patch/* to respective submodules
# We rely on `make sub` and/or `make clean` to checkout correct base
@@ -100,9 +101,9 @@ patches-import: sub .cachepatched
# Clean any changes made to submodules, checkout upstream Fuel root commit
.PHONY: clean
clean:
- @git submodule -q foreach ' \
+ @cd ${F_GIT_ROOT} && git submodule -q foreach ' \
git am -q --abort > /dev/null 2>&1; \
- git checkout -q ${F_OPNFV_TAG}-root > /dev/null 2>&1; \
+ git checkout -q -f ${F_OPNFV_TAG}-root > /dev/null 2>&1; \
git branch -q -D opnfv-fuel > /dev/null 2>&1; \
git tag | grep ${F_OPNFV_TAG} | xargs git tag -d > /dev/null 2>&1; \
git reset -q --hard HEAD; \
diff --git a/build/f_repos/README.md b/build/f_repos/README.md
index 6cc825e05..0a52fe040 100644
--- a/build/f_repos/README.md
+++ b/build/f_repos/README.md
@@ -92,3 +92,30 @@ Sub-project maintenance
$ git submodule -b stable/mitaka add --name fuel-web \
https://github.com/openstack/fuel-web.git upstream/fuel-web
+
+2. Working with remote tracking for upgrading Fuel components
+ Enable remote tracking as described above, which at `make sub` will update
+ ALL submodules (fuel-main, fuel-library, ...) to remote branch (set in
+ .gitmodules) HEAD.
+
+ * If upstream has NOT already tagged a new version, we can still work on
+ our patches, make sure they apply etc., then check for new upstream
+ changes (and that our patches still apply on top of them) by:
+
+ $ make deepclean patches-import
+
+ * If upstream has already tagged a new version we want to pick up, checkout
+ the new tag in each submodule:
+
+ $ git submodule foreach 'git checkout <newtag>'
+
+ * Once satisfied with the patch and submodule changes, commit them:
+ - enforce FUEL_TRACK_REMOTES to "yes" if you want to constatly use the
+ latest remote branch HEAD (as soon as upstream pushes a change on that
+ branch, our next build will automatically include it - risk of our
+ patches colliding with new upstream changes);
+ - stage patch changes if any;
+ - if submodule tags have been updated (relevant when remote tracking is
+ disabled, i.e. we have a stable upstream baseline), add submodules:
+
+ $ make deepclean sub && git add -f sub/*
diff --git a/deploy/config/plugins/fuel-odl_0.9.0.yaml b/deploy/config/plugins/fuel-odl_0.9.0.yaml
index 6caf4834f..9646d021f 100644
--- a/deploy/config/plugins/fuel-odl_0.9.0.yaml
+++ b/deploy/config/plugins/fuel-odl_0.9.0.yaml
@@ -118,9 +118,9 @@ opendaylight:
vpn:
- odl-vpnservice-openstack
odl_deb: opendaylight
- experimental_odl_deb: opendaylight-boron
+ experimental_odl_deb: opendaylight-experimental
use_experimental_odl:
- - enable_sfc
+ - enable_bgpvpn
#plugin_id: Assigned during installation
plugin_version: 0.9.0
restrictions:
diff --git a/deploy/templates/hardware_environment/vms/enea_lab/fuel.xml b/deploy/templates/hardware_environment/vms/enea_lab/fuel.xml
new file mode 100644
index 000000000..15617f577
--- /dev/null
+++ b/deploy/templates/hardware_environment/vms/enea_lab/fuel.xml
@@ -0,0 +1,88 @@
+<domain type='kvm' id='1'>
+ <name>fuel</name>
+ <memory unit='KiB'>8290304</memory>
+ <currentMemory unit='KiB'>8290304</currentMemory>
+ <vcpu placement='static'>4</vcpu>
+ <resource>
+ <partition>/machine</partition>
+ </resource>
+ <os>
+ <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
+ <boot dev='cdrom'/>
+ <boot dev='hd'/>
+ <bootmenu enable='no'/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <cpu mode='host-model'>
+ <model fallback='allow'/>
+ </cpu>
+ <clock offset='utc'>
+ <timer name='rtc' tickpolicy='catchup'/>
+ <timer name='pit' tickpolicy='delay'/>
+ <timer name='hpet' present='no'/>
+ </clock>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <pm>
+ <suspend-to-mem enabled='no'/>
+ <suspend-to-disk enabled='no'/>
+ </pm>
+ <devices>
+ <emulator>/usr/libexec/qemu-kvm</emulator>
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='qcow2' cache='writeback'/>
+ <target dev='vda' bus='virtio'/>
+ </disk>
+ <disk type='block' device='cdrom'>
+ <driver name='qemu' type='raw'/>
+ <target dev='hdb' bus='ide'/>
+ <readonly/>
+ </disk>
+ <controller type='usb' index='0' model='ich9-ehci1'>
+ </controller>
+ <controller type='usb' index='0' model='ich9-uhci1'>
+ <master startport='0'/>
+ </controller>
+ <controller type='usb' index='0' model='ich9-uhci2'>
+ <master startport='2'/>
+ </controller>
+ <controller type='usb' index='0' model='ich9-uhci3'>
+ <master startport='4'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'>
+ </controller>
+ <controller type='ide' index='0'>
+ </controller>
+ <controller type='virtio-serial' index='0'>
+ </controller>
+ <interface type='bridge'>
+ <model type='virtio'/>
+ </interface>
+ <interface type='bridge'>
+ <model type='virtio'/>
+ </interface>
+ <serial type='pty'>
+ <source path='/dev/pts/0'/>
+ <target port='0'/>
+ </serial>
+ <console type='pty' tty='/dev/pts/0'>
+ <source path='/dev/pts/0'/>
+ <target type='serial' port='0'/>
+ </console>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <graphics type='vnc' port='5906' autoport='yes' listen='127.0.0.1'>
+ <listen type='address' address='127.0.0.1'/>
+ </graphics>
+ <video>
+ <model type='vga' vram='16384' heads='1'/>
+ </video>
+ <memballoon model='virtio'>
+ </memballoon>
+ </devices>
+</domain>