if ($_REQUEST['openstack_keystone_url']) {
$pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::KEYSTONE_URL] = $_REQUEST['openstack_keystone_url'];
$updateEnv = true;
} else {
$pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::KEYSTONE_URL] = $env->getPlatformConfigValue(SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::KEYSTONE_URL);
}
$pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::USERNAME] = $env->getPlatformConfigValue(SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::USERNAME);
$pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::PASSWORD] = $env->getPlatformConfigValue(SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::PASSWORD);
$pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::TENANT_NAME] = $env->getPlatformConfigValue(SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::TENANT_NAME);
}
if ($updateEnv) {
$env->setPlatformConfig(array(SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::AUTH_TOKEN => false));
}
//var_dump($pars);
$os = new OpenStack(new OpenStackConfig($pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::USERNAME], $pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::KEYSTONE_URL], 'fake-region', null, null, null, $pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::PASSWORD], $pars[SERVER_PLATFORMS::ECS . "." . OpenstackPlatformModule::TENANT_NAME]));
$zones = $os->listZones();
if ($updateEnv) {
$env->enablePlatform(SERVER_PLATFORMS::ECS, true);
$env->setPlatformConfig($pars);
}
unset($env);
$env = Scalr_Environment::init()->loadById($envId);
\Scalr::getContainer()->environment = $env;
$configSet = false;
foreach ($zones as $zone) {
$osClient = $env->openstack(SERVER_PLATFORMS::ECS, $zone->name);
// Check SG Extension
if (!$configSet) {
$pars2 = array();
$pars2[getOpenStackOption('EXT_SECURITYGROUPS_ENABLED')] = (int) $osClient->servers->isExtensionSupported(ServersExtension::securityGroups());
// Check Floating Ips Extension