Changes between Version 2 and Version 3 of FeddPluginArchitecture


Ignore:
Timestamp:
Nov 11, 2009 10:58:45 AM (15 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FeddPluginArchitecture

    v2 v3  
    107107  The parameterized as above
    108108
     109=== Attribute Conventions ===
     110
     111Though we expect attribute conventions to evolve, currently the following entension attributes are understood.  Several are being used to bridge from the existing experiment description language to current topdl, and are somewhat emulab-specific.
     112
     113 '''failureaction'''::
     114  What the underlying testbed should do if this node cannot be reserved or configured.  Choices are '''fatal''' or '''nonfatal'''.
     115 '''osid'''::
     116  The local emulab operating system image.  This will become less common as more plugins are capable of mapping from operating system parameters into local image name, but can be used as a low-level escape.
     117 '''testbed'''::
     118  The experiment controller's name for the testbed this node will be placed on.  This is in place to allow native topdl descriptions to be accepted by experiment controllers - it's not needed by access controllers.  As the full experiment description language evolves, this may move into som part of that language or become a standard topdl attribute.
     119 '''type'''::
     120  The local emulab machine type.  This will become less common as more plugins are capable of mapping from CPU/storage parameters into local machine type, but can be used as a low-level escape.
     121
     122The following attributes appear in topology descriptions for use by local emulabs in configuration:
     123
     124 '''active'''::
     125  Attached to a portal computer.  If true, this portal initiates connections to the peer.
     126 '''dragon_vlan'''::
     127  If assigned, the VLAN tag on which this node will communicate.  The name will change.
     128 '''domain'''::
     129  Attached to a portal computer.  This is the DNS domain of the local emulab resources.
     130 '''ip4_address'''::
     131  The IP version 4 address of the interface that the attribute is attached to as a dotted decimal.
     132 '''masterdomain'''::
     133  Attached to a portal computer.  The DNS domain of the emulab exporting its environment.  Used to connect services and forward traffic.
     134 '''masterexperiment'''::
     135  Attached to a portal computer.  The emulab project/experiment name of the environment being exported from the master testbed.  Used to connect services.
     136 '''masteruser'''::
     137  Attached to a portal computer. The emulab user that alloacted the exported environment on the master.  User to connect to services.
     138 '''peer'''::
     139  Attached to a portal computer.  DNS name of the portal node used to bridge services and traffic.
     140 '''peer_segment'''::
     141  Attached to a portal computer.  Fedid of the allocation in which the peer portal lives.
     142 '''portal'''::
     143  True if this is a portal computer added by the experiment controller
     144 '''portal_type''::
     145  Attached to a portal computer.  Specifies whether this portal exports services, forwards traffic, or both.
     146 '''smbshare'''::
     147  Attached to a portal computer.  The SMB/CIFS share used to export local file systems (if any)
     148 '''startup'''::
     149  The startup command to federate the computer.
     150 
     151
     152
     153=== Example ===
     154
     155As an example, here is the experiment description from the [FeddAbout#FederatedExperimentCreation architecture discussion,] rendered in topdl.
     156
     157{{{
     158<experiment>
     159 <substrates>
     160  <name>link0</name>
     161  <capacity>
     162   <rate>100000</rate>
     163   <kind>max</kind>
     164  </capacity>
     165 </substrates>
     166 <substrates>
     167  <name>lan0</name>
     168  <capacity>
     169   <rate>100000</rate>
     170   <kind>max</kind>
     171  </capacity>
     172 </substrates>
     173 <substrates>
     174  <name>link1</name>
     175  <capacity>
     176   <rate>100000</rate>
     177   <kind>max</kind>
     178  </capacity>
     179 </substrates>
     180 <elements>
     181  <computer>
     182   <name>d</name>
     183   <attribute>
     184    <attribute>type</attribute>
     185    <value>bvx2200</value>
     186   </attribute>
     187   <os>
     188    <attribute>
     189     <attribute>osid</attribute>
     190     <value>FC6-SMB</value>
     191    </attribute>
     192   </os>
     193   <interface>
     194    <substrate>lan0</substrate>
     195    <capacity>
     196     <rate>100000</rate>
     197     <kind>max</kind>
     198    </capacity>
     199   </interface>
     200   <attribute>
     201    <attribute>testbed</attribute>
     202    <value>ucb</value>
     203   </attribute>
     204   <attribute>
     205    <attribute>failureaction</attribute>
     206    <value>fatal</value>
     207   </attribute>
     208  </computer>
     209 </elements>
     210 <elements>
     211  <computer>
     212   <name>e</name>
     213   <attribute>
     214    <attribute>type</attribute>
     215    <value>bvx2200</value>
     216   </attribute>
     217   <os>
     218    <attribute>
     219     <attribute>osid</attribute>
     220     <value>FC6-SMB</value>
     221    </attribute>
     222   </os>
     223   <interface>
     224    <substrate>lan0</substrate>
     225    <capacity>
     226     <rate>100000</rate>
     227     <kind>max</kind>
     228    </capacity>
     229   </interface>
     230   <attribute>
     231    <attribute>testbed</attribute>
     232    <value>ucb</value>
     233   </attribute>
     234   <attribute>
     235    <attribute>failureaction</attribute>
     236    <value>fatal</value>
     237   </attribute>
     238  </computer>
     239 </elements>
     240 <elements>
     241  <computer>
     242   <name>a</name>
     243   <attribute>
     244    <attribute>type</attribute>
     245    <value>pc</value>
     246   </attribute>
     247   <os>
     248    <attribute>
     249     <attribute>osid</attribute>
     250     <value>FC6-STD</value>
     251    </attribute>
     252   </os>
     253   <interface>
     254    <substrate>link0</substrate>
     255    <capacity>
     256     <rate>100000</rate>
     257     <kind>max</kind>
     258    </capacity>
     259   </interface>
     260   <attribute>
     261    <attribute>testbed</attribute>
     262    <value>deter</value>
     263   </attribute>
     264   <attribute>
     265    <attribute>failureaction</attribute>
     266    <value>fatal</value>
     267   </attribute>
     268  </computer>
     269 </elements>
     270 <elements>
     271  <computer>
     272   <name>b</name>
     273   <attribute>
     274    <attribute>type</attribute>
     275    <value>pc</value>
     276   </attribute>
     277   <os>
     278    <attribute>
     279     <attribute>osid</attribute>
     280     <value>FC6-STD</value>
     281    </attribute>
     282   </os>
     283   <interface>
     284    <substrate>link0</substrate>
     285    <capacity>
     286     <rate>100000</rate>
     287     <kind>max</kind>
     288    </capacity>
     289   </interface>
     290   <interface>
     291    <substrate>link1</substrate>
     292    <capacity>
     293     <rate>100000</rate>
     294     <kind>max</kind>
     295    </capacity>
     296   </interface>
     297   <attribute>
     298    <attribute>testbed</attribute>
     299    <value>deter</value>
     300   </attribute>
     301   <attribute>
     302    <attribute>failureaction</attribute>
     303    <value>fatal</value>
     304   </attribute>
     305  </computer>
     306 </elements>
     307 <elements>
     308  <computer>
     309   <name>c</name>
     310   <attribute>
     311    <attribute>type</attribute>
     312    <value>bvx2200</value>
     313   </attribute>
     314   <os>
     315    <attribute>
     316     <attribute>osid</attribute>
     317     <value>FC6-SMB</value>
     318    </attribute>
     319   </os>
     320   <interface>
     321    <substrate>lan0</substrate>
     322    <capacity>
     323     <rate>100000</rate>
     324     <kind>max</kind>
     325    </capacity>
     326   </interface>
     327   <interface>
     328    <substrate>link1</substrate>
     329    <capacity>
     330     <rate>100000</rate>
     331     <kind>max</kind>
     332    </capacity>
     333   </interface>
     334   <attribute>
     335    <attribute>testbed</attribute>
     336    <value>ucb</value>
     337   </attribute>
     338   <attribute>
     339    <attribute>failureaction</attribute>
     340    <value>fatal</value>
     341   </attribute>
     342  </computer>
     343 </elements>
     344</experiment>
     345}}}