Ruben Rubio Rey created JCLOUDS-1027:
----------------------------------------

             Summary: digitalocean2 request incorrect droplet
                 Key: JCLOUDS-1027
                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1027
             Project: jclouds
          Issue Type: Bug
          Components: jclouds-labs
    Affects Versions: 2.0.0
         Environment: Java 1.7 under Linux
            Reporter: Ruben Rubio Rey


When creating a new droplet using digitalocean2, it takes more than 5 minutes. 
The reason is that while the droplet is being created Jclouds is checking an 
incorrect dropletid and the droplet is not found. (Eventually it does check the 
proper dropletid, but it takes too long)

{code:title=Test.java|borderStyle=solid}
    @Test
    public void newDebianJessie() throws Exception {
        final String POLL_PERIOD_TWENTY_SECONDS = 
String.valueOf(SECONDS.toMillis(20));

        Properties overrides = new Properties();
        overrides.setProperty(ComputeServiceProperties.POLL_INITIAL_PERIOD, 
POLL_PERIOD_TWENTY_SECONDS);
        overrides.setProperty(ComputeServiceProperties.POLL_MAX_PERIOD, 
POLL_PERIOD_TWENTY_SECONDS);

        Iterable<Module> modules = ImmutableSet.<Module> of(new 
SshjSshClientModule(), new SLF4JLoggingModule());
        //Iterable<Module> modules = ImmutableSet.<Module> of(new 
SshjSshClientModule());
        ComputeServiceContext context = 
ContextBuilder.newBuilder("digitalocean2")
                .credentials("manageacloud", 
"7324e00c4a5e73207a61bdf8f974d43014cea9ec33a0ee3f7b8d3e331076822e")
                .modules(modules)
                .overrides(overrides)
                .buildView(ComputeServiceContext.class);

        ComputeService computeService = context.getComputeService();

        TemplateOptions opts = computeService.templateOptions();
        Template template = computeService.templateBuilder()
                .locationId("sfo1")
                .imageId("sfo1/debian-8-x64")
                .hardwareId("512mb")
                
.options(opts.as(DigitalOcean2TemplateOptions.class).privateNetworking(true))
                .build();
        

        Set<? extends NodeMetadata> nodes = 
computeService.createNodesInGroup("unittest", 1, template);
        for (NodeMetadata nodeMetadata : nodes) {
            System.out.println("BuildNewServerTask Login: ssh " + 
nodeMetadata.getCredentials().getUser() +  "@" + 
nodeMetadata.getPublicAddresses());
            System.out.println("BuildNewServerTask Password: " + 
nodeMetadata.getCredentials().getPassword());
        }
        System.out.println("The end");
    }
{code}

If the logs are activated, you can see how JClouds is checking the incorrect 
dropletip

{{
16:12:38.075 [user thread 0] DEBUG jclouds.headers - >> GET 
https://api.digitalocean.com/v2/droplets/69392077 HTTP/1.1
16:12:38.076 [user thread 0] DEBUG jclouds.headers - >> Accept: application/json
16:12:38.076 [user thread 0] DEBUG jclouds.headers - >> Authorization: Bearer 
mycr3d3nt14ls
16:12:39.453 [user thread 0] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - 
Receiving response -1100723561: HTTP/1.1 404 Not Found
16:12:39.454 [user thread 0] DEBUG jclouds.headers - << HTTP/1.1 404 Not Found
16:12:39.454 [user thread 0] DEBUG jclouds.headers - << RateLimit-Reset: 
1445836354
16:12:39.454 [user thread 0] DEBUG jclouds.headers - << X-Runtime: 0.034042
16:12:39.454 [user thread 0] DEBUG jclouds.headers - << X-XSS-Protection: 1; 
mode=block
16:12:39.454 [user thread 0] DEBUG jclouds.headers - << Set-Cookie: 
__cfduid=d0bae9fcd693dc4bc109fa67a5ea6aad01445836358; expires=Tue, 25-Oct-16 
05:12:38 GMT; path=/; domain=.digitalocean.com; HttpOnly
16:12:39.455 [user thread 0] DEBUG jclouds.headers - << X-Request-Id: 
e27e24fc-5b39-4bc5-82ef-02d26b424a0c
16:12:39.455 [user thread 0] DEBUG jclouds.headers - << Connection: keep-alive
16:12:39.455 [user thread 0] DEBUG jclouds.headers - << Server: cloudflare-nginx
16:12:39.456 [user thread 0] DEBUG jclouds.headers - << RateLimit-Limit: 5000
16:12:39.456 [user thread 0] DEBUG jclouds.headers - << Cache-Control: no-cache
16:12:39.456 [user thread 0] DEBUG jclouds.headers - << X-Content-Type-Options: 
nosniff
16:12:39.456 [user thread 0] DEBUG jclouds.headers - << Status: 404 Not Found
16:12:39.457 [user thread 0] DEBUG jclouds.headers - << X-Frame-Options: 
SAMEORIGIN
16:12:39.457 [user thread 0] DEBUG jclouds.headers - << RateLimit-Remaining: 
4675
16:12:39.457 [user thread 0] DEBUG jclouds.headers - << Transfer-Encoding: 
chunked
16:12:39.458 [user thread 0] DEBUG jclouds.headers - << Date: Mon, 26 Oct 2015 
05:12:39 GMT
16:12:39.458 [user thread 0] DEBUG jclouds.headers - << CF-RAY: 
23b3aad7094f04bc-SYD
16:12:39.458 [user thread 0] DEBUG jclouds.headers - << Content-Type: 
application/json; charset=utf-8
16:12:39.459 [user thread 0] DEBUG jclouds.wire - << 
"{"id":"not_found","message":"The resource you were accessing could not be 
found."}"
}}

