X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=systest%2FMakefile;h=a5b63039a293098e540ddbf15df40235f81a1d0f;hb=499b442f67119589220a1ff144e3b26a9b7714ed;hp=fb296cca7aaeb2d7d3a70e9ef2470242d0629223;hpb=9829cae3e6c071bde28a69d5411bb895d967f010;p=osm%2Fdevops.git diff --git a/systest/Makefile b/systest/Makefile index fb296cca..a5b63039 100644 --- a/systest/Makefile +++ b/systest/Makefile @@ -18,18 +18,29 @@ # the make invocation. # eg. # export OSM_HOSTNAME=1.2.3.4:8008 -# export OS_URL=https://:5000/v2.0 +# export OS_AUTH_URL=https://:5000/v2.0 # export OS_USERNAME=admin # export OS_PASSWORD=admin # export OS_PROJECT_NAME=admin OSM_HOSTNAME ?= -OS_URL ?= +OSM_RO_HOSTNAME ?= +OS_AUTH_URL ?= OS_USERNAME ?= -OS_PASSWORD_NAME ?= +OS_PASSWORD ?= OS_PROJECT_NAME ?= +VIM_CONFIG ?= +VCD_AUTH_URL ?= +VCD_USERNAME ?= +VCD_PASSWORD ?= +VCD_TENANT_NAME ?= +VCD_ORGANIZATION ?= +VIM_EMU ?= -ifdef OS_URL - OPTION_OS_URL=--os-url $(OS_URL) +TOPDIR=$(shell readlink -f .|sed -e 's/systest.*//') + + +ifdef OS_AUTH_URL + OPTION_OS_AUTH_URL=--os-url $(OS_AUTH_URL) endif ifdef OS_USERNAME OPTION_OS_USERNAME=--os-username $(OS_USERNAME) @@ -47,13 +58,38 @@ endif ifdef TEST_NSD_DESCRIPTORS OPTION_TEST_NSD_DESCRIPTORS=--osm-nsd-descriptor-packages $(TEST_NSD_DESCRIPTORS) endif +ifdef OSM_RO_HOSTNAME + OPTION_RO_HOSTNAME=--osm_ro_host $(OSM_RO_HOSTNAME) +else + OPTION_RO_HOSTNAME=--osm_ro_host $(OSM_HOSTNAME) +endif + +ifdef VIM_CONFIG + OPTION_VIM_CONFIG=--vim-config "$(VIM_CONFIG)" +endif + +ifdef VCD_AUTH_URL + OPTION_VCD_AUTH_URL=--vcd-url $(VCD_AUTH_URL) +endif +ifdef VCD_USERNAME + OPTION_VCD_USERNAME=--vcd-username $(VCD_USERNAME) +endif +ifdef VCD_PASSWORD + OPTION_VCD_PASSWORD=--vcd-password $(VCD_PASSWORD) +endif +ifdef VCD_TENANT_NAME + OPTION_VCD_TENANT_NAME=--vcd-tenant-name $(VCD_TENANT_NAME) +endif +ifdef VCD_ORGANIZATION + OPTION_VCD_ORGANIZATION=--vcd-org $(VCD_ORGANIZATION) +endif + -DESCRIPTOR_REPO_NAME=descriptor-packages -DESCRIPTOR_BUILD_DIR := $(shell pwd)/$(DESCRIPTOR_REPO_NAME)/build -OPTION_DESCRIPTOR_BUILD_DIR=--osm-descriptor-packages $(DESCRIPTOR_BUILD_DIR) +DESCRIPTOR_DIR ?= $(TOPDIR)/descriptor-packages -TEST_OSM_NS_NAME_PREFIX=pytest-$(shell date +%D-%T)- -OPTION_TEST_OSM_NS_NAME_PREFIX=--osm-ns-name-prefix $(TEST_OSM_NS_NAME_PREFIX) +#TODO: Need to re-add this once charm application name length issue is resolved +#TEST_OSM_NS_NAME_PREFIX=pytest-$(shell date +%D-%T)- +#OPTION_TEST_OSM_NS_NAME_PREFIX=--osm-ns-name-prefix $(TEST_OSM_NS_NAME_PREFIX) JUNITXML_DIR = reports @@ -62,9 +98,6 @@ JUNITXML ?= pytest-output.xml PYTEST_OPTIONS= Q=@ -DESCRIPTOR_REPO ?= https://osm.etsi.org/gerrit/osm/$(DESCRIPTOR_REPO_NAME) - - TEST_VNFD_DESCRIPTORS ?= None TEST_NSD_DESCRIPTORS ?= None @@ -79,27 +112,36 @@ check_OSM_HOSTNAME: $(call check_env_var,OSM_HOSTNAME) check_openstack_env: - $(call check_env_var,OS_URL) + $(call check_env_var,OS_AUTH_URL) $(call check_env_var,OS_USERNAME) $(call check_env_var,OS_PASSWORD) $(call check_env_var,OS_PROJECT_NAME) -.PHONY: check_openstack_env check_OSM_HOSTNAME +check_vcd_env: + $(call check_env_var,VCD_AUTH_URL) + $(call check_env_var,VCD_USERNAME) + $(call check_env_var,VCD_PASSWORD) + $(call check_env_var,VCD_TENANT_NAME) + $(call check_env_var,VCD_ORGANIZATION) -$(DESCRIPTOR_REPO_NAME): - @test -e $(DESCRIPTOR_REPO_NAME) || git clone $(DESCRIPTOR_REPO) - make -C $(DESCRIPTOR_REPO_NAME) +.PHONY: check_openstack_env check_vcd_env check_OSM_HOSTNAME report_dir: @mkdir -p reports -_run_test: $(DESCRIPTOR_REPO_NAME) report_dir - $(Q)py.test \ - --osmhost $(OSM_HOSTNAME) \ - $(OPTION_OS_URL) \ +_run_test: report_dir + -$(Q)py.test \ + --osmhost $(OSM_HOSTNAME) --sol005 \ + $(OPTION_RO_HOSTNAME) \ + $(OPTION_OS_AUTH_URL) \ $(OPTION_OS_USERNAME) \ $(OPTION_OS_PASSWORD) \ + $(OPTION_VIM_CONFIG) \ $(OPTION_OS_PROJECT_NAME) \ + $(OPTION_VCD_AUTH_URL) \ + $(OPTION_VCD_USERNAME) \ + $(OPTION_VCD_PASSWORD) \ + $(OPTION_VCD_TENANT_NAME) \ $(OPTION_TEST_VNFD_DESCRIPTORS) \ $(OPTION_TEST_NSD_DESCRIPTORS) \ $(OPTION_DESCRIPTOR_BUILD_DIR) \ @@ -107,28 +149,110 @@ _run_test: $(DESCRIPTOR_REPO_NAME) report_dir --junitxml $(JUNITXML_DIR)/$(JUNITXML) \ $(PYTEST_OPTIONS) -cirros: check_OSM_HOSTNAME check_openstack_env +$(DESCRIPTOR_DIR)/vnfd/cirros_vnf/build/%.tar.gz: + $(MAKE) -C $(DESCRIPTOR_DIR)/vnfd/cirros_vnf + +$(DESCRIPTOR_DIR)/nsd/cirros_ns/build/%.tar.gz: + $(MAKE) -C $(DESCRIPTOR_DIR)/nsd/cirros_ns + +images/cache/cirros-0.3.5-x86_64-disk.img: + $(Q)mkdir -p images/cache + $(Q)wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -O $@ + +images/cache/Fedora-x86_64-20-20131211.1-sda-ping.qcow2: + $(Q)mkdir -p images/cache + $(Q)wget ftp://osm-download.etsi.org/examples/ping_pong_ns/images/Fedora-x86_64-20-20131211.1-sda-ping.qcow2 -O $@ + +images/cache/Fedora-x86_64-20-20131211.1-sda-pong.qcow2: + $(Q)mkdir -p images/cache + $(Q)wget ftp://osm-download.etsi.org/examples/ping_pong_ns/images/Fedora-x86_64-20-20131211.1-sda-pong.qcow2 -O $@ + +# images are prefixed with 'osm/' to separate osm uploaded images from VIM installed images +OSM_IMAGE_PREFIX ?= +sys_path ?= $(TOPDIR)systest + +ifdef VIM_EMU +# VIM emulator does not need images pushed to glance. +else +ifdef OS_AUTH_URL +images/%.qcow2 images/%.img: + $(Q)openstack image show $(OSM_IMAGE_PREFIX)$(shell basename $@) || \ + sh -c "make images/cache/$(shell basename $@) && openstack image create --file images/cache/$(shell basename $@) $(OSM_IMAGE_PREFIX)$(shell basename $@)" +endif +endif + +ifdef VCD_AUTH_URL +images/%.img: + ovf_converter images/cache/$(OSM_IMAGE_PREFIX)$(shell basename $@) -n cirros + python $(TOPDIR)tools/vmware_ovf_upload.py $(VCD_AUTH_URL) $(VCD_USERNAME) $(VCD_PASSWORD) $(VCD_ORGANIZATION) $(sys_path)/images/cache/cirros.ovf +else +images/%.img: + echo "No method selected to upload image to VIM" +endif + +%.openstack: check_openstack_env + $(Q)$(MAKE) $* + +%.vcd: check_vcd_env + $(Q)$(MAKE) $* + +cirros: check_OSM_HOSTNAME \ + $(DESCRIPTOR_DIR)/vnfd/cirros_vnf/build/cirros_vnf.tar.gz \ + $(DESCRIPTOR_DIR)/nsd/cirros_ns/build/cirros_ns.tar.gz \ + images/cirros-0.3.5-x86_64-disk.img $(Q)$(MAKE) \ - TEST_VNFD_DESCRIPTORS=$(DESCRIPTOR_BUILD_DIR)/vnfd_pkgs/cirros_vnf.tar.gz \ - TEST_NSD_DESCRIPTORS=$(DESCRIPTOR_BUILD_DIR)/nsd_pkgs/cirros_ns.tar.gz \ + TEST_VNFD_DESCRIPTORS=$(DESCRIPTOR_DIR)/vnfd/cirros_vnf/build/cirros_vnf.tar.gz \ + TEST_NSD_DESCRIPTORS=$(DESCRIPTOR_DIR)/nsd/cirros_ns/build/cirros_ns.tar.gz \ JUNITXML=pytest-$@.xml \ PYTEST_OPTIONS="$(PYTEST_OPTIONS) -m vnf" _run_test -smoke: check_OSM_HOSTNAME +ns_scale: check_OSM_HOSTNAME \ + $(DESCRIPTOR_DIR)/vnfd/cirros_vnf/build/cirros_vnf.tar.gz \ + $(DESCRIPTOR_DIR)/nsd/cirros_ns/build/cirros_ns.tar.gz \ + images/cirros-0.3.5-x86_64-disk.img $(Q)$(MAKE) \ + TEST_VNFD_DESCRIPTORS=$(DESCRIPTOR_DIR)/vnfd/cirros_vnf/build/cirros_vnf.tar.gz \ + TEST_NSD_DESCRIPTORS=$(DESCRIPTOR_DIR)/nsd/cirros_ns/build/cirros_ns.tar.gz \ JUNITXML=pytest-$@.xml \ - PYTEST_OPTIONS="$(PYTEST_OPTIONS) -m smoke" _run_test + PYTEST_OPTIONS="$(PYTEST_OPTIONS) -m ns_scale" _run_test + +smoke: check_OSM_HOSTNAME \ + $(DESCRIPTOR_DIR)/vnfd/cirros_vnf/build/cirros_vnf.tar.gz \ + $(DESCRIPTOR_DIR)/nsd/cirros_ns/build/cirros_ns.tar.gz + $(Q)$(MAKE) \ + JUNITXML=pytest-$@.xml \ + PYTEST_OPTIONS="$(PYTEST_OPTIONS) -m smoke" _run_test \ + TEST_VNFD_DESCRIPTORS=$(DESCRIPTOR_DIR)/vnfd/cirros_vnf/build/cirros_vnf.tar.gz \ + TEST_NSD_DESCRIPTORS=$(DESCRIPTOR_DIR)/nsd/cirros_ns/build/cirros_ns.tar.gz vim: check_OSM_HOSTNAME check_openstack_env $(Q)$(MAKE) \ JUNITXML=pytest-$@.xml \ PYTEST_OPTIONS="$(PYTEST_OPTIONS) -m vim" _run_test -ping_pong: check_OSM_HOSTNAME check_openstack_env +$(DESCRIPTOR_DIR)/vnfd/ping_vnf/build/%.tar.gz: + $(MAKE) -C $(DESCRIPTOR_DIR)/vnfd/ping_vnf + +$(DESCRIPTOR_DIR)/vnfd/pong_vnf/build/%.tar.gz: + $(MAKE) -C $(DESCRIPTOR_DIR)/vnfd/pong_vnf + +$(DESCRIPTOR_DIR)/nsd/ping_pong_ns/build/%.tar.gz: + $(MAKE) -C $(DESCRIPTOR_DIR)/nsd/ping_pong_ns + +ping_pong: check_OSM_HOSTNAME check_openstack_env \ + $(DESCRIPTOR_DIR)/vnfd/ping_vnf/build/ping_vnf.tar.gz \ + $(DESCRIPTOR_DIR)/vnfd/pong_vnf/build/pong_vnf.tar.gz \ + $(DESCRIPTOR_DIR)/nsd/ping_pong_ns/build/ping_pong_ns.tar.gz \ + images/Fedora-x86_64-20-20131211.1-sda-ping.qcow2 \ + images/Fedora-x86_64-20-20131211.1-sda-pong.qcow2 $(Q)$(MAKE) \ - TEST_VNFD_DESCRIPTORS="$(DESCRIPTOR_BUILD_DIR)/vnfd_pkgs/ping_vnf.tar.gz,$(DESCRIPTOR_BUILD_DIR)/vnfd_pkgs/pong_vnf.tar.gz" \ - TEST_NSD_DESCRIPTORS="$(DESCRIPTOR_BUILD_DIR)/nsd_pkgs/ping_pong_ns.tar.gz" \ + TEST_VNFD_DESCRIPTORS="$(DESCRIPTOR_DIR)/vnfd/ping_vnf/build/ping_vnf.tar.gz,$(DESCRIPTOR_DIR)/vnfd/pong_vnf/build/pong_vnf.tar.gz" \ + TEST_NSD_DESCRIPTORS=$(DESCRIPTOR_DIR)/nsd/ping_pong_ns/build/ping_pong_ns.tar.gz \ JUNITXML=pytest-$@.xml \ PYTEST_OPTIONS="$(PYTEST_OPTIONS) -m vnf" _run_test -.PHONY: report_dir cirros vim smoke ping_pong +stage_4_tests = cirros + +openstack_stage_4: $(stage_4_tests) + +.PHONY: report_dir cirros vim smoke ping_pong openstack_stage_4 stage_4_tests