diff --git a/doc/source/configuration/index.rst b/doc/source/configuration/index.rst index be43c8fb..002033f6 100644 --- a/doc/source/configuration/index.rst +++ b/doc/source/configuration/index.rst @@ -5,4 +5,5 @@ Configuration Guide .. toctree:: :maxdepth: 1 - settings + skyline-settings + skyline-console-settings diff --git a/doc/source/configuration/settings.rst b/doc/source/configuration/skyline-console-settings.rst similarity index 91% rename from doc/source/configuration/settings.rst rename to doc/source/configuration/skyline-console-settings.rst index ee2e046c..b566d45a 100644 --- a/doc/source/configuration/settings.rst +++ b/doc/source/configuration/skyline-console-settings.rst @@ -1,8 +1,8 @@ .. _configuration-settings: -================== -Settings Reference -================== +================================== +Skyline Console Settings Reference +================================== - Prepare a usable backend - Prepare an accessible backend, for example: `https://172.20.154.250` diff --git a/doc/source/configuration/skyline-settings.rst b/doc/source/configuration/skyline-settings.rst new file mode 100644 index 00000000..81262f9c --- /dev/null +++ b/doc/source/configuration/skyline-settings.rst @@ -0,0 +1,93 @@ +.. _skyline-settings: + +========================== +Skyline Settings Reference +========================== + +skyline.yaml sample configuration file + +.. code-block:: yaml + + default: + access_token_expire: 3600 + access_token_renew: 1800 + cors_allow_origins: [] + database_url: sqlite:////tmp/skyline.db + debug: false + log_dir: ./log + prometheus_basic_auth_password: '' + prometheus_basic_auth_user: '' + prometheus_enable_basic_auth: false + prometheus_endpoint: http://localhost:9091 + secret_key: aCtmgbcUqYUy_HNVg5BDXCaeJgJQzHJXwqbXr0Nmb2o + session_name: session + ssl_enabled: true + openstack: + base_domains: + - heat_user_domain + default_region: RegionOne + extension_mapping: + floating-ip-port-forwarding: neutron_port_forwarding + fwaas_v2: neutron_firewall + qos: neutron_qos + vpnaas: neutron_vpn + interface_type: public + keystone_url: http://localhost:5000/v3/ + nginx_prefix: /api/openstack + reclaim_instance_interval: 604800 + service_mapping: + baremetal: ironic + compute: nova + container: zun + container-infra: magnum + database: trove + identity: keystone + image: glance + key-manager: barbican + load-balancer: octavia + network: neutron + object-store: swift + orchestration: heat + placement: placement + sharev2: manilav2 + volumev3: cinder + sso_enabled: false + sso_protocols: + - openid + sso_region: RegionOne + system_admin_roles: + - admin + - system_admin + system_project: service + system_project_domain: Default + system_reader_roles: + - system_reader + system_user_domain: Default + system_user_name: skyline + system_user_password: '' + setting: + base_settings: + - flavor_families + - gpu_models + - usb_models + flavor_families: + - architecture: x86_architecture + categories: + - name: general_purpose + properties: [] + - name: compute_optimized + properties: [] + - name: memory_optimized + properties: [] + - name: high_clock_speed + properties: [] + - architecture: heterogeneous_computing + categories: + - name: compute_optimized_type_with_gpu + properties: [] + - name: visualization_compute_optimized_type_with_gpu + properties: [] + gpu_models: + - nvidia_t4 + usb_models: + - usb_c diff --git a/doc/source/contributor/development.environment.rst b/doc/source/contributor/development.environment.rst index 5288827c..1699f9d4 100644 --- a/doc/source/contributor/development.environment.rst +++ b/doc/source/contributor/development.environment.rst @@ -38,8 +38,6 @@ Grab the code:: Setup Your Local Development Env -------------------------------- -Take CentOS as an example - - Install nvm ( version control system for nodejs ) .. code:: shell diff --git a/doc/source/install/docker-install-ubuntu.rst b/doc/source/install/docker-install-ubuntu.rst new file mode 100644 index 00000000..cf1bd19c --- /dev/null +++ b/doc/source/install/docker-install-ubuntu.rst @@ -0,0 +1,172 @@ +.. _docker-install-ubuntu: + +Docker Install Ubuntu +~~~~~~~~~~~~~~~~~~~~~ + +This section describes how to install and configure Skyline 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 `_. + +Prerequisites +------------- + +Before you install and configure Skyline 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 Skyline service from docker image. + +#. Pull Skyline service image from Docker Hub: + + .. code-block:: console + + $ sudo docker pull 99cloud/skyline:latest + +#. Ensure that some folders of skyline 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:`skyline-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:`skyline-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 + + .. 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 you can visit the skyline UI ``https://xxxxx:9999``. diff --git a/doc/source/install/index.rst b/doc/source/install/index.rst index 8a663bcb..6dec4d04 100644 --- a/doc/source/install/index.rst +++ b/doc/source/install/index.rst @@ -2,20 +2,18 @@ Installation Guide ================== +This section describes how to install and configure Skyline. + System Requirements =================== .. toctree:: - :maxdepth: 1 -Installing from Packages -======================== + system-requirements + +Installing Guide +================ .. toctree:: - :maxdepth: 1 -Installing from Source -====================== - -.. toctree:: - :maxdepth: 1 + installing-guide diff --git a/doc/source/install/installing-guide.rst b/doc/source/install/installing-guide.rst new file mode 100644 index 00000000..f59891f0 --- /dev/null +++ b/doc/source/install/installing-guide.rst @@ -0,0 +1,12 @@ +===================================== +Skyline Installation Guide for Ubuntu +===================================== + +This section will guide you through the installation of Skyline +on Ubuntu 20.04 LTS. + +.. toctree:: + :maxdepth: 2 + + source-install-ubuntu + docker-install-ubuntu diff --git a/doc/source/install/source-install-ubuntu.rst b/doc/source/install/source-install-ubuntu.rst new file mode 100644 index 00000000..bc365cff --- /dev/null +++ b/doc/source/install/source-install-ubuntu.rst @@ -0,0 +1,37 @@ +.. _source-install-ubuntu: + +Source Install Ubuntu +~~~~~~~~~~~~~~~~~~~~~ + +This section describes how to install and configure the Skyline Console +service. Before you begin, you must have a ready OpenStack environment. At +least it includes ``keystone, glance, nova, neutron and skyline-apiserver service``. + +Prerequisites +------------- + + + +Install and configure components +-------------------------------- + +We will install the Skyline Console service from source code. + +#. Git clone the repository from OpenDev (GitHub) + + .. code-block:: console + + $ sudo apt update + $ sudo apt install -y git + $ cd ${HOME} + $ git clone https://opendev.org/openstack/skyline-console.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-sonsole.git/': server + certificate verification failed. CAfile: none CRLfile: none` + +Finalize installation +--------------------- diff --git a/doc/source/install/system-requirements.rst b/doc/source/install/system-requirements.rst new file mode 100644 index 00000000..d2c533a6 --- /dev/null +++ b/doc/source/install/system-requirements.rst @@ -0,0 +1,12 @@ +.. _system-requirements: + +=================== +System Requirements +=================== + +Supported Operating Systems +--------------------------- + +Skyline's source install supports the following host Operating Systems (OS): + +- Ubuntu Focal (20.04)