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

103 lines
3.3 KiB
Markdown

# 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.
[README]: https://github.com/stackforge/kolla/tree/version-m3/devenv/README.md
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