summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/Test/imageTests.php18
-rwxr-xr-xserver/core/App.php6
-rw-r--r--server/core/Automating.php95
3 files changed, 117 insertions, 2 deletions
diff --git a/server/Test/imageTests.php b/server/Test/imageTests.php
index d184d44..d86c664 100644
--- a/server/Test/imageTests.php
+++ b/server/Test/imageTests.php
@@ -1,8 +1,10 @@
<?php
include('InitTest.php');
include_once("../core/Image.php");
+include_once("../core/Compute.php");
$image = new Image($App);
+$compute = new Compute($App);
$opt = Array();
$opt['name'] = "Test";
@@ -22,7 +24,6 @@ $opt['minRam'] = 10;
$image->action("listImage");
$im = $App->show();
$images = json_decode($im, true)["Images"];
-$recup;
echo "Images présentes :";
echo "</br>";
@@ -33,9 +34,22 @@ foreach($images as $i){
//echo $recup['id'];
}
echo "</br>";
-echo "Erreur capturée: ";
+
+echo "Flavors: ";
echo "</br>";
+$compute->action("listFlavors");
+$flavors = json_decode($App->show(), true)["Flavors"];
+
+foreach($flavors as $f){
+ echo "Id=".$f['id'].", ";
+ echo "name=".$f['name'].", ";
+ echo "ram=".$f['ram'].", ";
+ echo "disk=".$f['disk'].", ";
+ echo "vcpus=".$f['vcpus'];
+ echo "</br>";
+ }
+
/*
$App->setPostParam('id', 354);
$err = $image->action("deleteImage");
diff --git a/server/core/App.php b/server/core/App.php
index 6970e5f..10813bd 100755
--- a/server/core/App.php
+++ b/server/core/App.php
@@ -116,6 +116,12 @@ class App{
return $this->postParams[$name];
}
+
+ public function setPostParam($name, $value){
+
+ $this->postParams[$name]= $value;
+
+ }
public function setOutput($key, $out){
diff --git a/server/core/Automating.php b/server/core/Automating.php
new file mode 100644
index 0000000..2665541
--- /dev/null
+++ b/server/core/Automating.php
@@ -0,0 +1,95 @@
+<?php
+/**
+* File containing the Image Class.
+*
+* @version 1.0 Initialisation of this file
+* @since 1.0 Core application's file
+*
+* @author Yogg 'yogg at epsina . com'
+*
+* @todo Complete the functions with errors detection and finish the descriptions
+*/
+
+include("CoreInterface.php");
+include("Image.php");
+include("Network.php");
+include("Compute.php");
+
+class automating implements Core{
+ /** @var App $app protected, contains the main app object */
+ protected $app;
+
+ /** @var OpenStack\Identity $libClass protected, contains the library Identity object */
+ protected $libClass;
+
+ /**
+ * Image constructor
+ *
+ * @param App $app the main app object
+ *
+ * @return Image
+ */
+ public function __construct($app){
+ if(!isset($app)){
+ $this->app->setOutput("Error", "Incorrect parameter app");
+ }
+ $this->app = $app;
+ $this->libClass = $app->getLibClass("Automating");
+ }
+
+ /**
+ * Execute an action
+ *
+ * @param String $action name of another function of this class
+ *
+ * @return void
+ */
+ public function action($action){
+ $this->{$action.""}();
+ }
+
+
+ private function createImageOnNewServer(){
+ try{
+ $image = new Image($this->app);
+ $compute = new Compute($this->app);
+
+ $name = $this->app->getPostParam("name");
+ $falvor_id = $this->app->getPostParam("falvor_id"); // Compris entre 1 et 5 (1=petit serveur, 5=gros serveur)
+
+ $opt = Array();
+ $opt['name'] = $name;
+ $opt['visibility'] = 'public';
+ $opt['minDisk'] = 100; // A VOIR
+ $opt['minRam'] = 128; // A VOIR
+ $opt['protected'] = false;
+
+ $this->app->setPostParam("opt", $opt);
+
+ $image->action("createImage");
+ $res = json_decode($this->app->show(), true)["Images"];
+
+
+ $this->app->setPostParam("name", $name);
+ $this->app->setPostParam("imageId", $res['id']);
+ $this->app->setPostParam("flavorId", $falvor_id);
+
+ $compute->action("createServer");
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+
+}
+
+?> \ No newline at end of file