mirror of
https://github.com/containers/podman.git
synced 2025-10-19 20:23:08 +08:00

Fix the way we set skipTLSVerify on the client side to ensure that the push stage in farm build takes into account the configuration in the farm node's registries.conf when the user hasn't set it on the client side. Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
64 lines
2.1 KiB
Bash
64 lines
2.1 KiB
Bash
# -*- bash -*-
|
|
|
|
bats_require_minimum_version 1.8.0
|
|
|
|
load helpers
|
|
load ../system/helpers
|
|
load ../system/helpers.registry
|
|
load ../system/helpers.network
|
|
|
|
function setup_suite(){
|
|
if [[ -z "$ROOTLESS_USER" ]]; then
|
|
if ! is_rootless; then
|
|
die "Cannot run as root with no \$ROOTLESS_USER defined"
|
|
fi
|
|
export ROOTLESS_USER=$(id -un)
|
|
fi
|
|
|
|
sshdir=/home/$ROOTLESS_USER/.ssh
|
|
sshkey=$sshdir/id_rsa
|
|
if [[ ! -e $sshkey ]]; then
|
|
ssh-keygen -t rsa -N "" -f $sshkey
|
|
cat ${sshkey}.pub >> $sshdir/authorized_keys
|
|
|
|
# Confirm that ssh localhost works. Since this is probably
|
|
# the first time that we ssh, bypass the host key verification.
|
|
ssh -T -o 'BatchMode yes' -o 'StrictHostKeyChecking no' localhost true
|
|
fi
|
|
|
|
# Sigh..... "system connection add" fails if podman is not in $PATH.
|
|
# There does not seem to be any way to tell it to use an explicit path.
|
|
type -P podman || die "No 'podman' in \$PATH"
|
|
|
|
export FARMNAME="test-farm-$(random_string 5)"
|
|
|
|
# only set up the podman farm before the first test
|
|
run_podman system connection add --identity $sshkey test-node $ROOTLESS_USER@localhost
|
|
run_podman farm create $FARMNAME test-node
|
|
|
|
export PODMAN_LOGIN_WORKDIR=$(mktemp -d --tmpdir=${BATS_TMPDIR:-${TMPDIR:-/tmp}} podman-bats-registry.XXXXXX)
|
|
|
|
export PODMAN_LOGIN_USER="user$(random_string 4)"
|
|
export PODMAN_LOGIN_PASS="pw$(random_string 15)"
|
|
|
|
# FIXME: racy! It could be many minutes between now and when we start it.
|
|
# To mitigate, we use a range not used anywhere else in system tests.
|
|
export PODMAN_LOGIN_REGISTRY_PORT=$(random_free_port 42000-42999)
|
|
|
|
# create a local registry to push images to
|
|
export REGISTRY=localhost:${PODMAN_LOGIN_REGISTRY_PORT}
|
|
export AUTHFILE=$FARM_TMPDIR/authfile.json
|
|
start_registry
|
|
run_podman login --authfile=$AUTHFILE \
|
|
--tls-verify=false \
|
|
--username ${PODMAN_LOGIN_USER} \
|
|
--password ${PODMAN_LOGIN_PASS} \
|
|
$REGISTRY
|
|
}
|
|
|
|
function teardown_suite(){
|
|
# clear out the farms after the last farm test
|
|
run_podman farm rm --all
|
|
stop_registry
|
|
}
|