Infra supports Ubuntu VMs apparently so you could do what you want there https://www.apache.org/dev/services#virtual-servers
Another idea is to distribute the http server binary with ACS - the CloudStack admin installs the http server and gives it a reachable fqdn / ip and updates the templates table. On Mon, Feb 27, 2017 at 12:48 PM, Will Stevens <wstev...@cloudops.com> wrote: > so this is what I am looking to do. Please let me know if you have > suggestions for me or think I should be solving the problem a different > way. > > - We request a new Github repository from the ASF at: > 'apache/cloudstack-mirror-list' > - In this repository we track a text file in the 'gh-pages' branch with a > list of valid download mirrors. > - I build a binary to be hosted by the ASF (or at least with the ASF > pointing a domain at the binary and I could potentially host it). We will > see how they want to handle the hosting of the binary. > > The binary would expose a web server which would behave as follows: > - When the 'client' requests a download url the following flow is kicked > off: > -- The mirror list is queried from github (or from a static site hosted on > asf, as we see fit). > -- The Lat/Lon of the 'client' is determined based on their IP. > -- The Lat/Lon for each of the 'mirror's is determined based on an IP > lookup of the hostname. > -- The closest geographical mirror is determined, the target is validated > to be available and the user is redirected. > > Some questions I have right now: > - Will every mirror have the same path structure to access the equivalent > resources? > - Should we support adding a path to the mirror url to specify the path to > the base common path? > -- Example: lets say the binary is hosted on 'dl.acs.com' and there are > three mirrors 'abc.com', 'pqr.com/files' and 'xyx.com/downloads'. > -- If the path being requested is ' > dl.acs.com/templates/systemvm-4.6.xen.vhd.bz2', it would result in the > following potential paths for the mirrors: > -- 'abc.com/templates/systemvm-4.6.xen.vhd.bz2' > -- 'pqr.com/files/templates/systemvm-4.6.xen.vhd.bz2' > -- 'xyz.com/downloads/templates/systemvm-4.6.xen.vhd.bz2' > > Does this all make sense? > > *Will STEVENS* > Lead Developer > > <https://goo.gl/NYZ8KK> > > On Mon, Feb 27, 2017 at 1:31 PM, Chiradeep Vittal <chirade...@gmail.com> > wrote: > > > My bad. A few lines down, this has been added recently: > > > > this.request.setFollowRedirects(true); > > > > On Mon, Feb 27, 2017 at 10:15 AM, Will Stevens <williamstev...@gmail.com > > > > wrote: > > > > > OK. Thanks for the heads up. > > > > > > On Feb 27, 2017 1:08 PM, "Chiradeep Vittal" <chirade...@gmail.com> > > wrote: > > > > > > > Sounds workable. The downloader code in the SSVM won't follow > > redirects I > > > > think. > > > > https://github.com/apache/cloudstack/blob/ > > 5511065fc20787619d9cd0444a65a3 > > > > 155fc9c921/core/src/com/cloud/storage/template/ > > > > HttpTemplateDownloader.java#L93 > > > > https://goo.gl/dSi0r5 > > > > Might need to add > > > > client.setRedirectStrategy(new LaxRedirectStrategy()); > > > > > > > > On Mon, Feb 27, 2017 at 9:57 AM, Will Stevens <wstev...@cloudops.com > > > > > > wrote: > > > > > > > > > We haven't opened a ticket yet because we don't have a strategy > yet. > > > > > > > > > > What do you guys think of this: > > > > > - We setup a new github repo in the 'apache' org which consists of > a > > > > single > > > > > file with a list of active/supported mirrors. > > > > > - I write a small web server, distributed as a binary, which can be > > > > hosted > > > > > by ASF Infra. This web server will query the current list of > mirrors > > > and > > > > > will select one and then do a 302 redirect to that mirror. > > > > > > > > > > The act of 'choosing' a mirror could be done in a number of ways. > > > > > - If we want to define an order, then it could just try from the > top > > of > > > > the > > > > > list and work its way down. It would curl the target to make sure > it > > > > gets > > > > > a 200 and if it does, it would do a 302 redirect. > > > > > - Or, if we want to distribute the load across the mirrors, we > could > > > pick > > > > > from the list randomly. Again, doing a curl to verify the mirror > is > > up > > > > and > > > > > then doing a redirect. > > > > > - If we want to get fancy, we could do a reverse IP lookup and try > to > > > > match > > > > > the requester with their closest geographical mirror. > > > > > > > > > > Thoughts? > > > > > > > > > > *Will STEVENS* > > > > > Lead Developer > > > > > > > > > > <https://goo.gl/NYZ8KK> > > > > > > > > > > On Mon, Feb 27, 2017 at 12:46 PM, Chiradeep Vittal < > > > chirade...@gmail.com > > > > > > > > > > wrote: > > > > > > > > > > > What steps are needed to set up a mirror? What does Infra need to > > do? > > > > Has > > > > > > anybody filed a ticket with Infra? > > > > > > > > > > > > On Sun, Feb 26, 2017 at 10:17 PM, Raja Pullela < > > > > > > raja.pull...@accelerite.com> > > > > > > wrote: > > > > > > > > > > > > > Hi will, > > > > > > > > > > > > > > I believe, we didn’t get to close ‘getting a mirror on Apache’ > > > > because > > > > > we > > > > > > > needed someone on the Apache Infra side to close this. BTW, > > > > > > > cloudstack-apt.get.eu (I think Nux manages this?) has all/most > > of > > > > the > > > > > > > content. Once we can close on the Apache mirror for hosting > the > > > > > > content, I > > > > > > > can help assist getting the content there. > > > > > > > > > > > > > > For now, we have replicated the download.cloud.com content to > ‘ > > > > > > > s3.download.accelerite.com’. > > > > > > > Also, we are working on a set of steps/procedure to help with > > this > > > > > > > change. I will update everyone in about a week’s time on the > > > > details. > > > > > > > > > > > > > > Best, > > > > > > > Raja Pullela > > > > > > > Engineering Team, > > > > > > > Accelerite, 2055 Laurelwood Road, > > > > > > > Santa Clara, CA, 95054 > > > > > > > > > > > > > > On 2/24/17, 11:23 PM, "williamstev...@gmail.com on behalf of > > Will > > > > > > > Stevens" <williamstev...@gmail.com on behalf of > > > > wstev...@cloudops.com> > > > > > > > wrote: > > > > > > > > > > > > > > unfortunately the template mirror conversation got caught up in > > > > details > > > > > > and > > > > > > > nobody took the lead on implementing a solution. > > > > > > > > > > > > > > citrix has been pinging me every couple months to say 'dude, we > > > need > > > > to > > > > > > > remove the dependency on download.citrix.com', but i have not > > had > > > > the > > > > > > > cycles to get in and solve the problem. the shutdown of that > is > > > > > imminent > > > > > > > right now, so we need to solve it asap. > > > > > > > > > > > > > > > > > > > > > > > > > > > > *Will STEVENS* > > > > > > > Lead Developer > > > > > > > > > > > > > > <https://goo.gl/NYZ8KK> > > > > > > > > > > > > > > On Fri, Feb 24, 2017 at 12:38 PM, Paul Angus < > > > > paul.an...@shapeblue.com > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > Hi Nathan, > > > > > > > > > > > > > > > > Ideally, if you put the template location in (or use a > template > > > > > defined > > > > > > > > in) test_data.py then the actual location can be overridden > by > > > > > anyone > > > > > > > > testing. > > > > > > > > > > > > > > > > For Trillian, we've copied all of the templates that people > > have > > > > > define > > > > > > > to > > > > > > > > a local repo and then replace the URLs in test_data.py to > > reduce > > > > > > > bandwidth > > > > > > > > use and download times. > > > > > > > > > > > > > > > > Ie: > > > > > > > > > > > > > > > > "bootableIso": > > > > > > > > { > > > > > > > > "displaytext": "Test Bootable ISO", > > > > > > > > "name": "testISO", > > > > > > > > "bootable": True, > > > > > > > > "ispublic": False, > > > > > > > > "url": "{{ marvin_images_location > > > > > > > > }}/TinyCore-current.iso", > > > > > > > > "ostype": 'Other Linux (64-bit)', > > > > > > > > "mode": 'HTTP_DOWNLOAD' > > > > > > > > }, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I thought that we had come up with a solution for > > > > download.cloud.com > > > > > , > > > > > > by > > > > > > > > having a mirrorlist hosted in Community Apache 'space' with > > > anyone > > > > > able > > > > > > > to > > > > > > > > out themselves forward as a mirror. > > > > > > > > But I must admit I lost track of whether anyone made the > > > requisite > > > > > > > changes > > > > > > > > in code.... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Kind regards, > > > > > > > > > > > > > > > > Paul Angus > > > > > > > > > > > > > > > > paul.an...@shapeblue.com > > > > > > > > www.shapeblue.com > > > > > > > > 53 Chandos Place, Covent Garden, London WC2N 4HSUK > > > > > > > > @shapeblue > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > From: williamstev...@gmail.com [mailto:williamstevens@gmail. > > com] > > > > On > > > > > > > > Behalf Of Will Stevens > > > > > > > > Sent: 24 February 2017 16:30 > > > > > > > > To: dev@cloudstack.apache.org > > > > > > > > Subject: Re: Modern template hosting > > > > > > > > > > > > > > > > this is a hard questions. in general, we should be setting > up > > a > > > > > mirror > > > > > > > on > > > > > > > > some cloudstack/apache domain and then mirror to other > provided > > > > > > > templates. > > > > > > > > > > > > > > > > we MUST come up with a solution to deprecate ' > > download.cloud.com > > > ', > > > > > > that > > > > > > > > is going to be going away any day now. > > > > > > > > > > > > > > > > i don't know the right way to solve this to be honest, but if > > you > > > > > have > > > > > > > > ideas, i am willing to help. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *Will STEVENS* > > > > > > > > Lead Developer > > > > > > > > > > > > > > > > <https://goo.gl/NYZ8KK> > > > > > > > > > > > > > > > > On Fri, Feb 24, 2017 at 11:25 AM, Nathan Johnson < > > > njohn...@ena.com > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > So not to re-open a can of worms, but I’m in a situation > > where > > > I > > > > > need > > > > > > > > > to come up with a Marvin component test that depends on a > > > > template > > > > > > > > > based on a kernel that’s relatively new, i.e., newer than > > > Centos > > > > > 5.3 > > > > > > / > > > > > > > > Ubuntu 10.04 . > > > > > > > > > I see openvm.eu has a suitable template (Ubuntu 16.0.4 for > > > KVM), > > > > > but > > > > > > > > > from looking at the thread "Migrating CloudStack content > from > > > > > > > > > download.cloud.com” it looks like there is resistance to > > using > > > > > this > > > > > > at > > > > > > > > > least for hosting system vm templates over concerns of > > > > neutrality. > > > > > > > > > Would this be suitable for a component test? If not, what > > is a > > > > > > > “blessed” > > > > > > > > > template location? > > > > > > > > > > > > > > > > > > Thanks in advance! > > > > > > > > > > > > > > > > > > Nathan Johnson > > > > > > > > > R&D Engineer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 618 Grassmere Park Drive, Suite 12 > > > > > > > > > Nashville, TN 37211 > > > > > > > > > General Office: 615-312-6000 > > > > > > > > > > > > > > > > > > website | blog | support > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > DISCLAIMER > > > > > > > ========== > > > > > > > This e-mail may contain privileged and confidential information > > > which > > > > > is > > > > > > > the property of Accelerite, a Persistent Systems business. It > is > > > > > intended > > > > > > > only for the use of the individual or entity to which it is > > > > addressed. > > > > > If > > > > > > > you are not the intended recipient, you are not authorized to > > read, > > > > > > retain, > > > > > > > copy, print, distribute or use this message. If you have > received > > > > this > > > > > > > communication in error, please notify the sender and delete all > > > > copies > > > > > of > > > > > > > this message. Accelerite, a Persistent Systems business does > not > > > > accept > > > > > > any > > > > > > > liability for virus infected mails. > > > > > > > > > > > > > > > > > > > > > > > > > > > >