p/fuel: Rebase, drop upstream clone 41/38541/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Fri, 28 Jul 2017 22:24:04 +0000 (00:24 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Tue, 1 Aug 2017 18:06:16 +0000 (20:06 +0200)
Now that Fuel@OPNFV supports submodule patching again, bring back
`make fuel-patches-import`.

Change-Id: Ic6f9870d94b6d302f1ebcdc21d54a83f62910af9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
15 files changed:
Makefile
armband-fuel-config.mk
ci/deploy.sh
patches/opnfv-fuel/0002-lib.sh-AArch64-Use-VGA-video-mode-for-guests.patch
patches/opnfv-fuel/0003-lib.sh-Use-host-passthrough-when-spawning-VMs.patch [deleted file]
patches/opnfv-fuel/0003-salt.sh-user-data-Add-Saltstack-arm64-repo.patch [moved from patches/opnfv-fuel/0004-salt.sh-user-data-Add-Saltstack-arm64-repo.patch with 91% similarity]
patches/opnfv-fuel/0004-classes-virtual-AArch64-virtio-NIC-names-sync.patch [moved from patches/opnfv-fuel/0006-classes-virtual-AArch64-virtio-NIC-names-sync.patch with 99% similarity]
patches/opnfv-fuel/0005-deploy-Allow-non-root-deploys.patch [new file with mode: 0644]
patches/opnfv-fuel/0005-salt.sh-Clone-armband-repo-apply-patches-from-it.patch [deleted file]
patches/opnfv-fuel/0006-mcp-salt-formulas-Add-enable-armband-formula.patch [moved from patches/opnfv-fuel/0008-mcp-salt-formulas-Add-enable-armband-formula.patch with 100% similarity]
patches/opnfv-fuel/0007-deploy-Allow-non-root-deploys.patch [deleted file]
patches/opnfv-fuel/0007-network-public-Use-arm-virtual2-POD-config.patch [moved from patches/opnfv-fuel/0010-network-public-Use-arm-virtual2-POD-config.patch with 100% similarity]
patches/opnfv-fuel/0008-reclass-opendaylight-Use-UCA-default-repos.patch [moved from patches/opnfv-fuel/0011-reclass-opendaylight-Use-UCA-default-repos.patch with 100% similarity]
patches/opnfv-fuel/0009-ci-deploy.sh-Rework-bridge-arguments-for-MCP.patch [deleted file]
patches/opnfv-fuel/0009-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch [moved from patches/opnfv-fuel/0012-mcp-salt-formulas-opendaylight-AArch64-leveldb.patch with 91% similarity]

index 5c8504b..6d82466 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -95,6 +95,35 @@ patches-import: .submodules-init .submodules-patched
                        fi \
                done && \
                git tag ${A_OPNFV_TAG}'
+       # Staging Fuel@OPNFV patches
+       @ls -d ${F_PATCH_DIR}/* 2>/dev/null | while read p_sub_path; do \
+               SUB_NAME=`basename $$p_sub_path`; \
+               find ${A_PATCH_DIR}/$$SUB_NAME -name '*.patch' 2>/dev/null -exec sh -c '\
+                       A_PATCH={}; R_PATCH=$${A_PATCH#${A_PATCH_DIR}/}; \
+                       F_PATCH=${F_PATCH_DIR}/$${0}/armband/$${R_PATCH#$${0}/}; \
+                       if [ -f $$F_PATCH ]; then \
+                               echo "`tput setaf 3`* WARN: $$R_PATCH upstream.`tput sgr0`"; \
+                       else \
+                               if [ -h $$A_PATCH ]; then \
+                                       echo "`tput setaf 3`* PHONY: $$R_PATCH`tput sgr0`"; \
+                               else \
+                                       echo "`tput setaf 6`* Staging $$R_PATCH`tput sgr0`"; \
+                                       mkdir -p `dirname $$F_PATCH` && cp $$A_PATCH $$F_PATCH; \
+                               fi; \
+                       fi' "$$SUB_NAME" \; || true ; \
+       done
        @touch $@
 
+##############################################################################
+# Fuel@OPNFV patch operations - to be used only during development
+##############################################################################
+# Apply all Fuel@OPNFV patches, including Armband patches
+.PHONY: fuel-patches-import
+fuel-patches-import: .submodules-patched fuel-patches-clean
+       $(MAKE) -e -C ${F_PATCH_DIR} patches-import
+
+.PHONY: fuel-patches-clean
+fuel-patches-clean:
+       $(MAKE) -e -C ${F_PATCH_DIR} clean
+
 # TODO: Bring back clean/debug/build after Fuel@OPNFV implements them for MCP
index fa82903..1a7c3ab 100644 (file)
@@ -12,7 +12,7 @@ A_FUEL_BASE := ${ARMBAND_BASE}/upstream/fuel
 A_PATCH_DIR := ${ARMBAND_BASE}/patches
 A_OPNFV_TAG  = armband-opnfv
 A_PATCHES    = $(shell find ${A_PATCH_DIR} -name '*.patch')
-F_BUILD_DIR := ${A_FUEL_BASE}/build
+F_PATCH_DIR := ${A_FUEL_BASE}/mcp/patches
 
 # To enable remote tracking, set the following var to any non-empty string.
 # Leaving this var empty will bind each git submodule to its saved commit.
index c1006f0..1c95d40 100755 (executable)
@@ -9,7 +9,11 @@
 #
 set -e
 
-cd $WORKSPACE
+SCRIPT_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]}))
+
+export ARMBAND_BASE=$(readlink -e ${SCRIPT_DIR}/..)
+
+cd ${WORKSPACE:-${ARMBAND_BASE}}
 make patches-import
 
 # source local environment variables
index 29b22a6..d361b79 100644 (file)
@@ -19,28 +19,29 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  2 files changed, 12 insertions(+), 3 deletions(-)
 
 diff --git a/ci/deploy.sh b/ci/deploy.sh
-index a1f5e38..92c7947 100755
+index 3ac7ff1..cf22d10 100755
 --- a/ci/deploy.sh
 +++ b/ci/deploy.sh
-@@ -230,8 +230,9 @@ pushd ${DEPLOY_DIR} > /dev/null
- # scenario, etc.
+@@ -270,9 +270,10 @@ pushd "${DEPLOY_DIR}" > /dev/null
 
  # Install required packages
--[ -n "$(command -v apt-get)" ] && apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm
--[ -n "$(command -v yum)" ] && yum install -y genisoimage curl virt-install qemu-kvm
-+[ -n "$(command -v apt-get)" ] && apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \
-+  ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin
-+[ -n "$(command -v yum)" ] && yum install -y genisoimage curl virt-install qemu-kvm vgabios
+ [ -n "$(command -v apt-get)" ] && apt-get install -y \
+-  git make rsync mkisofs curl virtinst cpu-checker qemu-kvm
++  git make rsync mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \
++    ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin
+ [ -n "$(command -v yum)" ] && yum install -y \
+-  git make rsync genisoimage curl virt-install qemu-kvm
++  git make rsync genisoimage curl virt-install qemu-kvm vgabios
 
  # Check scenario file existence
  if [[ ! -f  ../config/${DEPLOY_SCENARIO}.yaml ]]; then
 diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh
-index 3ec596a..b75e47e 100644
+index 33dba3c..8d45100 100644
 --- a/mcp/scripts/lib.sh
 +++ b/mcp/scripts/lib.sh
-@@ -58,6 +58,13 @@ create_vms() {
-   local -n vnodes_ram=$2
-   local -n vnodes_vcpus=$3
+@@ -78,6 +78,13 @@ create_vms() {
+     net_args="${net_args} --network ${net_type}=${net},model=virtio"
+   done
 
 +  # AArch64: prepare arch specific arguments
 +  local virt_extra_args=""
@@ -51,11 +52,11 @@ index 3ec596a..b75e47e 100644
 +
    # create vms with specified options
    for node in "${vnodes[@]}"; do
-     virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host --accelerate \
-@@ -69,7 +76,8 @@ create_vms() {
+     # shellcheck disable=SC2086
+@@ -88,7 +95,8 @@ create_vms() {
      --os-type linux --os-variant none \
      --boot hd --vnc --console pty --autostart --noreboot \
-     --disk path=$(pwd)/images/mcp_${node}.iso,device=cdrom \
+     --disk path="$(pwd)/images/mcp_${node}.iso",device=cdrom \
 -    --noautoconsole
 +    --noautoconsole \
 +    ${virt_extra_args}
diff --git a/patches/opnfv-fuel/0003-lib.sh-Use-host-passthrough-when-spawning-VMs.patch b/patches/opnfv-fuel/0003-lib.sh-Use-host-passthrough-when-spawning-VMs.patch
deleted file mode 100644 (file)
index c6f8af5..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Fri, 21 Jul 2017 19:59:33 +0200
-Subject: [PATCH] lib.sh: Use host-passthrough when spawning VMs
-
-virsh defaults to using "host-model" instead of "host-passthrough",
-which not only might lead to a small performance hit on x86, it is
-also causing compatibility issues with libvirt 3.x.
-
-Address this by explicitly requesting "host-passthrough" as the
-CPU model for virt-install.
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- mcp/scripts/lib.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh
-index b75e47e..55df750 100644
---- a/mcp/scripts/lib.sh
-+++ b/mcp/scripts/lib.sh
-@@ -67,7 +67,7 @@ create_vms() {
-
-   # create vms with specified options
-   for node in "${vnodes[@]}"; do
--    virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host --accelerate \
-+    virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host-passthrough --accelerate \
-     --network network:pxe,model=virtio \
-     --network network:mgmt,model=virtio \
-     --network network:internal,model=virtio \
@@ -11,11 +11,11 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  2 files changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh
-index 605da89..c44168e 100755
+index 3d0fb91..589a0c4 100755
 --- a/mcp/scripts/salt.sh
 +++ b/mcp/scripts/salt.sh
-@@ -23,6 +23,10 @@ ssh ${SSH_OPTS} ubuntu@${SALT_MASTER} bash -s << SALT_INSTALL_END
-   cd /root/fuel/mcp/patches && ./patch.sh patches.list reclass
+@@ -48,6 +48,10 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s << SALT_INSTALL_END
+   cd ${OPNFV_FUEL_DIR}/mcp/patches && ./patch.sh patches.list reclass
 
    cd /srv/salt/scripts
 +  if [ "\$(uname -i)" = "aarch64" ]; then
@@ -108,7 +108,7 @@ index 17c22c5..ca3a812 100644
            type: eth
            proto: static
 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl/openstack/gateway.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl/openstack/gateway.yml
-index 4ea51f3..ee17dbd 100644
+index e8421ca..657ddd3 100644
 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl/openstack/gateway.yml
 +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl/openstack/gateway.yml
 @@ -6,9 +6,9 @@ classes:
diff --git a/patches/opnfv-fuel/0005-deploy-Allow-non-root-deploys.patch b/patches/opnfv-fuel/0005-deploy-Allow-non-root-deploys.patch
new file mode 100644 (file)
index 0000000..5561343
--- /dev/null
@@ -0,0 +1,33 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Mon, 17 Jul 2017 23:10:25 +0000
+Subject: [PATCH] deploy: Allow non-root deploys
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ ci/deploy.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ci/deploy.sh b/ci/deploy.sh
+index cf22d10..3d7ccf5 100755
+--- a/ci/deploy.sh
++++ b/ci/deploy.sh
+@@ -87,7 +87,7 @@ $(notify "Disabled input parameters (not yet supported with MCP):" 3)
+ -i (disabled) .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)://)
+
+-$(notify "[NOTE] Root priviledges are needed for this script to run" 3)
++$(notify "[NOTE] sudo priviledges are needed for this script to run" 3)
+
+ Example:
+
+@@ -240,8 +240,8 @@ do
+     esac
+ done
+
+-if [[ $EUID -ne 0 ]]; then
+-    notify "[ERROR] This script must be run as root\n" 1>&2
++if [[ "$(sudo whoami)" != 'root' ]]; then
++    notify "This script requires sudo rights\n" 1>&2
+     exit 1
+ fi
+
diff --git a/patches/opnfv-fuel/0005-salt.sh-Clone-armband-repo-apply-patches-from-it.patch b/patches/opnfv-fuel/0005-salt.sh-Clone-armband-repo-apply-patches-from-it.patch
deleted file mode 100644 (file)
index d2c7ff0..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Tue, 11 Jul 2017 19:43:39 +0200
-Subject: [PATCH] salt.sh: Clone armband repo, apply patches from it
-
-FIXME: Revise the patching mechanism, make things more dynamic.
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- mcp/scripts/salt.sh | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh
-index c44168e..87f25a7 100755
---- a/mcp/scripts/salt.sh
-+++ b/mcp/scripts/salt.sh
-@@ -14,7 +14,17 @@ ssh ${SSH_OPTS} ubuntu@${SALT_MASTER} bash -s << SALT_INSTALL_END
-   apt-get install -y git curl subversion
-
-   svn export --force https://github.com/salt-formulas/salt-formulas/trunk/deploy/scripts /srv/salt/scripts
--  git clone --depth=1 --recurse-submodules https://git.opnfv.org/fuel
-+  git clone --recurse-submodules https://git.opnfv.org/fuel
-+  # NOTE(armband): no depth speedup on http
-+  git clone http://git.opnfv.org/armband
-+
-+  # For patch applying purposes (workaround for empty git config)
-+  export GIT_COMMITTER_NAME="OPNFV Armband"
-+  export GIT_COMMITTER_EMAIL="armband@enea.com"
-+  git -C /root/fuel am -3 --patch-format=mbox \
-+    /root/armband/patches/opnfv-fuel/*.patch
-+  git -C /root/fuel/mcp/reclass/classes/system am -3 --patch-format=mbox \
-+    /root/armband/patches/reclass-system-salt-model/*.patch
-   ln -s /root/fuel/mcp/reclass /srv/salt/reclass
-
-   mkdir -p /usr/share/salt-formulas/reclass
diff --git a/patches/opnfv-fuel/0007-deploy-Allow-non-root-deploys.patch b/patches/opnfv-fuel/0007-deploy-Allow-non-root-deploys.patch
deleted file mode 100644 (file)
index a7599e2..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Mon, 17 Jul 2017 23:10:25 +0000
-Subject: [PATCH] deploy: Allow non-root deploys
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- ci/deploy.sh | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/ci/deploy.sh b/ci/deploy.sh
-index 92c7947..edf05be 100755
---- a/ci/deploy.sh
-+++ b/ci/deploy.sh
-@@ -212,8 +212,8 @@ do
-     esac
- done
-
--if [[ $EUID -ne 0 ]]; then
--    echo "This script must be run as root" 1>&2
-+if [[ $(sudo whoami) != 'root' ]]; then
-+    echo "This script requires sudo rights" 1>&2
-     exit 1
- fi
-
-@@ -230,9 +230,9 @@ pushd ${DEPLOY_DIR} > /dev/null
- # scenario, etc.
-
- # Install required packages
--[ -n "$(command -v apt-get)" ] && apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \
--  ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin
--[ -n "$(command -v yum)" ] && yum install -y genisoimage curl virt-install qemu-kvm vgabios
-+[ -n "$(command -v apt-get)" ] && sudo apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm vgabios && \
-+  sudo ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin
-+[ -n "$(command -v yum)" ] && sudo yum install -y genisoimage curl virt-install qemu-kvm vgabios
-
- # Check scenario file existence
- if [[ ! -f  ../config/${DEPLOY_SCENARIO}.yaml ]]; then
diff --git a/patches/opnfv-fuel/0009-ci-deploy.sh-Rework-bridge-arguments-for-MCP.patch b/patches/opnfv-fuel/0009-ci-deploy.sh-Rework-bridge-arguments-for-MCP.patch
deleted file mode 100644 (file)
index 4570151..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Tue, 25 Jul 2017 19:11:56 +0200
-Subject: [PATCH] ci/deploy.sh: Rework bridge arguments for MCP
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- ci/deploy.sh       | 37 ++++++++++++++++++++++++++-----------
- mcp/scripts/lib.sh | 42 ++++++++++++++++++++++++++++++------------
- 2 files changed, 56 insertions(+), 23 deletions(-)
-
-diff --git a/ci/deploy.sh b/ci/deploy.sh
-index edf05be..864b231 100755
---- a/ci/deploy.sh
-+++ b/ci/deploy.sh
-@@ -29,13 +29,16 @@ 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] [-T timeout] -i iso
-+usage: `basename $0` -b base-uri
-+       [-B PXE Bridge [-B Mgmt Bridge [-B Internal Bridge [-B Public 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]
-
- OPTIONS:
-   -b  Base-uri for the stack-configuration structure
--  -B  PXE Bridge for booting of Fuel master
-+  -B  Bridge(s): 1st usage = PXE, 2nd = Mgmt, 3rd = Internal, 4th = Public
-   -d  Dry-run
-   -f  Deploy on existing Fuel master
-   -e  Do not launch environment deployment
-@@ -59,10 +62,13 @@ and provides a fairly simple mechanism to execute a deployment.
- Input parameters to the build script is:
- -b Base URI to the configuration directory (needs to be provided in a URI
-    style, it can be a local resource: file:// or a remote resource http(s)://)
---B PXE Bridge for booting of Fuel master. It can be specified several times,
-+-B Bridges for to be used by deploy script. It can be specified several times,
-    or as a comma separated list of bridges, or both: -B br1 -B br2,br3
--   One NIC connected to each specified bridge will be created in the Fuel VM,
--   in the same order as provided in the command line. The default is pxebr.
-+   First occurence sets PXE Brige, next Mgmt, then Internal and Public.
-+   For an empty value, the deploy script will use virsh to create the default
-+   expected network (e.g. -B pxe,,,public will use existing "pxe" and "public"
-+   bridges, respectively create "mgmt" and "internal").
-+   The default is pxebr.
- -d Dry-run - Produces deploy config files (config/dea.yaml and
-    config/dha.yaml), but does not execute deploy
- -f Deploy on existing Fuel master
-@@ -112,7 +118,7 @@ clean() {
- #
- SCRIPT_PATH=$(readlink -f $(dirname ${BASH_SOURCE[0]}))
- DEPLOY_DIR=$(cd ${SCRIPT_PATH}/../mcp/scripts; pwd)
--PXE_BRIDGE=''
-+OPNFV_BRIDGES=('pxe' 'mgmt' 'internal' 'public')
- NO_HEALTH_CHECK=''
- USE_EXISTING_FUEL=''
- FUEL_CREATION_ONLY=''
-@@ -124,6 +130,7 @@ if ! [ -z $DEPLOY_TIMEOUT ]; then
- else
-     DEPLOY_TIMEOUT=""
- fi
-+
- #
- # END of variables to customize
- ############################################################################
-@@ -146,9 +153,17 @@ do
-             fi
-             ;;
-         B)
--            for bridge in ${OPTARG//,/ }; do
--                PXE_BRIDGE+=" -b $bridge"
-+            OIFS=${IFS}
-+            IFS=','
-+            OPT_BRIDGES=($OPTARG)
-+            OPNFV_BRIDGE_IDX=0
-+            for bridge in ${OPT_BRIDGES[@]}; do
-+                if [ -n "${bridge}" ]; then
-+                    OPNFV_BRIDGES[${OPNFV_BRIDGE_IDX}]="${bridge}"
-+                fi
-+                OPNFV_BRIDGE_IDX=$[OPNFV_BRIDGE_IDX + 1]
-             done
-+            IFS=${OIFS}
-             ;;
-         d)
-             DRY_RUN=1
-@@ -261,9 +276,9 @@ export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i
- # Infra setup
- generate_ssh_key
- prepare_vms virtual_nodes $base_image
--create_networks
--create_vms virtual_nodes virtual_nodes_ram virtual_nodes_vcpus
--update_pxe_network
-+create_networks OPNFV_BRIDGES
-+create_vms virtual_nodes virtual_nodes_ram virtual_nodes_vcpus OPNFV_BRIDGES
-+update_pxe_network OPNFV_BRIDGES
- start_vms virtual_nodes
- check_connection
-
-diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh
-index 55df750..ec55c6d 100644
---- a/mcp/scripts/lib.sh
-+++ b/mcp/scripts/lib.sh
-@@ -41,15 +41,19 @@ prepare_vms() {
- }
-
- create_networks() {
-+  local -n vnode_networks=$1
-   # create required networks
--  for net in pxe mgmt internal public; do
-+  for net in "${vnode_networks[@]}"; do
-     if virsh net-info $net >/dev/null 2>&1; then
-       virsh net-destroy ${net}
-       virsh net-undefine ${net}
-     fi
--    virsh net-define net_${net}.xml
--    virsh net-autostart ${net}
--    virsh net-start ${net}
-+    # in case of custom network, host should already have the bridge in place
-+    if [ -f net_${net}.xml ]; then
-+      virsh net-define net_${net}.xml
-+      virsh net-autostart ${net}
-+      virsh net-start ${net}
-+    fi
-   done
- }
-
-@@ -57,6 +61,7 @@ create_vms() {
-   local -n vnodes=$1
-   local -n vnodes_ram=$2
-   local -n vnodes_vcpus=$3
-+  local -n vnode_networks=$4
-
-   # AArch64: prepare arch specific arguments
-   local virt_extra_args=""
-@@ -65,13 +70,22 @@ create_vms() {
-     virt_extra_args="$virt_extra_args --video=vga"
-   fi
-
-+  # prepare network args
-+  net_args=""
-+  for net in "${vnode_networks[@]}"; do
-+    net_type="network"
-+    # in case of custom network, host should already have the bridge in place
-+    if [ ! -f net_${net}.xml ]; then
-+      net_type="bridge"
-+    fi
-+    net_args="${net_args} --network ${net_type}=${net},model=virtio"
-+  done
-+
-   # create vms with specified options
-   for node in "${vnodes[@]}"; do
--    virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host-passthrough --accelerate \
--    --network network:pxe,model=virtio \
--    --network network:mgmt,model=virtio \
--    --network network:internal,model=virtio \
--    --network network:public,model=virtio \
-+    virt-install --name ${node} \
-+    --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} \
-+    --cpu host-passthrough --accelerate ${net_args} \
-     --disk path=$(pwd)/images/mcp_${node}.qcow2,format=qcow2,bus=virtio,cache=none,io=native \
-     --os-type linux --os-variant none \
-     --boot hd --vnc --console pty --autostart --noreboot \
-@@ -82,9 +96,13 @@ create_vms() {
- }
-
- update_pxe_network() {
--  # set static ip address for salt master node
--  virsh net-update pxe add ip-dhcp-host \
--  "<host mac='$(virsh domiflist cfg01 | awk '/pxe/ {print $5}')' name='cfg01' ip='$SALT_MASTER'/>" --live
-+  local -n vnode_networks=$1
-+  if virsh net-info "${vnode_networks[0]}" >/dev/null 2>&1; then
-+    # set static ip address for salt master node, only if managed via virsh
-+    # NOTE: below expr assume PXE network is always the first in domiflist
-+    virsh net-update "${vnode_networks[0]}" add ip-dhcp-host \
-+    "<host mac='$(virsh domiflist cfg01 | awk '/network/ {print $5; exit}')' name='cfg01' ip='$SALT_MASTER'/>" --live
-+  fi
- }
-
- start_vms() {
@@ -25,12 +25,12 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
  1 file changed, 5 insertions(+)
 
 diff --git a/mcp/salt-formulas/opendaylight/server.sls b/mcp/salt-formulas/opendaylight/server.sls
-index cb5b312..5a90951 100644
+index 8c6c3b2..a2236ae 100644
 --- a/mcp/salt-formulas/opendaylight/server.sls
 +++ b/mcp/salt-formulas/opendaylight/server.sls
-@@ -46,4 +46,9 @@ opendaylight:
-   - pattern: ^featuresBoot=.*$
-   - repl: "featuresBoot={{ features }}"
+@@ -58,4 +58,9 @@ opendaylight:
+       - service: opendaylight
+ {%- endif %}
 
 +opendaylight_aarch64_leveldbjni:
 +  pkg.installed: