Ubuntu – Step by Step Install of MAAS and JUJU


I am working on understanding the pieces that I am missing in being able to deploy Juju across the other MAAS nodes. I don't know If I have a step out of place, or missing a few.

The MaaS server handles the DHCP and DNS. The router (which is at has DHCP turned off. Any assistance is greatly appreciated. When I am at the end I will either get a 409 error, or arbitrary pick tools 1.16.0 error. It is worth mentioning that local, and aws works fine. Hopefully with all of these steps spelled out it will help someone else along the way too.

Updated Nov 3 2013 In this scenario for the POC, there are three physical servers. One is a HP DL 140 with 2 cpu 8gb ram, the second server is a DELL Power Edge 860 Server 1 cpu w 4 cores and 8 gb ram, and the third is a rackable systems sp5000psl with two cpus and 8gb of ram. They are all able to be on their own seperate network with access to the internet or can be on the first network. (second network is, and the first is


Setting Up MAAS and JUJU – 12.04 LTS Clean install SSH only from the package selection during install

sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:maas-maintainers/stable      
sudo add-apt-repository ppa:juju/stable   
sudo apt-get update     
sudo apt-get dist-upgrade
sudo reboot     
sudo apt-get install maas maas-dns maas-dhcp    
sudo ufw disable    
sudo reboot

edit /etc/dhcp/dhcpd.conf

subnet netmask {
filename "pxelinux.0";

sudo maas createsuperuser
sudo maas-import-pxe-files

Login to MAAS http://10.x.x.x/MAAS

  • cluster controller configuration for eth0
  • manage dhcp and dns
  • IP
  • subnet
  • broadcast
  • routerip
  • ip low
  • ip high

Commissioning default and distro is set at 12.04

default domain is at local

sudo maas-cli login maas http://10.x.x.x/MAAS/api/1.0 api-key
ssh-keygen -t rsa -b 2048 - enter - no password  - cat id_rsa.pub and enter key into MAAS ssh 
sudo maas-cli maas nodes accept-all (interestingly enough I only get back [] when executing this )

PXE one machine, accept and commision, start and deploy.

sudo apt-get install juju-core juju-local

MAAS config:

    type: maas
    maas-server: '://10.x.x.x:80/MAAS'
    maas-oauth: 'MAAS_API_KEY'
    admin-secret: 'nothing'
    default-series: 'precise'

juju switch maas
sudo juju bootstrap --show-log

Best Answer

  • From what I understand in the comments, it sounds like you just have one server, which you have installed MaaS on.

    Having MaaS installed on a server doesn't just let you run VM's on the server using the MaaS API (interface). What MaaS does is let you manage other physical servers from the MaaS server, using the MaaS API.

    You can build a setup where the MaaS server manages virtual machines and you can use those virtual machines using the MaaS API, but this would be used more for testing MaaS out than for production -- there are better systems (that don't involve MaaS) to use for running a bunch of virtual servers on one physical machine (like LibVirt and KVM or even LXC, which I hear Juju has and is continuing to work on their support for).

    You might look at How do I configure juju for local usage? if you are wanting to just be able to deploy Juju charms That method would bypass using MaaS, and instead use something called containers (also referred to as LXC) that should let you deploy charms to the local computer but with the charm in it's own sandbox.

  • Related Question