Cannot use non-public images even if admin
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Rally |
Opinion
|
Undecided
|
Unassigned |
Bug Description
When using admin credentials, rally tasks cannot use non-public images.
To reproduce:
- use any benchmark task that defines a particular image name
- make sure the image is set to non-public (or change the task config to use a non public image name)
- use a deployment with admin credentials
The task will fail with an error message saying that the image is not found.
=======
Task 4884c60a-
-------
<class 'rally.
Task config is invalid.
Benchmark NovaServers.
Reason: Image with pattern '^Ubuntu Server 14.04$' not found
Benchmark configuration: {'runner': {'type': 'constant', 'concurrency': 1, 'times': 5}, 'args': {'flavor': {'name': 'm1.small'}, 'image': {'name': 'Ubuntu Server 14.04'}}, 'context': {'users': {'users_
One would expect the user name credentials would be used to access the image.
The problem happens because a different end point is being used to list the images through glance:
{'username': u'ctx_rally_
While a "rally show images" would use the proper end point:
{'username': u'admin', 'use_public_urls': False, 'region_name': None, 'permission': 'admin', 'tenant_name': u'admin', 'user_domain_name': 'Default', 'admin_port': 35357, 'domain_name': None, 'auth_url': u'http://
Rally never uses admin credentials for benchmarks directly, it creates users and tenants, and run tasks with this newly created credentials.
Not sure if we should make ability to use admin endpoint directly in benchmark