Skip to content

Commit

Permalink
Merge branch 'master' into resource-disposer
Browse files Browse the repository at this point in the history
  • Loading branch information
olivergondza committed Nov 5, 2016
2 parents f38db07 + 535b3d4 commit cfad7a8
Show file tree
Hide file tree
Showing 24 changed files with 500 additions and 281 deletions.
228 changes: 90 additions & 138 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,190 +3,142 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>1.580</version>
<version>2.9</version>
</parent>

<artifactId>openstack-cloud</artifactId>
<version>2.10-SNAPSHOT</version>
<version>2.14-SNAPSHOT</version>
<packaging>hpi</packaging>
<name>Openstack Cloud Plugin</name>
<description>Allows Jenkins to build Openstack Slaves via JClouds</description>
<description>Allows Jenkins to build Openstack Slaves</description>
<url>https://wiki.jenkins-ci.org/display/JENKINS/Openstack+Cloud+Plugin</url>

<properties>
<jenkins.version>1.609</jenkins.version>
<jenkins-test-harness.version>2.15</jenkins-test-harness.version>
<java.level>7</java.level>
<concurrency>2</concurrency>
<surefire.useFile>false</surefire.useFile>
<findbugs.excludeFilterFile>src/findbugs-exclude.xml</findbugs.excludeFilterFile>


<guava.version>17.0</guava.version> <!-- version compatible with openstack4j -->
<jsch.version>0.1.48</jsch.version>
<stapler.version>1.237</stapler.version>
<hpi.plugin.version>1.114</hpi.plugin.version>
<jsr305.version>1.3.9</jsr305.version>
<surefire.useFile>false</surefire.useFile>
<openstack4j.version>2.0.9</openstack4j.version>
</properties>

<developers>
<developer>
<id>mavlyutov</id>
<name>Marat Mavlyutov</name>
<email>m.mavlyutov@gmail.com</email>
<timezone>+3</timezone>
</developer>
<developer>
<id>olivergondza</id>
<name>Oliver Gondža</name>
<email>ogondza@gmail.com</email>
</developer>
</developers>

<dependencies>
<dependency>
<groupId>org.pacesys</groupId>
<artifactId>openstack4j-core</artifactId>
<version>${openstack4j.version}</version>
</dependency>
<dependency>
<groupId>org.pacesys.openstack4j.connectors</groupId>
<artifactId>openstack4j-httpclient</artifactId>
<version>${openstack4j.version}</version>
</dependency>
<dependency>
<groupId>org.pacesys</groupId>
<artifactId>openstack4j-core</artifactId>
<version>${openstack4j.version}</version>
</dependency>
<dependency>
<groupId>org.pacesys.openstack4j.connectors</groupId>
<artifactId>openstack4j-httpclient</artifactId>
<version>${openstack4j.version}</version>
</dependency>

<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${jsr305.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${jsr305.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>2.3</version>
</dependency>

<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>ssh-slaves</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>config-file-provider</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>cloud-stats</artifactId>
<version>0.4</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>resource-disposer</artifactId>
<version>0.3</version>
</dependency>
<!-- Jenkins plugins -->
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>ssh-slaves</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>config-file-provider</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>cloud-stats</artifactId>
<version>0.4</version>
</dependency>

<!-- Test Dependencies -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.2.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
</dependencies>

<!-- Test Dependencies -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.2.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<!-- Do not leak old guava from core -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version> <!-- JDK 7 support -->
</plugin>
<plugin>
<groupId>org.jenkins-ci.tools</groupId>
<artifactId>maven-hpi-plugin</artifactId>
<version>${hpi.plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.kohsuke.stapler</groupId>
<artifactId>stapler</artifactId>
<version>${stapler.version}</version>
</dependency>
</dependencies>
<configuration>
<dependentWarExcludes>com.google.guava*</dependentWarExcludes>
<archive>
<manifestEntries>
<Mask-Classes>com.google.common</Mask-Classes>
</manifestEntries>
</archive>
<maskClasses>com.google.common.</maskClasses>
<pluginFirstClassLoader>true</pluginFirstClassLoader>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version> <!-- JDK 7 support -->
</plugin>
</plugins>
</pluginManagement>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<executions>
<execution>
<id>default-testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</execution>
<execution>
<id>default-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</execution>
</executions>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>

<scm>
<connection>scm:git:ssh://github.com/jenkinsci/openstack-cloud-plugin.git</connection>
<developerConnection>scm:git:ssh://git@github.com/jenkinsci/openstack-cloud-plugin.git</developerConnection>
<url>https://github.com/jenkinsci/openstack-cloud-plugin</url>
<tag>HEAD</tag>
</scm>

<!-- Can be removed once moved to 2.6 parent pom -->
<distributionManagement>
<repository>
<id>maven.jenkins-ci.org</id>
<url>https://repo.jenkins-ci.org/releases/</url>
</repository>
<snapshotRepository>
<id>maven.jenkins-ci.org</id>
<url>https://repo.jenkins-ci.org/snapshots/</url>
</snapshotRepository>
</distributionManagement>

<repositories>
<repository>
<id>repo.jenkins-ci.org</id>
<url>http://repo.jenkins-ci.org/public/</url>
</repository>
<!-- Custom fixes in unreleased openstack4j 2.0.6 -->
<repository>
<id>st-snapshots</id>
<name>sonatype-snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
Expand Down
5 changes: 5 additions & 0 deletions src/findbugs-exclude.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<FindBugsFilter>
<Match>
<Class name="~.+\.Messages" />
</Match>
</FindBugsFilter>
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package jenkins.plugins.openstack.compute;

import hudson.AbortException;
import hudson.Extension;
import hudson.Launcher;
import hudson.Util;
Expand Down Expand Up @@ -61,7 +62,9 @@ public NodePlan apply(InstancesToRun instance) {
String cloudName = instance.cloudName;
String templateName = Util.replaceMacro(instance.getActualTemplateName(), build.getBuildVariableResolver());
JCloudsCloud cloud = JCloudsCloud.getByName(cloudName);
Supplier<Server> nodeSupplier = new ServerSupplier(cloud, cloud.getTemplate(templateName));
JCloudsSlaveTemplate template = cloud.getTemplate(templateName);
if (template == null) throw new IllegalArgumentException("No such template " + templateName);
Supplier<Server> nodeSupplier = new ServerSupplier(cloud, template);
return new NodePlan(cloudName, templateName, instance.count, nodeSupplier);
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public void execute(TaskListener listener) {
final ImmutableList.Builder<ListenableFuture<?>> deletedNodesBuilder = ImmutableList.builder();
ListeningExecutorService executor = MoreExecutors.listeningDecorator(Computer.threadPoolForRemoting);

for (final Computer c : Jenkins.getInstance().getComputers()) {
for (final Computer c : Jenkins.getActiveInstance().getComputers()) {
if (c instanceof JCloudsComputer) {
final JCloudsComputer comp = (JCloudsComputer) c;

Expand Down

0 comments on commit cfad7a8

Please sign in to comment.