X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=systest%2FMakefile;h=929896f382aeb686e0e47bd3a8eb87bbc342e045;hb=ae7f5f30904c98a1aa6653f9e392dcdfe28d5bf3;hp=fe75754980af5b6eaafba6e004bd2e4d1be40e92;hpb=6930bc081efa6feb1a7ff8a9cded75eea807f6f5;p=osm%2Fdevops.git diff --git a/systest/Makefile b/systest/Makefile index fe757549..929896f3 100644 --- a/systest/Makefile +++ b/systest/Makefile @@ -23,10 +23,14 @@ # export OS_PASSWORD=admin # export OS_PROJECT_NAME=admin OSM_HOSTNAME ?= +OSM_RO_HOSTNAME ?= OS_AUTH_URL ?= OS_USERNAME ?= OS_PASSWORD_NAME ?= OS_PROJECT_NAME ?= +VIM_CONFIG ?= + +TOPDIR=$(shell readlink -f .|sed -e 's/systest.*//') ifdef OS_AUTH_URL OPTION_OS_AUTH_URL=--os-url $(OS_AUTH_URL) @@ -47,14 +51,22 @@ 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)" +else +endif -DESCRIPTOR_REPO_NAME = descriptor-packages -DESCRIPTOR_REPO_DIR ?= $(shell pwd)/descriptor-packages -DESCRIPTOR_BUILD_DIR := $(DESCRIPTOR_REPO_DIR)/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 @@ -63,9 +75,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 @@ -87,19 +96,17 @@ check_openstack_env: .PHONY: check_openstack_env check_OSM_HOSTNAME -descriptors: - test -e $(DESCRIPTOR_REPO_NAME) || git clone $(DESCRIPTOR_REPO) - $(MAKE) -C $(DESCRIPTOR_REPO_NAME) - report_dir: @mkdir -p reports _run_test: report_dir - $(Q)py.test \ + -$(Q)py.test \ --osmhost $(OSM_HOSTNAME) \ + $(OPTION_RO_HOSTNAME) \ $(OPTION_OS_AUTH_URL) \ $(OPTION_OS_USERNAME) \ $(OPTION_OS_PASSWORD) \ + $(OPTION_VIM_CONFIG) \ $(OPTION_OS_PROJECT_NAME) \ $(OPTION_TEST_VNFD_DESCRIPTORS) \ $(OPTION_TEST_NSD_DESCRIPTORS) \ @@ -108,27 +115,88 @@ _run_test: 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 ?= + +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 $@)" +else +images/%.img: + echo "No method selected to upload image to VIM" +endif + +cirros: check_OSM_HOSTNAME check_openstack_env \ + $(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 check_openstack_env \ + $(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