puppet not able to find non-puppet managed services resources
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
puppet-keystone |
Fix Released
|
Undecided
|
Sofer Athlan-Guyot |
Bug Description
Full background: https:/
puppet keystone_endpoint provider is using service name to create the endpoints.
If the service already exists but is not managed by puppet, the catalog will fail to create the endpoint because the endpoint will fail to be created. This is an issue in openstackclient:
[stack@
No service with a type, name or ID of 'nova' exists.
while the service already exists:
[stack@
+-----
| ID | Name | Type |
+-----
| 07639ddebe7a4b2
| 1fbb6aa0bcd14f2
| 2a0c1642b4e643f
| 2b73fd25f486433
| 36fdfd3211db4c5
| 3b4189b88f584f5
| 48a0ec444d8843f
| 512b28d0ffc1402
| 55dd87d8f8b64f0
| 5d421e4aad534dc
| d043ff13fc9d446
+-----
While the bug is reported & fixed in openstackclient, we can fix it in puppet by using service ID in keystone_endpoint provider code, when creating the endpoint, instead of using the service name.
Changed in puppet-keystone: | |
assignee: | Athlan-Guyot sofer (sofer-athlan-guyot) → Gilles Dubreuil (gdubreui) |
Changed in puppet-keystone: | |
assignee: | Gilles Dubreuil (gdubreui) → Athlan-Guyot sofer (sofer-athlan-guyot) |
Changed in puppet-keystone: | |
assignee: | Athlan-Guyot sofer (sofer-athlan-guyot) → Gilles Dubreuil (gdubreui) |
Changed in puppet-keystone: | |
assignee: | Gilles Dubreuil (gdubreui) → Athlan-Guyot sofer (sofer-athlan-guyot) |
Changed in puppet-keystone: | |
status: | Fix Committed → Fix Released |
The problem here is that the endpoint resource lacks the "type" parameter. As such it's impossible for the keystone_endpoint to get the correct id of the service only with the name as the same name can appear multiple times in the db.