spiegel_podman/test/e2e
Matt Heon 30e2c923d6 Add the ability to automount images as volumes via play
Effectively, this is an ability to take an image already pulled
to the system, and automatically mount it into one or more
containers defined in Kubernetes YAML accepted by `podman play`.

Requirements:
- The image must already exist in storage.
- The image must have at least 1 volume directive.
- The path given by the volume directive will be mounted from the
  image into the container. For example, an image with a volume
  at `/test/test_dir` will have `/test/test_dir` in the image
  mounted to `/test/test_dir` in the container.
- Multiple images can be specified. If multiple images have a
  volume at a specific path, the last image specified trumps.
- The images are always mounted read-only.
- Images to mount are defined in the annotation
  "io.podman.annotations.kube.image.automount/$ctrname" as a
  semicolon-separated list. They are mounted into a single
  container in the pod, not the whole pod.

As we're using a nonstandard annotation, this is Podman only, any
Kubernetes install will just ignore this.

Underneath, this compiles down to an image volume
(`podman run --mount type=image,...`) with subpaths to specify
what bits we want to mount into the container.

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-04-25 14:12:27 -04:00
..
build remote,test: remove .dockerignore which is a symlink 2023-11-03 20:39:02 +05:30
cdi build(deps): bump github.com/container-orchestrated-devices/container-device-interface 2023-02-20 14:51:04 +01:00
config Read kube_generate_type from containers.conf 2023-04-11 09:15:05 -04:00
quadlet Quadlet - do not look for line continuation in comment lines 2024-02-08 13:03:33 +02:00
sign e2e: reduce dependency on /tmp for e2e tests 2023-01-26 22:20:15 +09:00
testdata CI: e2e: use distinct ports, not just 5000 2024-02-27 04:30:26 -07:00
attach_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
build_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
checkpoint_image_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
checkpoint_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
cleanup_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
commit_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
common_test.go Replace golang.org/x/exp/slices with slices from std 2024-04-23 11:16:40 +02:00
config.go new testimage and systemd-image 2024-02-09 05:26:07 -07:00
config_amd64.go new testimage and systemd-image 2024-02-09 05:26:07 -07:00
config_arm64.go new testimage and systemd-image 2024-02-09 05:26:07 -07:00
config_ppc64le.go new testimage and systemd-image 2024-02-09 05:26:07 -07:00
container_clone_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_create_volume_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_iface_name_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
container_inspect_test.go podman ps: show exposed ports under PORTS as well 2024-04-10 14:24:23 +02:00
containers_conf_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
cp_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
create_staticip_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
create_staticmac_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
create_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
diff_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
events_test.go cmd/podman: remove duplicated event ToHumanReadable() 2024-02-22 12:10:57 +01:00
exec_test.go podman exec CID without command should exit 125 2024-04-12 07:44:22 -04:00
exists_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
export_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
farm_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
generate_kube_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
generate_spec_test.go e2e: redefine ExitWithError() to require exit code 2024-04-10 06:35:52 -06:00
generate_systemd_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
healthcheck_run_test.go add containers.conf healthcheck_events support 2024-04-19 17:29:48 +02:00
history_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
image_scp_test.go ExitWithError() - low-hanging fruit 2024-04-24 05:44:40 -06:00
image_sign_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
images_test.go new testimage and systemd-image 2024-02-09 05:26:07 -07:00
import_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
info_test.go e2e tests: remove requirement for fuse-overlayfs 2024-04-09 05:25:20 -06:00
init_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
inspect_test.go tests: fix after make podman inspect cmd return compatible with Docker API v1.44 2024-02-28 19:45:03 +01:00
kill_test.go ExitWithError() - low-hanging fruit 2024-04-24 05:44:40 -06:00
libpod_suite_remote_test.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
libpod_suite_test.go chore: delete obsolete // +build lines 2024-01-04 11:53:38 +02:00
load_test.go ExitWithError() - low-hanging fruit 2024-04-24 05:44:40 -06:00
login_logout_test.go ExitWithError() - more low-hanging fruit 2024-04-24 07:11:40 -06:00
logs_test.go ExitWithError() - yet more low-hanging fruit 2024-04-24 09:04:50 -06:00
manifest_test.go CI: try to fix more flakes 2024-03-05 12:15:22 -07:00
mount_rootless_test.go ExitWithError() - yet more low-hanging fruit 2024-04-24 09:04:50 -06:00
mount_test.go ExitWithError() - yet more low-hanging fruit 2024-04-24 09:04:50 -06:00
negative_test.go ExitWithError() - yet more low-hanging fruit 2024-04-24 09:04:50 -06:00
network_connect_disconnect_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
network_create_test.go podman network inspect: include running containers 2024-02-28 16:33:26 +01:00
network_test.go podman network inspect: include running containers 2024-02-28 16:33:26 +01:00
pause_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
play_build_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
play_kube_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
pod_clone_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_create_test.go tests: fix after make podman inspect cmd return compatible with Docker API v1.44 2024-02-28 19:45:03 +01:00
pod_infra_container_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_initcontainers_test.go Add a helper for stopping pods and containers in E2E 2024-02-15 09:35:55 -05:00
pod_inspect_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_kill_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_pause_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_pod_namespaces_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_prune_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_ps_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_restart_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_rm_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
pod_start_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
pod_stats_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pod_stop_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
pod_top_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
port_test.go CI: e2e: use distinct ports, not just 5000 2024-02-27 04:30:26 -07:00
prune_test.go Add a helper for stopping pods and containers in E2E 2024-02-15 09:35:55 -05:00
ps_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
pull_test.go vendor: update containers/{buildah,common,image,storage} 2024-04-19 09:52:13 +02:00
push_test.go CI: e2e: use distinct ports, not just 5000 2024-02-27 04:30:26 -07:00
quadlet_test.go Merge pull request #21556 from ygalblum/quadlet-comment-line 2024-02-08 19:54:38 +00:00
rename_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
restart_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
rm_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
rmi_test.go new testimage and systemd-image 2024-02-09 05:26:07 -07:00
run_aardvark_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_apparmor_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_cgroup_parent_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_cleanup_test.go Add a helper for stopping pods and containers in E2E 2024-02-15 09:35:55 -05:00
run_cpu_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_device_test.go CI: Bump VMs to 2024-03-28 2024-03-28 08:35:29 -06:00
run_dns_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_entrypoint_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_env_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_exit_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_memory_test.go Use persist dir for oom file 2024-02-12 09:13:39 -05:00
run_networking_test.go pkg/specgen: use fileutils.(Le|E)xists 2024-04-19 09:52:14 +02:00
run_ns_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_passwd_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_privileged_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_restart_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_seccomp_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_security_labels_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_selinux_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_signal_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_staticip_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
run_transient_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
run_userns_test.go libpod: correctly map UID/GID for existing dirs 2024-02-12 23:04:24 +01:00
run_volume_test.go Add the ability to automount images as volumes via play 2024-04-25 14:12:27 -04:00
run_working_dir_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
runlabel_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
save_test.go CI: e2e: use distinct ports, not just 5000 2024-02-27 04:30:26 -07:00
search_test.go CI: fix search-test flakes 2024-02-20 09:41:56 -07:00
secret_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
start_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
stats_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
stop_test.go e2e tests: stop littering 2024-04-22 06:43:19 -06:00
system_connection_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
system_df_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
system_dial_stdio_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
system_reset_test.go Use stop timeout of zero for system reset 2024-03-01 10:51:58 -06:00
system_service_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
systemd_activate_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
systemd_test.go CI: Bump VMs to 2024-03-28 2024-03-28 08:35:29 -06:00
tag_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
toolbox_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
top_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
tree_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
trust_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
unshare_test.go Vendor latest c/common and fix tests 2024-02-29 12:16:51 -05:00
untag_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
update_test.go Add support for updating restart policy 2024-04-17 08:23:51 -04:00
version_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
volume_create_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
volume_exists_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
volume_inspect_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
volume_ls_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
volume_plugin_test.go Add a helper for stopping pods and containers in E2E 2024-02-15 09:35:55 -05:00
volume_prune_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
volume_rm_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00
wait_test.go Bump Go module to v5 2024-02-08 09:35:39 -05:00