0

私は OpenStack の初心者で、数時間の経験しかありません。OpenStack.NET を使用して新しいマシンを作成したいのですが、これが思いついたコードです。

var identityUrl = "http://server:5000/v2.0";
var imageUrl = "http://server:9292";
var username = "username";
var password = "password";

var cloudId = new CloudIdentity() { Username = username, Password = password };
var cloudIdProvider = new CloudIdentityProvider(new Uri(identityUrl));

cloudIdProvider.Authenticate(cloudId);

var cloudServersProvider = new CloudServersProvider(cloudId, cloudIdProvider);

var newServer = cloudServersProvider.CreateServer("cloudServerName", "Windows Server 2012", "m1.medium");

identityUrlID サービス imageUrlの URL はイメージ サービスの URL です。

オンラインで認証できるcloudIdProvider.Authenticate(cloudId);ので、ID サービスとユーザー名/パスワードは正しいと思います。

でデバッグすると、修正方法がわからない例外がcloudServersProvider.CreateServer("cloudServerName", "Windows Server 2012", "m1.medium");スローされます。No region was provided, the service does not provide a region-independent endpoint, and there is no default region set for the user's account.

4

1 に答える 1

0

認証時に tenantName や tenantId を指定しなかったため、Identity Service が Compute Service エンドポイントに関する情報を含められなかった可能性があります。SDK の次のリリースには、OpenStack 認証ドキュメントのプレビュー ビルドで説明されているように、これらを指定するためのサポートが含まれます。ただし、説明されているクラスは 1.3.1.0 リリースには存在しないため、1.3.2.0 がリリースされるまで、プロジェクトにそれらのコピーを含める必要があります。

于 2014-02-20T13:36:29.020 に答える