However eventually the correct droplet id is checked and the configuration can 
move forward

{{
16:12:50.395 [user thread 0] DEBUG jclouds.headers - >> GET 
https://api.digitalocean.com/v2/droplets/8409235 HTTP/1.1
16:12:50.395 [user thread 0] DEBUG jclouds.headers - >> Accept: application/json
16:12:50.395 [user thread 0] DEBUG jclouds.headers - >> Authorization: Bearer 
mycr3d3nt14ls
16:12:50.821 [user thread 0] DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - 
Receiving response -1048610249: HTTP/1.1 200 OK
16:12:50.821 [user thread 0] DEBUG jclouds.headers - << HTTP/1.1 200 OK
16:12:50.821 [user thread 0] DEBUG jclouds.headers - << RateLimit-Reset: 
1445836394
16:12:50.821 [user thread 0] DEBUG jclouds.headers - << X-Runtime: 0.130968
16:12:50.821 [user thread 0] DEBUG jclouds.headers - << X-XSS-Protection: 1; 
mode=block
16:12:50.822 [user thread 0] DEBUG jclouds.headers - << Set-Cookie: 
__cfduid=d5a6ddc874ea2564b2d611da4fd9854f61445836370; expires=Tue, 25-Oct-16 
05:12:50 GMT; path=/; domain=.digitalocean.com; HttpOnly
16:12:50.822 [user thread 0] DEBUG jclouds.headers - << X-Request-Id: 
3a63ba1d-1f32-485a-812d-26623a0dfc84
16:12:50.822 [user thread 0] DEBUG jclouds.headers - << Connection: keep-alive
16:12:50.822 [user thread 0] DEBUG jclouds.headers - << Server: cloudflare-nginx
16:12:50.822 [user thread 0] DEBUG jclouds.headers - << RateLimit-Limit: 5000
16:12:50.822 [user thread 0] DEBUG jclouds.headers - << Cache-Control: 
max-age=0, private, must-revalidate
16:12:50.823 [user thread 0] DEBUG jclouds.headers - << X-Content-Type-Options: 
nosniff
16:12:50.823 [user thread 0] DEBUG jclouds.headers - << Status: 200 OK
16:12:50.823 [user thread 0] DEBUG jclouds.headers - << X-Frame-Options: 
SAMEORIGIN
16:12:50.823 [user thread 0] DEBUG jclouds.headers - << RateLimit-Remaining: 
4673
16:12:50.823 [user thread 0] DEBUG jclouds.headers - << Transfer-Encoding: 
chunked
16:12:50.823 [user thread 0] DEBUG jclouds.headers - << Date: Mon, 26 Oct 2015 
05:12:50 GMT
16:12:50.823 [user thread 0] DEBUG jclouds.headers - << CF-RAY: 
23b3ab22fd6204bc-SYD
16:12:50.824 [user thread 0] DEBUG jclouds.headers - << Content-Type: 
application/json; charset=utf-8
16:12:50.824 [user thread 0] DEBUG jclouds.wire - << 
"{"droplet":{"id":8409235,"name":"unittest-698","memory":512,"vcpus":1,"disk":20,"locked":false,"status":"active","kernel":null,"created_at":"2015-10-26T05:07:49Z","features":["private_networking","virtio"],"backup_ids":[],"next_backup_window":null,"snapshot_ids":[],"image":{"id":12778278,"name":"8.1
 
x64","distribution":"Debian","slug":"debian-8-x64","public":true,"regions":["nyc1","ams1","sfo1","nyc2","ams2","sgp1","lon1","nyc3","ams3","fra1","tor1"],"created_at":"2015-07-16T18:49:14Z","min_disk_size":20,"type":"snapshot"},"size":{"slug":"512mb","memory":512,"vcpus":1,"disk":20,"transfer":1.0,"price_monthly":5.0,"price_hourly":0.00744,"regions":["nyc1","sgp1","sfo1","nyc2","lon1","nyc3","ams3","ams2","fra1","tor1"],"available":true},"size_slug":"512mb","networks":{"v4":[{"ip_address":"10.134.159.113","netmask":"255.255.0.0","gateway":"10.134.0.1","type":"private"},{"ip_address":"104.236.174.121","netmask":"255.255.192.0","gateway":"104.236.128.1","type":"public"}],"v6":[]},"region":{"name":"San
 Francisco 
1","slug":"sfo1","sizes":["32gb","16gb","2gb","1gb","4gb","8gb","512mb","64gb","48gb"],"features":["private_networking","backups","ipv6","metadata"],"available":true}}}"
16:12:50.856 [user thread 0] DEBUG jclouds.compute - << RUNNING[ACTIVE] 
node(8409235)
}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to