Merge pull request #555 from danikov/vcloud-director-carrenza

Issue 830: vCloud director Carrenza provider
This commit is contained in:
Adrian Cole 2012-04-10 10:42:35 -07:00
commit ce0b181e0d
30 changed files with 1347 additions and 0 deletions

View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to jclouds, Inc. (jclouds) under one or more
contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. jclouds licenses this file
to you 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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-project</artifactId>
<version>1.5.0-SNAPSHOT</version>
<relativePath>../../project/pom.xml</relativePath>
</parent>
<groupId>org.jclouds.labs</groupId>
<artifactId>carrenza-vcloud-director</artifactId>
<name>jclouds Carrenza vCloud Director provider</name>
<description>vCloud implementation targeted to Carrenza</description>
<packaging>bundle</packaging>
<properties>
<test.carrenza-vcloud.endpoint>https://myvdc.carrenza.net/api</test.carrenza-vcloud.endpoint>
<test.carrenza-vcloud.api-version>1.5</test.carrenza-vcloud.api-version>
<test.carrenza-vcloud.build-version>FIXME_VERSION</test.carrenza-vcloud.build-version>
<test.carrenza-vcloud.identity>FIXME_IDENTITY</test.carrenza-vcloud.identity>
<test.carrenza-vcloud.credential>FIXME_CREDENTIAL</test.carrenza-vcloud.credential>
<test.carrenza-vcloud.image-id></test.carrenza-vcloud.image-id>
<test.carrenza-vcloud.image.login-user></test.carrenza-vcloud.image.login-user>
<test.carrenza-vcloud.image.authenticate-sudo></test.carrenza-vcloud.image.authenticate-sudo>
</properties>
<dependencies>
<dependency>
<groupId>org.jclouds.labs</groupId>
<artifactId>vcloud-director</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jclouds.labs</groupId>
<artifactId>vcloud-director</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-core</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds</groupId>
<artifactId>jclouds-compute</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-log4j</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-sshj</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>live</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>integration</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<systemPropertyVariables>
<test.carrenza-vcloud.endpoint>${test.carrenza-vcloud.endpoint}</test.carrenza-vcloud.endpoint>
<test.carrenza-vcloud.api-version>${test.carrenza-vcloud.api-version}</test.carrenza-vcloud.api-version>
<test.carrenza-vcloud.build-version>${test.carrenza-vcloud.build-version}</test.carrenza-vcloud.build-version>
<test.carrenza-vcloud.identity>${test.carrenza-vcloud.identity}</test.carrenza-vcloud.identity>
<test.carrenza-vcloud.credential>${test.carrenza-vcloud.credential}</test.carrenza-vcloud.credential>
<test.carrenza-vcloud.image-id>${test.carrenza-vcloud.image-id}</test.carrenza-vcloud.image-id>
<test.carrenza-vcloud.image.login-user>${test.carrenza-vcloud.image.login-user}</test.carrenza-vcloud.image.login-user>
<test.carrenza-vcloud.image.authenticate-sudo>${test.carrenza-vcloud.image.authenticate-sudo}</test.carrenza-vcloud.image.authenticate-sudo>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Export-Package>org.jclouds.carrenza.vcloud*;version="${project.version}"</Export-Package>
<Import-Package>
org.jclouds.compute.internal;version="${project.version}",
org.jclouds.rest.internal;version="${project.version}",
org.jclouds*;version="${project.version}",
*
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,51 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director;
import java.util.List;
import java.util.Properties;
import org.jclouds.carrenza.vcloud.director.config.CarrenzaVCloudDirectorComputeServiceContextModule;
import org.jclouds.carrenza.vcloud.director.config.CarrenzaVCloudDirectorRestClientModule;
import org.jclouds.vcloud.director.v1_5.VCloudDirectorContextBuilder;
import com.google.inject.Module;
/**
* {@inheritDoc}
*
* @author danikov
*/
public class CarrenzaVCloudDirectorContextBuilder extends VCloudDirectorContextBuilder {
public CarrenzaVCloudDirectorContextBuilder(Properties props) {
super(props);
}
@Override
protected void addContextModule(List<Module> modules) {
// modules.add(new CarrenzaVCloudDirectorComputeServiceContextModule()); FIXME: enable when compute service done
}
@Override
protected void addClientModule(List<Module> modules) {
modules.add(new CarrenzaVCloudDirectorRestClientModule());
}
}

View File

