def copy_build_repo(self, host, conf_dict): """copy the brew build repo to all the existing nodes""" self.build_repo_file = self.build_repo_tag + ".repo" self.build_repo_url = os.environ.get("BUILD_REPO_URL") logger.log.info("Copying %s to %s" % (self.build_repo_file, host)) repo = open(self.build_repo_file, "w") repo.write("[" + self.build_repo_tag + "]\n") repo.write("name=" + self.build_repo_tag + "\n") repo.write("baseurl=" + self.build_repo_url + "\n") repo.write("enabled=1\n") repo.write("gpgcheck=0\n") repo.write("skip_if_unavailable=1\n") repo.close() source = self.build_repo_file destination = "/etc/yum.repos.d/" + source logger.log.info("source file is %s" % source) logger.log.info("destination file is %s" % destination) ssh_c = SSHClient(hostname = host, username = \ self.username, password = self.password) ssh_c.CopyFiles(source, destination)
def my_build_repo(self, host, conf_dict): source = self.build_repo destination = "/etc/yum.repos.d/my_build.repo" logger.log.info("Copying %s to %s on %s" % (source, destination, host)) ssh_c = SSHClient(hostname = host, username = \ self.username, password = self.password) ssh_c.CopyFiles(source, destination)
def copy_async_updates_repo(self, host, conf_dict): """copy the async updates repo to all the existing nodes""" try: logger.log.info( "Checking platform.dist of %s to get the right batched repo" % host) ssh_c = SSHClient(hostname = host, username = \ self.username, password = self.password) stdin, stdout, stderr = ssh_c.ExecuteCmd( 'python -c "import platform; \ print platform.dist()"') dist = stdout.read() dist = str(dist).replace('(','').replace(')','').replace("'", "").\ replace(',','') dist = dist.split() logger.log.info("Platform distribution for host %s is %s" % (host, dist)) self.async_updates_url = conf_dict['async_repos'][dist[1]] self.build_repo_file = "async_updates_" + host + ".repo" logger.log.info("Creating async updates build repo file %s" % self.build_repo_file) repo = open(self.build_repo_file, "w") repo.write("[" + "async_updates" + "]\n") repo.write("name=" + "async_updates" + "\n") repo.write("baseurl=" + self.async_updates_url + "\n") repo.write("enabled=1\n") repo.write("gpgcheck=0\n") repo.write("skip_if_unavailable=1\n") repo.close() source = self.build_repo_file destination = "/etc/yum.repos.d/" + source logger.log.info("source file is %s" % source) logger.log.info("destination file is %s" % destination) ssh_c = SSHClient(hostname = host, username = \ self.username, password = self.password) ssh_c.CopyFiles(source, destination) except KeyError, e: logger.log.error( "%s key for async_updates_url does not exists in conf." % e)