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
@ -1,8 +1,6 @@
|
||||
==================
|
||||
Skyline API Server
|
||||
==================
|
||||
|
||||
`English <./README.rst>`__ \| 简体中文
|
||||
===========================
|
||||
OpenStack Skyline APIServer
|
||||
===========================
|
||||
|
||||
Skyline 是一个经过 UI 和 UE 优化过的 OpenStack 仪表盘,支持 OpenStack
|
||||
Train 及以上版本。Skyline 拥有现代化的技术栈和生态,更易于开发者维护和
|
||||
@ -13,8 +11,6 @@ Skyline 的吉祥物是九色鹿。九色鹿源自于敦煌壁画《九色鹿本
|
||||
Skyline 像九色鹿一样,轻巧、优雅,而又能力强大,为 OpenStack 社区和用户
|
||||
提供更优质的 Dashboard。
|
||||
|
||||
|image0|
|
||||
|
||||
**目录**
|
||||
|
||||
- `Skyline API Server <#skyline-api-server>`__
|
||||
@ -280,5 +276,4 @@ Kolla Ansible 部署
|
||||
|
||||
|image1|
|
||||
|
||||
.. |image0| image:: docs/images/OpenStack_Project_Skyline_horizontal.png
|
||||
.. |image1| image:: docs/images/nine-color-deer-64.png
|
||||
.. |image1| image:: doc/source/images/logo/nine-color-deer-64.png
|
||||
|
200
README.rst
@ -1,198 +1,33 @@
|
||||
==================
|
||||
Skyline API Server
|
||||
==================
|
||||
===========================
|
||||
OpenStack Skyline APIServer
|
||||
===========================
|
||||
|
||||
.. image:: https://governance.openstack.org/tc/badges/skyline-apiserver.svg
|
||||
:target: https://governance.openstack.org/tc/reference/tags/index.html
|
||||
|
||||
.. 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
|
||||
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.
|
||||
You can learn more about Skyline APIServer at:
|
||||
|
||||
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.
|
||||
* `Wiki <https://wiki.openstack.org/Skyline/>`__
|
||||
* `Developer Docs <https://docs.openstack.org/skyline-apiserver/latest/>`__
|
||||
* `Blueprints <https://blueprints.launchpad.net/skyline-apiserver/>`__
|
||||
* `Release notes <https://docs.openstack.org/releasenotes/skyline-apiserver/>`__
|
||||
|
||||
|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>`__
|
||||
- `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``
|
||||
You can raise bugs on `Launchpad <https://bugs.launchpad.net/skyline-apiserver>`__
|
||||
|
||||
Develop Skyline-apiserver
|
||||
-------------------------
|
||||
@ -295,5 +130,4 @@ Kolla Ansible Deployment
|
||||
|
||||
|image1|
|
||||
|
||||
.. |image0| image:: docs/images/OpenStack_Project_Skyline_horizontal.png
|
||||
.. |image1| image:: docs/images/nine-color-deer-64.png
|
||||
|
Before Width: | Height: | Size: 342 KiB After Width: | Height: | Size: 342 KiB |
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 729 KiB After Width: | Height: | Size: 729 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 675 KiB After Width: | Height: | Size: 675 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 765 KiB After Width: | Height: | Size: 765 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 703 KiB After Width: | Height: | Size: 703 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
BIN
doc/source/images/logo/skyline.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
@ -18,9 +18,23 @@ Skyline APIServer (API of OpenStack Modern Dashboard)
|
||||
Introduction
|
||||
============
|
||||
|
||||
`Skyline APIServer <https://github.com/openstack/skyline-apiserver>`_ is one
|
||||
part of OpenStack Modern Dashboard, which provides RESTful APIs to
|
||||
`Skyline Console <https://github.com/openstack/skyline-console>`_.
|
||||
.. image:: images/logo/skyline.png
|
||||
|
||||
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
|
||||
=======================
|
||||
|
182
doc/source/install/docker-install-ubuntu.rst
Normal 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.
|
@ -9,4 +9,5 @@ Skyline APIServer on Ubuntu 20.04 LTS.
|
||||
:maxdepth: 2
|
||||
|
||||
source-install-ubuntu
|
||||
docker-install-ubuntu
|
||||
verify-install
|
||||
|
@ -95,6 +95,7 @@ We will install the Skyline APIServer service from source code.
|
||||
$ git clone https://opendev.org/openstack/skyline-apiserver.git
|
||||
|
||||
.. note::
|
||||
|
||||
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
|
||||
@ -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
|
||||
|
||||
.. note::
|
||||
|
||||
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``.
|
||||
|
||||
.. note::
|
||||
|
||||
Change the related configuration in ``/etc/skyline/skyline.yaml``. Detailed introduction
|
||||
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
|
||||
``SKYLINE_SERVICE_PASSWORD`` with a correct value.
|
||||
|
||||
#. Populate the Skyline APIServer database
|
||||
|
||||
.. code-block:: console
|
||||
|
@ -5,6 +5,10 @@ Verify Skyline APIServer operation
|
||||
|
||||
Verify operation of the Skyline APIServer service
|
||||
|
||||
.. note::
|
||||
|
||||
Only available when you use :ref:`source-install-ubuntu`.
|
||||
|
||||
.. note::
|
||||
|
||||
Visit the OpenAPI swagger of Skyline APIServer.
|
||||
|