Skip to content
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

Multiple pythons needed for podman-py testing #111

Merged
merged 2 commits into from
Feb 10, 2022

Conversation

cevich
Copy link
Member

@cevich cevich commented Jan 26, 2022

The one-size-fits-all approach is ever increasingly showing gaps and
inefficiencies WRT CI for the podman-py repository. Rather than
continue to increase the bloat of the golang-centric images, produce a
dedicated image for this repo. This allows pre-installing/caching all
the necessary python bits needed, avoiding the need to install them at
runtime. It will require updates to the podman-py setup in order to
make use of the new image effectively.

@github-actions
Copy link

Cirrus CI build successful. Image ID c6391889636098048 ready for use.

@cevich cevich marked this pull request as draft January 27, 2022 16:19
@cevich
Copy link
Member Author

cevich commented Jan 27, 2022

DO NOT USE c6391889636098048: The container images are getting "too big" due to the extra python versions. @jwhonce do any of your tests run in the container images or are VMs used exclusively?

If so...I can limit the extra python bits to only installing in VMs and not the containers.

@jwhonce
Copy link
Member

jwhonce commented Jan 27, 2022

@cevich I don't know, the cirrus.yaml has a container field. Does that mean the tests are only run in a container? (currently...)

@cevich
Copy link
Member Author

cevich commented Jan 27, 2022

Sorry, I thought maybe you'd know off-hand. Taking a look in podman-py, I see the gating task uses the container. Both test and latest use VMs, so we do have a mix 😢 Assuming make and make lint need to use those other python versions, my idea of asymmetrically installing won't work. Damn.

@cevich
Copy link
Member Author

cevich commented Jan 27, 2022

