summaryrefslogtreecommitdiffstats
path: root/utils/openstack_tacker.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils/openstack_tacker.py')
-rw-r--r--utils/openstack_tacker.py249
1 files changed, 0 insertions, 249 deletions
diff --git a/utils/openstack_tacker.py b/utils/openstack_tacker.py
deleted file mode 100644
index 3e0c9cf45..000000000
--- a/utils/openstack_tacker.py
+++ /dev/null
@@ -1,249 +0,0 @@
-###########################################################################
-# Copyright (c) 2016 Ericsson AB and others.
-# Author: George Paraskevopoulos <geopar@intracom-telecom.com>
-#
-# Wrappers for trozet's python-tackerclient v1.0
-# (https://github.com/trozet/python-tackerclient)
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##########################################################################
-
-
-from tackerclient.v1_0 import client as tackerclient
-import functest.utils.functest_logger as ft_logger
-import functest.utils.openstack_utils as os_utils
-import yaml
-
-logger = ft_logger.Logger("tacker_utils").getLogger()
-
-
-def get_tacker_client():
- creds_tacker = os_utils.get_credentials('tacker')
- return tackerclient.Client(**creds_tacker)
-
-
-# *********************************************
-# TACKER
-# *********************************************
-def get_id_from_name(tacker_client, resource_type, resource_name):
- try:
- req_params = {'fields': 'id', 'name': resource_name}
- endpoint = '/{0}s'.format(resource_type)
- resp = tacker_client.get(endpoint, params=req_params)
- return resp[endpoint[1:]][0]['id']
- except Exception, e:
- logger.error("Error [get_id_from_name(tacker_client, "
- "resource_type, resource_name)]: %s" % e)
- return None
-
-
-def get_vnfd_id(tacker_client, vnfd_name):
- return get_id_from_name(tacker_client, 'vnfd', vnfd_name)
-
-
-def get_vnf_id(tacker_client, vnf_name):
- return get_id_from_name(tacker_client, 'vnf', vnf_name)
-
-
-def get_sfc_id(tacker_client, sfc_name):
- return get_id_from_name(tacker_client, 'sfc', sfc_name)
-
-
-def get_sfc_classifier_id(tacker_client, sfc_clf_name):
- return get_id_from_name(tacker_client, 'sfc_classifier', sfc_clf_name)
-
-
-def list_vnfds(tacker_client, verbose=False):
- try:
- vnfds = tacker_client.list_vnfds(retrieve_all=True)
- if not verbose:
- vnfds = [vnfd['id'] for vnfd in vnfds['vnfds']]
- return vnfds
- except Exception, e:
- logger.error("Error [list_vnfds(tacker_client)]: %s" % e)
- return None
-
-
-def create_vnfd(tacker_client, tosca_file=None):
- try:
- vnfd_body = {}
- if tosca_file is not None:
- with open(tosca_file) as tosca_fd:
- vnfd_body = yaml.safe_load(tosca_fd)
- return tacker_client.create_vnfd(body=vnfd_body)
- except Exception, e:
- logger.error("Error [create_vnfd(tacker_client, '%s')]: %s"
- % (tosca_file, e))
- return None
-
-
-def delete_vnfd(tacker_client, vnfd_id=None, vnfd_name=None):
- try:
- vnfd = vnfd_id
- if vnfd is None:
- if vnfd_name is None:
- raise Exception('You need to provide VNFD id or VNFD name')
- vnfd = get_vnfd_id(tacker_client, vnfd_name)
- return tacker_client.delete_vnfd(vnfd)
- except Exception, e:
- logger.error("Error [delete_vnfd(tacker_client, '%s', '%s')]: %s"
- % (vnfd_id, vnfd_name, e))
- return None
-
-
-def list_vnfs(tacker_client, verbose=False):
- try:
- vnfs = tacker_client.list_vnfs(retrieve_all=True)
- if not verbose:
- vnfs = [vnf['id'] for vnf in vnfs['vnfs']]
- return vnfs
- except Exception, e:
- logger.error("Error [list_vnfs(tacker_client)]: %s" % e)
- return None
-
-
-def create_vnf(tacker_client, vnf_name, vnfd_id=None, vnfd_name=None):
- try:
- vnf_body = {
- 'vnf': {
- 'attributes': {},
- 'name': vnf_name
- }
- }
- if vnfd_id is not None:
- vnf_body['vnf']['vnfd_id'] = vnfd_id
- else:
- if vnfd_name is None:
- raise Exception('vnfd id or vnfd name is required')
- vnf_body['vnf']['vnfd_id'] = get_vnfd_id(tacker_client, vnfd_name)
- return tacker_client.create_vnf(body=vnf_body)
- except Exception, e:
- logger.error("error [create_vnf(tacker_client, '%s', '%s', '%s')]: %s"
- % (vnf_name, vnfd_id, vnfd_name, e))
- return None
-
-
-def delete_vnf(tacker_client, vnf_id=None, vnf_name=None):
- try:
- vnf = vnf_id
- if vnf is None:
- if vnf_name is None:
- raise Exception('You need to provide a VNF id or name')
- vnf = get_vnf_id(tacker_client, vnf_name)
- return tacker_client.delete_vnf(vnf)
- except Exception, e:
- logger.error("Error [delete_vnf(tacker_client, '%s', '%s')]: %s"
- % (vnf_id, vnf_name, e))
- return None
-
-
-def list_sfcs(tacker_client, verbose=False):
- try:
- sfcs = tacker_client.list_sfcs(retrieve_all=True)
- if not verbose:
- sfcs = [sfc['id'] for sfc in sfcs['sfcs']]
- return sfcs
- except Exception, e:
- logger.error("Error [list_sfcs(tacker_client)]: %s" % e)
- return None
-
-
-def create_sfc(tacker_client, sfc_name,
- chain_vnf_ids=None,
- chain_vnf_names=None):
- try:
- sfc_body = {
- 'sfc': {
- 'attributes': {},
- 'name': sfc_name,
- 'chain': []
- }
- }
- if chain_vnf_ids is not None:
- sfc_body['sfc']['chain'] = chain_vnf_ids
- else:
- if chain_vnf_names is None:
- raise Exception('You need to provide a chain of VNFs')
- sfc_body['sfc']['chain'] = [get_vnf_id(tacker_client, name)
- for name in chain_vnf_names]
- return tacker_client.create_sfc(body=sfc_body)
- except Exception, e:
- logger.error("error [create_sfc(tacker_client, '%s', '%s', '%s')]: %s"
- % (sfc_name, chain_vnf_ids, chain_vnf_names, e))
- return None
-
-
-def delete_sfc(tacker_client, sfc_id=None, sfc_name=None):
- try:
- sfc = sfc_id
- if sfc is None:
- if sfc_name is None:
- raise Exception('You need to provide an SFC id or name')
- sfc = get_sfc_id(tacker_client, sfc_name)
- return tacker_client.delete_sfc(sfc)
- except Exception, e:
- logger.error("Error [delete_sfc(tacker_client, '%s', '%s')]: %s"
- % (sfc_id, sfc_name, e))
- return None
-
-
-def list_sfc_clasifiers(tacker_client, verbose=False):
- try:
- sfc_clfs = tacker_client.list_sfc_classifiers(retrieve_all=True)
- if not verbose:
- sfc_clfs = [sfc_clf['id']
- for sfc_clf in sfc_clfs['sfc_classifiers']]
- return sfc_clfs
- except Exception, e:
- logger.error("Error [list_sfc_classifiers(tacker_client)]: %s" % e)
- return None
-
-
-def create_sfc_classifier(tacker_client, sfc_clf_name, sfc_id=None,
- sfc_name=None, match={}):
- # Example match:
- # match: {
- # "source_port": "0",
- # "protocol": "6",
- # "dest_port": "80"
- # }
- try:
- sfc_clf_body = {
- 'sfc_classifier': {
- 'attributes': {},
- 'name': sfc_clf_name,
- 'match': match,
- 'chain': ''
- }
- }
- if sfc_id is not None:
- sfc_clf_body['sfc_classifier']['chain'] = sfc_id
- else:
- if sfc_name is None:
- raise Exception('You need to provide an SFC id or name')
- sfc_clf_body['sfc']['chain'] = get_sfc_id(tacker_client, sfc_name)
- return tacker_client.create_sfc_classifier(body=sfc_clf_body)
- except Exception, e:
- logger.error("error [create_sfc_classifier(tacker_client, '%s', '%s', "
- "'%s')]: %s" % (sfc_clf_name, sfc_id, sfc_name, match, e))
- return None
-
-
-def delete_sfc_classifier(tacker_client,
- sfc_clf_id=None,
- sfc_clf_name=None):
- try:
- sfc_clf = sfc_clf_id
- if sfc_clf is None:
- if sfc_clf_name is None:
- raise Exception('You need to provide an SFC'
- 'classifier id or name')
- sfc_clf = get_sfc_classifier_id(tacker_client, sfc_clf_name)
- return tacker_client.delete_sfc_classifier(sfc_clf)
- except Exception, e:
- logger.error("Error [delete_sfc_classifier(tacker_client, '%s', "
- "'%s')]: %s" % (sfc_clf_id, sfc_clf_name, e))
- return None