From cfce59d6dc120848624e105614575ae0f48af81b Mon Sep 17 00:00:00 2001 From: Yoggzo Date: Mon, 29 Feb 2016 14:20:13 +0100 Subject: merge --- server/Test/AppTestClass.php | 43 ++++++- server/Test/computeTest.php | 20 ++++ server/core/App.php | 15 ++- server/core/Compute.php | 175 ++++++++++++++++++++++++++++ server/core/LibOverride/genTokenOptions.php | 10 +- server/index.php | 16 ++- server/vendor/php-opencloud/openstack | 2 +- 7 files changed, 267 insertions(+), 14 deletions(-) create mode 100644 server/Test/computeTest.php mode change 100644 => 100755 server/core/App.php mode change 100644 => 100755 server/core/LibOverride/genTokenOptions.php (limited to 'server') diff --git a/server/Test/AppTestClass.php b/server/Test/AppTestClass.php index 40a5847..3ff0aea 100755 --- a/server/Test/AppTestClass.php +++ b/server/Test/AppTestClass.php @@ -12,6 +12,7 @@ class AppTest{ protected $openstack; protected $pluginsApi; + protected $postParams; protected $tokenClass; protected $tokenPost; protected $output; @@ -23,8 +24,13 @@ class AppTest{ $this->tokenClass = new genTokenOptions($args); $this->openstack = new OpenStack\OpenStack([]); $this->pluginsApi = plugin_api::getInstance(); + $this->errorClass = new errorManagement($this); $this->output = array(); +<<<<<<< HEAD $this->errorClass = new errorManagement($this); +======= + $this->postParams = $_POST; +>>>>>>> develop } @@ -48,6 +54,16 @@ class AppTest{ $opt = $this->tokenClass->getOptions($service); return $this->openstack->imagesV2($opt); break; + case "Compute": + if($this->tokenPost == NULL) $this->tokenClass->genComputeToken(); + $opt = $this->tokenClass->getOptions($service); + return $this->openstack->computeV2($opt); + break; + case "Network": + if($this->tokenPost == NULL) $this->tokenClass->genNetworkToken(); + $opt = $this->tokenClass->getOptions($service); + return $this->openstack->networkingV2($opt); + break; } } @@ -61,10 +77,21 @@ class AppTest{ $this->tokenClass->genNetworkToken(); $this->setOutput("token", $this->tokenClass->getBackup()); - }catch(Exception $e){ - echo $e; - exit(); - } + }catch(BadResponseError $e){ + $this->errorClass->BadResponseHandler($e); + }catch(UserInputError $e){ + $this->errorClass->UserInputHandler($e); + }catch(BaseError $e){ + $this->errorClass->BaseErrorHandler($e); + }catch(NotImplementedError $e){ + $this->errorClass->NotImplementedHandler($e); + } + + } + + public function getPostParam($name){ + + return $this->postParams[$name]; } @@ -75,12 +102,16 @@ class AppTest{ } public function show(){ - echo json_encode($this->output); + return json_encode($this->output); } +<<<<<<< HEAD public function getErrorInstance(){ return $this->errorClass; } -} \ No newline at end of file +} +======= +} +>>>>>>> develop diff --git a/server/Test/computeTest.php b/server/Test/computeTest.php new file mode 100644 index 0000000..3ce1f2e --- /dev/null +++ b/server/Test/computeTest.php @@ -0,0 +1,20 @@ +re '../vendor/autoload.php'; +include('/istic-openstack/server/init.php'); +include_once("../core/Compute.php"); +$compute = new compute($App); + +$servers = $compute->listServers(); + +$servers= $compute->listServers(true); +foreach($servers as $server){ + //print_r($server); + echo $server->name." ".$server->id."
"; + +//$opt = Array(); +//$opt['name'] = "Test"; +//$serverid = Array("id"=>"69d5bcc4-2fab-4634-b0d2-f455fee5b7bd"); +//$serverid["id"] = "{69d5bcc4-2fab-4634-b0d2-f455fee5b7bd}"; +//unset($server); +//$server = $compute->getServer($serverid); +//echo $server->name." ".$server->image; +//$server->update(array('name' => 'test')); diff --git a/server/core/App.php b/server/core/App.php old mode 100644 new mode 100755 index babb3d9..edb75f6 --- a/server/core/App.php +++ b/server/core/App.php @@ -33,7 +33,7 @@ class App{ public function setToken($token){ $this->tokenPost = $token; - $this->tokenClass->loadBackup($his->tokenPost); + $this->tokenClass->loadBackup($this->tokenPost); } @@ -50,6 +50,16 @@ class App{ $opt = $this->tokenClass->getOptions($service); return $this->openstack->imagesV2($opt); break; + case "Network": + if($this->tokenPost == NULL) $this->tokenClass->genNetworkToken(); + $opt = $this->tokenClass->getOptions($service); + return $this->openstack->networkingV2($opt); + break; + case "Compute": + if($this->tokenPost == NULL) $this->tokenClass->genComputeToken(); + $opt = $this->tokenClass->getOptions($service); + return $this->openstack->computeV2($opt); + break; } } @@ -95,6 +105,7 @@ class App{ public function show(){ echo json_encode($this->output); + //error_log(var_dump(json_encode($this->output), true), 0); } -} \ No newline at end of file +} diff --git a/server/core/Compute.php b/server/core/Compute.php index 8d1c8b6..94e219c 100644 --- a/server/core/Compute.php +++ b/server/core/Compute.php @@ -1 +1,176 @@ +app = $app; + $this->libClass = $app->getLibClass("Compute"); + } + /** + * Execute an action + * + * @param String $action name of another function of this class + * + * @return void + */ + public function action($action){ + + $this->{$action.""}(); + + } + /** + * List servers. + * @return array + */ + public function listServers() + { + $servers = $this->libClass->listServers(); + $this->app->setOutput("Servers", $servers); + return; + } + /** + * List flavors. + * @return array + */ + public function listFlavors() + { + $flavors = $this->libClass->listFlavors(); + $this->app->setOutput("Flavors", $flavors); + return; + } + /** + * List images. + * @return array + */ + public function listImages() + { + $images = $this->libClass->listImages(); + $this->app->setOutput("Images", $images); + return; + } + /** + * Create server. + * @return array + * + public function createServer() + { + + $server = $this->libClass->createServer(); + } + */ + /** + * Get server details. + * @return array + */ + public function getServer() + { + $serverId = $this->app->getPostParam("serverId"); + $opt = array('id' => $serverId); + $server = $this->libClass->getServer($opt); + $server->retrieve(); + $this->app->setOutput("MyServer", $server); + return; + } + /** + * Get flavor details. + * @return array + */ + public function getFlavor() + { + $flavorId = $this->app->getPostParam("flavorId"); + $opt = array('id' => $flavorId); + $flavor = $this->libClass->getFlavor($opt); + $flavor->retrieve(); + $this->app->setOutput("MyFlavor", $flavor); + return; + } + /** + * Get image details. + * @return array + */ + public function getImage() + { + $imageId = $this->app->getPostParam("imageId"); + $opt = array('id' => $imageId); + $image = $this->libClass->getImage($opt); + $image->retrieve(); + $this->app->setOutput("MyImage", $image); + return; + } + /* working on tests + + public function update() + { + $image = $this->app->getServer(array $options = []); + + } + public function delete() + { + //TODO + } + public function changePassword($newPassword) + { + //TODO + } + public function reboot($type = Enum::REBOOT_SOFT) + { + //TODO + } + public function rebuild(array $options) + { + //TODO + } + public function resize($flavorId) + { + //TODO + } + public function confirmResize() + { + //TODO + } + public function revertResize() + { + //TODO + } + public function createImage(array $options) + { + //TODO + } + public function listAddresses(array $options = []) + { + //TODO + } + public function getMetadata() + { + //TODO + } + public function resetMetadata(array $metadata) + { + //TODO + } + public function mergeMetadata(array $metadata) + { + //TODO + } + public function getMetadataItem($key) + { + //TODO + } + public function deleteMetadataItem($key) + { + //TODO + } +*/ +} diff --git a/server/core/LibOverride/genTokenOptions.php b/server/core/LibOverride/genTokenOptions.php old mode 100644 new mode 100755 index b71defa..50826ed --- a/server/core/LibOverride/genTokenOptions.php +++ b/server/core/LibOverride/genTokenOptions.php @@ -260,13 +260,14 @@ class genTokenOptions public function loadBackup($back){ $backup = unserialize($back); + $this->backup["roles"] = $backup["roles"]; $this->backup["project"] = $backup["project"]; $this->backup["user"] = $backup["user"]; - loadComputeBackup($backup["Compute"]); - loadIdentityBackup($backup["Identity"]); - loadImageBackup($backup["Image"]); - loadNetworkBackup($backup["Network"]); + $this->loadComputeBackup($backup["Compute"]); + $this->loadIdentityBackup($backup["Identity"]); + $this->loadImageBackup($backup["Image"]); + $this->loadNetworkBackup($backup["Network"]); } @@ -324,6 +325,7 @@ class genTokenOptions private function unserializeToken($tokenSerialized){ $Saved = file_get_contents("core/LibOverride/projectTokenData/".$this->backup["project"]); + $Saved = unserialize($Saved); $api = new Api(); $token = new Models\Token($this->httpClient, $api); $token->methods = unserialize($tokenSerialized["methods"]); diff --git a/server/index.php b/server/index.php index 166e82e..f888671 100644 --- a/server/index.php +++ b/server/index.php @@ -27,12 +27,26 @@ $identityObject->action($action); $App->show(); break; - + + case "network": + include_once("core/Network.php"); + $networkObject = new network($App); + $networkObject->action($action); + $App->show(); + break; + case "image": include_once("core/Image.php"); $imageObject = new image($App); $imageObject->action($action); $App->show(); break; + + case "compute": + include_once("core/Compute.php"); + $computeObject = new compute($App); + $computeObject->action($action); + $App->show(); + break; } diff --git a/server/vendor/php-opencloud/openstack b/server/vendor/php-opencloud/openstack index 1419eb2..15aca73 160000 --- a/server/vendor/php-opencloud/openstack +++ b/server/vendor/php-opencloud/openstack @@ -1 +1 @@ -Subproject commit 1419eb2e01164bb6b8b837df37724423907352d7 +Subproject commit 15aca73f423166c7ef8337ba08615c103c66e931 -- cgit v1.2.3