From 0298591cee4365f82e41c077f799270ba1647e5b Mon Sep 17 00:00:00 2001 From: Yoggzo Date: Wed, 2 Mar 2016 16:00:46 +0100 Subject: Architecture modification --- server/core/Image.php | 71 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 48 insertions(+), 23 deletions(-) (limited to 'server/core') diff --git a/server/core/Image.php b/server/core/Image.php index 4025595..ddd8390 100644 --- a/server/core/Image.php +++ b/server/core/Image.php @@ -14,6 +14,8 @@ use OpenStack\Common\Error\BaseError; use OpenStack\Common\Error\NotImplementedError; use OpenStack\Common\Error\UserInputError; +include("CoreInterface.php"); + /** * Image Class of the back-end application * @@ -77,6 +79,7 @@ class image implements Core{ * **/ private function createImage(array $opt){ + $opt = $this->app->getPostParam("opt"); if(!isset($opt)){ $this->app->setOutput("Error", "Incorrect parameter"); @@ -141,7 +144,7 @@ class image implements Core{ }catch(NotImplementedError $e){ $this->app->getErrorInstance->NotImplementedHandler($e); } - return $image; + $this->app->setOutput("Images", $image); } /** @@ -151,9 +154,10 @@ class image implements Core{ */ private function listImage(){ try{ + $result = array(); $l = $this->libClass->listImages(); - if(!isset($l)){ // if the list is empty there is no images - $this->app->setOutput("Error", "No image"); + foreach($l as $tmp){ + $result[] = $tmp; } }catch(BadResponseError $e){ $this->app->getErrorInstance()->BadResponseHandler($e); @@ -164,8 +168,7 @@ class image implements Core{ }catch(NotImplementedError $e){ $this->app->getErrorInstance->NotImplementedHandler($e); } - return $l; - + $this->app->setOutput("Images", $result); } /** @@ -175,9 +178,10 @@ class image implements Core{ * identifier of the image * **/ - private function detailsImage($id){ + private function detailsImage(){ + $id = $this->app->getPostParam("id"); if(!isset($id)){ - // Renvoyer erreur + $this->app->setOutput("Error", "Incorrect id parameter"); } try{ $service = $this->libClass; @@ -185,8 +189,7 @@ class image implements Core{ if($image == null){ // if the image don't exists -> error $this->app->setOutput("Error", "Image doesn't exist"); } - - return $image; + $this->app->setOutput("Images", $image); }catch(BadResponseError $e){ $this->app->getErrorInstance()->BadResponseHandler($e); }catch(UserInputError $e){ @@ -207,7 +210,9 @@ class image implements Core{ * @param array $opt * options for the image creation **/ - private function updateImage($id, array $opt){ + private function updateImage(){ + $id = $this->app->getPostParam("id"); + $opt = $this->app->getPostParam("opt"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect id parameter"); } @@ -254,7 +259,7 @@ class image implements Core{ }catch(NotImplementedError $e){ $this->app->getErrorInstance->NotImplementedHandler($e); } - return $image; + $this->app->setOutput("Images", $image); } /** @@ -263,9 +268,10 @@ class image implements Core{ * @param string $id * identifier of the image **/ - private function deleteImage($id){ + private function deleteImage(){ // si protected = true, demander de le mettre a false // vérifier existence image + $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Image doesn't exist"); } @@ -285,8 +291,7 @@ class image implements Core{ $this->app->getErrorInstance->BaseErrorHandler($e); }catch(NotImplementedError $e){ $this->app->getErrorInstance->NotImplementedHandler($e); - } - + } } /** @@ -295,7 +300,8 @@ class image implements Core{ * @param string $id * identifier of the image **/ - private function reactivateImage($id){ + private function reactivateImage(){ + $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect parameter"); } @@ -324,7 +330,8 @@ class image implements Core{ * @param string $id * identifier of the image **/ - private function desactivateImage($id){ + private function desactivateImage(){ + $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect parameter"); } @@ -357,6 +364,9 @@ class image implements Core{ * path of the image **/ private function uploadImage($id, $file_name){ + $id = $this->app->getPostParam("id"); + $file_name = $this->app->getPostParam("file_name"); + if(!isset($id)){ $this->app->setOutput("Error", "Incorrect id parameter"); } @@ -390,6 +400,7 @@ class image implements Core{ * identifier of the image **/ private function downloadImage($id){ + $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect parameter"); } @@ -410,7 +421,7 @@ class image implements Core{ }catch(NotImplementedError $e){ $this->app->getErrorInstance->NotImplementedHandler($e); } - return $stream; + $this->app->setOutput("Images", $stream); } /** @@ -422,7 +433,10 @@ class image implements Core{ * @param string $member_id * identifier of the member **/ - private function addMemberImage($image_id, $member_id){ + private function addMemberImage(){ + $image_id = $this->app->getPostParam("image_id"); + $member_id = $this->app->getPostParam("member_id"); + if(!isset($image_id)){ $this->app->setOutput("Error", "Incorrect parameter image_id"); } @@ -455,7 +469,9 @@ class image implements Core{ * @param string $image_id * identifier of the image **/ - private function listMemberImage($image_id, $member_id){ + private function listMemberImage(){ + $image_id = $this->app->getPostParam("image_id"); + $member_id = $this->app->getPostParam("member_id"); if(!isset($image_id)){ $this->app->setOutput("Error", "Incorrect parameter image_id"); } @@ -482,7 +498,7 @@ class image implements Core{ }catch(NotImplementedError $e){ $this->app->getErrorInstance->NotImplementedHandler($e); } - return $members; + $this->app->setOutput("Images", $member); } /** @@ -494,7 +510,9 @@ class image implements Core{ * @param string $member_id * identifier of the member **/ - private function detailMemberImage($image_id, $member_id){ + private function detailMemberImage(){ + $image_id = $this->app->getPostParam("image_id"); + $member_id = $this->app->getPostParam("member_id"); if(!isset($image_id)){ $this->app->setOutput("Error", "Incorrect parameter image_id"); } @@ -525,7 +543,7 @@ class image implements Core{ }catch(NotImplementedError $e){ $this->app->getErrorInstance->NotImplementedHandler($e); } - return $member; + $this->app->setOutput("Images", $member); } /** @@ -537,7 +555,10 @@ class image implements Core{ * @param string $member_id * identifier of the member **/ - private function removeMemberImage($image_id, $member_id){ + private function removeMemberImage(){ + $image_id = $this->app->getPostParam("image_id"); + $member_id = $this->app->getPostParam("member_id"); + if(!isset($image_id)){ $this->app->setOutput("Error", "Incorrect parameter image_id"); } @@ -580,6 +601,10 @@ class image implements Core{ * new status for the member **/ private function updateMemberImage($image_id, $member_id, $status){ + $image_id = $this->app->getPostParam("image_id"); + $member_id = $this->app->getPostParam("member_id"); + $status = $this->app->getPostParam("status"); + if(!isset($image_id)){ $this->app->setOutput("Error", "Incorrect parameter image_id"); } -- cgit v1.2.3 From f4e59ee82c5947496d1810d53483c5a0afd57fe8 Mon Sep 17 00:00:00 2001 From: stupidon Date: Sat, 5 Mar 2016 13:58:52 +0100 Subject: - added more details in the listServers, listImages, listFlavors functions - updated all functions to provide basic error-handling - defined updateServer and deleteServer --- server/core/Compute.php | 111 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 93 insertions(+), 18 deletions(-) (limited to 'server/core') diff --git a/server/core/Compute.php b/server/core/Compute.php index a5b8375..4a50f4a 100644 --- a/server/core/Compute.php +++ b/server/core/Compute.php @@ -12,11 +12,11 @@ class compute protected $libClass; - public function __construct($app) - { - $this->app = $app; - $this->libClass = $app->getLibClass("Compute"); - } + public function __construct($app) + { + $this->app = $app; + $this->libClass = $app->getLibClass("Compute"); + } /** * Execute an action * @@ -41,13 +41,26 @@ class compute $servers[$server->id] = Array(); $server->flavor->retrieve(); $server->image->retrieve(); + $server->retrieve(); $servers[$server->id]["id"] = $server->id; $servers[$server->id]["name"] = $server->name; - $servers[$server->id]["imageId"] = $server->image->id; - $servers[$server->id]["flavorId"] = $server->flavor->id; - $servers[$server->id]["status"] = $server->status; + $servers[$server->id]["image"] = $server->image; $servers[$server->id]["ram"] = $server->flavor->ram; $servers[$server->id]["disk"] = $server->flavor->disk; + $servers[$server->id]["flavor"] = $server->flavor; + $servers[$server->id]["status"] = $server->status; + $servers[$server->id]["created"] = $server->created; + $servers[$server->id]["updated"] = $server->updated; + $servers[$server->id]["ipv4"] = $server->ipv4; + $servers[$server->id]["ipv6"] = $server->ipv6; + $servers[$server->id]["progress"] = $server->progress; + $servers[$server->id]["hostId"] = $server->hostId; + $servers[$server->id]["tenantId"] = $server->tenantId; + $servers[$server->id]["userId"] = $server->userId; + $servers[$server->id]["taskState"] = $server->taskState; + $servers[$server->id]["addresses"] = $server->addresses; + $servers[$server->id]["links"] = $server->links; + $servers[$server->id]["metadata"] = $server->metadata; } $this->app->setOutput("Servers", $servers); return; @@ -62,8 +75,13 @@ class compute $flavors = Array(); foreach($flavorList as $flavor){ $flavors[$flavor->id] = Array(); + $flavor->retrieve(); $flavors[$flavor->id]["id"] = $flavor->id; $flavors[$flavor->id]["name"] = $flavor->name; + $flavors[$flavor->id]["ram"] = $flavor->ram; + $flavors[$flavor->id]["disk"] = $flavor->disk; + $flavors[$flavor->id]["vcpus"] = $flavor->vcpus; + $flavors[$flavor->id]["links"] = $flavor->links; } $this->app->setOutput("Flavors", $flavors); return; @@ -78,8 +96,17 @@ class compute $images = Array(); foreach($imageList as $image){ $images[$image->id] = Array(); + $image->retrieve(); $images[$image->id]["id"] = $image->id; $images[$image->id]["name"] = $image->name; + $images[$image->id]["status"] = $image->status; + $images[$image->id]["created"] = $image->created; + $images[$image->id]["updated"] = $image->updated; + $images[$image->id]["minDisk"] = $image->minDisk; + $images[$image->id]["minRam"] = $image->minRam; + $images[$image->id]["progress"] = $image->progress; + $images[$image->id]["links"] = $image->links; + $images[$image->id]["metadata"] = $image->metadata; } $this->app->setOutput("Images", $images); return; @@ -87,11 +114,18 @@ class compute /** * Create server. * @return array - * + */ public function createServer() { - - $server = $this->libClass->createServer(); + $name = $this->app->getPostParam("name"); + $imageId = $this->app->getPostParam("imageId"); + $flavorId = $this->app->getPostParam("flavorId"); + if(!isset($name) || !isset($imageId) || !isset($flavorId)){ + $this->app->setOutput("Error", "No, we don't let you create a server without a name OR image ID OR flavor ID."); + return; + } + $opt = array('name' => $name, 'imageId' => $imageId, 'flavorId' => $flavorId); + $server = $this->libClass->createServer($opt); } */ /** @@ -101,6 +135,10 @@ class compute public function getServer() { $serverId = $this->app->getPostParam("serverId"); + if(!isset($serverId)){ + $this->app->setOutput("Error", "Server ID is missing, son!"); + return; + } $opt = array('id' => $serverId); $server = $this->libClass->getServer($opt); $server->retrieve(); @@ -114,6 +152,10 @@ class compute public function getFlavor() { $flavorId = $this->app->getPostParam("flavorId"); + if(!isset($serverId)){ + $this->app->setOutput("Error", "Flavor ID is missing, son!"); + return; + } $opt = array('id' => $flavorId); $flavor = $this->libClass->getFlavor($opt); $flavor->retrieve(); @@ -127,23 +169,56 @@ class compute public function getImage() { $imageId = $this->app->getPostParam("imageId"); + if(!isset($serverId)){ + $this->app->setOutput("Error", "Image ID is missing, son!"); + return; + } $opt = array('id' => $imageId); $image = $this->libClass->getImage($opt); $image->retrieve(); $this->app->setOutput("MyImage", $image); return; } - /* working on tests - - public function update() + public function updateServer() { - $image = $this->app->getServer(array $options = []); - + $serverId = $this->app->getPostParam("serverId"); + $newName = $this->app->getPostParam("newName"); + $newIpv4 = $this->app->getPostParam("newIpv4"); + $newIpv6 = $this->app->getPostParam("newIpv6"); + if(!isset($serverId)|| !(isset($newName) || isset($newIpv4) || isset($newIpv6)) ){ + $this->app->setOutput("Error", "You'll have to provide server ID and the new attribute(IP(v4/v6)/Name) you desire to update!"); + return; + } + $opt = array('id' => $serverId); + $server = $this->libClass->getServer($opt); + if (isset($newName)){ + if(isset($newIpv4)){ + if(isset($newIpv6){ + $attr = array('name' => $newName, 'accessIPv4' => $newIPv4, 'accessIPv6' => $newIpv6); + } + $attr = array('name' => $newName, 'accessIPv4' => $newIPv4); + } + $attr = array('name' => $newName); + } + $server->update($attr); + $this->app->setOutput("Success", $serverId." has been updated successfully."); + return; } - public function delete() + */ + public function deleteServer() { - //TODO + $serverId = $this->app->getPostParam("serverId"); + if(!isset($serverId)){ + $this->app->setOutput("Error", "Server ID is missing, son!"); + return; + } + $opt = array('id' => $serverId); + $server = $this->libClass->getServer($opt); + $server->delete(); + $this->app->setOutput("Success", $serverId." has been deleted successfully."); + return; } + /* public function changePassword($newPassword) { //TODO -- cgit v1.2.3 From c43e532f766c3f97a34e6fad3dd990f7992e710b Mon Sep 17 00:00:00 2001 From: stupidon Date: Sat, 5 Mar 2016 14:05:52 +0100 Subject: added createServer and corrected certain minor bugs --- server/core/Compute.php | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) (limited to 'server/core') diff --git a/server/core/Compute.php b/server/core/Compute.php index 4a50f4a..8524c86 100644 --- a/server/core/Compute.php +++ b/server/core/Compute.php @@ -111,24 +111,7 @@ class compute $this->app->setOutput("Images", $images); return; } - /** - * Create server. - * @return array - */ - public function createServer() - { - $name = $this->app->getPostParam("name"); - $imageId = $this->app->getPostParam("imageId"); - $flavorId = $this->app->getPostParam("flavorId"); - if(!isset($name) || !isset($imageId) || !isset($flavorId)){ - $this->app->setOutput("Error", "No, we don't let you create a server without a name OR image ID OR flavor ID."); - return; - } - $opt = array('name' => $name, 'imageId' => $imageId, 'flavorId' => $flavorId); - $server = $this->libClass->createServer($opt); - } - */ - /** + /** * Get server details. * @return array */ @@ -179,6 +162,27 @@ class compute $this->app->setOutput("MyImage", $image); return; } + /** + * Create server. + * @return array + */ + public function createServer() + { + $name = $this->app->getPostParam("name"); + $imageId = $this->app->getPostParam("imageId"); + $flavorId = $this->app->getPostParam("flavorId"); + if(!isset($name) || !isset($imageId) || !isset($flavorId)){ + $this->app->setOutput("Error", "No, we don't let you create a server without a name OR image ID OR flavor ID."); + return; + } + $opt = array('name' => $name, 'imageId' => $imageId, 'flavorId' => $flavorId); + $server = $this->libClass->createServer($opt); + } + + /** + * update a server + * @return void + */ public function updateServer() { $serverId = $this->app->getPostParam("serverId"); @@ -204,6 +208,9 @@ class compute $this->app->setOutput("Success", $serverId." has been updated successfully."); return; } + /** + * Delete a server + * @return void */ public function deleteServer() { -- cgit v1.2.3 From dad2e1de334b6c8d9e579a0f75272d8661ed2aa3 Mon Sep 17 00:00:00 2001 From: stupidon Date: Sat, 5 Mar 2016 14:12:27 +0100 Subject: corrected syntax errors --- server/core/Compute.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'server/core') diff --git a/server/core/Compute.php b/server/core/Compute.php index 8524c86..d134b94 100644 --- a/server/core/Compute.php +++ b/server/core/Compute.php @@ -200,9 +200,9 @@ class compute if(isset($newIpv6){ $attr = array('name' => $newName, 'accessIPv4' => $newIPv4, 'accessIPv6' => $newIpv6); } - $attr = array('name' => $newName, 'accessIPv4' => $newIPv4); + else $attr = array('name' => $newName, 'accessIPv4' => $newIPv4); } - $attr = array('name' => $newName); + else $attr = array('name' => $newName); } $server->update($attr); $this->app->setOutput("Success", $serverId." has been updated successfully."); -- cgit v1.2.3 From eb37fe6b4868b280a8173c57500e1cfd3f77c7e7 Mon Sep 17 00:00:00 2001 From: stupidon Date: Sun, 6 Mar 2016 13:50:17 +0100 Subject: syntax correction --- server/core/Compute.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'server/core') diff --git a/server/core/Compute.php b/server/core/Compute.php index d134b94..f02eb8b 100644 --- a/server/core/Compute.php +++ b/server/core/Compute.php @@ -197,7 +197,7 @@ class compute $server = $this->libClass->getServer($opt); if (isset($newName)){ if(isset($newIpv4)){ - if(isset($newIpv6){ + if(isset($newIpv6)){ $attr = array('name' => $newName, 'accessIPv4' => $newIPv4, 'accessIPv6' => $newIpv6); } else $attr = array('name' => $newName, 'accessIPv4' => $newIPv4); -- cgit v1.2.3