Fixed merge comments
This commit is contained in:
parent
9265f2a14f
commit
8d7bf8585f
|
@ -53,10 +53,39 @@ class CleanUpClientManager(fuel_health.nmanager.OfficialClientManager):
|
|||
|
||||
time.sleep(self.build_interval)
|
||||
|
||||
|
||||
def cleanup():
|
||||
manager = CleanUpClientManager()
|
||||
|
||||
savanna_client = manager._get_savanna_client()
|
||||
if savanna_client is not None:
|
||||
savanna_clusters = savanna_client.clusters.list()
|
||||
for s in savanna_clusters:
|
||||
if s.name.startswith('ostf-test-'):
|
||||
try:
|
||||
LOG.info('Start savanna cluster deletion.')
|
||||
savanna_client.clusters.delete(s.id)
|
||||
except Exception as exc:
|
||||
LOG.debug(exc)
|
||||
pass
|
||||
savanna_clusters_template = savanna_client.cluster_templates.list()
|
||||
for s in savanna_clusters_template:
|
||||
if s.name.startswith('ostf_test-'):
|
||||
try:
|
||||
LOG.info('Start savanna cluster template deletion.')
|
||||
savanna_client.cluster_templates.delete(s.id)
|
||||
except Exception as exc:
|
||||
LOG.debug(exc)
|
||||
pass
|
||||
savanna_node_group_template = savanna_client.node_group_templates.list()
|
||||
for s in savanna_node_group_template:
|
||||
if s.name.startswith('ostf_test-'):
|
||||
try:
|
||||
LOG.info('Start savanna node group template deletion.')
|
||||
savanna_client.node_group_templates.delete(s.id)
|
||||
except Exception as exc:
|
||||
LOG.debug(exc)
|
||||
pass
|
||||
|
||||
murano_client = manager._get_murano_client()
|
||||
if murano_client is not None:
|
||||
environments = murano_client.list_environments()
|
||||
|
|
|
@ -30,6 +30,10 @@ try:
|
|||
import muranoclient.v1.client
|
||||
except:
|
||||
LOG.warning('Muranoclient could not be imported.')
|
||||
try:
|
||||
import savannaclient.api.client
|
||||
except:
|
||||
LOG.warning('Savanna client could not be imported.')
|
||||
import cinderclient.client
|
||||
import glanceclient.client
|
||||
import keystoneclient.v2_0.client
|
||||
|
@ -63,6 +67,7 @@ class OfficialClientManager(fuel_health.manager.Manager):
|
|||
self.volume_client = self._get_volume_client()
|
||||
self.heat_client = self._get_heat_client()
|
||||
self.murano_client = self._get_murano_client()
|
||||
self.savanna_client = self._get_savanna_client()
|
||||
|
||||
self.client_attr_names = [
|
||||
'compute_client',
|
||||
|
@ -71,7 +76,8 @@ class OfficialClientManager(fuel_health.manager.Manager):
|
|||
'network_client',
|
||||
'volume_client',
|
||||
'heat_client',
|
||||
'murano_client'
|
||||
'murano_client',
|
||||
'savanna_client'
|
||||
]
|
||||
|
||||
def _get_compute_client(self, username=None, password=None,
|
||||
|
@ -211,6 +217,22 @@ class OfficialClientManager(fuel_health.manager.Manager):
|
|||
token=self.token_id,
|
||||
insecure=self.insecure)
|
||||
|
||||
def _get_savanna_client(self, username=None, password=None):
|
||||
auth_url = self.config.identity.uri
|
||||
tenant_name = self.config.identity.admin_tenant_name
|
||||
savanna_ip = self.config.compute.controller_nodes[0]
|
||||
savanna_url = 'http://%s:8386/v1.0' % savanna_ip
|
||||
LOG.debug(savanna_url)
|
||||
if not username:
|
||||
username = self.config.identity.admin_username
|
||||
if not password:
|
||||
password = self.config.identity.admin_password
|
||||
return savannaclient.api.client.Client(username=username,
|
||||
api_key=password,
|
||||
project_name=tenant_name,
|
||||
auth_url=auth_url,
|
||||
savanna_url=savanna_url)
|
||||
|
||||
|
||||
class OfficialClientTest(fuel_health.test.TestCase):
|
||||
manager_class = OfficialClientManager
|
||||
|
|
|
@ -26,49 +26,8 @@ import fuel_health.nmanager as nmanager
|
|||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
try:
|
||||
import savannaclient.api.client
|
||||
except:
|
||||
LOG.warning('Savanna client could not be imported.')
|
||||
|
||||
class SavannaClientManager(nmanager.OfficialClientManager):
|
||||
"""
|
||||
Manager that provides access to the Savanna python client for
|
||||
calling Savanna API.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
"""
|
||||
This method allows to initialize authentication before
|
||||
each test case and define parameters of
|
||||
Savanna API Service
|
||||
"""
|
||||
super(SavannaClientManager, self).__init__()
|
||||
self.savanna_client = self._get_savanna_client()
|
||||
self.client_attr_names.append('savanna_client')
|
||||
|
||||
def _get_savanna_client(self, username=None, password=None):
|
||||
auth_url = self.config.identity.uri
|
||||
tenant_name = self.config.identity.admin_tenant_name
|
||||
savanna_ip = self.config.compute.controller_nodes[0]
|
||||
savanna_url = 'http://%s:8386/v1.0' % savanna_ip
|
||||
LOG.debug(savanna_url)
|
||||
if not username:
|
||||
username = self.config.identity.admin_username
|
||||
if not password:
|
||||
password = self.config.identity.admin_password
|
||||
return savannaclient.api.client.Client(username=username,
|
||||
api_key=password,
|
||||
project_name=tenant_name,
|
||||
auth_url=auth_url,
|
||||
savanna_url=savanna_url)
|
||||
|
||||
|
||||
class SavannaOfficialClientTest(nmanager.OfficialClientTest):
|
||||
manager_class = SavannaClientManager
|
||||
|
||||
|
||||
class SavannaTest(SavannaOfficialClientTest):
|
||||
class SavannaTest(nmanager.OfficialClientTest):
|
||||
"""
|
||||
Base class for openstack sanity tests for Savanna
|
||||
"""
|
||||
|
@ -97,11 +56,12 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
cls.HDP_HADOOP_USER = 'hdfs'
|
||||
cls.HDP_NODE_USERNAME = 'cloud-user'
|
||||
cls.CLUSTER_CREATION_TIMEOUT = '20'
|
||||
cls.USER_KEYPAIR_ID = 'ostf-savanna'
|
||||
cls.USER_KEYPAIR_ID = 'ostf_test-savanna'
|
||||
cls.PLUGIN_NAME = 'vanilla'
|
||||
cls.HADOOP_VERSION = '1.1.2'
|
||||
cls.IMAGE_NAME = 'savanna'
|
||||
cls.CLUSTER_NAME = 'ostf-savanna-cluster'
|
||||
cls.CLUSTER_NAME = 'ostf-test-savanna-cluster'
|
||||
cls.SAVANNA_FLAVOR = 'ostf_test-savanna-flavor'
|
||||
cls.JT_PORT = 50030
|
||||
cls.NN_PORT = 50070
|
||||
cls.TT_PORT = 50060
|
||||
|
@ -112,7 +72,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
self, client, name, plugin_name, hadoop_version, description,
|
||||
volumes_per_node, volume_size, node_processes, node_configs):
|
||||
if not self.flavors:
|
||||
flavor = self.compute_client.flavors.create('SavannaFlavor',
|
||||
flavor = self.compute_client.flavors.create(self.SAVANNA_FLAVOR,
|
||||
512, 1, 700)
|
||||
self.flavors.append(flavor.id)
|
||||
data = client.node_group_templates.create(
|
||||
|
@ -274,7 +234,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
node_group_template_tt_dn_id = \
|
||||
self._create_node_group_template_and_get_id(
|
||||
client,
|
||||
'ostf-savanna-tt-dn',
|
||||
'ostf_test-savanna-tt-dn',
|
||||
self.plugin,
|
||||
self.plugin_version,
|
||||
description='test node group template',
|
||||
|
@ -293,7 +253,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
node_group_template_tt_id = \
|
||||
self._create_node_group_template_and_get_id(
|
||||
client,
|
||||
'ostf-savanna-tt',
|
||||
'ostf_test-savanna-tt',
|
||||
self.plugin,
|
||||
self.plugin_version,
|
||||
description='test node group template',
|
||||
|
@ -311,7 +271,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
node_group_template_tt_id = \
|
||||
self._create_node_group_template_and_get_id(
|
||||
client,
|
||||
'ostf-savanna-dd',
|
||||
'ostf_test-savanna-dd',
|
||||
self.plugin,
|
||||
self.plugin_version,
|
||||
description='test node group template',
|
||||
|
@ -328,7 +288,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
def _create_cluster_template(self, client):
|
||||
cluster_template_id = self._create_cluster_template_and_get_id(
|
||||
client,
|
||||
'ostf-savanna-test-cluster-template',
|
||||
'ostf_test-savanna-cluster-template',
|
||||
self.plugin,
|
||||
self.plugin_version,
|
||||
description='test cluster template',
|
||||
|
@ -339,7 +299,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
},
|
||||
node_groups=[
|
||||
dict(
|
||||
name='master-node-jt-nn',
|
||||
name='ostf_test-master-node-jt-nn',
|
||||
flavor_id=self.flavors[0],
|
||||
node_processes=['namenode', 'jobtracker'],
|
||||
node_configs={
|
||||
|
@ -348,7 +308,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
},
|
||||
count=1),
|
||||
dict(
|
||||
name='master-node-sec-nn',
|
||||
name='ostf_test-master-node-sec-nn',
|
||||
flavor_id=self.flavors[0],
|
||||
node_processes=['secondarynamenode'],
|
||||
node_configs={
|
||||
|
@ -356,15 +316,15 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
},
|
||||
count=1),
|
||||
dict(
|
||||
name='worker-node-tt-dn',
|
||||
name='ostf_test-worker-node-tt-dn',
|
||||
node_group_template_id=self.node_groups[0],
|
||||
count=2),
|
||||
dict(
|
||||
name='worker-node-dn',
|
||||
name='ostf_test-worker-node-dn',
|
||||
node_group_template_id=self.node_groups[1],
|
||||
count=1),
|
||||
dict(
|
||||
name='worker-node-tt',
|
||||
name='ostf_test-worker-node-tt',
|
||||
node_group_template_id=self.node_groups[2],
|
||||
count=1)
|
||||
],
|
||||
|
@ -376,7 +336,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
def _create_tiny_cluster_template(self, client):
|
||||
cluster_template_id = self._create_cluster_template_and_get_id(
|
||||
client,
|
||||
'ostf-savanna-test-cluster-template',
|
||||
'ostf_test-savanna-cluster-template',
|
||||
self.plugin,
|
||||
self.plugin_version,
|
||||
description='test cluster template',
|
||||
|
@ -387,7 +347,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
},
|
||||
node_groups=[
|
||||
dict(
|
||||
name='master-node-jt-nn',
|
||||
name='ostf_test-master-node-jt-nn',
|
||||
flavor_id=self.flavors[0],
|
||||
node_processes=['namenode', 'jobtracker'],
|
||||
node_configs={
|
||||
|
@ -396,7 +356,7 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
},
|
||||
count=1),
|
||||
dict(
|
||||
name='worker-node-tt-dn',
|
||||
name='ostf_test-worker-node-tt-dn',
|
||||
node_group_template_id=self.node_groups[0],
|
||||
count=1),
|
||||
],
|
||||
|
@ -440,8 +400,8 @@ class SavannaTest(SavannaOfficialClientTest):
|
|||
if items:
|
||||
for item in items:
|
||||
try:
|
||||
client.delete(item)
|
||||
items.remove(item)
|
||||
client.delete(item)
|
||||
except RuntimeError as exc:
|
||||
cls.error_msg.append(exc)
|
||||
LOG.debug(exc)
|
||||
|
|
|
@ -22,7 +22,7 @@ from fuel_health import savanna
|
|||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class SanitySavannaTests(savanna.SavannaTest):
|
||||
class PlatformSavannaTests(savanna.SavannaTest):
|
||||
"""
|
||||
TestClass contains tests that check basic Savanna functionality.
|
||||
"""
|
||||
|
@ -32,14 +32,14 @@ class SanitySavannaTests(savanna.SavannaTest):
|
|||
"""Test create/list/start/delete Savanna cluster
|
||||
Target component: Savanna
|
||||
Scenario:
|
||||
1. Create node group template
|
||||
2. Create cluster template
|
||||
3. List node group templates
|
||||
4. List cluster templates
|
||||
5. Launch cluster
|
||||
6. Delete cluster
|
||||
7. Delete cluster template
|
||||
8. Delete node group templates
|
||||
1. Send request to create node group template
|
||||
2. Send request to create cluster template
|
||||
3. Request the list of node group templates
|
||||
4. Request the list of cluster templates
|
||||
5. Send request to launch cluster
|
||||
6. Send request to delete cluster
|
||||
7. Send request to delete cluster template
|
||||
8. Send request to delete node group templates
|
||||
Duration: 20 m.
|
||||
"""
|
||||
fail_msg = 'Fail create node group template.'
|
||||
|
|
|
@ -32,15 +32,15 @@ class SanitySavannaTests(savanna.SavannaTest):
|
|||
"""Test create/list/delete Savanna node group and cluster templates
|
||||
Target component: Savanna
|
||||
Scenario:
|
||||
1. Create node group tasktracker and datanode template
|
||||
2. Create node group tasktracker template
|
||||
3. Create node group datanode template
|
||||
4. Create cluster template
|
||||
5. List node group templates
|
||||
6. List cluster templates
|
||||
7. Delete cluster template
|
||||
8. Delete node templates
|
||||
9. Delete cluster flavors
|
||||
1. Send request to create node group task tracker and data node template
|
||||
2. Send request to create node group task tracker template
|
||||
3. Send request to create node group data node template
|
||||
4. Send request to create cluster template
|
||||
5. Request the list of node group templates
|
||||
6. Request the list of cluster templates
|
||||
7. Send request to delete cluster template
|
||||
8. Send request to delete node templates
|
||||
9. Send request to delete savanna flavor
|
||||
Duration: 20 s.
|
||||
"""
|
||||
fail_msg = 'Fail create node group tasktracker and datanode templates.'
|
||||
|
|
Loading…
Reference in New Issue