Thanks Ignasi,
I will go through the document. If I have any further query or need
clarification, whom should I reach out for clarification?

Can you please help me here? Also are we suppose to take up task
voluntarily or we are going to be task assigned ?

Regards
Nishant

On Wed, Oct 4, 2017 at 12:27 PM, Ignasi Barrera <n...@apache.org> wrote:

> Hi!
>
> Thanks for the detailed report, Richard.
>
> It is indeed an issue and I don't recall it to be already filed in JIRA so
> please, would you mind opening it?
>
> The solution, as you say, would be to encode the zone in the image id as we
> do in other providers. We can keep the actual unencoded form in the
> "providerId" field, which is the "real" id in the provider.
>
> I don't see a way of keeping backward compatibility, but it should be a
> workaround, depending on the exact problem you're facing. If the problem is
> just about the ComputeService selecting the wrong image, you could use the
> "imageChooser" [1] option of the TemplateBuilder. With that option you can
> provide a function that, given the list of images that match the given
> criteria, selects the best one.
>
> You could, instead of directly using the "imageId" options, use other
> filters to limit the search and then use a custom chooser to get the right
> image taking into account the image location. FWIW, this [2] is the
> function that transforms a CloudStack Template into a jclouds Image.
>
>
> Kumar, you're very welcome to contribute!
>
> You can start by reading this:
> https://cwiki.apache.org/confluence/display/JCLOUDS/How+to+Contribute
>
> The fix should not be difficult. It should be just about changing the
> mentioned function to return the zone and the template id encoded in the
> Image ID field. We often do this by using helper classes, such as this one
> in the DigitalOcean [3] provider).
> Once that function is updated and jclouds returns Image objects with those
> encoded IDs, you'll probably have to update the compute service adapter [4]
> to take that into account and parse the image ID where necessary. You might
> also need to change other classes in the compute package [5].
> Once done, you may also want to run the live tests [6] against a CloudStack
> environment to make sure everything is working as expected.
>
> Feel free to ask here or in our Freenode IRC channel any doubts you may
> have and we'll be happy to help!
>
>
> I.
>
>
>
>
> [1]
> http://jclouds.apache.org/reference/javadoc/2.0.x/org/
> jclouds/compute/domain/TemplateBuilder.html#imageChooser(com.google.
> common.base.Function)
> [2]
> https://github.com/jclouds/jclouds/blob/master/apis/
> cloudstack/src/main/java/org/jclouds/cloudstack/compute/
> functions/TemplateToImage.java
> [3]
> https://github.com/jclouds/jclouds/blob/master/providers/
> digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/internal/
> ImageInRegion.java
> [4]
> https://github.com/jclouds/jclouds/blob/master/apis/
> cloudstack/src/main/java/org/jclouds/cloudstack/compute/strategy/
> CloudStackComputeServiceAdapter.java
> [5]
> https://github.com/jclouds/jclouds/tree/master/apis/
> cloudstack/src/main/java/org/jclouds/cloudstack/compute
> [6] https://cwiki.apache.org/confluence/display/JCLOUDS/Testing
>
> On 3 October 2017 at 23:43, Kumar Nishant <knishan...@gmail.com> wrote:
>
> > Hi Team,
> > I would like to contribute for Cloud and I am new to this platform.
> Please
> > guide me and suggest how can I start making the contribution.
> >
> > Thanks
> > Nishant
> >
> >
> > On Oct 3, 2017 5:30 AM, "Richard Downer" <rich...@apache.org> wrote:
> >
> > All,
> >
> > I've been investigating a problem that a client reported - they were
> trying
> > to use jclouds with their client's CloudStack instance but were hitting
> > problems caused by the result of the CloudStack `listTemplates` options
> > returning members with duplicated ID fields.
> >
> > On inspection of the wire logs, it seemed that some templates were
> > duplicated multiple times but in different zones. All of the fields were
> > the same, except for the zone ID and name.
> >
> > These were not "cross zone" templates, which is an option where
> CloudStack
> > automatically copies a template to every zone. jclouds detects and
> handles
> > those, by collapsing all templates with the same ID and the `crossZones`
> > paramter set to true, down to a single global-scoped image.
> >
> > Instead, it would appear that CloudStack has an option to copy a template
> > to another zone. It's not a global template, it only goes to selective
> > zones. But it does preserve the template ID - so you can end up with
> > multiple region-scoped images that have the same ID.
> >
> > My discussion on the Apache CloudStack mailing list is at [1]. Of
> > particular note is the message [2]:
> >
> > "As long as template is copied from zone to zone it will present with
> > duplicate ID. This is by design. crossZone parameter is to indicate to
> auto
> > replicate template across all available zone on template creation. To put
> > it differently only combination of template ID and zone ID is a primary
> key
> > for template querying."
> > (From: Sergey Levitskiy <serg...@hotmail.com>)
> >
> > This means that a jclouds change is required to be compatible with
> > CloudStacks that contain zone-to-zone copied templates. Combining the
> > region ID and image ID is something that jclouds already does for several
> > other clouds, so technically this should not be difficult.
> >
> > However, I'm concerned there might be a backward compatibility issue if
> we
> > simply do this - existing users who use jclouds and reference plain
> > template IDs would be broken if templates IDs were now prefixed by the
> zone
> > ID.
> >
> > Is there an issue here and if so how should it be handled?
> >
> > Richard.
> >
> >
> > [1]
> > https://lists.apache.org/thread.html/f93385bbb0e04d7af9b80e7f8f90f9
> > 57cb8633144dd2b282cde7d3fc@%3Cusers.cloudstack.apache.org%3E
> > [2]
> > https://lists.apache.org/thread.html/8d99f7462618438a6a3bcbb3fe7e73
> > 6c5632db7d07de449f610b68c2@%3Cusers.cloudstack.apache.org%3E
> >
>

Reply via email to