Files
deb-keystone/doc/source/devref/development_environment.rst
Samriddhi Jain 196fd88c4a Expanded the best practices subsection in devdocs
As a part of reorganisation of developer docs, removed the
best practices documentation and made the subsections in it
as overall sections. More renaming and reorganisation will
be addressed in the following patches.

Change-Id: I21bf8fe3855fd1d441ec3dba342babc90516714d
2017-07-17 12:28:16 +05:30

2.8 KiB

Setting up a Development Environment

This document describes getting the source from keystone's Git Repository and setting the environment up for development purposes.

To install keystone from packaging, refer instead to OpenStack's User Documentation.

Prerequisites

This document assumes you are using an Ubuntu, Fedora, or openSUSE platform and that you have the following tools pre-installed on your system:

  • Python 2.7 and 3.5, as the programming language;
  • git, as the version control tool;

Reminder: If you are successfully using a different platform, or a different version of the above, please document your configuration here!

Getting the latest code

Make a clone of the code from our git repository and enter the directory:

$ git clone https://git.openstack.org/openstack/keystone.git
$ cd keystone

Development environment

For setting up the Python development environment and running tox testing environments, please refer to the Project Team Guide: Python Project Guide, the OpenStack guide on wide standard practices around the use of Python.

That documentation will guide you to configure your development environment and run keystone tests using tox, which uses virtualenv to isolate the Python environment. After running it, notice the existence of a .tox directory.

Verifying keystone is set up

Once set up, you should be able to invoke Python and import the libraries:

$ .tox/py27/bin/python -c "import keystone"

If you can import keystone without a traceback, you should be ready to move on to the next sections.

Database setup

The script tools/test-setup.sh sets up databases as used by the unit tests.