Compare commits

...

4 Commits
main ... v4.2.1

Author SHA1 Message Date
Urvashi Mohnani c52201038e
Merge pull request #217 from cdoern/v4.2.1-release
bump to v4.2.1
2022-10-20 13:29:36 -04:00
Charlie Doern c5c5f59594 bump to v4.2.1
Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-10-20 12:37:01 -04:00
Tom Sweeney 705df452eb
Merge pull request #215 from cdoern/healthcheck-v4.2.0
add support for healthcheck on failure actions for 4.2.0
2022-10-19 22:57:22 -04:00
Charlie Doern 3c1415611a add support for healthcheck on failure actions for 4.2.0
Signed-off-by: Charlie Doern <cdoern@redhat.com>
2022-10-19 15:54:46 -04:00
6 changed files with 13 additions and 131 deletions

View File

@ -1,128 +0,0 @@
---
env:
DEST_BRANCH: "main"
GOPATH: "/var/tmp/go"
GOBIN: "${GOPATH}/bin"
GOCACHE: "${GOPATH}/cache"
GOSRC: "${GOPATH}/src/github.com/containers/podman"
CIRRUS_WORKING_DIR: "${GOPATH}/src/github.com/containers/podman-py"
SCRIPT_BASE: "./contrib/cirrus"
CIRRUS_SHELL: "/bin/bash"
HOME: "/root" # not set by default
####
#### Cache-image names to test with (double-quotes around names are critical)
####
FEDORA_NAME: "fedora-36"
PRIOR_FEDORA_NAME: "fedora-35"
UBUNTU_NAME: "ubuntu-2204"
# Google-cloud VM Images
IMAGE_SUFFIX: "c6193881921355776"
FEDORA_CACHE_IMAGE_NAME: "fedora-podman-py-${IMAGE_SUFFIX}"
gcp_credentials: ENCRYPTED[0c639039cdd3a9a93fac7746ea1bf366d432e5ff3303bf293e64a7ff38dee85fd445f71625fa5626dc438be2b8efe939]
# Default VM to use unless set or modified by task
gce_instance:
image_project: "libpod-218412"
zone: "us-central1-c" # Required by Cirrus for the time being
cpu: 2
memory: "4Gb"
disk: 200 # Required for performance reasons
image_name: "${FEDORA_CACHE_IMAGE_NAME}"
gating_task:
name: "Gating test"
alias: gating
# Only run this on PRs, never during post-merge testing. This is also required
# for proper setting of EPOCH_TEST_COMMIT value, required by validation tools.
only_if: $CIRRUS_PR != ""
timeout_in: 20m
env:
PATH: ${PATH}:${GOPATH}/bin
script:
- make
- make lint
test_task:
name: "Test on $FEDORA_NAME"
alias: test
depends_on:
- gating
script:
- ${SCRIPT_BASE}/enable_ssh.sh
- ${SCRIPT_BASE}/build_podman.sh
- ${SCRIPT_BASE}/enable_podman.sh
- ${SCRIPT_BASE}/test.sh
latest_task:
name: "Test Podman main on $FEDORA_NAME"
alias: latest
allow_failures: true
depends_on:
- gating
env:
PATH: ${PATH}:${GOPATH}/bin
script:
- ${SCRIPT_BASE}/enable_ssh.sh
- ${SCRIPT_BASE}/build_podman.sh
- ${SCRIPT_BASE}/enable_podman.sh
- ${SCRIPT_BASE}/test.sh
# This task is critical. It updates the "last-used by" timestamp stored
# in metadata for all VM images. This mechanism functions in tandem with
# an out-of-band pruning operation to remove disused VM images.
meta_task:
alias: meta
name: "VM img. keepalive"
container: &smallcontainer
image: "quay.io/libpod/imgts:latest"
cpu: 1
memory: 1
env:
IMGNAMES: ${FEDORA_CACHE_IMAGE_NAME}
BUILDID: "${CIRRUS_BUILD_ID}"
REPOREF: "${CIRRUS_REPO_NAME}"
GCPJSON: ENCRYPTED[e8a53772eff6e86bf6b99107b6e6ee3216e2ca00c36252ae3bd8cb29d9b903ffb2e1a1322ea810ca251b04f833b8f8d9]
GCPNAME: ENCRYPTED[fb878daf188d35c2ed356dc777267d99b59863ff3abf0c41199d562fca50ba0668fdb0d87e109c9eaa2a635d2825feed]
GCPPROJECT: "libpod-218412"
clone_script: &noop mkdir -p $CIRRUS_WORKING_DIR
script: /usr/local/bin/entrypoint.sh
# Status aggregator for all tests. This task simply ensures a defined
# set of tasks all passed, and allows confirming that based on the status
# of this task.
success_task:
name: "Total Success"
alias: success
# N/B: ALL tasks must be listed here, minus their '_task' suffix.
depends_on:
- meta
- gating
- test
- latest
container:
image: quay.io/libpod/alpine:latest
cpu: 1
memory: 1
env:
CIRRUS_SHELL: "/bin/sh"
clone_script: *noop
script: *noop

View File

@ -8,7 +8,7 @@ DESTDIR ?=
EPOCH_TEST_COMMIT ?= $(shell git merge-base $${DEST_BRANCH:-main} HEAD)
HEAD ?= HEAD
export PODMAN_VERSION ?= "4.2.0"
export PODMAN_VERSION ?= "4.2.1"
.PHONY: podman
podman:

View File

@ -74,6 +74,7 @@ class CreateMixin: # pylint: disable=too-few-public-methods
process will run as.
healthcheck (Dict[str,Any]): Specify a test to perform to check that the
container is healthy.
health_check_on_failure_action (int): Specify an action if a healthcheck fails.
hostname (str): Optional hostname for the container.
init (bool): Run an init inside the container that forwards signals and reaps processes
init_path (str): Path to the docker-init binary
@ -371,6 +372,7 @@ class CreateMixin: # pylint: disable=too-few-public-methods
"expose": {},
"groups": pop("group_add"),
"healthconfig": pop("healthcheck"),
"health_check_on_failure_action": pop("health_check_on_failure_action"),
"hostadd": [],
"hostname": pop("hostname"),
"httpproxy": pop("use_config_proxy"),

View File

@ -3,5 +3,5 @@
# Do not auto-update these from version.py,
# as test code should be changed to reflect changes in Podman API versions
BASE_SOCK = "unix:///run/api.sock"
LIBPOD_URL = "http://%2Frun%2Fapi.sock/v4.2.0/libpod"
LIBPOD_URL = "http://%2Frun%2Fapi.sock/v4.2.1/libpod"
COMPATIBLE_URL = "http://%2Frun%2Fapi.sock/v1.40"

View File

@ -144,6 +144,14 @@ class ContainersIntegrationTest(base.IntegrationTest):
]
)
)
def test_container_healtchecks(self):
"""Test passing various healthcheck options"""
parameters = {}
parameters['healthcheck'] = {'Test': ['CMD-SHELL curl http://localhost || exit']}
parameters['health_check_on_failure_action'] = 1
container = self.client.containers.create(self.alpine_image, **parameters)
self.containers.append(container)
def test_container_mem_limit(self):
"""Test passing memory limit"""

View File

@ -1,4 +1,4 @@
"""Version of PodmanPy."""
__version__ = "4.2.0"
__version__ = "4.2.1"
__compatible_version__ = "1.40"