| 18 |   |  | 
          
          
            | 19 |   | Services and arguments | 
          
          
            | 20 |   |  | 
          
          
            | 21 |   | {{{ | 
          
          
            | 22 |   | <serviceGroup name="cmc"> | 
          
          
            | 23 |   |           <info>Controls nodes through their attached CMs</info> | 
          
          
            | 24 |   |           <service name="on"> | 
          
          
            | 25 |   |             <info>Switch on a node at a specific coordinate</info> | 
          
          
            | 26 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 27 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 28 |   |           </service> | 
          
          
            | 29 |   |           <service name="nodeSetOn"> | 
          
          
            | 30 |   |             <info>Switch on a specified set of nodes</info> | 
          
          
            | 31 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 32 |   |           </service> | 
          
          
            | 33 |   |           <service name="turnOn"> | 
          
          
            | 34 |   |             <info>Switch on nodes for a specified interface</info> | 
          
          
            | 35 |   |             <args><arg name="alias" value="alias_name"/></args> | 
          
          
            | 36 |   |           </service> | 
          
          
            | 37 |   |           <service name="allOn"> | 
          
          
            | 38 |   |             <info>Switch all nodes on</info> | 
          
          
            | 39 |   |           </service> | 
          
          
            | 40 |   |           <service name="off"> | 
          
          
            | 41 |   |             <info>Switch on a node at a specific coordinate</info> | 
          
          
            | 42 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 43 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 44 |   |           </service> | 
          
          
            | 45 |   |           <service name="offHard"> | 
          
          
            | 46 |   |             <info>Switch off hard a node at a specific coordinate</info> | 
          
          
            | 47 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 48 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 49 |   |           </service> | 
          
          
            | 50 |   |           <service name="allOffHard"> | 
          
          
            | 51 |   |             <info>Switch all nodes off</info> | 
          
          
            | 52 |   |           </service> | 
          
          
            | 53 |   |           <service name="nodeSetOffHard"> | 
          
          
            | 54 |   |             <info>Switch Off Hard a specified set of nodes</info> | 
          
          
            | 55 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 56 |   |           </service> | 
          
          
            | 57 |   |           <service name="offSoft"> | 
          
          
            | 58 |   |             <info>Switch off soft a node at a specific coordinate</info> | 
          
          
            | 59 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 60 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 61 |   |           </service> | 
          
          
            | 62 |   |           <service name="allOffSoft"> | 
          
          
            | 63 |   |             <info>Switch all nodes off</info> | 
          
          
            | 64 |   |           </service> | 
          
          
            | 65 |   |           <service name="nodeSetOffSoft"> | 
          
          
            | 66 |   |             <info>Switch Off Soft a specified set of nodes</info> | 
          
          
            | 67 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 68 |   |           </service> | 
          
          
            | 69 |   |           <service name="reset"> | 
          
          
            | 70 |   |             <info>Reset a node at a specific coordinate</info> | 
          
          
            | 71 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 72 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 73 |   |           </service> | 
          
          
            | 74 |   |           <service name="allReset"> | 
          
          
            | 75 |   |             <info>Reset all nodes</info> | 
          
          
            | 76 |   |           </service> | 
          
          
            | 77 |   |           <service name="nodeSetReset"> | 
          
          
            | 78 |   |             <info>Reset a specified set of nodes</info> | 
          
          
            | 79 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 80 |   |           </service> | 
          
          
            | 81 |   |           <service name="identify"> | 
          
          
            | 82 |   |             <info>Identify a node at a specific coordinate</info> | 
          
          
            | 83 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 84 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 85 |   |           </service> | 
          
          
            | 86 |   |           <service name="allIdentify"> | 
          
          
            | 87 |   |             <info>Identify all nodes</info> | 
          
          
            | 88 |   |           </service> | 
          
          
            | 89 |   |           <service name="nodeSetIdentify"> | 
          
          
            | 90 |   |             <info>Identify a specified set of nodes</info> | 
          
          
            | 91 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 92 |   |           </service> | 
          
          
            | 93 |   |           <service name="updateEnable"> | 
          
          
            | 94 |   |             <info>UpdateEnable a node at a specific coordinate</info> | 
          
          
            | 95 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 96 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 97 |   |           </service> | 
          
          
            | 98 |   |           <service name="nodeSetUpdateEnable"> | 
          
          
            | 99 |   |             <info>Update Enable a specified set of nodes</info> | 
          
          
            | 100 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 101 |   |           </service> | 
          
          
            | 102 |   |           <service name="updateDisable"> | 
          
          
            | 103 |   |             <info>UpdateDisable a node at a specific coordinate</info> | 
          
          
            | 104 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 105 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 106 |   |           </service> | 
          
          
            | 107 |   |           <service name="nodeSetUpdateDisable"> | 
          
          
            | 108 |   |             <info>Update Disable a specified set of nodes</info> | 
          
          
            | 109 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 110 |   |           </service> | 
          
          
            | 111 |   |           <service name="hostEnroll"> | 
          
          
            | 112 |   |             <info>Host Enroll a node at a specific coordinate</info> | 
          
          
            | 113 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 114 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 115 |   |           </service> | 
          
          
            | 116 |   |           <service name="allHostEnroll"> | 
          
          
            | 117 |   |             <info>Host Enroll all nodes</info> | 
          
          
            | 118 |   |           </service> | 
          
          
            | 119 |   |           <service name="nodeSetHostEnroll"> | 
          
          
            | 120 |   |             <info>Host Enroll a specified set of nodes</info> | 
          
          
            | 121 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 122 |   |           </service> | 
          
          
            | 123 |   |           <service name="nodeStatus"> | 
          
          
            | 124 |   |             <info>Return the status of a  node at a specific coordinate</info> | 
          
          
            | 125 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 126 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 127 |   |           </service> | 
          
          
            | 128 |   |           <service name="setNodeInactive"> | 
          
          
            | 129 |   |             <info>Set Inactive a Node from the Testbed</info> | 
          
          
            | 130 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 131 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 132 |   |           </service> | 
          
          
            | 133 |   |           <service name="nodeSetNodeInactive"> | 
          
          
            | 134 |   |             <info>Set Inactive a specified set of nodes</info> | 
          
          
            | 135 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 136 |   |           </service> | 
          
          
            | 137 |   |           <service name="setNodeActive"> | 
          
          
            | 138 |   |             <info>Set Active a Node from the Testbed</info> | 
          
          
            | 139 |   |             <args><arg name="x" value="x_coord"/></args> | 
          
          
            | 140 |   |             <args><arg name="y" value="y_coord"/></args> | 
          
          
            | 141 |   |           </service> | 
          
          
            | 142 |   |           <service name="nodeSetNodeActive"> | 
          
          
            | 143 |   |             <info>Set Active a specified set of nodes</info> | 
          
          
            | 144 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 145 |   |           </service> | 
          
          
            | 146 |   |           <service name="allStatus"> | 
          
          
            | 147 |   |             <info>Returns the status of the entire Testbed</info> | 
          
          
            | 148 |   |           </service> | 
          
          
            | 149 |   |           <service name="getActiveNodes"> | 
          
          
            | 150 |   |             <info>Get List of all Active Nodes from the Testbed</info> | 
          
          
            | 151 |   |           </service> | 
          
          
            | 152 |   |           <service name="getNodes"> | 
          
          
            | 153 |   |             <info>Get all Nodes for a specified domain</info> | 
          
          
            | 154 |   |             <args><arg name="nodes" value="set_of_nodes"/></args> | 
          
          
            | 155 |   |           </service> | 
          
          
            | 156 |   |           <service name="getAllNodes"> | 
          
          
            | 157 |   |             <info>Get List of all Nodes in the Testbed</info> | 
          
          
            | 158 |   |           </service> | 
          
          
            | 159 |   |           <service name="getNodesInAlias"> | 
          
          
            | 160 |   |              <info>Get all nodes for a specified interface</info> | 
          
          
            | 161 |   |              <args><arg name="alias" value="alias_name"/></args> | 
          
          
            | 162 |   |           </service> | 
          
          
            | 163 |   |         </serviceGroup> | 
          
          
            | 164 |   | }}} | 
          
          
            | 165 |   |  | 
          
          
            | 166 |   | Command redirection to other resources. | 
          
          
            | 167 |   | {{{ | 
          
          
            | 168 |   | http://<serviceGroup name>:5012/<serviceGroup name>/<service name>?<domain>=<domain name>&<1st_arg>=<arg_1_value>&<2nd_arg>=<arg_2_value> | 
          
          
            | 169 |   |  | 
          
          
            | 170 |   | Currently the valid domain name scheme is <subdomain-name>.orbit-lab.org, where  | 
          
          
            | 171 |   | subdomain-name = {grid,sb1,sb2,sb3,sb4,sb5,sb6,sb7,sb8,sb9}.  | 
          
          
            | 172 |   |  | 
          
          
            | 173 |   | For instance, to turn on node1-1.sb9.orbit-lab.org through node1-5.sb9.orbit-lab.org | 
          
          
            | 174 |   | from an internal machine (i.e. internal1, internal2, internal3, internal4), you would issue the following: | 
          
          
            | 175 |   |  | 
          
          
            | 176 |   | wget -O - "http://cmc:5012/cmc/nodeSetOn?domain=sb8.orbit-lab.org&nodes=[1,1..5]" | 
          
          
            | 177 |   |  | 
          
          
            | 178 |   | It should be noted that most users will not need to specify the domain.  This is only for internal development use and  | 
          
          
            | 179 |   | will not work from any of the consoles. | 
          
          
            | 180 |   | }}} | 
          
          
            | 181 |   |  | 
          
          
            | 182 |   | Access Control Policy. | 
          
          
            | 183 |   | {{{ | 
          
          
            | 184 |   | 1.) Access is granted to ON (on, allOn, nodeSetOn), OFF (off, offHard, allOffHard,  | 
          
          
            | 185 |   |     nodeSetOffHard, offSoft, nodeSetOffSoft, allOffSoft) and RESET (reset, nodeSetReset,  | 
          
          
            | 186 |   |     allReset) services if you are in the same subdomain as the resource you are trying to  | 
          
          
            | 187 |   |     control. | 
          
          
            | 188 |   |  | 
          
          
            | 189 |   | 2.) Access is granted to all services if you are on the internal subnet (10.0.0.0). The domain name  | 
          
          
            | 190 |   |     needs to be specified in this case | 
          
          
            | 191 |   |  | 
          
          
            | 192 |   | 3.) Access is granted to STATUS (nodeStatus, allStatus) services from everywhere. The  | 
          
          
            | 193 |   |     domain name needs to be specified in this case. | 
          
          
            | 194 |   | }}} | 
          
          
            | 195 |   |  | 
          
          
            | 196 |   |  |