As per the openstack compute v2 docs, a GET on /v2/{tenant_id}/servers/{server_id} should return a server structure which (among other things) contains a sub-object for the image.
For example from http://developer.openstack.org/api-ref-compute-v2.html
"id": "893c7791-f1df-4c3d-8383-3caae9656c62",
"image": {
"id": "70a599e0-31e7-49b7-b260-868f441e862b",
"links": [
{
"href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
"rel": "bookmark"
}
]
},
Currently in jumpgate servers we do "try" to return this if the server was created from an image (see: https://github.com/softlayer/jumpgate/blob/master/jumpgate/compute/drivers/sl/servers.py#L621), but this case only holds if the server was created from an actual image.
As a result often a substantial amount of the servers do not have an image and thus various nova clients / consumers fail expecting to find the sub-object.
For example here: https://github.com/openstack/ceilometer/blob/master/ceilometer/nova_client.py#L99
As per the openstack compute v2 docs, a GET on /v2/{tenant_id}/servers/{server_id} should return a server structure which (among other things) contains a sub-object for the
image.For example from http://developer.openstack.org/api-ref-compute-v2.html
Currently in jumpgate servers we do "try" to return this if the server was created from an image (see: https://github.com/softlayer/jumpgate/blob/master/jumpgate/compute/drivers/sl/servers.py#L621), but this case only holds if the server was created from an actual image.
As a result often a substantial amount of the servers do not have an
imageand thus various nova clients / consumers fail expecting to find the sub-object.For example here: https://github.com/openstack/ceilometer/blob/master/ceilometer/nova_client.py#L99