Merge "Update development setup doc"
This commit is contained in:
commit
0f911ca933
@ -26,7 +26,7 @@ Prerequisites
|
|||||||
This document assumes you are using an Ubuntu, Fedora, or openSUSE platform and
|
This document assumes you are using an Ubuntu, Fedora, or openSUSE platform and
|
||||||
that you have the following tools pre-installed on your system:
|
that you have the following tools pre-installed on your system:
|
||||||
|
|
||||||
- python_ 3.6, as the programming language;
|
- python_ 3.11 or later, as the programming language;
|
||||||
- git_, as the version control tool;
|
- git_, as the version control tool;
|
||||||
|
|
||||||
.. NOTE::
|
.. NOTE::
|
||||||
@ -60,11 +60,13 @@ Clone the keystone repository:
|
|||||||
$ git clone https://opendev.org/openstack/keystone.git
|
$ git clone https://opendev.org/openstack/keystone.git
|
||||||
$ cd keystone
|
$ cd keystone
|
||||||
|
|
||||||
Install the keystone web service:
|
Prepare dedicated virtual environment (python 3.11 is used here as an example.
|
||||||
|
Please use any supported version)
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ pip install -e .
|
$ tox -e py311 --notest
|
||||||
|
$ source .tox/py311/bin/activate
|
||||||
|
|
||||||
.. NOTE::
|
.. NOTE::
|
||||||
|
|
||||||
@ -130,43 +132,23 @@ view a sample paste file.
|
|||||||
Bootstrapping a test deployment
|
Bootstrapping a test deployment
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
You can use the ``keystone-manage bootstrap`` command to pre-populate the
|
By default an internal sqlite database can be used for local development. Under
|
||||||
database with necessary data.
|
certain conditions (i.e. when exception is being raised during runtime) sqlite
|
||||||
|
switches into the read only mode. After restart it is working again. It is
|
||||||
Verifying keystone is set up
|
therefore suggested to use real mysql or postgresql database instead.
|
||||||
============================
|
|
||||||
|
|
||||||
Once set up, you should be able to invoke Python and import the libraries:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
$ .tox/py36/bin/python -c "import keystone"
|
|
||||||
|
|
||||||
If you can import keystone without a traceback, you should be ready to move on
|
|
||||||
to the next sections.
|
|
||||||
|
|
||||||
You can run keystone using a host of wsgi implementations or web servers. The
|
|
||||||
following uses ``uwsgi``:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
$ uwsgi --http 127.0.0.1:5000 --wsgi-file $(which keystone-wsgi-public)
|
|
||||||
|
|
||||||
This runs Keystone with the configuration the etc/ directory of the project.
|
|
||||||
See :doc:`../configuration/config-options` for details on how Keystone is configured. By default,
|
|
||||||
Keystone is configured with SQL backends.
|
|
||||||
|
|
||||||
Database setup
|
Database setup
|
||||||
==============
|
--------------
|
||||||
|
|
||||||
The script ``tools/test-setup.sh`` sets up databases as used by the
|
Dedicated mysql/postgresql database can be prepared using the script
|
||||||
unit tests.
|
``tools/test-setup.sh``. In such case be sure to set ``[database].connection``
|
||||||
|
option in the ``etc/keystone.conf`` file properly.
|
||||||
|
|
||||||
Initializing Keystone
|
Initializing Keystone
|
||||||
=====================
|
---------------------
|
||||||
|
|
||||||
Before using keystone, it is necessary to create the database tables and ensures
|
Before using keystone, it is necessary to create the database tables and ensure
|
||||||
the database schemas are up to date, perform the following:
|
the database schemas are up to date. This is can be done as following:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
@ -184,6 +166,14 @@ following from the Keystone root project directory:
|
|||||||
|
|
||||||
$ find . -name "*.pyc" -delete
|
$ find . -name "*.pyc" -delete
|
||||||
|
|
||||||
|
|
||||||
|
Once the database itself is prepared use to command ``keystone-manage db_sync``
|
||||||
|
to create necessary objects in a database.
|
||||||
|
|
||||||
|
You can use the ``keystone-manage bootstrap`` command to pre-populate the
|
||||||
|
database with necessary data. It requires ``--bootstrap-password`` parameter to
|
||||||
|
be given with the password for the admin user.
|
||||||
|
|
||||||
Initial Sample Data
|
Initial Sample Data
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
@ -214,6 +204,39 @@ The `python-openstackclient`_ can be installed using the following:
|
|||||||
|
|
||||||
$ pip install python-openstackclient
|
$ pip install python-openstackclient
|
||||||
|
|
||||||
|
Verifying keystone is set up
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
Once set up, you should be able to invoke Python and import the libraries:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ .tox/py311/bin/python -c "import keystone"
|
||||||
|
|
||||||
|
If you can import keystone without a traceback, you should be ready to move on
|
||||||
|
to the next sections.
|
||||||
|
|
||||||
|
|
||||||
|
Running Keystone
|
||||||
|
----------------
|
||||||
|
|
||||||
|
You can run keystone using a host of wsgi implementations or web servers. The
|
||||||
|
following uses ``uwsgi`` (you may first need to install uwsgi for example with
|
||||||
|
``pip install uwsgi``):
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ uwsgi --http-socket :5000 -w "keystone.server.wsgi:initialize_public_application()"
|
||||||
|
|
||||||
|
This runs Keystone with the configuration the etc/ directory of the project.
|
||||||
|
See :doc:`../configuration/config-options` for details on how Keystone is
|
||||||
|
configured. By default, Keystone is configured with SQL backends.
|
||||||
|
|
||||||
|
Depending on use case (i.e. there is an apache webserver deploed in front of
|
||||||
|
the Keystone to be able to test the federation setup) it may be required to
|
||||||
|
also expose wsgi socket in the uwsgi (i.e. adding ``-s :5001 -b 65535`` runtime
|
||||||
|
options).
|
||||||
|
|
||||||
Interacting with Keystone
|
Interacting with Keystone
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user