]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
podman: Add Type and PIDFile value to unit files
authorDimitri Savineau <dsavinea@redhat.com>
Mon, 22 Jun 2020 16:58:56 +0000 (12:58 -0400)
committerGuillaume Abrioux <gabrioux@redhat.com>
Tue, 23 Jun 2020 15:35:24 +0000 (17:35 +0200)
This changes the way we are running the podman containers via systemd.
They are now in dettached mode and Type/PIDFile set.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1834974
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit d43769dc2aa62059ac17098648d933d26192f67f)

14 files changed:
roles/ceph-grafana/templates/grafana-server.service.j2
roles/ceph-iscsi-gw/templates/rbd-target-api.service.j2
roles/ceph-iscsi-gw/templates/rbd-target-gw.service.j2
roles/ceph-iscsi-gw/templates/tcmu-runner.service.j2
roles/ceph-mds/templates/ceph-mds.service.j2
roles/ceph-mgr/templates/ceph-mgr.service.j2
roles/ceph-mon/templates/ceph-mon.service.j2
roles/ceph-nfs/templates/ceph-nfs.service.j2
roles/ceph-node-exporter/templates/node_exporter.service.j2
roles/ceph-osd/templates/ceph-osd.service.j2
roles/ceph-prometheus/templates/alertmanager.service.j2
roles/ceph-prometheus/templates/prometheus.service.j2
roles/ceph-rbd-mirror/templates/ceph-rbd-mirror.service.j2
roles/ceph-rgw/templates/ceph-radosgw.service.j2

index 2c2a765f74f59b728bc5e9054d957f104fc20d2f..7019e4099072a506359b4bca8f266577be6b6c0e 100644 (file)
@@ -11,9 +11,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop grafana-server
 ExecStartPre=-/usr/bin/{{ container_binary }} rm grafana-server
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm --name=grafana-server \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   -v /etc/grafana:/etc/grafana:Z \
   -v /var/lib/grafana:/var/lib/grafana:Z \
   --net=host \
