User Tools

Site Tools


juju-centos

This is an old revision of the document!


Using Juju and MaaS with CentOS

Initial support has landed in master branch for CentOS 7 and is planned to be released with version 1.24 of juju. Keep in mind that this is an initial release that does have slight differences than its Ubuntu counterpart. We will discuss those issues later on.

First off, to get started you should follow our other two tutorials:

http://wiki.cloudbase.it/maas

http://wiki.cloudbase.it/juju

This will give you a ready to go MaaS and Juju environment. Make sure you can bootstrap a trusty state machine before following the next steps to make debugging easier.

Generating MaaS images for CentOS 7

There is a nice project made available by Canonical that will facilitate the creation of a new CentOS image compatible with MaaS. We are using MaaS to test this, because its the easiest way to have a locally working lab for testing. Due to limitations to container support for CentOS, we cannot use the local provider yet. More details on that later.

Lets get a local copy of maas-iumagebuilder:

$ bzr branch lp:maas-image-builder
$ cd maas-image-builder
# python setup.py install

You may need to change the python-stevedore dependency to stevedore in setup.py for the installation to work. Once the image builder is installed, you need to make sure kvm works on the ubuntu machine that you're building the image on. Have a look at https://help.ubuntu.com/community/KVM/Installation for a guide on checking if it's enabled and installing it if necessary.

  • Run the command for creating the image

:!: This will probably take a very long time. You can do the rest of the juju configuration in the meantime. However, before bootstrapping a node with CentOS, the image should be uploaded to MaaS.

maas-image-builder -o centos7-amd64-root-tgz centos --edition 7
  • Import the image in MaaS
maas <session-name> boot-resources create title=centos7 name=centos7 architecture=amd64/generic content@=centos7-amd64-root-tgz

Create jujud agent tools

  • While the image is uploading, you can create the tools and make them available to the MaaS machines. You do not need to create the trusty ones if they're already there.
mkdir -p ~/.juju/tools/releases
cd ~/.juju/tools/releases
cp ~/golang/bin/jujud* .
tar -czf juju-1.24-centos7-amd64.tgz jujud
tar -czf juju-1.24-trusty-amd64.tgz jujud
rm jujud
  • If you followed the previous tutorials you may have already generated the metadata. In that case there may be some bugs, so it is better to remove it first.
rm -rf ~/.juju/tools/streams
  • Generate the metadata and make it available locally
juju-metadata generate-tools
cp -r ~/.juju/tools /var/www/html
chmod -R 755 /var/www/html/tools

Editing your environments.yaml

  • Now you should edit the environments.yaml file in ~/.juju. Make maas the default provider. Then in the section for maas configuration set:
agent-metadata-url: http://<MaaS-Machine-IP>/tools
  • If you want to bootstrap using a CentOS machine you also need to set:
default-series: 'centos7'
  • Moreover sometimes it might complain about not having an admin-secret. You can just provide a dummy one.
  • At this point you should be able to run:
juju bootstrap
  • Once this is complete you can deploy Juju charms on either Ubuntu, CentOS or Windows(provided you followed the previous tutorials fully).

Limitations

While these issues are present in this initial release, we are working on remedying them as soon as possible. Some may take longer then others, but we do want to have 1:1 feature set on all supported platforms.

  • no support for yum mirrors/proxies. At the moment the same mirror used for apt proxies is used for yum as well
  • no mongo tools(which implies no backups amongst other things)
juju-centos.1431449585.txt.gz · Last modified: 2015/05/12 19:53 (external edit)