start work on nodelist page
[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 $tabs['Show Nodes'] = array('method'=>'POST',
31                            'url'=>l_gacks_nodelist(),\r
32                            'bubble'=>"Show nodes in your slice");
33
34 $tabs['Add Nodes'] = array('method'=>'POST',
35                            'url'=>l_gacks_wizard(),\r
36                            'bubble'=>"Add nodes to your slice");\r
37 \r
38 plekit_linetabs($tabs);
39
40 print "<br>";
41 $account_name = get_account_name($api, $_person_id);
42
43 if ($account_name != NULL) {
44     $gacksapi = new GACKSAPI();
45
46     // get the subgroup names to populate the combobox
47     $resources = $gacksapi->get_resources(NULL, "json");
48     $resources = json_decode($resources[2], true);
49     $subgroup_selectors = array();
50     foreach ($resources["resources"]["plc.vicci.cores"]["subgroups"] as $subgroup) {
51         $subgroup_selectors[]= array("display"=>$subgroup[0], "value"=>$subgroup[0]);
52     }
53
54     $form = new PlekitForm(l_gacks_actions(), array("action"=>"node-wizard",
55                                                     "account_name"=> $account_name,
56                                                     "resource_name"=>"plc.vicci.cores"));
57
58     $image_selectors = array();
59     $image_selectors []= array("display"=>"No Change", "value"=>"");
60     $image_selectors []= array("display"=>"Default PlanetLab image", "value"=>"default");
61     $image_selectors []= array("display"=>"Hadoop", "value"=>"hadoop");
62     $image_selectors []= array("display"=>"MPI", "value"=>"mpi");
63
64     $image = get_slice_image($api, $account_name);
65     $headNode = get_slice_headnode($api, $account_name);
66
67     $form->start();
68     print <<< EOF
69 <br><br>
70 The node selection wizard may be used to automatically add a set of nodes (VMs)
71 to your slice.
72 <br><br>
73 EOF;
74
75     if ($image != NULL) {
76         print "This slice is currently using the image '" . $image . "'. ";
77     }
78     if ($headNode != NULL) {
79         print "The head node when using the MPI or Hadoop images is '" . $headNode . "'. ";
80     }
81     if (($image != NULL) or ($headNode !=NULL)) {
82         print "<br><br>";
83     }
84
85     print "Select which cluster you would like to allocate slivers from: <br>";
86     print $form->select_html("resource_group", $subgroup_selectors);
87     print "<br><br>Enter the number of slivers you would like to allocate: <br>";
88     print $form->input_html("int", "amount", "0");
89     print "<br><br>Choose what to do with your existing slivers: <br>";
90     print " " . $form->radio_html("expand", "0") . " replace current slivers<br>";
91     print " " . $form->radio_html("expand", "1", array("checked" => TRUE)) . " keep current slivers and add these slivers<br>";
92     print "<br><br>You can also select a preconfigured image to use with your slice:<br>";
93     print $form->select_html("image", $image_selectors);
94     print "<br><br>";
95     print $form->submit_html("submit", "submit");
96     print "<br><br>";
97     print <<< EOF
98 A 'sliver' is an instance of a virtual machine on a Vicci node.
99 The term 'sliver' is synonymous with 'VM' in OpenStack, or 'instance' in EC2.
100 Currently, each sliver is instantiated on a distinct node, and therefore,
101 the total number of VMs is bounded by either the number of nodes\r
102 as a given site (currently 70) or overall (currently 350).
103 EOF;
104     $form->end();
105 }
106
107 include 'plc_footer.php';
108 \r
109 ?>\r
110
111