1 # Copyright 2017 Sandvine
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
17 # These variables need to be defined in environment or passed in
18 # the make invocation.
20 # export OSM_HOSTNAME=1.2.3.4:8008
21 # export OS_AUTH_URL=https://<keystoneserver>:5000/v2.0
22 # export OS_USERNAME=admin
23 # export OS_PASSWORD=admin
24 # export OS_PROJECT_NAME=admin
31 TOPDIR
=$(shell readlink
-f .|sed
-e
's/systest.*//')
34 OPTION_OS_AUTH_URL
=--os-url
$(OS_AUTH_URL
)
37 OPTION_OS_USERNAME
=--os-username
$(OS_USERNAME
)
40 OPTION_OS_PASSWORD
=--os-password
$(OS_PASSWORD
)
43 OPTION_OS_PROJECT_NAME
=--os-project-name
$(OS_PROJECT_NAME
)
46 ifdef TEST_VNFD_DESCRIPTORS
47 OPTION_TEST_VNFD_DESCRIPTORS
=--osm-vnfd-descriptor-packages
$(TEST_VNFD_DESCRIPTORS
)
49 ifdef TEST_NSD_DESCRIPTORS
50 OPTION_TEST_NSD_DESCRIPTORS
=--osm-nsd-descriptor-packages
$(TEST_NSD_DESCRIPTORS
)
53 DESCRIPTOR_DIR ?
= $(TOPDIR
)/descriptor-packages
55 TEST_OSM_NS_NAME_PREFIX
=pytest-
$(shell date
+%D-
%T
)-
56 OPTION_TEST_OSM_NS_NAME_PREFIX
=--osm-ns-name-prefix
$(TEST_OSM_NS_NAME_PREFIX
)
58 JUNITXML_DIR
= reports
60 JUNITXML ?
= pytest-output.xml
65 TEST_VNFD_DESCRIPTORS ?
= None
66 TEST_NSD_DESCRIPTORS ?
= None
69 all: smoke cirros ping_pong
72 $(Q
)if
[ -z
"$($(1))" ]; then echo
"error: $(1) not set"; exit
1; fi
76 $(call check_env_var
,OSM_HOSTNAME
)
79 $(call check_env_var
,OS_AUTH_URL
)
80 $(call check_env_var
,OS_USERNAME
)
81 $(call check_env_var
,OS_PASSWORD
)
82 $(call check_env_var
,OS_PROJECT_NAME
)
84 .PHONY
: check_openstack_env check_OSM_HOSTNAME
91 --osmhost
$(OSM_HOSTNAME
) \
92 $(OPTION_OS_AUTH_URL
) \
93 $(OPTION_OS_USERNAME
) \
94 $(OPTION_OS_PASSWORD
) \
95 $(OPTION_OS_PROJECT_NAME
) \
96 $(OPTION_TEST_VNFD_DESCRIPTORS
) \
97 $(OPTION_TEST_NSD_DESCRIPTORS
) \
98 $(OPTION_DESCRIPTOR_BUILD_DIR
) \
99 $(OPTION_TEST_OSM_NS_NAME_PREFIX
) \
100 --junitxml
$(JUNITXML_DIR
)/$(JUNITXML
) \
103 $(DESCRIPTOR_DIR
)/vnfd
/cirros_vnf
/build
/%.
tar.gz
:
104 $(MAKE
) -C
$(DESCRIPTOR_DIR
)/vnfd
/cirros_vnf
106 $(DESCRIPTOR_DIR
)/nsd
/cirros_ns
/build
/%.
tar.gz
:
107 $(MAKE
) -C
$(DESCRIPTOR_DIR
)/nsd
/cirros_ns
109 cirros
: check_OSM_HOSTNAME check_openstack_env \
110 $(DESCRIPTOR_DIR
)/vnfd
/cirros_vnf
/build
/cirros_vnf.
tar.gz \
111 $(DESCRIPTOR_DIR
)/nsd
/cirros_ns
/build
/cirros_ns.
tar.gz
113 TEST_VNFD_DESCRIPTORS
=$(DESCRIPTOR_DIR
)/vnfd
/cirros_vnf
/build
/cirros_vnf.
tar.gz \
114 TEST_NSD_DESCRIPTORS
=$(DESCRIPTOR_DIR
)/nsd
/cirros_ns
/build
/cirros_ns.
tar.gz \
115 JUNITXML
=pytest-
$@.xml \
116 PYTEST_OPTIONS
="$(PYTEST_OPTIONS) -m vnf" _run_test
118 ns_scale
: check_OSM_HOSTNAME check_openstack_env \
119 $(DESCRIPTOR_DIR
)/vnfd
/cirros_vnf
/build
/cirros_vnf.
tar.gz \
120 $(DESCRIPTOR_DIR
)/nsd
/cirros_ns
/build
/cirros_ns.
tar.gz
122 TEST_VNFD_DESCRIPTORS
=$(DESCRIPTOR_DIR
)/vnfd
/cirros_vnf
/build
/cirros_vnf.
tar.gz \
123 TEST_NSD_DESCRIPTORS
=$(DESCRIPTOR_DIR
)/nsd
/cirros_ns
/build
/cirros_ns.
tar.gz \
124 JUNITXML
=pytest-
$@.xml \
125 PYTEST_OPTIONS
="$(PYTEST_OPTIONS) -m ns_scale" _run_test
127 smoke
: check_OSM_HOSTNAME
129 JUNITXML
=pytest-
$@.xml \
130 PYTEST_OPTIONS
="$(PYTEST_OPTIONS) -m smoke" _run_test
132 vim
: check_OSM_HOSTNAME check_openstack_env
134 JUNITXML
=pytest-
$@.xml \
135 PYTEST_OPTIONS
="$(PYTEST_OPTIONS) -m vim" _run_test
137 $(DESCRIPTOR_DIR
)/vnfd
/ping_vnf
/build
/%.
tar.gz
:
138 $(MAKE
) -C
$(DESCRIPTOR_DIR
)/vnfd
/ping_vnf
140 $(DESCRIPTOR_DIR
)/vnfd
/pong_vnf
/build
/%.
tar.gz
:
141 $(MAKE
) -C
$(DESCRIPTOR_DIR
)/vnfd
/pong_vnf
143 $(DESCRIPTOR_DIR
)/nsd
/ping_pong_ns
/build
/%.
tar.gz
:
144 $(MAKE
) -C
$(DESCRIPTOR_DIR
)/nsd
/ping_pong_ns
146 ping_pong
: check_OSM_HOSTNAME check_openstack_env \
147 $(DESCRIPTOR_DIR
)/vnfd
/ping_vnf
/build
/ping_vnf.
tar.gz \
148 $(DESCRIPTOR_DIR
)/vnfd
/pong_vnf
/build
/pong_vnf.
tar.gz \
149 $(DESCRIPTOR_DIR
)/nsd
/ping_pong_ns
/build
/ping_pong_ns.
tar.gz
151 TEST_VNFD_DESCRIPTORS
="$(DESCRIPTOR_DIR)/vnfd/ping_vnf/build/ping_vnf.tar.gz,$(DESCRIPTOR_DIR)/vnfd/pong_vnf/build/pong_vnf.tar.gz" \
152 TEST_NSD_DESCRIPTORS
=$(DESCRIPTOR_DIR
)/nsd
/ping_pong_ns
/build
/ping_pong_ns.
tar.gz \
153 JUNITXML
=pytest-
$@.xml \
154 PYTEST_OPTIONS
="$(PYTEST_OPTIONS) -m vnf" _run_test
156 .PHONY
: report_dir cirros vim smoke ping_pong