2018-04-05 09:18:06 -04:00
|
|
|
# MAAS Auto-builder
|
|
|
|
|
2018-04-26 14:36:55 -04:00
|
|
|
This is a quick-and-dirty set of shell scripts that will build out and
|
|
|
|
bootstrap a MAAS environment with all of the bits and pieces you need to get
|
|
|
|
it running for any cloud, any workload.
|
2018-04-26 12:25:45 -04:00
|
|
|
|
2020-12-26 20:03:28 +00:00
|
|
|
* `manage-maas-nodes.sh.......`: Create kvm instances that MAAS will manage
|
|
|
|
* `manage-hypervisor-nodes.sh.`: Create hypervisors that MAAS will manage
|
|
|
|
* `bootstrap-maas.sh..........`: Build and bootstrap your MAAS environment
|
2021-02-01 11:54:48 +00:00
|
|
|
* `functions.sh...............`: Common function that the first 2 scripts use
|
|
|
|
* `user-data.yaml`............`: cloud-init for hypervisor nodes
|
2018-04-26 14:35:19 -04:00
|
|
|
|
2018-04-26 14:36:55 -04:00
|
|
|
There are plenty of options to customize its behavior, as well as drop in to
|
|
|
|
any step of the process without rebuilding the full MAAS from scratch.
|
2018-04-26 12:25:45 -04:00
|
|
|
|
2018-04-05 09:18:06 -04:00
|
|
|
## Requirements
|
|
|
|
|
2020-12-23 14:54:27 +00:00
|
|
|
Requires, minimally, `bash`, `jq` and a working Ubuntu environment. This
|
2018-04-26 14:36:55 -04:00
|
|
|
has **not** been tested on CentOS or Debian, but should work minimally on
|
|
|
|
those environments, if you choose to make that your host. Patches are
|
|
|
|
welcome, of course.
|
2018-04-26 12:25:45 -04:00
|
|
|
|
2021-02-01 11:54:48 +00:00
|
|
|
## Components - bootstrap-maas.sh
|
2018-04-05 09:18:06 -04:00
|
|
|
|
2018-04-19 16:08:54 -04:00
|
|
|
```
|
2018-04-26 14:36:55 -04:00
|
|
|
-a <cloud_name> Do EVERYTHING (maas, juju cloud, juju bootstrap)
|
|
|
|
-b Build out and bootstrap a new MAAS
|
|
|
|
-c <cloud_name> Add a new cloud + credentials
|
|
|
|
-i Just install the dependencies and exit
|
|
|
|
-j <name> Bootstrap the Juju controller called <name>
|
|
|
|
-n Create MAAS kvm nodes (to be imported into chassis)
|
|
|
|
-r Remove the entire MAAS server + dependencies
|
|
|
|
-t <cloud_name> Tear down the cloud named <cloud_name>
|
2018-04-19 16:08:54 -04:00
|
|
|
```
|
2018-04-05 09:18:06 -04:00
|
|
|
|
2021-02-01 11:54:48 +00:00
|
|
|
## Components - manage-hypervisor-nodes.sh
|
|
|
|
|
|
|
|
```
|
|
|
|
-a <node> Create and Deploy
|
|
|
|
-c <node> Creates Hypervisor
|
|
|
|
-d <node> Deploy Hypervisor
|
|
|
|
-k <node> Add Hypervisor as Pod
|
|
|
|
-n <node> Assign Networks
|
|
|
|
-p <node> Update Partitioning
|
|
|
|
-w <node> Removes Hypervisor
|
|
|
|
```
|
|
|
|
|
|
|
|
## Components - manage-maas-nodes.sh
|
|
|
|
|
|
|
|
```
|
|
|
|
-c Creates everything
|
|
|
|
-w Removes everything
|
|
|
|
-d Releases VMs, Clears Disk
|
|
|
|
-n Updates all the networks on all VMs
|
|
|
|
-r Recommission all VMs
|
|
|
|
-j Only create juju VM
|
|
|
|
-z Adds the machines to their respective zones
|
|
|
|
```
|
|
|
|
|
|
|
|
## Misc - functions.sh
|
|
|
|
|
|
|
|
## Misc - user-data.yaml
|
|
|
|
|
|
|
|
## Installing and testing MAAS
|
2018-04-05 09:18:06 -04:00
|
|
|
|
2020-12-23 14:54:27 +00:00
|
|
|
Just run `./bootstrap-maas.sh` with the appropriate option above.
|
|
|
|
Minimally, you'll want to use `./bootstrap-maas.sh -b` or `-i` to install
|
2018-04-26 14:36:55 -04:00
|
|
|
just the components needed.
|
2018-04-26 12:25:45 -04:00
|
|
|
|
2018-04-26 14:36:55 -04:00
|
|
|
I've done all the work needed to make this as idempotent as possible. It
|
2021-02-01 11:54:48 +00:00
|
|
|
will need some minor tweaks to get working with MAAS 2.4.x, because of the
|
2018-04-26 14:36:55 -04:00
|
|
|
newer PostgreSQL dependencies.
|