2016-08-09 6 views
1

OpenStackの設定WaitForメソッドを呼び出すときにHTTPSを使用して:私は(これはちょうど下半分である)以下のPHPスクリプトを持っている新星サーバ

use Guzzle\Http\Exception\BadResponseException; 

$server = $compute->server(); 

try { 
    $response = $server->create(array(
     'name' => 'My server', 
     'image' => $centos, 
     'flavor' => $twoGbFlavor 
    )); 
} catch (BadResponseException $e) { 
    // No! Something failed. Let's find out: 
    printf("Request: %s\n\nResponse: %s", $e->getRequest(), $e->getResponse()); 
} 

use OpenCloud\Compute\Constants\ServerState; 

$callback = function($server) { 
    if (!empty($server->error)) { 
    var_dump($server->error); 
    exit; 
    } else { 
     echo sprintf(
      "Waiting on %s/%-12s %4s%%", 
      $server->name(), 
      $server->status(), 
      isset($server->progress) ? $server->progress : 0 
     ); 
    } 
}; 

$server->waitFor(ServerState::ACTIVE, 600, $callback); 

私はそれを実行すると、私は次のエラーが表示されます

PHP Fatal error: Uncaught exception 'Guzzle\Http\Exception\CurlException' with message '[curl] 52: Empty reply from server [url] http://api.openstack.ecloud.co.uk:8774/v2/b7db5fe13c044b6e95bf5b766ae49393/servers/f5bf8951-f662-4940-904c-023b98b724c0' in /var/www/html/nutshell/openstack/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php:359 

私は、httpsの代わりにhttpを使用してwaitForメソッドの問題に絞っています。しかし、私はこの方法でhttpsを使用する方法や、httpsですべての呼び出しを強制的に変更できる設定があるかどうかを調べることができません。

さらに、コマンドラインでcurlを使用してこれらのコマンドをスクリプト外で実行しようとしましたが、httpsが動作することを確認できます。だから、私はhttpsを使うためのスクリプト呼び出しをどうやって得るのかを考えなければならない。

また、上記の$ server-> create呼び出しがうまく動作することに注意してください。私はwaitForが同じ方法(つまりhttpsを超えて)で動作することを期待しています。

ご協力いただければ幸いです。

+0

私は、あなたがそのSDKを使用していることを言及すべきだと思う:https://github.com/rackspace/php-opencloud私にchaoss88を取り戻すため – chaoss88

答えて

0

httpsでサーバーを作成しました。サーバーデータで応答しました。サーバーデータには自己のURLが含まれており、そのURLはおそらくhttpです。 "waitFor"は、そのURLを持つサーバーデータに対してopenstackを呼び出しています。あなたはここで、これを見ることができます: https://github.com/rackspace/php-opencloud/blob/working/lib/OpenCloud/Common/Resource/BaseResource.php(ライン148)

+0

感謝。私はそのファイルを見ていましたが、httpに設定していた仕組みを理解できませんでした。私は自分のURLをhttpsにする方法を知っていますか? – ChrisS

+0

できません。そのバグのようです:https://bugs.launchpad.net/designate/+bug/1490034 – chaoss88

+0

"!"を削除してURLを強制的に作成しようとすることはできません。これを解決するのは良い習慣ではありません。 – chaoss88

関連する問題