Compare commits

..

No commits in common. "718cfe2b361e537040b9ab30f377c78041cfc264" and "86c2fd5ce74edb6f06ca6309d0ecc69b195434cf" have entirely different histories.

10 changed files with 30 additions and 29 deletions

View File

@ -2,4 +2,4 @@
host=review.opendev.org
port=29418
project=openstack/skyline-apiserver.git
defaultbranch=stable/2024.1
defaultbranch=master

View File

@ -17,7 +17,7 @@ GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
GIT_COMMIT ?= $(shell git rev-parse --verify HEAD)
# URL for skyline-console packages
SKYLINE_CONSOLE_PACKAGE_URL ?= "https://tarballs.opendev.org/openstack/skyline-console/skyline-console-stable-2024.1.tar.gz"
SKYLINE_CONSOLE_PACKAGE_URL ?= "https://tarballs.opendev.org/openstack/skyline-console/skyline-console-master.tar.gz"
.PHONY: help
@ -81,7 +81,7 @@ BUILD_ENGINE ?= docker
BUILD_CONTEXT ?= .
DOCKER_FILE ?= container/Dockerfile
IMAGE ?= skyline
IMAGE_TAG ?= 2024.1
IMAGE_TAG ?= latest
ifeq ($(BUILD_ENGINE), docker)
build_cmd = docker build
else ifeq ($(BUILD_ENGINE), buildah)
@ -91,14 +91,14 @@ else
endif
build: skyline_console/skyline_console.tar.gz skyline_console/commit_id
$(build_cmd) --no-cache --pull --force-rm \
--build-arg GIT_CONSOLE_COMMIT=$(shell cat skyline_console/commit_id) \
--build-arg GIT_CONSOLE_COMMIT=$(file < skyline_console/commit_id) \
--build-arg GIT_BRANCH=$(GIT_BRANCH) \
--build-arg GIT_COMMIT=$(GIT_COMMIT) \
--build-arg RELEASE_VERSION=$(RELEASE_VERSION) \
$(BUILD_ARGS) -f $(DOCKER_FILE) -t $(IMAGE):$(IMAGE_TAG) $(BUILD_CONTEXT)
devbuild: skyline_console/skyline_console.tar.gz skyline_console/commit_id
$(build_cmd) \
--build-arg GIT_CONSOLE_COMMIT=$(shell cat skyline_console/commit_id) \
--build-arg GIT_CONSOLE_COMMIT=$(file < skyline_console/commit_id) \
--build-arg GIT_BRANCH=devbuild \
--build-arg GIT_COMMIT=devbuild \
--build-arg RELEASE_VERSION=devbuild \

View File

@ -25,12 +25,12 @@ RUN pip install -U /opt/skyline_apiserver/skyline_console/skyline_console.tar.gz
COPY ./requirements.txt /opt/skyline_apiserver/requirements.txt
RUN pip install -r /opt/skyline_apiserver/requirements.txt -chttps://releases.openstack.org/constraints/upper/2024.1
RUN pip install -r /opt/skyline_apiserver/requirements.txt -chttps://releases.openstack.org/constraints/upper/master
COPY ./ /opt/skyline_apiserver/
RUN git init /opt/skyline_apiserver \
&& pip install /opt/skyline_apiserver -chttps://releases.openstack.org/constraints/upper/2024.1 \
&& pip install /opt/skyline_apiserver -chttps://releases.openstack.org/constraints/upper/master \
&& apt-get clean \
&& rm -rf ~/.cache/pip \
&& mkdir -p /etc/skyline /var/log/skyline /var/lib/skyline

View File

@ -1,6 +1,6 @@
pbr>=5.8.0 # Apache-2.0
fastapi<=0.58.1 # MIT
pydantic<=1.10.0 # MIT
pydantic<=1.8.2 # MIT
uvicorn<=0.17.6 # BSD License (3 clause)
gunicorn>=20.1.0 # MIT
python-jose<=3.3.0 # MIT

View File

@ -19,8 +19,6 @@ classifier =
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
project_urls:
Source=https://opendev.org/openstack/skyline-apiserver
Tracker=https://bugs.launchpad.net/skyline-apiserver

