Merge "Add check for users in "deployment check""
This commit is contained in:
@@ -236,20 +236,21 @@ class DeploymentCommands(object):
|
||||
|
||||
:param deployment: a UUID or name of the deployment
|
||||
"""
|
||||
|
||||
headers = ["services", "type", "status"]
|
||||
table_rows = []
|
||||
try:
|
||||
admin = db.deployment_get(deployment)["admin"]
|
||||
# TODO(boris-42): make this work for users in future
|
||||
for endpoint_dict in [admin]:
|
||||
clients = osclients.Clients(objects.Endpoint(**endpoint_dict))
|
||||
client = clients.verified_keystone()
|
||||
print("keystone endpoints are valid and following "
|
||||
"services are available:")
|
||||
for service in client.services.list():
|
||||
data = [service.name, service.type, "Available"]
|
||||
table_rows.append(utils.Struct(**dict(zip(headers, data))))
|
||||
deployment = db.deployment_get(deployment)
|
||||
admin = deployment.get("admin")
|
||||
clients = osclients.Clients(objects.Endpoint(**admin))
|
||||
client = clients.verified_keystone()
|
||||
for service in client.services.list():
|
||||
data = [service.name, service.type, "Available"]
|
||||
table_rows.append(utils.Struct(**dict(zip(headers, data))))
|
||||
users = deployment.get("users")
|
||||
for endpoint_dict in users:
|
||||
osclients.Clients(objects.Endpoint(**endpoint_dict)).keystone()
|
||||
print(_("keystone endpoints are valid and following"
|
||||
" services are available:"))
|
||||
except exceptions.InvalidArgumentsException:
|
||||
data = ["keystone", "identity", "Error"]
|
||||
table_rows.append(utils.Struct(**dict(zip(headers, data))))
|
||||
|
||||
@@ -274,16 +274,20 @@ class DeploymentCommandsTestCase(test.TestCase):
|
||||
self.assertEqual(1, self.deployment.use(deployment_id))
|
||||
|
||||
@mock.patch("rally.osclients.Clients.verified_keystone")
|
||||
@mock.patch("rally.osclients.Clients.keystone")
|
||||
@mock.patch("rally.cli.commands.deployment.db.deployment_get")
|
||||
def test_deployment_check(self, mock_deployment_get, mock_client):
|
||||
def test_deployment_check(self, mock_deployment_get, mock_keystone,
|
||||
mock_verified_keystone):
|
||||
deployment_id = "e87e4dca-b515-4477-888d-5f6103f13b42"
|
||||
sample_endpoint = objects.Endpoint("http://192.168.1.1:5000/v2.0/",
|
||||
"admin",
|
||||
"adminpass").to_dict()
|
||||
mock_deployment_get.return_value = {"admin": sample_endpoint}
|
||||
|
||||
mock_client.services.list.return_value = []
|
||||
mock_deployment_get.return_value = {"admin": sample_endpoint,
|
||||
"users": [sample_endpoint]}
|
||||
self.deployment.check(deployment_id)
|
||||
mock_deployment_get.assert_called_once_with(deployment_id)
|
||||
mock_keystone.assert_called_once_with()
|
||||
mock_verified_keystone.assert_called_once_with()
|
||||
|
||||
@mock.patch("rally.osclients.Clients.verified_keystone")
|
||||
@mock.patch("rally.cli.commands.deployment.db.deployment_get")
|
||||
|
||||
Reference in New Issue
Block a user