ucloud-setup/app/ceph.py
2019-08-30 06:23:45 +05:00

28 lines
891 B
Python

import click
import os
import subprocess
@click.group()
def ceph():
pass
@ceph.command("setup")
@click.option("--ceph_url", required=True)
@click.option("--ssh_username", required=True)
def setup(ceph_url, ssh_username):
try:
os.makedirs("/etc/ceph", exist_ok=True)
command = f"sftp -b ./ceph_batch_cmd {ssh_username}@{ceph_url}:/etc/ceph"
subprocess.check_output(command.split())
except Exception:
p = subprocess.check_output(f"ssh-keyscan {ceph_url}".split())
keys = p.decode("utf-8").strip().split("\n")
keys = "\n".join(keys)
with open(os.path.expanduser("~/.ssh/known_hosts"), "a") as known_hosts:
known_hosts.write(keys)
os.makedirs("/etc/ceph", exist_ok=True)
command = f"sftp -b ./ceph_batch_cmd {ssh_username}@{ceph_url}:/etc/ceph"
subprocess.check_output(command.split())