Changes between Initial Version and Version 1 of GEMINI/Tutorial/GEC15/Background/Topology


Ignore:
Timestamp:
10/23/12 00:01:07 (11 years ago)
Author:
carpenter@vis.uky.edu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GEMINI/Tutorial/GEC15/Background/Topology

    v1 v1  
     1= GEMINI/Tutorial/GEC15/Background/Topology =
     2
     3=== Formulate slice topology for experiment, and build request rspec ===
     4
     5In 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.
     6
     7To designate a node as a GLOBAL Node add the following section in the node section of the rspec as shown below
     8{{{
     9#!xml
     10<gemini:node type="global_node">
     11  <gemini:monitor_urn name="urn:publicid:IDN+uky.emulab.net+authority+cm">
     12 </gemini:monitor_urn>
     13</gemini:node>
     14
     15<!-- To make this node with public IP address -->
     16<emulab:routable_control_ip xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
     17
     18}}}
     19The 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.
     20
     21
     22All 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
     23{{{
     24#!xml
     25<gemini:node type="mp_node">
     26  <gemini:services>
     27    <gemini:active install="yes" enable="yes"/>
     28    <gemini:passive install="yes" enable="yes"/>
     29  </gemini:services>
     30</gemini:node>
     31
     32}}}
     33
     34For 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.
     35
     36Using 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
     37{{{
     38#!xml
     39<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">
     40  <node client_id="VM-1" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     41    <rs:vnode name="pcvm62-6"/>
     42    <sliver_type name="emulab-openvz"/>
     43    <interface client_id="VM-1:if0">
     44      <ip address="10.128.2.2" netmask="" type="ipv4"/>
     45      <flack:interface_info addressUnset="false"/>
     46    </interface>
     47    <interface client_id="VM-1:if1">
     48      <ip address="10.128.3.2" netmask="" type="ipv4"/>
     49      <flack:interface_info addressUnset="false"/>
     50    </interface>
     51    <interface client_id="VM-1:if2">
     52      <ip address="10.128.4.1" netmask="" type="ipv4"/>
     53      <flack:interface_info addressUnset="false"/>
     54    </interface>
     55    <gemini:node type="mp_node">
     56      <gemini:services>
     57        <gemini:active install="yes" enable="yes"/>
     58        <gemini:passive install="yes" enable="yes"/>
     59      </gemini:services>
     60    </gemini:node>
     61    <services>
     62      <execute command="sudo /tmp/installer/installer.sh" shell="sh"/>
     63      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     64      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     65    </services>
     66    <flack:node_info x="91" y="183" unbound="true"/>
     67  </node>
     68  <node client_id="VM-2" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     69    <rs:vnode name="pcvm62-7"/>
     70    <sliver_type name="emulab-openvz"/>
     71    <interface client_id="VM-2:if0">
     72      <ip address="10.128.1.1" netmask="" type="ipv4"/>
     73      <flack:interface_info addressUnset="false"/>
     74    </interface>
     75    <interface client_id="VM-2:if1">
     76      <ip address="10.128.4.2" netmask="" type="ipv4"/>
     77      <flack:interface_info addressUnset="false"/>
     78    </interface>
     79    <interface client_id="VM-2:if2">
     80      <ip address="10.128.6.2" netmask="" type="ipv4"/>
     81      <flack:interface_info addressUnset="false"/>
     82    </interface>
     83    <gemini:node type="mp_node">
     84      <gemini:services>
     85        <gemini:active install="yes" enable="yes"/>
     86        <gemini:passive install="yes" enable="yes"/>
     87      </gemini:services>
     88    </gemini:node>
     89    <services>
     90      <execute command="sudo /tmp/installer/installer.sh" shell="sh"/>
     91      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     92      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     93    </services>
     94    <flack:node_info x="637" y="208" unbound="true"/>
     95  </node>
     96  <node client_id="VM-3" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     97    <rs:vnode name="pcvm62-8"/>
     98    <sliver_type name="emulab-openvz"/>
     99    <interface client_id="VM-3:if0">
     100      <ip address="10.128.3.1" netmask="" type="ipv4"/>
     101      <flack:interface_info addressUnset="false"/>
     102    </interface>
     103    <interface client_id="VM-3:if1">
     104      <ip address="10.128.5.1" netmask="" type="ipv4"/>
     105      <flack:interface_info addressUnset="false"/>
     106    </interface>
     107    <interface client_id="VM-3:if2">
     108      <ip address="10.128.6.1" netmask="" type="ipv4"/>
     109      <flack:interface_info addressUnset="false"/>
     110    </interface>
     111    <gemini:node type="mp_node">
     112      <gemini:services>
     113        <gemini:active install="yes" enable="yes"/>
     114        <gemini:passive install="yes" enable="yes"/>
     115      </gemini:services>
     116    </gemini:node>
     117    <services>
     118      <execute command="sudo /tmp/installer/installer.sh" shell="sh"/>
     119      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     120      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     121    </services>
     122    <flack:node_info x="384" y="419" unbound="true"/>
     123  </node>
     124  <node client_id="VM-4" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     125    <rs:vnode name="pcvm62-9"/>
     126    <sliver_type name="emulab-openvz"/>
     127    <interface client_id="VM-4:if0">
     128      <ip address="10.128.1.2" netmask="" type="ipv4"/>
     129      <flack:interface_info addressUnset="false"/>
     130    </interface>
     131    <interface client_id="VM-4:if1">
     132      <ip address="10.128.2.1" netmask="" type="ipv4"/>
     133      <flack:interface_info addressUnset="false"/>
     134    </interface>
     135    <interface client_id="VM-4:if2">
     136      <ip address="10.128.5.2" netmask="" type="ipv4"/>
     137      <flack:interface_info addressUnset="false"/>
     138    </interface>
     139    <gemini:node type="mp_node">
     140      <gemini:services>
     141        <gemini:active install="yes" enable="yes"/>
     142        <gemini:passive install="yes" enable="yes"/>
     143      </gemini:services>
     144    </gemini:node>
     145    <services>
     146      <execute command="sudo /tmp/installer/installer.sh" shell="sh"/>
     147      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     148      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     149    </services>
     150    <flack:node_info x="650" y="417" unbound="true"/>
     151  </node>
     152  <node client_id="GN" exclusive="false" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1">
     153    <emulab:routable_control_ip xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
     154    <emulab:vnode name="pcvm62-10" xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
     155    <sliver_type name="emulab-openvz"/>
     156    <gemini:node type="global_node">
     157      <gemini:monitor_urn name="urn:publicid:IDN+uky.emulab.net+authority+cm">
     158    </gemini:monitor_urn></gemini:node>
     159    <services>
     160      <execute command="sudo /tmp/installer/installer.sh MC" shell="sh"/>
     161      <install install_path="/tmp" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/installer.tgz"/>
     162      <install install_path="/" url="http://www.uky.emulab.net/INSTOOLS/3.5/tarballs/sudoers.tgz"/>
     163    </services>
     164    <flack:node_info x="327" y="481" unbound="true"/>
     165  </node>
     166  <link client_id="lan0">
     167    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     168    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     169    <interface_ref client_id="VM-2:if0"/>
     170    <interface_ref client_id="VM-4:if0"/>
     171    <property source_id="VM-2:if0" dest_id="VM-4:if0"/>
     172    <property source_id="VM-4:if0" dest_id="VM-2:if0"/>
     173    <link_type name="lan"/>
     174    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     175  </link>
     176  <link client_id="lan1">
     177    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     178    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     179    <interface_ref client_id="VM-4:if1"/>
     180    <interface_ref client_id="VM-1:if0"/>
     181    <property source_id="VM-4:if1" dest_id="VM-1:if0"/>
     182    <property source_id="VM-1:if0" dest_id="VM-4:if1"/>
     183    <link_type name="lan"/>
     184    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     185  </link>
     186  <link client_id="lan2">
     187    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     188    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     189    <interface_ref client_id="VM-3:if0"/>
     190    <interface_ref client_id="VM-1:if1"/>
     191    <property source_id="VM-3:if0" dest_id="VM-1:if1"/>
     192    <property source_id="VM-1:if1" dest_id="VM-3:if0"/>
     193    <link_type name="lan"/>
     194    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     195  </link>
     196  <link client_id="lan3">
     197    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     198    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     199    <interface_ref client_id="VM-1:if2"/>
     200    <interface_ref client_id="VM-2:if1"/>
     201    <property source_id="VM-1:if2" dest_id="VM-2:if1"/>
     202    <property source_id="VM-2:if1" dest_id="VM-1:if2"/>
     203    <link_type name="lan"/>
     204    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     205  </link>
     206  <link client_id="lan4">
     207    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     208    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     209    <interface_ref client_id="VM-3:if1"/>
     210    <interface_ref client_id="VM-4:if2"/>
     211    <property source_id="VM-3:if1" dest_id="VM-4:if2"/>
     212    <property source_id="VM-4:if2" dest_id="VM-3:if1"/>
     213    <link_type name="lan"/>
     214    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     215  </link>
     216  <link client_id="lan5">
     217    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     218    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     219    <interface_ref client_id="VM-3:if2"/>
     220    <interface_ref client_id="VM-2:if2"/>
     221    <property source_id="VM-3:if2" dest_id="VM-2:if2"/>
     222    <property source_id="VM-2:if2" dest_id="VM-3:if2"/>
     223    <link_type name="lan"/>
     224    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
     225  </link>
     226</rspec>
     227
     228}}}
     229
     230Visually this would look like
     231
     232[[Image(Topology.png,border=1)]]
     233
     234