[openstacksdk][nova] distinguish image and boot from volume instances
Matt Riedemann
mriedemos at gmail.com
Fri Dec 13 16:03:47 UTC 2019
On 12/13/2019 1:48 AM, Blom, Merlin, NMU-OI wrote:
> I wrote a *function for distinguishing an image instance from an boot
> from volume instance* for billing purpose.
>
> But it does not work this way, it seems as if BfV Instances also have
> the Image property set.
>
> *Is there an elegant solution other than analyzing the volume attachment
> state?*
>
> This cloud be a problem, because an image instance cloud also have volumes.
>
> def getBootFromVolInstances(serverId):
>
> '''Determines wether an instance is a boot frome volume instance'''
>
> server = conn.compute.find_server(serverId, ignore_missing=True)
>
> if server:
>
> if server.image:
>
> return False
>
> else:
>
> return True
>
> return False
>
I don't know what client-side tooling you're using (looks like the
openstacksdk?) but a volume-backed server will have an 'image' parameter
in the response body but it should be an empty string. From the API
reference [1]:
"The UUID and links for the image for your server instance. The image
object might be an empty string when you boot the server from a volume."
[1]
https://docs.openstack.org/api-ref/compute/?expanded=show-server-details-detail#show-server-details
--
Thanks,
Matt
More information about the openstack-discuss
mailing list