-
Notifications
You must be signed in to change notification settings - Fork 289
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
Automatically retry with correct content-type #569
Conversation
The errors in Travis appear to be related to the busybox image and not the code changes as far as I can tell. |
* Fixed * Validated support for podman in root and rootless mode * Requires upserve/docker-api#569 * Changed the acceptance nodesets to centos so that testing on both podman and docker will function properly * No longer start containers in privileged mode by default for safety reasons * Updated the README * Fixed support for connections to socket files * Added a check for detection of SSH ports < 1024 if operating in rootless mode * Ensure that the IP is set to 127.0.0.1 instead of 0.0.0.0 for better SSH connections * Override host.reboot so that containers are not accidentally destroyed * Fixed PAM session entries due to known pam_loginuid issues * Override enable_root_login since it is already performed by this plugin * Override ssh_service retart if the init process is set as sshd since that causes container termination * Added * Migrated to support docker-api 2.X * Set container names as `beaker-<uniquehash>` for easy cleanup if a name is not otherwise specified * Ensure that the underlying container object can be accessed at any time through `host[:docker_container]` for selective optimization * May want to override the archive_to and scp_to/from methods to call the underlying docker-api commands at some point
* Fixed * Validated support for podman in root and rootless mode * Requires upserve/docker-api#569 * Changed the acceptance nodesets to centos so that testing on both podman and docker will function properly * No longer start containers in privileged mode by default for safety reasons * Updated the README * Fixed support for connections to socket files * Added a check for detection of SSH ports < 1024 if operating in rootless mode * Ensure that the IP is set to 127.0.0.1 instead of 0.0.0.0 for better SSH connections * Override host.reboot so that containers are not accidentally destroyed * Fixed PAM session entries due to known pam_loginuid issues * Override enable_root_login since it is already performed by this plugin * Override ssh_service retart if the init process is set as sshd since that causes container termination * Added * Migrated to support docker-api 2.X * Set container names as `beaker-<uniquehash>` for easy cleanup if a name is not otherwise specified * Ensure that the underlying container object can be accessed at any time through `host[:docker_container]` for selective optimization * May want to override the archive_to and scp_to/from methods to call the underlying docker-api commands at some point
* Fixed * Validated support for podman in root and rootless mode * Requires upserve/docker-api#569 * Changed the acceptance nodesets to centos so that testing on both podman and docker will function properly * No longer start containers in privileged mode by default for safety reasons * Updated the README * Fixed support for connections to socket files * Added a check for detection of SSH ports < 1024 if operating in rootless mode * Ensure that the IP is set to 127.0.0.1 instead of 0.0.0.0 for better SSH connections * Override host.reboot so that containers are not accidentally destroyed * Fixed PAM session entries due to known pam_loginuid issues * Override enable_root_login since it is already performed by this plugin * Override ssh_service retart if the init process is set as sshd since that causes container termination * Added * Migrated to support docker-api 2.X * Set container names as `beaker-<hostname>-<uniquehash>` for easy cleanup if a name is not otherwise specified and easy identification when debuggin * Ensure that the underlying container object can be accessed at any time through `host[:docker_container]` for selective optimization * May want to override the archive_to and scp_to/from methods to call the underlying docker-api commands at some point
* Fixed: * Allow all methods that can safely take SUT arrays to do so * Ensure thta pfact_on returns a Hash if appropriate * Fix container support in copy_to * Added: * Explicitly support podman local and remote in copy_to For full podman support, the following are required: * voxpupuli/beaker-docker#29 * upserve/docker-api#569 SIMP-9131 #close SIMP-9129 #close
* Fixed: * Allow all methods that can safely take SUT arrays to do so * Ensure that pfact_on returns a Hash, if appropriate * Fix container support in copy_to * Added: * Explicitly support podman local and remote in copy_to For full podman support, the following are required: * voxpupuli/beaker-docker#29 * upserve/docker-api#569 SIMP-9131 #close SIMP-9129 #close Co-authored-by: op-ct <chris.tessmer@onyxpoint.com>
ddca4be
to
26b7de2
Compare
Sorry folks, the different ruby versions are being troublesome. Will update again once I have the GitHub Actions working properly. |
26b7de2
to
9b9d3d5
Compare
Ok, this is now correctly passing in GitHub Actions and should be ready for review. |
9b9d3d5
to
d8de40f
Compare
* Fixed * Validated support for podman in root and rootless mode * Requires upserve/docker-api#569 * Changed the acceptance nodesets to centos so that testing on both podman and docker will function properly * No longer start containers in privileged mode by default for safety reasons * Updated the README * Fixed support for connections to socket files * Added a check for detection of SSH ports < 1024 if operating in rootless mode * Ensure that the IP is set to 127.0.0.1 instead of 0.0.0.0 for better SSH connections * Override host.reboot so that containers are not accidentally destroyed * Fixed PAM session entries due to known pam_loginuid issues * Override enable_root_login since it is already performed by this plugin * Override ssh_service retart if the init process is set as sshd since that causes container termination * Added * Migrated to support docker-api 2.X * Set container names as `beaker-<hostname>-<uniquehash>` for easy cleanup if a name is not otherwise specified and easy identification when debuggin * Ensure that the underlying container object can be accessed at any time through `host[:docker_container]` for selective optimization * May want to override the archive_to and scp_to/from methods to call the underlying docker-api commands at some point
* Fixed * Validated support for podman in root and rootless mode * Requires upserve/docker-api#569 * Changed the acceptance nodesets to centos so that testing on both podman and docker will function properly * No longer start containers in privileged mode by default for safety reasons * Updated the README * Fixed support for connections to socket files * Added a check for detection of SSH ports < 1024 if operating in rootless mode * Ensure that the IP is set to 127.0.0.1 instead of 0.0.0.0 for better SSH connections * Override host.reboot so that containers are not accidentally destroyed * Fixed PAM session entries due to known pam_loginuid issues * Override enable_root_login since it is already performed by this plugin * Override ssh_service retart if the init process is set as sshd since that causes container termination * Added * Migrated to support docker-api 2.X * Set container names as `beaker-<hostname>-<uniquehash>` for easy cleanup if a name is not otherwise specified and easy identification when debuggin * Ensure that the underlying container object can be accessed at any time through `host[:docker_container]` for selective optimization * May want to override the archive_to and scp_to/from methods to call the underlying docker-api commands at some point
* Fixed * Validated support for podman in root and rootless mode * Requires upserve/docker-api#569 * Changed the acceptance nodesets to centos so that testing on both podman and docker will function properly * No longer start containers in privileged mode by default for safety reasons * Updated the README * Fixed support for connections to socket files * Added a check for detection of SSH ports < 1024 if operating in rootless mode * Ensure that the IP is set to 127.0.0.1 instead of 0.0.0.0 for better SSH connections * Override host.reboot so that containers are not accidentally destroyed * Fixed PAM session entries due to known pam_loginuid issues * Override enable_root_login since it is already performed by this plugin * Override ssh_service retart if the init process is set as sshd since that causes container termination * Added * Migrated to support docker-api 2.X * Set container names as `beaker-<hostname>-<uniquehash>` for easy cleanup if a name is not otherwise specified and easy identification when debuggin * Ensure that the underlying container object can be accessed at any time through `host[:docker_container]` for selective optimization * May want to override the archive_to and scp_to/from methods to call the underlying docker-api commands at some point
@trevor-vaughan can i ask why you decided to add github actions to the PR? we are already using travis for the testing of the repo. |
@tlunter Well, the main reason is that I couldn't get them to work in Travis. I (and everyone else at this point) can guarantee that they will be run in GitHub. Once I did the work, I figured I should go ahead and submit it. Also, I'm not sure if you were hit by this (yet) but Travis' support of FOSS projects is now severely lacking with no apparent exit plan. If you don't like it, I can certainly back it out, but it works quite well (particularly for contributors). |
@tlunter Would you also be OK with just leaving it and re-adding the travis stuff? You can change what you pay attention to in the project settings. I literally couldn't get anything to run in Travis so I'd have to ping-pong it back and forth to figure out if it's still working. |
@tlunter Do you prefer lots of little pushes with a merge/squash at the end or rebase with force push? |
The former, typically with a standard merge, no squash. Would prefer squashing only when pushing to test something. Those can merged/rebased together. |
OK, this obviously isn't making anyone's life hard but mine right now so I can fix things up this weekend if you're good with the general implementation. I can split the github stuff into a separate commit as well if you'd like so it gets separated away from the actual code update. |
That would be appreciated. We had done some work to fix the |
d8de40f
to
8c833dd
Compare
The podman socket will return a note about the correct content-type that should be used for a given type of message if it is incorrect. This is a workaround to automatically correct the content-type and resubmit the call. A full correction would be to update all of the different connection entries but this appears to work correctly in the short term. Updated the spec tests to use debian:stable instead of wheezy since wheezy is no longer widely supported Added podman-specific skips to spec tests for running on podman systems. Explicitly use URI.open in image pulls to work around potential issues with Ruby 2.7+. Fixes upserve#568
Added GitHub Actions to test both the Docker and Podman code paths since I was unable to get the Travis tests to work properly.
8c833dd
to
535a59e
Compare
@tlunter Everything appears to be good to go now. I went ahead and updated the rest of the tests to work with Podman and added podman tests to the GitHub Actions. |
@tlunter Should be good to go. You might want to consider adding some of the other items in there as well. Things like |
@tlunter So, I seem to be getting some |
@trevor-vaughan I don't actually know where to look for the failures you're seeing since I only see travis on this PR, but yea, can just increase the limit for cane for now. |
@tlunter Sorry about the flipping. Everything looks good now though. https://github.com/trevor-vaughan/docker-api/actions/runs/591109632 |
@tlunter Does this work for you now or did I miss something (pretty sure I got it all)? |
@tlunter Well, in theory this is caching in the connection, not globally, across the board now. Unfortunately, I'm having a bit of fun with GitHub Actions not being able to decide which version of Ubuntu it wants to provide at the moment. The tests worked fine in my branch. |
@tlunter Awesome! Is there anything else you need me to do before a merge (and hopefully release) is possible? |
Released as v2.1.0. Thanks a lot @trevor-vaughan |
@tlunter Thanks for putting up with all the noise and working it through with me! |
The podman socket will return a note about the correct content-type that
should be used for a given type of message if it is incorrect.
This is a workaround to automatically correct the content-type and
resubmit the call.
A full correction would be to update all of the different connection
entries but this appears to work correctly in the short term.
Fixes #568