コード例 #1
0
def cleanup():
    print("Stopping processes..")
    for f in os.listdir(config.run_dir):
        if re.search(".pid$", f):
            check_pidfile(os.path.join(config.run_dir, f))

    create_dir(config.run_dir, True)
    # create_dir(env.cmd, True)

    print("Reseting NAT..")
    cmd = """
    iptables -t nat -D POSTROUTING -s {0} -o {1} -j MASQUERADE
    echo 0 > /proc/sys/net/ipv4/ip_forward
    iptables -D INPUT -i {2} -j ACCEPT
    iptables -D FORWARD -i {2} -j ACCEPT
    iptables -D OUTPUT -o {2} -j ACCEPT
    """.format(config.subnet,
               get_default_route()[1], config.bridge)
    runcmd(cmd)

    print("Deleting bridge %s.." % config.bridge)
    cmd = """
    ip link show {0} && ip addr del {1}/{2} dev {0}
    sleep 1
    ip link set {0} down
    sleep 1
    brctl delbr {0}
    """.format(config.bridge, config.gateway, config.net.prefixlen)
    runcmd(cmd)
コード例 #2
0
ファイル: vcluster.py プロジェクト: AthinaB/synnefo
def cleanup():
    print("Stopping processes..")
    for f in os.listdir(config.run_dir):
        if re.search(".pid$", f):
            check_pidfile(os.path.join(config.run_dir, f))

    create_dir(config.run_dir, True)
    # create_dir(env.cmd, True)

    print("Reseting NAT..")
    cmd = """
    iptables -t nat -D POSTROUTING -s {0} -o {1} -j MASQUERADE
    echo 0 > /proc/sys/net/ipv4/ip_forward
    iptables -D INPUT -i {2} -j ACCEPT
    iptables -D FORWARD -i {2} -j ACCEPT
    iptables -D OUTPUT -o {2} -j ACCEPT
    """.format(config.subnet, get_default_route()[1], config.bridge)
    runcmd(cmd)

    print("Deleting bridge %s.." % config.bridge)
    cmd = """
    ip link show {0} && ip addr del {1}/{2} dev {0}
    sleep 1
    ip link set {0} down
    sleep 1
    brctl delbr {0}
    """.format(config.bridge, config.gateway, config.net.prefixlen)
    runcmd(cmd)
コード例 #3
0
ファイル: __init__.py プロジェクト: antonis-m/synnefo
def cleanup(args, env):
    print("Cleaning up bridge, NAT, resolv.conf...")

    for f in os.listdir(env.run):
        if re.search(".pid$", f):
            check_pidfile(os.path.join(env.run, f))

    create_dir(env.run, True)
    # create_dir(env.cmd, True)
    cmd = """
    iptables -t nat -D POSTROUTING -s {0} -o {1} -j MASQUERADE
    echo 0 > /proc/sys/net/ipv4/ip_forward
    iptables -D INPUT -i {2} -j ACCEPT
    iptables -D FORWARD -i {2} -j ACCEPT
    iptables -D OUTPUT -o {2} -j ACCEPT
    """.format(env.subnet, get_default_route()[1], env.bridge)
    os.system(cmd)

    cmd = """
    ip link show {0} && ip addr del {1}/{2} dev {0}
    sleep 1
    ip link set {0} down
    sleep 1
    brctl delbr {0}
    """.format(env.bridge, env.gateway, env.net.prefixlen)
    os.system(cmd)
コード例 #4
0
def cleanup(args, env):
    print("Cleaning up bridge, NAT, resolv.conf...")

    for f in os.listdir(env.run):
        if re.search(".pid$", f):
            check_pidfile(os.path.join(env.run, f))

    create_dir(env.run, True)
    # create_dir(env.cmd, True)
    cmd = """
    iptables -t nat -D POSTROUTING -s {0} -o {1} -j MASQUERADE
    echo 0 > /proc/sys/net/ipv4/ip_forward
    iptables -D INPUT -i {2} -j ACCEPT
    iptables -D FORWARD -i {2} -j ACCEPT
    iptables -D OUTPUT -o {2} -j ACCEPT
    """.format(env.subnet,
               get_default_route()[1], env.bridge)
    os.system(cmd)

    cmd = """
    ip link show {0} && ip addr del {1}/{2} dev {0}
    sleep 1
    ip link set {0} down
    sleep 1
    brctl delbr {0}
    """.format(env.bridge, env.gateway, env.net.prefixlen)
    os.system(cmd)
