aboutsummaryrefslogtreecommitdiffstats
path: root/docker/vnf
diff options
context:
space:
mode:
Diffstat (limited to 'docker/vnf')
-rw-r--r--docker/vnf/Dockerfile47
-rw-r--r--docker/vnf/clearwater-heat-singlenet-deps.patch122
-rw-r--r--docker/vnf/cloudify-rest-client-py3.patch234
-rw-r--r--docker/vnf/hooks/post_checkout2
-rw-r--r--docker/vnf/testcases.yaml9
5 files changed, 98 insertions, 316 deletions
diff --git a/docker/vnf/Dockerfile b/docker/vnf/Dockerfile
index cf67c8a77..99f848fcd 100644
--- a/docker/vnf/Dockerfile
+++ b/docker/vnf/Dockerfile
@@ -1,34 +1,23 @@
FROM opnfv/functest-core
-ARG BRANCH=master
-ARG OPENSTACK_TAG=master
ARG VIMS_TEST_TAG=release-130
ARG QUAFF_TAG=59213d6d8ee29433552bb75f505cdc96b0b18909
ARG CLOUDIFY_VIMS_TAG=gambia
ARG HEAT_VIMS_TAG=release-130
ARG VROUTER_TAG=fraser
ARG VROUTER_BP_TAG=9b76d46a388d32d4985797620e67c2ed3315b3e4
-ARG JUJU_TAG=tags/juju-2.3.9
-ARG JUJU_WAIT_TAG=2.6.4
ARG ABOT_CHARM=opnfv-fraser
-ARG GODEPS_TAG=404a7e748cd352bb0d7449dedc645546eebbfc6e
-
-ENV GOPATH /src/epc-requirements/go
-ENV GOBIN /src/epc-requirements/go/bin
-ENV PATH $GOBIN:$PATH
COPY clearwater-heat-singlenet-deps.patch /tmp/clearwater-heat-singlenet-deps.patch
RUN apk --no-cache add --update \
ruby ruby-bundler ruby-irb ruby-rdoc \
- procps libxslt libxml2 zlib libffi go musl-dev && \
+ procps libxslt libxml2 zlib libffi musl-dev && \
apk --no-cache add --virtual .build-deps --update \
- ruby-dev g++ make libxslt-dev libxml2-dev zlib-dev libffi-dev g++ make && \
- wget -q -O- https://opendev.org/openstack/requirements/raw/branch/$OPENSTACK_TAG/upper-constraints.txt > upper-constraints.txt && \
- sed -i -E /^tempest==+.*$/d upper-constraints.txt && \
- case $(uname -m) in aarch*|arm*) sed -i -E /^PyNaCl=/d upper-constraints.txt ;; esac && \
- wget -q -O- https://git.opnfv.org/functest/plain/upper-constraints.txt?h=$BRANCH > upper-constraints.opnfv.txt && \
- sed -i -E /#egg=functest/d upper-constraints.opnfv.txt && \
- git clone --depth 1 -b $VIMS_TEST_TAG https://github.com/Metaswitch/clearwater-live-test /src/vims-test && \
+ ruby-dev g++ make libxslt-dev libxml2-dev zlib-dev libffi-dev patch && \
+ git init /src/vims-test && \
+ (cd /src/vims-test && \
+ git fetch --tags https://github.com/Metaswitch/clearwater-live-test $VIMS_TEST_TAG && \
+ git checkout FETCH_HEAD) && \
sed -i s/unf_ext\ \(.*\)/unf_ext\ \(0.0.7.4\)/g /src/vims-test/Gemfile.lock && \
git init /src/vims-test/quaff && \
(cd /src/vims-test/quaff && \
@@ -56,26 +45,14 @@ RUN apk --no-cache add --update \
(cd /home/opnfv/functest/data/router/opnfv-vnf-data && \
git fetch --tags https://github.com/oolorg/opnfv-vnf-data.git $VROUTER_TAG && \
git checkout FETCH_HEAD) && \
- case "$(uname -m)" in \
- "armv7l" | "aarch64") ;; \
- *) \
- git init /src/epc-requirements/abot_charm && \
- (cd /src/epc-requirements/abot_charm && \
- git fetch --tags https://github.com/RebacaInc/abot_charm.git $ABOT_CHARM && \
- git checkout FETCH_HEAD) && \
- pip3 install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \
- juju-wait==$JUJU_WAIT_TAG && \
- go get -d github.com/rogpeppe/godeps && \
- (cd $GOPATH/src/github.com/rogpeppe/godeps && git checkout $GODEPS_TAG && go install -v github.com/rogpeppe/godeps) && \
- go get -d -v github.com/juju/juju/... || true && \
- (cd $GOPATH/src/github.com/juju/juju && git checkout $JUJU_TAG && godeps -u dependencies.tsv) && \
- go install -v github.com/juju/juju/... && \
- rm -r $GOPATH/src/ $GOPATH/pkg /src/epc-requirements/abot_charm/.git /root/.cache/go-build;; \
- esac && \
+ git init /src/epc-requirements/abot_charm && \
+ (cd /src/epc-requirements/abot_charm && \
+ git fetch --tags https://github.com/collivier/abot_charm.git $ABOT_CHARM && \
+ git checkout FETCH_HEAD) && \
(cd /src/vims-test && bundle config build.nokogiri --use-system-libraries && bundle install --system && bundle update rest-client) && \
- rm -r upper-constraints.txt upper-constraints.opnfv.txt /src/vims-test/.git /src/cloudify_vims/.git /src/heat_vims/.git /src/vims-test/quaff/.git \
+ rm -r /src/vims-test/.git /src/cloudify_vims/.git /src/heat_vims/.git /src/vims-test/quaff/.git \
/src/vims-test/build-infra/.git /src/opnfv-vnf-vyos-blueprint/.git \
/tmp/clearwater-heat-singlenet-deps.patch && \
apk del .build-deps
-COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml
+COPY testcases.yaml /etc/xtesting/testcases.yaml
CMD ["run_tests", "-t", "all"]
diff --git a/docker/vnf/clearwater-heat-singlenet-deps.patch b/docker/vnf/clearwater-heat-singlenet-deps.patch
index a1bc3db7b..0e075f9f8 100644
--- a/docker/vnf/clearwater-heat-singlenet-deps.patch
+++ b/docker/vnf/clearwater-heat-singlenet-deps.patch
@@ -1,5 +1,5 @@
diff --git a/bono.yaml b/bono.yaml
-index f0189cd..7566338 100644
+index f0189cd..cc03838 100644
--- a/bono.yaml
+++ b/bono.yaml
@@ -23,26 +23,6 @@ parameters:
@@ -101,7 +101,7 @@ index f0189cd..7566338 100644
template: |
#!/bin/bash
-@@ -159,33 +124,6 @@ resources:
+@@ -159,36 +124,8 @@ resources:
exec > >(tee -a /var/log/clearwater-heat-bono.log) 2>&1
set -x
@@ -133,9 +133,13 @@ index f0189cd..7566338 100644
- /etc/init.d/signaling_namespace
-
# Configure the APT software source.
- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
-@@ -196,11 +134,8 @@ resources:
+- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
+- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list
+ apt-get update
+
+ # Configure /etc/clearwater/local_config.
+@@ -196,11 +133,8 @@ resources:
etcd_ip=__etcd_ip__
[ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__
cat > /etc/clearwater/local_config << EOF
@@ -149,7 +153,7 @@ index f0189cd..7566338 100644
public_hostname=__index__.bono.__zone__
etcd_cluster=$etcd_ip
EOF
-@@ -223,8 +158,8 @@ resources:
+@@ -223,8 +157,8 @@ resources:
while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF
server __dns_mgmt_ip__
update add bono-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__)
@@ -160,7 +164,7 @@ index f0189cd..7566338 100644
update add __zone__. 30 NAPTR 0 0 "s" "SIP+D2T" "" _sip._tcp.__zone__.
update add __zone__. 30 NAPTR 0 0 "s" "SIP+D2U" "" _sip._udp.__zone__.
update add _sip._tcp.__zone__. 30 SRV 0 0 5060 __index__.bono.__zone__.
-@@ -241,10 +176,19 @@ resources:
+@@ -241,10 +175,19 @@ resources:
# Use the DNS server.
echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf
echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq
@@ -182,7 +186,7 @@ index f0189cd..7566338 100644
outputs:
public_mgmt_ip:
description: IP address in public management network
-@@ -252,9 +196,3 @@ outputs:
+@@ -252,9 +195,3 @@ outputs:
private_mgmt_ip:
description: IP address in private management network
value: { get_attr: [ mgmt_port, fixed_ips, 0, ip_address ] }
@@ -428,7 +432,7 @@ index a155c60..dd90cb7 100644
etcd_ip: { get_attr: [ ellis, private_mgmt_ip ] }
index: __index__
diff --git a/dime.yaml b/dime.yaml
-index 642f19d..6ae2676 100644
+index 642f19d..d2b8b92 100644
--- a/dime.yaml
+++ b/dime.yaml
@@ -23,26 +23,6 @@ parameters:
@@ -535,7 +539,7 @@ index 642f19d..6ae2676 100644
template: |
#!/bin/bash
-@@ -156,33 +124,6 @@ resources:
+@@ -156,36 +124,8 @@ resources:
exec > >(tee -a /var/log/clearwater-heat-dime.log) 2>&1
set -x
@@ -567,9 +571,13 @@ index 642f19d..6ae2676 100644
- /etc/init.d/signaling_namespace
-
# Configure the APT software source.
- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
-@@ -193,11 +134,8 @@ resources:
+- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
+- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list
+ apt-get update
+
+ # Configure /etc/clearwater/local_config.
+@@ -193,11 +133,8 @@ resources:
etcd_ip=__etcd_ip__
[ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__
cat > /etc/clearwater/local_config << EOF
@@ -583,7 +591,7 @@ index 642f19d..6ae2676 100644
public_hostname=dime-__index__.__zone__
etcd_cluster=$etcd_ip
EOF
-@@ -220,9 +158,9 @@ resources:
+@@ -220,9 +157,9 @@ resources:
while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF
server __dns_mgmt_ip__
update add dime-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__)
@@ -596,7 +604,7 @@ index 642f19d..6ae2676 100644
send
EOF
} && [ $retries -lt 10 ]
-@@ -235,17 +173,22 @@ resources:
+@@ -235,17 +172,22 @@ resources:
# Use the DNS server.
echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf
echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq
@@ -769,7 +777,7 @@ index 825ede1..f98ffa3 100644
description: DNS zone
value: { get_param: zone }
diff --git a/ellis.yaml b/ellis.yaml
-index 963352d..ff59895 100644
+index 963352d..2bd0730 100644
--- a/ellis.yaml
+++ b/ellis.yaml
@@ -44,9 +44,6 @@ parameters:
@@ -815,7 +823,17 @@ index 963352d..ff59895 100644
template: |
#!/bin/bash
-@@ -176,7 +183,7 @@ resources:
+@@ -134,8 +141,7 @@ resources:
+ set -x
+
+ # Configure the APT software source.
+- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
+- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list
+ apt-get update
+
+ # Configure /etc/clearwater/local_config. Add xdms_hostname here to use Homer's management
+@@ -176,7 +182,7 @@ resources:
chronos_hostname=vellum.__zone__
ralf_session_store=vellum.__zone__
@@ -824,7 +842,7 @@ index 963352d..ff59895 100644
# Email server configuration
smtp_smarthost=localhost
-@@ -189,6 +196,8 @@ resources:
+@@ -189,6 +195,8 @@ resources:
turn_workaround=secret
ellis_api_key=secret
ellis_cookie_key=secret
@@ -833,7 +851,7 @@ index 963352d..ff59895 100644
EOF
/usr/share/clearwater/clearwater-config-manager/scripts/cw-config upload shared_config --autoconfirm --dir /tmp
-@@ -197,7 +206,6 @@ resources:
+@@ -197,7 +205,6 @@ resources:
# local_settings.py runs to pick up the configuration changes.
service clearwater-infrastructure restart
service ellis stop
@@ -841,7 +859,7 @@ index 963352d..ff59895 100644
# Function to give DNS record type and IP address for specified IP address
ip2rr() {
-@@ -228,6 +236,18 @@ resources:
+@@ -228,6 +235,18 @@ resources:
echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq
service dnsmasq force-reload
@@ -861,7 +879,7 @@ index 963352d..ff59895 100644
public_mgmt_ip:
description: IP address in public management network
diff --git a/homer.yaml b/homer.yaml
-index 4337984..9a93cfb 100644
+index 4337984..d23adb5 100644
--- a/homer.yaml
+++ b/homer.yaml
@@ -23,26 +23,6 @@ parameters:
@@ -974,7 +992,7 @@ index 4337984..9a93cfb 100644
template: |
#!/bin/bash
-@@ -163,33 +124,6 @@ resources:
+@@ -163,36 +124,8 @@ resources:
exec > >(tee -a /var/log/clearwater-heat-homer.log) 2>&1
set -x
@@ -1006,9 +1024,13 @@ index 4337984..9a93cfb 100644
- /etc/init.d/signaling_namespace
-
# Configure the APT software source.
- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
-@@ -200,11 +134,8 @@ resources:
+- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
+- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list
+ apt-get update
+
+ # Configure /etc/clearwater/local_config.
+@@ -200,11 +133,8 @@ resources:
etcd_ip=__etcd_ip__
[ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__
cat > /etc/clearwater/local_config << EOF
@@ -1022,7 +1044,7 @@ index 4337984..9a93cfb 100644
public_hostname=homer-__index__.__zone__
etcd_cluster=$etcd_ip
EOF
-@@ -227,7 +158,7 @@ resources:
+@@ -227,7 +157,7 @@ resources:
while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF
server __dns_mgmt_ip__
update add homer-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__)
@@ -1031,11 +1053,12 @@ index 4337984..9a93cfb 100644
send
EOF
} && [ $retries -lt 10 ]
-@@ -238,13 +169,21 @@ resources:
+@@ -237,14 +167,22 @@ resources:
+ sleep 5
done
- # Use the DNS server.
- # Use the DNS server.
+ # Use the DNS server.
echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf
echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq
- mkdir -p /etc/netns/signaling
@@ -1056,7 +1079,7 @@ index 4337984..9a93cfb 100644
outputs:
public_mgmt_ip:
description: IP address in public management network
-@@ -252,9 +191,3 @@ outputs:
+@@ -252,9 +190,3 @@ outputs:
private_mgmt_ip:
description: IP address in private management network
value: { get_attr: [ mgmt_port, fixed_ips, 0, ip_address ] }
@@ -1416,7 +1439,7 @@ index 5921d32..c73fe2b 100644
- value: { get_resource: vellum_sig_inbound }
+ value: { get_resource: base_mgmt }
diff --git a/sprout.yaml b/sprout.yaml
-index 9c533b7..2649e11 100644
+index 9c533b7..b51750b 100644
--- a/sprout.yaml
+++ b/sprout.yaml
@@ -23,26 +23,6 @@ parameters:
@@ -1516,7 +1539,7 @@ index 9c533b7..2649e11 100644
template: |
#!/bin/bash
-@@ -156,33 +124,6 @@ resources:
+@@ -156,36 +124,8 @@ resources:
exec > >(tee -a /var/log/clearwater-heat-sprout.log) 2>&1
set -x
@@ -1548,9 +1571,13 @@ index 9c533b7..2649e11 100644
- /etc/init.d/signaling_namespace
-
# Configure the APT software source.
- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
-@@ -193,11 +134,8 @@ resources:
+- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
+- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list
+ apt-get update
+
+ # Configure /etc/clearwater/local_config.
+@@ -193,11 +133,8 @@ resources:
etcd_ip=__etcd_ip__
[ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__
cat > /etc/clearwater/local_config << EOF
@@ -1564,7 +1591,7 @@ index 9c533b7..2649e11 100644
public_hostname=__index__.sprout.__zone__
etcd_cluster=$etcd_ip
EOF
-@@ -220,10 +158,10 @@ resources:
+@@ -220,10 +157,10 @@ resources:
while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF
server __dns_mgmt_ip__
update add sprout-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__)
@@ -1579,7 +1606,7 @@ index 9c533b7..2649e11 100644
update add sprout.__zone__. 30 NAPTR 0 0 "s" "SIP+D2T" "" _sip._tcp.sprout.__zone__.
update add _sip._tcp.sprout.__zone__. 30 SRV 0 0 5054 __index__.sprout.__zone__.
update add icscf.sprout.__zone__. 30 NAPTR 0 0 "s" "SIP+D2T" "" _sip._tcp.icscf.sprout.__zone__.
-@@ -242,17 +180,23 @@ resources:
+@@ -242,17 +179,23 @@ resources:
# Use the DNS server.
echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf
echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq
@@ -1610,7 +1637,7 @@ index 9c533b7..2649e11 100644
- description: IP address in private signaling network
- value: { get_attr: [ sig_port, fixed_ips, 0, ip_address ] }
diff --git a/vellum.yaml b/vellum.yaml
-index aab71f9..375b3d8 100644
+index aab71f9..de15fcf 100644
--- a/vellum.yaml
+++ b/vellum.yaml
@@ -23,26 +23,6 @@ parameters:
@@ -1694,7 +1721,7 @@ index aab71f9..375b3d8 100644
user_data_format: RAW
user_data:
str_replace:
-@@ -141,47 +112,19 @@ resources:
+@@ -141,51 +112,22 @@ resources:
__zone__: { get_param: zone }
__public_mgmt_ip__: { get_attr: [ mgmt_floating_ip, floating_ip_address ] }
__private_mgmt_ip__: { get_attr: [ mgmt_port, fixed_ips, 0, ip_address ] }
@@ -1744,8 +1771,13 @@ index aab71f9..375b3d8 100644
+ sysctl -w net.ipv6.conf.lo.disable_ipv6=0
# Configure the APT software source.
- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
-@@ -193,11 +136,8 @@ resources:
+- echo 'deb __repo_url__ binary/' > /etc/apt/sources.list.d/clearwater.list
+- curl -L http://repo.cw-ngv.com/repo_key | apt-key add -
++ echo 'deb http://artifacts.opnfv.org/functest/clearwater/debian ./' > /etc/apt/sources.list.d/clearwater.list
+ apt-get update
+
+ # Configure /etc/clearwater/local_config.
+@@ -193,11 +135,8 @@ resources:
etcd_ip=__etcd_ip__
[ -n "$etcd_ip" ] || etcd_ip=__private_mgmt_ip__
cat > /etc/clearwater/local_config << EOF
@@ -1759,7 +1791,7 @@ index aab71f9..375b3d8 100644
public_hostname=__index__.vellum.__zone__
etcd_cluster=$etcd_ip
EOF
-@@ -206,7 +146,7 @@ resources:
+@@ -206,7 +145,7 @@ resources:
mkdir -p /etc/chronos
cat > /etc/chronos/chronos.conf << EOF
[http]
@@ -1768,7 +1800,7 @@ index aab71f9..375b3d8 100644
bind-port = 7253
threads = 50
-@@ -218,7 +158,7 @@ resources:
+@@ -218,7 +157,7 @@ resources:
enabled = true
[dns]
@@ -1777,7 +1809,7 @@ index aab71f9..375b3d8 100644
EOF
# Now install the software.
-@@ -239,7 +179,7 @@ resources:
+@@ -239,7 +178,7 @@ resources:
while ! { nsupdate -y "__zone__:__dnssec_key__" -v << EOF
server __dns_mgmt_ip__
update add vellum-__index__.__zone__. 30 $(ip2rr __public_mgmt_ip__)
@@ -1786,7 +1818,7 @@ index aab71f9..375b3d8 100644
send
EOF
} && [ $retries -lt 10 ]
-@@ -252,10 +192,19 @@ resources:
+@@ -252,10 +191,19 @@ resources:
# Use the DNS server.
echo 'nameserver __dns_mgmt_ip__' > /etc/dnsmasq.resolv.conf
echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq
@@ -1808,7 +1840,7 @@ index aab71f9..375b3d8 100644
outputs:
public_mgmt_ip:
description: IP address in public management network
-@@ -263,6 +212,3 @@ outputs:
+@@ -263,6 +211,3 @@ outputs:
private_mgmt_ip:
description: IP address in private management network
value: { get_attr: [ mgmt_port, fixed_ips, 0, ip_address ] }
diff --git a/docker/vnf/cloudify-rest-client-py3.patch b/docker/vnf/cloudify-rest-client-py3.patch
deleted file mode 100644
index ef47e1aa3..000000000
--- a/docker/vnf/cloudify-rest-client-py3.patch
+++ /dev/null
@@ -1,234 +0,0 @@
-diff --git a/cloudify_rest_client/aria/mapi/mapi.py b/cloudify_rest_client/aria/mapi/mapi.py
-index 401c9de..5c4fa76 100644
---- a/cloudify_rest_client/aria/mapi/mapi.py
-+++ b/cloudify_rest_client/aria/mapi/mapi.py
-@@ -88,7 +88,7 @@ class RESTMAPI(api.ModelAPI):
- wrapper = wrappers.DictWrapper
- kw = dict(
- (key, self._wrap(value, '/'.join([attribute_path, key])))
-- for key, value in value.items()
-+ for key, value in list(value.items())
- )
- elif isinstance(value, list):
- wrapper = wrappers.ListWrapper
-diff --git a/cloudify_rest_client/aria/mapi/wrappers.py b/cloudify_rest_client/aria/mapi/wrappers.py
-index bdee6de..13af062 100644
---- a/cloudify_rest_client/aria/mapi/wrappers.py
-+++ b/cloudify_rest_client/aria/mapi/wrappers.py
-@@ -71,7 +71,7 @@ class DictWrapper(dict, WrapperBase):
- )
-
- def itervalues(self):
-- return iter(self.values())
-+ return iter(list(self.values()))
-
- def items(self):
- return [
-@@ -81,7 +81,7 @@ class DictWrapper(dict, WrapperBase):
- ]
-
- def iteritems(self):
-- return iter(self.items())
-+ return iter(list(self.items()))
-
- def keys(self):
- return [
-@@ -91,10 +91,10 @@ class DictWrapper(dict, WrapperBase):
- ]
-
- def iterkeys(self):
-- return iter(self.keys())
-+ return iter(list(self.keys()))
-
- def __iter__(self):
-- return self.iterkeys()
-+ return iter(self.keys())
-
-
- class ListWrapper(list, WrapperBase):
-diff --git a/cloudify_rest_client/aria/service_templates.py b/cloudify_rest_client/aria/service_templates.py
-index 05b86df..d49a91f 100644
---- a/cloudify_rest_client/aria/service_templates.py
-+++ b/cloudify_rest_client/aria/service_templates.py
-@@ -14,8 +14,8 @@
- # * limitations under the License.
-
- import os
--import urllib
--import urlparse
-+import urllib.request, urllib.parse, urllib.error
-+import urllib.parse
- from functools import partial
-
- from .. import bytes_stream_utils
-@@ -41,14 +41,14 @@ class ServiceTemplateClient(BlueprintsClient):
-
- if application_file_name is not None:
- query_params['application_file_name'] = \
-- urllib.quote(application_file_name)
-+ urllib.parse.quote(application_file_name)
-
- uri = '/{self._uri_prefix}/{id}'.format(self=self,
- id=service_template_id)
-
- # For a Windows path (e.g. "C:\aaa\bbb.zip") scheme is the
- # drive letter and therefore the 2nd condition is present
-- if urlparse.urlparse(archive_location).scheme and \
-+ if urllib.parse.urlparse(archive_location).scheme and \
- not os.path.exists(archive_location):
- # archive location is URL
- query_params['service_template_csar_url'] = archive_location
-diff --git a/cloudify_rest_client/blueprints.py b/cloudify_rest_client/blueprints.py
-index 5d19325..5f533cc 100644
---- a/cloudify_rest_client/blueprints.py
-+++ b/cloudify_rest_client/blueprints.py
-@@ -16,8 +16,8 @@
- import os
- import tempfile
- import shutil
--import urllib
--import urlparse
-+import urllib.request, urllib.parse, urllib.error
-+import urllib.parse
- import contextlib
-
- from cloudify_rest_client import utils
-@@ -95,13 +95,13 @@ class BlueprintsClient(object):
- query_params = {'visibility': visibility}
- if application_file_name is not None:
- query_params['application_file_name'] = \
-- urllib.quote(application_file_name)
-+ urllib.parse.quote(application_file_name)
-
- uri = '/{self._uri_prefix}/{id}'.format(self=self, id=blueprint_id)
-
- # For a Windows path (e.g. "C:\aaa\bbb.zip") scheme is the
- # drive letter and therefore the 2nd condition is present
-- if urlparse.urlparse(archive_location).scheme and \
-+ if urllib.parse.urlparse(archive_location).scheme and \
- not os.path.exists(archive_location):
- # archive location is URL
- query_params['blueprint_archive_url'] = archive_location
-diff --git a/cloudify_rest_client/client.py b/cloudify_rest_client/client.py
-index 84641d2..0528e66 100644
---- a/cloudify_rest_client/client.py
-+++ b/cloudify_rest_client/client.py
-@@ -144,13 +144,13 @@ class HTTPClient(object):
- verify=verify,
- timeout=timeout or self.default_timeout_sec)
- if self.logger.isEnabledFor(logging.DEBUG):
-- for hdr, hdr_content in response.request.headers.iteritems():
-+ for hdr, hdr_content in response.request.headers.items():
- self.logger.debug('request header: %s: %s'
- % (hdr, hdr_content))
- self.logger.debug('reply: "%s %s" %s'
- % (response.status_code,
- response.reason, response.content))
-- for hdr, hdr_content in response.headers.iteritems():
-+ for hdr, hdr_content in response.headers.items():
- self.logger.debug('response header: %s: %s'
- % (hdr, hdr_content))
-
-@@ -209,7 +209,7 @@ class HTTPClient(object):
- body = json.dumps(data) if is_dict_data else data
- if self.logger.isEnabledFor(logging.DEBUG):
- log_message = 'Sending request: {0} {1}'.format(
-- requests_method.func_name.upper(),
-+ requests_method.__name__.upper(),
- request_url)
- if is_dict_data:
- log_message += '; body: {0}'.format(body)
-@@ -299,8 +299,8 @@ class HTTPClient(object):
- if not username or not password:
- return None
- credentials = '{0}:{1}'.format(username, password)
-- encoded_credentials = urlsafe_b64encode(credentials)
-- return BASIC_AUTH_PREFIX + ' ' + encoded_credentials
-+ encoded_credentials = urlsafe_b64encode(credentials.encode("utf-8"))
-+ return BASIC_AUTH_PREFIX + ' ' + str(encoded_credentials, "utf-8")
-
- def _set_header(self, key, value, log_value=True):
- if not value:
-diff --git a/cloudify_rest_client/deployment_updates.py b/cloudify_rest_client/deployment_updates.py
-index 5010d86..d7db897 100644
---- a/cloudify_rest_client/deployment_updates.py
-+++ b/cloudify_rest_client/deployment_updates.py
-@@ -14,9 +14,9 @@
- # * limitations under the License.
- import os
- import json
--import urllib
-+import urllib.request, urllib.parse, urllib.error
- import shutil
--import urlparse
-+import urllib.parse
- import tempfile
- from mimetypes import MimeTypes
-
-@@ -129,11 +129,11 @@ class DeploymentUpdatesClient(object):
-
- if application_file_name:
- params['application_file_name'] = \
-- urllib.quote(application_file_name)
-+ urllib.parse.quote(application_file_name)
-
- # For a Windows path (e.g. "C:\aaa\bbb.zip") scheme is the
- # drive letter and therefore the 2nd condition is present
-- if all([urlparse.urlparse(archive_path).scheme,
-+ if all([urllib.parse.urlparse(archive_path).scheme,
- not os.path.exists(archive_path)]):
- # archive location is URL
- params['blueprint_archive_url'] = archive_path
-@@ -142,7 +142,7 @@ class DeploymentUpdatesClient(object):
- os.path.basename(archive_path),
- open(archive_path, 'rb'),
- # Guess the archive mime type
-- mime_types.guess_type(urllib.pathname2url(archive_path)))
-+ mime_types.guess_type(urllib.request.pathname2url(archive_path)))
-
- return data_form, params
-
-diff --git a/cloudify_rest_client/plugins.py b/cloudify_rest_client/plugins.py
-index 76171b4..32e3e47 100644
---- a/cloudify_rest_client/plugins.py
-+++ b/cloudify_rest_client/plugins.py
-@@ -14,7 +14,7 @@
- # * limitations under the License.
-
- import os
--import urlparse
-+import urllib.parse
- import contextlib
-
- from cloudify_rest_client import bytes_stream_utils
-@@ -222,7 +222,7 @@ class PluginsClient(object):
- assert plugin_path
- query_params = {'visibility': visibility}
- timeout = self.api.default_timeout_sec
-- if urlparse.urlparse(plugin_path).scheme and \
-+ if urllib.parse.urlparse(plugin_path).scheme and \
- not os.path.exists(plugin_path):
- query_params['plugin_archive_url'] = plugin_path
- data = None
-diff --git a/cloudify_rest_client/snapshots.py b/cloudify_rest_client/snapshots.py
-index 851c3a3..0c40ceb 100644
---- a/cloudify_rest_client/snapshots.py
-+++ b/cloudify_rest_client/snapshots.py
-@@ -14,7 +14,7 @@
- # * limitations under the License.
-
- import os
--import urlparse
-+import urllib.parse
- import contextlib
-
- from cloudify_rest_client import bytes_stream_utils
-@@ -192,7 +192,7 @@ class SnapshotsClient(object):
- uri = '/snapshots/{0}/archive'.format(snapshot_id)
- query_params = {}
-
-- if urlparse.urlparse(snapshot_path).scheme and \
-+ if urllib.parse.urlparse(snapshot_path).scheme and \
- not os.path.exists(snapshot_path):
- query_params['snapshot_archive_url'] = snapshot_path
- data = None
diff --git a/docker/vnf/hooks/post_checkout b/docker/vnf/hooks/post_checkout
index 8d0e98124..c347524ea 100644
--- a/docker/vnf/hooks/post_checkout
+++ b/docker/vnf/hooks/post_checkout
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
from="${DOCKER_REPO%/*}/functest-core:${DOCKER_TAG}"
sed -i "s|^FROM.*$|FROM ${from}|" Dockerfile
diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml
index 7d5548b38..6b483af6a 100644
--- a/docker/vnf/testcases.yaml
+++ b/docker/vnf/testcases.yaml
@@ -2,7 +2,6 @@
tiers:
-
name: vnf
- order: 4
description: >-
Collection of VNF test cases.
testcases:
@@ -24,6 +23,8 @@ tiers:
This test case deploys an OpenSource vIMS solution from
Clearwater using the Cloudify orchestrator. It also runs
some signaling traffic.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: cloudify_ims
@@ -36,6 +37,8 @@ tiers:
This test case deploys an OpenSource vIMS solution from
Clearwater using the OpenStack Heat orchestrator.
It also runs some signaling traffic.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: heat_ims
@@ -46,6 +49,8 @@ tiers:
blocking: false
description: >-
This test case is vRouter testing.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: vyos_vrouter
@@ -57,5 +62,7 @@ tiers:
description: >-
vEPC validation with Juju as VNF manager and ABoT as test
executor.
+ dependencies:
+ - NO_TENANT_NETWORK: '^(?![tT]rue$)'
run:
name: juju_epc