skyline-apiserver
1.0.0
About: OpenStack Skyline APIServer is the back-end server of Skyline. It provides RESTful APIs to Skyline Console.
The "Zed" series (latest release). ![]() ![]() |
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
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
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
https://docs.openstack.org/skyline-apiserver/latest/install/docker-install-ubuntu.html
You can now access the dashboard:
https://<ip_address>:9999
Support Linux & Mac OS (Recommend Linux OS) (Because uvloop & cython)
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.
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
Fast integration with Devstack to build an environment.
Kolla Ansible to build an environment.