Skip to main content

OpenStack Skyline APIServer

Project description

English | 简体中文

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.

image0

Table of contents

Resources

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 or podman) installed

Configure

  1. Edit the /etc/skyline/skyline.yaml file in linux server

    You can refer to the sample file, 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

    rm -rf /tmp/skyline && mkdir /tmp/skyline && mkdir /var/log/skyline
    
    docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /var/log/skyline:/var/log/skyline -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

    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

    docker run -d --name skyline --restart=always -v /var/log/skyline:/var/log/skyline -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml -v /tmp/skyline:/tmp --net=host 99cloud/skyline:latest

Deployment with MariaDB

https://docs.openstack.org/skyline-apiserver/latest/install/docker-install-ubuntu.html

API Doc

You can visit the API doc https://<ip_address>:9999/api/openstack/skyline/docs

Test Access

You can now access the dashboard: https://<ip_address>:9999

Develop Skyline-apiserver

Support Linux & Mac OS (Recommend Linux OS) (Because uvloop & cython)

Dependent tools

Use the new feature Context Variables of python37 & uvloop(0.15.0+ requires python37). Considering that most systems do not support python37, we choose to support python38 at least.

  • make >= 3.82

  • python >= 3.8

  • node >= 10.22.0 (Optional if you only develop with apiserver)

  • yarn >= 1.22.4 (Optional if you only develop with apiserver)

Install & Run

  1. Installing dependency packages

    tox -e venv
  2. Set skyline.yaml config file

    cp etc/skyline.yaml.sample etc/skyline.yaml
    export OS_CONFIG_DIR=$(pwd)/etc

    Maybe you should change the params with your real environment as followed:

    - database_url
    - keystone_url
    - default_region
    - interface_type
    - system_project_domain
    - system_project
    - system_user_domain
    - system_user_name
    - system_user_password

    If you set such as sqlite:////tmp/skyline.db for database_url , just do as followed. If you set such as mysql://root:root@localhost:3306/skyline for database_url , you should refer to steps 1 and 2 of the chapter Deployment with MariaDB at first.

  3. Init skyline database

    source .tox/venv/bin/activate
    make db_sync
    deactivate
  4. Run skyline-apiserver

    $ source .tox/venv/bin/activate
    $ uvicorn --reload --reload-dir skyline_apiserver --port 28000 --log-level debug skyline_apiserver.main:app
    
    INFO:     Uvicorn running on http://127.0.0.1:28000 (Press CTRL+C to quit)
    INFO:     Started reloader process [154033] using statreload
    INFO:     Started server process [154037]
    INFO:     Waiting for application startup.
    INFO:     Application startup complete.

    You can now access the online API documentation: http://127.0.0.1:28000/docs.

    Or, you can launch debugger with .vscode/lauch.json with vscode.

  5. Build Image

    make build

Devstack Integration

Fast integration with Devstack to build an environment.

Kolla Ansible Deployment

Kolla Ansible to build an environment.

image1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skyline-apiserver-3.0.0.0rc1.tar.gz (9.1 MB view details)

Uploaded Source

Built Distribution

skyline_apiserver-3.0.0.0rc1-py3-none-any.whl (152.8 kB view details)

Uploaded Python 3

File details

Details for the file skyline-apiserver-3.0.0.0rc1.tar.gz.

File metadata

File hashes

Hashes for skyline-apiserver-3.0.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 9f80fc9cbcfc33adccf9b0324948ccf85ec2dd906695a94c25616506293c56b5
MD5 f57cac7c9671203098d259baeab61416
BLAKE2b-256 bb251061a1344cca85508f8d17d8531b844424c78c614b3a8caea2050b4631ad

See more details on using hashes here.

Provenance

File details

Details for the file skyline_apiserver-3.0.0.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for skyline_apiserver-3.0.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 88042529e0a7e1d02bb5384bea2845817cc731446e6c2dc041e3a5d40b2929f9
MD5 67b4e2664998ca89718a5591b715ec33
BLAKE2b-256 10ca66dbb9d144e64461cea32df3ff000452d4a4f6c7a3b9b9f58952652f1f38

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page