Changes between Version 6 and Version 7 of GEMINIv1.1Tutorial


Ignore:
Timestamp:
10/21/12 18:50:07 (12 years ago)
Author:
Ahmed El-Hassany
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GEMINIv1.1Tutorial

    v6 v7  
    9292==== 1.2)  Gather necessary keys, certificates and credentials ====
    9393
    94 For the purpose of this tutorial we created temporal credentials. Follow these [http://groups.geni.net/geni/wiki/GEMINIGEC14VMInstructions instructions].
     94For the purpose of this tutorial we created temporal credentials. Follow these [http://groups.geni.net/geni/wiki/GEMINIGEC15VMInstructions instructions].
    9595
    9696
     
    111111
    1121122.4)  Formulate slice topology for experiment, and build request rspec
     113
     114In order to use the GEMINI I&M system to instrument your slice, you have to add GEMINI specific rspec extensions to your slice. This can be done at the time you create your rspec. The GEMINI I&M system requires that you add an extra node with public IP address into your slice that we call as the GLOBAL Node (GN). This node does not need to have any links to any other nodes in your slice.
     115
     116To designate a node as a GLOBAL Node add the following section in the node section of the rspec as shown below
     117{{{
     118#!xml
     119<gemini:node type="global_node">
     120  <gemini:monitor_urn name="urn:publicid:IDN+uky.emulab.net+authority+cm">
     121 </gemini:monitor_urn>
     122</gemini:node>
     123
     124<!-- To make this node with public IP address -->
     125<emulab:routable_control_ip xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
     126
     127}}}
     128The monitor-urn tag defines which Aggregate's Node this Global Node is supposed to monitor. In our example above, this node is supposed to monitor the nodes at the Kentucky Aggregate.
     129
     130
     131All other nodes (raw-pc or virtual nodes) to be monitored using GEMINI should be designated with a GEMINI rspec extension that defines them as a MP Node (measurement point node) as shown below
     132{{{
     133#!xml
     134<gemini:node type="mp_node">
     135  <gemini:services>
     136    <gemini:active install="yes" enable="yes"/>
     137    <gemini:passive install="yes" enable="yes"/>
     138  </gemini:services>
     139</gemini:node>
     140
     141}}}
     142
     143For each MP node you also have to define if you would like to have active or passive monitoring installed and/or enabled . The above snippet requests that both active and passive monitoring be installed and enabled on the node.
     144
     145Using the above mentioned GEMINI rspec extensions along with its xmlns schema definition in the rspec (xmlns:gemini="http://geni.net/resources/rspec/ext/gemini/1"), you can create a Slice which can later be instrumentized using GEMINI. For example, our Tutorial topology rspec would look like
     146{{{
     147#!xml
     148<rspec type="request" generated_by="Flack" generated="2012-10-10T16:34:53Z" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd " xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gemini="http://geni.net/resources/rspec/ext/gemini/1" xmlns="http://www.geni.net/resources/rspec/3">
     149  <node client_id="VM-1" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     150    <rs:vnode name="pcvm62-6"/>
     151    <sliver_type name="emulab-openvz"/>
     152    <interface client_id="VM-1:if0">
     153      <ip address="10.128.2.2" netmask="" type="ipv4"/>
     154      <flack:interface_info addressUnset="false"/>
     155    </interface>
     156    <interface client_id="VM-1:if1">
     157      <ip address="10.128.3.2" netmask="" type="ipv4"/>
     158      <flack:interface_info addressUnset="false"/>
     159    </interface>
     160    <interface client_id="VM-1:if2">
     161      <ip address="10.128.4.1" netmask="" type="ipv4"/>
     162      <flack:interface_info addressUnset="false"/>
     163    </interface>
     164    <gemini:node type="mp_node">
     165      <gemini:services>
     166        <gemini:active install="yes" enable="yes"/>
     167        <gemini:passive install="yes" enable="yes"/>
     168      </gemini:services>
     169    </gemini:node>
     170    <services>
     171      <execute command="sudo /tmp/installer/installer.sh" shell="sh"/>
     172      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     173      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     174    </services>
     175    <flack:node_info x="91" y="183" unbound="true"/>
     176  </node>
     177  <node client_id="VM-2" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     178    <rs:vnode name="pcvm62-7"/>
     179    <sliver_type name="emulab-openvz"/>
     180    <interface client_id="VM-2:if0">
     181      <ip address="10.128.1.1" netmask="" type="ipv4"/>
     182      <flack:interface_info addressUnset="false"/>
     183    </interface>
     184    <interface client_id="VM-2:if1">
     185      <ip address="10.128.4.2" netmask="" type="ipv4"/>
     186      <flack:interface_info addressUnset="false"/>
     187    </interface>
     188    <interface client_id="VM-2:if2">
     189      <ip address="10.128.6.2" netmask="" type="ipv4"/>
     190      <flack:interface_info addressUnset="false"/>
     191    </interface>
     192    <gemini:node type="mp_node">
     193      <gemini:services>
     194        <gemini:active install="yes" enable="yes"/>
     195        <gemini:passive install="yes" enable="yes"/>
     196      </gemini:services>
     197    </gemini:node>
     198    <services>
     199      <execute command="sudo /tmp/installer/installer.sh" shell="sh"/>
     200      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     201      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     202    </services>
     203    <flack:node_info x="637" y="208" unbound="true"/>
     204  </node>
     205  <node client_id="VM-3" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     206    <rs:vnode name="pcvm62-8"/>
     207    <sliver_type name="emulab-openvz"/>
     208    <interface client_id="VM-3:if0">
     209      <ip address="10.128.3.1" netmask="" type="ipv4"/>
     210      <flack:interface_info addressUnset="false"/>
     211    </interface>
     212    <interface client_id="VM-3:if1">
     213      <ip address="10.128.5.1" netmask="" type="ipv4"/>
     214      <flack:interface_info addressUnset="false"/>
     215    </interface>
     216    <interface client_id="VM-3:if2">
     217      <ip address="10.128.6.1" netmask="" type="ipv4"/>
     218      <flack:interface_info addressUnset="false"/>
     219    </interface>
     220    <gemini:node type="mp_node">
     221      <gemini:services>
     222        <gemini:active install="yes" enable="yes"/>
     223        <gemini:passive install="yes" enable="yes"/>
     224      </gemini:services>
     225    </gemini:node>
     226    <services>
     227      <execute command="sudo /tmp/installer/installer.sh" shell="sh"/>
     228      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     229      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     230    </services>
     231    <flack:node_info x="384" y="419" unbound="true"/>
     232  </node>
     233  <node client_id="VM-4" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     234    <rs:vnode name="pcvm62-9"/>
     235    <sliver_type name="emulab-openvz"/>
     236    <interface client_id="VM-4:if0">
     237      <ip address="10.128.1.2" netmask="" type="ipv4"/>
     238      <flack:interface_info addressUnset="false"/>
     239    </interface>
     240    <interface client_id="VM-4:if1">
     241      <ip address="10.128.2.1" netmask="" type="ipv4"/>
     242      <flack:interface_info addressUnset="false"/>
     243    </interface>
     244    <interface client_id="VM-4:if2">
     245      <ip address="10.128.5.2" netmask="" type="ipv4"/>
     246      <flack:interface_info addressUnset="false"/>
     247    </interface>
     248    <gemini:node type="mp_node">
     249      <gemini:services>
     250        <gemini:active install="yes" enable="yes"/>
     251        <gemini:passive install="yes" enable="yes"/>
     252      </gemini:services>
     253    </gemini:node>
     254    <services>
     255      <execute command="sudo /tmp/installer/installer.sh" shell="sh"/>
     256      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     257      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     258    </services>
     259    <flack:node_info x="650" y="417" unbound="true"/>
     260  </node>
     261  <node client_id="GN" exclusive="false" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     262    <emulab:routable_control_ip xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
     263    <emulab:vnode name="pcvm62-10" xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
     264    <sliver_type name="emulab-openvz"/>
     265    <gemini:node type="global_node">
     266      <gemini:monitor_urn name="urn:publicid:IDN+uky.emulab.net+authority+cm">
     267    </gemini:monitor_urn></gemini:node>
     268    <services>
     269      <execute command="sudo /tmp/installer/installer.sh MC" shell="sh"/>
     270      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     271      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     272    </services>
     273    <flack:node_info x="327" y="481" unbound="true"/>
     274  </node>
     275  <link client_id="lan0">
     276    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     277    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     278    <interface_ref client_id="VM-2:if0"/>
     279    <interface_ref client_id="VM-4:if0"/>
     280    <property source_id="VM-2:if0" dest_id="VM-4:if0"/>
     281    <property source_id="VM-4:if0" dest_id="VM-2:if0"/>
     282    <link_type name="lan"/>
     283    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     284  </link>
     285  <link client_id="lan1">
     286    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     287    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     288    <interface_ref client_id="VM-4:if1"/>
     289    <interface_ref client_id="VM-1:if0"/>
     290    <property source_id="VM-4:if1" dest_id="VM-1:if0"/>
     291    <property source_id="VM-1:if0" dest_id="VM-4:if1"/>
     292    <link_type name="lan"/>
     293    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     294  </link>
     295  <link client_id="lan2">
     296    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     297    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     298    <interface_ref client_id="VM-3:if0"/>
     299    <interface_ref client_id="VM-1:if1"/>
     300    <property source_id="VM-3:if0" dest_id="VM-1:if1"/>
     301    <property source_id="VM-1:if1" dest_id="VM-3:if0"/>
     302    <link_type name="lan"/>
     303    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     304  </link>
     305  <link client_id="lan3">
     306    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     307    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     308    <interface_ref client_id="VM-1:if2"/>
     309    <interface_ref client_id="VM-2:if1"/>
     310    <property source_id="VM-1:if2" dest_id="VM-2:if1"/>
     311    <property source_id="VM-2:if1" dest_id="VM-1:if2"/>
     312    <link_type name="lan"/>
     313    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     314  </link>
     315  <link client_id="lan4">
     316    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     317    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     318    <interface_ref client_id="VM-3:if1"/>
     319    <interface_ref client_id="VM-4:if2"/>
     320    <property source_id="VM-3:if1" dest_id="VM-4:if2"/>
     321    <property source_id="VM-4:if2" dest_id="VM-3:if1"/>
     322    <link_type name="lan"/>
     323    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     324  </link>
     325  <link client_id="lan5">
     326    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     327    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     328    <interface_ref client_id="VM-3:if2"/>
     329    <interface_ref client_id="VM-2:if2"/>
     330    <property source_id="VM-3:if2" dest_id="VM-2:if2"/>
     331    <property source_id="VM-2:if2" dest_id="VM-3:if2"/>
     332    <link_type name="lan"/>
     333    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     334  </link>
     335</rspec>
     336
     337}}}
     338
     339Visually this would look like
     340
     341
    113342
    1143432.5)  Acquire resources and load images/packages for I&M tools and experiment services