# - Neutron networks, subnets and ports
# - Routers
# - Users and tenants
-# - Tacker VNFDs and VNFs
-# - Tacker SFCs and SFC classifiers
#
# Author:
# jose.lausuch@ericsson.com
# http://www.apache.org/licenses/LICENSE-2.0
#
+import yaml
+
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
+from functest.utils.constants import CONST
logger = ft_logger.Logger("openstack_snapshot").getLogger()
-OS_SNAPSHOT_FILE = ft_constants.OPENSTACK_SNAPSHOT_FILE
+OS_SNAPSHOT_FILE = CONST.openstack_snapshot_file
def separator():
volumes = os_utils.get_volumes(cinder_client)
if volumes is not None:
for volume in volumes:
- dic_volumes.update({volume.id: volume.display_name})
+ dic_volumes.update({volume.id: volume.name})
return {'volumes': dic_volumes}
return {'tenants': dic_tenants}
-def get_tacker_vnfds(tacker_client):
- logger.debug("Getting Tacker VNFDs...")
- dic_vnfds = {}
- vnfds = os_tacker.list_vnfds(tacker_client, verbose=True)['vnfds']
- if not (vnfds is None or len(vnfds) == 0):
- for vnfd in vnfds:
- dic_vnfds.update({vnfd['id']:
- vnfd['name']})
- return {'vnfds': dic_vnfds}
-
-
-def get_tacker_vnfs(tacker_client):
- logger.debug("Getting Tacker VNFs...")
- dic_vnfs = {}
- vnfs = os_tacker.list_vnfs(tacker_client, verbose=True)['vnfs']
- if not (vnfs is None or len(vnfs) == 0):
- for vnf in vnfs:
- dic_vnfs.update({vnf['id']:
- vnf['name']})
- return {'vnfs': dic_vnfs}
-
-
-def get_tacker_sfcs(tacker_client):
- logger.debug("Getting Tacker SFCs...")
- dic_sfcs = {}
- sfcs = os_tacker.list_sfcs(tacker_client, verbose=True)['sfcs']
- if not (sfcs is None or len(sfcs) == 0):
- for sfc in sfcs:
- dic_sfcs.update({sfc['id']:
- sfc['name']})
- return {'sfcs': dic_sfcs}
-
-
-def get_tacker_sfc_classifiers(tacker_client):
- logger.debug("Getting Tacker SFC classifiers...")
- dic_sfc_clfs = {}
- sfc_clfs = os_tacker.list_sfc_clasifiers(
- tacker_client, verbose=True)['sfc_classifiers']
- if not (sfc_clfs is None or len(sfc_clfs) == 0):
- for sfc_clf in sfc_clfs:
- dic_sfc_clfs.update({sfc_clf['id']:
- sfc_clf['name']})
- return {'sfc_classifiers': dic_sfc_clfs}
-
-
def main():
logger.info("Generating OpenStack snapshot...")
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()
if not os_utils.check_credentials():
logger.error("Please source the openrc credentials and run the" +
snapshot.update(get_floatinips(nova_client))
snapshot.update(get_users(keystone_client))
snapshot.update(get_tenants(keystone_client))
- snapshot.update(get_tacker_vnfds(tacker_client))
- snapshot.update(get_tacker_vnfs(tacker_client))
- snapshot.update(get_tacker_sfcs(tacker_client))
- snapshot.update(get_tacker_sfc_classifiers(tacker_client))
with open(OS_SNAPSHOT_FILE, 'w+') as yaml_file:
yaml_file.write(yaml.safe_dump(snapshot, default_flow_style=False))