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().endsWith("vhd.zip"))
>>
>> &&(!url.toLowerCase().endsWith("vhd.bz2"))&&(!url.toLowerCase().endsWith("vhd.gz"))
>>
>> &&(!url.toLowerCase().endsWith("qcow2"))&&(!url.toLowerCase().endsWith("qcow2.zip"))
>>
>> &&(!url.toLowerCase().endsWith("qcow2.bz2"))&&(!url.toLowerCase().endsWith("qcow2.gz"))
>>
>> &&(!url.toLowerCase().endsWith("ova"))&&(!url.toLowerCase().endsWith("ova.zip"))
>>
>> &&(!url.toLowerCase().endsWith("ova.bz2"))&&(!url.toLowerCase().endsWith("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());
>>         }
>>
>>
>>     }

Reply via email to