aboutsummaryrefslogtreecommitdiffstats
path: root/functest/utils
diff options
context:
space:
mode:
Diffstat (limited to 'functest/utils')
-rw-r--r--functest/utils/functest_constants.py415
-rw-r--r--functest/utils/functest_vacation.py8
-rwxr-xr-xfunctest/utils/openstack_clean.py121
-rw-r--r--functest/utils/openstack_tacker.py2
4 files changed, 322 insertions, 224 deletions
diff --git a/functest/utils/functest_constants.py b/functest/utils/functest_constants.py
index a686b194..2664ace1 100644
--- a/functest/utils/functest_constants.py
+++ b/functest/utils/functest_constants.py
@@ -60,228 +60,205 @@ def get_value(functest_config_key, env_variable):
return constant
-HOME = \
- get_value('general.directories.dir_home', 'HOME')
-REPOS_DIR = \
- get_value('general.directories.dir_repos', 'REPOS_DIR')
-FUNCTEST_BASE_DIR = \
- get_value('general.directories.dir_functest', 'FUNCTEST_BASE_DIR')
-FUNCTEST_REPO_DIR = \
- get_value('general.directories.dir_repo_functest', 'FUNCTEST_REPO_DIR')
-FUNCTEST_TEST_DIR = \
- get_value('general.directories.dir_functest_test', 'FUNCTEST_TEST_DIR')
-FUNCTEST_CONF_DIR = \
- get_value('general.directories.dir_functest_conf', 'FUNCTEST_CONF_DIR')
-FUNCTEST_DATA_DIR = \
- get_value('general.directories.dir_functest_data', 'FUNCTEST_DATA_DIR')
-FUNCTEST_RESULTS_DIR = \
- get_value('general.directories.dir_results', 'FUNCTEST_RESULTS_DIR')
-FUNCTEST_TESTCASES_YAML = \
- get_value('general.functest.testcases_yaml', 'FUNCTEST_TESTCASES_YAML')
-RALLY_DEPLOYMENT_NAME = \
- get_value('rally.deployment_name', 'RALLY_DEPLOYMENT_NAME')
-TEMPEST_REPO_DIR = \
- get_value('general.directories.dir_repo_tempest', 'TEMPEST_REPO_DIR')
+HOME = get_value('general.directories.dir_home', 'HOME')
+REPOS_DIR = get_value('general.directories.dir_repos', 'REPOS_DIR')
+FUNCTEST_BASE_DIR = get_value('general.directories.dir_functest',
+ 'FUNCTEST_BASE_DIR')
+FUNCTEST_REPO_DIR = get_value('general.directories.dir_repo_functest',
+ 'FUNCTEST_REPO_DIR')
+FUNCTEST_TEST_DIR = get_value('general.directories.dir_functest_test',
+ 'FUNCTEST_TEST_DIR')
+FUNCTEST_CONF_DIR = get_value('general.directories.dir_functest_conf',
+ 'FUNCTEST_CONF_DIR')
+FUNCTEST_DATA_DIR = get_value('general.directories.dir_functest_data',
+ 'FUNCTEST_DATA_DIR')
+FUNCTEST_RESULTS_DIR = get_value('general.directories.dir_results',
+ 'FUNCTEST_RESULTS_DIR')
+FUNCTEST_TESTCASES_YAML = get_value('general.functest.testcases_yaml',
+ 'FUNCTEST_TESTCASES_YAML')
+RALLY_DEPLOYMENT_NAME = get_value('rally.deployment_name',
+ 'RALLY_DEPLOYMENT_NAME')
+TEMPEST_REPO_DIR = get_value('general.directories.dir_repo_tempest',
+ 'TEMPEST_REPO_DIR')
ENV_FILE = os.path.join(FUNCTEST_CONF_DIR, "env_active")
-OPENSTACK_CREDS = \
- get_value('general.openstack.creds', 'creds')
-OPENSTACK_SNAPSHOT_FILE = \
- get_value('general.openstack.snapshot_file', 'OPENSTACK_SNAPSHOT_FILE')
+OPENSTACK_CREDS = get_value('general.openstack.creds', 'creds')
+OPENSTACK_SNAPSHOT_FILE = get_value('general.openstack.snapshot_file',
+ 'OPENSTACK_SNAPSHOT_FILE')
-DOMINO_REPO_DIR = \
- get_value('general.directories.dir_repo_domino', 'DOMINO_REPO_DIR')
-SDNVPN_REPO_DIR = \
- get_value('general.directories.dir_repo_sdnvpn', 'SDNVPN_REPO_DIR')
-SFC_REPO_DIR = \
- get_value('general.directories.dir_repo_sfc', 'SFC_REPO_DIR')
+DOMINO_REPO_DIR = get_value('general.directories.dir_repo_domino',
+ 'DOMINO_REPO_DIR')
+SDNVPN_REPO_DIR = get_value('general.directories.dir_repo_sdnvpn',
+ 'SDNVPN_REPO_DIR')
+SFC_REPO_DIR = get_value('general.directories.dir_repo_sfc',
+ 'SFC_REPO_DIR')
-ONOS_SFC_IMAGE_NAME = \
- get_value('onos_sfc.image_name', 'ONOS_SFC_IMAGE_NAME')
-ONOS_SFC_IMAGE_FILENAME = \
- get_value('onos_sfc.image_file_name', 'ONOS_SFC_IMAGE_FILENAME')
-ONOS_SFC_RELATIVE_PATH = \
- get_value('general.directories.dir_onos_sfc', 'ONOS_SFC_RELATIVE_PATH')
-ONOS_SFC_IMAGE_BASE_URL = \
- get_value('onos_sfc.image_base_url', 'ONOS_SFC_IMAGE_BASE_URL')
-RALLY_RELATIVE_PATH = \
- get_value('general.directories.dir_rally', 'RALLY_RELATIVE_PATH')
-RALLY_PRIVATE_NET_NAME = \
- get_value('rally.network_name', 'RALLY_PRIVATE_NET_NAME')
-RALLY_PRIVATE_SUBNET_NAME = \
- get_value('rally.subnet_name', 'RALLY_PRIVATE_SUBNET_NAME')
-RALLY_PRIVATE_SUBNET_CIDR = \
- get_value('rally.subnet_cidr', 'RALLY_PRIVATE_SUBNET_CIDR')
-RALLY_ROUTER_NAME = \
- get_value('rally.router_name', 'RALLY_ROUTER_NAME')
-RALLY_INSTALLATION_DIR = \
- get_value('general.directories.dir_rally_inst', 'RALLY_INSTALLATION_DIR')
-GLANCE_IMAGE_NAME = \
- get_value('general.openstack.image_name', 'GLANCE_IMAGE_NAME')
-GLANCE_IMAGE_FILENAME = \
- get_value('general.openstack.image_file_name', 'GLANCE_IMAGE_FILENAME')
-GLANCE_IMAGE_FORMAT = \
- get_value('general.openstack.image_disk_format', 'GLANCE_IMAGE_FORMAT')
-FLAVOR_NAME = \
- get_value('general.openstack.flavor_name', 'FLAVOR_NAME')
-FLAVOR_RAM = \
- get_value('general.openstack.flavor_ram', 'FLAVOR_RAM')
-FLAVOR_DISK = \
- get_value('general.openstack.flavor_disk', 'FLAVOR_DISK')
-FLAVOR_VCPUS = \
- get_value('general.openstack.flavor_vcpus', 'FLAVOR_VCPUS')
-TEMPEST_PRIVATE_NET_NAME = \
- get_value('tempest.private_net_name', 'TEMPEST_PRIVATE_NET_NAME')
-TEMPEST_PRIVATE_SUBNET_NAME = \
- get_value('tempest.private_subnet_name', 'TEMPEST_PRIVATE_SUBNET_NAME')
-TEMPEST_PRIVATE_SUBNET_CIDR = \
- get_value('tempest.private_subnet_cidr', 'TEMPEST_PRIVATE_SUBNET_CIDR')
-TEMPEST_ROUTER_NAME = \
- get_value('tempest.router_name', 'TEMPEST_ROUTER_NAME')
-TEMPEST_TENANT_NAME = \
- get_value('tempest.identity.tenant_name', 'TEMPEST_TENANT_NAME')
-TEMPEST_TENANT_DESCRIPTION = \
- get_value('tempest.identity.tenant_description',
- 'TEMPEST_TENANT_DESCRIPTION')
-TEMPEST_USER_NAME = \
- get_value('tempest.identity.user_name', 'TEMPEST_USER_NAME')
-TEMPEST_USER_PASSWORD = \
- get_value('tempest.identity.user_password', 'TEMPEST_USER_PASSWORD')
-TEMPEST_SSH_TIMEOUT = \
- get_value('tempest.validation.ssh_timeout', 'TEMPEST_SSH_TIMEOUT')
-TEMPEST_USE_CUSTOM_IMAGES = \
- get_value('tempest.use_custom_images', 'TEMPEST_USE_CUSTOM_IMAGES')
-TEMPEST_USE_CUSTOM_FLAVORS = \
- get_value('tempest.use_custom_flavors', 'TEMPEST_USE_CUSTOM_FLAVORS')
-TEMPEST_TEST_LIST_DIR = \
- get_value('general.directories.dir_tempest_cases', 'TEMPEST_TEST_LIST_DIR')
-NAME_VM_1 = \
- get_value('vping.vm_name_1', 'NAME_VM_1')
-NAME_VM_2 = \
- get_value('vping.vm_name_2', 'NAME_VM_2')
-PING_TIMEOUT = \
- get_value('vping.ping_timeout', 'PING_TIMEOUT')
-VPING__IMAGE_NAME = \
- get_value('vping.image_name', 'VPING__IMAGE_NAME')
-VPING_VM_FLAVOR = \
- get_value('vping.vm_flavor', 'VPING_VM_FLAVOR')
-VPING_PRIVATE_NET_NAME = \
- get_value('vping.vping_private_net_name', 'VPING_PRIVATE_NET_NAME')
-VPING_PRIVATE_SUBNET_NAME = \
- get_value('vping.vping_private_subnet_name', 'VPING_PRIVATE_SUBNET_NAME')
-VPING_PRIVATE_SUBNET_CIDR = \
- get_value('vping.vping_private_subnet_cidr', 'VPING_PRIVATE_SUBNET_CIDR')
-VPING_ROUTER_NAME = \
- get_value('vping.vping_router_name', 'VPING_ROUTER_NAME')
-VPING_SECGROUP_NAME = \
- get_value('vping.vping_sg_name', 'VPING_SECGROUP_NAME')
-VPING_SECGROUP_DESCR = \
- get_value('vping.vping_sg_descr', 'VPING_SECGROUP_DESCR')
-ONOSBENCH_USERNAME = \
- get_value('ONOS.general.onosbench_username', 'ONOSBENCH_USERNAME')
-ONOSBENCH_PASSWORD = \
- get_value('ONOS.general.onosbench_password', 'ONOSBENCH_PASSWORD')
-ONOSCLI_USERNAME = \
- get_value('ONOS.general.onoscli_username', 'ONOSCLI_USERNAME')
-ONOSCLI_PASSWORD = \
- get_value('ONOS.general.onoscli_password', 'ONOSCLI_PASSWORD')
-ONOS_RUNTIMEOUT = \
- get_value('ONOS.general.runtimeout', 'ONOS_RUNTIMEOUT')
-ONOS_OCT = \
- get_value('ONOS.environment.OCT', 'ONOS_OCT')
-ONOS_OC1 = \
- get_value('ONOS.environment.OC1', 'ONOS_OC1')
-ONOS_OC2 = \
- get_value('ONOS.environment.OC2', 'ONOS_OC2')
-ONOS_OC3 = \
- get_value('ONOS.environment.OC3', 'ONOS_OC3')
-ONOS_OCN = \
- get_value('ONOS.environment.OCN', 'ONOS_OCN')
-ONOS_OCN2 = \
- get_value('ONOS.environment.OCN2', 'ONOS_OCN2')
-ONOS_INSTALLER_MASTER = \
- get_value('ONOS.environment.installer_master', 'ONOS_INSTALLER_MASTER')
-ONOS_INSTALLER_MASTER_USERNAME = \
- get_value('ONOS.environment.installer_master_username',
- 'ONOS_INSTALLER_MASTER_USERNAME')
-ONOS_INSTALLER_MASTER_PASSWORD = \
- get_value('ONOS.environment.installer_master_password',
- 'ONOS_INSTALLER_MASTER_PASSWORD')
-PROMISE_REPO_DIR = \
- get_value('general.directories.dir_repo_promise', 'PROMISE_REPO_DIR')
-PROMISE_TENANT_NAME = \
- get_value('promise.tenant_name', 'PROMISE_TENANT_NAME')
-TENANT_DESCRIPTION = \
- get_value('promise.tenant_description', 'TENANT_DESCRIPTION')
-PROMISE_USER_NAME = \
- get_value('promise.user_name', 'PROMISE_USER_NAME')
-PROMISE_USER_PWD = \
- get_value('promise.user_pwd', 'PROMISE_USER_PWD')
-PROMISE_IMAGE_NAME = \
- get_value('promise.image_name', 'PROMISE_IMAGE_NAME')
-PROMISE_FLAVOR_NAME = \
- get_value('promise.flavor_name', 'PROMISE_FLAVOR_NAME')
-PROMISE_FLAVOR_VCPUS = \
- get_value('promise.flavor_vcpus', 'PROMISE_FLAVOR_VCPUS')
-PROMISE_FLAVOR_RAM = \
- get_value('promise.flavor_ram', 'PROMISE_FLAVOR_RAM')
-PROMISE_FLAVOR_DISK = \
- get_value('promise.flavor_disk', 'PROMISE_FLAVOR_DISK')
-PROMISE_NET_NAME = \
- get_value('promise.network_name', 'PROMISE_NET_NAME')
-PROMISE_SUBNET_NAME = \
- get_value('promise.subnet_name', 'PROMISE_SUBNET_NAME')
-PROMISE_SUBNET_CIDR = \
- get_value('promise.subnet_cidr', 'PROMISE_SUBNET_CIDR')
-PROMISE_ROUTER_NAME = \
- get_value('promise.router_name', 'PROMISE_ROUTER_NAME')
-DOCTOR_REPO_DIR = \
- get_value('general.directories.dir_repo_doctor', 'DOCTOR_REPO_DIR')
-COPPER_REPO_DIR = \
- get_value('general.directories.dir_repo_copper', 'COPPER_REPO_DIR')
-EXAMPLE_INSTANCE_NAME = \
- get_value('example.example_vm_name', 'EXAMPLE_INSTANCE_NAME')
-EXAMPLE_FLAVOR = \
- get_value('example.example_flavor', 'EXAMPLE_FLAVOR')
-EXAMPLE_IMAGE_NAME = \
- get_value('example.example_image_name', 'EXAMPLE_IMAGE_NAME')
-EXAMPLE_PRIVATE_NET_NAME = \
- get_value('example.example_private_net_name', 'EXAMPLE_PRIVATE_NET_NAME')
-EXAMPLE_PRIVATE_SUBNET_NAME = \
- get_value('example.example_private_subnet_name',
- 'EXAMPLE_PRIVATE_SUBNET_NAME')
-EXAMPLE_PRIVATE_SUBNET_CIDR = \
- get_value('example.example_private_subnet_cidr',
- 'EXAMPLE_PRIVATE_SUBNET_CIDR')
-EXAMPLE_ROUTER_NAME = \
- get_value('example.example_router_name', 'EXAMPLE_ROUTER_NAME')
-EXAMPLE_SECGROUP_NAME = \
- get_value('example.example_sg_name', 'EXAMPLE_SECGROUP_NAME')
-EXAMPLE_SECGROUP_DESCR = \
- get_value('example.example_sg_descr', 'EXAMPLE_SECGROUP_DESCR')
-VIMS_DATA_DIR = \
- get_value('general.directories.dir_vIMS_data', 'VIMS_DATA_DIR')
-VIMS_TEST_DIR = \
- get_value('general.directories.dir_repo_vims_test', 'VIMS_TEST_DIR')
-VIMS_TENANT_NAME = \
- get_value('vIMS.general.tenant_name', 'VIMS_TENANT_NAME')
-VIMS_TENANT_DESCRIPTION = \
- get_value('vIMS.general.tenant_description', 'VIMS_TENANT_DESCRIPTION')
+ONOS_SFC_IMAGE_NAME = get_value('onos_sfc.image_name',
+ 'ONOS_SFC_IMAGE_NAME')
+ONOS_SFC_IMAGE_FILENAME = get_value('onos_sfc.image_file_name',
+ 'ONOS_SFC_IMAGE_FILENAME')
+ONOS_SFC_RELATIVE_PATH = get_value('general.directories.dir_onos_sfc',
+ 'ONOS_SFC_RELATIVE_PATH')
+ONOS_SFC_IMAGE_BASE_URL = get_value('onos_sfc.image_base_url',
+ 'ONOS_SFC_IMAGE_BASE_URL')
+RALLY_RELATIVE_PATH = get_value('general.directories.dir_rally',
+ 'RALLY_RELATIVE_PATH')
+RALLY_PRIVATE_NET_NAME = get_value('rally.network_name',
+ 'RALLY_PRIVATE_NET_NAME')
+RALLY_PRIVATE_SUBNET_NAME = get_value('rally.subnet_name',
+ 'RALLY_PRIVATE_SUBNET_NAME')
+RALLY_PRIVATE_SUBNET_CIDR = get_value('rally.subnet_cidr',
+ 'RALLY_PRIVATE_SUBNET_CIDR')
+RALLY_ROUTER_NAME = get_value('rally.router_name', 'RALLY_ROUTER_NAME')
+RALLY_INSTALLATION_DIR = get_value('general.directories.dir_rally_inst',
+ 'RALLY_INSTALLATION_DIR')
+GLANCE_IMAGE_NAME = get_value('general.openstack.image_name',
+ 'GLANCE_IMAGE_NAME')
+GLANCE_IMAGE_FILENAME = get_value('general.openstack.image_file_name',
+ 'GLANCE_IMAGE_FILENAME')
+GLANCE_IMAGE_FORMAT = get_value('general.openstack.image_disk_format',
+ 'GLANCE_IMAGE_FORMAT')
+FLAVOR_NAME = get_value('general.openstack.flavor_name',
+ 'FLAVOR_NAME')
+FLAVOR_RAM = get_value('general.openstack.flavor_ram',
+ 'FLAVOR_RAM')
+FLAVOR_DISK = get_value('general.openstack.flavor_disk',
+ 'FLAVOR_DISK')
+FLAVOR_VCPUS = get_value('general.openstack.flavor_vcpus',
+ 'FLAVOR_VCPUS')
+TEMPEST_PRIVATE_NET_NAME = get_value('tempest.private_net_name',
+ 'TEMPEST_PRIVATE_NET_NAME')
+TEMPEST_PRIVATE_SUBNET_NAME = get_value('tempest.private_subnet_name',
+ 'TEMPEST_PRIVATE_SUBNET_NAME')
+TEMPEST_PRIVATE_SUBNET_CIDR = get_value('tempest.private_subnet_cidr',
+ 'TEMPEST_PRIVATE_SUBNET_CIDR')
+TEMPEST_ROUTER_NAME = get_value('tempest.router_name',
+ 'TEMPEST_ROUTER_NAME')
+TEMPEST_TENANT_NAME = get_value('tempest.identity.tenant_name',
+ 'TEMPEST_TENANT_NAME')
+TEMPEST_TENANT_DESCRIPTION = get_value('tempest.identity.tenant_description',
+ 'TEMPEST_TENANT_DESCRIPTION')
+TEMPEST_USER_NAME = get_value('tempest.identity.user_name',
+ 'TEMPEST_USER_NAME')
+TEMPEST_USER_PASSWORD = get_value('tempest.identity.user_password',
+ 'TEMPEST_USER_PASSWORD')
+TEMPEST_SSH_TIMEOUT = get_value('tempest.validation.ssh_timeout',
+ 'TEMPEST_SSH_TIMEOUT')
+TEMPEST_USE_CUSTOM_IMAGES = get_value('tempest.use_custom_images',
+ 'TEMPEST_USE_CUSTOM_IMAGES')
+TEMPEST_USE_CUSTOM_FLAVORS = get_value('tempest.use_custom_flavors',
+ 'TEMPEST_USE_CUSTOM_FLAVORS')
+TEMPEST_TEST_LIST_DIR = get_value('general.directories.dir_tempest_cases',
+ 'TEMPEST_TEST_LIST_DIR')
+NAME_VM_1 = get_value('vping.vm_name_1', 'NAME_VM_1')
+NAME_VM_2 = get_value('vping.vm_name_2', 'NAME_VM_2')
+PING_TIMEOUT = get_value('vping.ping_timeout', 'PING_TIMEOUT')
+VPING__IMAGE_NAME = get_value('vping.image_name', 'VPING__IMAGE_NAME')
+VPING_VM_FLAVOR = get_value('vping.vm_flavor', 'VPING_VM_FLAVOR')
+VPING_PRIVATE_NET_NAME = get_value('vping.vping_private_net_name',
+ 'VPING_PRIVATE_NET_NAME')
+VPING_PRIVATE_SUBNET_NAME = get_value('vping.vping_private_subnet_name',
+ 'VPING_PRIVATE_SUBNET_NAME')
+VPING_PRIVATE_SUBNET_CIDR = get_value('vping.vping_private_subnet_cidr',
+ 'VPING_PRIVATE_SUBNET_CIDR')
+VPING_ROUTER_NAME = get_value('vping.vping_router_name',
+ 'VPING_ROUTER_NAME')
+VPING_SECGROUP_NAME = get_value('vping.vping_sg_name',
+ 'VPING_SECGROUP_NAME')
+VPING_SECGROUP_DESCR = get_value('vping.vping_sg_descr',
+ 'VPING_SECGROUP_DESCR')
+ONOSBENCH_USERNAME = get_value('ONOS.general.onosbench_username',
+ 'ONOSBENCH_USERNAME')
+ONOSBENCH_PASSWORD = get_value('ONOS.general.onosbench_password',
+ 'ONOSBENCH_PASSWORD')
+ONOSCLI_USERNAME = get_value('ONOS.general.onoscli_username',
+ 'ONOSCLI_USERNAME')
+ONOSCLI_PASSWORD = get_value('ONOS.general.onoscli_password',
+ 'ONOSCLI_PASSWORD')
+ONOS_RUNTIMEOUT = get_value('ONOS.general.runtimeout',
+ 'ONOS_RUNTIMEOUT')
+ONOS_OCT = get_value('ONOS.environment.OCT', 'ONOS_OCT')
+ONOS_OC1 = get_value('ONOS.environment.OC1', 'ONOS_OC1')
+ONOS_OC2 = get_value('ONOS.environment.OC2', 'ONOS_OC2')
+ONOS_OC3 = get_value('ONOS.environment.OC3', 'ONOS_OC3')
+ONOS_OCN = get_value('ONOS.environment.OCN', 'ONOS_OCN')
+ONOS_OCN2 = get_value('ONOS.environment.OCN2', 'ONOS_OCN2')
+ONOS_INSTALLER_MASTER = get_value('ONOS.environment.installer_master',
+ 'ONOS_INSTALLER_MASTER')
+ONOS_INSTALLER_MASTER_USERNAME = get_value(
+ 'ONOS.environment.installer_master_username',
+ 'ONOS_INSTALLER_MASTER_USERNAME')
+ONOS_INSTALLER_MASTER_PASSWORD = get_value(
+ 'ONOS.environment.installer_master_password',
+ 'ONOS_INSTALLER_MASTER_PASSWORD')
+PROMISE_REPO_DIR = get_value('general.directories.dir_repo_promise',
+ 'PROMISE_REPO_DIR')
+PROMISE_TENANT_NAME = get_value('promise.tenant_name',
+ 'PROMISE_TENANT_NAME')
+TENANT_DESCRIPTION = get_value('promise.tenant_description',
+ 'TENANT_DESCRIPTION')
+PROMISE_USER_NAME = get_value('promise.user_name', 'PROMISE_USER_NAME')
+PROMISE_USER_PWD = get_value('promise.user_pwd', 'PROMISE_USER_PWD')
+PROMISE_IMAGE_NAME = get_value('promise.image_name',
+ 'PROMISE_IMAGE_NAME')
+PROMISE_FLAVOR_NAME = get_value('promise.flavor_name',
+ 'PROMISE_FLAVOR_NAME')
+PROMISE_FLAVOR_VCPUS = get_value('promise.flavor_vcpus',
+ 'PROMISE_FLAVOR_VCPUS')
+PROMISE_FLAVOR_RAM = get_value('promise.flavor_ram',
+ 'PROMISE_FLAVOR_RAM')
+PROMISE_FLAVOR_DISK = get_value('promise.flavor_disk',
+ 'PROMISE_FLAVOR_DISK')
+PROMISE_NET_NAME = get_value('promise.network_name', 'PROMISE_NET_NAME')
+PROMISE_SUBNET_NAME = get_value('promise.subnet_name',
+ 'PROMISE_SUBNET_NAME')
+PROMISE_SUBNET_CIDR = get_value('promise.subnet_cidr',
+ 'PROMISE_SUBNET_CIDR')
+PROMISE_ROUTER_NAME = get_value('promise.router_name',
+ 'PROMISE_ROUTER_NAME')
+DOCTOR_REPO_DIR = get_value('general.directories.dir_repo_doctor',
+ 'DOCTOR_REPO_DIR')
+COPPER_REPO_DIR = get_value('general.directories.dir_repo_copper',
+ 'COPPER_REPO_DIR')
+EXAMPLE_INSTANCE_NAME = get_value('example.example_vm_name',
+ 'EXAMPLE_INSTANCE_NAME')
+EXAMPLE_FLAVOR = get_value('example.example_flavor', 'EXAMPLE_FLAVOR')
+EXAMPLE_IMAGE_NAME = get_value('example.example_image_name',
+ 'EXAMPLE_IMAGE_NAME')
+EXAMPLE_PRIVATE_NET_NAME = get_value('example.example_private_net_name',
+ 'EXAMPLE_PRIVATE_NET_NAME')
+EXAMPLE_PRIVATE_SUBNET_NAME = get_value(
+ 'example.example_private_subnet_name',
+ 'EXAMPLE_PRIVATE_SUBNET_NAME')
+EXAMPLE_PRIVATE_SUBNET_CIDR = get_value(
+ 'example.example_private_subnet_cidr',
+ 'EXAMPLE_PRIVATE_SUBNET_CIDR')
+EXAMPLE_ROUTER_NAME = get_value('example.example_router_name',
+ 'EXAMPLE_ROUTER_NAME')
+EXAMPLE_SECGROUP_NAME = get_value('example.example_sg_name',
+ 'EXAMPLE_SECGROUP_NAME')
+EXAMPLE_SECGROUP_DESCR = get_value('example.example_sg_descr',
+ 'EXAMPLE_SECGROUP_DESCR')
+VIMS_DATA_DIR = get_value('general.directories.dir_vIMS_data',
+ 'VIMS_DATA_DIR')
+VIMS_TEST_DIR = get_value('general.directories.dir_repo_vims_test',
+ 'VIMS_TEST_DIR')
+VIMS_TENANT_NAME = get_value('vIMS.general.tenant_name',
+ 'VIMS_TENANT_NAME')
+VIMS_TENANT_DESCRIPTION = get_value('vIMS.general.tenant_description',
+ 'VIMS_TENANT_DESCRIPTION')
VIMS_IMAGES = get_value('vIMS.general.images', 'VIMS_IMAGES')
-CFY_MANAGER_BLUEPRINT = \
- get_value('vIMS.cloudify.blueprint', 'CFY_MANAGER_BLUEPRINT')
-CFY_MANAGER_REQUIERMENTS = \
- get_value('vIMS.cloudify.requierments', 'CFY_MANAGER_REQUIERMENTS')
-CFY_INPUTS = \
- get_value('vIMS.cloudify.inputs', 'CFY_INPUTS')
-CW_BLUEPRINT = \
- get_value('vIMS.clearwater.blueprint', 'CW_BLUEPRINT')
-CW_DEPLOYMENT_NAME = \
- get_value('vIMS.clearwater.deployment-name', 'CW_DEPLOYMENT_NAME')
-CW_INPUTS = \
- get_value('vIMS.clearwater.inputs', 'CW_INPUTS')
-CW_REQUIERMENTS = \
- get_value('vIMS.clearwater.requierments', 'CW_REQUIERMENTS')
-PARSER_REPO_DIR = \
- get_value('general.directories.dir_repo_parser', 'PARSER_REPO_DIR')
+CFY_MANAGER_BLUEPRINT = get_value('vIMS.cloudify.blueprint',
+ 'CFY_MANAGER_BLUEPRINT')
+CFY_MANAGER_REQUIERMENTS = get_value('vIMS.cloudify.requierments',
+ 'CFY_MANAGER_REQUIERMENTS')
+CFY_INPUTS = get_value('vIMS.cloudify.inputs', 'CFY_INPUTS')
+CW_BLUEPRINT = get_value('vIMS.clearwater.blueprint', 'CW_BLUEPRINT')
+CW_DEPLOYMENT_NAME = get_value('vIMS.clearwater.deployment-name',
+ 'CW_DEPLOYMENT_NAME')
+CW_INPUTS = get_value('vIMS.clearwater.inputs', 'CW_INPUTS')
+CW_REQUIERMENTS = get_value('vIMS.clearwater.requierments',
+ 'CW_REQUIERMENTS')
+PARSER_REPO_DIR = get_value('general.directories.dir_repo_parser',
+ 'PARSER_REPO_DIR')
diff --git a/functest/utils/functest_vacation.py b/functest/utils/functest_vacation.py
index 6c7312fa..c2e40b07 100644
--- a/functest/utils/functest_vacation.py
+++ b/functest/utils/functest_vacation.py
@@ -1,6 +1,6 @@
from os import environ
-from curses import initscr, curs_set, newwin, endwin,\
- KEY_RIGHT, KEY_LEFT, KEY_DOWN, KEY_UP
+from curses import initscr, curs_set, newwin, endwin
+from curses import KEY_RIGHT, KEY_LEFT, KEY_DOWN, KEY_UP
from random import randrange
@@ -48,6 +48,6 @@ def main():
print '\nSnake.PY-26lines by Kris Cieslak (defaultset.blogspot.com).'
print 'OPNFV adaptation by Functest dream team.'
- print 'Thanks for playing, your score: ' + \
- str(len(snake) - len(body) - 1) + '.'
+ score = str(len(snake) - len(body) - 1)
+ print ('Thanks for playing, your score: %s.' % score)
print 'Find and fix more bugs in your real OPNFV setup!\n'
diff --git a/functest/utils/openstack_clean.py b/functest/utils/openstack_clean.py
index 949eee90..0c3ae3e3 100755
--- a/functest/utils/openstack_clean.py
+++ b/functest/utils/openstack_clean.py
@@ -9,6 +9,8 @@
# - Neutron networks, subnets and ports
# - Routers
# - Users and tenants
+# - Tacker VNFDs and VNFs
+# - Tacker SFCs and SFC classifiers
#
# Author:
# jose.lausuch@ericsson.com
@@ -23,6 +25,7 @@
import time
import functest.utils.functest_logger as ft_logger
import functest.utils.openstack_utils as os_utils
+import functest.utils.openstack_tacker as os_tacker
import yaml
import functest.utils.functest_constants as ft_constants
@@ -369,6 +372,109 @@ def remove_tenants(keystone_client, default_tenants):
"NOT be deleted.")
+def remove_tacker_vnfds(tacker_client, default_vnfds):
+ logger.debug("Removing Tacker VNFDs...")
+ vnfds = os_tacker.list_vnfds(tacker_client, verbose=True)['vnfds']
+ if vnfds is None:
+ logger.debug("There are no Tacker VNFDs in the deployment. ")
+ return
+
+ for vnfd in vnfds:
+ vnfd_name = vnfd['name']
+ vnfd_id = vnfd['id']
+ logger.debug("'%s', ID=%s " % (vnfd_name, vnfd_id))
+ if (vnfd_id not in default_vnfds and
+ vnfd_name not in default_vnfds.values()):
+ logger.debug(" Removing '%s'..." % vnfd_name)
+ deleted = os_tacker.delete_vnfd(tacker_client, vnfd_id=vnfd_id)
+ if deleted is not None:
+ logger.debug(" > Done!")
+ else:
+ logger.error("There has been a problem removing the "
+ "VNFD '%s'(%s)..." % (vnfd_name, vnfd_id))
+ else:
+ logger.debug(" > this is a default VNFD and will "
+ "NOT be deleted.")
+
+
+def remove_tacker_vnfs(tacker_client, default_vnfs):
+ logger.debug("Removing Tacker VNFs...")
+ vnfs = os_tacker.list_vnfs(tacker_client, verbose=True)['vnfs']
+ if vnfs is None:
+ logger.debug("There are no Tacker VNFs in the deployment. ")
+ return
+
+ for vnf in vnfs:
+ vnf_name = vnf['name']
+ vnf_id = vnf['id']
+ logger.debug("'%s', ID=%s " % (vnf_name, vnf_id))
+ if (vnf_id not in default_vnfs and
+ vnf_name not in default_vnfs.values()):
+ logger.debug(" Removing '%s'..." % vnf_name)
+ deleted = os_tacker.delete_vnf(tacker_client, vnf_id=vnf_id)
+ if deleted is not None:
+ logger.debug(" > Done!")
+ else:
+ logger.error("There has been a problem removing the "
+ "VNF '%s'(%s)..." % (vnf_name, vnf_id))
+ else:
+ logger.debug(" > this is a default VNF and will "
+ "NOT be deleted.")
+
+
+def remove_tacker_sfcs(tacker_client, default_sfcs):
+ logger.debug("Removing Tacker SFCs...")
+ sfcs = os_tacker.list_sfcs(tacker_client, verbose=True)['sfcs']
+ if sfcs is None:
+ logger.debug("There are no Tacker SFCs in the deployment. ")
+ return
+
+ for sfc in sfcs:
+ sfc_name = sfc['name']
+ sfc_id = sfc['id']
+ logger.debug("'%s', ID=%s " % (sfc_name, sfc_id))
+ if (sfc_id not in default_sfcs and
+ sfc_name not in default_sfcs.values()):
+ logger.debug(" Removing '%s'..." % sfc_name)
+ deleted = os_tacker.delete_sfc(tacker_client, sfc_id=sfc_id)
+ if deleted is not None:
+ logger.debug(" > Done!")
+ else:
+ logger.error("There has been a problem removing the "
+ "SFC '%s'(%s)..." % (sfc_name, sfc_id))
+ else:
+ logger.debug(" > this is a default SFC and will "
+ "NOT be deleted.")
+
+
+def remove_tacker_sfc_classifiers(tacker_client, default_sfc_classifiers):
+ logger.debug("Removing Tacker SFC classifiers...")
+ sfc_clfs = os_tacker.list_sfc_classifiers(
+ tacker_client, verbose=True)['sfc_classfiers']
+ if sfc_clfs is None:
+ logger.debug("There are no Tacker SFC classifiers in the deployment.")
+ return
+
+ for sfc_clf in sfc_clfs:
+ sfc_clf_name = sfc_clf['name']
+ sfc_clf_id = sfc_clf['id']
+ logger.debug("'%s', ID=%s " % (sfc_clf_name, sfc_clf_id))
+ if (sfc_clf_id not in default_sfc_classifiers and
+ sfc_clf_name not in default_sfc_classifiers.values()):
+ logger.debug(" Removing '%s'..." % sfc_clf_name)
+ deleted = os_tacker.delete_sfc_classifier(
+ tacker_client, sfc_clf_id=sfc_clf_id)
+ if deleted is not None:
+ logger.debug(" > Done!")
+ else:
+ logger.error("There has been a problem removing the "
+ "SFC classifier '%s'(%s)..."
+ % (sfc_clf_name, sfc_clf_id))
+ else:
+ logger.debug(" > this is a default SFC classifier and will "
+ "NOT be deleted.")
+
+
def main():
logger.info("Cleaning OpenStack resources...")
@@ -376,6 +482,7 @@ def main():
neutron_client = os_utils.get_neutron_client()
keystone_client = os_utils.get_keystone_client()
cinder_client = os_utils.get_cinder_client()
+ tacker_client = os_tacker.get_tacker_client()
try:
with open(OS_SNAPSHOT_FILE) as f:
@@ -394,6 +501,10 @@ def main():
default_floatingips = snapshot_yaml.get('floatingips')
default_users = snapshot_yaml.get('users')
default_tenants = snapshot_yaml.get('tenants')
+ default_vnfds = snapshot_yaml.get('vnfds')
+ default_vnfs = snapshot_yaml.get('vnfs')
+ default_sfcs = snapshot_yaml.get('sfcs')
+ default_sfc_classifiers = snapshot_yaml.get('sfc_classifiers')
if not os_utils.check_credentials():
logger.error("Please source the openrc credentials and run "
@@ -416,6 +527,16 @@ def main():
separator()
remove_tenants(keystone_client, default_tenants)
separator()
+ # Note: Delete in this order
+ # 1. Classifiers, 2. SFCs, 3. VNFs, 4. VNFDs
+ remove_tacker_sfc_classifiers(tacker_client, default_sfc_classifiers)
+ separator()
+ remove_tacker_sfcs(tacker_client, default_sfcs)
+ separator()
+ remove_tacker_vnfs(tacker_client, default_vnfs)
+ separator()
+ remove_tacker_vnfds(tacker_client, default_vnfds)
+ separator()
if __name__ == '__main__':
diff --git a/functest/utils/openstack_tacker.py b/functest/utils/openstack_tacker.py
index 3a6a34d4..6ab05668 100644
--- a/functest/utils/openstack_tacker.py
+++ b/functest/utils/openstack_tacker.py
@@ -225,7 +225,7 @@ def delete_sfc(tacker_client, sfc_id=None, sfc_name=None):
return None
-def list_sfc_clasifiers(tacker_client, verbose=False):
+def list_sfc_classifiers(tacker_client, verbose=False):
try:
sfc_clfs = tacker_client.list_sfc_classifiers(retrieve_all=True)
if not verbose: