def make_package(options): if options.docs: shell("cd %s/docs; sphinx-apidoc -f -o source/ ../isi_fog_py" % (package_path)) shell("cd %s/docs; make html" % (package_path)) shell("cd %s; tar -zcvf isi_fog_py.tar.gz ./isi_fog_py" % (package_path)) shell("cd %s; dpkg-buildpackage -rfakeroot -Tclean" % (package_path)) shell("cd %s; dpkg-buildpackage -b" % (package_path)) server = options.server src = "%s/%s" % (artifact_path, options.build) dest = "/root" print "server: %s" % server print " src: %s" % src print " dest: %s" % dest rsync(server, src, dest, rsa_private="~/.ssh/id_rsa", option='push') ssh(server, "cd /root; gdebi %s -n" % (options.build), rsa_private="~/.ssh/id_rsa")
def cmd(self, cmd): """ Runs a shell command on the remote :return: session info """ session = ssh(self.server, cmd, rsa_private=self.rsa_private, add_rsa=False, user=self.user, password=self.user, strict=self.strict, verbose=self.verbose) return session
def set_rsa(self): """ Put a rsa key on the remote :return: None """ cmd = 'hostname' session = ssh(self.server, cmd, rsa_private=self.rsa_private, user=self.user, password=self.password, strict=False, verbose=False, add_rsa=True, show_cmd=False) return session
def has_access(self): """ Does a key already exist on the remote? :return: boolean """ cmd = 'hostname' session = ssh(self.server, cmd, rsa_private=self.rsa_private, user=self.user, password=self.password, strict=False, verbose=False, add_rsa=False, show_cmd=False) if session.get('code') == 0: return True return False
def is_writable(self): """ Check to make sure the file system is writable :return: boolean """ file = "is_writable.test.%s" % (self.hostname) cmd = 'touch %s' % (file) session = ssh(self.server, cmd, rsa_private=self.rsa_private, user=self.user, password=self.password, strict=False, verbose=False, add_rsa=False, show_cmd=False) if session.get('code') == 0: return True return False
def copy(self, src, dest, opts=''): """ Perform a copy operation :param src: String :param dest: String """ cmd = "cp %s %s %s" % (opts, src, dest) session = ssh(self.server, cmd, rsa_private=self.rsa_private, user=self.user, password=self.password, strict=False, verbose=False, add_rsa=False, show_cmd=False) if session.get('code') == 0: return True return False
def remove(self, path, recursive=True): """ Remove a file or directory on remote :param path:path to file/dir to remove :param recursive: adds a -r to the rm command :return: boolean """ if recursive: cmd = "rm -rf %s" % path else: cmd = "rm -f %s" % path session = ssh(self.server, cmd, rsa_private=self.rsa_private, user=self.user, password=self.password, strict=False, verbose=False, add_rsa=False, show_cmd=False) if session.get('code') == 0: return True return False