Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign up[JENKINS-41932, JENKINS-42176] - Update libzfs4j from 0.5 to 0.8 #2776
Conversation
jimklimov
commented
Mar 5, 2017
|
I believe the source URL may have to be changed somewhere. The original version was on java.net, the new one is on github. |
|
And.... there is a binary compatibility issue in the lib |
|
@kohsuke @jimklimov so |
jimklimov
commented
Mar 13, 2017
|
I'd vouch for returning the methods, if only to satisfy Jenkins core's desires (and possibly even active usage), perhaps as togglables in the recent fashion (I think we can even auto-detect presence or lack of them in the run-time host ZFS ABI). I'm not sure what should be done if they are absent (which seems likely on new platforms) - log and/or noop, or some sort of exception to better notice where in Jenkins or other consumers the rotten codepath is called (and if someone does use that - look for modern alternatives to these calls)? In aim for stability, I'd go for log+noop... |
|
log+noop is fine for me |
|
I don't recall exactly what test failure I saw that led me to remove it. I need to work on this. I agree the binary compatibility should be restored somehow. |
jimklimov
commented
Mar 14, 2017
•
|
I think when I made the original fixes a month ago, I looked and could not find the allow routines in current OpenZFS code, so they must have been gone (or perhaps renamed?) a long time ago :) so I did not look closer at "restoring" them back then. UPDATE: Routines by this name ( |
jimklimov
commented
Mar 14, 2017
•
|
Posted kohsuke/libzfs4j#6 with my take on this repair. Looking at code changes, I see that also since libzfs-0.5 the They might become next nits of the CI tests, but probably not as they are only mentioned in libzfs.java (JNA mappings)... |
jimklimov
commented
Mar 14, 2017
•
|
Also, We have a notion of that difference in libzfs.java (JNA mappings), but the routine does not seem called from the Java classes, so it should not be a big issue. |
|
@jimklimov Yes, I think we just need to fix the compatibility in the core and then ensure that plugins like https://github.com/jenkinsci/zfs-plugin do not blow up as well. BTW it has been never released from what I see, CC @ndeloof |
|
@oleg-nenashev I'm not a maintainer on this one, just had wrote a script to update all plugins as jenkins-ci changed maven infra in 2012 |
jimklimov
commented
Mar 15, 2017
|
So, for now we are waiting for kohsuke/libzfs4j#6 to get reviewed to perfection and ultimately merged, then probably this PR will raise the bar to require |
|
Yep. Once you get a new release, just ping me. |
|
It is good to go, one PR build has passed. |
|
No objection from me. |
|
The latests state is fine for me as well |
|
@jimklimov I would appreciate if you could help with a proper changelog entry (or entries), which would address ZFS users. If there are existing issues reporting to Jenkins, it would be great to have links as well |
jimklimov
commented
Apr 11, 2017
•
|
Hi, I am not sure about links... I did post some issues in Jenkins JIRA, some can be pursued later separately from this story (building on it), but can try some log entry to summarize what we ended up with in the end :)
|
jimklimov
commented
Apr 11, 2017
|
Googled up some links for "Jenkins" and "SunOS" and "ZFS" :)
|
|
@jimklimov Changelog entry is commonly about several sentences. Regarding this text, maybe it worth putting it in a blogpost or to README.md of the library (the latter thing would be definitely useful). If there is a CHANGELOG.md file there, it would be also great. I propose the following Changelog entry:
WDYT? |
|
Oh, missed the last comment. Will check how to reference/merge these issues |
jimklimov
commented
Apr 11, 2017
•
|
Well, in particular JENKINS-41949 is NOT covered by this update (bringing ZFS to other platforms - it is even outside the libzfs.jar codebase). Issues 41932 and 42176 are related to this PR (the JAR improvements and making Jenkins use them). Otherwise, your short entry seems good... as a nit, I think the "filesystem" part is called still ZFS, and OpenZFS is rather an umbrella name for the less tangible entities like the multiple-OS collaboration project and planned legal foundation. Also, these wrapper improvements should help stay on top of evolution with original (Sun/Oracle) Solaris ZFS as well. |
|
@jimklimov Thanks, updated the changelog accordingly. Merging |
oleg-nenashev commentedMar 5, 2017
•
edited
So this PR updates
libzfsfrom a 8-year-old release (0.5) to the newest one, which has been updated by @kohsuke and @jimklimov in order to get better support of new forks of Solaris.Full diff: kohsuke/libzfs4j@libzfs-0.5...libzfs-0.8. Reviews are welcome
Changelog entry:
CC @jimklimov