Re: [Openstack] Anyone using instance metadata?
On 07/04/2012 06:20 PM, Steve Baker wrote: snip To fix this semantic clash I would advocate adopting Amazon's Tags terminology but I won't be pushing this too hard since I'm new here ;) rant I've been saying this for years now. Metadata is absolutely used incorrectly in the Compute and Images APIs. Metadata is data *about* data. For example, the length of a string is metadata. The contents of the string is the data. The length is data about that data. /rant Tags are a more appropriate term for strings attached to a resource. I still don't particularly understand the incessant need for key/value pairs, frankly. There's nothing that searching an architecture key for the value x86_64 gets you over searching a tags collection for x86_64 other than perhaps easier aggregation and grouping on a key. But for this kind of stuff, I just don't see the point of the more-complicated key/value pairs over a collection of string tags. Best, -jay ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Anyone using instance metadata?
We are using metadata tags to maintain assorted information about instances that doesn't have to be provided to the instance it's self. Things like letting users assign notes to their instances which shouldn't be exposed as userdata (which we use to configure the machines). It would be really nice to have metadata exposed via the ec2 compatibility api with create_tags() and the like as right now, I have to create an exception to set tags on instances differently when they are created in openstack vs amazon. On Tue, Jul 3, 2012 at 6:10 PM, Steve Baker st...@stevebaker.org wrote: Hi Vish On Wed, Jul 4, 2012 at 6:28 AM, Vishvananda Ishaya vishvana...@gmail.com wrote: Metadata is supposed to be user tags that are associated with a guest that are available via the api. We discussed displaying these tags inside the guest as well. I've just been looking into what is already in place to implement the CreateTags, DeleteTags, DescribeTags API and I also came across the *_instance_metadata compute API. http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_API The tags API can add tags to a number of resource types, but currently there only seems to be a metadata tables for instances and volumes. Would there be interest in me working on a change to implement CreateTags, DeleteTags, DescribeTags for instances and volumes? Later changes could add new metadata tables for the other taggable resource types. cheers ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Anyone using instance metadata?
On Thu, Jul 5, 2012 at 1:11 AM, Day, Phil philip@hp.com wrote: I'm getting lost in the naming of things here, it seems like we're saying: user-data is per instance data defined by the system and make accessible by the metadata service and meta-data is per instance data defined by the user via the API and injected into the instance or made available by the config drive Something in those definitions of meta-data and user-data just seems confusing to me ;-) Actually its worse than that, instance metadata is currently the label for two completely unrelated things in OpenStack, and knowing which one is being referred to seems to depend entirely on the context :) user-data is a chunk of data that can be set when an instance is not running and is accessible from within the instance when it is running. It could be used to store configuration, a script, or anything the tenant wants. In Nova, instance meta-data is a collection of key/value pairs associated to an instance. They can be read and written to at any time during the instance lifetime, from inside and outside the instance using the nova compute API (and eventually EC2 API, Horizon, etc). A snapshot of the instance meta-data at instance startup is made available by the config drive (but maybe it shouldn't?). Amazon calls this feature Tags; EC2 can associate tags to a number of resource types including instances. http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_API Here is where it gets confusing, the Metadata service gives a running instance a convenient way of fetching the user-data, plus other meta data about the current running instance. People often also refer to this as instance meta-data, but you cannot query the instance associated key/value pairs via the metadata service. http://docs.openstack.org/essex/openstack-compute/admin/content/metadata-service.html To fix this semantic clash I would advocate adopting Amazon's Tags terminology but I won't be pushing this too hard since I'm new here ;) cheers ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
[Openstack] Anyone using instance metadata?
Hi, I'm looking at nova, and the compute API has 3 methods: delete_instance_metadata update_instance_metadata get_instance_metadata I know that * python nova client has * the ability to specify --meta=KEY=VALUE on instance creation * a top level subcommand 'meta' which allows set and delete of metadata keys (but no support for querying current value). * content specified on instance creation is injected into the instance's root filesystem at '/meta.js'. Or, if config_drive is given the config drive will have /meta.js What I'm missing is: * There is an 'update' for this content, implying that it is at least partially dynamic in intent, but the filesystem data passing mechanism is clearly *not* dynamic. * This data is not made available in the metadata server (http://169.254.169.254) where it *could* be dynamic. So, I'm confused on the intent of this metadata. I can't decide if it is really just supposed to be tags or more of a user-data replacement. In EC2, you can store arbitrary key/value pairs on an instance-id, ami-id, or anything else, but those values are not readable without credentials. Here, they're readable inside the instance from the filesystem. Anyone able to comment on the original intent of 'metadata'? It seems to me that if we expose this in the metadata server, then it will be a very useful feature, but one that overlaps confusingly with user-data. ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Anyone using instance metadata?
Metadata is supposed to be user tags that are associated with a guest that are available via the api. We discussed displaying these tags inside the guest as well. The main difference between user-data and metadata is that metadata is available to the api, whereas user-data is only available in the guest. Vish On Jul 3, 2012, at 10:05 AM, Scott Moser wrote: Hi, I'm looking at nova, and the compute API has 3 methods: delete_instance_metadata update_instance_metadata get_instance_metadata I know that * python nova client has * the ability to specify --meta=KEY=VALUE on instance creation * a top level subcommand 'meta' which allows set and delete of metadata keys (but no support for querying current value). * content specified on instance creation is injected into the instance's root filesystem at '/meta.js'. Or, if config_drive is given the config drive will have /meta.js What I'm missing is: * There is an 'update' for this content, implying that it is at least partially dynamic in intent, but the filesystem data passing mechanism is clearly *not* dynamic. * This data is not made available in the metadata server (http://169.254.169.254) where it *could* be dynamic. So, I'm confused on the intent of this metadata. I can't decide if it is really just supposed to be tags or more of a user-data replacement. In EC2, you can store arbitrary key/value pairs on an instance-id, ami-id, or anything else, but those values are not readable without credentials. Here, they're readable inside the instance from the filesystem. Anyone able to comment on the original intent of 'metadata'? It seems to me that if we expose this in the metadata server, then it will be a very useful feature, but one that overlaps confusingly with user-data. ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Anyone using instance metadata?
On Tue, 3 Jul 2012, Vishvananda Ishaya wrote: Metadata is supposed to be user tags that are associated with a guest that are available via the api. We discussed displaying these tags inside the guest as well. Am I reading it wrong? It seems like it *is* available inside the guest. At very least with config drive on i know it is. The main difference between user-data and metadata is that metadata is available to the api, whereas user-data is only available in the guest. So to avoid confusion, if the intent was tags, I think we should disable the 'meta.js' file injection, and get over the screams now. half and half is just confusing. Thoughts? ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Anyone using instance metadata?
On Tue, 3 Jul 2012, Vishvananda Ishaya wrote: The config drive was a later addition because we thought it might be useful. The plan was to add it to the metadata server once we had a /openstack available. The main difference between user-data and metadata is that metadata is available to the api, whereas user-data is only available in the guest. So to avoid confusion, if the intent was tags, I think we should disable the 'meta.js' file injection, and get over the screams now. half and half is just confusing. Thoughts? Seems much more useful in metadata server than in config drive, but we should probably keep the same semantics we have been discussing i.e. the same values are in both places. Config drive is information as it was during launch and metadata is current information. That does make sense. The only thing that is confusing is its similarity to user-data. putting it in the MD then leads us to the other thread/request ([Openstack] Setting VM passwords when not running on Xen) of having it be writable from the instance. ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Anyone using instance metadata?
+1 for getting over screams earlier rather than later On 7/3/12 11:51 AM, Scott Moser smo...@ubuntu.com wrote: On Tue, 3 Jul 2012, Vishvananda Ishaya wrote: Metadata is supposed to be user tags that are associated with a guest that are available via the api. We discussed displaying these tags inside the guest as well. Am I reading it wrong? It seems like it *is* available inside the guest. At very least with config drive on i know it is. The main difference between user-data and metadata is that metadata is available to the api, whereas user-data is only available in the guest. So to avoid confusion, if the intent was tags, I think we should disable the 'meta.js' file injection, and get over the screams now. half and half is just confusing. Thoughts? ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Anyone using instance metadata?
Hi Vish On Wed, Jul 4, 2012 at 6:28 AM, Vishvananda Ishaya vishvana...@gmail.com wrote: Metadata is supposed to be user tags that are associated with a guest that are available via the api. We discussed displaying these tags inside the guest as well. I've just been looking into what is already in place to implement the CreateTags, DeleteTags, DescribeTags API and I also came across the *_instance_metadata compute API. http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_API The tags API can add tags to a number of resource types, but currently there only seems to be a metadata tables for instances and volumes. Would there be interest in me working on a change to implement CreateTags, DeleteTags, DescribeTags for instances and volumes? Later changes could add new metadata tables for the other taggable resource types. cheers ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp
Re: [Openstack] Anyone using instance metadata?
It might be nice to set it up so that openstack admins can add metadata values to the metadata server for installation wide use. -Matt On Tue, Jul 3, 2012 at 3:10 PM, Steve Baker st...@stevebaker.org wrote: Hi Vish On Wed, Jul 4, 2012 at 6:28 AM, Vishvananda Ishaya vishvana...@gmail.com wrote: Metadata is supposed to be user tags that are associated with a guest that are available via the api. We discussed displaying these tags inside the guest as well. I've just been looking into what is already in place to implement the CreateTags, DeleteTags, DescribeTags API and I also came across the *_instance_metadata compute API. http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_API The tags API can add tags to a number of resource types, but currently there only seems to be a metadata tables for instances and volumes. Would there be interest in me working on a change to implement CreateTags, DeleteTags, DescribeTags for instances and volumes? Later changes could add new metadata tables for the other taggable resource types. cheers ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp