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