You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by Ignasi Barrera <no...@github.com> on 2017/10/16 06:53:58 UTC

[jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

This is a PR to experiment with Maven toolchains approach to let Jenkins use the right JDK to build jclouds.
Do not merge yet.
You can view, comment on, or merge this pull request online at:

  https://github.com/jclouds/jclouds/pull/1149

-- Commit Summary --

  * Add Jenkins profile to use Maven toolchains

-- File Changes --

    M project/pom.xml (27)

-- Patch Links --

https://github.com/jclouds/jclouds/pull/1149.patch
https://github.com/jclouds/jclouds/pull/1149.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Phillips <no...@github.com>.
> WDYT about the toolchain approach? Shall we go for it?

It seems the least invasive solution both in terms of changes to the code and the Jenkins configuration - I wonder if there's a way to make the required changes on the Jenkins side via API calls, actually?

I don't know enough about the various plugins involved to have a strong opinion, though - perhaps @gaul or @abayer have more thoughts on those?

As regards the `tier` changes, I think we should probably pull them out into a separate PR and clean them up so they really do The Right Thing (rather than just fixing the build). I expect Andrew G will be best placed to do that, though.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-336861134

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
rebuild please

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-336796459

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
rebuild please

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-336799667

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Phillips <no...@github.com>.
> so I've manually updated all HEAD, 2.0.x, live test and pull request jobs

Egads - sorry the automated approach didn't work :-( Many thanks for going through all that manually, @nacx!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338609786

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Gaul <no...@github.com>.
@nacx Sorry I missed this earlier.  I fixed the tiering regression in 5448b92ee8c9ba230df9ad8e0d89b070f5b869ae.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338271951

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
Ok. I think we're OK with the toolchains approach. I tried to script the scripts to bulk-update all the jobs in Jenkins but I got permission errors; I don't have permissions to run scripts and did not found where to configure that, so I've manually updated all HEAD, 2.0.x, live test and pull request jobs.

I'm merging this now to make the builds happy again, although a local build, with the blobstore changes in this PR reverted and rebased to the latest master version still presented some test failures. @gaul would you mind having a look at those?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338609428

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Phillips <no...@github.com>.
@demobox pushed 1 commit.

0f24976  Ensure tier is always set in MutableBlobMetadataImpl


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds/pull/1149/files/42d6e9768782ad9d1ca8936c8a5266cb18957d68..0f24976b8c6b3f700b02dd5048018c522e1e8472

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Gaul <no...@github.com>.
> I'm merging this now to make the builds happy again, although a local build, with the blobstore changes in this PR reverted and rebased to the latest master version still presented some test failures. @gaul would you mind having a look at those?

Can you be more specific about these failures?  I just ran `mvn clean verify` against e0e3519ed8397aa5697679f383cfdad5604480b3 without errors.

-- 
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338700221

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
rebuild please

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-336798769

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
I added one additional profile, jenkins-jdk8 to preconfigure the JDK8 toolchain. It's needed by how we have configured the "jclouds-compat" build, but I'm pretty sure we can clean that by using variables to define the jdk version and vendor instead of having two profiles. I'll have a look at that soon, but I wanted to bring things back to a stable status furst.

-- 
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338610335

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Phillips <no...@github.com>.
@demobox pushed 1 commit.

ac3cbaa  Only set tier in FilesystemStorageStrategyImpl if the appropriate metadata value is present


-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/jclouds/jclouds/pull/1149/files/0f24976b8c6b3f700b02dd5048018c522e1e8472..ac3cbaaebc726a29eabac91383b0253b8620e6b9

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
rebuild please

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-336810594

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
Back to green. Thanks @demobox!
WDYT about the toolchain approach? Shall we go for it?
@gaul are the Tier fixes OK?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-336860129

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
rebuild please

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-336798479

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
Sure I'll do. I was just guessing and asking before diving into the code :) I'll open a PR in short. Thanks for confirming!

-- 
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338786773

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
rebuild please

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-336797003

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
And looks like everything is back to green! Thanks @gaul!

It looks like failures only happen on my machine (but consistently). Is it possible that they fail on Mac? I recall some tests failing in the past because it did not support file attributes. Is the tier information stored there? That could explain the failures.

This is my environment:

```bash
nacx@maqui:~/src/asf/jclouds (master) $ mvn -version
Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T22:58:10+02:00)
Maven home: /opt/maven
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"
```

And here are the test failures.

```bash
nacx@maqui:~/src/asf/jclouds (master) $ cat /Users/nacx/src/asf/jclouds/apis/filesystem/target/surefire-reports/TestSuite.txt
-------------------------------------------------------------------------------
Test set: TestSuite
-------------------------------------------------------------------------------
Tests run: 104, Failures: 4, Errors: 0, Skipped: 9, Time elapsed: 9.479 sec <<< FAILURE! - in TestSuite
testPutBlobTierArchive(org.jclouds.filesystem.integration.FilesystemBlobIntegrationTest)  Time elapsed: 0.007 sec  <<< FAILURE!
java.lang.AssertionError:
Expecting:
 <STANDARD>
to be equal to:
 <ARCHIVE>
but was not.
	at org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutBlobTierHelper(BaseBlobIntegrationTest.java:790)
	at org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutBlobTierArchive(BaseBlobIntegrationTest.java:760)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:696)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:882)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1189)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

testPutBlobTierArchiveMultipart(org.jclouds.filesystem.integration.FilesystemBlobIntegrationTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.lang.AssertionError:
Expecting:
 <STANDARD>
to be equal to:
 <ARCHIVE>
but was not.
	at org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutBlobTierHelper(BaseBlobIntegrationTest.java:790)
	at org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutBlobTierArchiveMultipart(BaseBlobIntegrationTest.java:775)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:696)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:882)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1189)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

testPutBlobTierInfrequent(org.jclouds.filesystem.integration.FilesystemBlobIntegrationTest)  Time elapsed: 0.009 sec  <<< FAILURE!
java.lang.AssertionError:
Expecting:
 <STANDARD>
to be equal to:
 <INFREQUENT>
but was not.
	at org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutBlobTierHelper(BaseBlobIntegrationTest.java:790)
	at org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutBlobTierInfrequent(BaseBlobIntegrationTest.java:755)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:696)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:882)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1189)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

testPutBlobTierInfrequentMultipart(org.jclouds.filesystem.integration.FilesystemBlobIntegrationTest)  Time elapsed: 0.009 sec  <<< FAILURE!
java.lang.AssertionError:
Expecting:
 <STANDARD>
to be equal to:
 <INFREQUENT>
but was not.
	at org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutBlobTierHelper(BaseBlobIntegrationTest.java:790)
	at org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest.testPutBlobTierInfrequentMultipart(BaseBlobIntegrationTest.java:770)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:696)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:882)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1189)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
```

-- 
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338785107

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Ignasi Barrera <no...@github.com>.
Done: https://github.com/jclouds/jclouds/pull/1150

-- 
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338790224

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Gaul <no...@github.com>.
@nacx You have described the problem exactly -- Java on Mac OS does not support extended attributes.  Could you add some test exclusions for tiers similar to the ones we already have for other attributes?

-- 
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338786226

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Gaul <no...@github.com>.
I see the error on Jenkins -- I was not running the labs integration tests.  Fixed in jclouds/jclouds-labs@adb4087ab1c37bf8435b293778767e312d89e18b.

-- 
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#issuecomment-338715729

Re: [jclouds/jclouds] Add Jenkins profile to use Maven toolchains (#1149)

Posted by Andrew Phillips <no...@github.com>.
demobox commented on this pull request.



> @@ -1375,5 +1375,32 @@
         </plugins>
       </build>
     </profile>
+    <profile>
+      <id>jenkins</id>

@nacx Just out of curiosity: is the `jenkins` profile enabled automagically, or do we need to do that in the job configuration somewhere?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1149#pullrequestreview-69506639