Let's try it this way: I moved most of the python bits into the VM-only list of installs. We'll need to confirm the images work with podman CI, but this will all but negate any container-image size concerns (unless it doesn't work)...

@github-actions
Copy link

Cirrus CI build successful. Image ID c6730261319647232 ready for use.

@cevich
Copy link
Member Author

cevich commented Jan 27, 2022

K, lessee if it works in podman. You're welcome to test c6730261319647232 in podman-py CI as well.

@jwhonce
Copy link
Member

jwhonce commented Jan 27, 2022

@cevich
Copy link
Member Author

cevich commented Jan 28, 2022

make
rm dist/* || :
rm: cannot remove 'dist/*': No such file or directory
/usr/bin/python3 -m pip install --user -r requirements.txt
/usr/bin/python3: No module named pip
make: *** [Makefile:16: podman] Error 1

Exit status: 2

Right, okay so we need some python stuffs in the containers then. Lemmie go into one manually where I can dnf install bit by bit until the tests pass...

@cevich
Copy link
Member Author

cevich commented Jan 28, 2022

...oof, okay, no won't work. make lint wants all the bunches of python versions too 😞 Probably the quickest way around this is to alter the gating CI job to use VMs and not containers. That will slow the job down a little, since the VM has to boot, but will not result in bloat or extra things to maintain on the image-side.

That said (and I remember we talked about this before), it seems like we need a custom image for the podman-py repo. CI. The python needs are unique enough that the one-size-fits-all approach shows weakness. This is more/less why I did custom images for netavark and aardvark.

This does take quite a bit of effort to pull off, and we're in the middle of the. podman 4.0 crunch. Is a working containers/podman-py#160 necessary/critical for the 4.0 efforts?

I can spend a little time on it today, since other folks are OOO - and I'm blocked on their help to move some items forward....

@cevich
Copy link
Member Author

cevich commented Jan 28, 2022

The fedora-podman-py Cache Image is the CI task to watch. Assuming it builds successfully, the hard-work can begin: getting it to work in the podman-py repo...

@cevich
Copy link
Member Author

cevich commented Jan 28, 2022

Repos timed out, retrying...

@cevich
Copy link
Member Author

cevich commented Jan 28, 2022

Timed out! ugh...it must be Friday. I think the repos. (or network) are just being slow today for whatever reason. I'll try again Monday.

@cevich
Copy link
Member Author

cevich commented Jan 31, 2022

Still timing out. I don't get it. The other VM images build in < 10 minutes. WTH going on with the new one it taking so long.

@cevich
Copy link
Member Author

cevich commented Jan 31, 2022

Found the problem...there was a dnf install ... command waiting for somebody to press y 😭

@cevich
Copy link
Member Author

cevich commented Feb 1, 2022

AAAAAND if it ain't one thing...it's something else...and something else...and...

cevich added a commit to cevich/podman-py that referenced this pull request Feb 1, 2022
Previously the VM images used for automation were
generic/one-size-fits-all.  However over time, various repos. have
required numerous updates resulting in a great deal of bloat.  To combat
this, a dedicated VM image has been crafted for use just by this repo.
Put this into use, and re-order tasks in `.cirrus.yml` to match more
closely with the order of operations.

Ref: containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
cevich added a commit to cevich/podman-py that referenced this pull request Feb 1, 2022
Previously the VM images used for automation were
generic/one-size-fits-all.  However over time, various repos. have
required numerous updates resulting in a great deal of bloat.  To combat
this, a dedicated VM image has been crafted for use just by this repo.
Put this into use, and re-order tasks in `.cirrus.yml` to match more
closely with the order of operations.

Ref: containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
@github-actions
Copy link

github-actions bot commented Feb 1, 2022

Cirrus CI build successful. Image ID c4728831859752960 ready for use.

The one-size-fits-all approach is ever increasingly showing gaps and
inefficiencies WRT CI for the `podman-py` repository.  Rather than
continue to increase the bloat of the golang-centric images, produce a
dedicated image for this repo.  This allows pre-installing/caching all
the necessary python bits needed, avoiding the need to install them at
runtime.  It will require updates to the `podman-py` setup in order to
make use of the new image effectively.

Signed-off-by: Chris Evich <[email protected]>
@cevich
Copy link
Member Author

cevich commented Feb 4, 2022

@jwhonce update: The new image seems to work with podman-py containers/podman-py#161 but I got a bit delete-happy yanking python stuff out of the other images. That seems to have broke the docker-py testing we do in podman. So I'm putting the general Fedora image back the way it was, and we'll give the new set of images another go 'round...

@github-actions
Copy link

github-actions bot commented Feb 4, 2022

Cirrus CI build successful. Image ID c5533341981081600 ready for use.

cevich added a commit to cevich/buildah that referenced this pull request Feb 4, 2022
Mainly this is to confirm some changes needed for the podman-py CI
setup don't disrupt operations here. Ref:

containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
cevich added a commit to cevich/skopeo that referenced this pull request Feb 4, 2022
Mainly this is to confirm some changes needed for the podman-py CI
setup don't disrupt operations here. Ref:

containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
cevich added a commit to cevich/buildah that referenced this pull request Feb 7, 2022
Mainly this is to confirm some changes needed for the podman-py CI
setup don't disrupt operations here. Ref:

containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
cevich added a commit to cevich/skopeo that referenced this pull request Feb 7, 2022
Mainly this is to confirm some changes needed for the podman-py CI
setup don't disrupt operations here. Ref:

containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
This is necessary because both are pulled in by containers-common in the
updates-testing repo. for F35.  Since they will never be officially
supported along with podman 4 in F35, ensure they're not present in any
images.

Signed-off-by: Chris Evich <[email protected]>
cevich added a commit to cevich/buildah that referenced this pull request Feb 8, 2022
Mainly this is to confirm some changes needed for the podman-py CI
setup don't disrupt operations here. Ref:

containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
cevich added a commit to cevich/podman-py that referenced this pull request Feb 8, 2022
Previously the VM images used for automation were
generic/one-size-fits-all.  However over time, various repos. have
required numerous updates resulting in a great deal of bloat.  To combat
this, a dedicated VM image has been crafted for use just by this repo.
Put this into use, and re-order tasks in `.cirrus.yml` to match more
closely with the order of operations.

Ref: containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
cevich added a commit to cevich/skopeo that referenced this pull request Feb 8, 2022
Mainly this is to confirm some changes needed for the podman-py CI
setup don't disrupt operations here. Ref:

containers/automation_images#111

Signed-off-by: Chris Evich <[email protected]>
@cevich cevich marked this pull request as ready for review February 8, 2022 19:31
@github-actions
Copy link

github-actions bot commented Feb 8, 2022

Cirrus CI build successful. Image ID c4764556961513472 ready for use.

@cevich
Copy link
Member Author

cevich commented Feb 8, 2022

DO NOT USE: c5533341981081600 - has netavark/aardvark packages installed for F35 by default.

cevich added a commit to cevich/skopeo that referenced this pull request Feb 10, 2022
Mainly this is to confirm some changes needed for the podman-py CI
setup don't disrupt operations here. Ref:

containers/automation_images#111

Note: Glibc resolver configuration has changed from previous images.  An
additional setup command was added to remove systemd-resolved from the
chain.

Signed-off-by: Chris Evich <[email protected]>
@cevich cevich merged commit 3fa3bdd into containers:main Feb 10, 2022
cevich added a commit to cevich/skopeo that referenced this pull request Feb 10, 2022
Mainly this is to confirm some changes needed for the podman-py CI
setup don't disrupt operations here. Ref:

containers/automation_images#111

Note: Glibc resolver configuration has changed from previous images.  An
additional setup command was added to remove systemd-resolved from the
chain.

Signed-off-by: Chris Evich <[email protected]>
cevich added a commit to cevich/podman that referenced this pull request Feb 17, 2022
Mainly this is to confirm some changes needed for the podman-py CI setup
don't disrupt operations here. Ref:

containers/automation_images#111

Also includes a minor steup fix WRT setting up for test-rpm build.

Signed-off-by: Chris Evich <[email protected]>
@cevich cevich deleted the mega_python branch July 19, 2022 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants