Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)