Repository navigation
mvsce: move mvsMF to 1.4.1 and read its level from /zosmf/info - #43
Merged
Merged
Conversation
mvsMF 1.4.x registers the diagnostic endpoint /zosmf/test only in development builds, so a release answers 404 there and the version probe of the image build fails. The setup check, the readiness probe of mvsce-target, the mvsce CI workflow and the README read the level from GET /zosmf/info (zosmf_full_version) instead. The setup check also asserts that the console route answers 401 without a login and 200 for IBMUSER. The image defines no JESSPOOL profile: the FTPD and mvsMF suites that test the class expect it empty on a clean container.
mgrossmann
commented
Nov 8, 2026
mgrossmann
left a comment
Contributor
Author
There was a problem hiding this comment.
Review of a5a376d (head of #43).
Verified
mvsce/Dockerfile:80:MVSMF_VERSION=1.4.1; the README table at line 292 matches.- The switch from
/zosmf/test?fn=versionto/zosmf/info: mvsMF 1.4.1 ships/zosmf/testin development builds only (mvsMFdocs/books/guide/ug-install.typ:398-401at v1.4.1, "A release does not ... Use /zosmf/info to check a release").zosmf_full_versionis the documented field, and a development build ends in-dev(ug-first.typ:100-102). The-devcheck incheck_mvsmfis therefore a real guard, not a guess./zosmf/infoanswers 401 without a credential (ug-install.typ:340), so every probe in this PR authenticates. All four probes (setup check,mvsce-targetline 504,mvsce.ymlline 92,Makefileline 22) are changed consistently; no/zosmf/testis left in the mvsce path. mvsce/setup_mvsce.py:1063-1082(check_console_route): the route in HTTPPRM0 (line 150) isAUTH=TOKEN RES=FACILITY:MVSMF.CONSOLE, the profile from #41 permits READ to IBMUSER only, and mvsMF 1.4.1 checks the same profile itself. 401 without a login and 200 for IBMUSER are the right expectations.urlopenraisesHTTPErroron 401, so the first branch is correct;fail()raisesSystemExit, which is not caught byexcept HTTPError.- JESSPOOL decision (no profile):
ftpd/test/test_ftpd.sh:3028-3029on main fails with "PROFILES already has JESSPOOL lines; the test needs a clean container", and mvsMFtests/curl-jesspool.sh:245at v1.4.1 does the same;tests/curl-consgate.sh:328does it forMVSMF.CONSOLE. An image with pre-defined JESSPOOL profiles would break both suites, so leaving the class empty is the right call for a test image. The consequence (each user sees only its own jobs, administrators included, mvsMFdocs/jesspool.md) is stated in the README at line 383. - Commit message: what and why, in English, one commit on top of main, no stack (#41 is merged).
- Consumers: none of httpd, mvsmf, ftpd, ufsd has a workflow that uses
mvsce-target(git grep -l mvsce origin/main -- .github/workflowsis empty in all four), so this PR cannot break a CI of theirs. The local suite runs in the PR description cover the four projects on the tags the image ships.
Suggestion (not blocking)
mvsce/setup_mvsce.py:1067and:1076: onlyHTTPErroris caught. AURLErroror a socket timeout (HTTPD gone betweencheck_mvsmfand this check) would end the build with a traceback instead offail(), so no log and printer tail and noherc.kill().check_mvsmfcatchesExceptionfor exactly this reason; the same here would keep the diagnostics uniform. Unlikely on a build that just passedcheck_mvsmf, hence a suggestion.
Not in this PR, follow-ups
tk5/Dockerfile:30still pins mvsMF 1.3.0 andtk5/setup_tk5.py:632and.github/workflows/tk5.yml:88still probe/zosmf/test?fn=version. Correct for 1.3.0; the day the TK5 image moves to 1.4.x it needs the same change. I open a separate issue for it.- The mvsMF suites
curl-jesspoolandcurl-consgateskip on this image because the mbt target has no second user (MVSMF_USER2). The image never had one, so this is not a regression of this PR, but it means the two suites that test exactly what changed in 1.4.0 do not run here. Separate issue.
CI (Build mvsce, amd64 and arm64) is still running on a5a376d at the time of this review; the merge waits for it.
APPROVE
This was referenced Nov 8, 2026
mgrossmann
commented
Nov 8, 2026
mgrossmann
left a comment
Contributor
Author
There was a problem hiding this comment.
Review of dd109bd (head of #43), after the APPROVE on a5a376d.
Verified
.github/workflows/mvsce.yml:120: the level check now matches"zosmf_full_version":"<level>", the compact form/zosmf/inforeturns.git grep '"version"'over the workflow, the Makefile andmvsce/finds nothing else that still expects the old field. CI is green on both architectures (amd64 and arm64, 18:10 UTC).
Must fix
- Commit message of dd109bd: the
Co-Authored-Bytrailer names a tool and must not be in this repository's history (project rule: nothing of the kind in commits, code, docs or PR texts). A--mergekeeps the commit as it is, so it has to be amended before the merge: reword the commit to drop the trailer (the first two paragraphs are fine as they are) and force-push the feature branch. CI runs again on the new head; the merge follows when it is green.
CHANGES REQUESTED
/zosmf/info reports the level as zosmf_full_version, compact JSON, so the check against "version" failed on arm64 after the greeting and banner.
mgrossmann
force-pushed
the
issue-42-mvsmf-1.4.1
branch
from
November 8, 2026 18:12
dd109bd to
78d29b7
Compare
mgrossmann
commented
Nov 8, 2026
mgrossmann
left a comment
Contributor
Author
There was a problem hiding this comment.
Review of 78d29b7 (head of #43), after CHANGES REQUESTED on dd109bd.
Verified
git diff dd109bd 78d29b7is empty: the tree is the one reviewed before; only the commit message changed.- Both commit messages (a5a376d, 78d29b7) say what and why in English and carry no trailer.
- CI
Build mvsceis green on 78d29b7 for amd64 and arm64 (18:21 UTC); mergeable, CLEAN.
APPROVE
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #42.
Summary
/zosmf/testonly in development builds. On a release it answers 404, so the image build failed its version probe. The setup check, the readiness probe ofmvsce-target, the mvsce CI workflow and the README now read the level fromGET /zosmf/info(zosmf_full_version). The setup check fails on a-devversion./zosmf/restconsoles/v1/loganswers 401 without a login and 200 forIBMUSER.PROFILESalready has JESSPOOL lines, so the image must not define one.Testing
Image built locally (
mvsce:issue-42, BUILD_EXIT 0). One throwaway container started withmvsce-target up(local, no--host), shut down withmvsce-target down, and confirmed gone withmvsce-target list.Against that container:
GET /zosmf/restconsoles/v1/log: 401 without a login, 200 for IBMUSER.GET /zosmf/info:zosmf_full_version1.4.1.owner=*andowner=IBMUSER, status OUTPUT, CC 0000.mbt test --mvs --target env, each on the release tag the image ships:Not covered: the mvsMF curl suites
curl-consgateandcurl-jesspoolskipped themselves, because the mbt target has no second user (test2). They did not test anything here. The FTPD shell testtest/test_ftpd.shwas not run.Dependencies
None. #41 (the console route in HTTPPRM0 and the
MVSMF.CONSOLEprofile) is merged; this branch carries only this commit on top of main.