mirror of https://github.com/apache/jclouds.git
Merge branch 'master' of github.com:kedardave/jclouds
This commit is contained in:
commit
98bf69ff57
|
@ -0,0 +1,141 @@
|
|||
/**
|
||||
*
|
||||
* Copyright (C) 2011 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.savvis.vpdc;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Set;
|
||||
|
||||
import org.jclouds.providers.BaseProviderMetadata;
|
||||
import org.jclouds.providers.ProviderMetadata;
|
||||
|
||||
/**
|
||||
* Implementation of {@link org.jclouds.types.ProviderMetadata} for Savvis Symphony VPDC services.
|
||||
*
|
||||
* @author Kedar Dave
|
||||
*/
|
||||
public class SavvisSymphonyVPDCProviderMetadata extends BaseProviderMetadata {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getId() {
|
||||
return "savvis-symphonyvpdc";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getType() {
|
||||
return ProviderMetadata.COMPUTE_TYPE;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Savvis Symphony VPDC";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getIdentityName() {
|
||||
return "username";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String getCredentialName() {
|
||||
return "password";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getHomepage() {
|
||||
return URI.create("http://www.savvis.com/en-US/infrastructure-services/Cloud/Pages/SavvisSymphonyVPDC.aspx");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getConsole() {
|
||||
return URI.create("https://www.savvisstation.com");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public URI getApiDocumentation() {
|
||||
return URI.create("https://api.symphonyvpdc.savvis.net/doc/spec/api/index.html");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* list of data centers from savvisstation colocation guide
|
||||
* https://www.savvisstation.com/DocumentViewer?GUID=a95f0387-cbfe-43eb-b25b-4f2b0f68498f&sessionid=SavvisCCC%3ac9a8984b9655b01916be587e5204b2cf
|
||||
* Once we have confirmation from Savvis as to what data centers are used for vpdc deployments,
|
||||
* iso codes for those will be entered here
|
||||
*
|
||||
* City Code
|
||||
* Lithia Springs, GA AT1
|
||||
* Waltham, MA BO1
|
||||
* Waltham, MA BO2
|
||||
* Waltham, MA B03
|
||||
* Elk Grove Village, IL CH3
|
||||
* Chicago, IL CH4
|
||||
* Sterling, VA DC2
|
||||
* Sterling, VA DC3
|
||||
* Sterling, VA DC4 Phase I
|
||||
* Sterling, VA DC4 Phase II
|
||||
* Fort Worth, TX DL1
|
||||
* Fort Worth, TX DL2
|
||||
* El Segundo, CA LA1
|
||||
* Jersey City, NJ NJ1
|
||||
* Weehawken, NJ NJ2
|
||||
* Piscataway, NJ NJ3
|
||||
* Piscataway, NJ 2nd floor NJ3
|
||||
* Weehawken, NJ NJ2X
|
||||
* Irvine, CA OC2
|
||||
* Santa Clara, CA SC4
|
||||
* Santa Clara, CA SC5
|
||||
* Santa Clara, CA SC8
|
||||
* Santa Clara, CA SC9
|
||||
* Tukwila, WA 1st floor SE2
|
||||
* Montreal, Canada MR1
|
||||
* Toronto, Canada TR1
|
||||
* Vancouver, Canada VC1
|
||||
*/
|
||||
@Override
|
||||
public Set<String> getIso3166Codes() {
|
||||
return ImmutableSet.of("");
|
||||
}
|
||||
|
||||
}
|
|
@ -115,11 +115,13 @@ public class BrowsingClientLiveTest extends BaseVPDCClientLiveTest {
|
|||
}
|
||||
}
|
||||
|
||||
// test for a single vm, as savvis response times are very slow. So if there are multiple vpdc's with numerous vm's,
|
||||
// test execution will invariably take a long time
|
||||
@Test
|
||||
public void testVM() throws Exception {
|
||||
for (Resource org1 : restContext.getApi().listOrgs()) {
|
||||
Org org = client.getOrg(org1.getId());
|
||||
for (Resource vdc : org.getVDCs()) {
|
||||
VDC_LOOP : for (Resource vdc : org.getVDCs()) {
|
||||
VDC VDC = client.getVDCInOrg(org.getId(), vdc.getId());
|
||||
for (Resource vApp : Iterables.filter(VDC.getResourceEntities(), new Predicate<Resource>() {
|
||||
|
||||
|
@ -158,8 +160,8 @@ public class BrowsingClientLiveTest extends BaseVPDCClientLiveTest {
|
|||
assert HostSpecifier.isValid(ip) : response;
|
||||
}
|
||||
}
|
||||
break VDC_LOOP;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ import java.util.concurrent.TimeoutException;
|
|||
|
||||
import org.jclouds.savvis.vpdc.domain.Org;
|
||||
import org.jclouds.savvis.vpdc.domain.Resource;
|
||||
import org.jclouds.savvis.vpdc.domain.Task;
|
||||
import org.jclouds.savvis.vpdc.domain.VDC;
|
||||
import org.jclouds.savvis.vpdc.domain.VM;
|
||||
import org.jclouds.savvis.vpdc.reference.VCloudMediaType;
|
||||
|
@ -48,10 +49,12 @@ public class ServiceManagementClientLiveTest extends BaseVPDCClientLiveTest {
|
|||
client = restContext.getApi().getServiceManagementClient();
|
||||
}
|
||||
|
||||
// test for a single vm, as savvis response times are very slow. So if there are multiple vpdc's with numerous vm's,
|
||||
// test execution will invariably take a long time
|
||||
public void testLifeCycle() throws InterruptedException, ExecutionException, TimeoutException, IOException {
|
||||
for (Resource org1 : restContext.getApi().listOrgs()) {
|
||||
Org org = restContext.getApi().getBrowsingClient().getOrg(org1.getId());
|
||||
for (Resource vdc : org.getVDCs()) {
|
||||
VDC_LOOP : for (Resource vdc : org.getVDCs()) {
|
||||
VDC VDC = restContext.getApi().getBrowsingClient().getVDCInOrg(org.getId(), vdc.getId());
|
||||
for (Resource vmHandle : Iterables.filter(VDC.getResourceEntities(), new Predicate<Resource>() {
|
||||
|
||||
|
@ -62,17 +65,20 @@ public class ServiceManagementClientLiveTest extends BaseVPDCClientLiveTest {
|
|||
|
||||
})) {
|
||||
|
||||
assert taskTester.apply(client.powerOffVM(vmHandle.getHref()).getId());
|
||||
Task powerOffTask = client.powerOffVM(vmHandle.getHref());
|
||||
assert taskTester.apply(powerOffTask.getId());
|
||||
|
||||
VM vm = restContext.getApi().getBrowsingClient().getVM(vmHandle.getHref(), withPowerState());
|
||||
assertEquals(vm.getStatus(), VM.Status.OFF);
|
||||
|
||||
assert taskTester.apply(client.powerOnVM(vmHandle.getHref()).getId());
|
||||
Task powerOnTask = client.powerOnVM(vmHandle.getHref());
|
||||
assert taskTester.apply(powerOnTask.getId());
|
||||
|
||||
vm = restContext.getApi().getBrowsingClient().getVM(vmHandle.getHref(), withPowerState());
|
||||
|
||||
assertEquals(vm.getStatus(), VM.Status.ON);
|
||||
|
||||
break VDC_LOOP;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue