簡體   English   中英

jclouds的第一步

[英]First steps in jclouds

嘗試連接OpenStack時遇到一些問題。 我正在使用jclouds,這是我的代碼:

    context = ContextBuilder.newBuilder("openstack-nova")
            .endpoint("http://xxx.xxx.xxx.xxx:5000/v2.0/")
            .credentials("tenantname:username", "password")
            .modules(ImmutableSet.<Module> of(new SLF4JLoggingModule(), new   SshjSshClientModule()))
            .buildView(ComputeServiceContext.class);

    service = context.getComputeService();

    for(ComputeMetadata node: service.listNodes()) {
        System.out.println("NODE: " + node.getId());
    }

但始終會返回以下錯誤:

 DEBUG [org.jclouds.rest.internal.InvokeHttpMethod] [main] >> invoking    AuthenticationApi.authenticateWithTenantNameAndCredentials
 DEBUG [org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Sending request -1502473400: POST http://xxx.xxx.xxx.xxx:5000/v2.0/tokens HTTP/1.1
 ERROR [org.jclouds.http.internal.JavaUrlHttpCommandExecutorService] [main] Command not considered safe to retry because request method is POST: [method=org.jclouds.openstack.keystone.v2_0.AuthenticationApi.public abstract org.jclouds.openstack.keystone.v2_0.domain.Access org.jclouds.openstack.keystone.v2_0.AuthenticationApi.authenticateWithTenantNameAndCredentials(java.lang.String,org.jclouds.openstack.keystone.v2_0.domain.PasswordCredentials)[tenantname, PasswordCredentials{username=username, password=*****}], request=POST http://xxx.xxx.xxx.xxx:5000/v2.0/tokens HTTP/1.1]

我正在Eclipse和Intellij IDEA中進行開發。 我一直在審查代理配置,但是一切正常。

拜托,有人可以幫我嗎?

謝謝!

代碼看起來不錯,但是如果您需要通過代理,則可能需要在jclouds中配置代理屬性。 類似於以下內容的代理具有正確的值:

Properties overrides = new Properties();
overrides.setProperty(Constants.PROPERTY_PROXY_HOST, "localhost");
overrides.setProperty(Constants.PROPERTY_PROXY_PORT, "8888");

您可以將屬性傳遞給ContextBuilder的overrides方法。

您還可以啟用jclouds.wire日志以查看正在發送的每個請求和響應。 這將顯示確切的網絡錯誤或您的OpenStack安裝返回的錯誤。 看看: http : //jclouds.apache.org/reference/logging/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM