-
Notifications
You must be signed in to change notification settings - Fork 1
RO_configuration
Home > Configuration > RO
Disclaimer: The following configuration manual assumes that installation of the whole software has been done according to the installation manual.
The configuration files are located under modules/resource/orchestrator/conf. There are two possible possible running modes for RO: Master RO (MRO) or RO. Configuration differs a little between them.
Some settings must be changed:
-
auth.conf: - In section [clearinghouse]:
- Verify that the data to access the Clearinghouse is accurate (e.g. if you have N CHs in a server)
-
flask.conf: - In section [general]:
- Set
hostandportto proper values, pointing to MRO. Example: 127.0.0.1, 18440
- Set
-
ro.conf: - In section [master_ro]:
- Set
mro_enabled = True
- Set
- In section [monitoring]:
- Set
addressandportto proper values, pointing to MMS. Example: 127.0.0.1, 18448
- Set
The default settings files (auth.conf, flask.conf, geniv3.conf, log.conf, ro.conf) should be left in their original form.
- Note: some data may be changed to correctly point to your installations (e.g. CH host/port)
For each component, a *.json.example file is provided for reference. Copy each of them and remove the "example", then fill with proper data.
cp crm.json.example crm.json
cp sdnrm.json.example sdnrm.json
cp serm.json.example serm.json
The result files crm.json, sdnrm.json and serm.json must be filled with appropriate data (e.g. "organisationName" replaced by your real organisation's name, etc) for an RO instance (that is, an instance running as RO, not MRO). These are needed to monitor the physical devices (i.e. servers, OpenFlow switches, Stitching Entity switch) that are advertised through the RMs.
Both MRO and RO keep a list of peers (typically, ROs for MRO and RMs for RO). This list is used to steer the experimenter requests and also to periodically update the resources.
The data can be inserted either by the manage.py script or using the configure_rms.sh interactive script:
- Using the interactive script:
-
cd modules/resource/orchestrator/deploy -
./configure_rms.sh- There are four types of resources to choose from: c, sdn, se, tn, ro (the latter one being used only in MRO):
Configuring Resource Orchestrator... Filling database with config entries... Choose the RM to configure [c,sdn,se,tn,ro] (any other to quit): ```
- Using directly the admin script:
-
cd modules/resource/orchestrator/src/admin/db -
You may add, delete or dump entries so that RO can communicate with your RMs:
- Syntax:
python manage.py [add_route_entry|delete_route_entry|dump] [params] - Parameters (only for add/delete):
-
$typecan be one of virtualisation, sdn_networking, stitching_entity, transport_network or island_ro (the latter one being used only in MRO) -
$host_ip,$host_portis the IP and port where the RM is listening -
$protocolis usually https or http -
$am_type,$am_version, usually set to type geni and version 3 -
$endpointURI where the API is exposed, e.g. /xmlrpc/geni/3/ - Others:
--user,--passwordmay be added iff needed to provide BasicAuth
-
- Adding entry:
python manage.py add_route_entry -t "$type" -a "$host_ip" \ -p "$host_port" --protocol "$protocol" --endpoint "$endpoint" \ --am_type "$am_type" --am_version $am_version-
Removing entry:
python manage.py delete_route_entry -t "$type" -a "$host_ip" \ -p "$host_port" --protocol "$protocol" --endpoint "$endpoint" \ --am_type "$am_type" --am_version $am_version -
Dumping all entries:
python manage.py dump - Syntax:
The list of RMs and ROs managed by RO or MRO can be consulted in two ways:
- Script: admin script (as explained above)
-
Web: at the endpoint
http://<ro_host>:<ro_port>/peers
The last step relates to the management of the clients that are allowed to communicate against the GENIv3 API of the RO. As with C RM and SDN RM, RO requires to authorise the certificate of the clearinghouse that issues the credentials of the client you want to allow.
The CH/CA certificate of each allowed clearinghouse must be copied in the trusted folder of RO:
- Stop the RO or MRO service
- Add the certificate of the client's clearinghouse in the RO or MRO trusted folder. Depending on the clearinghouse used:
ro_cert_trusted=<path_to_ro>/modules/resource/orchestrator/cert/trusted/
# When using the GENI Control Framework and Clearinghouse...
cp -p ~/.gcf/ch-cert.pem $ro_cert_trusted/felix-<organisation>-gcf-ch.pem
# When using the C-BAS (own island)...
cp -p <path_to_cbas>/deploy/trusted/certs/ca-cert.pem $ro_cert_trusted/felix-<organisation>-cbas-ca.pem
# When using the C-BAS (other island)... Request their CA certificate first!
cp -p ca-cert.pem $ro_cert_trusted/felix-<organisation>-cbas-ca.pem
- Note: ensure that this file is unique, i.e. not previously saved under other name or coincident
- Restart the RO or MRO service
- General info
- Administering
- Contributing
- Experimenting