podman/libpod
Matthew Heon b20619e5b0 Allow recursive dependency start with Init()
As part of APIv2 Attach, we need to be able to attach to freshly
created containers (in ContainerStateConfigured). This isn't
something Libpod is interested in supporting, so we use Init() to
get the container into ContainerStateCreated, in which attach is
possible. Problem: Init() will fail if dependencies are not
started, so a fresh container in a fresh pod will fail. The
simplest solution is to extend the existing recursive start code
from Start() to Init(), allowing dependency containers to be
started when we initialize the container (optionally, controlled
via bool).

Also, update some comments in container_api.go to make it more
clear how some of our major API calls work.

Fixes #6646

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-06-18 09:34:04 -04:00
..
common Set blob cache directory based on GraphDriver 2019-03-29 08:27:33 -04:00
define Do not share container log driver for exec 2020-06-17 11:11:46 -04:00
driver removMergeDir from inspect result if not mounted 2019-08-13 15:13:20 -04:00
events Turn on More linters 2020-06-15 07:05:56 -04:00
filters Fixup issues found by golint 2020-06-10 05:49:41 -04:00
image Fix podman-remote images 2020-06-16 12:29:25 -04:00
layers
linkmode Add podman static build 2020-05-11 13:11:07 +02:00
lock shm_lock_test: add nil check 2020-05-11 13:20:32 +02:00
logs Follow up changes from #5244 2020-03-12 10:06:51 +05:30
boltdb_state.go Turn on More linters 2020-06-15 07:05:56 -04:00
boltdb_state_internal.go Turn on More linters 2020-06-15 07:05:56 -04:00
boltdb_state_linux.go Error on netns not exist only when ctr is running 2019-11-19 15:38:03 -05:00
boltdb_state_unsupported.go podman-remote inspect 2019-01-18 15:43:11 -06:00
common_test.go Add support for containers.conf 2020-03-27 14:36:03 -04:00
container.go Add support for the unless-stopped restart policy 2020-06-17 11:16:12 -04:00
container_api.go Allow recursive dependency start with Init() 2020-06-18 09:34:04 -04:00
container_commit.go Deprecate & remove IsCtrSpecific in favor of IsAnon 2020-01-29 14:04:51 -05:00
container_exec.go Enable detached exec for remote 2020-06-02 15:30:42 -04:00
container_graph.go make lint: enable gocritic 2020-01-13 14:27:02 +01:00
container_graph_test.go generate systemd: support pods and geneartig files 2019-08-21 17:28:30 +02:00
container_inspect.go Turn on More linters 2020-06-15 07:05:56 -04:00
container_internal.go Turn on More linters 2020-06-15 07:05:56 -04:00
container_internal_linux.go Turn on More linters 2020-06-15 07:05:56 -04:00
container_internal_test.go vendor: update seccomp/containers-golang to v0.4.1 2020-05-21 16:16:09 +02:00
container_internal_unsupported.go userns: support --userns=auto 2020-04-06 16:32:36 +02:00
container_linux.go
container_log.go Merge pull request #6560 from mheon/fix_exec_logdriver 2020-06-17 17:17:27 -04:00
container_log_linux.go update systemd & dbus dependencies 2020-03-10 18:34:55 +01:00
container_log_unsupported.go libpod removal from main (phase 2) 2019-06-27 07:56:24 -05:00
container_top_linux.go v2podman attach and exec 2020-04-05 15:54:51 -05:00
container_top_unsupported.go Add a stub for libpod.Container.Top 2020-03-21 00:21:59 +01:00
container_unsupported.go
container_validate.go Add validate() for containers 2020-03-02 10:58:11 -05:00
diff.go Correctly export the root file-system changes 2019-12-09 13:29:36 +01:00
events.go Turn on More linters 2020-06-15 07:05:56 -04:00
healthcheck.go Fix remote integration for healthchecks 2020-05-20 14:43:01 -05:00
healthcheck_linux.go pkg/systemd: add dbus support 2020-03-17 11:29:37 +01:00
healthcheck_unsupported.go remove libpod from main 2019-06-25 13:51:24 -05:00
in_memory_state.go Add support for containers.conf 2020-03-27 14:36:03 -04:00
info.go Add podman static build 2020-05-11 13:11:07 +02:00
kube.go Turn on More linters 2020-06-15 07:05:56 -04:00
mounts_linux.go
networking_linux.go Properly follow linked namespace container for stats 2020-06-02 17:58:52 -04:00
networking_unsupported.go podmanv2 container inspect 2020-03-26 15:54:26 -05:00
oci.go Ensure Conmon is alive before waiting for exit file 2020-06-08 13:48:29 -04:00
oci_attach_linux.go v2podman attach and exec 2020-04-05 15:54:51 -05:00
oci_attach_linux_cgo.go Implement conmon exec 2019-07-22 15:57:23 -04:00
oci_attach_linux_nocgo.go Implement conmon exec 2019-07-22 15:57:23 -04:00
oci_attach_unsupported.go v2podman attach and exec 2020-04-05 15:54:51 -05:00
oci_conmon_exec_linux.go Do not share container log driver for exec 2020-06-17 11:11:46 -04:00
oci_conmon_linux.go Do not share container log driver for exec 2020-06-17 11:11:46 -04:00
oci_conmon_unsupported.go Add support for selecting kvm and systemd labels 2020-04-15 16:52:16 -04:00
oci_missing.go Turn on More linters 2020-06-15 07:05:56 -04:00
oci_util.go Enable IPv6 port binding 2020-06-10 13:28:09 -04:00
options.go Merge pull request #6560 from mheon/fix_exec_logdriver 2020-06-17 17:17:27 -04:00
pod.go generate systemd: create pod template 2020-06-11 11:01:13 +02:00
pod_api.go Turn on More linters 2020-06-15 07:05:56 -04:00
pod_internal.go Turn on More linters 2020-06-15 07:05:56 -04:00
pod_status.go APIv2 review corrections #3 2020-01-25 15:09:09 -06:00
pod_top_linux.go podmanv2: implement pod top 2020-03-28 17:32:22 +01:00
pod_top_unsupported.go remove libpod from main 2019-06-25 13:51:24 -05:00
reset.go Add support for containers.conf 2020-03-27 14:36:03 -04:00
runtime.go Turn on More linters 2020-06-15 07:05:56 -04:00
runtime_cstorage.go make lint: enable gocritic 2020-01-13 14:27:02 +01:00
runtime_ctr.go Do not share container log driver for exec 2020-06-17 11:11:46 -04:00
runtime_img.go image removal: refactor part 2 2020-05-04 16:01:45 +02:00
runtime_img_test.go
runtime_migrate.go Migrate can move containers to a new runtime 2019-10-10 10:25:06 -04:00
runtime_migrate_unsupported.go Add podman system reset command 2019-11-29 05:34:52 -05:00
runtime_pod.go Add pod prune for api v2. 2020-04-17 17:30:58 -04:00
runtime_pod_infra_linux.go pod create: add `--infra-conmon-pidfile` 2020-06-11 11:01:13 +02:00
runtime_pod_linux.go Turn on More linters 2020-06-15 07:05:56 -04:00
runtime_pod_unsupported.go remove libpod from main 2019-06-25 13:51:24 -05:00
runtime_renumber.go Re-add locks to volumes. 2019-08-28 11:35:00 -04:00
runtime_volume.go podmanv2 pod create using podspecgen 2020-03-27 09:04:10 -05:00
runtime_volume_linux.go Turn on More linters 2020-06-15 07:05:56 -04:00
runtime_volume_unsupported.go remove libpod from main 2019-06-25 13:51:24 -05:00
state.go Add support for containers.conf 2020-03-27 14:36:03 -04:00
state_test.go Add support for containers.conf 2020-03-27 14:36:03 -04:00
stats.go v2 podman stats 2020-05-05 08:46:51 -05:00
stats_unsupported.go v2 podman stats 2020-05-05 08:46:51 -05:00
storage.go Turn on More linters 2020-06-15 07:05:56 -04:00
util.go WIP V2 attach bindings and test 2020-05-13 11:49:17 -07:00
util_linux.go Fix SELinux labels of volumes 2020-02-13 21:42:57 -05:00
util_test.go v2 podman stats 2020-05-05 08:46:51 -05:00
util_unsupported.go Fix the libpod.LabelVolumePath stub 2020-03-21 00:21:59 +01:00
volume.go v2 system subcommand 2020-05-05 12:24:33 -05:00
volume_inspect.go Deprecate & remove IsCtrSpecific in favor of IsAnon 2020-01-29 14:04:51 -05:00
volume_internal.go Turn on More linters 2020-06-15 07:05:56 -04:00
volume_internal_linux.go make lint: enable gocritic 2020-01-13 14:27:02 +01:00
volume_internal_unsupported.go Add ability for volumes with options to mount/umount 2019-09-05 17:12:27 -04:00