diff options
-rw-r--r-- | build/config.mk | 6 | ||||
-rwxr-xr-x | build/docker/runcontext | 2 | ||||
-rw-r--r-- | build/f_isoroot/f_odlpluginbuild/config.mk | 7 | ||||
-rw-r--r-- | build/f_repos/Makefile | 13 | ||||
-rw-r--r-- | build/f_repos/README.md | 27 | ||||
-rw-r--r-- | deploy/config/plugins/fuel-odl_0.9.0.yaml | 4 | ||||
-rw-r--r-- | deploy/templates/hardware_environment/vms/enea_lab/fuel.xml | 88 |
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> |