2015-11-01 9 views
0

Я установил Devstack на Virtualbox, и я хочу использовать Jclouds для разработки приложений на моем хосте-машине, когда я проверить пример домашней страницыJclouds пример не работает на хост-машине (devstack)

import com.google.common.collect.ImmutableSet; 
import com.google.common.io.Closeables; 
import com.google.inject.Module; 
import org.jclouds.ContextBuilder; 
import org.jclouds.logging.slf4j.config.SLF4JLoggingModule; 
import org.jclouds.openstack.nova.v2_0.NovaApi; 
import org.jclouds.openstack.nova.v2_0.domain.Server; 
import org.jclouds.openstack.nova.v2_0.features.ServerApi; 

import java.io.Closeable; 
import java.io.IOException; 
import java.util.Set; 

public class JCloudsNova implements Closeable { 
private final NovaApi novaApi; 
private final Set<String> regions; 

public static void main(String[] args) throws IOException { 
    JCloudsNova jcloudsNova = new JCloudsNova(); 

    try { 
     jcloudsNova.listServers(); 
     jcloudsNova.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } finally { 
     jcloudsNova.close(); 
    } 
} 

public JCloudsNova() { 
    Iterable<Module> modules = ImmutableSet.<Module>of(new  SLF4JLoggingModule()); 

    String provider = "openstack-nova"; 
    String identity = "demo:demo"; // tenantName:userName 
    String credential = "nova"; 

    novaApi = ContextBuilder.newBuilder(provider) 
      .endpoint("http://127.0.0.0:5000/v2.0/") 
      .credentials(identity, credential) 
      .modules(modules) 
      .buildApi(NovaApi.class); 
    regions = novaApi.getConfiguredRegions(); 
} 

private void listServers() { 
    for (String region : regions) { 
     ServerApi serverApi = novaApi.getServerApi(region); 

     System.out.println("Servers in " + region); 

     for (Server server : serverApi.listInDetail().concat()) { 
      System.out.println(" " + server); 
     } 
    } 
} 

public void close() throws IOException { 
    Closeables.close(novaApi, true); 
} 
} 

я получаю этот выход:

[main] DEBUG o.j.rest.internal.InvokeHttpMethod - >> invoking AuthenticationApi.authenticateWithTenantNameAndCredentials 
[main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Sending request 731849735: POST http://127.0.0.1:5000/v2.0/tokens HTTP/1.1 
[main] DEBUG jclouds.wire - >> "Sensitive data in payload, use PROPERTY_LOGGER_WIRE_LOG_SENSITIVE_INFO override to enable logging this data." 
[main] DEBUG jclouds.headers - >> POST http://127.0.0.1:5000/v2.0/tokens HTTP/1.1 
[main] DEBUG jclouds.headers - >> Accept: application/json 
[main] DEBUG jclouds.headers - >> Content-Type: application/json 
[main] DEBUG jclouds.headers - >> Content-Length: 92 
[main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Receiving response 731849735: HTTP/1.1 200 OK 
[main] DEBUG jclouds.headers - << HTTP/1.1 200 OK 
[main] DEBUG jclouds.headers - << Keep-Alive: timeout=5, max=100 
[main] DEBUG jclouds.headers - << Server: Apache/2.4.7 (Ubuntu) 
[main] DEBUG jclouds.headers - << Connection: Keep-Alive 
[main] DEBUG jclouds.headers - << x-openstack-request-id: req-ee75199f-27ba-4d95-bc68-b5ddbd38235e 
[main] DEBUG jclouds.headers - << Vary: X-Auth-Token 
[main] DEBUG jclouds.headers - << Date: Sun, 01 Nov 2015 11:15:11 GMT 
[main] DEBUG jclouds.headers - << Content-Type: application/json 
[main] DEBUG jclouds.headers - << Content-Length: 5187 
[main] DEBUG jclouds.wire - << "{"access": {"token": {"issued_at": "2015-11-01T11:15:11.741173", "expires": "2015-11-01T12:15:11Z", "id": "a907229e8fa94560a3d87ffd8bc959e7", "tenant": {"description": null, "enabled": true, "id": "b37cfd133b05457d82adc239cb762a6a", "name": "admin"}, "audit_ids": ["SWSlpB88SK6JFcfuAjqi_g"]}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a", "region": "RegionOne", "internalURL": "http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a", "id": "083ebebf2f284add866b15092e4b4918", "publicURL": "http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8774/v2.1/b37cfd133b05457d82adc239cb762a6a", "region": "RegionOne", "internalURL": "http://10.0.2.15:8774/v2.1/b37cfd133b05457d82adc239cb762a6a", "id": "4fd099ac1b0542a8994281d86fc50e19", "publicURL": "http://10.0.2.15:8774/v2.1/b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "computev21", "name": "novav21"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8776/v2/b37cfd133b05457d82adc239cb762a6a", "region": "RegionOne", "internalURL": "http://10.0.2.15:8776/v2/b37cfd133b05457d82adc239cb762a6a", "id": "0b0499b8a437401bb96968d9f76ca7c7", "publicURL": "http://10.0.2.15:8776/v2/b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "volumev2", "name": "cinderv2"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8779/v1.0/b37cfd133b05457d82adc239cb762a6a", "region": "RegionOne", "internalURL": "http://10.0.2.15:8779/v1.0/b37cfd133b05457d82adc239cb762a6a", "id": "9dc6091b06e545bdaee41945d54a45ad", "publicURL": "http://10.0.2.15:8779/v1.0/b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "database", "name": "trove"}, {"endpoints": [{"adminURL": "http://10.0.2.15:9292", "region": "RegionOne", "internalURL": "http://10.0.2.15:9292", "id": "1c23e7d2ad234adaa9e8109472c28ac2", "publicURL": "http://10.0.2.15:9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8386/v1.1/b37cfd133b05457d82adc239cb762a6a", "region": "RegionOne", "internalURL": "http://10.0.2.15:8386/v1.1/b37cfd133b05457d82adc239cb762a6a", "id": "2d3d2a5dff9b4799bc16e66409c66479", "publicURL": "http://10.0.2.15:8386/v1.1/b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "data_processing", "name": "sahara"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8000/v1", "region": "RegionOne", "internalURL": "http://10.0.2.15:8000/v1", "id": "0c9fa4ded5b14bb780a73f843baec0be", "publicURL": "http://10.0.2.15:8000/v1"}], "endpoints_links": [], "type": "cloudformation", "name": "heat-cfn"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8776/v1/b37cfd133b05457d82adc239cb762a6a", "region": "RegionOne", "internalURL": "http://10.0.2.15:8776/v1/b37cfd133b05457d82adc239cb762a6a", "id": "17f424ba438940b281c91287a8e2f247", "publicURL": "http://10.0.2.15:8776/v1/b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8773/", "region": "RegionOne", "internalURL": "http://10.0.2.15:8773/", "id": "930d840f89eb4b978a1b6aa4c43550d6", "publicURL": "http://10.0.2.15:8773/"}], "endpoints_links": [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8004/v1/b37cfd133b05457d82adc239cb762a6a", "region": "RegionOne", "internalURL": "http://10.0.2.15:8004/v1/b37cfd133b05457d82adc239cb762a6a", "id": "59524478bb014029832a84bbe55e7600", "publicURL": "http://10.0.2.15:8004/v1/b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "orchestration", "name": "heat"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8080", "region": "RegionOne", "internalURL": "http://10.0.2.15:8080/v1/AUTH_b37cfd133b05457d82adc239cb762a6a", "id": "5f4a0e402b0041a799207dc70f6abb01", "publicURL": "http://10.0.2.15:8080/v1/AUTH_b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "object-store", "name": "swift"}, {"endpoints": [{"adminURL": "http://10.0.2.15:8386/v1.1/b37cfd133b05457d82adc239cb762a6a", "region": "RegionOne", "internalURL": "http://10.0.2.15:8386/v1.1/b37cfd133b05457d82adc239cb762a6a", "id": "0d0183f6f94048bba68bbc540375debd", "publicURL": "http://10.0.2.15:8386/v1.1/b37cfd133b05457d82adc239cb762a6a"}], "endpoints_links": [], "type": "data-processing", "name": "sahara"}, {"endpoints": [{"adminURL": "http://10.0.2.15:35357/v2.0", "region": "RegionOne", "internalURL": "http://10.0.2.15:5000/v2.0", "id": "249b7361cf944d5b999666d3c89dff63", "publicURL": "http://10.0.2.15:5000/v2.0"}], "endpoints_links": [], "type": "identity", "name": "keystone"}, {"endpoints": [{"adminURL": "http://10.0.2.15:9696/", "region": "RegionOne", "internalURL": "http://10.0.2.15:9696/", "id": "59f12fcbf8044e688dd184914f1d4337", "publicURL": "http://10.0.2.15:9696/"}], "endpoints_links": [], "type": "network", "name": "neutron"}], "user": {"username": "admin", "roles_links": [], "id": "c2430e83e4814f058e7bf7ac783b04ec", "roles": [{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles": ["2d225038f03f4d1d928994c77728fbb6"]}}}" 
[main] DEBUG o.j.o.k.v.s.RegionIdToURIFromAccessForTypeAndVersion - endpoints for apiType compute and version 2: {RegionOne=[Endpoint{id=083ebebf2f284add866b15092e4b4918, region=RegionOne, publicURL=http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a, internalURL=http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a, adminURL=http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a}]} 
[main] DEBUG o.j.l.s.f.RegionIdsFromConfiguration - no jclouds.regions configured for provider openstack-nova 
Servers in RegionOne 
[main] DEBUG o.j.rest.internal.InvokeHttpMethod - >> invoking server:list 
[main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Sending request -1892986886: GET http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a/servers/detail HTTP/1.1 
[main] DEBUG jclouds.headers - >> GET http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a/servers/detail HTTP/1.1 
[main] DEBUG jclouds.headers - >> Accept: application/json 
[main] DEBUG jclouds.headers - >> X-Auth-Token: a907229e8fa94560a3d87ffd8bc959e7 
[main] DEBUG o.j.h.h.BackoffLimitedRetryHandler - Retry 1/5: delaying for 54 ms: server error: [method=org.jclouds.openstack.nova.v2_0.features.ServerApi.public abstract org.jclouds.collect.PagedIterable org.jclouds.openstack.nova.v2_0.features.ServerApi.listInDetail()[], request=GET http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a/servers/detail HTTP/1.1] 
[main] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Sending request -1892986886: GET http://10.0.2.15:8774/v2/b37cfd133b05457d82adc239cb762a6a/servers/detail HTTP/1.1 

отмечает, что я использую intelijIdea для IDE

ответ

0

проблема, вероятно, связано с конфигурацией сети в VirtualBox. Ваш первый запрос будет 127.0.0.1:5000, и он правильно обрабатывается службой Openstack Keystone.

Ключевой отклик включает адрес конечной точки службы nova - 10.0.2.15:8774 - в котором должен появиться ваш API-запрос, чтобы перечислить серверы. Возможно, ваш клиент не может подключиться к этому IP-адресу.

Проверьте конфигурацию вашей виртуальной сети - убедитесь, что сетевой режим позволяет операционной системе хоста подключаться к гостевой операционной системе.

+0

какой сетевой режим вы имеете в виду? Я установил порт SSH и порт GUI Horizon. –

+0

Ваш экземпляр openstack работает на IP 10.0.2.15. Веб-консоль horizon, вероятно, также работает на этом порту. Независимо от того, что вы сделали, чтобы порт GUI (80) перенаправлялся на порт 80 VM, вам нужно сделать то же самое для порта 8774 и любого другого порта, который открывают службы openstack, и вам нужно. – Barak

0

Virtualbox не может передавать расширения виртуализации. Вероятно, ваши devstack не могут загружать виртуальные машины под виртуальный бокс.

 Смежные вопросы

  • Нет связанных вопросов^_^