コード例 #5
0
def _launch_vm(name, mac):
    check_pidfile("%s/%s.pid" % (config.run_dir, name))

    disk0 = os.path.join(config.vcluster_dir, "disk0")
    disk1 = os.path.join(config.vcluster_dir, "disk1")

    print("Launching cluster node {0}..".format(name))
    os.environ["BRIDGE"] = config.bridge
    if config.vnc:
        random_vnc_port = random.randint(1, 1000)
        graphics = "-vnc :{0}".format(random_vnc_port)
    else:
        random_vnc_port = None
        graphics = "-nographic"

    disks = """ \
-drive file={0},format=raw,if=none,id=drive0,snapshot=on \
-device virtio-blk-pci,drive=drive0,id=virtio-blk-pci.0 \
-drive file={1},format=raw,if=none,id=drive1,snapshot=on \
-device virtio-blk-pci,drive=drive1,id=virtio-blk-pci.1 \
""".format(disk0, disk1)

    ifup = os.path.join(config.lib_dir, "ifup")
    nics = """ \
-netdev tap,id=netdev0,script={0},downscript=no \
-device virtio-net-pci,mac={1},netdev=netdev0,id=virtio-net-pci.0 \
-netdev tap,id=netdev1,script={0},downscript=no \
-device virtio-net-pci,mac={2},netdev=netdev1,id=virtio-net-pci.1 \
-netdev tap,id=netdev2,script={0},downscript=no \
-device virtio-net-pci,mac={3},netdev=netdev2,id=virtio-net-pci.2 \
""".format(ifup, mac, random_mac(), random_mac())

    kernel = """ \
--kernel /boot/vmlinuz-3.2.0-4-amd64 \
--initrd /boot/initrd.img-3.2.0-4-amd64 \
--append "root=/dev/vda1 ro console=ttyS0,38400" \
"""

    cmd = """
/usr/bin/kvm -name {0} -pidfile {1}/{0}.pid -balloon virtio -daemonize \
-monitor unix:{1}/{0}.monitor,server,nowait -usbdevice tablet -boot c \
{2} \
{3} \
-m {4} -smp {5} {6} {7} \
""".format(name, config.run_dir, disks, nics, config.mem, config.smp, graphics,
           kernel)

    runcmd(cmd)

    return random_vnc_port
コード例 #6
0
ファイル: vcluster.py プロジェクト: AthinaB/synnefo
def _launch_vm(name, mac):
    check_pidfile("%s/%s.pid" % (config.run_dir, name))

    disk0 = os.path.join(config.vcluster_dir, "disk0")
    disk1 = os.path.join(config.vcluster_dir, "disk1")

    print("Launching cluster node {0}..".format(name))
    os.environ["BRIDGE"] = config.bridge
    if config.vnc:
        random_vnc_port = random.randint(1, 1000)
        graphics = "-vnc :{0}".format(random_vnc_port)
    else:
        random_vnc_port = None
        graphics = "-nographic"

    disks = """ \
-drive file={0},format=raw,if=none,id=drive0,snapshot=on \
-device virtio-blk-pci,drive=drive0,id=virtio-blk-pci.0 \
-drive file={1},format=raw,if=none,id=drive1,snapshot=on \
-device virtio-blk-pci,drive=drive1,id=virtio-blk-pci.1 \
""".format(disk0, disk1)

    ifup = os.path.join(config.lib_dir, "ifup")
    nics = """ \
-netdev tap,id=netdev0,script={0},downscript=no \
-device virtio-net-pci,mac={1},netdev=netdev0,id=virtio-net-pci.0 \
-netdev tap,id=netdev1,script={0},downscript=no \
-device virtio-net-pci,mac={2},netdev=netdev1,id=virtio-net-pci.1 \
-netdev tap,id=netdev2,script={0},downscript=no \
-device virtio-net-pci,mac={3},netdev=netdev2,id=virtio-net-pci.2 \
""".format(ifup, mac, random_mac(), random_mac())

    kernel = """ \
--kernel /boot/vmlinuz-3.2.0-4-amd64 \
--initrd /boot/initrd.img-3.2.0-4-amd64 \
--append "root=/dev/vda1 ro console=ttyS0,38400" \
"""

    cmd = """
/usr/bin/kvm -name {0} -pidfile {1}/{0}.pid -balloon virtio -daemonize \
-monitor unix:{1}/{0}.monitor,server,nowait -usbdevice tablet -boot c \
{2} \
{3} \
-m {4} -smp {5} {6} {7} \
""".format(name, config.run_dir, disks, nics,
           config.mem, config.smp, graphics, kernel)

    runcmd(cmd)

    return random_vnc_port
