]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Add alertmanager adopt 33958/head
authorEric Jackson <swiftgist@gmail.com>
Fri, 13 Mar 2020 18:35:54 +0000 (14:35 -0400)
committerEric Jackson <swiftgist@gmail.com>
Tue, 24 Mar 2020 12:51:53 +0000 (08:51 -0400)
Signed-off-by: Eric Jackson <swiftgist@gmail.com>
src/cephadm/cephadm

index 79b11bc549af3b0ac2d87ed700e523ecc50e77c4..50a5b78a2f64408f8b7d1b3258bbee0f281c31ae 100755 (executable)
@@ -2915,7 +2915,7 @@ def command_adopt():
     elif daemon_type == 'node-exporter':
         raise Error('adoption of node-exporter not implemented')
     elif daemon_type == 'alertmanager':
-        raise Error('adoption of alert-manager not implemented')
+        command_adopt_alertmanager(daemon_id, fsid)
     else:
         raise Error('daemon type %s not recognized' % daemon_type)
 
@@ -3122,6 +3122,35 @@ def command_adopt_grafana(daemon_id, fsid):
     deploy_daemon(fsid, daemon_type, daemon_id, c, uid, gid)
     update_firewalld(daemon_type)
 
+def command_adopt_alertmanager(daemon_id, fsid):
+    # type: (str, str) -> None
+
+    daemon_type = 'alertmanager'
+    (uid, gid) = extract_uid_gid_monitoring(daemon_type)
+
+    _stop_and_disable('prometheus-alertmanager')
+
+    data_dir_dst = make_data_dir(fsid, daemon_type, daemon_id,
+                                     uid=uid, gid=gid)
+
+    # config
+    config_src = '/etc/prometheus/alertmanager.yml'
+    config_src = os.path.abspath(args.legacy_dir + config_src)
+    config_dst = os.path.join(data_dir_dst, 'etc/alertmanager')
+    makedirs(config_dst, uid, gid, 0o755)
+    copy_files([config_src], config_dst, uid=uid, gid=gid)
+
+    # data
+    data_src = '/var/lib/prometheus/alertmanager/'
+    data_src = os.path.abspath(args.legacy_dir + data_src)
+    data_dst = os.path.join(data_dir_dst, 'etc/alertmanager/data')
+    copy_tree([data_src], data_dst, uid=uid, gid=gid)
+
+    make_var_run(fsid, uid, gid)
+    c = get_container(fsid, daemon_type, daemon_id)
+    deploy_daemon(fsid, daemon_type, daemon_id, c, uid, gid)
+    update_firewalld(daemon_type)
+
 def _adjust_grafana_ini(filename):
     # type: (str) -> None