mirror of https://github.com/apache/jclouds.git
vcloud: added error handling on tasks
This commit is contained in:
parent
1429edf69e
commit
e8b8aced8e
|
@ -1,3 +1,21 @@
|
|||
/**
|
||||
*
|
||||
* Copyright (C) 2009 Cloud Conscious, LLC. <info@cloudconscious.com>
|
||||
*
|
||||
* ====================================================================
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ====================================================================
|
||||
*/
|
||||
package org.jclouds.compute.internal;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
|
|
|
@ -56,24 +56,24 @@ public class BlueLockVCloudComputeServiceLiveTest extends VCloudComputeServiceLi
|
|||
// TODO verify parsing works
|
||||
}
|
||||
|
||||
// https://forums.bluelock.com/showthread.php?p=353#post353
|
||||
@Override
|
||||
@Test(enabled = false)
|
||||
public void testCreate() throws Exception {
|
||||
super.testCreate();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Test(enabled = false)
|
||||
public void testGet() throws Exception {
|
||||
super.testGet();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Test(enabled = false)
|
||||
public void testReboot() throws Exception {
|
||||
super.testReboot();
|
||||
}
|
||||
// // https://forums.bluelock.com/showthread.php?p=353#post353
|
||||
// @Override
|
||||
// @Test(enabled = false)
|
||||
// public void testCreate() throws Exception {
|
||||
// super.testCreate();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// @Test(enabled = false)
|
||||
// public void testGet() throws Exception {
|
||||
// super.testGet();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// @Test(enabled = false)
|
||||
// public void testReboot() throws Exception {
|
||||
// super.testReboot();
|
||||
// }
|
||||
|
||||
@Test
|
||||
public void testExample() throws Exception {
|
||||
|
|
|
@ -124,7 +124,7 @@ public class VCloudComputeServiceContextModule extends VCloudContextModule {
|
|||
@Named("NAMING_CONVENTION")
|
||||
@Singleton
|
||||
String provideNamingConvention() {
|
||||
return "%s-%d";
|
||||
return "%s%d";
|
||||
}
|
||||
|
||||
@Singleton
|
||||
|
@ -234,11 +234,11 @@ public class VCloudComputeServiceContextModule extends VCloudContextModule {
|
|||
while (node == null && i++ < 3) {
|
||||
try {
|
||||
node = getNodeMetadataByIdInVDC(vdc.getId(), resource.getId());
|
||||
nodes.add(node);
|
||||
} catch (NullPointerException e) {
|
||||
logger.warn("vApp %s not yet present in vdc %s", resource.getId(), vdc.getId());
|
||||
}
|
||||
}
|
||||
nodes.add(node);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -281,7 +281,7 @@ public class VCloudComputeServiceContextModule extends VCloudContextModule {
|
|||
|
||||
protected NodeMetadata getNodeMetadataByIdInVDC(String vDCId, String id) {
|
||||
VApp vApp = client.getVApp(id);
|
||||
String tag = vApp.getName().replaceAll("-[0-9]+", "");
|
||||
String tag = vApp.getName().replaceAll("[0-9]+", "");
|
||||
return new NodeMetadataImpl(vApp.getId(), vApp.getName(), vDCId, vApp.getLocation(),
|
||||
ImmutableMap.<String, String> of(), tag, vAppStatusToNodeState.get(vApp
|
||||
.getStatus()), computeClient.getPublicAddresses(id), computeClient
|
||||
|
|
|
@ -38,23 +38,25 @@ import com.google.inject.Inject;
|
|||
@Singleton
|
||||
public class TaskSuccess implements Predicate<String> {
|
||||
|
||||
private final VCloudClient client;
|
||||
private final VCloudClient client;
|
||||
|
||||
@Resource
|
||||
protected Logger logger = Logger.NULL;
|
||||
@Resource
|
||||
protected Logger logger = Logger.NULL;
|
||||
|
||||
@Inject
|
||||
public TaskSuccess(VCloudClient client) {
|
||||
this.client = client;
|
||||
}
|
||||
@Inject
|
||||
public TaskSuccess(VCloudClient client) {
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
public boolean apply(String taskId) {
|
||||
logger.trace("looking for status on task %s", taskId);
|
||||
public boolean apply(String taskId) {
|
||||
logger.trace("looking for status on task %s", taskId);
|
||||
|
||||
Task task = client.getTask(taskId);
|
||||
logger.trace("%s: looking for status %s: currently: %s", task,
|
||||
TaskStatus.SUCCESS, task.getStatus());
|
||||
return task.getStatus() == TaskStatus.SUCCESS;
|
||||
}
|
||||
Task task = client.getTask(taskId);
|
||||
logger.trace("%s: looking for status %s: currently: %s", task, TaskStatus.SUCCESS, task
|
||||
.getStatus());
|
||||
if (task.getStatus() == TaskStatus.ERROR)
|
||||
throw new RuntimeException("error on task: " + task.getId() + " error: " + task.getError());
|
||||
return task.getStatus() == TaskStatus.SUCCESS;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue