From 3914858d7a00508bdef2a8caa205b5019ce39274 Mon Sep 17 00:00:00 2001 From: Eole Date: Sun, 31 Jan 2016 14:24:30 +0100 Subject: [PATCH] Different Service Token Implementation --- server/core/LibOverride/genTokenOptions.php | 129 ++++++++++++++++++++ 1 file changed, 129 insertions(+) diff --git a/server/core/LibOverride/genTokenOptions.php b/server/core/LibOverride/genTokenOptions.php index ba9e196..3e8414e 100755 --- a/server/core/LibOverride/genTokenOptions.php +++ b/server/core/LibOverride/genTokenOptions.php @@ -50,6 +50,135 @@ class genTokenOptions } } + public function genIdentityToken(){ + $options = $this->optionsGlobal['Common']; + $options['catalogName'] = 'false'; + $options['catalogType'] = 'false'; + $options['region'] = 'RegionOne'; + + list($token, $baseUrl) = $options['identityService']->authenticate($options); + + $this->stack->push(Middleware::authHandler($options['authHandler'], $token)); + + $this->addDebugMiddleware($options, $this->stack); + + $options['httpClient'] = new Client([ + 'base_uri' => Utils::normalizeUrl($baseUrl), + 'handler' => $this->stack, + ]); + $this->backup['Identity'] = array('token' => $this->serializeToken($token), 'baseUrl' => $baseUrl ); + + $this->optionsGlobal['Identity'] = $options; + } + + public function loadIdentityBackup($opt){ + $options = $this->optionsGlobal['Common']; + $options['catalogName'] = 'false'; + $options['catalogType'] = 'false'; + $options['region'] = 'RegionOne'; + + $this->backup['Identity'] = unserialize($opt); + $token = $this->unserializeToken($this->backup['Identity']['token']); + $baseUrl = $this->backup['Identity']['baseUrl']; + + $this->stack->push(Middleware::authHandler($options['authHandler'], $token)); + + $this->addDebugMiddleware($options, $this->stack); + + $options['httpClient'] = new Client([ + 'base_uri' => Utils::normalizeUrl($baseUrl), + 'handler' => $this->stack, + ]); + $this->backup['Identity'] = array('token' => $this->serializeToken($token), 'baseUrl' => $baseUrl ); + $this->optionsGlobal['Identity'] = $options; + } + + public function genImageToken(){ + $options = $this->optionsGlobal['Common']; + $options['catalogName'] = 'glance'; + $options['catalogType'] = 'image'; + $options['region'] = 'RegionOne'; + + list($token, $baseUrl) = $options['identityService']->authenticate($options); + + $this->stack->push(Middleware::authHandler($options['authHandler'], $token)); + + $this->addDebugMiddleware($options, $this->stack); + + $options['httpClient'] = new Client([ + 'base_uri' => Utils::normalizeUrl($baseUrl), + 'handler' => $this->stack, + ]); + $this->backup['Image'] = array('token' => $this->serializeToken($token), 'baseUrl' => $baseUrl ); + + $this->optionsGlobal['Image'] = $options; + } + + public function loadImageBackup($opt){ + $options = $this->optionsGlobal['Common']; + $options['catalogName'] = 'glance'; + $options['catalogType'] = 'image'; + $options['region'] = 'RegionOne'; + + $this->backup['Image'] = unserialize($opt); + $token = $this->unserializeToken($this->backup['Image']['token']); + $baseUrl = $this->backup['Image']['baseUrl']; + + $this->stack->push(Middleware::authHandler($options['authHandler'], $token)); + + $this->addDebugMiddleware($options, $this->stack); + + $options['httpClient'] = new Client([ + 'base_uri' => Utils::normalizeUrl($baseUrl), + 'handler' => $this->stack, + ]); + $this->backup['Image'] = array('token' => $this->serializeToken($token), 'baseUrl' => $baseUrl ); + $this->optionsGlobal['Image'] = $options; + } + + public function genNetworkToken(){ + $options = $this->optionsGlobal['Common']; + $options['catalogName'] = 'neutron'; + $options['catalogType'] = 'network'; + $options['region'] = 'RegionOne'; + + list($token, $baseUrl) = $options['identityService']->authenticate($options); + + $this->stack->push(Middleware::authHandler($options['authHandler'], $token)); + + $this->addDebugMiddleware($options, $this->stack); + + $options['httpClient'] = new Client([ + 'base_uri' => Utils::normalizeUrl($baseUrl), + 'handler' => $this->stack, + ]); + $this->backup['Network'] = array('token' => $this->serializeToken($token), 'baseUrl' => $baseUrl ); + + $this->optionsGlobal['Network'] = $options; + } + + public function loadNetworkBackup($opt){ + $options = $this->optionsGlobal['Common']; + $options['catalogName'] = 'neutron'; + $options['catalogType'] = 'network'; + $options['region'] = 'RegionOne'; + + $this->backup['Network'] = unserialize($opt); + $token = $this->unserializeToken($this->backup['Network']['token']); + $baseUrl = $this->backup['Network']['baseUrl']; + + $this->stack->push(Middleware::authHandler($options['authHandler'], $token)); + + $this->addDebugMiddleware($options, $this->stack); + + $options['httpClient'] = new Client([ + 'base_uri' => Utils::normalizeUrl($baseUrl), + 'handler' => $this->stack, + ]); + $this->backup['Network'] = array('token' => $this->serializeToken($token), 'baseUrl' => $baseUrl ); + $this->optionsGlobal['Network'] = $options; + } + public function genComputeToken(){ $options = $this->optionsGlobal['Common']; $options['catalogName'] = 'nova';