| 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 | | |