diff --git a/devstack/lib/rally b/devstack/lib/rally index e2c03c589d..4a0f4b0021 100644 --- a/devstack/lib/rally +++ b/devstack/lib/rally @@ -49,16 +49,13 @@ if [[ "$IDENTITY_API_VERSION" == 2.0 ]] then cat >$1 <$1 <:// example: http://172.16.0.2:35357/v2.0/", - "admin": { - "username": "admin", - "password": "pa55word", - "tenant_name": "demo" - }, - "https_insecure": false, - "https_cacert": "" - } + "openstack": { + "auth_url": "http://example.net:5000/v2.0/", + "region_name": "RegionOne", + "endpoint_type": "public", + "endpoint": "http://:// example: http://172.16.0.2:35357/v2.0/", + "admin": { + "username": "admin", + "password": "pa55word", + "tenant_name": "demo" + }, + "https_insecure": false, + "https_cacert": "" } } diff --git a/samples/deployments/existing-with-predefined-users.json b/samples/deployments/existing-with-predefined-users.json index 1b96143699..d34d1952bf 100644 --- a/samples/deployments/existing-with-predefined-users.json +++ b/samples/deployments/existing-with-predefined-users.json @@ -1,27 +1,24 @@ { - "type": "ExistingCloud", - "creds": { - "openstack": { - "auth_url": "http://example.net:5000/v2.0/", - "region_name": "RegionOne", - "endpoint_type": "public", - "admin": { - "username": "admin", - "password": "pa55word", - "tenant_name": "demo" + "openstack": { + "auth_url": "http://example.net:5000/v2.0/", + "region_name": "RegionOne", + "endpoint_type": "public", + "admin": { + "username": "admin", + "password": "pa55word", + "tenant_name": "demo" + }, + "users": [ + { + "username": "not_an_admin1", + "password": "password", + "tenant_name": "some_tenant" }, - "users": [ - { - "username": "not_an_admin1", - "password": "password", - "tenant_name": "some_tenant" - }, - { - "username": "not_an_admin2", - "password": "password2", - "tenant_name": "some_tenant2" - } - ] - } + { + "username": "not_an_admin2", + "password": "password2", + "tenant_name": "some_tenant2" + } + ] } } diff --git a/samples/deployments/existing.json b/samples/deployments/existing.json index 53e12f0d47..24951a75bf 100644 --- a/samples/deployments/existing.json +++ b/samples/deployments/existing.json @@ -1,17 +1,14 @@ { - "type": "ExistingCloud", - "creds": { - "openstack": { - "auth_url": "http://example.net:5000/v2.0/", - "region_name": "RegionOne", - "endpoint_type": "public", - "admin": { - "username": "admin", - "password": "myadminpass", - "tenant_name": "demo" - }, - "https_insecure": false, - "https_cacert": "" - } + "openstack": { + "auth_url": "http://example.net:5000/v2.0/", + "region_name": "RegionOne", + "endpoint_type": "public", + "admin": { + "username": "admin", + "password": "myadminpass", + "tenant_name": "demo" + }, + "https_insecure": false, + "https_cacert": "" } } diff --git a/tests/check_samples/test_task_samples.py b/tests/check_samples/test_task_samples.py index 588684a1e1..fad1898be6 100644 --- a/tests/check_samples/test_task_samples.py +++ b/tests/check_samples/test_task_samples.py @@ -70,8 +70,7 @@ class TestTaskSamples(unittest.TestCase): user_ctx.setup() self.addCleanup(user_ctx.cleanup) - config = deployment["config"] - os_creds = config["creds"]["openstack"] + os_creds = deployment["config"]["creds"]["openstack"] user = copy.copy(os_creds["admin"]) user["username"] = ctx["users"][0]["credential"].username @@ -81,12 +80,12 @@ class TestTaskSamples(unittest.TestCase): user["project_name"] = ctx["users"][0]["credential"].tenant_name else: user["tenant_name"] = ctx["users"][0]["credential"].tenant_name - config["creds"]["openstack"]["users"] = [user] + os_creds["users"] = [user] rally("deployment destroy MAIN", write_report=False) deployment_cfg = os.path.join(rally.tmp_dir, "new_deployment.json") with open(deployment_cfg, "w") as f: - f.write(json.dumps(config)) + f.write(json.dumps({"openstack": os_creds})) rally("deployment create --name MAIN --filename %s" % deployment_cfg, write_report=False) diff --git a/tests/ci/osresources.py b/tests/ci/osresources.py index 2be0a537e5..fc590f13e0 100755 --- a/tests/ci/osresources.py +++ b/tests/ci/osresources.py @@ -516,7 +516,7 @@ def main(): out = subprocess.check_output(["rally", "deployment", "config", "--deployment", "devstack"]) config = json.loads(out if six.PY2 else out.decode("utf-8")) - config = config["creds"]["openstack"] + config = config["openstack"] config.update(config.pop("admin")) if "users" in config: del config["users"] diff --git a/tests/ci/rally_gate_functions.sh b/tests/ci/rally_gate_functions.sh index b7e982263a..dc4ed5abae 100644 --- a/tests/ci/rally_gate_functions.sh +++ b/tests/ci/rally_gate_functions.sh @@ -73,25 +73,22 @@ function setUp () { echo ' { - "type": "ExistingCloud", - "creds": { - "openstack": { - "users": [ - {"username": "rally-test-user-1", - "password": "rally-test-password-1", - "project_name": "rally-test-project-1", - "user_domain_name": "Default", - "project_domain_name": "Default" - }, - {"username": "rally-test-user-2", - "password": "rally-test-password-2", - "project_name": "rally-test-project-2", - "user_domain_name": "Default", - "project_domain_name": "Default" - }], - "auth_url": "'$OS_AUTH_URL'", - "region_name": "RegionOne" - } + "openstack": { + "users": [ + {"username": "rally-test-user-1", + "password": "rally-test-password-1", + "project_name": "rally-test-project-1", + "user_domain_name": "Default", + "project_domain_name": "Default" + }, + {"username": "rally-test-user-2", + "password": "rally-test-password-2", + "project_name": "rally-test-project-2", + "user_domain_name": "Default", + "project_domain_name": "Default" + }], + "auth_url": "'$OS_AUTH_URL'", + "region_name": "RegionOne" } } ' > $DEPLOYMENT_CONFIG_FILE diff --git a/tests/ci/rally_self_job.sh b/tests/ci/rally_self_job.sh index 6ee43f1bb9..5960c65b1b 100755 --- a/tests/ci/rally_self_job.sh +++ b/tests/ci/rally_self_job.sh @@ -32,7 +32,7 @@ sed -i.bak "s|#connection =.*|connection = \"$DBCONNSTRING\"|" $TMP_RALLY_CONF rally-manage --config-file $TMP_RALLY_CONF db create # Create self deployment -echo '{"type": "ExistingCloud", "creds": {}}' > $TMP_RALLY_DEPLOYMENT +echo '{}' > $TMP_RALLY_DEPLOYMENT $RALLY -d deployment create --file=$TMP_RALLY_DEPLOYMENT --name=self # Run task diff --git a/tests/unit/test_api.py b/tests/unit/test_api.py index 04a1b35f7b..d600fb7d86 100644 --- a/tests/unit/test_api.py +++ b/tests/unit/test_api.py @@ -34,18 +34,19 @@ from tests.unit import test FAKE_DEPLOYMENT_CONFIG = { # TODO(akscram): A fake engine is more suitable for that. "type": "ExistingCloud", - "auth_url": "http://example.net:5000/v2.0/", - "admin": { - "username": "admin", - "password": "myadminpass", - "tenant_name": "demo", - "domain_name": None, - "project_domain_name": "Default", - "user_domain_name": "Default", - "profiler_hmac_key": None - }, - "region_name": "RegionOne", - "endpoint_type": consts.EndpointType.INTERNAL, + "creds": {"openstack": { + "auth_url": "http://example.net:5000/v2.0/", + "admin": { + "username": "admin", + "password": "myadminpass", + "tenant_name": "demo", + "domain_name": None, + "project_domain_name": "Default", + "user_domain_name": "Default", + "profiler_hmac_key": None + }, + "region_name": "RegionOne", + "endpoint_type": consts.EndpointType.INTERNAL}} } @@ -610,8 +611,8 @@ class BaseDeploymentTestCase(test.TestCase): self.deployment_inst = api._Deployment(mock_api) self.deployment_config = copy.deepcopy(FAKE_DEPLOYMENT_CONFIG) self.deployment_uuid = "599bdf1d-fe77-461a-a810-d59b1490f4e3" - admin_credential = copy.deepcopy(FAKE_DEPLOYMENT_CONFIG) - admin_credential.pop("type") + creds = copy.deepcopy(FAKE_DEPLOYMENT_CONFIG)["creds"] + admin_credential = creds["openstack"] admin_credential["endpoint"] = None admin_credential.update(admin_credential.pop("admin")) admin_credential["permission"] = consts.EndpointPermission.ADMIN @@ -719,12 +720,14 @@ class DeploymentAPITestCase(BaseDeploymentTestCase): mock_deployment_get.return_value = self.deployment mock_deployment_update.return_value = self.deployment config = copy.deepcopy(self.deployment_config) - config["admin"] = {"username": "admin", - "password": "pass1", - "tenant_name": "demo"} - config["users"] = [{"username": "user1", - "password": "pass2", - "tenant_name": "demo"}] + config["creds"]["openstack"]["admin"] = { + "username": "admin", + "password": "pass1", + "tenant_name": "demo"} + config["creds"]["openstack"]["users"] = [ + {"username": "user1", + "password": "pass2", + "tenant_name": "demo"}] self.deployment_inst.recreate(deployment=self.deployment_uuid, config=config) @@ -767,7 +770,10 @@ class DeploymentAPITestCase(BaseDeploymentTestCase): mock_deployment_get.return_value = self.deployment ret = self.deployment_inst.get(deployment=deployment_id) for key in self.deployment: - self.assertEqual(ret[key], self.deployment[key]) + self.assertIn(key, ret) + if key != "config": + self.assertEqual(self.deployment[key], ret[key]) + self.assertEqual(self.deployment_config["creds"], ret["config"]) @mock.patch("rally.common.objects.Deployment.list") def test_list(self, mock_deployment_list):