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