forked from uncloud/uncloud
Progress with networking
This commit is contained in:
parent
8a451ff4ff
commit
1b5a3f6d2e
3 changed files with 25 additions and 0 deletions
|
@ -23,3 +23,14 @@ You need to have python3 installed.
|
||||||
python -m venv venv
|
python -m venv venv
|
||||||
. ./venv/bin/activate
|
. ./venv/bin/activate
|
||||||
./bin/uncloud-run-reinstall
|
./bin/uncloud-run-reinstall
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Install os requirements
|
||||||
|
-----------------------
|
||||||
|
Install the following software packages: **dnsmasq**.
|
||||||
|
|
||||||
|
If you already have a working IPv6 SLAAC and DNS setup,
|
||||||
|
this step can be skipped.
|
||||||
|
|
||||||
|
Note that you need at least one /64 IPv6 network to run uncloud.
|
||||||
|
|
|
@ -3,12 +3,18 @@ import argparse
|
||||||
from uncloud.hack.vm import VM
|
from uncloud.hack.vm import VM
|
||||||
from uncloud.hack.config import Config
|
from uncloud.hack.config import Config
|
||||||
from uncloud.hack.mac import MAC
|
from uncloud.hack.mac import MAC
|
||||||
|
from uncloud import UncloudException
|
||||||
|
|
||||||
arg_parser = argparse.ArgumentParser('hack', add_help=False)
|
arg_parser = argparse.ArgumentParser('hack', add_help=False)
|
||||||
#description="Commands that are unfinished - use at own risk")
|
#description="Commands that are unfinished - use at own risk")
|
||||||
arg_parser.add_argument('--create-vm', action='store_true')
|
arg_parser.add_argument('--create-vm', action='store_true')
|
||||||
arg_parser.add_argument('--last-used-mac', action='store_true')
|
arg_parser.add_argument('--last-used-mac', action='store_true')
|
||||||
arg_parser.add_argument('--get-new-mac', action='store_true')
|
arg_parser.add_argument('--get-new-mac', action='store_true')
|
||||||
|
arg_parser.add_argument('--management-network', help="IPv6 management network")
|
||||||
|
arg_parser.add_argument('--run-dns-ra', action='store_true',
|
||||||
|
help="Provide router advertisements and DNS resolution via dnsmasq")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main(arguments):
|
def main(arguments):
|
||||||
|
@ -26,3 +32,7 @@ def main(arguments):
|
||||||
|
|
||||||
if arguments['get_new_mac']:
|
if arguments['get_new_mac']:
|
||||||
print(MAC(config).get_next())
|
print(MAC(config).get_next())
|
||||||
|
|
||||||
|
if arguments['run_dns_ra']:
|
||||||
|
if not arguments['management_network']:
|
||||||
|
raise UncloudException("Providing DNS/RAs requires a /64 IPv6 network. You can use fd00::/64 for testing (non production!)")
|
||||||
|
|
|
@ -19,3 +19,7 @@ class VXLANBridge(object):
|
||||||
class DNSRA(object):
|
class DNSRA(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Firewall(object):
|
||||||
|
pass
|
||||||
|
|
Loading…
Reference in a new issue