コード例 #7
0
ファイル: __init__.py プロジェクト: antonis-m/synnefo
def launch_vm(args, env, hostname, mac):
    check_pidfile("%s/%s.pid" % (env.run, hostname))

    print("Launching cluster node {0}..".format(hostname))
    os.environ["BRIDGE"] = env.bridge
    if args.vnc:
        graphics = "-vnc :{0}".format(random.randint(1, 1000))
    else:
        graphics = "-nographic"

    disks = """ \
-drive file={0}/{1}.disk0,format=raw,if=none,id=drive0,snapshot=on \
-device virtio-blk-pci,drive=drive0,id=virtio-blk-pci.0 \
""".format(env.images, env.os)

    if ast.literal_eval(env.create_extra_disk):
        disks += """ \
-drive file={0}/{1}.disk1,format=raw,if=none,id=drive1,snapshot=on \
-device virtio-blk-pci,drive=drive1,id=virtio-blk-pci.1 \
""".format(env.images, env.os)

    ifup = env.lib + "/ifup"
    nics = """ \
-netdev tap,id=netdev0,script={0},downscript=no \
-device virtio-net-pci,mac={1},netdev=netdev0,id=virtio-net-pci.0 \
-netdev tap,id=netdev1,script={0},downscript=no \
-device virtio-net-pci,mac={2},netdev=netdev1,id=virtio-net-pci.1 \
-netdev tap,id=netdev2,script={0},downscript=no \
-device virtio-net-pci,mac={3},netdev=netdev2,id=virtio-net-pci.2 \
""".format(ifup, mac, random_mac(), random_mac())

    cmd = """
/usr/bin/kvm -name {0} -pidfile {1}/{0}.pid -balloon virtio -daemonize \
-monitor unix:{1}/{0}.monitor,server,nowait -usbdevice tablet -boot c \
{2} \
{3} \
-m {4} -smp {5} {6} \
""".format(hostname, env.run, disks, nics, args.mem, args.smp, graphics)
    print cmd
    os.system(cmd)
コード例 #8
0
def launch_vm(args, env, hostname, mac):
    check_pidfile("%s/%s.pid" % (env.run, hostname))

    print("Launching cluster node {0}..".format(hostname))
    os.environ["BRIDGE"] = env.bridge
    if args.vnc:
        graphics = "-vnc :{0}".format(random.randint(1, 1000))
    else:
        graphics = "-nographic"

    disks = """ \
-drive file={0}/{1}.disk0,format=raw,if=none,id=drive0,snapshot=on \
-device virtio-blk-pci,drive=drive0,id=virtio-blk-pci.0 \
""".format(env.images, env.os)

    if ast.literal_eval(env.create_extra_disk):
        disks += """ \
-drive file={0}/{1}.disk1,format=raw,if=none,id=drive1,snapshot=on \
-device virtio-blk-pci,drive=drive1,id=virtio-blk-pci.1 \
""".format(env.images, env.os)

    ifup = env.lib + "/ifup"
    nics = """ \
-netdev tap,id=netdev0,script={0},downscript=no \
-device virtio-net-pci,mac={1},netdev=netdev0,id=virtio-net-pci.0 \
-netdev tap,id=netdev1,script={0},downscript=no \
-device virtio-net-pci,mac={2},netdev=netdev1,id=virtio-net-pci.1 \
-netdev tap,id=netdev2,script={0},downscript=no \
-device virtio-net-pci,mac={3},netdev=netdev2,id=virtio-net-pci.2 \
""".format(ifup, mac, random_mac(), random_mac())

    cmd = """
/usr/bin/kvm -name {0} -pidfile {1}/{0}.pid -balloon virtio -daemonize \
-monitor unix:{1}/{0}.monitor,server,nowait -usbdevice tablet -boot c \
{2} \
{3} \
-m {4} -smp {5} {6} \
""".format(hostname, env.run, disks, nics, args.mem, args.smp, graphics)
    print cmd
    os.system(cmd)
コード例 #9
0
def dnsmasq():
    check_pidfile(config.run_dir + "/dnsmasq.pid")
    cmd = "dnsmasq --pid-file={0}/dnsmasq.pid --conf-file={1}/conf-file"\
        .format(config.run_dir, config.dns_dir)
    runcmd(cmd)
コード例 #10
0
ファイル: __init__.py プロジェクト: antonis-m/synnefo
def dnsmasq(args, env):
    check_pidfile(env.run + "/dnsmasq.pid")
    cmd = "dnsmasq --pid-file={0}/dnsmasq.pid --conf-file={1}/conf-file"\
        .format(env.run, env.dns)
    os.system(cmd)
コード例 #11
0
ファイル: vcluster.py プロジェクト: AthinaB/synnefo
def dnsmasq():
    check_pidfile(config.run_dir + "/dnsmasq.pid")
    cmd = "dnsmasq --pid-file={0}/dnsmasq.pid --conf-file={1}/conf-file"\
        .format(config.run_dir, config.dns_dir)
    runcmd(cmd)
コード例 #12
0
def dnsmasq(args, env):
    check_pidfile(env.run + "/dnsmasq.pid")
    cmd = "dnsmasq --pid-file={0}/dnsmasq.pid --conf-file={1}/conf-file"\
        .format(env.run, env.dns)
    os.system(cmd)