diff options
37 files changed, 769 insertions, 671 deletions
diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile index 41a555f6c..1bb56b795 100644 --- a/build/docker/Dockerfile +++ b/build/docker/Dockerfile @@ -17,9 +17,13 @@ ENV DEBIAN_FRONTEND noninteractive RUN apt-get update RUN apt-get install -y software-properties-common python-software-properties \ - make python-setuptools python-all dpkg-dev debhelper \ + make python-setuptools python-all dpkg-dev debhelper ruby-json \ fuseiso git genisoimage bind9-host wget curl lintian tmux lxc iptables \ - ca-certificates sudo apt-utils lsb-release dosfstools debmirror p7zip-full + ca-certificates sudo apt-utils lsb-release dosfstools debmirror p7zip-full \ + build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev + +RUN gem install fpm +RUN pip install fuel-plugin-builder 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 diff --git a/build/f_isoroot/Makefile b/build/f_isoroot/Makefile index de18ced7a..51b8f26fa 100644 --- a/build/f_isoroot/Makefile +++ b/build/f_isoroot/Makefile @@ -11,8 +11,8 @@ # 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 -#PLUGINS = f_odlpluginbuild f_onosfwpluginbuild f_ovsnfv-dpdk-pluginbuild f_vsperfpluginbuild f_qemupluginbuild f_ovs-nsh-dpdk-pluginbuild f_bgpvpn-pluginbuild +PLUGINS = f_odlpluginbuild f_onosfwpluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_yardstick-pluginbuild f_kvm-pluginbuild f_bgpvpn-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 24fa1785d..ed3be2971 100644 --- a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile +++ b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile @@ -35,9 +35,6 @@ release:.bgpvpnbuild .bgpvpnbuild: rm -rf fuel-plugin-bgpvpn - sudo apt-get -y install build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev - sudo gem install fpm - sudo pip install fuel-plugin-builder git clone $(BGPVPN_REPO) cd fuel-plugin-bgpvpn; \ git checkout $(BGPVPN_BRANCH); \ diff --git a/build/f_isoroot/f_bgpvpn-pluginbuild/config.mk b/build/f_isoroot/f_bgpvpn-pluginbuild/config.mk index a5f9ad966..dc2366939 100644 --- a/build/f_isoroot/f_bgpvpn-pluginbuild/config.mk +++ b/build/f_isoroot/f_bgpvpn-pluginbuild/config.mk @@ -7,6 +7,6 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -BGPVPN_BRANCH=master -BGPVPN_REPO="https://github.com/openstack/fuel-plugin-bgpvpn.git" -BGPVPN_CHANGE=fb8a9ad29f85bd0902db6701f31810aa8015a4fc +BGPVPN_BRANCH?=master +BGPVPN_REPO?="https://github.com/openstack/fuel-plugin-bgpvpn.git" +BGPVPN_CHANGE?=7279e0c4aa5f1cbbb5f2318e1cd97a1f23cccf51 diff --git a/build/f_isoroot/f_qemupluginbuild/Makefile b/build/f_isoroot/f_kvm-pluginbuild/Makefile index 2e3a34f7b..ba2fd0be0 100644 --- a/build/f_isoroot/f_qemupluginbuild/Makefile +++ b/build/f_isoroot/f_kvm-pluginbuild/Makefile @@ -18,37 +18,38 @@ include config.mk ############################################################################# .PHONY: all -all: .qemubuild +all: .kvmbuild .PHONY: clean clean: - @rm -f .qemubuild ../release/opnfv/fuel-plugin-qemu*.rpm fuel-plugin-qemu*.rpm - @rm -f $(BUILD_BASE)/gitinfo_qemu-plugin.txt gitinfo_qemu-plugin.txt + @rm -f .kvmbuild ../release/opnfv/fuel-plugin-kvm*.rpm fuel-plugin-kvm*.rpm + @rm -f $(BUILD_BASE)/gitinfo_kvm-plugin.txt gitinfo_kvm-plugin.txt .PHONY: release -release:.qemubuild - @rm -f ../release/opnfv/fuel-plugin-qemu*.rpm +release:.kvmbuild + @rm -f ../release/opnfv/fuel-plugin-kvm*.rpm @mkdir -p ../release/opnfv - @cp fuel-plugin-qemu*.rpm ../release/opnfv/ - cp gitinfo_qemu-plugin.txt $(BUILD_BASE) + @cp fuel-plugin-kvm*.rpm ../release/opnfv/ + cp gitinfo_kvm-plugin.txt $(BUILD_BASE) -.qemubuild: - @rm -rf fuel-plugin-qemu - sudo apt-get -y install build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev - sudo pip install fuel-plugin-builder +.kvmbuild: + # fix me + @sudo rm -rf kvmfornfv ../../docker/ubuntu-builder/install_docker.sh - git clone $(QEMU_REPO) - cd fuel-plugin-qemu; \ - git checkout $(QEMU_BRANCH); \ - if [ ! -z $(QEMU_CHANGE) ]; then \ - git fetch $(QEMU_REPO) $(QEMU_CHANGE); \ + git clone $(KVMFORNFV_REPO) + cd kvmfornfv; \ + git checkout $(KVMFORNFV_BRANCH); \ + if [ ! -z $(KVMFORNFV_CHANGE) ]; then \ + git fetch $(KVMFORNFV_REPO) $(KVMFORNFV_CHANGE); \ git checkout FETCH_HEAD; \ fi - INCLUDE_DEPENDENCIES=true fpb --debug --build fuel-plugin-qemu/ - @mv fuel-plugin-qemu/fuel-plugin-qemu*.rpm . - $(REPOINFO) -r . > gitinfo_qemu-plugin.txt - @rm -rf fuel-plugin-qemu - @touch .qemubuild + cd kvmfornfv/fuel-plugin; \ + INCLUDE_DEPENDENCIES=true fpb --debug --build ./ + @mv kvmfornfv/fuel-plugin/fuel-plugin-kvm*.rpm . + $(REPOINFO) -r . > gitinfo_kvm-plugin.txt + # fix me + @sudo rm -rf kvmfornfv + @touch .kvmbuild # 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 @@ -59,13 +60,13 @@ release:.qemubuild # Create a unique hash to be used for getting and putting cache, based on: -# - The SHA1 hash of the HEAD on the plugin repo's $(QEMU_BRANCH) +# - The SHA1 hash of the HEAD on the plugin repo's $(KVMFORNFV_BRANCH) # - The contents of this Makefile .cacheid: - @if [ ! -z $(QEMU_CHANGE) ]; then \ - $(CACHETOOL) getcommitid $(QEMU_REPO) $(QEMU_CHANGE) > .cachedata; \ + @if [ ! -z $(KVMFORNFV_CHANGE) ]; then \ + $(CACHETOOL) getcommitid $(KVMFORNFV_REPO) $(KVMFORNFV_CHANGE) > .cachedata; \ else \ - $(CACHETOOL) getcommitid $(QEMU_REPO) $(QEMU_BRANCH) > .cachedata; \ + $(CACHETOOL) getcommitid $(KVMFORNFV_REPO) $(KVMFORNFV_BRANCH) > .cachedata; \ fi @sha1sum Makefile | awk {'print $$1'} >> .cachedata @sha1sum config.mk | awk {'print $$1'} >> .cachedata @@ -89,4 +90,4 @@ get-cache: .cacheid # Store cache if not already stored - called after ordinary build .PHONY: put-cache put-cache: .cacheid - @tar cf - .qemubuild fuel-plugin-qemu*.rpm gitinfo_qemu-plugin.txt | $(CACHETOOL) put $(shell cat .cacheid) + @tar cf - .kvmbuild fuel-plugin-kvm*.rpm gitinfo_kvm-plugin.txt | $(CACHETOOL) put $(shell cat .cacheid) diff --git a/build/f_isoroot/f_qemupluginbuild/config.mk b/build/f_isoroot/f_kvm-pluginbuild/config.mk index 0b846547e..b608adee0 100644 --- a/build/f_isoroot/f_qemupluginbuild/config.mk +++ b/build/f_isoroot/f_kvm-pluginbuild/config.mk @@ -7,6 +7,6 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -QEMU_BRANCH=c35ce3377bcf382a4e36f1df49758100cd2910b1 -QEMU_REPO=https://review.openstack.org/openstack/fuel-plugin-qemu -QEMU_CHANGE= +KVMFORNFV_BRANCH=c715b6029fd5b4eaf323f5efde4ec5db5ba0a9b4 +KVMFORNFV_REPO=https://gerrit.opnfv.org/gerrit/kvmfornfv +KVMFORNFV_CHANGE= diff --git a/build/f_isoroot/f_odlpluginbuild/Makefile b/build/f_isoroot/f_odlpluginbuild/Makefile index c5978ded0..e2cbf7d46 100644 --- a/build/f_isoroot/f_odlpluginbuild/Makefile +++ b/build/f_isoroot/f_odlpluginbuild/Makefile @@ -28,16 +28,6 @@ release:.odlbuild cp gitinfo_odlplugin.txt $(BUILD_BASE) .odlbuild: rm -rf fuel-plugin-opendaylight - sudo apt-get -y install build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev - sudo gem install fpm - #Temporary fpb needs to be build from sources - git clone -b $(FPB_BRANCH) $(FPB_REPO) - cd fuel-plugins; \ - if [ -n $(FPB_CHANGE) ]; then \ - git checkout $(FPB_CHANGE); \ - python setup.py sdist; \ - sudo pip install ./dist/fuel-plugin-builder-*.tar.gz; \ - fi git clone -b $(ODL_BRANCH) $(ODL_REPO) cd fuel-plugin-opendaylight; \ if [ -n $(ODL_CHANGE) ]; then \ diff --git a/build/f_isoroot/f_odlpluginbuild/config.mk b/build/f_isoroot/f_odlpluginbuild/config.mk index 876998cd9..8ad823dfb 100644 --- a/build/f_isoroot/f_odlpluginbuild/config.mk +++ b/build/f_isoroot/f_odlpluginbuild/config.mk @@ -8,14 +8,9 @@ ############################################################################## ODL_BRANCH ?= master -ODL_CHANGE ?= 1c8443ffc64af120337740551307378d1c21535d +ODL_CHANGE ?= 5d80efce6d0b1d242489ec2897cf20f51dd5fcb1 ODL_REPO ?= https://github.com/openstack/fuel-plugin-opendaylight.git -FPB_BRANCH ?= master -FPB_CHANGE ?= 82191ca16b40021e445e854fad37c65cd8e70b0c -FPB_REPO ?= https://github.com/openstack/fuel-plugins - -export USE_JAVA8?=true -export JAVA8_URL?=https://launchpad.net/~openjdk-r/+archive/ubuntu/ppa/+files/openjdk-8-jre-headless_8u72-b15-1~trusty1_amd64.deb export ODL_TARBALL_LOCATION?=https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.4.2-Beryllium-SR2/distribution-karaf-0.4.2-Beryllium-SR2.tar.gz export ODL_VERSION_NUMBER?=0.4.2 +export ODL_BORON_TARBALL_LOCATION?=https://nexus.opendaylight.org/content/repositories/staging/org/opendaylight/integration/distribution-karaf/0.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz diff --git a/build/f_isoroot/f_onosfwpluginbuild/Makefile b/build/f_isoroot/f_onosfwpluginbuild/Makefile index 355292d6d..a9dcb2200 100644 --- a/build/f_isoroot/f_onosfwpluginbuild/Makefile +++ b/build/f_isoroot/f_onosfwpluginbuild/Makefile @@ -34,8 +34,6 @@ release:.onosbuild .onosbuild: @rm -rf fuel-plugin-onos - sudo apt-get -y install build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev - sudo pip install fuel-plugin-builder git clone $(ONOS_REPO) cd fuel-plugin-onos; \ git checkout $(ONOS_BRANCH); \ diff --git a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile index 5e38b4c53..ecf586a76 100644 --- a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile +++ b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile @@ -34,8 +34,6 @@ release:.ovsbuild .ovsbuild: @rm -rf fuel-plugin-ovs - sudo apt-get -y install build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev - sudo pip install fuel-plugin-builder ../../docker/ubuntu-builder/install_docker.sh git clone $(OVS_NSH_DPDK_REPO) cd fuel-plugin-ovs; \ diff --git a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk index 819379ed6..4dc65fede 100644 --- a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk +++ b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/config.mk @@ -7,6 +7,6 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -OVS_NSH_DPDK_BRANCH=bee1b2b540922f0a1439d3b878480da590f506d8 -OVS_NSH_DPDK_REPO=https://review.openstack.org/openstack/fuel-plugin-ovs -OVS_NSH_DPDK_CHANGE= +OVS_NSH_DPDK_BRANCH?=6f5f62221049d130ad190030a36db3147d6deb10 +OVS_NSH_DPDK_REPO?=https://review.openstack.org/openstack/fuel-plugin-ovs +OVS_NSH_DPDK_CHANGE?= diff --git a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile index 4ca5236a0..9e432d146 100644 --- a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile +++ b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile @@ -34,8 +34,6 @@ release:.ovsnfvbuild .ovsnfvbuild: @rm -rf ovsnfv - sudo apt-get -y install build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev - sudo pip install fuel-plugin-builder git clone $(OVSNFV_DPDK_REPO) ovsnfv cd ovsnfv; \ git checkout $(OVSNFV_DPDK_BRANCH); \ diff --git a/build/f_isoroot/f_repobuild/Makefile b/build/f_isoroot/f_repobuild/Makefile index 4bb04ca07..cbf81fe4e 100644 --- a/build/f_isoroot/f_repobuild/Makefile +++ b/build/f_isoroot/f_repobuild/Makefile @@ -13,7 +13,9 @@ TOP := $(shell pwd) TMP_ROOT_DIR := $(shell echo "$(MIRROR_UBUNTU_ROOT)" | cut -d "/" -f2) # Enable use of exact repo commit if defined, else use Fuel main branch FUEL_MIRROR_REPO?=https://github.com/openstack/fuel-mirror -FUEL_MIRROR_COMMIT?=$(FUEL_MAIN_TAG) +# Point to the commit where 302 redirects are handled +# https://bugs.launchpad.net/fuel/mitaka/+bug/1593674 +FUEL_MIRROR_COMMIT?=192a3d9f8f993afb12c5108dd9339c6688c23e11 #$(FUEL_MAIN_TAG) include ../../config.mk diff --git a/build/f_isoroot/f_vsperfpluginbuild/Makefile b/build/f_isoroot/f_vsperfpluginbuild/Makefile index d713882fe..9bd236a8d 100644 --- a/build/f_isoroot/f_vsperfpluginbuild/Makefile +++ b/build/f_isoroot/f_vsperfpluginbuild/Makefile @@ -34,8 +34,6 @@ release:.vsperfbuild .vsperfbuild: @rm -rf vswitchperf - sudo apt-get -y install build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev - sudo pip install fuel-plugin-builder ../../docker/ubuntu-builder/install_docker.sh git clone $(VSPERF_REPO) vswitchperf cd vswitchperf; \ diff --git a/build/f_isoroot/f_vsperfpluginbuild/config.mk b/build/f_isoroot/f_vsperfpluginbuild/config.mk index 1bf1ef0b5..576018dcf 100644 --- a/build/f_isoroot/f_vsperfpluginbuild/config.mk +++ b/build/f_isoroot/f_vsperfpluginbuild/config.mk @@ -7,6 +7,6 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -VSPERF_BRANCH=5e3b6ae0427963520357453728411327ac8efafe -VSPERF_REPO=https://gerrit.opnfv.org/gerrit/vswitchperf.git -VSPERF_CHANGE= +VSPERF_BRANCH?=5e3b6ae0427963520357453728411327ac8efafe +VSPERF_REPO?=https://gerrit.opnfv.org/gerrit/vswitchperf.git +VSPERF_CHANGE?= diff --git a/build/f_isoroot/f_yardstick-pluginbuild/Makefile b/build/f_isoroot/f_yardstick-pluginbuild/Makefile new file mode 100644 index 000000000..47723d53e --- /dev/null +++ b/build/f_isoroot/f_yardstick-pluginbuild/Makefile @@ -0,0 +1,91 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# jonas.bjurel@eicsson.com +# ruijing.guo@intel.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) + +############################################################################ +# BEGIN of Include definitions +# +include config.mk +# +# END Include definitions +############################################################################# + +.PHONY: all +all: .yardstickbuild + +.PHONY: clean +clean: + @rm -f .yardstickbuild ../release/opnfv/fuel-plugin-yardstick*.rpm fuel-plugin-yardstick*.rpm + @rm -f $(BUILD_BASE)/gitinfo_yardstick-plugin.txt gitinfo_yardstick-plugin.txt + +.PHONY: release +release:.yardstickbuild + @rm -f ../release/opnfv/fuel-plugin-yardstick*.rpm + @mkdir -p ../release/opnfv + @cp fuel-plugin-yardstick*.rpm ../release/opnfv/ + cp gitinfo_yardstick-plugin.txt $(BUILD_BASE) + +.yardstickbuild: + @rm -rf yardstick + git clone $(YARDSTICK_REPO) yardstick + cd yardstick; \ + git checkout $(YARDSTICK_BRANCH); \ + if [ ! -z $(YARDSTICK_CHANGE) ]; then \ + git fetch $(YARDSTICK_REPO) $(YARDSTICK_CHANGE); \ + git checkout FETCH_HEAD; \ + fi + cd yardstick; \ + INCLUDE_DEPENDENCIES=true fpb --debug --build fuel-plugin/ + @mv yardstick/fuel-plugin/fuel-plugin-yardstick*.rpm . + $(REPOINFO) -r . > gitinfo_yardstick-plugin.txt + @rm -rf fuel-plugin-yardstick + @touch .yardstickbuild + # 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 +############################################################################# + + +# Create a unique hash to be used for getting and putting cache, based on: +# - The SHA1 hash of the HEAD on the plugin repo's $(YARDSTICK_BRANCH) +# - The contents of this Makefile +.cacheid: + @if [ ! -z $(YARDSTICK_CHANGE) ]; then \ + $(CACHETOOL) getcommitid $(YARDSTICK_REPO) $(YARDSTICK_CHANGE) > .cachedata; \ + else \ + $(CACHETOOL) getcommitid $(YARDSTICK_REPO) $(YARDSTICK_BRANCH) > .cachedata; \ + fi + @sha1sum Makefile | awk {'print $$1'} >> .cachedata + @sha1sum config.mk | awk {'print $$1'} >> .cachedata + @cat .cachedata | $(CACHETOOL) getid > .cacheid + +# Clean local data related to caching - called prior to ordinary build +.PHONY: clean-cache +clean-cache: clean + @rm -f .cachedata .cacheid + +# Try to download cache - called prior to ordinary build +.PHONY: get-cache +get-cache: .cacheid + @if $(CACHETOOL) check $(shell cat .cacheid); then \ + $(CACHETOOL) get $(shell cat .cacheid) | tar xf -;\ + else \ + echo "No cache item found for $(shell cat .cacheid)" ;\ + exit 0;\ + fi + +# Store cache if not already stored - called after ordinary build +.PHONY: put-cache +put-cache: .cacheid + @tar cf - .yardstickbuild fuel-plugin-yardstick*.rpm gitinfo_yardstick-plugin.txt | $(CACHETOOL) put $(shell cat .cacheid) diff --git a/build/f_isoroot/f_yardstick-pluginbuild/config.mk b/build/f_isoroot/f_yardstick-pluginbuild/config.mk new file mode 100644 index 000000000..f671aa997 --- /dev/null +++ b/build/f_isoroot/f_yardstick-pluginbuild/config.mk @@ -0,0 +1,13 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# jonas.bjurel@eicsson.com +# ruijing.guo@intel.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 +############################################################################## + +YARDSTICK_BRANCH?=675eef731a098f83aa98c2021b151b7e5ba1da7d +YARDSTICK_REPO?=https://gerrit.opnfv.org/gerrit/yardstick.git +YARDSTICK_CHANGE?= diff --git a/build/vagrant/README.rst b/build/vagrant/README.rst new file mode 100644 index 000000000..7db098dfa --- /dev/null +++ b/build/vagrant/README.rst @@ -0,0 +1,39 @@ +================================= +Fuel@OPNFV Build Based on Vagrant +================================= + +License +======= + +This work is licensed under a Creative Commons Attribution 4.0 +International License. .. http://creativecommons.org/licenses/by/4.0 .. +(c) Ruijing Guo (Intel) and others + + +Abstract +======== + +This document describes how to build fuel iso based on vagrant. +The build is to follow fuel/docs/build-instruction.rst. + +Note +==== + +Vagrant based build is not official build. The target user is fuel@opnfv +developer. + +How to Build +============ + +run ./build_fuel.sh + + +Vagrantfile +=========== + +you can change memory & cpus to fit your enviorments. + +setup_fuel.sh +============= + +The script is run in VM and follow fuel/docs/build-instruction.rst. diff --git a/build/vagrant/Vagrantfile b/build/vagrant/Vagrantfile new file mode 100644 index 000000000..0fbadf2ae --- /dev/null +++ b/build/vagrant/Vagrantfile @@ -0,0 +1,23 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + + config.vm.box = "trusty-server-cloudimg-amd64" + config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box" + + config.vm.define "fuel" do | h | + h.vm.host_name = "fuel" + h.vm.synced_folder "../..", "/fuel" + h.vm.provider :virtualbox do |v| + v.customize ["modifyvm", :id, "--memory", 8192] + v.customize ["modifyvm", :id, "--cpus", 8] + file_to_disk = 'large_disk.vdi' + v.customize ['createhd', '--filename', file_to_disk, '--size', 512 * 1024] + v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', file_to_disk ] + end + end +end diff --git a/build/vagrant/build_fuel.sh b/build/vagrant/build_fuel.sh new file mode 100755 index 000000000..051ee4dfd --- /dev/null +++ b/build/vagrant/build_fuel.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +sudo apt-get update +sudo apt-get install -y vagrant virtualbox +vagrant destroy -f; vagrant up +vagrant ssh -c "sudo apt-get update; sudo apt-get install -y linux-generic-lts-vivid" +vagrant reload +vagrant ssh -c "/vagrant/setup_fuel.sh" +vagrant ssh -c "cd fuel/build; make; cp fuel*.iso /vagrant" diff --git a/build/vagrant/setup_fuel.sh b/build/vagrant/setup_fuel.sh new file mode 100755 index 000000000..b4d7651f9 --- /dev/null +++ b/build/vagrant/setup_fuel.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +sudo apt-get install -y git git-review make curl p7zip-full + +#install docker by https://docs.docker.com/engine/installation/linux/ubuntulinux/ +#sudo apt-get install linux-image-extra-$(uname -r) +sudo apt-get install -y apt-transport-https ca-certificates +sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + +cat << EOF | sudo tee /etc/apt/sources.list.d/docker.list +deb https://apt.dockerproject.org/repo ubuntu-trusty main +EOF +sudo apt-get update +sudo apt-get purge lxc-docker -y + +#workaroud for large disk +sudo mkdir /var/lib/docker +yes | sudo mkfs.ext4 /dev/sdb +sudo mount /dev/sdb /var/lib/docker + +sudo apt-cache policy docker-engine +sudo apt-get install -y docker-engine +sudo service docker start +sudo groupadd docker +sudo usermod -aG docker vagrant +cp -r /fuel /home/vagrant diff --git a/deploy/config/plugins/fuel-bgpvpn_0.9.0.yaml b/deploy/config/plugins/fuel-bgpvpn_0.9.0.yaml new file mode 100644 index 000000000..bbdefaf6e --- /dev/null +++ b/deploy/config/plugins/fuel-bgpvpn_0.9.0.yaml @@ -0,0 +1,22 @@ +plugin-config-metadata: + title: BGPVPN fuel Plugin configuration template + version: 0.9.0 + created: 29.06.2016 + comment: None + +bgpvpn: + metadata: + class: plugin + default: false + enabled: true + label: BGPVPN plugin + toggleable: true + versions: + - metadata: + always_editable: false + label: BGPVPN plugin + plugin_version: 0.9.0 + restrictions: + - cluster:net_provider != 'neutron': Only neutron is supported by BGPVPN-plugin + weight: 90 + weight: 70 diff --git a/deploy/config/plugins/fuel-nshovs_0.9.0.yaml b/deploy/config/plugins/fuel-nshovs_0.9.0.yaml new file mode 100644 index 000000000..b5caae039 --- /dev/null +++ b/deploy/config/plugins/fuel-nshovs_0.9.0.yaml @@ -0,0 +1,37 @@ +############################################################################## +# 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 +############################################################################## + +plugin-config-metadata: + title: NSHOVS fuel Plugin configuration template + version: 0.2 + created: Jun 30 2016 + comment: None + +fuel-plugin-ovs: + metadata: + #chosen_id: Choosen at install time + class: plugin + default: false + enabled: true + label: Openvswitch with NSH support + toggleable: true + versions: + - install_dpdk: + type: "checkbox" + weight: 20 + value: false + label: "Install DPDK" + install_nsh: + type: "checkbox" + weight: 20 + value: false + label: "Install NSH" + metadata: + plugin_version: 0.9.0 + weight: 70 diff --git a/deploy/config/plugins/fuel-odl_0.9.0.yaml b/deploy/config/plugins/fuel-odl_0.9.0.yaml new file mode 100644 index 000000000..90a64949c --- /dev/null +++ b/deploy/config/plugins/fuel-odl_0.9.0.yaml @@ -0,0 +1,159 @@ +############################################################################## +# 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 +############################################################################## + +plugin-config-metadata: + title: OpenDaylight fuel Plugin configuration template + version: 0.4 + created: 30.06.2016 + comment: Add new field for boron version +opendaylight: + metadata: + #chosen_id: Assigned during installation + class: plugin + default: false + enabled: true + label: OpenDaylight plugin + toggleable: true + versions: + - bgpvpn_gateway: + description: Define the default gateway for BGPVPN + label: Default Gateway + regex: + error: Invalid ip number + source: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + restrictions: + - settings:opendaylight.enable_bgpvpn.value == false: Only needed if BGPVPN + is enabled. + type: text + value: 0.0.0.0 + weight: 50 + enable_bgpvpn: + description: 'This enables the bgpvpn extension of neutron togethere with + the corresponding sdnvpn features in odl. This feature will disable the + standart ovsdb feature from ODL. + + ' + label: BGPVPN extensions + restrictions: + - condition: settings:bgpvpn == null or settings:bgpvpn.metadata.enabled + == false + message: BGPVPN (fuel-plugin-bgpvpn) plugin must be installed and enabled. + strict: false + - networking_parameters:segmentation_type == 'vlan': This feature works + only with segmentation_type != vlan + type: checkbox + value: false + weight: 40 + 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: false + weight: 10 + enable_sfc: + label: SFC features + type: checkbox + value: false + weight: 20 + sfc_class: + description: 'Classifier determines what traffic needs to be chained based + on policy based on yang model. The OpenDayLight actually supports the + OVSDB NetVirt and the GBP classifier in case of SFC. + + ' + label: Classifier used by SFC + restrictions: + - action: hide + condition: settings:opendaylight.enable_sfc.value == false + type: select + value: ncr + values: + - data: ncr + label: NetVirt + - data: gcr + label: GBP + weight: 21 + package_name: + description: 'Plugin can be build with dedicated package for SFC. Before + choosing opendaylight-boron ensure that plugin include this package. + + ' + label: Name of opendaylight deb package + restrictions: + - action: hide + condition: settings:opendaylight.enable_sfc.value == false + type: select + value: opendaylight + values: + - data: opendaylight + label: opendaylight + - data: opendaylight-boron + label: opendaylight-boron + weight: 22 + metadata: + default_credentials: + password: admin + user: admin + hot_pluggable: false + jetty_port: 8181 + odl_features: + default: + - config + - standard + - region + - package + - kar + - ssh + - management + gcr: + - odl-groupbasedpolicy-ovssfc + ncr: + - odl-ovsdb-sfc + - odl-ovsdb-sfc-rest + odl-default: + - odl-restconf-all + - odl-aaa-authn + - odl-dlux-all + ovs: + - odl-ovsdb-openstack + sfc: + - odl-sfc-model + - odl-sfc-provider + - odl-sfc-provider-rest + - odl-sfc-sb-rest + - odl-sfc-ui + - odl-sfc-netconf + - odl-sfc-ovs + - odl-sfcofl2 + vpn: + - odl-vpnservice-openstack + #plugin_id: Assigned during installation + plugin_version: 0.9.0 + restrictions: + - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight + odl_v2: + description: V2 version is considered as experimental + label: Use V2 ML2 driver + type: checkbox + value: true + weight: 60 + 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: 70 + weight: 70 diff --git a/deploy/dha_adapters/zte_adapter.py b/deploy/dha_adapters/zte_adapter.py index 1e610ca41..a40a02685 100644 --- a/deploy/dha_adapters/zte_adapter.py +++ b/deploy/dha_adapters/zte_adapter.py @@ -20,8 +20,8 @@ from common import ( class ZteAdapter(IpmiAdapter): - def __init__(self, yaml_path): - super(ZteAdapter, self).__init__(yaml_path) + def __init__(self, yaml_path, attempts=100): + super(ZteAdapter, self).__init__(yaml_path, attempts) def node_reset(self, node_id): WAIT_LOOP = 600 diff --git a/deploy/scenario/ha_odl-bgpvpn_scenario.yaml b/deploy/scenario/ha_odl-bgpvpn_scenario.yaml index c0343a617..2257cbb70 100644 --- a/deploy/scenario/ha_odl-bgpvpn_scenario.yaml +++ b/deploy/scenario/ha_odl-bgpvpn_scenario.yaml @@ -22,9 +22,9 @@ # deployment configuration meta-data deployment-scenario-metadata: title: ODL HA BGPVPN deployment - version: 0.0.1 - created: 04.03.2016 - comment: Fuel ODL HA with BGPVPN, Ceph, Ceilometer and Heat Rebased for Fuel8 + version: 0.9.0 + created: 29.06.2016 + comment: Fuel ODL HA with BGPVPN, Ceph, Ceilometer and Heat Rebased for Fuel9 ############################################################################## # Stack extentions are opnfv added value features in form of a fuel-plugin @@ -34,22 +34,22 @@ deployment-scenario-metadata: stack-extensions: - module: opendaylight module-config-name: fuel-odl - module-config-version: 0.0.3 + module-config-version: 0.9.0 module-config-override: metadata: versions: - enable_bgpvpn: value: true metadata: - plugin_version: 0.8.1 + plugin_version: 0.9.0 - module: bgpvpn module-config-name: fuel-bgpvpn - module-config-version: 0.0.3 + module-config-version: 0.9.0 - module: fuel-plugin-ovs module-config-name: fuel-nshovs - module-config-version: 0.0.1 + module-config-version: 0.9.0 ############################################################################## # By editing the override-config sections below, you can override arbitrary diff --git a/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario.yaml b/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario.yaml index 06b04af73..0d16a3d65 100644 --- a/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario.yaml +++ b/deploy/scenario/ha_odl-l2_heat_ceilometer_scenario.yaml @@ -32,6 +32,10 @@ deployment-scenario-metadata: # <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.9.0 + module-config-override: # Note that the module substitionion does not support arrays # This is a quick fix # - module: opendaylight @@ -73,131 +77,6 @@ dea-override-config: interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 - settings: - editable: - opendaylight: - metadata: - # chosen_id: Assigned during installation - class: plugin - default: false - enabled: true - label: OpenDaylight plugin - toggleable: true - versions: - - bgpvpn_gateway: - description: Define the default gateway for BGPVPN - label: Default Gateway - regex: - error: Invalid ip number - source: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ - restrictions: - - settings:opendaylight.enable_bgpvpn.value == false: Only needed if BGPVPN - is enabled. - type: text - value: 0.0.0.0 - weight: 16 - enable_bgpvpn: - description: 'This enables the bgpvpn extension of neutron togethere with - the corresponding sdnvpn features in odl. This feature will disable the - standart ovsdb feature from ODL. - - ' - label: BGPVPN extensions - type: checkbox - value: false - weight: 15 - 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: false - weight: 12 - enable_sfc: - label: SFC features - type: checkbox - value: false - weight: 13 - metadata: - default_credentials: - password: admin - user: admin - hot_pluggable: false - jetty_port: 8181 - odl_features: - cluster: - - odl-jolokia - default: - - config - - standard - - region - - package - - kar - - ssh - - management - gcr: - - odl-groupbasedpolicy-ovssfc - ncr: - - odl-ovsdb-sfc - - odl-ovsdb-sfc-rest - odl-default: - - odl-restconf-all - - odl-aaa-authn - - odl-dlux-all - ovs: - - odl-ovsdb-openstack - sfc: - - odl-sfc-model - - odl-sfc-provider - - odl-sfc-provider-rest - - odl-sfc-sb-rest - - odl-sfc-ui - - odl-sfc-netconf - - odl-sfc-ovs - - odl-sfcofl2 - vpn: - - odl-vpnservice-openstack - # plugin_id: Assigned during installation - plugin_version: 0.9.0 - restrictions: - - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight - odl_v2: - description: V2 version is considered as experimental - label: Use V2 ML2 driver - type: checkbox - value: false - weight: 17 - 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 - sfc_class: - description: 'Classifier determines what traffic needs to be chained based - on policy based on yang model. The OpenDayLight actually supports the - OVSDB NetVirt and the GBP classifier in case of SFC. - - ' - label: Classifier used by SFC - restrictions: - - action: hide - condition: settings:opendaylight.enable_sfc.value == false - type: select - value: ncr - values: - - data: ncr - label: NetVirt - - data: gcr - label: GBP - weight: 14 - weight: 70 dha-override-config: nodes: diff --git a/deploy/scenario/ha_odl-l2_sfc_heat_ceilometer_scenario.yaml b/deploy/scenario/ha_odl-l2_sfc_heat_ceilometer_scenario.yaml index 70b91e71e..1fb451721 100644 --- a/deploy/scenario/ha_odl-l2_sfc_heat_ceilometer_scenario.yaml +++ b/deploy/scenario/ha_odl-l2_sfc_heat_ceilometer_scenario.yaml @@ -24,7 +24,7 @@ deployment-scenario-metadata: title: ODL-L2 SFC HA deployment version: 0.0.1 created: Feb 10 2016 - comment: Rebased to Fuel8 + comment: Rebased to Fuel9 ############################################################################## # Stack extentions are opnfv added value features in form of a fuel-plugin @@ -32,10 +32,28 @@ deployment-scenario-metadata: # <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: nsh-ovs + - module: fuel-plugin-ovs module-config-name: fuel-nshovs - module-config-version: 0.0.1 + module-config-version: 0.9.0 module-config-override: + metadata: + versions: + - install_nsh: + value: true + metadata: + plugin_version: 0.9.0 + - module: opendaylight + module-config-name: fuel-odl + module-config-version: 0.9.0 + module-config-override: + metadata: + versions: + - enable_sfc: + value: true + package_name: + value: opendaylight-boron + metadata: + plugin_version: 0.9.0 # Note that the module substitionion does not support arrays # This is a quick fix # - module: opendaylight @@ -77,86 +95,6 @@ dea-override-config: interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 - settings: - editable: - opendaylight: - metadata: - # chosen_id: Assigned during installation - class: plugin - default: false - enabled: true - label: OpenDaylight plugin - toggleable: true - versions: - - enable_gbp: - label: GBP features - type: checkbox - value: true - 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: false - weight: 12 - enable_sfc: - label: SFC features - type: checkbox - value: true - weight: 13 - metadata: - always_editable: false - odl_features: - default: - - config - - standard - - region - - package - - kar - - ssh - - management - - odl-restconf-all - gbp: - - odl-groupbasedpolicy-neutronmapper - - odl-groupbasedpolicy-ofoverlay - ovs: - - odl-ovsdb-openstack - - odl-restconf-all - - odl-aaa-authn - - odl-dlux-all - sfc: - - odl-sfc-model - - odl-sfc-provider - - odl-sfc-provider-rest. - - odl-sfc-sb-rest - - odl-sfc-ui - - odl-sfc-netconf - - odl-sfc-ovs - - odl-sfcofl2 - vpn: - - odl-vpnservice-api - - odl-vpnservice-impl - - odl-vpnservice-impl-rest - - odl-vpnservice-impl-ui - - odl-vpnservice-core - - odl-vpnservice-openstack - # 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 - dha-override-config: nodes: - id: 1 diff --git a/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario.yaml b/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario.yaml index f8199e6e7..e222582d2 100644 --- a/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario.yaml +++ b/deploy/scenario/ha_odl-l3_heat_ceilometer_scenario.yaml @@ -34,6 +34,16 @@ deployment-scenario-metadata: # Note that the module substitionion does not support arrays # This is a quick fix stack-extensions: + - module: opendaylight + module-config-name: fuel-odl + module-config-version: 0.9.0 + module-config-override: + metadata: + versions: + - enable_l3_odl: + value: true + metadata: + plugin_version: 0.9.0 # - module: opendaylight # module-config-name: fuel-odl # module-config-version: 0.0.2 @@ -78,129 +88,6 @@ dea-override-config: public_network_assignment: assign_to_all_nodes: value: true - opendaylight: - metadata: - # chosen_id: Assigned during installation - class: plugin - default: false - enabled: true - label: OpenDaylight plugin - toggleable: true - versions: - - bgpvpn_gateway: - description: Define the default gateway for BGPVPN - label: Default Gateway - regex: - error: Invalid ip number - source: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ - restrictions: - - settings:opendaylight.enable_bgpvpn.value == false: Only needed if BGPVPN - is enabled. - type: text - value: 0.0.0.0 - weight: 16 - enable_bgpvpn: - description: 'This enables the bgpvpn extension of neutron togethere with - the corresponding sdnvpn features in odl. This feature will disable the - standart ovsdb feature from ODL. - - ' - label: BGPVPN extensions - type: checkbox - value: false - weight: 15 - 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: - default_credentials: - password: admin - user: admin - hot_pluggable: false - jetty_port: 8181 - odl_features: - cluster: - - odl-jolokia - default: - - config - - standard - - region - - package - - kar - - ssh - - management - gcr: - - odl-groupbasedpolicy-ovssfc - ncr: - - odl-ovsdb-sfc - - odl-ovsdb-sfc-rest - odl-default: - - odl-restconf-all - - odl-aaa-authn - - odl-dlux-all - ovs: - - odl-ovsdb-openstack - sfc: - - odl-sfc-model - - odl-sfc-provider - - odl-sfc-provider-rest - - odl-sfc-sb-rest - - odl-sfc-ui - - odl-sfc-netconf - - odl-sfc-ovs - - odl-sfcofl2 - vpn: - - odl-vpnservice-openstack - # plugin_id: Assigned during installation - plugin_version: 0.9.0 - restrictions: - - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight - odl_v2: - description: V2 version is considered as experimental - label: Use V2 ML2 driver - type: checkbox - value: true - weight: 17 - 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 - sfc_class: - description: 'Classifier determines what traffic needs to be chained based - on policy based on yang model. The OpenDayLight actually supports the - OVSDB NetVirt and the GBP classifier in case of SFC. - - ' - label: Classifier used by SFC - restrictions: - - action: hide - condition: settings:opendaylight.enable_sfc.value == false - type: select - value: ncr - values: - - data: ncr - label: NetVirt - - data: gcr - label: GBP - weight: 14 - weight: 70 dha-override-config: nodes: diff --git a/deploy/scenario/ha_onos_nofeature_heat_ceilometer_scenario.yaml b/deploy/scenario/ha_onos_nofeature_heat_ceilometer_scenario.yaml new file mode 100644 index 000000000..cb46af569 --- /dev/null +++ b/deploy/scenario/ha_onos_nofeature_heat_ceilometer_scenario.yaml @@ -0,0 +1,120 @@ +############################################################################## +# 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.6 + created: Jun 08 2016 + comment: Rebased to Fuel9 + +############################################################################## +# 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.3 + module-config-override: + metadata: + class: plugin + default: false + enabled: true + label: onos plugin + toggleable: true + versions: + - enable_sfc: + label: SFC features + type: checkbox + value: false + weight: 13 + metadata: + hot_pluggable: false + plugin_version: 0.9.0 + restrictions: + - cluster:net_provider != 'neutron': Neutron only + - settings:public_network_assignment.assign_to_all_nodes.value == false: Assign + public network to all nodes + weight: 70 + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + net_segment_type: tun + 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: + public_network_assignment: + assign_to_all_nodes: + value: true +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/no-ha_odl-bgpvpn_scenario.yaml b/deploy/scenario/no-ha_odl-bgpvpn_scenario.yaml index 067da4761..333ff5af5 100644 --- a/deploy/scenario/no-ha_odl-bgpvpn_scenario.yaml +++ b/deploy/scenario/no-ha_odl-bgpvpn_scenario.yaml @@ -21,10 +21,10 @@ ############################################################################## # deployment configuration meta-data deployment-scenario-metadata: - title: ODL No-HA BGPVPN deployment - version: 0.0.1 - created: 04.03.2016 - comment: Fuel ODL No HA with BGPVPN, Ceph, Ceilometer and Heat Rebased for Fuel8 + title: ODL HA BGPVPN deployment + version: 0.9.0 + created: 29.06.2016 + comment: Fuel ODL No HA with BGPVPN, Ceph, Ceilometer and Heat Rebased for Fuel9 ############################################################################## # Stack extentions are opnfv added value features in form of a fuel-plugin @@ -34,22 +34,22 @@ deployment-scenario-metadata: stack-extensions: - module: opendaylight module-config-name: fuel-odl - module-config-version: 0.0.3 + module-config-version: 0.9.0 module-config-override: metadata: versions: - enable_bgpvpn: value: true metadata: - plugin_version: 0.8.1 + plugin_version: 0.9.0 - module: bgpvpn module-config-name: fuel-bgpvpn - module-config-version: 0.0.3 + module-config-version: 0.9.0 - module: fuel-plugin-ovs module-config-name: fuel-nshovs - module-config-version: 0.0.1 + module-config-version: 0.9.0 ############################################################################## # By editing the override-config sections below, you can override arbitrary diff --git a/deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario.yaml b/deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario.yaml index 02cc907a4..55af51f9e 100644 --- a/deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario.yaml +++ b/deploy/scenario/no-ha_odl-l2_heat_ceilometer_scenario.yaml @@ -32,6 +32,10 @@ deployment-scenario-metadata: # <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.9.0 + module-config-override: # Note that the module substitionion does not support arrays # This is a quick fix # - module: opendaylight @@ -70,131 +74,6 @@ dea-override-config: interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 - settings: - editable: - opendaylight: - metadata: - # chosen_id: Assigned during installation - class: plugin - default: false - enabled: true - label: OpenDaylight plugin - toggleable: true - versions: - - bgpvpn_gateway: - description: Define the default gateway for BGPVPN - label: Default Gateway - regex: - error: Invalid ip number - source: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ - restrictions: - - settings:opendaylight.enable_bgpvpn.value == false: Only needed if BGPVPN - is enabled. - type: text - value: 0.0.0.0 - weight: 16 - enable_bgpvpn: - description: 'This enables the bgpvpn extension of neutron togethere with - the corresponding sdnvpn features in odl. This feature will disable the - standart ovsdb feature from ODL. - - ' - label: BGPVPN extensions - type: checkbox - value: false - weight: 15 - 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: false - weight: 12 - enable_sfc: - label: SFC features - type: checkbox - value: false - weight: 13 - metadata: - default_credentials: - password: admin - user: admin - hot_pluggable: false - jetty_port: 8181 - odl_features: - cluster: - - odl-jolokia - default: - - config - - standard - - region - - package - - kar - - ssh - - management - gcr: - - odl-groupbasedpolicy-ovssfc - ncr: - - odl-ovsdb-sfc - - odl-ovsdb-sfc-rest - odl-default: - - odl-restconf-all - - odl-aaa-authn - - odl-dlux-all - ovs: - - odl-ovsdb-openstack - sfc: - - odl-sfc-model - - odl-sfc-provider - - odl-sfc-provider-rest - - odl-sfc-sb-rest - - odl-sfc-ui - - odl-sfc-netconf - - odl-sfc-ovs - - odl-sfcofl2 - vpn: - - odl-vpnservice-openstack - # plugin_id: Assigned during installation - plugin_version: 0.9.0 - restrictions: - - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight - odl_v2: - description: V2 version is considered as experimental - label: Use V2 ML2 driver - type: checkbox - value: false - weight: 17 - 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 - sfc_class: - description: 'Classifier determines what traffic needs to be chained based - on policy based on yang model. The OpenDayLight actually supports the - OVSDB NetVirt and the GBP classifier in case of SFC. - - ' - label: Classifier used by SFC - restrictions: - - action: hide - condition: settings:opendaylight.enable_sfc.value == false - type: select - value: ncr - values: - - data: ncr - label: NetVirt - - data: gcr - label: GBP - weight: 14 - weight: 70 dha-override-config: # disks: diff --git a/deploy/scenario/no-ha_odl-l2_sfc_heat_ceilometer_scenario.yaml b/deploy/scenario/no-ha_odl-l2_sfc_heat_ceilometer_scenario.yaml index 028aa15dd..bf72ad7e5 100644 --- a/deploy/scenario/no-ha_odl-l2_sfc_heat_ceilometer_scenario.yaml +++ b/deploy/scenario/no-ha_odl-l2_sfc_heat_ceilometer_scenario.yaml @@ -32,9 +32,9 @@ deployment-scenario-metadata: # <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: nsh-ovs + - module: fuel-plugin-ovs module-config-name: fuel-nshovs - module-config-version: 0.0.1 + module-config-version: 0.9.0 module-config-override: # Note that the module substitionion does not support arrays diff --git a/deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario.yaml b/deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario.yaml index 911654643..bb0e28db2 100644 --- a/deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario.yaml +++ b/deploy/scenario/no-ha_odl-l3_heat_ceilometer_scenario.yaml @@ -34,6 +34,16 @@ deployment-scenario-metadata: # Note that the module substitionion does not support arrays # This is a quick fix stack-extensions: + - module: opendaylight + module-config-name: fuel-odl + module-config-version: 0.9.0 + module-config-override: + metadata: + versions: + - enable_l3_odl: + value: true + metadata: + plugin_version: 0.9.0 # - module: opendaylight # module-config-name: fuel-odl # module-config-version: 0.0.2 @@ -74,129 +84,6 @@ dea-override-config: public_network_assignment: assign_to_all_nodes: value: true - opendaylight: - metadata: - # chosen_id: Assigned during installation - class: plugin - default: false - enabled: true - label: OpenDaylight plugin - toggleable: true - versions: - - bgpvpn_gateway: - description: Define the default gateway for BGPVPN - label: Default Gateway - regex: - error: Invalid ip number - source: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ - restrictions: - - settings:opendaylight.enable_bgpvpn.value == false: Only needed if BGPVPN - is enabled. - type: text - value: 0.0.0.0 - weight: 16 - enable_bgpvpn: - description: 'This enables the bgpvpn extension of neutron togethere with - the corresponding sdnvpn features in odl. This feature will disable the - standart ovsdb feature from ODL. - - ' - label: BGPVPN extensions - type: checkbox - value: false - weight: 15 - 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: - default_credentials: - password: admin - user: admin - hot_pluggable: false - jetty_port: 8181 - odl_features: - cluster: - - odl-jolokia - default: - - config - - standard - - region - - package - - kar - - ssh - - management - gcr: - - odl-groupbasedpolicy-ovssfc - ncr: - - odl-ovsdb-sfc - - odl-ovsdb-sfc-rest - odl-default: - - odl-restconf-all - - odl-aaa-authn - - odl-dlux-all - ovs: - - odl-ovsdb-openstack - sfc: - - odl-sfc-model - - odl-sfc-provider - - odl-sfc-provider-rest - - odl-sfc-sb-rest - - odl-sfc-ui - - odl-sfc-netconf - - odl-sfc-ovs - - odl-sfcofl2 - vpn: - - odl-vpnservice-openstack - # plugin_id: Assigned during installation - plugin_version: 0.9.0 - restrictions: - - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight - odl_v2: - description: V2 version is considered as experimental - label: Use V2 ML2 driver - type: checkbox - value: true - weight: 17 - 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 - sfc_class: - description: 'Classifier determines what traffic needs to be chained based - on policy based on yang model. The OpenDayLight actually supports the - OVSDB NetVirt and the GBP classifier in case of SFC. - - ' - label: Classifier used by SFC - restrictions: - - action: hide - condition: settings:opendaylight.enable_sfc.value == false - type: select - value: ncr - values: - - data: ncr - label: NetVirt - - data: gcr - label: GBP - weight: 14 - weight: 70 dha-override-config: # disks: diff --git a/deploy/scenario/no-ha_onos_nofeature_heat_ceilometer_scenario.yaml b/deploy/scenario/no-ha_onos_nofeature_heat_ceilometer_scenario.yaml new file mode 100644 index 000000000..c6f07a73c --- /dev/null +++ b/deploy/scenario/no-ha_onos_nofeature_heat_ceilometer_scenario.yaml @@ -0,0 +1,97 @@ +############################################################################## +# 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 No-HA deployment + version: 0.0.5 + created: Jun 08 2016 + comment: ONOS No HA with Ceph, Ceilometer and Heat - Rebased for Fuel9 + +############################################################################## +# 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.3 + module-config-override: + metadata: + class: plugin + default: false + enabled: true + label: onos plugin + toggleable: true + versions: + - enable_sfc: + label: SFC features + type: checkbox + value: false + weight: 13 + metadata: + hot_pluggable: false + plugin_version: 0.9.0 + restrictions: + - cluster:net_provider != 'neutron': Neutron only + - settings:public_network_assignment.assign_to_all_nodes.value == false: Assign + public network to all nodes + weight: 70 + +############################################################################## +# By editing the override-config sections below, you can override arbitrary +# configuration name-space settings +dea-override-config: + environment: + net_segment_type: tun + name: onos_no-ha + nodes: + - id: 1 + interfaces: interfaces_1 + role: mongo,controller,onos + transformations: transformations_1 + - id: 2 + interfaces: interfaces_1 + role: ceph-osd,compute + 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 + settings: + editable: + public_network_assignment: + assign_to_all_nodes: + value: true +dha-override-config: +# disks: +# contrail: 500G + +############################################################################## +# 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 fe1660616..648ff22b3 100644 --- a/deploy/scenario/scenario.yaml +++ b/deploy/scenario/scenario.yaml @@ -46,6 +46,12 @@ os-odl_l2-nofeature-ha: os-odl_l2-nofeature-noha: configfile: no-ha_odl-l2_heat_ceilometer_scenario.yaml +os-onos-nofeature-ha: + configfile: ha_onos_nofeature_heat_ceilometer_scenario.yaml + +os-onos-nofeature-noha: + configfile: no-ha_onos_nofeature_heat_ceilometer_scenario.yaml + os-onos-sfc-ha: configfile: ha_onos_sfc_heat_ceilometer_scenario.yaml diff --git a/deploy/ssh_client.py b/deploy/ssh_client.py index f6888d52d..24119dbfa 100644 --- a/deploy/ssh_client.py +++ b/deploy/ssh_client.py @@ -1,6 +1,7 @@ ############################################################################### # Copyright (c) 2015 Ericsson AB and others. # szilard.cserey@ericsson.com +# peter.barabas@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 @@ -85,14 +86,18 @@ class SSHClient(object): def scp_get(self, remote, local='.', dir=False): try: - with scp.SCPClient(self.client.get_transport(), sanitize=lambda x: x) as _scp: + with scp.SCPClient(self.client.get_transport(), + sanitize=lambda x: x, + socket_timeout=TIMEOUT) as _scp: _scp.get(remote, local, dir) except Exception as e: err(e) def scp_put(self, local, remote='.', dir=False): try: - with scp.SCPClient(self.client.get_transport(), sanitize=lambda x: x) as _scp: + with scp.SCPClient(self.client.get_transport(), + sanitize=lambda x: x, + socket_timeout=TIMEOUT) as _scp: _scp.put(local, remote, dir) except Exception as e: err(e) |