예제 #1
0
 public function test_Paths()
 {
     $this->assertStringEndsWith('os-networksv2', (string) $this->service->network()->getUrl());
     $client = new OpenStack('http://identity.example.com/v2', array('username' => 'foo', 'password' => 'bar'));
     $response = $this->getTestFilePath('Auth_OpenStack', '.');
     $client->addSubscriber(new MockSubscriber(array($response)));
     $service = $client->computeService('compute', 'RegionOne', 'publicURL');
     $this->assertStringEndsWith('os-networks', (string) $service->network()->getUrl());
 }
 * Copyright 2014 Rackspace US, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
require dirname(__DIR__) . '/../vendor/autoload.php';
use OpenCloud\OpenStack;
use Guzzle\Http\Exception\BadResponseException;
// 1. Instantiate a OpenStack client. You can replace {authUrl} with
// OpenStack::US_IDENTITY_ENDPOINT or similar
$client = new OpenStack('{authUrl}', array('username' => '{username}', 'password' => '{password}'));
// 2. Create Compute service
$service = $client->computeService('nova', '{region}');
// 3. Get empty server
$server = $service->server();
// 4. Create the server. If you do not know what imageId or flavorId to use,
// please run the list_flavors.php and list_images.php scripts.
try {
    $response = $server->create(array('name' => '{serverName}', 'imageId' => '{imageId}', 'flavorId' => '{flavorId}', 'availabilityZone' => '{availabilityZone}'));
} catch (BadResponseException $e) {
    echo $e->getResponse();
}
예제 #3
0
 public function testLoggerServiceInjection()
 {
     // Create a new client, pass stub via constructor options argument
     $stubLogger = $this->getMock('Psr\\Log\\NullLogger');
     $client = new OpenStack(Rackspace::US_IDENTITY_ENDPOINT, $this->credentials, array('logger' => $stubLogger));
     $client->addSubscriber(new MockSubscriber());
     // Test all OpenStack factory methods on proper Logger service injection
     $service = $client->objectStoreService('cloudFiles', 'DFW');
     $this->assertContains("Mock_NullLogger", get_class($service->getLogger()));
     $service = $service->getCdnService();
     $this->assertContains("Mock_NullLogger", get_class($service->getLogger()));
     $service = $client->computeService('cloudServersOpenStack', 'DFW');
     $this->assertContains("Mock_NullLogger", get_class($service->getLogger()));
     $service = $client->orchestrationService(null, 'DFW');
     $this->assertContains("Mock_NullLogger", get_class($service->getLogger()));
     $service = $client->volumeService('cloudBlockStorage', 'DFW');
     $this->assertContains("Mock_NullLogger", get_class($service->getLogger()));
     $service = $client->identityService();
     $this->assertContains("Mock_NullLogger", get_class($service->getLogger()));
     $service = $client->imageService('cloudImages', 'IAD');
     $this->assertContains("Mock_NullLogger", get_class($service->getLogger()));
     $service = $client->networkingService(null, 'IAD');
     $this->assertContains("Mock_NullLogger", get_class($service->getLogger()));
 }