@ -0,0 +1,47 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director;
import static org.jclouds.Constants.PROPERTY_BUILD_VERSION;
import static org.jclouds.Constants.PROPERTY_ENDPOINT;
import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
import java.util.Properties;
import org.jclouds.vcloud.director.v1_5.VCloudDirectorPropertiesBuilder;
/**
*
* @author Adrian Cole
*/
public class CarrenzaVCloudDirectorPropertiesBuilder extends VCloudDirectorPropertiesBuilder {
@Override
public Properties defaultProperties() {
Properties properties = super.defaultProperties();
properties.setProperty(PROPERTY_ISO3166_CODES, "GB-LND");
properties.setProperty(PROPERTY_ENDPOINT, "https://myvdc.carrenza.net/api");
properties.setProperty(PROPERTY_BUILD_VERSION, "???"); //FIXME
// properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, "orgNet-.*-External"); FIXME: needed?
return properties;
}
public CarrenzaVCloudDirectorPropertiesBuilder(Properties properties) {
super(properties);
}
}

View File

@ -0,0 +1,66 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director;
import java.net.URI;
import org.jclouds.providers.BaseProviderMetadata;
import org.jclouds.vcloud.director.v1_5.VCloudDirectorApiMetadata;
/**
* Implementation of {@link org.jclouds.types.ProviderMetadata} for Carrenza vCloud Director
*
* @author dankov
*/
public class CarrenzaVCloudDirectorProviderMetadata extends BaseProviderMetadata {
public CarrenzaVCloudDirectorProviderMetadata() {
this(builder()
.id("carrenza-vcloud-director")
.name("Carrenza vCloud Director")
.api(new VCloudDirectorApiMetadata())
.homepage(URI.create("http://carrenza.com/"))
.console(URI.create("https://myvdc.carrenza.net/cloud/org/YOUR_ORG_HERE"))
.iso3166Codes("GB-LND"));
}
// below are so that we can reuse builders, toString, hashCode, etc.
// we have to set concrete classes here, as our base class cannot be
// concrete due to serviceLoader
protected CarrenzaVCloudDirectorProviderMetadata(ConcreteBuilder builder) {
super(builder);
}
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
@Override
public CarrenzaVCloudDirectorProviderMetadata build() {
return new CarrenzaVCloudDirectorProviderMetadata(this);
}
}
public static ConcreteBuilder builder() {
return new ConcreteBuilder();
}
public ConcreteBuilder toBuilder() {
return builder().fromProviderMetadata(this);
}
}

View File

@ -0,0 +1,34 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.config;
/**
* per docs, we are to use pool mode.
*
* @author danikov
*/
public class CarrenzaVCloudDirectorComputeServiceContextModule { // FIXME: enable when compute serivce done
//extends VCloudDirectorComputeServiceContextModule {
//
// @Override
// protected TemplateOptions provideTemplateOptions(Injector injector, TemplateOptions options) {
// return options.as(VCloudDirectorTemplateOptions.class).ipAddressAllocationMode(IpAddressAllocationMode.POOL);
// }
}

View File

@ -0,0 +1,34 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.config;
import org.jclouds.http.RequiresHttp;
import org.jclouds.rest.ConfiguresRestClient;
import org.jclouds.vcloud.director.v1_5.config.VCloudDirectorRestClientModule;
/**
* Configures the VCloud authentication service connection, including logging and http transport.
*
* @author danikov
*/
@RequiresHttp
@ConfiguresRestClient
public class CarrenzaVCloudDirectorRestClientModule extends VCloudDirectorRestClientModule {
}

View File

