Update maas-setup.sh

This commit is contained in:
antongisli 2021-11-16 17:02:39 +01:00 committed by GitHub
parent c1425e8dce
commit c1fb97dba7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,24 +6,24 @@ sudo snap install --channel=3.1/beta maas
#get local interface name (this assumes a single default route is present) #get local interface name (this assumes a single default route is present)
export INTERFACE=$(ip route | grep default | cut -d ' ' -f 5) 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}') 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 sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sysctl -p sudo sysctl -p
iptables -t nat -A POSTROUTING -o $INTERFACE -j SNAT --to $IP_ADDRESS sudo iptables -t nat -A POSTROUTING -o $INTERFACE -j SNAT --to $IP_ADDRESS
#TODO inbound port forwarding/load balancing #TODO inbound port forwarding/load balancing
# Persist NAT configuration # Persist NAT configuration
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | sudo debconf-set-selections 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 echo iptables-persistent iptables-persistent/autosave_v6 boolean true | sudo debconf-set-selections
apt-get install iptables-persistent -y sudo apt-get install iptables-persistent -y
# LXD init # LXD init
cat /tmp/lxd.cfg | lxd init --preseed sudo cat /tmp/lxd.cfg | lxd init --preseed
# Wait for LXD to be ready # Wait for LXD to be ready
lxd waitready lxd waitready
# Initialise MAAS # Initialise MAAS
maas init region+rack --database-uri maas-test-db:/// --maas-url http://${IP_ADDRESS}:5240/MAAS sudo maas init region+rack --database-uri maas-test-db:/// --maas-url http://${IP_ADDRESS}:5240/MAAS
sleep 15 sleep 15
# Create MAAS admin and grab API key # Create MAAS admin and grab API key
maas createadmin --username admin --password admin --email admin maas createadmin --username admin --password admin --email admin
export APIKEY=$(maas apikey --username admin) export APIKEY=$(sudo maas apikey --username admin)
# MAAS admin login # MAAS admin login
maas login admin 'http://localhost:5240/MAAS/' $APIKEY maas login admin 'http://localhost:5240/MAAS/' $APIKEY
# Configure MAAS networking (set gateways, vlans, DHCP on etc) # Configure MAAS networking (set gateways, vlans, DHCP on etc)
@ -40,7 +40,7 @@ maas admin vm-hosts create password=password type=lxd power_address=https://${
### creating VMs for Juju controller and our "bare metal" ### creating VMs for Juju controller and our "bare metal"
export VM_HOST_ID=maas admin vm-hosts read | jq -r --arg VM_HOST "$(hostname)" '.[] | select (.name==$VM_HOST) | .id' export VM_HOST_ID=$(maas admin vm-hosts read | jq -r --arg VM_HOST "$(hostname)" '.[] | select (.name==$VM_HOST) | .id')
# add a VM for the juju controller with minimal memory # add a VM for the juju controller with minimal memory
maas admin vm-host compose $VM_HOST_ID cores=8 memory=2048 architecture="amd64/generic" storage="main:16(pool1)" hostname="juju-controller" maas admin vm-host compose $VM_HOST_ID cores=8 memory=2048 architecture="amd64/generic" storage="main:16(pool1)" hostname="juju-controller"
# get the system-id and tag the machine with "juju-controller" # get the system-id and tag the machine with "juju-controller"