我们已经在我们自己的硬件上设置了一个 OpenStack 系统,安装了所有组件,一切看起来都很好,因为我们已经通过 Web 界面创建了网络和虚拟机。
我正在尝试使用 openstack.net SDK 以编程方式执行操作。我似乎可以使用用户名和密码进行身份验证,但是在访问已安装的其他服务时,我们收到错误提示 API 端点对用户不可用。
我们正在使用的代码在下面,它可以正常工作,直到 CreateServer 行出现错误
“无法验证用户身份并检索授权服务端点。”
Uri baseUrl = new Uri("http://mycloudip:5000/v2.0");
CloudIdentity cloudId = new CloudIdentity()
{
Username = userName,
Password = password
};
CloudIdentityProvider cip = new CloudIdentityProvider(cloudId, baseUrl);
UserAccess ua = cip.Authenticate(cloudId);
CloudServersProvider provider = new CloudServersProvider(cloudId);
Metadata metaData = new Metadata(); // Add some metadata just because we can
metaData.Add("Description", "Example 4 - Getting Started");
string serverName = "Example4";
string imageId = "48df4181-040e-4821-8723-d9e4ba908d2f";
string flavorId = "3";
NewServer newServer = provider.CreateServer(serverName, imageId, flavorId, DiskConfiguration.Manual, metaData);
在仪表板中以同一用户身份登录时,我可以在 Access and Security >> API Endpoints 部分看到所有服务 url,但 UserAccess.ServiceCatalog 似乎没有填充任何内容。
非常感谢任何帮助或指示。