Does it need to go to review board though? I generally only post patches that can actually be applied to reviewboard. This is more or less just a blueprint for someone who is willing to make it work in master.
On Wed, Feb 12, 2014 at 12:31 PM, Alex Hitchins <alex.hitch...@shapeblue.com> wrote: > Thanks for the patch Marcus! This needs to go on the review board though and > not on the Jira site. It's good to add a note to Jira with the link to the > review board. > > It's a simple process to sign up, go to https://reviews.apache.org/dashboard/ > and take a look. It's good to include the Jira reference in there and name > your diff with the Jira Id too (CLOUDSTACK-6088.diff). > > Thanks for the patch! > > > Regards > > Alex Hitchins > > D: +44 1892 523 587 | S: +44 20 3603 0540 | M: +44 7788 423 969 > > alex.hitch...@shapeblue.com > > -----Original Message----- > From: Marcus [mailto:shadow...@gmail.com] > Sent: 12 February 2014 18:55 > To: dev@cloudstack.apache.org > Subject: Re: devs looking to get involved? > > I dropped a patch into > https://issues.apache.org/jira/browse/CLOUDSTACK-6088, and if someone can get > to it, great, otherwise I'll try to circle back around to it. > > On Fri, Feb 7, 2014 at 9:45 PM, Marcus <shadow...@gmail.com> wrote: >> Yeah, I just don't know where to capture them. If I have a patch for >> 4.2, but I know it will never get applied as a feature, it seems odd >> to put it on review board. Perhaps I just dump them on Jira as >> attachments? >> >> Ultimately it behooves me to get this stuff done so I don't have to >> revisit it later... >> >> On Fri, Feb 7, 2014 at 7:37 PM, David Nalley <da...@gnsa.us> wrote: >>> - Users: >>> >>> Regardless of whether someone takes you up on the offer or not, I'd >>> still love to see these patches hit RB or the mailing list, or Jira >>> perhaps. >>> >>> --David >>> >>> On Fri, Feb 7, 2014 at 8:06 PM, Marcus <shadow...@gmail.com> wrote: >>>> I occasionally have some minor improvement that I need to make to >>>> whatever version of cloudstack we're currently running. This is >>>> almost always behind what is currently being developed, and I don't >>>> always feel like I have time to rebase/refactor it for master. I'm >>>> wondering if there are any individuals out there who are looking for >>>> ways to contribute that I can hand off these little projects to and >>>> mentor a bit. You get an easy project to get your feet wet and I get >>>> the improvements into master without using up time. :-) Maybe this >>>> sounds like laziness on my part, but it seemed like a good idea. >>>> >>>> I can post a patch that works for one version, and you can rework it >>>> and test against master. Respond if you're interested, there may be >>>> others who have easy work to farm off as well. >>>> >>>> An example, I've made some improvements to the template downloader, >>>> when the first 1M of the template is pulled we attempt to verify >>>> that the image is actually what we think it is (qcow2 or vmdk or >>>> whatever) by looking at the data. Up until now we just check file >>>> extension. It also contains a new TemplateUtils class that has: >>>> >>>> + public static boolean isCorrectExtension(String path, String ext) { >>>> + if (path.toLowerCase().endsWith(ext) >>>> + || path.toLowerCase().endsWith(ext + ".gz") >>>> + || path.toLowerCase().endsWith(ext + ".bz2") >>>> + || path.toLowerCase().endsWith(ext + ".zip")) { >>>> + return true; >>>> + } >>>> + return false; >>>> + } >>>> >>>> Which can be used to clean up the likes of: >>>> >>>> private void checkFormat(String format, String url) { >>>> >>>> if((!url.toLowerCase().endsWith("vhd"))&&(!url.toLowerCase().endsWit >>>> h("vhd.zip")) >>>> >>>> &&(!url.toLowerCase().endsWith("vhd.bz2"))&&(!url.toLowerCase().ends >>>> With("vhd.gz")) >>>> >>>> &&(!url.toLowerCase().endsWith("qcow2"))&&(!url.toLowerCase().endsWi >>>> th("qcow2.zip")) >>>> >>>> &&(!url.toLowerCase().endsWith("qcow2.bz2"))&&(!url.toLowerCase().en >>>> dsWith("qcow2.gz")) >>>> >>>> &&(!url.toLowerCase().endsWith("ova"))&&(!url.toLowerCase().endsWith >>>> ("ova.zip")) >>>> >>>> &&(!url.toLowerCase().endsWith("ova.bz2"))&&(!url.toLowerCase().ends >>>> With("ova.gz")) >>>> >>>> &&(!url.toLowerCase().endsWith("tar"))&&(!url.toLowerCase().endsWith >>>> ("tar.zip")) >>>> >>>> &&(!url.toLowerCase().endsWith("tar.bz2"))&&(!url.toLowerCase().endsWith("tar.gz")) >>>> &&(!url.toLowerCase().endsWith("vmdk")) && >>>> (!url.toLowerCase().endsWith("vmdk.gz")) >>>> &&(!url.toLowerCase().endsWith("vmdk.zip")) && >>>> (!url.toLowerCase().endsWith("vmdk.bz2")) && >>>> (!url.toLowerCase().endsWith("img")) >>>> &&(!url.toLowerCase().endsWith("img.gz")) && >>>> (!url.toLowerCase().endsWith("img.zip")) && >>>> (!url.toLowerCase().endsWith("img.bz2")) >>>> &&(!url.toLowerCase().endsWith("raw")) && >>>> (!url.toLowerCase().endsWith("raw.gz")) && >>>> (!url.toLowerCase().endsWith("raw.bz2")) >>>> &&(!url.toLowerCase().endsWith("raw.zip"))){ >>>> throw new InvalidParameterValueException("Please specify >>>> a valid " + format.toLowerCase()); >>>> } >>>> if ((format.equalsIgnoreCase("vhd") >>>> && (!url.toLowerCase().endsWith("vhd") >>>> && !url.toLowerCase().endsWith("vhd.zip") >>>> && !url.toLowerCase().endsWith("vhd.bz2") >>>> && !url.toLowerCase().endsWith("vhd.gz"))) >>>> || (format.equalsIgnoreCase("vhdx") >>>> && (!url.toLowerCase().endsWith("vhdx") >>>> && !url.toLowerCase().endsWith("vhdx.zip") >>>> && !url.toLowerCase().endsWith("vhdx.bz2") >>>> && !url.toLowerCase().endsWith("vhdx.gz"))) >>>> || (format.equalsIgnoreCase("qcow2") >>>> && (!url.toLowerCase().endsWith("qcow2") >>>> && !url.toLowerCase().endsWith("qcow2.zip") >>>> && !url.toLowerCase().endsWith("qcow2.bz2") >>>> && !url.toLowerCase().endsWith("qcow2.gz"))) >>>> || (format.equalsIgnoreCase("ova") >>>> && (!url.toLowerCase().endsWith("ova") >>>> && !url.toLowerCase().endsWith("ova.zip") >>>> && !url.toLowerCase().endsWith("ova.bz2") >>>> && !url.toLowerCase().endsWith("ova.gz"))) >>>> || (format.equalsIgnoreCase("tar") >>>> && (!url.toLowerCase().endsWith("tar") >>>> && !url.toLowerCase().endsWith("tar.zip") >>>> && !url.toLowerCase().endsWith("tar.bz2") >>>> && !url.toLowerCase().endsWith("tar.gz"))) >>>> || (format.equalsIgnoreCase("raw") >>>> && (!url.toLowerCase().endsWith("img") >>>> && !url.toLowerCase().endsWith("img.zip") >>>> && !url.toLowerCase().endsWith("img.bz2") >>>> && !url.toLowerCase().endsWith("img.gz") >>>> && !url.toLowerCase().endsWith("raw") >>>> && !url.toLowerCase().endsWith("raw.bz2") >>>> && !url.toLowerCase().endsWith("raw.zip") >>>> && !url.toLowerCase().endsWith("raw.gz"))) >>>> || (format.equalsIgnoreCase("vmdk") >>>> && (!url.toLowerCase().endsWith("vmdk") >>>> && !url.toLowerCase().endsWith("vmdk.zip") >>>> && !url.toLowerCase().endsWith("vmdk.bz2") >>>> && !url.toLowerCase().endsWith("vmdk.gz"))) >>>> ) { >>>> throw new InvalidParameterValueException("Please >>>> specify a valid URL. URL:" + url >>>> + " is an invalid for the format " + >>>> format.toLowerCase()); >>>> } >>>> >>>> >>>> } > Need Enterprise Grade Support for Apache CloudStack? > Our CloudStack Infrastructure > Support<http://shapeblue.com/cloudstack-infrastructure-support/> offers the > best 24/7 SLA for CloudStack Environments. > > Apache CloudStack Bootcamp training courses > > **NEW!** CloudStack 4.2.1 training<http://shapeblue.com/cloudstack-training/> > 18th-19th February 2014, Brazil. > Classroom<http://shapeblue.com/cloudstack-training/> > 17th-23rd March 2014, Region A. Instructor led, > On-line<http://shapeblue.com/cloudstack-training/> > 24th-28th March 2014, Region B. Instructor led, > On-line<http://shapeblue.com/cloudstack-training/> > 16th-20th June 2014, Region A. Instructor led, > On-line<http://shapeblue.com/cloudstack-training/> > 23rd-27th June 2014, Region B. Instructor led, > On-line<http://shapeblue.com/cloudstack-training/> > > This email and any attachments to it may be confidential and are intended > solely for the use of the individual to whom it is addressed. Any views or > opinions expressed are solely those of the author and do not necessarily > represent those of Shape Blue Ltd or related companies. If you are not the > intended recipient of this email, you must neither take any action based upon > its contents, nor copy or show it to anyone. Please contact the sender if you > believe you have received this email in error. Shape Blue Ltd is a company > incorporated in England & Wales. ShapeBlue Services India LLP is a company > incorporated in India and is operated under license from Shape Blue Ltd. > Shape Blue Brasil Consultoria Ltda is a company incorporated in Brasil and is > operated under license from Shape Blue Ltd. ShapeBlue is a registered > trademark.