kolla/docs/developer-env.md
Steven Dake afcc1569b8 Work around Ubuntu 14.04 Kernel bug with --net=host
This patch builds pam with no auditing.  This allows the images to
operate on Ubuntu 14.04 which contain a kernel bug and have not been
updated.

Change-Id: I2b8bd192abcc26df27ca276dc3d0fde377048f20
2015-03-26 13:39:16 -07:00

3.3 KiB

Developer Environment

If you are developing Kolla on an existing OpenStack cloud that supports Heat, then follow the Heat template README. Otherwise, follow the instructions below to manually create your Kolla development environment.

In order to run Kolla, it is mandatory to run a version of docker-compose that includes pid: host support. One of the authors of Kolla has a pull request outstanding that the docker-compose maintainers have said they would merge shortly.

The pull request is:

https://github.com/docker/compose/pull/1011

Until then, it must be retrieved via git and installed:

git clone http://github.com/sdake/fig
cd fig
sudo pip install -e .
sudo pip install -U docker-py
sudo pip install -e .
sudo pip install six==1.7.3

The docker-compose version available via the sdake repository has been rebased on to a master version of docker-compose which requires the docker API 1.18. the docker API 1.18 is not available in distro packaging and is only available by building from source. Docker also distributes pre-built binaries for docker. It is recommended to just run the docker provided binaries rather then building from source:

Further complicating matters, docker requires the replace_execdriver branch from:

https://github.com/LK4D4/docker/tree/replace_execdriver

See:

https://github.com/docker/docker/issues/11760
https://github.com/docker/compose/issues/812

If a version of Docker other than the replace_exec driver branch is currently running on your system, stop it:

sudo systemctl stop docker
sudo killall -9 docker

Next, download and run the Docker 1.6 lk4d4 (Docker Inc Employee) built binary:

Login to dropbox and download https://www.dropbox.com/s/vyz79t4r7nicltc/docker-1.6.0-rc2?dl=0
mv docker-1.6.-rc2 docker
sudo ./docker -d &

The basic starting environment will be created using docker-compose. This environment will start up the openstack services listed in the compose directory.

To start, setup your environment variables.

$ cd kolla
$ ./tools/genenv

The genenv script will create a compose/openstack.env file and an openrc file in your current directory. The openstack.env file contains all of your initialized environment variables, which you can edit for a different setup.

Next, run the start script.

$ ./tools/start

The start script is responsible for starting the containers using docker-compose -f <osp-service-container> up -d.

If you want to start a container set by hand use this template

$ docker-compose -f glance-api-registry.yml up -d

Debug

All Docker commands should be run from the directory of the Docker binary, by default this is /.

You can follow a container's status by doing

$ sudo ./docker ps -a

If any of the containers exited you can check the logs by doing

$ sudo ./docker logs <glance-api-container>
$ docker-compose logs <glance-api-container>

If you want to start a individual service like glance-api by hand, then use this template. This is a good method to test and troubleshoot an individual container.

$ sudo ./docker run --name glance-api -d \
         --net=host
         --env-file=openstack.env kollaglue/fedora-rdo-glance-api:latest