79 | | where operation is one of '''create, terminate, info, vtopo, vis, info, split, or access''' and the parameters are described below. |
| 79 | where operation is one of '''create, terminate, info, vtopo, vis, multiinfo, multistatus, spewlog, image, ns_image, split, or access''' and the parameters are described below. |
126 | | The informational commands are '''vtopo''', '''vis''', and '''info'''. '''Vtopo''' and '''vis''' are equivalent to the analogous Emulab XMLRPC commands, and `fedd_client.py` prints thier results in raw XML. '''Info''' provides more information about the experiment, and it is printed as a python hash. These are primarily used for debugging rather than operations. |
| 126 | The informational commands are '''vtopo''', '''vis''', and '''info'''. '''Vtopo''' and '''vis''' are equivalent to the analogous Emulab XMLRPC commands, and `fedd_client.py` prints thier results in raw XML. '''Info''' provides general access to information about an experiment's state. It takes an additonal parameter to control the data output: |
| 127 | |
| 128 | '''--data ='''''data_element'':: |
| 129 | The data to output. May be specified more than once. |
| 130 | |
| 131 | The valid choices for '''--data''' are: |
| 132 | '''federant''':: |
| 133 | All information about the various federants. The XML format is available in the [source:fedd/trunk/wsdl/fedd_types.xsd data description] |
| 134 | '''id''':: |
| 135 | The local name and fedid of the experiment |
| 136 | '''status''':: |
| 137 | The current status of the experiment. One of '''active''', '''starting''', or '''failed''' |
| 138 | '''log''':: |
| 139 | The current experiment allocation log (may be incomplete for experiments still '''starting''') |
| 140 | '''access''':: |
| 141 | The X.509 credentials used to access the experiment. Note that this is only available to those who already have access to the experiment, but that can be passed along to others to grant them access. |
| 142 | '''vis''':: |
| 143 | visualization XML as above. (In fact '''vis''' is an alias for this.) |
| 144 | '''vtopo''':: |
| 145 | topology information as above. ('''vtopo''' is an alias for this.) |
146 | | '''inactive''':: |
147 | | The experiment is not swapped in, or the user does not have the right to acces it |
148 | | '''swapping''':: |
149 | | The experiment is swapping in. |
150 | | '''unknown''':: |
151 | | The experiment state could not be determined |
152 | | |
153 | | The '''terminate''' command stops a federated experiment and removes the access granted from the federants. |
| 165 | '''starting''':: |
| 166 | The experiment is being created. |
| 167 | '''failed''':: |
| 168 | The experiment could not be started. This state allows users to retrieve logs and federant information from failed experiments. Once information is retrieved, this experiment should be terminated. |
| 169 | |
| 170 | The '''multiinfo''' command takes the '''--data''' options that '''info''' takes, and returns the specified information for all experiments that the user has access to, separated by three dashes for each experiment. |
| 171 | |
| 172 | The '''multistatus''' command returns the following information for each experiment that the user can access. Each experiment's information is on a single line, separated by colons. The information is the experiment's human-readable name, the experiment's fedid as a hex string, the experiment's status, the master testbed for the experiment, and the project name on that master testbed. |
| 173 | |
| 174 | The '''spewlog''' command waits for a given experiment to go into either '''active''' or '''failed''' state and incrementally outputs the allocation log as it is generated at the fedd. In addition to the ususal information parameters it takes a '''--logfile='''''file'' parameter that specifies where to put the log file, and a '''--update='''''secs'' parameter that specifies how often to poll for log updates (default 10 seconds). When '''spewlog''' completes, it outputs the status of the experiment into the log file and terminates. |
| 175 | |
| 176 | |
| 177 | The '''terminate''' command stops a federated experiment and removes the access granted from the federants. It takes a '''--force''' parameter that terminates experiments that are either starting or in an unusual state. |