-
Notifications
You must be signed in to change notification settings - Fork 102
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
feat(client-only-schemas): replace existing schemas with latest client schemas #1117
feat(client-only-schemas): replace existing schemas with latest client schemas #1117
Conversation
Replace existing `3.1.X` and `3.3.X` schemas with the latest client only schemas for versions `3.1.9` and `3.3.6`. Regenerate code by removing `juju/client/_client*.py` and running `make client`. Update `juju/client/connection.py` with facades from `juju` `3.3.6` `api/facadeversions.go` (a superset of the facades from `3.1.9`).
/build |
A whole lot of failed tests on "supported-series" |
Yes this definitely needs more work. I'm going to break it down into just going to 3.1.9 and 3.3.6 (and maybe try those separately), and then as a subsequent step switch to using client only, to see where exactly things break. See also this comment from Simon on the Juju client schema PR suggesting that the controller schema may be needed as well. Happy to receive additional feedback on this approach in this PR, but it's definitely not ready to merge for now. |
Ah, perhaps I missed that. We need model-user group to eg list apps on a model and controller-user group to eg list models on a controller. |
Current version of this PR now only replaces 3.1.X and 3.3.X with the latest schemas (3.1.9 and 3.3.6), using the full schema rather than the client only schema. Integration tests seem to still be similarly broken ("supported-series" / "supported_series"), so there may be something very wrong with this approach. I'll investigate further. |
dcd34e4
to
0b7d741
Compare
I figured out the proximate cause of all those extra tests failing with "supported-series" -- by restoring The only change to
I think my mistake was replacing the old facade versions with those listed in But this is a little weird, because using only client-only 3.1.9 and 3.3.6 schemas leads to Note that removing the 3.2.X schemas entirely as in #1113 (which I merged) leads to all of |
Done in #1179 |
Replace existing
3.1.X
and3.3.X
schemas with the latest client only schemas for versions3.1.9
and3.3.6
. Regenerate code by removingjuju/client/_client*.py
and runningmake client
. Updatejuju/client/connection.py
with facades fromjuju
3.3.6
api/facadeversions.go
(a superset of the facades from3.1.9
).Description
Moving towards the goal of having schemas and generated code in
python-libjuju
only for the latest supported Juju versions (3.1.9
,3.3.6
,3.5.4
,3.5.3
), and using client only schemas (see #1099), this PR replaces the older3.1.X
and3.3.X
schemas with client only schemas for the latest releases of these minor versions (3.1.9
and3.3.6
), regenerating code as described above.QA Steps
CI steps should all continue to pass, except for integration testing which should continue to fail with the usual suspects (see #1108 for a non-exhaustive table of tests that sometimes fail on
main
).Notes
To hopefully simplify the diffs, this is the second PR in a planned sequence of PRs.
Previously merged:
Subsequent PRs will be:
3. add client only schema for
3.4.5
and regenerate code4. add client only schema for
3.5.3
and regenerate code