]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
mon: ensure socker is purged when mon is stopped
authorGuillaume Abrioux <gabrioux@redhat.com>
Tue, 10 Jul 2018 09:56:17 +0000 (11:56 +0200)
committerSébastien Han <seb@redhat.com>
Wed, 11 Jul 2018 08:55:38 +0000 (10:55 +0200)
On containerized deployment, if a mon is stopped, the socket is not
purged and can cause failure when a cluster is redeployed after the
purge playbook has been run.

Typical error:

```
fatal: [osd0]: FAILED! => {}

MSG:

'dict object' has no attribute 'osd_pool_default_pg_num'
```

the fact is not set because of this previous failure earlier:

```
ok: [mon0] => {
    "changed": false,
    "cmd": "docker exec ceph-mon-mon0 ceph --cluster test daemon mon.mon0 config get osd_pool_default_pg_num",
    "delta": "0:00:00.217382",
    "end": "2018-07-09 22:25:53.155969",
    "failed_when_result": false,
    "rc": 22,
    "start": "2018-07-09 22:25:52.938587"
}

STDERR:

admin_socket: exception getting command descriptions: [Errno 111] Connection refused

MSG:

non-zero return code
```

This failure happens when the ceph-mon service is stopped, indeed, since
the socket isn't purged, it's a leftover which is confusing the process.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 9f54b3b4a7c1a7015def3a7987e3e9e426385251)

roles/ceph-mon/templates/ceph-mon.service.j2

index 47e97f6e148df74437cea95ac9571264aa0b25cf..d5bdafbed0a144874385d7e0461721226125223b 100644 (file)
@@ -62,7 +62,8 @@ ExecStart=/usr/bin/docker run --rm --name ceph-mon-%i \
   -e CEPH_DAEMON=MON \
   {{ ceph_mon_docker_extra_env }} \
   {{ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
-ExecStopPost=-/usr/bin/docker stop ceph-mon-%i
+ExecStop=-/usr/bin/docker stop ceph-mon-%i
+ExecStopPost=-/bin/rm -f /var/run/ceph/{{ cluster }}-mon.{{ monitor_name }}.asok
 Restart=always
 RestartSec=10s
 TimeoutStartSec=120