Is it wise to reduce the cadence? Should we switch to monthly cadence? #1188
Replies: 5 comments 8 replies
-
It is extremely UNWISE to reduce the cadence. We are finding ourselves in exactly the same situation as previous stack maintainers: we are maintaining an unwieldy mess of post-release install modifications/addon-environments that are unmanageable. I am absolutely annoyed and disappointed that we have allowed ourselves to go down this rabbit hole. We should be installing a new version of spack-stack every three months (for now, see below) and make ideally NO post-release install modifications/amendments in the official installations. If a user needs a test environment with a different/newer version of, let's say, esmf and mapl, then we guide them to doing that (as chained or standalone env) for TESTING PURPOSES ONLY. There shouldn't really be any other envs in the official installations than one per each compiler (maybe there's an addon such as gsi-addon is for the moment for each compiler, but installed at the time the release was made). Look at this mess on Hercules - I have NO idea what all these different envs are, especiallly the ones created in April:
The latest And what about all these addon envs? Do we need to add esmf 8.6.1 and mapl 2.46.2 for each of them as well? And also to I would love to be on an even shorter cadence of monthly installs, with monthly updates from spack develop as well. But I would argue that our current installation steps are still too manual to do that. Let alone some of our customers. We should go back to a release every quarter and no modifications to existing releases. I'd go as far and say that if we REALLY need to make a modification to a spack-stack release BEFORE THE NEXT RELEASE is out the door, then it gets its own patch version increment (e.g. 1.6.1 instead of 1.6.0), we don't chain off of the official quarterly release but build from scratch (or a binary cache). Once the NEXT quarterly release is out the door, NO MODIFICATIONS are made to previous releases UNLESS it is an extremely important bug/security issue. |
Beta Was this translation helpful? Give feedback.
-
Can we reverse the decision to reduce cadence, and stick to quarterly? We are providing a stable release on NOAA R&D machines. So why does a quarterly release have any effect on NOAA work? Why cannot NOAA simply ignore the quarterly releases and use the stable release we are providing? Are we trying to slow all other teams to the speed of our slowest team? That doesn't seem like a good idea. Instead the slow teams should speed up. It's hard to see how testing, even 1980's style manual testing, slow and inefficient as it is, can take three months. If each spack-stack release causes many problems, then slowing the cadence will simply cause all those problems to be discovered in a group, later than they otherwise would have been. Slowing the cadence does not stop even one bug. It's simply procrastination. How does it help? We say this in the Project Charter:
This is important, because any stakeholder might have an immediate need for a release. It also specifies:
So, in this sense, we cannot prevent the project from doing a quarterly release. Nor should we. |
Beta Was this translation helpful? Give feedback.
-
Releases should never be altered after-the-fact. Developers rely on behavior of a given release, and if that behavior changes, it can result in unexpected and unanticipated problems that are hard to debug. It also potentially destroys the provenance of products generated from releases that have changed. Patch releases can easily solve that problem. I agree quarterly releases should be the minimum cadence, and for my purposes, it's already too slow. I build spack-stack containers for my project, and sometimes I need to augment them by adding packages or making small modifications. Having outdated git submodule for Spack is a huge problem for me, and I often have to patch package.py files because of this, even with quarterly releases. Keeping up-to-date with authoritative Spack is really important. |
Beta Was this translation helpful? Give feedback.
-
I completely agree with the sentiment on special updates. Having multiple post-release updates is not the best use of time for people involved in this development at JCSDA, and I would like to see this resolved. This amount of updates is unsustainable with our resources, and an obvious solution for us will be to not have people at JCSDA work on the requests that are not relevant for the JEDI work. It would be better to see this resolved in a way that would be more satisfactory to everyone involved. Both watching from the side and reading through this thread it looks like this can be resolved by generally pushing back on in-between release requests and possibly more frequent release cadence (which would allow for that push back to be easier). |
Beta Was this translation helpful? Give feedback.
-
Since NOAA has their own stable release, can we consider monthly releases of spack-stack? That would eliminate a lot of special updating. I think, like any good agile project, it's cheap to do a release. |
Beta Was this translation helpful? Give feedback.
-
Reducing the spack-stack cadence is a mistake - it's moving in the wrong direction.
Instead, any team who cannot keep up with a quarterly update needs to automate testing. (They can't test even every three months? Why not? What are they doing that takes three months to test?)
Industry has moved to dev-ops, which is a cadence increased to infinity. What has been achieved elsewhere may reasonably be aspired to at NOAA.
A quarterly cadence is already too slow, because it results in so many special updates. A better answer would be to automate testing and double the cadence.
Imagine a new release every month. Now we would not need many chained environments or special installs, just upgrade to the newest monthly release...
Beta Was this translation helpful? Give feedback.
All reactions