Version 4 (modified by ibaldin, 8 years ago)

--

Using ImageProxy with ORCA

Overview

ImageProxy allows independent Ecalyptus sites to create VMs with identical images. Images are identified by a URL and a GUID, representing image hash. Provided with these two parameters ImageProxy? associated with a Eucalyptus site can download and install that image and provide ORCA with site-specific AMI/EMI that can be used to create guest VMs on that site. Even though AMI/EMI will be different for each site, VMs will be runnning the same user-supplied image.

ORCA Integration

Resource Specification

Image URL and GUID can be passed to ORCA as part of Reservation instance of the NDL-OWL request as follows:

    <request:Reservation rdf:about="#id-mp-request-2">
        <request:startingTime
            >2010-11-02T13:00:00Z</request:startingTime>
        <request:endingTime
            >2010-11-03T13:00:00Z</request:endingTime>
        <compute:hasVMImage rdf:resource="#DukeVMImageTest"/>
        <collections:element rdf:resource="&Request2;tblink-l4"/>
        <collections:element rdf:resource="&Request2;tblink-l5"/>
        <collections:element rdf:resource="&Request2;tblink-l6"/>
        <request:inDomain rdf:resource="&DukeVMSite2;Domain"/>
        <layer:atLayer rdf:resource="&ethernet;EthernetNetworkElement"/>
    </request:Reservation>

    <compute:VMImage rdf:about="#DukeVMImageTest">
        <topology:hasGUID rdf:datatype="&xsd;string">1234567890</topology:hasGUID>
        <topology:hasURL>http://geni-orca.renci.org/image/duke</topology:hasURL>
    </compute:VMImage>

Handler Integration

The interface to ImageProxy SOAP service is implemented as an OrcaAntTask? named ImgProxyRegisterTask? in the orca.handlers.ec2.tasks.imgproxy package (under handlers/ec2). The task is integrated into the standard EC2 handler used with Eucalyptus/NEuca. ImageProxy-specific settings can be passed to orca via ec2.site.properties file. The relevant properties are:

# Image Proxy (use it or not true/false)
ec2.img.proxy.use=true
# SOAP URL of the image proxy
ec2.img.proxy.url=http://geni-test.renci.org:11080/axis2/services/IMAGEPROXY
# SOAP timeout (in sec; adjust only if you know what you're doing)
ec2.img.proxy.timeout=3600

For more information see the sections about NEuca handler.