On Aug 25, 2014, at 8:16 AM, Wido den Hollander <w...@widodh.nl> wrote:
> On 08/25/2014 01:33 PM, Nux! wrote: >> Thanks Erik! >> > > Indeed! > >> Hopefully this change will be incorporated soon so we don't need to patch >> cloud-init. >> > > I came up with a very small patch: > https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=commitdiff;h=1499972804b6de4fade5c84436e29f9904165e18 > > Tested it on my local env and worked fine. Both the old and new URL work with > the same output. > thanks folks, I will pull that in 4.3 > Wido > >> >> >> -- >> Sent from the Delta quadrant using Borg technology! >> >> Nux! >> www.nux.ro >> >> >> ----- Original Message ----- >>> From: "Erik Weber" <terbol...@gmail.com> >>> To: "dev" <dev@cloudstack.apache.org> >>> Sent: Monday, 25 August, 2014 12:34:10 PM >>> Subject: Re: cloud-init issue >>> >>> On Mon, Aug 25, 2014 at 1:27 PM, Erik Weber <terbol...@gmail.com> wrote: >>> >>>> On Mon, Aug 25, 2014 at 1:16 PM, Wido den Hollander <w...@widodh.nl> >>>> wrote: >>>> >>>>> On 08/25/2014 12:12 PM, Sebastien Goasguen wrote: >>>>> >>>>>> Folks, >>>>>> >>>>>> There is an outstanding issue with cloud-init compatibility. >>>>>> The VR serves the instance metadata through a web server but there is a >>>>>> trailing slash issue: >>>>>> >>>>>> https://issues.apache.org/jira/browse/CLOUDSTACK-7405 >>>>>> >>>>>> Does anyone know where the settings for this web server are located in >>>>>> the cloudstack code ? >>>>>> >>>>>> >>>>> So I think that is done in systemvm/patches/debian/ >>>>> config/opt/cloud/bin/vmdata.py >>>>> >>>>> It adds a RewriteRule to the .htaccess like: >>>>> >>>>> entry = "RewriteRule ^meta-data/(.+)$ ../" + folder + >>>>> "/%{REMOTE_ADDR}/$1 [L,NC,QSA]" >>>>> >>>>> I'm not a big mod_rewrite guru however. >>>>> >>>>> >>>> Adding a line with "RewriteRule ^meta-data$ ../" + folder >>>> +"/%{REMOTE_ADDR}/$1 [L,NC,QSA]" >>>> should suffice. >>>> >>>> small typo there... >>> >>> >>> >>>> >>>> Tested on a VR with this config: >>>> >>>> RewriteRule ^meta-data/(.+)$ ../metadata/%{REMOTE_ADDR}/$1 [L,NC,QSA] >>>> >>>> RewriteRule ^meta-data/$ ../metadata/%{REMOTE_ADDR}/meta-data [L,NC,QSA] >>>> >>>> RewriteRule ^meta-data$ ../metadata/%{REMOTE_ADDR}/meta-data [L,NC,QSA] >>>> >>>> >>>> >>> A better solution is probably to make the last slash conditional, like this: >>> RewriteRule ^meta-data/?$ ../metadata/%{REMOTE_ADDR}/meta-data [L,NC,QSA] >>> >>> tested: >>> [root@jenkins ~]# curl -I -s 10.30.81.1/latest/meta-data/ | grep HTTP >>> >>> HTTP/1.1 200 OK >>> >>> [root@jenkins ~]# curl -I -s 10.30.81.1/latest/meta-data | grep HTTP >>> >>> HTTP/1.1 200 OK >>> >>> Erik >>> >