Add "scope" support to Docker::Event (#593)#594
Closed
danschmidt5189 wants to merge 5 commits intoupserve:masterfrom
Closed
Add "scope" support to Docker::Event (#593)#594danschmidt5189 wants to merge 5 commits intoupserve:masterfrom
danschmidt5189 wants to merge 5 commits intoupserve:masterfrom
Conversation
072bbb6 to
4222c9e
Compare
- Pins rspec-its to 1.x - Removes unnecessary setup steps for Ubuntu 20.10+ from ./scripts/install_podman.sh
…ec_its Buildfix: pin rspec-its; simplify podman install (resolves upserve#597)
- Corrects a bug in `Docker::Connection.compile_request_params` that incorrectly stripped out `read_timeout` when it was nil. - Sets `Docker::Event.stream` to skip timeouts by default. - Sets `Docker::Event.stream` to avoid automatically retrying timeout-related events by default. - Adds timeout-related event streaming tests. A particularly slow (60s+) test can be enabled by setting `RUN_SLOW_TESTS=1` in the testing environment.
- Refactors Docker::Event to provide access to its source (JSON) data. - Adds `scope` to the Docker::Event class.
4222c9e to
e56ebfa
Compare
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.
Summary
Resolves #593 by:
scopeto the Docker::Event class.Discussion
The refactoring simplifies the Docker::Event interface and brings it closer to that of the other Docker:: classes. Users can access the normalized event data via
event.infoandevent.actor.info. Since the Docker API uses a mix of camelCase and PascalCase strings as response keys, theinfokeys are normalized to downcased symbols and helper methods have been added.For example:
I would discourage users from using the alias methods (
event.Actor,event.Type, etc.), but I kept them in for backwards-compatibility.Since Docker Engine Events are read-only, I modified the Event class to remove mutability where it was possible (specifically,
event.actor=).Finally, as can be seen in the above example, I added the
scopeattribute along with a test.Check Failures
As of run 14625174071, it looks like the pipeline itself is broken. The relevant event_spec tests pass, but all podman tests fail and some docker tests fail with an unrelated error ("private method `resource' called for an instance of Docker::Connection").