← Back to team overview

maas-devel team mailing list archive

Re: MAAS: my hands on look

 

 Jon,

Thank you for that precise feedback! It's very much appreciated.

(More specific comments following inline)

On 12-04-30 06:04 PM, Jon wrote:
> Hello Francis,
> 
> Thanks for the link, I am very familiar with the documentation at this
> point.  Something I pointed out in my original reddit post was that the
> documentation seems to be lacking because the project appears to be
> under development (see:
> https://wiki.ubuntu.com/ServerTeam/MAAS/AvahiBoot
> <http://www.reddit.com/r/Ubuntu/comments/sxmy4/maas_my_handson_look/> ,
> for instance).  One big step that is missing from the initial setup
> documentation, is to add your key to the MaaS server under your specific
> user profile, couple that with the lack of any instructions on how to
> login to a newly provisioned box, and you can imagine the frustrated
> user who sets up his shiny new machines and can't access any of them,
> add to that the lack of "recovery" mode and you can quickly get into a
> very frustrating situation. 

Right. The reason there is no mention of the SSH key setup is that you
actually don't need this if you are using Juju - which is the current
preferred way to interact with provisioned machines.

The no-juju story is kind of weak at the moment. For example, the 'Start
node' button in released version will start the node but won't update
the UI to show that it's changed state. (That's now fixed and will be
part of a SRU.) But yes, we should document the non-Juju case when it's
polished a little more. I think you now get the gist of it though: 1)
Add your SSH key to your account 2) Start the node 3) ssh ubuntu@node

> 
> As far as the adding a node documentation is concerned, it's appears
> that this is still under revision because the under instructions for :
> "You will get a dialog *"Install or Enlist with Ubuntu MAAS Server"*
> with 3 options:
> 
> The three options listed are :
> 
>  1. TODO - Insert example
>  2. Specify MAAS Server by Name or Address
>  3. Create a new MAAS on this server. 
> 
> The next bullet explains option 1 however, "It is best to select option
> 1. which is the auto-discovered MAAS server. "
> 
> So maybe something like:
> 
>  1. Auto Discover - autodiscovered Servername Name / IP (Will only
>     appear if MaaS server is auto discovered)
>  2. Specify MAAS Server by Name or Address
>  3. Create a new MAAS on this server. 
> 
> Would be more appropriate.

Indeed, that's something that should be fixed :-/

> 
> Additionally, information on how to delegate nodes to users or
> information on how this decision is made would also be infinitely
> useful.  In a real world application, would you expect each customer to
> own their own MAAS?  This seems highly inefficient, as each new MaaS
> install requires a dedicated server (though I have had limited some
> success with MaaS installed on a virtual machine).

No, the vision is that all users should share one MAAS. But there isn't
way currently to reserve resources for particular users. (So it's
possible for a user to claim all nodes and starve other users.) Proper
delegation is on our roadmap and should be available around 12.04.01
(July). (Or before if you want to use the PPA version.)

> 
> Which brings me to my next question, how do I configure a VM to WoL?  I
> see that there is a virsh option, but no further information.  Simply
> selecting the "virsh" boot option does not enable MaaS to start VMs.  I
> have tried running a VMs in a Hypervisor on the MaaS server, however, I
> have not tried adding a node then creating a VM on that node and then
> adding that VM as a node to the MaaS server, the latter really doesn't
> seem like the way to do it as the former at least will make use of
> resource that would otherwise go unused (as I see no mechanism for
> controlling the MaaS server from MaaS).