@@ -23,12 +30,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --name=grafana-server \
   --memory-swap={{ grafana_container_memory * 2 }}GB \
   -e GF_INSTALL_PLUGINS={{ grafana_plugins|join(',') }} \
   {{ grafana_container_image }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStop=-/usr/bin/{{ container_binary }} stop grafana-server
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index a8bab2c6e5a104b8df379ba10c206902f8464bf5..7d08ff6e705e4826a6d2414dcd2f8364765478b9 100644 (file)
@@ -9,9 +9,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop rbd-target-api
 ExecStartPre=-/usr/bin/{{ container_binary }} rm rbd-target-api
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --memory={{ ceph_rbd_target_api_docker_memory_limit }} \
   --cpus={{ ceph_rbd_target_api_docker_cpu_limit }} \
   -v /etc/localtime:/etc/localtime:ro \
@@ -28,12 +35,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm \
   -e CONTAINER_IMAGE={{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} \
   --name=rbd-target-api \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStopPost=-/usr/bin/{{ container_binary }} stop rbd-target-api
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index d5a96425bdbb7062f9cbd3a223c3ad61b1a7a8ae..20afb3ffbb32d49f691853de1a092376c8f0bc87 100644 (file)
@@ -9,9 +9,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop rbd-target-gw
 ExecStartPre=-/usr/bin/{{ container_binary }} rm rbd-target-gw
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --memory={{ ceph_rbd_target_gw_docker_memory_limit }} \
   --cpus={{ ceph_rbd_target_gw_docker_cpu_limit }} \
   -v /etc/localtime:/etc/localtime:ro \
@@ -28,12 +35,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm \
   -e CONTAINER_IMAGE={{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} \
   --name=rbd-target-gw \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStopPost=-/usr/bin/{{ container_binary }} stop rbd-target-gw
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index 46f48c99cce6246346437584286b9b33dc85ee4b..505ee3cf6943ba865026a7cff0a19b8d99b71d29 100644 (file)
@@ -9,9 +9,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop tcmu-runner
 ExecStartPre=-/usr/bin/{{ container_binary }} rm tcmu-runner
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --memory={{ ceph_tcmu_runner_docker_memory_limit }} \
   --cpus={{ ceph_tcmu_runner_docker_cpu_limit }} \
   -v /etc/localtime:/etc/localtime:ro \
@@ -27,12 +34,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm \
   -e CONTAINER_IMAGE={{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} \
   --name=tcmu-runner \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStopPost=-/usr/bin/{{ container_binary }} stop tcmu-runner
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index 900ea7fa808e0f665e87b4e5e84d60ecfbec140c..561c516b3bdefd3916b0cdeb71a3739fce5f3558 100644 (file)
@@ -10,9 +10,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop ceph-mds-{{ ansible_hostname }}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm ceph-mds-{{ ansible_hostname }}
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --memory={{ ceph_mds_docker_memory_limit }} \
   --cpus={{ cpu_limit }} \
   -v /var/lib/ceph:/var/lib/ceph:z \
@@ -26,12 +33,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
   {{ ceph_mds_docker_extra_env }} \
   --name=ceph-mds-{{ ansible_hostname }} \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStopPost=-/usr/bin/{{ container_binary }} stop ceph-mds-{{ ansible_hostname }}
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index 63d2ec9a71ff60055488fe62f5de306201147653..30b410909907e83a16e5d46e5bb25a19887aa59c 100644 (file)
@@ -9,9 +9,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop ceph-mgr-{{ ansible_hostname }}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm ceph-mgr-{{ ansible_hostname }}
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --memory={{ ceph_mgr_docker_memory_limit }} \
   --cpus={{ ceph_mgr_docker_cpu_limit }} \
   -v /var/lib/ceph:/var/lib/ceph:z \
@@ -25,12 +32,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
   {{ ceph_mgr_docker_extra_env }} \
   --name=ceph-mgr-{{ ansible_hostname }} \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStopPost=-/usr/bin/{{ container_binary }} stop ceph-mgr-{{ ansible_hostname }}
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index 089cf35e164a5efd89af0c980a68efa904533054..8944d4f5d7da32a0003cea9fc283aa859d9388c1 100644 (file)
@@ -9,9 +9,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm ceph-mon-%i
+{% endif %}
 ExecStartPre=/bin/sh -c '"$(command -v mkdir)" -p /etc/ceph /var/lib/ceph/mon'
 ExecStart=/usr/bin/{{ container_binary }} run --rm --name ceph-mon-%i \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --memory={{ ceph_mon_docker_memory_limit }} \
   --cpus={{ ceph_mon_docker_cpu_limit }} \
   -v /var/lib/ceph:/var/lib/ceph:z \
@@ -38,13 +45,21 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --name ceph-mon-%i \
   -e CONTAINER_IMAGE={{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} \
   {{ ceph_mon_docker_extra_env }} \
   {{ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStop=-/usr/bin/{{ container_binary }} stop ceph-mon-%i
+{% endif %}
 ExecStopPost=-/bin/rm -f /var/run/ceph/{{ cluster }}-mon.{{ monitor_name }}.asok
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index ebe4784745cfc40d99cf00f3149843a29b11ae96..6cc4c7cd69dc5b58806708b786522e2223e293be 100644 (file)
@@ -10,9 +10,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm ceph-nfs-%i
+{% endif %}
 ExecStartPre={{ '/bin/mkdir' if ansible_os_family == 'Debian' else '/usr/bin/mkdir' }} -p /etc/ceph /etc/ganesha /var/lib/nfs/ganesha /var/log/ganesha
 ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   -v /var/lib/ceph:/var/lib/ceph:z \
   -v /etc/ceph:/etc/ceph:z \
   -v /var/lib/nfs/ganesha:/var/lib/nfs/ganesha:z \
@@ -31,12 +38,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
   {{ ceph_nfs_docker_extra_env }} \
   --name=ceph-nfs-{{ ceph_nfs_service_suffix | default(ansible_hostname) }} \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStopPost=-/usr/bin/{{ container_binary }} stop ceph-nfs-%i
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index a41904b86f1414d605dea23f708f8218121305a2..8d35d32db2fb5eec873e441fcea858eb674812cb 100644 (file)
@@ -11,8 +11,15 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm -f node-exporter
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm --name=node-exporter \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --privileged \
   -v /proc:/host/proc:ro -v /sys:/host/sys:ro \
   --net=host \
@@ -21,12 +28,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --name=node-exporter \
   --path.sysfs=/host/sys \
   --no-collector.timex \
   --web.listen-address=:{{ node_exporter_port }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStop=-/usr/bin/{{ container_binary }} stop node-exporter
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index b49a98e1abd050a29eecc6ca862d0b29c7f837a0..721efcbacc57ad4fd21deeb577c599d3588ab401 100644 (file)
@@ -11,13 +11,20 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop ceph-osd-%i
 ExecStartPre=-/usr/bin/{{ container_binary }} rm -f ceph-osd-%i
+{% endif %}
 ExecStart={% if ceph_osd_numactl_opts != "" %}
 numactl \
 {{ ceph_osd_numactl_opts }} \
 {% endif %}
 /usr/bin/{{ container_binary }} run \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --rm \
   --net=host \
   --privileged=true \
@@ -55,12 +62,20 @@ numactl \
   --name=ceph-osd-%i \
   {{ ceph_osd_docker_extra_env }} \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStop=-/usr/bin/{{ container_binary }} stop ceph-osd-%i
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index abd32bb774dda283e925c319ddfc7f347af0ece6..aa0460f9da50913ad4ed00d3444f57d094f379e5 100644 (file)
@@ -12,8 +12,15 @@ After=network.target
 [Service]
 WorkingDirectory={{ alertmanager_data_dir }}
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm -f alertmanager
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm --name=alertmanager \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   -v "{{ alertmanager_conf_dir }}:/etc/alertmanager:Z" \
   -v "{{ alertmanager_data_dir }}:/alertmanager:Z" \
   --net=host \
@@ -30,12 +37,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --name=alertmanager \
   --storage.path=/alertmanager \
   --web.external-url=http://{{ ansible_fqdn }}:{{ alertmanager_port }}/ \
   --web.listen-address={{ grafana_server_addr }}:{{ alertmanager_port }}
+{% if container_binary == 'podman' %}
+ExecStop=/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStop=/usr/bin/{{ container_binary }} stop alertmanager
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index f3a4c516b289a1bf86b24d5ec3e2192a6aad8439..f9aecc8fdae271277d413bbebe3c9efb5354ab38 100644 (file)
@@ -11,8 +11,15 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm -f prometheus
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm --name=prometheus \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   -v "{{ prometheus_conf_dir }}:/etc/prometheus:Z" \
   -v "{{ prometheus_data_dir }}:/prometheus:Z" \
   --net=host \
@@ -26,12 +33,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --name=prometheus \
   --storage.tsdb.path=/prometheus \
   --web.external-url=http://{{ ansible_fqdn }}:{{ prometheus_port }}/ \
   --web.listen-address={{ grafana_server_addr }}:{{ prometheus_port }}
+{% if container_binary == 'podman' %}
+ExecStop=/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStop=/usr/bin/{{ container_binary }} stop prometheus
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index f7f7e2e5f5ce5b4ec32cd6c193b734d584e5aa14..b48a5feb217fbf13da7f4b3db255b4beb239ba40 100644 (file)
@@ -9,9 +9,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=-/etc/environment
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop ceph-rbd-mirror-{{ ansible_hostname }}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm ceph-rbd-mirror-{{ ansible_hostname }}
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --memory={{ ceph_rbd_mirror_docker_memory_limit }} \
   --cpus={{ ceph_rbd_mirror_docker_cpu_limit }} \
   -v /var/lib/ceph:/var/lib/ceph:z \
@@ -25,12 +32,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
   --name=ceph-rbd-mirror-{{ ansible_hostname }} \
   {{ ceph_rbd_mirror_docker_extra_env }} \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStopPost=-/usr/bin/{{ container_binary }} stop ceph-rbd-mirror-{{ ansible_hostname }}
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target
index c5ac10a2cd8ceeb44608ec8b67daef5c756a5007..e3a26d357a10823607ef65cdd47b7b172005d0b5 100644 (file)
@@ -10,9 +10,16 @@ After=network.target
 
 [Service]
 EnvironmentFile=/var/lib/ceph/radosgw/{{ cluster }}-%i/EnvironmentFile
+{% if container_binary == 'podman' %}
+ExecStartPre=-/usr/bin/rm -f /%t/%n-pid /%t/%n-cid
+{% else %}
 ExecStartPre=-/usr/bin/{{ container_binary }} stop ceph-rgw-{{ ansible_hostname }}-${INST_NAME}
 ExecStartPre=-/usr/bin/{{ container_binary }} rm ceph-rgw-{{ ansible_hostname }}-${INST_NAME}
+{% endif %}
 ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
+{% if container_binary == 'podman' %}
+  -d --conmon-pidfile /%t/%n-pid --cidfile /%t/%n-cid \
+{% endif %}
   --memory={{ ceph_rgw_docker_memory_limit }} \
   --cpus={{ cpu_limit }} \
   {% if ceph_rgw_docker_cpuset_cpus is defined -%}
@@ -40,12 +47,20 @@ ExecStart=/usr/bin/{{ container_binary }} run --rm --net=host \
   --name=ceph-rgw-{{ ansible_hostname }}-${INST_NAME} \
   {{ ceph_rgw_docker_extra_env }} \
   {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
+{% if container_binary == 'podman' %}
+ExecStop=-/usr/bin/sh -c "/usr/bin/{{ container_binary }} rm -f `cat /%t/%n-cid`"
+{% else %}
 ExecStopPost=-/usr/bin/{{ container_binary }} stop ceph-rgw-{{ ansible_hostname }}-${INST_NAME}
+{% endif %}
 KillMode=none
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120
 TimeoutStopSec=15
+{% if container_binary == 'podman' %}
+Type=forking
+PIDFile=/%t/%n-pid
+{% endif %}
 
 [Install]
 WantedBy=multi-user.target