示例#1
0
def peer(gluster_node, new_node):
    gluster_minion = utils.resolve_ip_address(gluster_node)
    new_minion = utils.resolve_ip_address(new_node)
    out = local.cmd(gluster_minion, "glusterfs.peer", [new_minion])
    if out and out[gluster_minion] == True:
        return True
    else:
        return False
示例#2
0
    def pxe(self, args):
        """process the pxe command"""
        args, config = self._shared(args, "pxe")
        release = args.release

        path = os.path.join(config["paths"]["tftpboot"], "seedbank", release)
        if not os.path.isdir(path):
            if release in config["netboots"]:
                err = '"%s" is not available, run "seedbank manage -n %s" to ' "download and prepare the release" % (
                    release,
                    release,
                )
            else:
                err = '"%s" is not a valid release, run "seedbank list -n" to ' "list valid releases " % release
            raise self.exception(err)

        if args.macaddress:
            if len(args.macaddress) == 12:
                pass
            elif not re.match("([a-fA-F0-9]{2}[:|\-]?){6}", args.macaddress):
                err = '"%s" is not a valid MAC address' % args.macaddress
                raise self.exception(err)
            args.address = utils.format_address(args.macaddress)
        else:
            ip_address = utils.resolve_ip_address(args.fqdn)
            args.address = utils.ip_to_hex(ip_address)

        pxe_linux = pxe.GeneratePxe(args)
        pxe_linux.state_remove()
        pxe_linux.write(pxe_linux.generate())
        pxe_linux.hook_enable()

        logging.info('"%s" will be installed with "%s" after the next PXE boot', args.fqdn, args.release)
示例#3
0
    def pxe(self, args):
        """process the pxe command"""
        args, config = self._shared(args, 'pxe')
        release = args.release

        path = os.path.join(config['paths']['tftpboot'], 'seedbank', release)
        if not os.path.isdir(path):
            if release in config['netboots']:
                err = '"%s" is not available, run "seedbank manage -n %s" to '\
                    'download and prepare the release' % (release, release)
            else:
                err = '"%s" is not a valid release, run "seedbank list -n" to '\
                    'list valid releases ' % release
            raise self.exception(err)

        if args.macaddress:
            if len(args.macaddress) == 12:
                pass
            elif not re.match('([a-fA-F0-9]{2}[:|\-]?){6}', args.macaddress):
                err = '"%s" is not a valid MAC address' % args.macaddress
                raise self.exception(err)
            args.address = utils.format_address(args.macaddress)
        else:
            ip_address = utils.resolve_ip_address(args.fqdn)
            args.address = utils.ip_to_hex(ip_address)

        pxe_linux = pxe.GeneratePxe(args)
        pxe_linux.state_remove()
        pxe_linux.write(pxe_linux.generate())
        pxe_linux.hook_enable()

        logging.info(
            '"%s" will be installed with "%s" after the next PXE boot',
            args.fqdn, args.release)
示例#4
0
文件: parse.py 项目: dmeulen/seedBank
    def pxe(self, args):
        """process the pxe command"""
        try:
            _, release, _ = args.release.split("-")
        except:
            err = (
                '"%s" is an unknown release (first run "seedbank '
                'manage -n <release>" to download and prepare the '
                'release, run "seedbank list -n" to list available '
                "releases" % args.release
            )
            raise self.exception(err)

        args, config = self._shared(args, release)

        path = os.path.join(config["paths"]["tftpboot"], "seedbank", args.release)
        if not os.path.isdir(path):
            if release in config["distributions"]["netboots"]:
                err = (
                    '"%s" is not available, run "seedbank manage -n "%s" to '
                    "download an prepare the release" % args.release
                )
            raise self.exception(err)

        if args.macaddress:
            if len(args.macaddress) == 12:
                pass
            elif not re.match("([a-fA-F0-9]{2}[:|\-]?){6}", args.macaddress):
                err = '"%s" is not a valid MAC address' % args.macaddress
                raise self.exception(err)
            args.address = utils.format_address(args.macaddress)
        else:
            ip_address = utils.resolve_ip_address(args.fqdn)
            args.address = utils.ip_to_hex(ip_address)

        pxe_linux = pxe.GeneratePxe(args)
        pxe_linux.state_remove()
        pxe_linux.write(pxe_linux.generate())
        pxe_linux.hook_enable()
示例#5
0
def setup_minion(host, fingerprint, username, password):
    t = Template(open("setup-minion.sh.template").read())
    cmd = t.render(usm_master=socket.getfqdn())
    utils.rexecCmd(str(cmd), host, fingerprint=fingerprint, username=username, password=password)
    return utils.resolve_ip_address(host)