ddf7a7d3835270354e34a78b225156c11459aea5
[raven.git] / apps / gacksadmin / wizard.php
1 <?php
2 \r
3 // Require login\r
4 require_once 'plc_login.php';\r
5 \r
6 // Get session and API handles\r
7 require_once 'plc_session.php';\r
8 global $plc, $api, $adm;\r
9 \r
10 // Common functions\r
11 require_once 'plc_functions.php';\r
12 require_once 'gacks_functions.php';\r
13 require_once 'gacksclient.php';\r
14 require_once 'linetabs.php';\r
15 require_once 'table.php';\r
16 require_once 'details.php';\r
17 require_once 'toggle.php';\r
18 require_once 'form.php';\r
19 \r
20 // find person roles\r
21 $_person= $plc->person;\r
22 $_person_id = $plc->person['person_id'];\r
23 $_roles= $_person['role_ids'];
24
25 // Print header
26 require_once 'plc_drupal.php';\r
27 drupal_set_title('Node Wizard');\r
28 include 'plc_header.php';
29
30 print "<br>";
31 $account_name = get_account_name($api, $_person_id);
32
33 if ($account_name != NULL) {
34     $gacksapi = new GACKSAPI();
35
36     // get the subgroup names to populate the combobox
37     $resources = $gacksapi->get_resources(NULL, "json");
38     $resources = json_decode($resources[2], true);
39     $subgroup_selectors = array();
40     foreach ($resources["resources"]["plc.vicci.cores"]["subgroups"] as $subgroup) {
41         $subgroup_selectors[]= array("display"=>$subgroup[0], "value"=>$subgroup[0]);
42     }
43
44     $form = new PlekitForm(l_gacks_actions(), array("action"=>"node-wizard",
45                                                     "account_name"=> $account_name,
46                                                     "resource_name"=>"plc.vicci.cores"));
47
48     $image_selectors = array();
49     $image_selectors []= array("display"=>"No Change", "value"=>"");
50     $image_selectors []= array("display"=>"Default PlanetLab image", "value"=>"default");
51     $image_selectors []= array("display"=>"Hadoop", "value"=>"hadoop");
52     $image_selectors []= array("display"=>"MPI", "value"=>"mpi");
53
54     $image = get_slice_image($api, $account_name);
55     $headNode = get_slice_headnode($api, $account_name);
56
57     $form->start();
58     print "<br><br>";
59     print "The node selection wizard can be used to automatically add a set of nodes ";
60     print "to your slice.";
61     print "<br><br>";
62
63     if ($image != NULL) {
64         print "This slice is currently using the image '" . $image . "'. ";
65     }
66     if ($headNode != NULL) {
67         print "The head node when using the MPI or Hadoop images is '" . $headNode . "'. ";
68     }
69     if (($image != NULL) or ($headNode !=NULL)) {
70         print "<br><br>";
71     }
72
73     print "Select which cluster you would like to allocate nodes from: <br>";
74     print $form->select_html("resource_group", $subgroup_selectors);
75     print "<br><br>Enter the number of nodes you would like to allocate: <br>";
76     print $form->input_html("int", "amount", "0");
77     print "<br><br>Choose what to do with your existing nodes: <br>";
78     print " " . $form->radio_html("expand", "0") . " replace current nodes<br>";
79     print " " . $form->radio_html("expand", "1", array("checked" => TRUE)) . " keep current nodes and add these nodes<br>";
80     print "<br><br>You can also select a preconfigured image to use with your slice:<br>";
81     print $form->select_html("image", $image_selectors);
82     print "<br><br>";
83     print $form->submit_html("submit", "submit");
84     $form->end();
85 }
86
87 include 'plc_footer.php';
88 \r
89 ?>\r
90
91