Fixed merge comments

This commit is contained in:
Sergey Galkin 2013-10-02 21:07:00 +04:00
parent 9265f2a14f
commit 8d7bf8585f
5 changed files with 89 additions and 78 deletions

View File

@ -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()

View File

@ -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

View File

@ -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)

View File

@ -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.'

View File

@ -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.'