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 && 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
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
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
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-2.0.0.0rc1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 513bb1b765d68c06b9c5885c0c20c0bbedaf947ebda1092b9a4a9e5148ac1176 |
|
MD5 | 3d0e8f9bc57da35a8db923fdc4602679 |
|
BLAKE2b-256 | e4ea1a5aebb4788537dffdc963a1a2046339e9cc0fbfef3110128f6f1dcb3420 |
Hashes for skyline_apiserver-2.0.0.0rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de4839fe0901372b6e681653012b0869f2ce71c22a7c32e2c41f2b30e4cf9415 |
|
MD5 | c4b20d2d2ae8a88e40660d2efd03b524 |
|
BLAKE2b-256 | 182ac54fa3b514e9132036e6ad7dc5e2375a7a973027bd5f7025f4a52da07d9b |