Internet2 ION Installation Instructions
Deploying the Lookup Service
Go to http://software.internet2.edu and install the RPM repository. Install the perl-perfSONAR_PS-LookupService RPM using yum.
Edit the file: "/etc/init.d/lookup_service" and add "--noclean" the command-line options after "--group ${GROUP}"
Start the service by running (as root): service lookup_service start
Edit the OSCARS oscars.properties and change the ls location from dcn-ls.internet2.edu to the lookup service.
Tip: /opt/perfsonar_ps/lookup_service/etc/daemon.conf will give you the default lookup service locations.
Deploying the Topology Service
Go to http://software.internet2.edu and install the RPM repository. Install the perl-perfSONAR_PS-TopologyService RPM using yum.
Start the service by running (as root): service topology_service start
Edit the OSCARS oscars.properties and change the ts location from dcn-ts.internet2.edu to the topology service.
Tip: /opt/perfsonar_ps/topology_service/etc/daemon.conf will give you the default topology service locations.
Deploying the Friendly Names Service
We've got an initial RPM ready for the friendly name CGI. You can grab the RPM from: http://ndb1.internet2.edu/~aaron/perl-perfSONAR_PS-DCNNameAdmin-3.1-1.pSPS.noarch.rpm
The RPM will add an apache configuration so that you can access the friendly name list via a read-only interface at "/DCNName" and via a read-write interface at "/DCNNameAdmin". The read-write interface uses http authentication. By default, it uses the htpasswd file in /opt/perfsonar_ps/DCNNameAdmin/etc/htpasswd, but you can edit "/etc/httpd/conf.d/DCNNameAdmin_apache.conf" and specify a different form of authentication or a different file, if desired.
The LS it works against is specified in "/opt/perfsonar_ps/DCNNameAdmin/etc/dcnAdmin.conf". It defaults to the LS at dcn-ls.internet2.edu.
There's a cron script installed by the RPM which will dump the database every 30 minutes to /var/lib/DCN/friendly_names.csv.
Deploying Internet2 ION
Getting the Code:
- Download and untar the latest/relevant tar from http://software.internet2.edu/sources/ION_WebUI/
OSCARS Database Configuration:
- Use the sql file in sql/adminSetup.sql . This will modify the OSCARS 'aaa' database to have the Internet2 ION-specific properties. For example, 'mysql < sql/adminSetup.sql' as root.
Endpoint Browser Configuration:
The endpoint browser uses the data dumps of friendly-names from the LS. The perfSONAR_PS-DCNNameAdmin packages include a script dcn_dump that outputs the friendly names registered in the lookup service. This dump file needs to be made available via HTTP. Since this package is already installed on the host with the LS, it's probably easiest to add a cron entry to dump the .csv file to a location where it's accessible via HTTP. Once you have that at a given URL, you can change the URL in the 'conf/properties/ion.properties' file to the new URL.
Note: You could modify scripts/regular_backup.sh to make a copy to some easily accessible location like
You will need to change the 'endpointData.localDomain' string to the domain e.g. if instead of dcn.internet2.edu, the new internet2.edu domain is just internet2.edu, change it to that. Note that internet2.edu is the domain you might have added (and set as local domain) while installing OSCARS.
Topology Configuration:
The file 'conf/properties/ion_topology.yaml' needs to be configured. This configuration is used for two aspects: the gps coordinates and ingress/egress utilization.
Here's an example ion_topology.yaml file:
measurementArchive: http://packrat.internet2.edu:9990/perfSONAR_PS/services/SNMPMA
vlanPortNameFormat: %p.%vnode_CHIC:
latitude: "42.2734"
longitude: "-83.7133"
name: mss.chic.net.internet2.edu
port_S26111:
name: 1-A-6-1-1
port_S28415:
name: 1-A-5-1-1
The GPS coordinates used will either be the ones specified in this for, or if the latitude/longitude are not specified, but the hostname has GPS coordinates in GPS, those will be used.
In this file, the CHIC node has two ports S26111 and S28415. The CHIC node has the dns name "mss.chic.net.internet2.edu", and the ports S26111 and S28415 correspond to "1-A-6-1-1" and "1-A-5-1-1" respectively. The names CHIC, S26111 and S28415 come from the topology file. So when the web interface sees an id like urn:ogf:network:domain=dcn.internet2.edu:node=CHIC:port=S26111", it knows that port is port 1-A-6-1-1 on host mss.chic.net.internet2.edu.
The above steps get the physical port that the circuit is using, but not the vlan interface for that port. To get that, it uses the vlanPortNameFormat variable. The one specified in the example means '[port name].[vlan numer]' so if a circuit was using vlan 501 on port 1-A-6-1-1, the web interface would map that to 1-A-6-1-1.501.
The above steps figure out what the interface name and host name are for the given circuit, but they still need to get utilization information. The web interface then queries the perfSONAR MA specified by 'measurementArchive' and specifies the hostname and interface name it calculated.
Building/Deploying the Code:
Once you have configured the various configuration files above, you can install the code using the following commands:
- set the environmental variable OSCARS_HOME to the location where oscars is installed
- set the environmental variable CATALINA_HOME to the location where tomcat is installed
- run "ant deploywar"
This should build and install the code. You should then be able to access it by going to http://[hostname]:8080/ion.
Changing Configuration After Installation:
If you need to make any changes to the configuration after it's installed (e.g. changing the ion_topology.yaml file), the installation location of the files is:
$OSCARS_HOME/conf/properties/
Note: You may need to register at google maps API to obtain a new key for your domain. Do so at http://code.google.com/apis/maps/signup.html. The generated key needs to be put into


