Hi,

I am trying to create an instance on Ninefold using the JClouds API.

        ComputeServiceContext computeServiceContext =
ContextBuilder.newBuilder("ninefold-compute").
                credentials(identity, credentials).
                endpoint("https://api.ninefold.com/compute/v2.0";).
                modules(modules).
                overrides(p).
                buildView(ComputeServiceContext.class);
        ComputeService computeService =
computeServiceContext.getComputeService();

I have changed the endpoint to point to the api version 2.0.

I then create a template where I specify explicitly the imageId, locationId
and hardwareId

Template template = computeService.templateBuilder().options(tOptions).
                imageId("<Image-ID>").
                locationId("<Location-ID").
                hardwareId("Hardware-ID").build();

However, when I try to create an image as follows:

       try {
            computeService.createNodesInGroup("mohan", 1, template);
        } catch (RunNodesException ex) {

Logger.getLogger(CloudStackSCBClient.class.getName()).log(Level.SEVERE,
null, ex);
        }

I get an "imageId not found" exception.

On examining the logs I see that the query to retrieve templates is as
follows:

https://api.ninefold.com/compute/v2.0?response=json&command=listTemplates&listAll=true&templatefilter=executable&apiKey=

But in the CloudStackAPI, it says that we need to specify the project id as
well in order to get details of the private templates. The above query
retrieves only the public templates.

How do I specify the CloudStack specific project id as part of my request?
I've tried to use the CloudStackTemplateOptions where I specify the
projectId as part of the user metadata as well as part of the properties
that can be used to override the default properties when instantiating the
ComputeServiceContext.

I couldn't find any working example to show how to create instances on
cloud infrastructure built using CloudStack.

Any help would be appreciated.

Cheers,
Mohan

Reply via email to