如何使用OpenStack.NET创建新服务器

时间:2014-02-20 09:05:45

标签: c# openstack openstack-nova

我是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");

identityUrl是身份服务的网址 imageUrl是图片服务的网址

我可以在cloudIdProvider.Authenticate(cloudId);行进行身份验证,因此我认为身份服务和用户名/密码是正确的。

当我在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.异常,我不知道如何修复它。

1 个答案:

答案 0 :(得分:0)

Identity Service可能无法包含有关Compute Service端点的信息,因为您在身份验证期间未指定tenantName和/或tenantId。 SDK的下一个版本将包括对OpenStack Authentication文档的预览版本中所述的指定这些内容的支持。但是,由于1.3.1.0版本中不存在所描述的类,因此在1.3.2.0发布之前,您需要在项目中包含它们的副本。