wiki:GIR3.2_IMF

Version 23 (modified by lnevers@bbn.com, 13 years ago) (diff)

--

Integrated Management Framework Evaluation

This evaluation reviews the documentation and code used for the GEC10 Demo of the Integrated Measurement Framework demonstration for the milestone:

IMF: S3.d Documentation and Code Release (Completed late 05/13/11)

According to the IMF Post-GEC11 status, the IMF code is available as attachments the status page. The following perfSONAR components are available:

In addition to the software, a login account is required to access http://ben.renci.org. To use the features in the !PubSub_for_PerfSONAR package.

Evaluation Timeline: October 7, 2011

Integrated Management Framework Findings

Found various issues captured were captured in as bugs in the IMF track system. The list of issues found includes:

  • Ticket 4 MH undocumented prerequisites and version error for makefile creation
  • Ticket 5 Real Time package installation inconsistencies and error
  • Ticket 6Real Time Readme issues
  • Ticket 7 Pub Sub package issues
  • Ticket 8 MH README Feedback
  • Ticket 9 prepare_environment.sh fails with missing components plus other errors
  • Ticket 11 Exception while starting PSM on geni-imf-dev

Additionally had to request account on the server https://ben.renci.org and on the server geni-imf-dev.renci-dcr.ben. Access to the geni-imf-dev.renci-dcr.ben is only available via an OpenVPN connection, which requires additional Credentials. Each of these were acquired from the IMF team.

Integrated Management Framework How-to

Downloaded each of the 5 software packages available as attachments in the Code Snapshot section of the IMF GEC11 QSR.

Measurement Handler How-to

Unpacked and built the Measurement Handler package:

  $ tar xvzf mh.tar.gz
  $ cd mh
  $ perl Makefile.PL 

The perl command fails due to missing pre-requisite perl Modules: Date::Manip, Net::Telnet, and Thread::Queue::Any. Once installed was able to generate the makefile and proceed to the next step:

$ make
make: *** No targets specified and no makefile found.  Stop.
lnevers@sendaria:~/IMF/mh$ perl Makefile.PL 
Argument "6.55_02" isn't numeric in numeric ge (>=) at Makefile.PL line 5.
Checking if your kit is complete...
Looks good
Writing Makefile for mh

$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-load.t ....... 1/1 # Testing tl1 1.3.1, Perl 5.010001, /usr/bin/perl
t/00-load.t ....... ok   
t/boilerplate.t ... ok   
t/manifest.t ...... skipped: Author tests not required for installation
t/pod-coverage.t .. skipped: Test::Pod::Coverage 1.08 required for testing POD coverage
t/pod.t ........... skipped: Test::Pod 1.22 required for testing POD
All tests successful.

Test Summary Report
-------------------
t/boilerplate.t (Wstat: 0 Tests: 3 Failed: 0)
  TODO passed:   1, 3
Files=5, Tests=4,  1 wallclock secs ( 0.03 usr  0.01 sys +  0.23 cusr  0.04 csys =  0.31 CPU)
Result: PASS

$ sudo make install
Installing /usr/local/share/perl/5.10.1/tl1.pm
Installing /usr/local/share/perl/5.10.1/mh/pol_tl1.pm
Installing /usr/local/share/perl/5.10.1/mh/infinera_tl1.pm
Installing /usr/local/man/man3/tl1.3pm
Installing /usr/local/man/man3/mh::pol_tl1.3pm
Installing /usr/local/man/man3/mh::infinera_tl1.3pm
Appending installation info to /usr/local/lib/perl/5.10.1/perllocal.pod

Realtime Service How-to

