raise RuntimeError(
'ceph-daemon exited with an error code: %d, stderr:%s' % (
code, '\n'.join(err)))
- return out, code
+ return out, err, code
except Exception as ex:
self.log.exception(ex)
@async_map_completion
def _refresh_host_services(self, host):
- out, code = self._run_ceph_daemon(
+ out, err, code = self._run_ceph_daemon(
host, 'mon', 'ls', [], no_fsid=True)
data = json.loads(''.join(out))
self.log.error('refreshed host %s services: %s' % (host, data))
}
name = '%s.%s' % (service_type, service_id)
for a in actions[action]:
- out, code = self._run_ceph_daemon(
+ out, err, code = self._run_ceph_daemon(
host, name, 'unit',
['--name', name, a],
error_ok=True)
if host_info.outdated(self.inventory_cache_timeout) or refresh:
self.log.info("refresh stale inventory for '{}'".format(host))
- out, code = self._run_ceph_daemon(
+ out, err, code = self._run_ceph_daemon(
host, 'osd',
'ceph-volume',
['--', 'inventory', '--format=json'])
'on' if on else 'off'),
'--path', '/dev/' + dev,
]
- out, code = self._run_ceph_daemon(host, 'osd', 'shell', ['--'] + cmd,
- error_ok=True)
+ out, err, code = self._run_ceph_daemon(
+ host, 'osd', 'shell', ['--'] + cmd,
+ error_ok=True)
if code:
raise RuntimeError(
'Unable to affect %s light for %s:%s. Command: %s' % (
devices = drive_group.data_devices.paths
for device in devices:
- out, code = self._run_ceph_daemon(
+ out, err, code = self._run_ceph_daemon(
host, 'osd', 'ceph-volume',
[
'--config-and-keyring', '-',
self.log.debug('ceph-volume prepare: %s' % out)
# check result
- out, code = self._run_ceph_daemon(
+ out, err, code = self._run_ceph_daemon(
host, 'osd', 'ceph-volume',
[
'--',
'crash_keyring': crash_keyring,
})
- out, code = self._run_ceph_daemon(
+ out, err, code = self._run_ceph_daemon(
host, name, 'deploy',
[
'--name', name,
"""
Remove a daemon
"""
- out, code = self._run_ceph_daemon(
+ out, err, code = self._run_ceph_daemon(
host, name, 'rm-daemon',
['--name', name])
self.log.debug('_remove_daemon code %s out %s' % (code, out))