initial commit
This commit is contained in:
parent
1af310893c
commit
3bf65e4b1a
50
maas-setup.sh
Normal file
50
maas-setup.sh
Normal file
@ -0,0 +1,50 @@
|
||||
#get local interface name (this assumes a single default route is present)
|
||||
export INTERFACE=$(ip route | grep default | cut -d ' ' -f 5)
|
||||
export IP_ADDRESS=$(ip -4 addr show dev $INTERFACE | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
|
||||
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
|
||||
sysctl -p
|
||||
iptables -t nat -A POSTROUTING -o $INTERFACE -j SNAT --to $IP_ADDRESS
|
||||
#TODO inbound port forwarding/load balancing
|
||||
# Persist NAT configuration
|
||||
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | sudo debconf-set-selections
|
||||
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | sudo debconf-set-selections
|
||||
apt-get install iptables-persistent -y
|
||||
# LXD init
|
||||
cat /tmp/lxd.cfg | lxd init --preseed
|
||||
# Wait for LXD to be ready
|
||||
lxd waitready
|
||||
# Initialise MAAS
|
||||
maas init region+rack --database-uri maas-test-db:/// --maas-url http://${IP_ADDRESS}:5240/MAAS
|
||||
sleep 15
|
||||
# Create MAAS admin and grab API key
|
||||
maas createadmin --username admin --password admin --email admin
|
||||
export APIKEY=$(maas apikey --username admin)
|
||||
# MAAS admin login
|
||||
maas login admin 'http://localhost:5240/MAAS/' $APIKEY
|
||||
# Configure MAAS networking (set gateways, vlans, DHCP on etc)
|
||||
export SUBNET=10.10.10.0/24
|
||||
export FABRIC_ID=$(maas admin subnet read "$SUBNET" | jq -r ".vlan.fabric_id")
|
||||
export VLAN_TAG=$(maas admin subnet read "$SUBNET" | jq -r ".vlan.vid")
|
||||
export PRIMARY_RACK=$(maas admin rack-controllers read | jq -r ".[] | .system_id")
|
||||
maas admin subnet update $SUBNET gateway_ip=10.10.10.1
|
||||
maas admin ipranges create type=dynamic start_ip=10.10.10.200 end_ip=10.10.10.254
|
||||
maas admin vlan update $FABRIC_ID $VLAN_TAG dhcp_on=True primary_rack=$PRIMARY_RACK
|
||||
maas admin maas set-config name=upstream_dns value=8.8.8.8
|
||||
# Add LXD as a VM host for MAAS
|
||||
maas admin vm-hosts create password=password type=lxd power_address=https://${IP_ADDRESS}:8443 project=maas
|
||||
|
||||
#creating VMs
|
||||
#TODO find out the name of our vm host, and store this id in a variable
|
||||
maas admin vm-hosts read | jq '.[] | select (.name=="proud-possum") | .name, .id'
|
||||
# add a VM
|
||||
#TODO use the variable for the VM host ID (below it is static 1)
|
||||
maas admin vm-host compose 1 cores=4 cpu_speed=300 memory=8192 architecture="amd64/generic" \
|
||||
storage="main:100(pool1)"
|
||||
|
||||
# Juju
|
||||
sudo snap install juju --classic
|
||||
juju add-cloud --local maas-cloud maas-cloud.yaml
|
||||
juju add-credential maas-cloud
|
||||
juju clouds --local
|
||||
juju credentials
|
||||
juju bootstrap maas-cloud
|
Loading…
Reference in New Issue
Block a user