def mount_format(device, mount_point): try: os.makedirs(mount_point) except FileExistsError: pass logging.debug("Attempting to mount, may not be formatted yet") mount_rc, mount_err = utils.command("mount %s %s" % (device, mount_point)) if mount_rc != 0: logging.info("Failed to mount the disk, formatting first") mkfs_rc, mkfs_err = utils.command("mkfs -t ext4 %s" % device) if mkfs_rc != 0: e_msg = "Failed to format the disk" logging.error(e_msg) raise Exception(e_msg) mount2_rc, mount2_err = utils.command("mount %s %s" % (device, mount_point)) if mount2_rc != 0: e_msg = "Failed to mount the disk after format" logging.error(e_msg) raise Exception(e_msg) logging.info("Disk mounted, making dirs and setting permissions...") home_dir = os.path.join(mount_point, "stardog-home") try: os.makedirs(home_dir, 0o775) except FileExistsError: pass chown_rc, chown_err = utils.command("chown -R ubuntu %s" % home_dir) if chown_rc != 0: e_msg = "Failed to chown Stardog home: %s" % chown_err raise Exception(e_msg)
def main(): cur_time = datetime.datetime.now().strftime('%Y%m%d-%H%M%S') release_file = sys.argv[1] logging.debug("Release file: %s" % release_file) base_zip_file = os.path.basename(release_file) logging.debug("Base zip file: %s" % base_zip_file) base_file = base_zip_file.rstrip('.zip') logging.debug("Base file: %s" % base_file) errors = [] cp_cmd = "cp %s /usr/local/" % release_file rc, err = utils.command(cp_cmd, cmd_dir="/usr/local/") if rc != 0: errors.append(err) unzip_cmd = "unzip /usr/local/%s" % base_zip_file rc, err = utils.command(unzip_cmd, cmd_dir="/usr/local/") if rc != 0: errors.append(err) backup_cmd = "mv /usr/local/stardog /usr/local/stardog.%s" % cur_time rc, err = utils.command(backup_cmd, cmd_dir="/usr/local/") if rc != 0: errors.append(err) mv_cmd = "mv /usr/local/%s /usr/local/stardog" % base_file rc, err = utils.command(mv_cmd, cmd_dir="/usr/local/") if rc != 0: errors.append(err) if errors: raise Exception(errors) return 0
def start_stardog(ip): ssh_opts = "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" refresh_cmd = "sudo systemctl start stardog" cmd = "ssh %s %s '%s'" % (ssh_opts, ip, refresh_cmd) return utils.command(cmd)
def upload_file(ip, upload_file): scp_opts = "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" cmd = "scp -r %s %s %s:%s" % (scp_opts, upload_file, ip, upload_file) return utils.command(cmd)
def refresh_stardog_binaries(ip, release_file): ssh_opts = "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" refresh_cmd = "/usr/local/bin/stardog-refresh-binaries" cmd = "ssh %s %s '%s %s'" % (ssh_opts, ip, refresh_cmd, release_file) return utils.command(cmd)