@ -0,0 +1 @@
org.jclouds.carrenza.element.vcloud.CarrenzaElementVCloudProviderMetadata

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director;
import org.jclouds.vcloud.director.v1_5.NonClientOperationsLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorNonClientOperationsLiveTest")
public class CarrenzaVCloudDirectorNonClientOperationsLiveTest extends NonClientOperationsLiveTest {
public CarrenzaVCloudDirectorNonClientOperationsLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director;
import org.jclouds.providers.BaseProviderMetadataTest;
import org.jclouds.vcloud.director.v1_5.VCloudDirectorApiMetadata;
import org.testng.annotations.Test;
/**
*
* @author danikov
*/
@Test(groups = "unit", testName = "CarrenzaVCloudDirectorProviderTest")
public class CarrenzaVCloudDirectorProviderTest extends BaseProviderMetadataTest {
public CarrenzaVCloudDirectorProviderTest() {
super(new CarrenzaVCloudDirectorProviderMetadata(), new VCloudDirectorApiMetadata());
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.compute;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorComputeServiceLiveTest")
public class CarrenzaVCloudDirectorComputeServiceLiveTest { // FIXME: enable when compute service done
// extends VCloudDirectorComputeServiceLiveTest {
//
// public CarrenzaVCloudDirectorComputeServiceLiveTest() {
// provider = "carrenza-vcloud-director";
// }
}

View File

@ -0,0 +1,77 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.compute;
import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
import static org.testng.Assert.assertEquals;
import java.io.IOException;
import java.util.Set;
import org.jclouds.compute.BaseTemplateBuilderLiveTest;
import org.jclouds.compute.domain.OsFamily;
import org.jclouds.compute.domain.OsFamilyVersion64Bit;
import org.jclouds.compute.domain.Template;
import org.testng.annotations.Test;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableSet;
/**
*
* @author danikov
*/
@Test(groups = "live", testName = "CarrenzaVCloudDirectorTemplateBuilderLiveTest")
public class CarrenzaVCloudDirectorTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
public CarrenzaVCloudDirectorTemplateBuilderLiveTest() {
provider = "carrenza-vcloud-director";
}
@Override
protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
return new Predicate<OsFamilyVersion64Bit>() {
@Override
public boolean apply(OsFamilyVersion64Bit input) {
switch (input.family) {
case UBUNTU:
return !input.version.equals("") || !input.is64Bit;
default:
return true;
}
}
};
}
@Override
public void testDefaultTemplateBuilder() throws IOException {
Template defaultTemplate = context.getComputeService().templateBuilder().build();
assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "");
assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
}
@Override
protected Set<String> getIso3166Codes() {
return ImmutableSet.<String> of("GB-LND");
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.CatalogClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorCatalogClientLiveTest")
public class CarrenzaVCloudDirectorCatalogClientLiveTest extends CatalogClientLiveTest {
public CarrenzaVCloudDirectorCatalogClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.MediaClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorMediaClientLiveTest")
public class CarrenzaVCloudDirectorMediaClientLiveTest extends MediaClientLiveTest {
public CarrenzaVCloudDirectorMediaClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.NetworkClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorNetworkClientLiveTest")
public class CarrenzaVCloudDirectorNetworkClientLiveTest extends NetworkClientLiveTest {
public CarrenzaVCloudDirectorNetworkClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.OrgClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorOrgClientLiveTest")
public class CarrenzaVCloudDirectorOrgClientLiveTest extends OrgClientLiveTest {
public CarrenzaVCloudDirectorOrgClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.QueryClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorQueryClientLiveTest")
public class CarrenzaVCloudDirectorQueryClientLiveTest extends QueryClientLiveTest {
public CarrenzaVCloudDirectorQueryClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.TaskClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author Adrian Cole
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorTaskClientLiveTest")
public class CarrenzaVCloudDirectorTaskClientLiveTest extends TaskClientLiveTest {
public CarrenzaVCloudDirectorTaskClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.UploadClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorUploadClientLiveTest")
public class CarrenzaVCloudDirectorUploadClientLiveTest extends UploadClientLiveTest {
public CarrenzaVCloudDirectorUploadClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.VAppClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorVAppClientLiveTest")
public class CarrenzaVCloudDirectorVAppClientLiveTest extends VAppClientLiveTest {
public CarrenzaVCloudDirectorVAppClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.VAppTemplateClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author Adrian Cole
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorVAppTemplateClientLiveTest")
public class CarrenzaVCloudDirectorVAppTemplateClientLiveTest extends VAppTemplateClientLiveTest {
public CarrenzaVCloudDirectorVAppTemplateClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features;
import org.jclouds.vcloud.director.v1_5.features.VdcClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorVDCClientLiveTest")
public class CarrenzaVCloudDirectorVdcClientLiveTest extends VdcClientLiveTest {
public CarrenzaVCloudDirectorVdcClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features.admin;
import org.jclouds.vcloud.director.v1_5.features.admin.AdminCatalogClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorAdminCatalogClientLiveTest")
public class CarrenzaVCloudDirectorAdminCatalogClientLiveTest extends AdminCatalogClientLiveTest {
public CarrenzaVCloudDirectorAdminCatalogClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features.admin;
import org.jclouds.vcloud.director.v1_5.features.admin.AdminNetworkClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorAdminNetworkClientLiveTest")
public class CarrenzaVCloudDirectorAdminNetworkClientLiveTest extends AdminNetworkClientLiveTest {
public CarrenzaVCloudDirectorAdminNetworkClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features.admin;
import org.jclouds.vcloud.director.v1_5.features.admin.AdminOrgClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorOrgClientLiveTest")
public class CarrenzaVCloudDirectorAdminOrgClientLiveTest extends AdminOrgClientLiveTest {
public CarrenzaVCloudDirectorAdminOrgClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features.admin;
import org.jclouds.vcloud.director.v1_5.features.admin.AdminQueryClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorAdminQueryClientLiveTest")
public class CarrenzaVCloudDirectorAdminQueryClientLiveTest extends AdminQueryClientLiveTest {
public CarrenzaVCloudDirectorAdminQueryClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features.admin;
import org.jclouds.vcloud.director.v1_5.features.admin.AdminVdcClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorAdminVdcClientLiveTest")
public class CarrenzaVCloudDirectorAdminVdcClientLiveTest extends AdminVdcClientLiveTest {
public CarrenzaVCloudDirectorAdminVdcClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features.admin;
import org.jclouds.vcloud.director.v1_5.features.admin.GroupClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorGroupClientLiveTest")
public class CarrenzaVCloudDirectorGroupClientLiveTest extends GroupClientLiveTest {
public CarrenzaVCloudDirectorGroupClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.features.admin;
import org.jclouds.vcloud.director.v1_5.features.admin.UserClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorUserClientLiveTest")
public class CarrenzaVCloudDirectorUserClientLiveTest extends UserClientLiveTest {
public CarrenzaVCloudDirectorUserClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,35 @@
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you 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.carrenza.vcloud.director.login;
import org.jclouds.vcloud.director.v1_5.login.SessionClientLiveTest;
import org.testng.annotations.Test;
/**
*
*
* @author danikov
*/
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "CarrenzaVCloudDirectorSessionClientLiveTest")
public class CarrenzaVCloudDirectorSessionClientLiveTest extends SessionClientLiveTest {
public CarrenzaVCloudDirectorSessionClientLiveTest() {
provider = "carrenza-vcloud-director";
}
}

View File

@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!--
For more configuration infromation and examples see the Apache
Log4j website: http://logging.apache.org/log4j/
-->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">
<!-- A time/date based rolling appender -->
<appender name="WIREFILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="target/test-data/jclouds-wire.log" />
<param name="Append" value="true" />
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="Threshold" value="TRACE" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
<!--
The full pattern: Date MS Priority [Category]
(Thread:NDC) Message\n <param name="ConversionPattern"
value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<!-- A time/date based rolling appender -->
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="target/test-data/jclouds.log" />
<param name="Append" value="true" />
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="Threshold" value="TRACE" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
<!--
The full pattern: Date MS Priority [Category]
(Thread:NDC) Message\n <param name="ConversionPattern"
value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<!-- A time/date based rolling appender -->
<appender name="COMPUTEFILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="target/test-data/jclouds-compute.log" />
<param name="Append" value="true" />
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="Threshold" value="TRACE" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
<!--
The full pattern: Date MS Priority [Category]
(Thread:NDC) Message\n <param name="ConversionPattern"
value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<!-- A time/date based rolling appender -->
<appender name="SSHFILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="target/test-data/jclouds-ssh.log" />
<param name="Append" value="true" />
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="Threshold" value="TRACE" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
<!--
The full pattern: Date MS Priority [Category]
(Thread:NDC) Message\n <param name="ConversionPattern"
value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-->
</layout>
</appender>
<appender name="ASYNCCOMPUTE" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="COMPUTEFILE" />
</appender>
<appender name="ASYNCSSH" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="SSHFILE" />
</appender>
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="FILE" />
</appender>
<appender name="ASYNCWIRE" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="WIREFILE" />
</appender>
<!-- ================ -->
<!-- Limit categories -->
<!-- ================ -->
<category name="org.jclouds">
<priority value="DEBUG" />
<appender-ref ref="ASYNC" />
</category>
<!-- set to trace to get more info when parser fail -->
<category name="org.jclouds.http.functions.ParseSax">
<priority value="TRACE" />
<appender-ref ref="ASYNC" />
</category>
<category name="jclouds.headers">
<priority value="DEBUG" />
<appender-ref ref="ASYNCWIRE" />
</category>
<category name="jclouds.ssh">
<priority value="DEBUG" />
<appender-ref ref="ASYNCSSH" />
</category>
<category name="jclouds.wire">
<priority value="DEBUG" />
<appender-ref ref="ASYNCWIRE" />
</category>
<category name="jclouds.compute">
<priority value="TRACE" />
<appender-ref ref="ASYNCCOMPUTE" />
</category>
<!-- ======================= -->
<!-- Setup the Root category -->
<!-- ======================= -->
<root>
<priority value="WARN" />
</root>
</log4j:configuration>