docs: Add docker install of skyline-apiserver

1. Add docker install of skyline-apiserver.
2. Change the logo images folder
3. Change the swagger.json folder
4. Delete docs folder

Change-Id: If0ae9a83dd9465af7057115d5b803bc641347a66
This commit is contained in:
Boxiang Zhu 2022-08-19 17:22:24 +08:00
parent 33d5dd7023
commit fd7f1ea843
35 changed files with 230 additions and 196 deletions

View File

@ -1,8 +1,6 @@
================== ===========================
Skyline API Server OpenStack Skyline APIServer
================== ===========================
`English <./README.rst>`__ \| 简体中文
Skyline 是一个经过 UI 和 UE 优化过的 OpenStack 仪表盘,支持 OpenStack Skyline 是一个经过 UI 和 UE 优化过的 OpenStack 仪表盘,支持 OpenStack
Train 及以上版本。Skyline 拥有现代化的技术栈和生态,更易于开发者维护和 Train 及以上版本。Skyline 拥有现代化的技术栈和生态,更易于开发者维护和
@ -13,8 +11,6 @@ Skyline 的吉祥物是九色鹿。九色鹿源自于敦煌壁画《九色鹿本
Skyline 像九色鹿一样,轻巧、优雅,而又能力强大,为 OpenStack 社区和用户 Skyline 像九色鹿一样,轻巧、优雅,而又能力强大,为 OpenStack 社区和用户
提供更优质的 Dashboard。 提供更优质的 Dashboard。
|image0|
**目录** **目录**
- `Skyline API Server <#skyline-api-server>`__ - `Skyline API Server <#skyline-api-server>`__
@ -280,5 +276,4 @@ Kolla Ansible 部署
|image1| |image1|
.. |image0| image:: docs/images/OpenStack_Project_Skyline_horizontal.png .. |image1| image:: doc/source/images/logo/nine-color-deer-64.png
.. |image1| image:: docs/images/nine-color-deer-64.png

View File

@ -1,198 +1,33 @@
================== ===========================
Skyline API Server OpenStack Skyline APIServer
================== ===========================
.. image:: https://governance.openstack.org/tc/badges/skyline-apiserver.svg .. image:: https://governance.openstack.org/tc/badges/skyline-apiserver.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html :target: https://governance.openstack.org/tc/reference/tags/index.html
.. Change things from this point on .. Change things from this point on
OpenStack Skyline APIServer is the back-end server of Skyline.
English \| `简体中文 <./README-zh_CN.rst>`__ Skyline is an OpenStack dashboard optimized by UI and UE, support OpenStack
Train+. It has a modern technology stack and ecology, is easier for developers
to maintain and operate by users, and has higher concurrency performance.
Skyline is an OpenStack dashboard optimized by UI and UE, support You can learn more about Skyline APIServer at:
OpenStack Train+. It has a modern technology stack and ecology, is
easier for developers to maintain and operate by users, and has higher
concurrency performance.
Skyline's mascot is the nine-color deer. The nine-color deer comes from * `Wiki <https://wiki.openstack.org/Skyline/>`__
Dunhuang mural “the nine-color king deer”, whose moral is Buddhist * `Developer Docs <https://docs.openstack.org/skyline-apiserver/latest/>`__
cause-effect and gratefulness, which is consistent with 99cloud's * `Blueprints <https://blueprints.launchpad.net/skyline-apiserver/>`__
philosophy of embracing and feedback community since its inception. We * `Release notes <https://docs.openstack.org/releasenotes/skyline-apiserver/>`__
also hope Skyline can keep light, elegant and powerful as the nine-color
deer, to provide a better dashboard for the openstack community and
users.
|image0| Getting Started
---------------
**Table of contents** If you'd like to run from the master branch, you can clone the git repo:
- `Skyline API Server <#skyline-api-server>`__ git clone https://opendev.org/openstack/skyline-apiserver
- `Resources <#resources>`__ You can raise bugs on `Launchpad <https://bugs.launchpad.net/skyline-apiserver>`__
- `Quick Start <#quick-start>`__
- `Prerequisites <#prerequisites>`__
- `Configure <#configure>`__
- `Deployment with Sqlite <#deployment-with-sqlite>`__
- `Deployment with MariaDB <#deployment-with-mariadb>`__
- `Test Access <#test-access>`__
- `Develop Skyline-apiserver <#develop-skyline-apiserver>`__
- `Dependent tools <#dependent-tools>`__
- `Install & Run <#install--run>`__
- `Devstack Integration <#devstack-integration>`__
- `Kolla Ansible Deployment <#kolla-ansible-deployment>`__
Resources
---------
- `Wiki <https://wiki.openstack.org/wiki/Skyline>`__
- `Bug Tracker <https://launchpad.net/skyline-apiserver>`__
Quick Start
-----------
Prerequisites
~~~~~~~~~~~~~
- An OpenStack environment that runs at least core components and can
access OpenStack components through Keystone endpoints
- A Linux server with container engine
(`docker <https://docs.docker.com/engine/install/>`__ or
`podman <https://podman.io/getting-started/installation>`__)
installed
Configure
~~~~~~~~~
1. Edit the ``/etc/skyline/skyline.yaml`` file in linux server
You can refer to the `sample file <etc/skyline.yaml.sample>`__, and
modify the following parameters according to the actual environment
- database_url
- keystone_url
- default_region
- interface_type
- system_project_domain
- system_project
- system_user_domain
- system_user_name
- system_user_password
Deployment with Sqlite
~~~~~~~~~~~~~~~~~~~~~~
1. Run the skyline_bootstrap container to bootstrap
.. code:: bash
rm -rf /tmp/skyline && mkdir /tmp/skyline
docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml -v /tmp/skyline:/tmp --net=host 99cloud/skyline:latest
# Check bootstrap is normal `exit 0`
docker logs skyline_bootstrap
2. Run the skyline service after bootstrap is complete
.. code:: bash
docker rm -f skyline_bootstrap
..
If you need to modify skyline port, add
``-e LISTEN_ADDRESS=<ip:port>`` in the following command
``LISTEN_ADDRESS`` defaults to ``0.0.0.0:9999``
.. code:: bash
docker run -d --name skyline --restart=always -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml -v /tmp/skyline:/tmp --net=host 99cloud/skyline:latest
Deployment with MariaDB
~~~~~~~~~~~~~~~~~~~~~~~
1. Connect to database of the OpenStack environment and create the
``skyline`` database
.. code:: bash
$ mysql -u root -p
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS skyline DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.001 sec)
2. Grant proper access to the databases
Replace ``SKYLINE_DBPASS`` with a suitable password.
.. code:: bash
MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY 'SKYLINE_DBPASS';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' IDENTIFIED BY 'SKYLINE_DBPASS';
Query OK, 0 rows affected (0.001 sec)
3. Create skyline service credentials
.. code:: bash
# Source the admin credentials
$ source admin-openrc
# Create the skyline user
$ openstack user create --domain default --password-prompt skyline
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 1qaz2wsx3edc4rfv5tgb6yhn7ujm8ikl |
| name | skyline |
| options | {} |
| password_expires_at | 2020-08-08T08:08:08.123456 |
+---------------------+----------------------------------+
# Add the admin role to the skyline user:
$ openstack role add --project service --user skyline admin
4. Run the skyline_bootstrap container to bootstrap
.. code:: bash
docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host 99cloud/skyline:latest
# Check bootstrap is normal `exit 0`
docker logs skyline_bootstrap
5. Run the skyline service after bootstrap is complete
.. code:: bash
docker rm -f skyline_bootstrap
..
If you need to modify skyline port, add
``-e LISTEN_ADDRESS=<ip:port>`` in the following command
``LISTEN_ADDRESS`` defaults to ``0.0.0.0:9999``
.. code:: bash
docker run -d --name skyline --restart=always -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host 99cloud/skyline:latest
Test Access
~~~~~~~~~~~
You can now access the dashboard: ``https://<ip_address>:9999``
Develop Skyline-apiserver Develop Skyline-apiserver
------------------------- -------------------------
@ -295,5 +130,4 @@ Kolla Ansible Deployment
|image1| |image1|
.. |image0| image:: docs/images/OpenStack_Project_Skyline_horizontal.png
.. |image1| image:: docs/images/nine-color-deer-64.png .. |image1| image:: docs/images/nine-color-deer-64.png

View File

Before

Width:  |  Height:  |  Size: 342 KiB

After

Width:  |  Height:  |  Size: 342 KiB

View File

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 131 KiB

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

Before

Width:  |  Height:  |  Size: 729 KiB

After

Width:  |  Height:  |  Size: 729 KiB

View File

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 675 KiB

After

Width:  |  Height:  |  Size: 675 KiB

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 765 KiB

After

Width:  |  Height:  |  Size: 765 KiB

View File

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 703 KiB

After

Width:  |  Height:  |  Size: 703 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -18,9 +18,23 @@ Skyline APIServer (API of OpenStack Modern Dashboard)
Introduction Introduction
============ ============
`Skyline APIServer <https://github.com/openstack/skyline-apiserver>`_ is one .. image:: images/logo/skyline.png
part of OpenStack Modern Dashboard, which provides RESTful APIs to
`Skyline Console <https://github.com/openstack/skyline-console>`_. OpenStack `Skyline APIServer <https://github.com/openstack/skyline-apiserver>`_
is the back-end server of Skyline. It provides RESTful APIs to `Skyline Console
<https://github.com/openstack/skyline-console>`_.
Skyline is an OpenStack dashboard optimized by UI and UE, support OpenStack
Train+. It has a modern technology stack and ecology, is easier for developers
to maintain and operate by users, and has higher concurrency performance.
Skyline's mascot is the nine-color deer. The nine-color deer comes from
Dunhuang mural “the nine-color king deer”, whose moral is Buddhist
cause-effect and gratefulness, which is consistent with 99cloud's
philosophy of embracing and feedback community since its inception. We
also hope Skyline can keep light, elegant and powerful as the nine-color
deer, to provide a better dashboard for the openstack community and
users.
Using Skyline APIServer Using Skyline APIServer
======================= =======================

View File

@ -0,0 +1,182 @@
.. _docker-install-ubuntu:
Docker Install Ubuntu
~~~~~~~~~~~~~~~~~~~~~
This section describes how to install and configure the Skyline APIServer
service. Before you begin, you must have a ready OpenStack environment. At
least it includes ``keystone, glance, nova and neutron service``.
.. note::
You have install the docker service on the host machine. You can follow
the `docker installation <https://docs.docker.com/engine/install/ubuntu/>`_.
Prerequisites
-------------
Before you install and configure the Skyline APIServer service, you
must create a database.
#. To create the database, complete these steps:
#. Use the database access client to connect to the database
server as the ``root`` user:
.. code-block:: console
# mysql
#. Create the ``skyline`` database:
.. code-block:: console
MariaDB [(none)]> CREATE DATABASE skyline DEFAULT CHARACTER SET \
utf8 DEFAULT COLLATE utf8_general_ci;
#. Grant proper access to the ``skyline`` database:
.. code-block:: console
MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' \
IDENTIFIED BY 'SKYLINE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' \
IDENTIFIED BY 'SKYLINE_DBPASS';
Replace ``SKYLINE_DBPASS`` with a suitable password.
#. Exit the database access client.
#. Source the ``admin`` credentials to gain access to admin-only
CLI commands:
.. code-block:: console
$ . admin-openrc
#. To create the service credentials, complete these steps:
#. Create a ``skyline`` user:
.. code-block:: console
$ openstack user create --domain default --password-prompt skyline
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 1qaz2wsx3edc4rfv5tgb6yhn7ujm8ikl |
| name | skyline |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
#. Add the ``admin`` role to the ``skyline`` user:
.. code-block:: console
$ openstack role add --project service --user skyline admin
.. note::
This command provides no output.
Install and configure components
--------------------------------
We will install the Skyline APIServer service from docker image.
#. Pull the Skyline APIServer service image from Docker Hub:
.. code-block:: console
$ sudo docker pull 99cloud/skyline:latest
#. Ensure that some folders of skyline-apiserver have been created
.. code-block:: console
$ sudo mkdir -p /etc/skyline /var/log/skyline /var/lib/skyline /var/log/nginx
#. Set all value from :ref:`configuration-settings` into the configuration file
``/etc/skyline/skyline.yaml``
.. note::
Change the related configuration in ``/etc/skyline/skyline.yaml``. Detailed introduction
of the configuration can be found in :ref:`configuration-settings`.
.. code-block:: yaml
default:
database_url: mysql://skyline:SKYLINE_DBPASS@DB_SERVER:3306/skyline
debug: true
log_dir: /var/log
openstack:
keystone_url: http://KEYSTONE_SERVER:5000/v3/
system_user_password: SKYLINE_SERVICE_PASSWORD
Replace ``SKYLINE_DBPASS``, ``DB_SERVER``, ``KEYSTONE_SERVER`` and
``SKYLINE_SERVICE_PASSWORD`` with a correct value.
Finalize installation
---------------------
#. Run bootstrap server
.. code-block:: console
$ sudo docker run -d --name skyline_bootstrap \
-e KOLLA_BOOTSTRAP="" \
-v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml \
-v /var/log:/var/log \
--net=host 99cloud/skyline:latest
.. code-block:: text
If you see the following message, it means that the bootstrap server is successful:
+ echo '/usr/local/bin/gunicorn -c /etc/skyline/gunicorn.py skyline_apiserver.main:app'
+ mapfile -t CMD
++ xargs -n 1
++ tail /run_command
+ [[ -n 0 ]]
+ cd /skyline-apiserver/
+ make db_sync
alembic -c skyline_apiserver/db/alembic/alembic.ini upgrade head
2022-08-19 07:49:16.004 | INFO | alembic.runtime.migration:__init__:204 - Context impl MySQLImpl.
2022-08-19 07:49:16.005 | INFO | alembic.runtime.migration:__init__:207 - Will assume non-transactional DDL.
+ exit 0
#. Cleanup bootstrap server
.. code-block:: console
$ sudo docker rm -f skyline_bootstrap
#. Run skyline-apiserver
.. code-block:: console
$ sudo docker run -d --name skyline --restart=always \
-v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml \
-v /var/log:/var/log \
--net=host 99cloud/skyline:latest
.. note::
The skyline image is both include skyline-apiserver and skyline-console.
And the skyline-apiserver is bound as socket file
``/var/lib/skyline/skyline.sock``.
So you can not access the skyline-apiserver openapi swagger. But now you
can visit the skyline UI ``https://xxxxx:9999``.
.. note::
If you need to modify skyline port, add ``-e LISTEN_ADDRESS=<ip:port>`` in run command.
Default port is 9999.

