-
Notifications
You must be signed in to change notification settings - Fork 6
Add An Aggregate
This wiki page describes the steps to add aggregates to the service registry. The GENI Portal gets the list of aggregates from the service registry, so it will automatically update most of its data. There are a couple of things that should be updated on the portal though, see below.
- Gather aggregate information
- Add to aggregate data
- Add to Makefile
- Add to RPM spec
- Add to database
- Update portal data
The following information is required to add an aggregate to the service registry:
Item | Description |
---|---|
shortname | Short name of the aggregate, matches the nickname used by omni |
longname | Human readable name for the aggregate. This is displayed on the portal. |
description | Text description of the aggregate. This isn't used anywhere. |
URN | URN of aggregate. Must satisfy the GENI URN requirements. |
URL | URL of the AM. If there is more than one, choose the URL for the AM API v2 endpoint. |
UI Type | A single UI type. See UI Types below. |
UI Categories | A space separated list of categories. See UI Categories below. |
Speaks For | 'Y' if the aggregate supports speaks-for authorization. 'N' if it does not. |
The UI type is used to group aggregates with similar capabilities. The list of possible UI types is:
Type | Description |
---|---|
ui_instageni_am | InstaGENI |
ui_exogeni_am | ExoGENI |
ui_foam_am | FOAM |
ui_other_am | Other (including OpenGENI) |
The following restrictions apply when assigning UI categories:
- Every aggregate must have one and only one of ui_prod_cat, ui_dev_cat, ui_experimental_cat.
- Likewise, every aggregate gets one and only one of ui_compute_cat and ui_network_cat.
- ui_stitchable_cat and ui_federated_cat are optional attributes.
Category | Description |
---|---|
ui_prod_cat | This aggregate is deemed to be "production". The aggregate is stable and has been tested or otherwise vetted by the GPO. |
ui_dev_cat | This aggregate is deemed to be "development". The aggregate is used for development and is not considered stable. It could come down at any time, may have bugs, and may have untested features. |
ui_experimental_cat | This aggregate is "experimental". It may provide experimental capabilities to researchers, and is, like "development", provided without stability assurances. |
ui_compute_cat | This aggregate is a compute aggregate (provides bare metal or VMs) |
ui_network_cat | This aggregate is a network aggregate (provides paths / flows) |
ui_stitchable_cat | This aggregate stitchable (listed in SCS, connected to a switch configured with stitching VLANs etc.) |
ui_federated_cat | Is this agggregate a member of a different (non-GENI) federation, and is federated by mutual agreement between GENI and the aggregate's federation? |
Aggregate data is stored in geni-ch/data/sr/aggdata.csv.
Add entry for aggregate, as follows:
shortname,url,amcert,longname,description,urn,cacert,type,category,speaksfor
Notes:
- "amcert" is no longer used, leave this blank
- "cacert" is no longer used, leave this blank
- "category" is a space separated list of all categories that apply. Valid examples:
- "ui_prod_cat ui_network_cat"
- "ui_dev_cat ui_compute_cat ui_stitchable_cat ui_federated_cat"
Update geni-ch/data/Makefile.am
by adding a new *.sql
entry to the list of sql files assigned to AM_SQL
. Try to keep the list
in alphabetical order.
The name of the SQL file must match the "shortname" of the aggregate, with the prefix "sr/sql/add-" and the suffix ".sql". The general format is "sr/sql/add-shortname.sql".
For example, if the short name of an aggregate is "iowa-ig", the file should be named "sr/sql/add-iowa-ig.sql".
Add an entry for the new SQL file ("sr/sql/add-iowa-ig.sql") in the RPM spec file geni-chapi.spec. Locate other similar entries and add the new one in alphabetical order. As above, try to keep the list in alphabetical order.
After the above changes are installed
(see packaging instructions)
there will be a SQL file in /usr/share/geni-chapi/sr/sql
that will
insert the new aggregate into a running clearinghouse database. Following
the example above to add "iowa-ig", here is how that aggregate would
be added to the database:
psql -U portal -h localhost -f add-iowa-ig.sql portal
The same command appears in a header inside the generated SQL file as well.
See the portal's Jacks context wiki page.
See the portal's update map wiki page.