-
Notifications
You must be signed in to change notification settings - Fork 868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hwloc v2.1.0: use a git submodule #6821
hwloc v2.1.0: use a git submodule #6821
Conversation
How do you tell OMPI's make dist to include hwloc's stuff? |
6b9d22a
to
b814ff7
Compare
@bgoglin When you All the CI's are currently failing because they're not doing |
@jsquyres No reason to treat libevent any differently as they are also faithfully tagging their releases. I'd suggest just pointing to their latest stable release tag: https://github.com/libevent/libevent/releases/tag/release-2.1.10-stable |
Oh the humanity! Are we sure this is a good idea after all the discussion about the evils of git submodules? |
@hjelmn Yes 😄. We've been talking about this for a while now; this is the first step towards separating out:
The latter two will have a bot that updates the git submodule hash in Open MPI whenever commits are made downstream. |
@rhc54 Re libevent: possibly, ya. Do we have any local changes to our libevent tree? I wouldn't mind getting used to git submodules with just hwloc first. There are changes to git commands that our development community will need to get used to, for example. We might be able to put some detection in |
It is empty, so we can detect it easily enough by looking for a signature file in the top level of the hwloc tree.
Yeah, I believe @abouteiller recently added one to prevent an infinite loop under an unusual race condition. I asked that he push it upstream so it may be something we can pickup from there. However, this may be indicative of an issue for all the submodules - we may develop updates that take some time to circle back to the submodule. What do we do with those changes in the meantime? |
What we talked about yesterday on the RM call was the possibility of having a github.com:open-mpi/libevent-mirror, where we can have our own copies of libevent. It would likely be exactly for this case: basically a mirror of the real libevent git repo, but with any local fixes that we want applied to it. For hwloc, the hope is that we don't need to do this, because we have a good/close relationship with the primary developer (i.e., history has shown that @bgoglin has been very helpful/receptive to taking any fixes that we need into the main hwloc repo/release branches). |
bot:ibm:gnu:retest |
I unexpectedly had a couple of minutes free this morning so tried this with the IBM:GNU CI. The Jenkins Git Plugin 2.0 has an So in your Jenkins project Config under That will cause it to search in the subtree for submodules. You should see output like the following:
|
bot:ibm:xl:retest |
@jsquyres Ok, but we need to carefully document how submodules are used and how they affect OMPI development. As for OPAL. If we are indeed finally splitting that out I will work on the opal library context stuff. It made no sense while opal was completely internal. Will probably be an interesting topic for a face-to-face meeting as we will likely have to change some MCA semantics and bump the MCA major version. |
I see that the |
bot:ompi:retest |
bot:asw:retest |
bot:ompi:retest |
ompi:bot:retest to see what's happening here. |
I'll take a shot at seeing what's going on with jenkins and this PR. |
bot:ompi:retest |
bot:retest Ok, it looks like the community and IBM tests pass. One last time for MLNX, since the results expired out. |
bot:mellanox:retest |
Mellanox OpenMPI CI configs have been updated to use git submodules. |
bot:ompi:retest |
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
c82c39d
to
76d801e
Compare
I've updated this PR and some surrounding periphery:
Also:
|
76d801e
to
99c78b0
Compare
Rename the component to be "hwloc2" (since it can now be any v2.x.y version of hwloc), and make the embedded copy of hwloc be a git submodule. Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
99c78b0
to
a2a9a95
Compare
bot:ibm:retest |
Per discussions 6/7 Jan 2020, @bwbarrett will take responsibility for merging this PR, because the introduction of a git submodule will almost certainly break something in the nightly tarball build process. @bwbarrett will merge this PR when he has a little time to also fix the nightly tarball build process. |
Update
This PR changed a little since it was first created. Short version:
hwloc210
component tohwloc2
hwloc-2.1.0
tag in the hwloc repoOriginal
Remove the entire opal/mca/hwloc/hwloc201/hwloc directory, which was
just an expended hwloc v2.0.1 tarball. Replace it with a git
submodule pointing to https://github.com/open-mpi/hwloc.git at the
hash 4fe5f41804eaf2bcd84e7ac98dc82f6e3df04b86, which is equivalent to
the hwloc-2.0.1 tag.
Signed-off-by: Jeff Squyres jsquyres@cisco.com
This is a first foray into git submodules: just replace
opal/mca/hwloc/hwloc201/hwloc
(which is just an expanded hwloc v2.0.1 tarball) with a git submodule pointing to the hwloc github repo, pointing at the hash that is thehwloc-2.0.1
tag. There will be no auto-updating this submodule: it's just a way for a) us to stop physically embedding the hwloc source code in our repository, and b) to learn a bit about git submodules before we start using them more extensively elsewhere in the Open MPI code base.This PR will almost certainly fail CI until Jenkins learns how to
git clone --recursive ...
.