Hi Derek When you use user-data, you have to provide user-data and deliver it to virtual router. Unfortunately, CloudStack only provides REST API to deliver user-data to virtual router now. This API is deployVirtualMachine that creates instance and set instance specific data.
For example, I assume you want to deliver a shell script as user-data below. ---------------------------------------------------------------------- #! /bin/sh echo "Hello user-data!" ---------------------------------------------------------------------- In this case, you can call deployVirtualMachine by CloudMonkey like this. $ cloudmonkey deploy virtualmachine serviceofferingid=XXX templateid=XXX zoneid=XXX networkids=XXX userdata='IyEgL2Jpbi9zaAoKZWNobyAiSGVsbG8gdXNlci1kYXRhISIK' As a result of the command, a new instance is created with user-data delivered to virtual router, so you can access user-data from the instance. CloudMonkey is CLI tool to call CloudStack REST API easily and you can give parameters as key value pair. In the example, user-data is base64 encoded shell script and provied as a parameter. Best regards Hiroki Ohashi 2013/12/5 Derek Cole <derek.c...@gmail.com>: > I was kind of wondering about that, when I saw it earlier. It appears that > maybe the cloudstack_resources module has become out of date? I think you > are the preparer of a slide-show I was following here: > http://www.slideshare.net/PuppetLabs/cloudstack-18489665 > > It seems like in those slides, Group was being used to hold the roles? This > is why I assumed that was OK. I was doing something like > > case $::role { > 'db': { > notify {"detected a fact named role with value db" > :} > } > } > because I thought that the custom fact here: > https://github.com/jasonhancock/puppet-facts/blob/master/cloudstack_userdata.rb > > Turned the cloudstack userdata into a fact where if you had > "role=db,foo=bar" you would get two custom facts, role and foo, with their > respective values. > > May I ask for some clarity if that is not the intended usage? > > In my case, obviously cloudstack_userdata is not generating the correct > facts, because the wget that is in that code returns nothing because > userdata is empty. > > Thanks, > > -Derek > > > > On Wed, Dec 4, 2013 at 12:57 PM, David Nalley <da...@gnsa.us> wrote: > >> Hi Derek: >> >> Glad that the puppet resources are useful. >> >> Setting user-data is different than setting group: >> >> Look at the options here: >> >> http://cloudstack.apache.org/docs/api/apidocs-4.2/user/deployVirtualMachine.html >> >> --David >> >> On Wed, Dec 4, 2013 at 11:54 AM, Derek Cole <derek.c...@gmail.com> wrote: >> > Hello, >> > >> > I am attempting to use the cloudstack API to get user-data for my VMs. >> > >> > I am creating the VMs with the puppet cloudstack-resources module, and it >> > seems to populate it (From the cloudstack GUI, under "Group" I see my >> data) >> > >> > However, when I do a >> > >> > wget http://router/latest/user-data >> > >> > I get back an empty file. On the VR itself I have checked and there are a >> > bunch of /var/www/html/userdata/IP/user-data files, but every one of them >> > is empty. This same applies to VMs that I added the "Group" user data >> > manually. >> > >> > The VM's are all FreeBSD10, and I am using xenserver 6.2, and cloudstack >> 4.2 >> > >> > Is this a bug? Is there a workaround or a fix? >> > >> > Thanks >> -- 大橋 宏樹 mail: silvernsh...@gmail.com