mirror of
https://github.com/containers/podman.git
synced 2025-08-02 09:12:36 +08:00
Merge pull request #16951 from ygalblum/system-test-quadlet-network
System tests: quadlet network test
This commit is contained in:
@ -293,6 +293,74 @@ EOF
|
|||||||
run_podman volume rm $volume_name
|
run_podman volume rm $volume_name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "quadlet - network" {
|
||||||
|
local quadlet_file=$PODMAN_TMPDIR/basic_$(random_string).network
|
||||||
|
cat > $quadlet_file <<EOF
|
||||||
|
[Network]
|
||||||
|
Label=foo=bar other="with space"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
run_quadlet "$quadlet_file"
|
||||||
|
|
||||||
|
service_setup $QUADLET_SERVICE_NAME
|
||||||
|
|
||||||
|
local network_name=systemd-$(basename $quadlet_file .network)
|
||||||
|
run_podman network exists $network_name
|
||||||
|
|
||||||
|
run_podman network inspect --format "{{.Labels.foo}}" $network_name
|
||||||
|
is "$output" "bar"
|
||||||
|
run_podman network inspect --format "{{.Labels.other}}" $network_name
|
||||||
|
is "$output" "with space"
|
||||||
|
|
||||||
|
service_cleanup $QUADLET_SERVICE_NAME inactive
|
||||||
|
}
|
||||||
|
|
||||||
|
# A quadlet container depends on a quadlet network
|
||||||
|
@test "quadlet - network dependency" {
|
||||||
|
# Save the unit name to use as the network for the container
|
||||||
|
local quadlet_network_unit=dep_$(random_string).network
|
||||||
|
local quadlet_network_file=$PODMAN_TMPDIR/${quadlet_network_unit}
|
||||||
|
cat > $quadlet_network_file <<EOF
|
||||||
|
[Network]
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Have quadlet create the systemd unit file for the network unit
|
||||||
|
run_quadlet "$quadlet_network_file"
|
||||||
|
|
||||||
|
# Save the volume service name since the variable will be overwritten
|
||||||
|
local network_service=$QUADLET_SERVICE_NAME
|
||||||
|
local network_name=systemd-$(basename $quadlet_network_file .network)
|
||||||
|
|
||||||
|
local quadlet_file=$PODMAN_TMPDIR/user_$(random_string).container
|
||||||
|
cat > $quadlet_file <<EOF
|
||||||
|
[Container]
|
||||||
|
Image=$IMAGE
|
||||||
|
Exec=top
|
||||||
|
Network=$quadlet_network_unit
|
||||||
|
EOF
|
||||||
|
|
||||||
|
run_quadlet "$quadlet_file"
|
||||||
|
|
||||||
|
# Save the container service name for readability
|
||||||
|
local container_service=$QUADLET_SERVICE_NAME
|
||||||
|
|
||||||
|
# Network should not exist
|
||||||
|
run_podman 1 network exists $network_name
|
||||||
|
|
||||||
|
service_setup $container_service
|
||||||
|
|
||||||
|
# Network system unit should be active
|
||||||
|
run systemctl show --property=ActiveState "$network_service"
|
||||||
|
assert "$output" = "ActiveState=active" \
|
||||||
|
"network should be active via dependency"
|
||||||
|
|
||||||
|
# Network should exist
|
||||||
|
run_podman network exists $network_name
|
||||||
|
|
||||||
|
service_cleanup $QUADLET_SERVICE_NAME failed
|
||||||
|
run_podman network rm $network_name
|
||||||
|
}
|
||||||
|
|
||||||
@test "quadlet kube - basic" {
|
@test "quadlet kube - basic" {
|
||||||
# Create the YAMl file
|
# Create the YAMl file
|
||||||
yaml_source="$PODMAN_TMPDIR/basic_$(random_string).yaml"
|
yaml_source="$PODMAN_TMPDIR/basic_$(random_string).yaml"
|
||||||
|
@ -55,6 +55,8 @@ quadlet_to_service_name() {
|
|||||||
|
|
||||||
if [ "$extension" == "volume" ]; then
|
if [ "$extension" == "volume" ]; then
|
||||||
suffix="-volume"
|
suffix="-volume"
|
||||||
|
elif [ "$extension" == "network" ]; then
|
||||||
|
suffix="-network"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "$filename$suffix.service"
|
echo "$filename$suffix.service"
|
||||||
|
Reference in New Issue
Block a user