View File

@ -9,4 +9,5 @@ Skyline APIServer on Ubuntu 20.04 LTS.
:maxdepth: 2 :maxdepth: 2
source-install-ubuntu source-install-ubuntu
docker-install-ubuntu
verify-install verify-install

View File

@ -95,6 +95,7 @@ We will install the Skyline APIServer service from source code.
$ git clone https://opendev.org/openstack/skyline-apiserver.git $ git clone https://opendev.org/openstack/skyline-apiserver.git
.. note:: .. note::
If you meet the following error, you need to run command ``sudo apt install -y ca-certificates``: If you meet the following error, you need to run command ``sudo apt install -y ca-certificates``:
`fatal: unable to access 'https://opendev.org/openstack/skyline-apiserver.git/': server `fatal: unable to access 'https://opendev.org/openstack/skyline-apiserver.git/': server
@ -122,10 +123,12 @@ We will install the Skyline APIServer service from source code.
$ sudo cp ${HOME}/skyline-apiserver/etc/skyline.yaml.sample /etc/skyline/skyline.yaml $ sudo cp ${HOME}/skyline-apiserver/etc/skyline.yaml.sample /etc/skyline/skyline.yaml
.. note:: .. note::
We need to change the ``bind`` value in ``/etc/skyline/gunicorn.py`` to ``0.0.0.0:28000``. We need to change the ``bind`` value in ``/etc/skyline/gunicorn.py`` to ``0.0.0.0:28000``.
Default value is ``unix:/var/lib/skyline/skyline.sock``. Default value is ``unix:/var/lib/skyline/skyline.sock``.
.. note:: .. note::
Change the related configuration in ``/etc/skyline/skyline.yaml``. Detailed introduction Change the related configuration in ``/etc/skyline/skyline.yaml``. Detailed introduction
of the configuration can be found in :ref:`configuration-settings`. of the configuration can be found in :ref:`configuration-settings`.
@ -141,6 +144,7 @@ We will install the Skyline APIServer service from source code.
Replace ``SKYLINE_DBPASS``, ``DB_SERVER``, ``KEYSTONE_SERVER`` and Replace ``SKYLINE_DBPASS``, ``DB_SERVER``, ``KEYSTONE_SERVER`` and
``SKYLINE_SERVICE_PASSWORD`` with a correct value. ``SKYLINE_SERVICE_PASSWORD`` with a correct value.
#. Populate the Skyline APIServer database #. Populate the Skyline APIServer database
.. code-block:: console .. code-block:: console

View File

@ -5,6 +5,10 @@ Verify Skyline APIServer operation
Verify operation of the Skyline APIServer service Verify operation of the Skyline APIServer service
.. note::
Only available when you use :ref:`source-install-ubuntu`.
.. note:: .. note::
Visit the OpenAPI swagger of Skyline APIServer. Visit the OpenAPI swagger of Skyline APIServer.

View File

@ -106,7 +106,7 @@ commands =
description = description =
Generate swagger files. Generate swagger files.
commands = commands =
skyline-swagger-generator -o docs/api/swagger.json skyline-swagger-generator -o swagger.json
[testenv:genconfig] [testenv:genconfig]
description = description =