Unpacked and built the Realtime Service package:

  $ tar xvzf perfsonar_imf_realtime.tar.gz 
  $ cd perfSONAR_PS-IMF-RealTime
  $ sudo make install
  sed -i "s|/opt/perfsonar_ps/imfrealtime|/opt/perfsonar_ps/imfrealtime|g" ./etc/daemon.conf
  sed -i "s|/opt/perfsonar_ps/imfrealtime|/opt/perfsonar_ps/imfrealtime|g" ./etc/daemon_logger.conf
  for i in `ls ./scripts`; do sed -i "s|/opt/perfsonar_ps/imfrealtime|/opt/perfsonar_ps/imfrealtime|g" ./scripts/${i}; done
  mkdir -p /opt/perfsonar_ps/imfrealtime
  tar ch --exclude=etc/* --exclude=*spec --exclude=MANIFEST --exclude=Makefile -T MANIFEST | tar x -C /opt/perfsonar_ps/imfrealtime
  tar: doc/README: Cannot stat: No such file or directory
  tar: Exiting with failure status due to previous errors
  for i in `cat MANIFEST | grep ^etc`; do  mkdir -p `dirname /opt/perfsonar_ps/imfrealtime/${i}`; if [ -e /opt/perfsonar_ps/imfrealtime/${i} ]; then   install -m 640 -c ${i} /opt/perfsonar_ps/imfrealtime/${i}.new; else install -m 640 -c ${i} /opt/perfsonar_ps/imfrealtime/${i}; fi; done

PubSub How-to

Unpacked and built the PubSub package:

  $ tar xvzf PubSub_for_PerfSONAR.tar.gz
  $ $ cd PubSub_for_PerfSONAR/IMF/

Met pre-requisites for Pub Sub system:

  1. Get account on https://ben.renci.org/.
  2. Got account on geni-imf-dev.renci-dcr.ben system. Access to this system requires OpenVPN access.
  3. Got Encrypted OpeenVPN Credentials to access the OpenVPN site.
  4. Installed OpenVPN as described at the BEN Wiki page named Using BEN VPN
  5. Install the network manager to configure OpenVPN.

The following packages had to be installed for OpenVPN and Network Manager:

 $ sudo apt-get install openvpn network-manager-openvpn openvpn-blacklist network-manager
 $ sudo apt-get install resolvconf 

Run the network Manager to configure the OpenVPN

 $ sudo NetworkManager
 $ sudo nm-connection-editor

The encrypted OpenVPN Credential has to be unpacked usind a passphrase provided out of band:

 $ gpg -d gpo-bbn.zip.gpg > gpo-bbn.zip
 $ unzip gpo-bbn.zip 
    Archive:  gpo-bbn.zip
   creating: gpo-bbn/
  inflating: gpo-bbn/gpo-bbn.conf    
  inflating: gpo-bbn/gpo-bbn.ovpn    
  inflating: gpo-bbn/dh1024.pem      
  inflating: gpo-bbn/ca.crt          
  inflating: gpo-bbn/gpo-bbn.key     
  inflating: gpo-bbn/gpo-bbn.crt     

The file gpo-bbn/gpo-bbn.conf is imported into the Network Manager VPN settings to connect. Although I was not able to successfully import the configuration file, so switched to invoking the OpenVPN tool from the command line:

lnevers@arendia:~/IMF/VPN/gpo-bbn$ sudo openvpn --config ./gpo-bbn.conf  --script-security 2  
Thu Oct 13 15:59:09 2011 OpenVPN 2.2.1 i686-pc-linux-gnu [SSL] [LZO2] [EPOLL] [eurephia] built on Oct 13 2011
Enter Auth Username:lnevers
Enter Auth Password:
Thu Oct 13 15:59:15 2011 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Thu Oct 13 15:59:15 2011 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Thu Oct 13 15:59:15 2011 WARNING: file 'gpo-bbn.key' is group or others accessible
Thu Oct 13 15:59:15 2011 Control Channel MTU parms [ L:1541 D:138 EF:38 EB:0 ET:0 EL:0 ]
Thu Oct 13 15:59:15 2011 Data Channel MTU parms [ L:1541 D:1450 EF:41 EB:4 ET:0 EL:0 ]
Thu Oct 13 15:59:15 2011 Local Options hash (VER=V4): '3514370b'
Thu Oct 13 15:59:15 2011 Expected Remote Options hash (VER=V4): '239669a8'
Thu Oct 13 15:59:15 2011 NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Thu Oct 13 15:59:15 2011 UDPv4 link local: [undef]
Thu Oct 13 15:59:15 2011 UDPv4 link remote: 152.54.3.33:1194
Thu Oct 13 15:59:15 2011 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Thu Oct 13 15:59:15 2011 VERIFY OK: depth=1, /C=US/ST=NC/L=Chapel_Hill/O=BEN@RENCI/emailAddress=ben-ops@renci.org
Thu Oct 13 15:59:15 2011 VERIFY OK: depth=0, /C=US/ST=NC/L=Chapel_Hill/O=BEN@RENCI/OU=server/CN=server/emailAddress=ben-ops@renci.org
Thu Oct 13 15:59:16 2011 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Thu Oct 13 15:59:16 2011 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Oct 13 15:59:16 2011 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Thu Oct 13 15:59:16 2011 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Oct 13 15:59:16 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Thu Oct 13 15:59:16 2011 [server] Peer Connection Initiated with 152.54.3.33:1194
Thu Oct 13 15:59:18 2011 TUN/TAP device tun0 opened
Thu Oct 13 15:59:18 2011 /sbin/ifconfig tun0 192.168.207.22 pointopoint 192.168.207.21 mtu 1500
Thu Oct 13 15:59:18 2011 GID set to adm
Thu Oct 13 15:59:18 2011 UID set to nobody
Thu Oct 13 15:59:18 2011 Initialization Sequence Completed

Once the VPN is up, connected to the BEN Gateway:

$ ssh gw.ben.renci.org

Once loggeg in, connect to the geni-imf-dev host:

[lnevers@gw ~]$ ssh geni-imf-dev.renci-dcr.ben

Install the PubSub component:

 $ tar xvzf PubSub_for_PerfSONAR.tar.gz 
 $ cd PubSub_for_PerfSONAR/IMF/imf_pfsr/src/psm/

Set up the environment variable from the README.txt.txt:

export JAVA_HOME=/opt/java/jdk1.6.0_18
export ANT_HOME=/opt/java/apache-ant-1.8.0
export MAVEN_HOME=/opt/java/apache-maven-2.2.1
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin:$PATH
export IMF_HOME=/home/lnevers/PubSub_for_PerfSONAR/IMF/

Then ran maven install which failed due to a known missing jar problem, which is addressed by running the following first:

 $ mvn install:install-file -DgroupId=org.jivesoftware.smackx -DartifactId=smackx-pubsub -Dversion=3.1.0 -Dpackaging=jar -Dfile=lib/smackx.jar 
 $ mvn install:install-file -DgroupId=javax.mail -DartifactId=mail -Dversion=1.4 -Dpackaging=jar -Dfile=lib/mail-1.4.jar 
 $ mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar -Dfile=lib/jms.jar 
 $ mvn install:install-file -DgroupId=com.sun.jdmk -DartifactId=jmxtools -Dversion=1.2.1 -Dpackaging=jar -Dfile=lib/jmxtools.jar 
 $ mvn install:install-file -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jar -Dfile=lib/jmxri.jar 

Once completed, was able to run the maven install:

 $ mvn install assembly:assembly

Attempts to run the Pub Sub Client fails, waiting on response:

 $  cd $IMF_HOME/imf_pfsr/src/psm
 $  lnevers@geni-imf-dev:~/PubSub_for_PerfSONAR/IMF/imf_pfsr/src/psm$ java -cp $IMF_HOME:target/psm-0.1-jar-with-dependencies.jar 
     org.renci.geni_imf.psm.Simple
    13:20:17,718  INFO IMF:201 - ***** PerfSONAR + PSM Integration *****
    13:20:17,719  INFO IMF:203 - Loading measurement properties
    13:20:17,721  INFO IMF:215 - Creating XMPP connection
    13:20:17,736  INFO IMF:226 - Preparing soap measurement request message #1
    13:20:17,737  INFO IMF:278 - Starting measurement thread for PerfSONAR MP
    13:20:22,738  INFO IMF:45 - Retrieving measurement from PerfSONAR MP
    Oct 19, 2011 1:20:22 PM com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
    SEVERE: SAAJ0009: Message send failed
     java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
     Exception in thread "Timer-0" java.lang.NullPointerException
        at org.renci.geni_imf.psm.PerfSONAR_MP.retrieve_measurement(PerfSONAR_MP.java:157)
        at org.renci.geni_imf.psm.MeasurementThread.run(MeasurementThread.java:51)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)



Email us with any questions and feedback on this page!