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.
Table of contents
Resources
Quick Start
Prerequisites
Configure
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
Run the skyline_bootstrap container to bootstrap
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
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 /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
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
Installing dependency packages
tox -e venv
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.
Init skyline database
source .tox/venv/bin/activate make db_sync deactivate
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.
Build Image
make build
Devstack Integration
Kolla Ansible Deployment
Kolla Ansible to build an environment.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for skyline-apiserver-1.0.0.0rc1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a96242d01ad2375393dfe18e4dd06258eea4bbe0c372f8cee0b63a6615cda9e7 |
|
MD5 | e46a72552d70a23ee46884cedf11a72d |
|
BLAKE2b-256 | 407bbac19d19fa3c93d17e1cba0fd06b8b29baf0b6fb322426826045a294cdbe |
Hashes for skyline_apiserver-1.0.0.0rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8e153656bd93f2c44d028234dddb9b86eb5ffa1790594682d4b66db415412b2 |
|
MD5 | 1acb5bb47eba1a9a928528c97f09a618 |
|
BLAKE2b-256 | 3a04944b3a9f79c787da72542ed8f3b8c0a3958b79a681374aec0512384965e7 |