de38f2767f
Training labs parser will allow us to automatically parse RST code to BASH. This BASH code in turn will be invoked by install-guides for validating the install guides. To provide the correct information to the parser for generating BASH code, there are a few changes required to the RST syntax. Introduces the following changes to RST syntax: - `.. end` This tag provides information for the parser to stop extracting the given block which could be code, file injection or configuration file edit. - `.. endonly` This tag provides information for the parser with the correct distro-switch logic for identifying distro-specific code. For .. only:: tags, it is better to avoid nesting. If nesting is not avoidable then it is preferable to add the .. endonly tag to close the outer block immediately. - Extra new lines in code-blocks Some commands in the code-blocks provides the expected output of the given command. This is not a BASH command which we want to run but rather some visual niceness for the users. These new lines provides the parser information to identify the end of the command. This basic logic would be something similar to find '\r\n' which at least for python means new empty line. - `mysql>` Introducing this operator for mysql commands. This could potentially be changed to `pgsql>` or similar for other SQL type databases. This allows the parser to identify mysql commands and then run them in mysql instead of in 'sh' or 'bash'. - `.. path` Introducing this tag to provide the parser with the information with the path of the configuration file. Using the description text for the same is not reliable since the description text may not be consistent. This commit should ideally introduce all the syntax changes required for the parser to convert the code-blocks in here to BASH code. These changes should have no impact on the HTML output of the RST code. Change-Id: I47830b1bc61c8b1a0f3350932d15aa3ce88fa672
91 lines
3.2 KiB
ReStructuredText
91 lines
3.2 KiB
ReStructuredText
Create OpenStack client environment scripts
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The previous section used a combination of environment variables and
|
|
command options to interact with the Identity service via the
|
|
``openstack`` client. To increase efficiency of client operations,
|
|
OpenStack supports simple client environment scripts also known as
|
|
OpenRC files. These scripts typically contain common options for
|
|
all clients, but also support unique options. For more information, see the
|
|
`OpenStack End User Guide <http://docs.openstack.org/user-guide/common/
|
|
cli_set_environment_variables_using_openstack_rc.html>`__.
|
|
|
|
Creating the scripts
|
|
--------------------
|
|
|
|
Create client environment scripts for the ``admin`` and ``demo``
|
|
projects and users. Future portions of this guide reference these
|
|
scripts to load appropriate credentials for client operations.
|
|
|
|
#. Edit the ``admin-openrc`` file and add the following content:
|
|
|
|
.. code-block:: bash
|
|
|
|
export OS_PROJECT_DOMAIN_NAME=default
|
|
export OS_USER_DOMAIN_NAME=default
|
|
export OS_PROJECT_NAME=admin
|
|
export OS_USERNAME=admin
|
|
export OS_PASSWORD=ADMIN_PASS
|
|
export OS_AUTH_URL=http://controller:35357/v3
|
|
export OS_IDENTITY_API_VERSION=3
|
|
export OS_IMAGE_API_VERSION=2
|
|
|
|
.. end
|
|
|
|
Replace ``ADMIN_PASS`` with the password you chose
|
|
for the ``admin`` user in the Identity service.
|
|
|
|
#. Edit the ``demo-openrc`` file and add the following content:
|
|
|
|
.. code-block:: bash
|
|
|
|
export OS_PROJECT_DOMAIN_NAME=default
|
|
export OS_USER_DOMAIN_NAME=default
|
|
export OS_PROJECT_NAME=demo
|
|
export OS_USERNAME=demo
|
|
export OS_PASSWORD=DEMO_PASS
|
|
export OS_AUTH_URL=http://controller:5000/v3
|
|
export OS_IDENTITY_API_VERSION=3
|
|
export OS_IMAGE_API_VERSION=2
|
|
|
|
.. end
|
|
|
|
Replace ``DEMO_PASS`` with the password you chose
|
|
for the ``demo`` user in the Identity service.
|
|
|
|
Using the scripts
|
|
-----------------
|
|
|
|
To run clients as a specific project and user, you can simply load
|
|
the associated client environment script prior to running them.
|
|
For example:
|
|
|
|
#. Load the ``admin-openrc`` file to populate
|
|
environment variables with the location of the Identity service
|
|
and the ``admin`` project and user credentials:
|
|
|
|
.. code-block:: console
|
|
|
|
$ . admin-openrc
|
|
|
|
.. end
|
|
|
|
#. Request an authentication token:
|
|
|
|
.. code-block:: console
|
|
|
|
$ openstack token issue
|
|
|
|
+------------+-----------------------------------------------------------------+
|
|
| Field | Value |
|
|
+------------+-----------------------------------------------------------------+
|
|
| expires | 2016-02-12T20:44:35.659723Z |
|
|
| id | gAAAAABWvjYj-Zjfg8WXFaQnUd1DMYTBVrKw4h3fIagi5NoEmh21U72SrRv2trl |
|
|
| | JWFYhLi2_uPR31Igf6A8mH2Rw9kv_bxNo1jbLNPLGzW_u5FC7InFqx0yYtTwa1e |
|
|
| | eq2b0f6-18KZyQhs7F3teAta143kJEWuNEYET-y7u29y0be1_64KYkM7E |
|
|
| project_id | 343d245e850143a096806dfaefa9afdc |
|
|
| user_id | ac3377633149401296f6c0d92d79dc16 |
|
|
+------------+-----------------------------------------------------------------+
|
|
|
|
.. end
|