X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=systest%2FMakefile;h=a5b63039a293098e540ddbf15df40235f81a1d0f;hb=85dc239b834cfe437455d0bb815c667ca905edc6;hp=ce5c68a6eeee2e4836cec8b9b3396b03b339a1ce;hpb=b884a463086b9841ef3f7b324f320db5e6e11492;p=osm%2Fdevops.git diff --git a/systest/Makefile b/systest/Makefile index ce5c68a6..a5b63039 100644 --- a/systest/Makefile +++ b/systest/Makefile @@ -23,13 +23,22 @@ # export OS_PASSWORD=admin # export OS_PROJECT_NAME=admin OSM_HOSTNAME ?= +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 ?= TOPDIR=$(shell readlink -f .|sed -e 's/systest.*//') + ifdef OS_AUTH_URL OPTION_OS_AUTH_URL=--os-url $(OS_AUTH_URL) endif @@ -49,11 +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_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 @@ -81,18 +117,31 @@ check_openstack_env: $(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) + +.PHONY: check_openstack_env check_vcd_env check_OSM_HOSTNAME report_dir: @mkdir -p reports _run_test: report_dir - $(Q)py.test \ - --osmhost $(OSM_HOSTNAME) \ + -$(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) \ @@ -106,28 +155,75 @@ $(DESCRIPTOR_DIR)/vnfd/cirros_vnf/build/%.tar.gz: $(DESCRIPTOR_DIR)/nsd/cirros_ns/build/%.tar.gz: $(MAKE) -C $(DESCRIPTOR_DIR)/nsd/cirros_ns -cirros: check_OSM_HOSTNAME check_openstack_env \ +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 + $(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 vnf" _run_test -ns_scale: check_OSM_HOSTNAME check_openstack_env \ +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 + $(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 ns_scale" _run_test -smoke: check_OSM_HOSTNAME +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 + 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) \ @@ -140,14 +236,23 @@ $(DESCRIPTOR_DIR)/vnfd/ping_vnf/build/%.tar.gz: $(DESCRIPTOR_DIR)/vnfd/pong_vnf/build/%.tar.gz: $(MAKE) -C $(DESCRIPTOR_DIR)/vnfd/pong_vnf -$(DESCRIPTOR_DIR)/vnfd/ping_pong_ns/build/%.tar.gz: +$(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 +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_DIR)/vnfd/ping_vnf/build/ping_vnf.tar.gz $(DESCRIPTOR_DIR)/vnfd/pong_vnf/build/pong_vnf.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