spiegel_podman/libpod
Matthew Heon b0286d6b43 Implement pod-network-reload
This adds a new command, 'podman network reload', to reload the
networks of existing containers, forcing recreation of firewall
rules after e.g. `firewall-cmd --reload` wipes them out.

Under the hood, this works by calling CNI to tear down the
existing network, then recreate it using identical settings. We
request that CNI preserve the old IP and MAC address in most
cases (where the container only had 1 IP/MAC), but there will be
some downtime inherent to the teardown/bring-up approach. The
architecture of CNI doesn't really make doing this without
downtime easy (or maybe even possible...).

At present, this only works for root Podman, and only locally.
I don't think there is much of a point to adding remote support
(this is very much a local debugging command), but I think adding
rootless support (to kill/recreate slirp4netns) could be
valuable.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-12-07 19:26:23 +01:00
..
common Set blob cache directory based on GraphDriver 2019-03-29 08:27:33 -04:00
define add network connect|disconnect compat endpoints 2020-11-19 08:16:19 -06:00
driver removMergeDir from inspect result if not mounted 2019-08-13 15:13:20 -04:00
events Remove varlink support from Podman 2020-11-26 16:50:42 -05:00
filters Align the podman pod ps --filter behavior with podman ps 2020-11-18 19:31:25 +01:00
image Not use local image create/add manifest 2020-11-24 15:54:41 -05:00
layers Initial checkin from CRI-O repo 2017-11-01 11:24:59 -04:00
linkmode Add podman static build 2020-05-11 13:11:07 +02:00
lock Remove excessive error wrapping 2020-10-05 15:30:37 -07:00
logs fix podman logs --tail when log is bigger than pagesize 2020-08-06 20:56:30 +02:00
network Add support for network ids 2020-12-02 10:27:00 +01:00
plugin Add API for communicating with Docker volume plugins 2020-12-01 12:56:55 -05:00
shutdown Enforce LIFO ordering for shutdown handlers 2020-10-13 14:21:19 -04:00
boltdb_state.go add network connect|disconnect compat endpoints 2020-11-17 14:22:39 -06:00
boltdb_state_internal.go Add support for network connect / disconnect to DB 2020-11-11 16:37:54 -05:00
boltdb_state_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
boltdb_state_unsupported.go podman-remote inspect 2019-01-18 15:43:11 -06:00
common_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container.go Make c.networks() list include the default network 2020-11-20 14:03:24 -05:00
container_api.go Implement pod-network-reload 2020-12-07 19:26:23 +01:00
container_commit.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_config.go Add support for network connect / disconnect to DB 2020-11-11 16:37:54 -05:00
container_exec.go Preserve groups in exec sessions in ctrs with --user 2020-09-18 13:54:25 -04:00
container_graph.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_graph_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_inspect.go Add better support for unbindable volume mounts 2020-11-02 07:19:12 -05:00
container_internal.go Merge pull request #8263 from rhatdan/restart 2020-11-23 13:44:37 +01:00
container_internal_linux.go Implement pod-network-reload 2020-12-07 19:26:23 +01:00
container_internal_linux_test.go Make an entry in /etc/group when we modify /etc/passwd 2020-09-10 13:02:31 -04:00
container_internal_test.go Refactor container config 2020-07-23 10:18:14 -04:00
container_internal_unsupported.go Implement pod-network-reload 2020-12-07 19:26:23 +01:00
container_linux.go Do not fetch pod and ctr State on retrieval in Bolt 2018-07-31 14:19:50 +00:00
container_log.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_log_linux.go Fix Podman logs reading journald 2020-10-02 10:05:19 -04:00
container_log_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_top_linux.go Remove varlink support from Podman 2020-11-26 16:50:42 -05:00
container_top_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_unsupported.go Do not fetch pod and ctr State on retrieval in Bolt 2018-07-31 14:19:50 +00:00
container_validate.go Merge pull request #8156 from mheon/add_net_aliases_db 2020-11-04 16:53:49 +01:00
diff.go fix podman container exists and diff for storage containers 2020-10-15 09:51:15 -04:00
events.go add network connect|disconnect compat endpoints 2020-11-19 08:16:19 -06:00
healthcheck.go Stop excessive wrapping of errors 2020-10-30 05:34:04 -04:00
healthcheck_linux.go Set PATH env in systemd timer. 2020-11-23 10:26:02 -08:00
healthcheck_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
in_memory_state.go Add support for network connect / disconnect to DB 2020-11-11 16:37:54 -05:00
info.go Include cgroup manager in podman info output 2020-09-22 13:15:01 -04:00
kube.go Centralize cores and period/quota conversion code 2020-10-31 10:07:11 -05:00
mounts_linux.go set root propagation based on volume properties 2018-11-26 13:55:02 +01:00
networking_linux.go Implement pod-network-reload 2020-12-07 19:26:23 +01:00
networking_unsupported.go Implement pod-network-reload 2020-12-07 19:26:23 +01:00
oci.go Send HTTP Hijack headers after successful attach 2020-08-27 12:50:22 -04:00
oci_attach_linux.go update github.com/docker/docker and relevant deps 2020-09-18 02:22:25 +09: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 Force Attach() to send a SIGWINCH and redraw 2020-09-10 17:54:47 -04:00
oci_conmon.go podman: add new cgroup mode split 2020-06-25 17:16:12 +02:00
oci_conmon_exec_linux.go Only use container/storage/pkg/homedir.Get() 2020-11-04 14:47:54 -05:00
oci_conmon_linux.go Only use container/storage/pkg/homedir.Get() 2020-11-04 14:47:54 -05:00
oci_conmon_unsupported.go Add global options --runtime-flags 2020-09-04 15:04:36 -04:00
oci_missing.go Send HTTP Hijack headers after successful attach 2020-08-27 12:50:22 -04:00
oci_util.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
options.go Add API for communicating with Docker volume plugins 2020-12-01 12:56:55 -05:00
pod.go Add SELinux support for pods 2020-10-02 15:14:18 -04:00
pod_api.go Fix podman pod inspect show wrong MAC string 2020-11-18 18:06:06 +08:00
pod_internal.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
pod_status.go Add a Degraded state to pods 2020-10-21 13:31:40 -04:00
pod_top_linux.go Remove varlink support from Podman 2020-11-26 16:50:42 -05:00
pod_top_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
reset.go Don't remove config files with podman system reset 2020-08-28 15:22:03 +02:00
rootless_cni_linux.go Make c.networks() list include the default network 2020-11-20 14:03:24 -05:00
runtime.go runtime: set XDG_* env variables if missing 2020-11-27 14:33:50 +01:00
runtime_cstorage.go fix podman container exists and diff for storage containers 2020-10-15 09:51:15 -04:00
runtime_ctr.go Ensure we do not double-lock the same volume in create 2020-11-11 16:06:03 -05:00
runtime_img.go Do not pass name argument to Load API 2020-12-02 09:25:01 -05:00
runtime_img_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_migrate.go Stop excessive wrapping of errors 2020-10-30 05:34:04 -04:00
runtime_migrate_unsupported.go Add podman system reset command 2019-11-29 05:34:52 -05:00
runtime_pod.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_pod_infra_linux.go Do not ignore infra command from config files 2020-11-30 13:28:12 -05:00
runtime_pod_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_pod_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_renumber.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_volume.go Make volume filters inclusive 2020-11-03 14:35:01 -05:00
runtime_volume_linux.go fix: allow volume creation when the _data directory already exists 2020-11-05 17:09:12 -03:00
runtime_volume_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
state.go Add support for network connect / disconnect to DB 2020-11-11 16:37:54 -05:00
state_test.go Add support for network connect / disconnect to DB 2020-11-11 16:37:54 -05:00
stats.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
stats_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
storage.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
util.go Stop excessive wrapping of errors 2020-10-30 05:34:04 -04:00
util_linux.go Fix mismatch between log messages and behavior of libpod.LabelVolumePath. 2020-09-13 23:24:15 -04:00
util_linux_test.go Fix mismatch between log messages and behavior of libpod.LabelVolumePath. 2020-09-13 23:24:15 -04:00
util_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
util_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume_inspect.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume_internal.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume_internal_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume_internal_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00