listServices() public méthode

Gets the list of allowed services for this tenant
public listServices ( ) : array
Résultat array Returns the list of allowed services for this tenant
Exemple #1
0
 private function getOpenStackDetails($platform)
 {
     $params = array();
     $params["{$platform}.is_enabled"] = true;
     $params[OpenstackPlatformModule::KEYSTONE_URL] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::KEYSTONE_URL);
     $params[OpenstackPlatformModule::SSL_VERIFYPEER] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::SSL_VERIFYPEER);
     $params[OpenstackPlatformModule::USERNAME] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::USERNAME);
     $params[OpenstackPlatformModule::PASSWORD] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::PASSWORD) != '' ? '******' : '';
     $params[OpenstackPlatformModule::API_KEY] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::API_KEY);
     if ($platform == SERVER_PLATFORMS::ECS) {
         $params[OpenstackPlatformModule::TENANT_NAME] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::TENANT_NAME) != '' ? '******' : '';
     } else {
         $params[OpenstackPlatformModule::TENANT_NAME] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::TENANT_NAME);
     }
     $params['features'] = array();
     /* @var $config Yaml */
     $config = $this->env->getContainer()->config;
     if (isset($platform) && $config->defined("scalr.{$platform}.use_proxy") && $config("scalr.{$platform}.use_proxy") && in_array($config('scalr.connections.proxy.use_on'), ['both', 'scalr'])) {
         $params['proxySettings'] = $config('scalr.connections.proxy');
     } else {
         $params['proxySettings'] = null;
     }
     if ($params[OpenstackPlatformModule::KEYSTONE_URL]) {
         try {
             $os = new OpenStack(new OpenStackConfig($params[OpenstackPlatformModule::USERNAME], $params[OpenstackPlatformModule::KEYSTONE_URL], 'fake-region', $params[OpenstackPlatformModule::API_KEY], null, null, $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::PASSWORD), $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::TENANT_NAME), null, $params['proxySettings']));
             //$os->setDebug(true);
             $params['regions'] = $os->listZones();
             foreach ($params['regions'] as $region) {
                 try {
                     $cloudLocation = $region->name;
                     $os = new OpenStack(new OpenStackConfig($params[OpenstackPlatformModule::USERNAME], $params[OpenstackPlatformModule::KEYSTONE_URL], $cloudLocation, $params[OpenstackPlatformModule::API_KEY], null, null, $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::PASSWORD), $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::TENANT_NAME), null, $params['proxySettings']));
                     $params['features'][$cloudLocation] = array('Volumes (Cinder)' => $os->hasService('volume'), 'Security groups (Nova)' => $os->servers->isExtensionSupported(ServersExtension::securityGroups()), 'Networking (Neutron)' => $os->hasService('network'), 'Load balancing (Neutron LBaaS)' => !in_array($platform, array(SERVER_PLATFORMS::RACKSPACENG_US, SERVER_PLATFORMS::RACKSPACENG_UK)) && $os->hasService('network') ? $os->network->isExtensionSupported('lbaas') : false, 'Floating IPs (Nova)' => $os->servers->isExtensionSupported(ServersExtension::floatingIps()), 'Objects store (Swift)' => $os->hasService('object-store'));
                     $params['info'][$cloudLocation] = array('services' => $os->listServices(), 'nova_extensions' => $os->servers->listExtensions());
                     if ($os->hasService('network')) {
                         $params['info'][$cloudLocation]['neutron_url'] = $os->network->getEndpointUrl();
                         $params['info'][$cloudLocation]['neutron_extensions'] = $os->network->listExtensions();
                     }
                 } catch (Exception $e) {
                     $params['info'][$cloudLocation]['exception'] = $e->getMessage();
                 }
             }
         } catch (Exception $e) {
             //TODO: Show in UI
             $params['info']['exception'] = $e->getMessage();
         }
     }
     return $params;
 }
