Bump pyyaml from 3.12 to 5.1 in /infradb#3
Closed
dependabot[bot] wants to merge 1 commit into
Closed
Conversation
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 3.12 to 5.1. - [Release notes](https://github.com/yaml/pyyaml/releases) - [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES) - [Commits](yaml/pyyaml@3.12...5.1) Signed-off-by: dependabot[bot] <support@github.com>
Author
|
Superseded by #12. |
ns-codereview
pushed a commit
that referenced
this pull request
Sep 1, 2022
Three major improvements:
1. Changes that allow for re-deploying a Docker Stack (to update the
agent image, say) *without* immediately killing any running Jenkins
jobs. This comprises the following changes:
- code to entrypoint script (couchbuilder_transition_start.sh) to
intercept SIGTERM from Docker Swarm, turning it into a "shutdown
request" (writing a file to /var/run) rather than a hard kill
- added a step in healthcheck to watch for the shutdown request file
from entrypoint script, and cleanly shut down the agent process when
requested AND when the Jenkins agent is not executing any jobs
- extended "stop grace period" (the interval from when Swarm will send
SIGTERM before it sends an unignorable SIGKILL) from 10 seconds to 60
minutes, to give jobs time to finish
- added memory reservations to CV agents, to prevent Swarm from
scheduling a replacement container while the original container was
still executing a job (without this, Swarm started a second container
on the same node after waiting for a minute)
2. Since "docker stack deploy" now (undocumented!) supports cap_add, I
was able to finally delete the hacky swarm-launcher approach used in
the past to start CV agents in privileged containers (required for
core dumps and gdb to work - see CBD-3740). Now Docker Swarm directly
manages CV containers just like it does on every other Jenkins. I
deleted our snapshot of the swarm-launcher Docker image here as well,
so we aren't tempted to use it again in future. This change did lose
the slightly nice feature that CV agents had consistent UI names,
without -hash suffixes. On the other hand, it restored the ability to
force-restart an agent from the Jenkins UI by deleting the Agent.
2a. Removed the special-case for the CV stackfile in the EC2 packer
bootstrap; CV agents can work just like everything else now.
3. Added step in healthcheck that verifies with Jenkins master that the
agent is still online, and kills the container if not. This should
prevent the situations mentioned in CBD-5081 where an agent is
Offline according to Jenkins, but the container is still running so
Swarm can't start a new one.
Only #3 is tracked by a ticket (CBD-5081), but I've put considerable
thought and experimentation over the years into solving the others, #1
in particular. The stars finally aligned to allow a solution.
Going forward, it will be reasonably important to update both
couchbuilder_transition_start.sh and healthcheck.sh together when
updating Jenkins agent container images, as they as now tightly coupled
(at least for containers operating in Docker Swarm / Jenkins Swarm
mode). Also, for the full benefit of #1 on other Jenkins servers, the
corresponding agent Docker Stackfiles will need to be extended to add
the stop grace period and memory reservations.
While I was in there, I also added CONTAINER_TAG to the list of Jenkins
agent labels when creating a new agent. This makes it easy to see
exactly which container image is being used for any given agent.
Change-Id: I4191d9c14362890314e07ee60abd0e1f7c14460c
Reviewed-on: https://review.couchbase.org/c/build-infra/+/179046
Reviewed-by: Blair Watt <blair.watt@couchbase.com>
Tested-by: Chris Hillery <ceej@couchbase.com>
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.
Bumps pyyaml from 3.12 to 5.1.
Changelog
Sourced from pyyaml's changelog.
Commits
e471e86Updates for 5.1 release9141e90Windows Appveyor buildd6cbff6Skip certain unicode tests when maxunicode not > 0xffff69103baUpdate .travis.yml to use libyaml 0.2.291c9435Squash/merge pull request #105 from nnadeau/patch-1507a464Make default_flow_style=False07c88c6Allow to turn off sorting keys in Dumper611ba39Include license file in the generated wheel package857dff1Apply FullLoader/UnsafeLoader changes to lib30cedb2aDeprecate/warn usage of yaml.load(input)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot ignore this [patch|minor|major] versionwill close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.