View File

@ -165,7 +165,7 @@ async def list_servers(
sort_dirs=[sort_dirs.value] if sort_dirs else None,
)
result: List = []
result = []
server_ids = []
image_ids = []
root_device_ids = []
@ -752,13 +752,13 @@ async def list_volume_snapshots(
)
except NotFound as ex:
LOG.debug(f"Not found volume snapshot with id '{uuid}': {ex}")
return schemas.VolumeSnapshotsResponse(count=0, volume_snapshots=[])
return schemas.VolumeSnapshotsResponse(**{"count": 0, "volume_snapshots": []})
if volume_snapshot.project_id != profile.project.id:
LOG.debug(
f"Volume snapshot with id '{uuid}' is in project "
f"'{volume_snapshot.project_id}', not in '{profile.project.id}'"
)
return schemas.VolumeSnapshotsResponse(count=0, volume_snapshots=[])
return schemas.VolumeSnapshotsResponse(**{"count": 0, "volume_snapshots": []})
snapshot_session = get_system_session()
search_opts["all_tenants"] = True

View File

@ -15,7 +15,7 @@
from __future__ import annotations
from pathlib import PurePath
from typing import Any, Dict, List, Optional, Tuple, Union
from typing import Any, List, Optional, Tuple, Union
from fastapi import APIRouter, Depends, Form, Header, HTTPException, Request, Response, status
from fastapi.responses import RedirectResponse
@ -218,12 +218,12 @@ async def login(
response_description="OK",
)
async def get_sso(request: Request) -> schemas.SSO:
sso: Dict = {
sso = {
"enable_sso": False,
"protocols": [],
}
if CONF.openstack.sso_enabled:
protocols: List = []
protocols = []
ks_url = CONF.openstack.keystone_url.rstrip("/")
url_scheme = "https" if CONF.default.ssl_enabled else "http"

View File

@ -14,7 +14,7 @@
from __future__ import annotations
from typing import Dict, List
from typing import Dict
from fastapi import APIRouter, Depends, HTTPException, status
from keystoneauth1.exceptions.http import (
@ -113,7 +113,7 @@ async def list_policies(
LOG.debug("Keystone is not reachable. No privilege to access system scope.")
target = _generate_target(profile)
results: List = []
results = []
services = constants.SUPPORTED_SERVICE_EPS.keys()
for service in services:
try:
@ -176,7 +176,7 @@ async def check_policies(
target = _generate_target(profile)
target.update(policy_rules.target if policy_rules.target else {})
try:
result: List = []
result = []
for policy_rule in policy_rules.rules:
service = policy_rule.split(":", 1)[0]
rule = policy_rule.split(":", 1)[1]

View File

@ -79,7 +79,7 @@ class TestOpt:
{
"name": FAKER.text.word(),
"description": FAKER.text.word(),
"schema": RuntimeError,
"schema": object,
},
RuntimeError,
),

21
tox.ini
View File

@ -2,20 +2,22 @@
minversion = 3.18.0
requires = virtualenv>=20.4.2
skipsdist = True
envlist = pep8,py3,functional
# python runtimes: https://governance.openstack.org/tc/reference/project-testing-interface.html#tested-runtimes
envlist = pep8,py38,functional
# this allows tox to infer the base python from the environment name
# and override any basepython configured in this file
ignore_basepython_conflict=true
[testenv]
usedevelop = true
setenv =
VIRTUAL_ENV={envdir}
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
basepython = python3
setenv = VIRTUAL_ENV={envdir}
PYTHONWARNINGS=default::DeprecationWarning
OS_STDOUT_CAPTURE=1
OS_STDERR_CAPTURE=1
usedevelop = True
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/2024.1}
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
@ -66,9 +68,10 @@ commands =
black --check --diff --color skyline_apiserver --line-length 98
flake8 {posargs} .
[testenv:py{3,38,39,310,311}]
[testenv:py38]
description =
Run pytest.
envdir = {toxworkdir}/shared
deps =
{[testenv]deps}
extras =
@ -77,7 +80,7 @@ commands =
[testenv:docs]
deps =
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/2024.1}
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
commands =