For keystone v3 testing, most test should based on domain scoped token but not project scoped token. And either domain_name/domain_id is required for keystone v3 domain scoped token. Rally need to pick up either domain_id or domain_name in its v3 config, in order to work with keystone v3:
Failed validating 'anyOf' in schema:
{'anyOf': [{'properties': {'admin': {'$ref': '#/definitions/user'}}, 'required': ['type', 'auth_url', 'admin']}, {'required': ['type', 'auth_url', 'users'], 'users': {'items': {'$ref': '#/definitions/user'}, 'type': 'array'}}],
'definitions': {'user': {'oneOf': [{'properties': {'tenant_name': {'type': 'string'}}, 'required': ['username', 'password', 'tenant_name']}, {'properties': {'project_domain_name': {'type': 'string'}, 'project_name': {'type': 'string'}, 'user_domain_name': {'type': 'string'}}, 'required': ['username', 'password', 'project_name']}], 'properties': {'password': {'type': 'string'}, 'username': {'type': 'string'}}, 'type': 'object'}},
'properties': {'auth_url': {'type': 'string'}, 'endpoint_type': {'enum': ['admin', 'internal', 'public'], 'type': 'string'}, 'region_name': {'type': 'string'}, 'type': {'type': 'string'}},
'type': 'object'}
Here's a test:
Project scoped token deployment looks fine, but domain scoped token deployment failed. Check the following test:
$ rally deployment create --filename=m.json --name=apaltestHAKVMv3
+--------------------------------------+----------------------------+-----------------+------------------+--------+
| uuid | created_at | name | status | active |
+--------------------------------------+----------------------------+-----------------+------------------+--------+
| 01ca22c6-9ad0-422b-ae77-7e9d863234b0 | 2015-04-07 22:33:55.921296 | apaltestHAKVMv3 | deploy->finished | |
+--------------------------------------+----------------------------+-----------------+------------------+--------+
Using deployment: 01ca22c6-9ad0-422b-ae77-7e9d863234b0
~/.rally/openrc was updated
HINTS:
* To get your cloud resources, run:
rally show [flavors|images|keypairs|networks|secgroups]
* To use standard OpenStack clients, set up your env by running:
source ~/.rally/openrc
OpenStack clients are now configured, e.g run:
glance image-list
$ rally deployment check
keystone endpoints are valid and following services are available:
+------------+---------------+-----------+
| services | type | status |
+------------+---------------+-----------+
| ceilometer | metering | Available |
| cinder | volume | Available |
| cinderv2 | volumev2 | Available |
| ec2 | ec2 | Available |
| glance | image | Available |
| heat | orchestration | Available |
| keystone | identity | Available |
| neutron | network | Available |
| nova | compute | Available |
| sherpa | hp-catalog | Available |
| swift | object-store | Available |
+------------+---------------+-----------+
2. Project scoped token deploy failed: - I just updated one line in this config -> from ""project_name": "admin"," to ""domain_name": "Default",":
For keystone v3 testing, most test should based on domain scoped token but not project scoped token. And either domain_ name/domain_ id is required for keystone v3 domain scoped token. Rally need to pick up either domain_id or domain_name in its v3 config, in order to work with keystone v3: user'}} ,
'required' : ['type', 'auth_url', 'admin']},
{'required' : ['type', 'auth_url', 'users'],
'users' : {'items': {'$ref': '#/definitions/ user'},
'type' : 'array'}}],
' required' : ['username',
'password' ,
'tenant_ name']} ,
{' properties' : {'project_ domain_ name': {'type': 'string'},
'project_ name': {'type': 'string'},
'user_domain_ name': {'type': 'string'}},
' required' : ['username',
'password' ,
'project_ name']} ],
'properties' : {'password': {'type': 'string'},
'username' : {'type': 'string'}},
'type' : 'object'}},
' endpoint_ type': {'enum': ['admin',
'internal' ,
'public' ],
'type' : 'string'},
' region_ name': {'type': 'string'},
' type': {'type': 'string'}},
Failed validating 'anyOf' in schema:
{'anyOf': [{'properties': {'admin': {'$ref': '#/definitions/
'definitions': {'user': {'oneOf': [{'properties': {'tenant_name': {'type': 'string'}},
'properties': {'auth_url': {'type': 'string'},
'type': 'object'}
Here's a test:
Project scoped token deployment looks fine, but domain scoped token deployment failed. Check the following test:
1. Project scoped token deploy:
"project_ name": "admin",
"project_ domain_ name": "Default",
"user_ domain_ name": "Default", /localhost: 5000/v3/", type": "public", share/ca- certificates/ ephemeralca- cacert. crt", insecure" : False,
$ cat m.json
{
"admin": {
"password": "admin",
"username": "admin"
},
"auth_url": "https:/
"endpoint_
"https_cacert": "/usr/local/
"https_
"region_name": "regionOne",
"type": "ExistingCloud",
}
$ rally deployment create --filename=m.json --name= apaltestHAKVMv3 ------- ------- ------- ------- ----+-- ------- ------- ------- -----+- ------- ------- --+---- ------- ------- +------ --+ ------- ------- ------- ------- ----+-- ------- ------- ------- -----+- ------- ------- --+---- ------- ------- +------ --+ 9ad0-422b- ae77-7e9d863234 b0 | 2015-04-07 22:33:55.921296 | apaltestHAKVMv3 | deploy->finished | | ------- ------- ------- ------- ----+-- ------- ------- ------- -----+- ------- ------- --+---- ------- ------- +------ --+ 9ad0-422b- ae77-7e9d863234 b0
+------
| uuid | created_at | name | status | active |
+------
| 01ca22c6-
+------
Using deployment: 01ca22c6-
~/.rally/openrc was updated
HINTS: images| keypairs| networks| secgroups]
* To get your cloud resources, run:
rally show [flavors|
* To use standard OpenStack clients, set up your env by running:
source ~/.rally/openrc
OpenStack clients are now configured, e.g run:
glance image-list
$ rally deployment check ------+ ------- ------- -+----- ------+ ------+ ------- ------- -+----- ------+ ------+ ------- ------- -+----- ------+
keystone endpoints are valid and following services are available:
+------
| services | type | status |
+------
| ceilometer | metering | Available |
| cinder | volume | Available |
| cinderv2 | volumev2 | Available |
| ec2 | ec2 | Available |
| glance | image | Available |
| heat | orchestration | Available |
| keystone | identity | Available |
| neutron | network | Available |
| nova | compute | Available |
| sherpa | hp-catalog | Available |
| swift | object-store | Available |
+------
2. Project scoped token deploy failed: - I just updated one line in this config -> from ""project_name": "admin"," to ""domain_name": "Default",":
$ cat u.json
"domain_ name": "Default",
"project_ domain_ name": "Default",
"user_ domain_ name": "Default", /localhost: 5000/v3/", type": "public", share/ca- certificates/ ephemeralca- cacert. crt", insecure" : False,
{
"admin": {
"password": "admin",
"username": "admin"
},
"auth_url": "https:/
"endpoint_
"https_cacert": "/usr/local/
"https_
"region_name": "regionOne",
"type": "ExistingCloud",
}
$ rally deployment create --filename=u.json --name= apaltestHAKVMv3 deb9-4109- a52b-f751825e7f 9c: Schema validation error. /localhost: 5000/v3/ ', 'region_name': 'regionOne', 'https_insecure': False, 'admin': {'username': 'admin', 'user_domain_name': 'Default', 'password': 'admin', 'domain_name': 'Default', 'project_ domain_ name': 'Default'}, 'https_cacert': '/usr/local/ share/ca- certificates/ ephemeralca- cacert. crt', 'type': 'ExistingCloud'} is not valid under any of the given schemas
2015-04-07 22:36:18.996 20739 ERROR rally.api [-] Deployment 44f819e6-
Config schema validation error: {'endpoint_type': 'public', 'auth_url': 'https:/
Failed validating 'anyOf' in schema: user'}} ,
'required' : ['type', 'auth_url', 'admin']},
{'required' : ['type', 'auth_url', 'users'],
'users' : {'items': {'$ref': '#/definitions/ user'},
'type' : 'array'}}],
' required' : ['username',
'password' ,
'tenant_ name']} ,
{' properties' : {'project_ domain_ name': {'type': 'string'},
'project_ name': {'type': 'string'},
'user_domain_ name': {'type': 'string'}},
' required' : ['username',
'password' ,
'project_ name']} ],
'properties' : {'password': {'type': 'string'},
'username' : {'type': 'string'}},
'type' : 'object'}},
' endpoint_ type': {'enum': ['admin',
'internal' ,
'public' ],
'type' : 'string'},
' region_ name': {'type': 'string'},
' type': {'type': 'string'}},
{'anyOf': [{'properties': {'admin': {'$ref': '#/definitions/
'definitions': {'user': {'oneOf': [{'properties': {'tenant_name': {'type': 'string'}},
'properties': {'auth_url': {'type': 'string'},
'type': 'object'}
On instance:
'password' : 'admin',
'project_ domain_ name': 'Default',
'user_ domain_ name': 'Default',
'username' : 'admin'}, /localhost: 5000/v3/ ', type': 'public', cacert' : '/usr/local/ share/ca- certificates/ ephemeralca- cacert. crt', insecure' : False,
{'admin': {'domain_name': 'Default',
'auth_url': 'https:/
'endpoint_
'https_
'https_
'region_name': 'regionOne',
'type': 'ExistingCloud'}.