1. add skyline-functional-devstack which inherits from devstack
2. add skyline-functional-devstack into check and gate job
3. add playbook to integrate with devstack for zuul
4. change the port from 8080 to 9999 because the 8080 is used for s3api
5. rename functional-py38 as unittest-py38
6. add install extra tools ready for skyline-console's e2e test
Change-Id: I7f4b549bec6573661e62dd2bd9a3355253afd47d
Remove git_config when make venv. So when we integrate
with devstack, we will not be interrupted by git.
Change-Id: I23d6fac4dda5bc1c2caa269f0591cb4e6137743d
Add devstack plugin for skyline to deploy by devstack.
There are six main functions for this plugin:
1. install_skyline: to install main dependency of environment,
skyline-apiserver and skyline-console
2. configure_skyline: to config skyline.conf for skyline-apiserver
and nginx.conf for nginx
3. init_skyline: create database of skyline and make db sync
4. start_skyline: start skyline-apiserver as systemd and start nginx
5. stop skyline: stop skyline-apiserver and stop nginx
6. cleanup_skyline: remove all config directories
Change-Id: I632f059b26a3d8612fc1008758f1844498ce7b84
Use constants in contrib but lack of import it.
Here we import constants from skyline_apiserver.types to fix it.
Closes-Bug: #1942087
Change-Id: I6fd874400f77e9d201d6c5d7284c78345d52b63f
Since poetry 1.1.8 version introduces a large number of bugs[1], which
makes the process of building container image fail, so the 1.1.8
version of poetry is not used.
[1] https://github.com/python-poetry/poetry/issues/4429
Change-Id: Ia30c2c5e783401aa4bad85139b0bf2fa9a822847
1. Add x-openstack-request-id into header
Let the skyline API continue to pass down with Request ID using for tracking chain.
It contributes to find the problem preliminarily.
Change-Id: Ib7f7dcc98183aa99a00fc69b73eba53d87642502
The skyline-nginx is dependent on skyline-apiserver.
From the patch[0], we add aiosqlite into tool.poetry.dependencies.
So we need to re-generate the poetry.lock of skyline-nginx.
[0]: https://review.opendev.org/c/skyline/skyline-apiserver/+/803539
Change-Id: I82dc76ed286376d2c388e1dab95d4c24743d02f2
When using http protocol to access, nginx will respond with 400 and
report "400 The plain HTTP request was sent to HTTPS port".
The reason is that http 497 error[1] appeared in nginx, so 497
error was redirected to https protocol.
[1] 56f5331683/src/http/ngx_http_special_response.c (L274)
Change-Id: I01c35318dd5d219dbb31e6a89bdc05d2a4db7804
When a network failure occurs, the openstack client will be blocked for
a long time. Set a timeout on the session to feedback network problem
as soon as possible.
Change-Id: I2eec95b18241b0bf2103ad3dfa1efd2774f2bd77
1. Add a quick start, the document explains how to use the container to
quickly deploy the skyline service.
2. Modify the format of the original `Development skyline-apiserver`
section.
Change-Id: I4ff1c179791b782311be4d8c391565bfcaf16bf9
When docker run, specify the KOLLA_BOOSTRAP environment variable, the
skyline image will initialize the database, and if it is not specified,
the skyline service will be run in the normal way.
This provides the basis for subsequent docking with kolla-ansible.
Change-Id: I5eaad038b3ed3c3189f2b41e41c14d28a346ee88
1. Add make clean
2. Specify configuration file used by mypy
3. Add some directories to dockerignore
Change-Id: I4f6b0d5ba894214bb0fcff21443f9808f56d595e
1. Move skyline-apiserver to libs
2. Modify Makefile
3. Rename the skyline-apiserver.yaml.sample file to skyline.yaml.sample
At the top level, we use "skyline" as the namespace, using the idea of
monorepo to manage the project. At the top level, only some common
configuration files (mypy.ini, black.conf, isort.conf, etc.) and
common tools are included.
In the `libs` directory, there are three core libraries,
skyline-console, skyline-apiserver, skyline-nginx, and some dependent
libraries.
There are cross-imports between these libraries,
for example: skyline-nginx requires skyline-apiserver;
Both skyline-nginx and skyline-apiserver require skyline-config.
Therefore, skyline-apiserver should not be placed
at the top level, it is also suitable for management as a library.
Change-Id: Ie2f1f4bdfbc2e985ec4327705eecaae3181f5b50
When building a docker image, skyline-console is required,
so add skyline-console as a git submodule.
Change-Id: I429879dbfb93f48aacbe09966388f25a5afab43d
1. add a cmd script to generate sample config
2. set setup as False for generate_swagger, so we can make swagger
without skyline-apiserver yaml config
3. add make genconfig into Makefile
4. add config-sample-generator scripts into pyproject.toml
5. replace async with sync for generate_swagger script
6. add items, keys, values function for Group and Configuration
Change-Id: I4c7196f1d766a6abdc24c71c4b3135cd40cc26ef
Under etc dictory, add sample yaml config file
named skyline-apiserver.yaml.sample
Updated the README.md and README-zh_CN.md file
to make quick start more clearly.
Closes-Bug: #1931673
Change-Id: I023cfbeac33543d2989f5017c878cd17160f8c76
Before adding any code, add basic Zuul support for the repository
(noop-tests) so that it can pass Zuul checks and gating.
Change-Id: Ib728f83fedd08c989c38f02672f700fe133b39f5