MAAS isn't meant to manage VMs. VMs are seen as part of the IaaS story
(so deploy openstack using MAAS and then use that to manage VMs.) The
virsh option is really for testing purpose, because during development
we do uses VMs no mock nodes, and setting virsh as power management
means that virsh will be used to "power on" the VM. But there is no way
in MAAS (nor there will be) to create VM. You basically need to set-up a
VM using virsh and then add it to MAAS. (That's how we use it for
testing.) There is vdenv command in the source tree that is used to
manage VM for a development environment. (It's not part of the package
because that's something that is seen only for development.)

> 
> The final issue I was having was with Juju.  Now, I've had limited
> experience with juju, but I think my issues stem from issues with MaaS. 
> Initially I was getting an invalid SSH key from a `juju status`, after
> rebooting that machine, it reprovisioned itself (to deploy the SSH
> key?), then I was able to ssh to the box, however, `juju status` hung
> for a full hour before I had to kill it.  

I've encountered the 'invalid SSH key' from juju once or twice, but
never chase it up with the Juju team. It seems to happen with a failed
bootstrap in a way. Using juju destroy-environment and then juju
bootstrap again fixes the issue. But since a lot of people seems to be
encountering this, we should investigate the root cause.

The juju status that hungs probably means that there is a problem with
the boot process of the machine. It shouldn't take 1h to bootstrap juju
on the node. If you can ssh into the box, you could look into the Juju
agent log to see what problems it's encountering.

> Perhaps these are things that
> should be broached with the juju team, but as there is some MaaS + Juju
> cross over, I can't really say who's responsible for what.  Really, the
> only reason I am using juju is because I was excited to use MaaS; I've
> been working with Puppet and Chef so I was not initially very eager to
> learn another configuration management and deployment tool.  As I
> understand it, MaaS relies on Juju for configuration and deployment, so
> my hands are tied;  there really isn't an option to use say, MaaS + Chef.
> 

Juju is more an orchestration tool than a configuration management
solution.

Nonetheless, you could probably use MAAS + chef with a little bit of
integration glue. You would need to write a script that talks REST+Oauth
to start the machine. You can then use ssh to set-up chef, or probably
you could also make chef available at boot time through cloud-init.

> One last thing I'd like to inquire about is the other web-services that
> are running but unavailable, Cobbler and RabbitMQ being the two
> important ones.  I tried to install the cobbler web service but was
> given an error that cobbler-web requires cobbler, but if Cobbler is
> installed, why doesn't apt think so?  Is there a reason that these
> services aren't documented on a MaaS installation?

Cobbler is considered "under-the-hood" in MAAS (it's been used for a
fast bootstrap) but we are actually getting rid of it. It's causing more
problems than it helps. That's why the cobbler package isn't installed
(it's a trimmed version of the package called maas-provisioning).

> Personally, I would
> prefer to only have one Cobbler installation to maintain, and we already
> run a RabbitMQ cluster, so integrating Rabbit on the MaaS into the
> existing cluster would be trivial (or replacing the MQ on the MaaS
> server even).  I mean if there is a reason that these things aren't
> documented, would it be possible to document that?
> 

It's probably possible to make MAAS uses another RabbitMQ server than
the one installed. But that would make the packaging more complex. The
RabbitMQ server to use is actually stored in configuration files. But
I'm not sure we'll make that set-up supported as part of the packaging.

RabbitMQ configuration can be found in the django settings file
/etc/maas/maas_local_settings.py and in the txlongpoll.yaml file.

> Again, 12.04 has been out less than a week, so I'm sure there will be
> documentation coming.  Overall I think this is an awesome product, and
> I'm excited to be a part of it, if only in the tiniest of ways.   If
> there is something more I can do I would be happy to do so.  I hope that
> I don't come off as complaining, in my initial post on reddit I was
> assessing some of the gotchas on what I thought to be an awesome
> product, I hope that is coming through.
> 

Thanks again for your feedback!

Cheers

> Best Regards,
> Jon A
> 
> On Mon, Apr 30, 2012 at 3:18 PM, Francis J. Lacoste
> <francis.lacoste@xxxxxxxxxxxxx <mailto:francis.lacoste@xxxxxxxxxxxxx>>
> wrote:
> 
>     Hi Jon,
> 
>     The current documentation on MAAS is available at
>     https://maas.ubuntu.com/
> 
>     It covers installing, adding nodes and deploying services to it through
>     Juju.
> 
>     Cheers
> 
>     On 12-04-29 07:40 PM, Jon wrote:
>     > Hello All,
>     >
>     > I originally posted this on reddit,
>     >
>     http://www.reddit.com/r/Ubuntu/comments/sxmy4/maas_my_handson_look/ and
>     > was asked to post this here (then mistakenly posted this to the admin
>     > list...).
>     > I've removed the external links for readability (because I was
>     copying this
>     > into a web form at the time).
>     > My biggest complaint is lack of documentation, and with the
>     release of 12.04
>     > happening just days ago, I'm sure the docs are coming.  Thanks for
>     > making a great product, I can't wait to get MaaS working properly;
>      I'd
>     > love to sell the boss on a proper management solution.
>     >
>     > Original Post:
>     > ----
>     > Ubuntu 12.04 has been released, and with it comes a number of
>     > advancements.
>     > One of the projects I am particularly interested in is the new MaaS
>     > (Metal as a Service) which integrates nicely with Juju for automatic
>     > deployment and administration of hardware. Because the project appears
>     > to be under development, some of the documentation is lacking. That's
>     > ok, I'm sure in time the docs will be updated.
>     > Installation of the base MaaS server is rather straight forward. It's
>     > almost the same process as standard server installation except the
>     > additional three or four MaaS screens. For some reason the MaaS
>     install
>     > doesn't install the nice Ubuntu login screen when you ssh to a
>     machine.
>     > It is possible to install Ubuntu server, then apt-get install maas. I
>     > believe this installs everything, but you may need to install
>     maas-dhcp.
>     > At this point the, the docs say to run maas-import-isos then add your
>     > nodes. Two important points, 1) you can import nodes, but cannot
>     > comission them until the import is complete 2) you should add your SSH
>     > key (of the machine that is running juju as well as your machine)
>     before
>     > you commission your nodes. Click the down arrow next to your username,
>     > select preferences and add key. Add your keys from .ssh/id_rsa.pub.
>     > When you create a node, currently, the only way to start up a
>     machine is
>     > PXE boot, and MaaS must be the only DHCP server on the network. I
>     don't
>     > know if WoL because I don't have any devices that support it at the
>     > moment. However, i can say using virsh to start VMs does not work.
>     > I am unclear how I got the one machine to change from "ready" to "in
>     > use" status... After the initial boot and install, I was unable to
>     > access my new node. I got as far as juju status where I received a
>     > "invalid ssh key" warning. Only after I rebooted this node, the node I
>     > can't get my second node to change from ready to deployed, and juju
>     > status hangs (I literally literally let it run for an hour before
>     > killing the process, I was able to see some traffic between the nodes,
>     > but the traffic continued after killing the juju process).
>     > One thing that really bugs me, is all of the services that are
>     installed
>     > in non-standard locations. For instance maas-dhcp installs a DHCP
>     > server, but no information as to where the dhcp leases are stored, and
>     > as far as ps is concerned, there don't appear to be any processes with
>     > the letters dhcp in them:
>     > # ps aux | grep dhcp
>     >  root     11383  0.0  0.0   8096   932 pts/3    S+   19:31   0:00 grep
>     > --color=auto dhcp
>     > Installing the MaaS service also installs Cobbler and RabbitMQ, but
>     > information on accessing these systems is also non-existent, and apt
>     > doesn't even recognize they are installed.
>     > Overall, I think this is an awesome project, but needs some
>     > documentation.
>     >
>     >
> 
> 
>     --
>     Francis J. Lacoste
>     francis.lacoste@xxxxxxxxxxxxx <mailto:francis.lacoste@xxxxxxxxxxxxx>
> 
> 
> 
> 
> -- 
> Best Regards,
> Jonathan David
> 
> Please excuse any brevity or typos as this e-mail is most likely sent
> from a mobile device.
> 

-- 
Francis J. Lacoste
francis.lacoste@xxxxxxxxxxxxx

Attachment: signature.asc
Description: OpenPGP digital signature


References