130 lines
3.6 KiB
ReStructuredText
130 lines
3.6 KiB
ReStructuredText
Installation
|
|
============
|
|
|
|
Development environment setup
|
|
-----------------------------
|
|
|
|
Ideally, you should have one powerful machine ("virt host") on which you will
|
|
install TripleO (the backend). For the development work on the TripleO UI, we
|
|
recommend installing and configuring the UI directly on your workstation ("local
|
|
machine") and then pointing it to the machine hosting the TripleO installation.
|
|
|
|
Install TripleO
|
|
---------------
|
|
|
|
Do these steps on the virt host.
|
|
|
|
Follow the `official docs`_ to install and configure TripleO (follow the step up to
|
|
and including the Undercloud installation).
|
|
|
|
.. _official docs: http://docs.openstack.org/developer/tripleo-docs/index.html
|
|
|
|
Once the undercloud is installed, you will need to create a tunnel on your virt
|
|
host, to make the services running on undercloud available to the UI. The tunnel
|
|
has the following format:
|
|
|
|
::
|
|
|
|
ssh -N root@<undercloud_ip> \
|
|
-L 0.0.0.0:<service_port>:<service_ip>:<service_port>
|
|
# Repeat the last line for each service.
|
|
|
|
If you installed the UI with SSL the ``service_ip`` is the value of
|
|
``undercloud_public_ip`` in undercloud.conf. The ports needed are: 13385,
|
|
13000, 13004, 13808, 9000, 13989 and 443.
|
|
|
|
If you installed the UI **without** SSL, the ``service_ip`` is the value of
|
|
``network_gateway`` in undercloud.conf. The ports needed are: 6385, 5000, 8004,
|
|
8080, 9000, 8989 and 3000.
|
|
|
|
Example (with SSL enabled):
|
|
|
|
::
|
|
|
|
ssh -N root@192.168.122.205 \
|
|
-L 0.0.0.0:13385:192.0.2.2:13385 \
|
|
-L 0.0.0.0:13000:192.0.2.2:13000 \
|
|
-L 0.0.0.0:13004:192.0.2.2:13004 \
|
|
-L 0.0.0.0:13808:192.0.2.2:13808 \
|
|
-L 0.0.0.0:9000:192.0.2.2:9000 \
|
|
-L 0.0.0.0:13989:192.0.2.2:13989 \
|
|
-L 0.0.0.0:443:192.0.2.2:443
|
|
|
|
Example (without SSL):
|
|
|
|
::
|
|
|
|
ssh -N root@192.168.122.205 \
|
|
-L 0.0.0.0:6385:192.0.2.1:6385 \
|
|
-L 0.0.0.0:5000:192.0.2.1:5000 \
|
|
-L 0.0.0.0:8004:192.0.2.1:8004 \
|
|
-L 0.0.0.0:8080:192.0.2.1:8080 \
|
|
-L 0.0.0.0:9000:192.0.2.1:9000 \
|
|
-L 0.0.0.0:8989:192.0.2.1:8989 \
|
|
-L 0.0.0.0:3000:192.0.2.1:3000
|
|
|
|
Install Validations
|
|
-------------------
|
|
|
|
To install Validations as part of your undercloud, make sure
|
|
``enable_validations`` is set to ``true`` in ``undercloud.conf``, prior to
|
|
running ``openstack undercloud install``.
|
|
|
|
Install TripleO UI
|
|
------------------
|
|
|
|
Do these steps on the local machine.
|
|
|
|
Install nodejs and npm:
|
|
|
|
::
|
|
|
|
sudo dnf install nodejs
|
|
|
|
To compile and install native addons from npm you may also need to install build
|
|
tools:
|
|
|
|
::
|
|
|
|
sudo dnf install gcc-c++ make
|
|
|
|
Clone the TripleO UI repo, change into the newly clone directory, install the
|
|
dependencies and start the development server:
|
|
|
|
::
|
|
|
|
git clone https://github.com/openstack/tripleo-ui.git
|
|
cd tripleo-ui
|
|
npm install
|
|
npm start
|
|
|
|
Optionally start Karma to run tests after every change:
|
|
|
|
::
|
|
|
|
npm run test:watch
|
|
|
|
Copy ``dist/tripleo_ui_config.js.sample`` to ``dist/tripleo_ui_config.js``,
|
|
uncomment the lines pertaining to OpenStack services (``keystone``, ``tripleo``,
|
|
etc), and add the urls where these services can be accessed (in this case, the
|
|
IP address of the virt host). You can set values for the other services as well
|
|
to override the values coming from the keystone serviceCatalog.
|
|
|
|
To access the UI, navigate to ``http://localhost:3000/``
|
|
|
|
Troubleshooting installation
|
|
----------------------------
|
|
|
|
In case of problems with the nodejs installation, refer to this `guide`_.
|
|
|
|
.. _guide: https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
|
|
|
|
In case of errors during ``npm install``, remove ``node_modules`` directory and
|
|
clean npm cache, then run ``npm install`` again:
|
|
|
|
::
|
|
|
|
rm -rf node_modules
|
|
npm cache clean
|
|
npm install
|