Configuring common types of Authority actors for ORCA

Overview

Detailed information on actor configuration is contained here. This section gives a few brief examples and points out pitfalls.

Configuration snippet

This is an NLR authority configuration snippet:

                <actor>
                        <type>site</type>
                        <name>nlr-site</name>
                        <description>NLR site authority</description>
                        <guid>87bdc30b-8aef-4142-8b51-6e4eaaa7c8d5</guid>
                        <pools>
                                <pool factory="orca.boot.inventory.NdlResourcePoolFactory">
                                        <type>nlr.vlan</type>
                                        <label>NLR VLAN</label>
                                        <description>A VLAN over NLR</description>
                                        <units>100</units>
                                        <start>2010-01-30T00:00:00</start>
                                        <end>2011-01-30T00:00:00</end>                                        
                                       <handler path="nlr/handler.xml">
                                                <properties>
                                                        <property name="nlr.site.properties" value="/opt/orca/config/nlr.site.properties" />
                                                </properties>
                                        </handler>
                                        <attributes>
                                                <attribute>
                                                        <key>resource.class.invfortype</key>
                                                        <type>Class</type>
                                                        <value>orca.controllers.ben.broker.NDLVlanInventory</value>
                                                </attribute>
                                        </attributes>
                                        <properties>
                                                <property name="substrate.file" value="/opt/orca/ndl/nlr.rdf" />
                                        </properties>
                                </pool>
                        </pools>
                        <controls>
                                <control type="nlr.vlan" class="orca.policy.core.UnitsControl" />
                        </controls>
                </actor>

Pointing to handlers

All handlers as of Bella 2.2 are concentrated under $ORCA_SRC/handlers/ tree and can be easily pointed to from the configuration file as follows:

 <handler path="<handler name>/<handler xml file>">
            <properties>
                           <property name="<credentials property>" value="<absolute path to the credentials file in $ORCA_HOME" />
            </properties>
</handler>

Following handlers are available. Note that many handlers require credentials to login to the substrate to perform actions (see above example). The files containing credentials should be placed under $ORCA_HOME/config, the property names are noted below:

  • NLR handler file: nlr/handler.xml;
    • credentials property name: nlr.site.properties names the file containing the credentials (typically in $ORCA_HOME/config/nlr.cred.properties)
  • OSCARS/ION handler file: oscars/handler.xml;
    • configuration property name: oscars.site.properties names the file containing configuration (typically $ORCA_HOME/config/oscars.site.properties)
  • NEuca handler file: ec2/handler.xml;
    • configuration property name ec2.site.properties names the file containing configuration (typically $ORCA_HOME/config/ec2.site.properties)
    • credentials are stored in $ORCA_HOME/ec2 according to NEuca instructions
  • BEN handler file: providers/ben/ben.xml
    • credentials property name: ben.credentials names the file containing credentials (typically $ORCA_HOME/config/ben.cred.properties)
  • Euca-net sites handler file: providers/euca-sites/unified.euca.net.xml;
    • credentials property name: eucanet.credentials names the file containing credentials for the switch (typically $ORCA_HOME/config/eucanet.cred.properties)
  • StarLight? handler file: providers/starlight/handler.xml;
    • credentials property name: starlight.credentials names the file containing NLR credentials (typically $ORCA_HOME/config/nlr.cred.properties)

Example credentials file

For example this can be used as a Euca-site credential file:

######################
# authentication properties. need to be passed to handlers as a filename
# in a property called 'ben.credentials'
######################

# user name to use when connecting to the routers
router.user=username
# password to use when connecting to the routers
router.password=password
# administrative password to use when connecting to the routers. Can be left empty
router.admin.password=other-password

There is an example BEN credentials file.

Modifying parameters for handlers

All handlers rely on a file co-located in the same directory as the handler XML file, called build.properties to specify the majority of static properties (those not supplied by a policy at run time; this file is automatically loaded by each handler). In addition, various handlers explicitly load additional property files (e.g. credentials or properties common to several handlers, like providers/ben.properties).

All of them can be modified before-deployment to reflect changes to the infrastructure.