Exemple #2
0
 private function getOpenStackDetails($platform)
 {
     $params = [];
     $cloudCredentials = $this->env->keychain($platform);
     $ccProps = $cloudCredentials->properties;
     $params["{$platform}.is_enabled"] = true;
     $params[Entity\CloudCredentialsProperty::OPENSTACK_KEYSTONE_URL] = $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_KEYSTONE_URL];
     $params[Entity\CloudCredentialsProperty::OPENSTACK_SSL_VERIFYPEER] = $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_SSL_VERIFYPEER];
     $params[Entity\CloudCredentialsProperty::OPENSTACK_USERNAME] = $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_USERNAME];
     $params[Entity\CloudCredentialsProperty::OPENSTACK_PASSWORD] = $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_PASSWORD] != '' ? '******' : '';
     $params[Entity\CloudCredentialsProperty::OPENSTACK_API_KEY] = $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_API_KEY];
     $params[Entity\CloudCredentialsProperty::OPENSTACK_TENANT_NAME] = $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_TENANT_NAME];
     $params[Entity\CloudCredentialsProperty::OPENSTACK_DOMAIN_NAME] = $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_DOMAIN_NAME];
     $params['features'] = [];
     /* @var $config Yaml */
     $config = $this->env->getContainer()->config;
     if (isset($platform) && $config->defined("scalr.{$platform}.use_proxy") && $config("scalr.{$platform}.use_proxy") && in_array($config('scalr.connections.proxy.use_on'), ['both', 'scalr'])) {
         $params['proxySettings'] = $config('scalr.connections.proxy');
     } else {
         $params['proxySettings'] = null;
     }
     if ($params[Entity\CloudCredentialsProperty::OPENSTACK_KEYSTONE_URL]) {
         try {
             $openstackConfig = new OpenStackConfig($params[Entity\CloudCredentialsProperty::OPENSTACK_USERNAME], $params[Entity\CloudCredentialsProperty::OPENSTACK_KEYSTONE_URL], 'fake-region', $params[Entity\CloudCredentialsProperty::OPENSTACK_API_KEY], null, null, $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_PASSWORD], $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_TENANT_NAME], $ccProps[Entity\CloudCredentialsProperty::OPENSTACK_DOMAIN_NAME], null, $params['proxySettings'], 5);
             $os = new OpenStack($openstackConfig);
             $params['regions'] = $os->listZones();
             foreach ($params['regions'] as $region) {
                 $cloudLocation = $region->name;
                 $osConfig = clone $openstackConfig;
                 $osConfig->setRegion($cloudLocation);
                 try {
                     $os = new OpenStack($osConfig);
                     $params['features'][$cloudLocation] = ['Volumes (Cinder)' => $os->hasService('volume'), 'Security groups (Nova)' => $os->servers->isExtensionSupported(ServersExtension::securityGroups()), 'Networking (Neutron)' => $os->hasService('network'), 'Load balancing (Neutron LBaaS)' => !in_array($platform, [SERVER_PLATFORMS::RACKSPACENG_US, SERVER_PLATFORMS::RACKSPACENG_UK]) && $os->hasService('network') ? $os->network->isExtensionSupported('lbaas') : false, 'Floating IPs (Nova)' => $os->servers->isExtensionSupported(ServersExtension::floatingIps()), 'Objects store (Swift)' => $os->hasService('object-store')];
                     $params['info'][$cloudLocation] = ['services' => $os->listServices(), 'nova_extensions' => $os->servers->listExtensions()];
                     if ($os->hasService('network')) {
                         $params['info'][$cloudLocation]['neutron_url'] = $os->network->getEndpointUrl();
                         $params['info'][$cloudLocation]['neutron_extensions'] = $os->network->listExtensions();
                     }
                 } catch (Exception $e) {
                     $params['features'][$cloudLocation] = $e->getMessage();
                 }
             }
         } catch (Exception $e) {
             $params['info']['exception'] = $e->getMessage();
         }
     }
     return $params;
 }
Exemple #3
0
 private function getOpenStackDetails($platform)
 {
     $params = array();
     $params["{$platform}.is_enabled"] = true;
     $params[OpenstackPlatformModule::KEYSTONE_URL] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::KEYSTONE_URL);
     $params[OpenstackPlatformModule::SSL_VERIFYPEER] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::SSL_VERIFYPEER);
     $params[OpenstackPlatformModule::USERNAME] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::USERNAME);
     $params[OpenstackPlatformModule::PASSWORD] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::PASSWORD) != '' ? '******' : '';
     $params[OpenstackPlatformModule::API_KEY] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::API_KEY);
     if ($platform == SERVER_PLATFORMS::ECS) {
         $params[OpenstackPlatformModule::TENANT_NAME] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::TENANT_NAME) != '' ? '******' : '';
     } else {
         $params[OpenstackPlatformModule::TENANT_NAME] = $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::TENANT_NAME);
     }
     $params['features'] = array();
     if ($params[OpenstackPlatformModule::KEYSTONE_URL]) {
         try {
             $os = new OpenStack(new OpenStackConfig($params[OpenstackPlatformModule::USERNAME], $params[OpenstackPlatformModule::KEYSTONE_URL], 'fake-region', $params[OpenstackPlatformModule::API_KEY], null, null, $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::PASSWORD), $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::TENANT_NAME)));
             //$os->setDebug(true);
             $params['regions'] = $os->listZones();
             foreach ($params['regions'] as $region) {
                 $cloudLocation = $region->name;
                 $os = new OpenStack(new OpenStackConfig($params[OpenstackPlatformModule::USERNAME], $params[OpenstackPlatformModule::KEYSTONE_URL], $cloudLocation, $params[OpenstackPlatformModule::API_KEY], null, null, $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::PASSWORD), $this->env->getPlatformConfigValue("{$platform}." . OpenstackPlatformModule::TENANT_NAME)));
                 $params['features'][$cloudLocation] = array('Volumes (Cinder)' => $os->hasService('volume'), 'Security groups (Nova)' => $os->servers->isExtensionSupported(ServersExtension::securityGroups()), 'Networking (Neutron)' => $os->hasService('network'), 'Load balancing (Neutron LBaaS)' => $os->hasService('network') ? $os->network->isExtensionSupported('lbaas') : false, 'Floating IPs (Nova)' => $os->servers->isExtensionSupported(ServersExtension::floatingIps()), 'Objects store (Swift)' => $os->hasService('object-store'));
                 $params['info'][$cloudLocation] = array('services' => $os->listServices(), 'nova_extensions' => $os->servers->listExtensions());
                 if ($os->hasService('network')) {
                     $params['info'][$cloudLocation]['neutron_extensions'] = $os->network->listExtensions();
                 }
             }
         } catch (Exception $e) {
             //TODO: Show in UI
         }
     }
     return $params;
 }