style: Change makefile for apiserver and nginx of skyline
1. fix makefile for apiserver and nginx of skyline 2. re-fmt and re-lint for project Change-Id: I4800b19dad0e3031462f540ff4427ca750d6324f
This commit is contained in:
parent
d1dd62fb8e
commit
f369b43f24
@ -1,5 +1,5 @@
|
|||||||
PYTHON ?= python3
|
PYTHON ?= python3
|
||||||
ROOT_DIR ?= $(shell git rev-parse --show-toplevel)
|
PY_FILES := $(shell git ls-files -- *.py | xargs)
|
||||||
|
|
||||||
# Color
|
# Color
|
||||||
no_color = \033[0m
|
no_color = \033[0m
|
||||||
@ -35,17 +35,17 @@ package:
|
|||||||
|
|
||||||
.PHONY: fmt
|
.PHONY: fmt
|
||||||
fmt:
|
fmt:
|
||||||
poetry run isort $$(git ls-files -- **/*.py)
|
poetry run isort $(PY_FILES)
|
||||||
poetry run black --config ../../pyproject.toml $$(git ls-files -- **/*.py)
|
poetry run black --config ../../pyproject.toml $(PY_FILES)
|
||||||
poetry run add-trailing-comma --py36-plus --exit-zero-even-if-changed $$(git ls-files -- **/*.py)
|
poetry run add-trailing-comma --py36-plus --exit-zero-even-if-changed $(PY_FILES)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint:
|
lint:
|
||||||
# poetry run mypy --config-file=../../mypy.ini $$(git ls-files -- **/*.py)
|
# poetry run mypy --config-file=../../mypy.ini $(PY_FILES)
|
||||||
poetry run isort --check-only --diff $$(git ls-files -- **/*.py)
|
poetry run isort --check-only --diff $(PY_FILES)
|
||||||
poetry run black --check --diff --color --config ../../pyproject.toml $$(git ls-files -- **/*.py)
|
poetry run black --check --diff --color --config ../../pyproject.toml $(PY_FILES)
|
||||||
poetry run flake8 $$(git ls-files -- **/*.py)
|
poetry run flake8 $(PY_FILES)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
|
@ -20,7 +20,6 @@ from typing import Optional
|
|||||||
import jose
|
import jose
|
||||||
from fastapi import HTTPException, Request, Response, status
|
from fastapi import HTTPException, Request, Response, status
|
||||||
from fastapi.security import APIKeyCookie
|
from fastapi.security import APIKeyCookie
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
from skyline_apiserver.core.security import generate_profile_by_token, parse_access_token
|
from skyline_apiserver.core.security import generate_profile_by_token, parse_access_token
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
|
|
||||||
from skyline_apiserver.api.v1 import contrib, extension, login, policy, setting
|
from skyline_apiserver.api.v1 import contrib, extension, login, policy, setting
|
||||||
|
|
||||||
api_router = APIRouter()
|
api_router = APIRouter()
|
||||||
|
@ -18,14 +18,13 @@ import asyncio
|
|||||||
from typing import Any, List
|
from typing import Any, List
|
||||||
|
|
||||||
from fastapi import APIRouter, Header, HTTPException, status
|
from fastapi import APIRouter, Header, HTTPException, status
|
||||||
from skyline_log import LOG
|
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.client.openstack import system
|
from skyline_apiserver.client.openstack import system
|
||||||
from skyline_apiserver.client.openstack.system import get_endpoints
|
from skyline_apiserver.client.openstack.system import get_endpoints
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
from skyline_apiserver.schemas import common
|
from skyline_apiserver.schemas import common
|
||||||
from skyline_apiserver.types import constants
|
from skyline_apiserver.types import constants
|
||||||
|
from skyline_log import LOG
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@ from typing import List
|
|||||||
|
|
||||||
from dateutil import parser
|
from dateutil import parser
|
||||||
from fastapi import APIRouter, Depends, Header, HTTPException, Query, status
|
from fastapi import APIRouter, Depends, Header, HTTPException, Query, status
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.api import deps
|
from skyline_apiserver.api import deps
|
||||||
from skyline_apiserver.api.v1.openstack.base import OSPort, OSServer, OSVolume, OSVolumeSnapshot
|
from skyline_apiserver.api.v1.openstack.base import OSPort, OSServer, OSVolume, OSVolumeSnapshot
|
||||||
|
@ -18,8 +18,6 @@ from fastapi import APIRouter, Depends, Header, HTTPException, Request, Response
|
|||||||
from keystoneauth1.identity.v3 import Password
|
from keystoneauth1.identity.v3 import Password
|
||||||
from keystoneauth1.session import Session
|
from keystoneauth1.session import Session
|
||||||
from keystoneclient.client import Client as KeystoneClient
|
from keystoneclient.client import Client as KeystoneClient
|
||||||
from skyline_log import LOG
|
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.api import deps
|
from skyline_apiserver.api import deps
|
||||||
from skyline_apiserver.client import utils
|
from skyline_apiserver.client import utils
|
||||||
@ -36,9 +34,9 @@ from skyline_apiserver.core.security import (
|
|||||||
generate_profile_by_token,
|
generate_profile_by_token,
|
||||||
parse_access_token,
|
parse_access_token,
|
||||||
)
|
)
|
||||||
from skyline_apiserver.types import constants
|
|
||||||
from skyline_apiserver.db import api as db_api
|
from skyline_apiserver.db import api as db_api
|
||||||
from skyline_apiserver.types import constants
|
from skyline_apiserver.types import constants
|
||||||
|
from skyline_log import LOG
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@ -94,7 +92,11 @@ async def login(
|
|||||||
reauthenticate=False,
|
reauthenticate=False,
|
||||||
)
|
)
|
||||||
session = Session(auth=unscope_auth, verify=False, timeout=constants.DEFAULT_TIMEOUT)
|
session = Session(auth=unscope_auth, verify=False, timeout=constants.DEFAULT_TIMEOUT)
|
||||||
unscope_client = KeystoneClient(session=session, endpoint=auth_url, interface=CONF.openstack.interface_type)
|
unscope_client = KeystoneClient(
|
||||||
|
session=session,
|
||||||
|
endpoint=auth_url,
|
||||||
|
interface=CONF.openstack.interface_type,
|
||||||
|
)
|
||||||
project_scope = unscope_client.auth.projects()
|
project_scope = unscope_client.auth.projects()
|
||||||
# we must get the project_scope with enabled project
|
# we must get the project_scope with enabled project
|
||||||
project_scope = [scope for scope in project_scope if scope.enabled]
|
project_scope = [scope for scope in project_scope if scope.enabled]
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, HTTPException, status
|
from fastapi import APIRouter, Depends, HTTPException, status
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.api import deps
|
from skyline_apiserver.api import deps
|
||||||
from skyline_apiserver.client.utils import generate_session, get_access
|
from skyline_apiserver.client.utils import generate_session, get_access
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, HTTPException, status
|
from fastapi import APIRouter, Depends, HTTPException, status
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.api import deps
|
from skyline_apiserver.api import deps
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
|
@ -19,10 +19,9 @@ from typing import Any, Dict
|
|||||||
from fastapi import HTTPException, status
|
from fastapi import HTTPException, status
|
||||||
from keystoneauth1.exceptions.http import Unauthorized
|
from keystoneauth1.exceptions.http import Unauthorized
|
||||||
from keystoneauth1.session import Session
|
from keystoneauth1.session import Session
|
||||||
from starlette.concurrency import run_in_threadpool
|
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.client import utils
|
from skyline_apiserver.client import utils
|
||||||
|
from starlette.concurrency import run_in_threadpool
|
||||||
|
|
||||||
|
|
||||||
async def list_volumes(
|
async def list_volumes(
|
||||||
|
@ -19,10 +19,9 @@ from typing import Any, Dict
|
|||||||
from fastapi import HTTPException, status
|
from fastapi import HTTPException, status
|
||||||
from keystoneauth1.exceptions.http import Unauthorized
|
from keystoneauth1.exceptions.http import Unauthorized
|
||||||
from keystoneauth1.session import Session
|
from keystoneauth1.session import Session
|
||||||
from starlette.concurrency import run_in_threadpool
|
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.client import utils
|
from skyline_apiserver.client import utils
|
||||||
|
from starlette.concurrency import run_in_threadpool
|
||||||
|
|
||||||
|
|
||||||
async def list_images(
|
async def list_images(
|
||||||
|
@ -19,10 +19,9 @@ from typing import Any, Dict
|
|||||||
from fastapi import HTTPException, status
|
from fastapi import HTTPException, status
|
||||||
from keystoneauth1.exceptions.http import Unauthorized
|
from keystoneauth1.exceptions.http import Unauthorized
|
||||||
from keystoneauth1.session import Session
|
from keystoneauth1.session import Session
|
||||||
from starlette.concurrency import run_in_threadpool
|
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.client import utils
|
from skyline_apiserver.client import utils
|
||||||
|
from starlette.concurrency import run_in_threadpool
|
||||||
|
|
||||||
|
|
||||||
async def list_projects(
|
async def list_projects(
|
||||||
|
@ -19,10 +19,9 @@ from typing import Any
|
|||||||
from fastapi import HTTPException, status
|
from fastapi import HTTPException, status
|
||||||
from keystoneauth1.exceptions.http import Unauthorized
|
from keystoneauth1.exceptions.http import Unauthorized
|
||||||
from keystoneauth1.session import Session
|
from keystoneauth1.session import Session
|
||||||
from starlette.concurrency import run_in_threadpool
|
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.client import utils
|
from skyline_apiserver.client import utils
|
||||||
|
from starlette.concurrency import run_in_threadpool
|
||||||
|
|
||||||
|
|
||||||
async def list_networks(
|
async def list_networks(
|
||||||
|
@ -20,10 +20,9 @@ from fastapi import HTTPException, status
|
|||||||
from keystoneauth1.exceptions.http import Unauthorized
|
from keystoneauth1.exceptions.http import Unauthorized
|
||||||
from keystoneauth1.session import Session
|
from keystoneauth1.session import Session
|
||||||
from novaclient.exceptions import BadRequest, Forbidden
|
from novaclient.exceptions import BadRequest, Forbidden
|
||||||
from starlette.concurrency import run_in_threadpool
|
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.client import utils
|
from skyline_apiserver.client import utils
|
||||||
|
from starlette.concurrency import run_in_threadpool
|
||||||
|
|
||||||
|
|
||||||
async def list_servers(
|
async def list_servers(
|
||||||
|
@ -19,13 +19,12 @@ from typing import Any, Dict
|
|||||||
|
|
||||||
from keystoneauth1.identity.v3 import Token
|
from keystoneauth1.identity.v3 import Token
|
||||||
from keystoneauth1.session import Session
|
from keystoneauth1.session import Session
|
||||||
from skyline_log import LOG
|
|
||||||
from starlette.concurrency import run_in_threadpool
|
|
||||||
|
|
||||||
from skyline_apiserver.client import utils
|
from skyline_apiserver.client import utils
|
||||||
from skyline_apiserver.client.utils import get_system_session
|
from skyline_apiserver.client.utils import get_system_session
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
from skyline_apiserver.types import constants
|
from skyline_apiserver.types import constants
|
||||||
|
from skyline_log import LOG
|
||||||
|
from starlette.concurrency import run_in_threadpool
|
||||||
|
|
||||||
|
|
||||||
async def get_project_scope_token(
|
async def get_project_scope_token(
|
||||||
|
@ -26,11 +26,10 @@ from keystoneclient.httpclient import HTTPClient
|
|||||||
from neutronclient.v2_0.client import Client as NeutronClient
|
from neutronclient.v2_0.client import Client as NeutronClient
|
||||||
from novaclient.client import Client as NovaClient
|
from novaclient.client import Client as NovaClient
|
||||||
from osc_placement.http import SessionClient as PlacementClient
|
from osc_placement.http import SessionClient as PlacementClient
|
||||||
from starlette.concurrency import run_in_threadpool
|
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
from skyline_apiserver.types import constants
|
from skyline_apiserver.types import constants
|
||||||
|
from starlette.concurrency import run_in_threadpool
|
||||||
|
|
||||||
SESSION = None
|
SESSION = None
|
||||||
|
|
||||||
|
@ -18,7 +18,6 @@ import sys
|
|||||||
|
|
||||||
import click
|
import click
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from skyline_apiserver.config import CONF, configure
|
from skyline_apiserver.config import CONF, configure
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,7 +18,6 @@ import json
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
|
||||||
from skyline_apiserver.main import app
|
from skyline_apiserver.main import app
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,9 +17,8 @@ from __future__ import annotations
|
|||||||
from typing import Dict, List
|
from typing import Dict, List
|
||||||
|
|
||||||
from pydantic import HttpUrl, StrictInt, StrictStr
|
from pydantic import HttpUrl, StrictInt, StrictStr
|
||||||
from skyline_config import Opt
|
|
||||||
|
|
||||||
from skyline_apiserver.types import InterfaceType
|
from skyline_apiserver.types import InterfaceType
|
||||||
|
from skyline_config import Opt
|
||||||
|
|
||||||
keystone_url = Opt(
|
keystone_url = Opt(
|
||||||
name="keystone_url",
|
name="keystone_url",
|
||||||
|
@ -14,24 +14,15 @@
|
|||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import base64
|
|
||||||
import json
|
|
||||||
import time
|
import time
|
||||||
import uuid
|
import uuid
|
||||||
import zlib
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from fastapi import HTTPException, status
|
from fastapi import HTTPException, status
|
||||||
from jose import jwt
|
from jose import jwt
|
||||||
from skyline_log import LOG
|
from skyline_apiserver import __version__, schemas
|
||||||
|
|
||||||
from skyline_apiserver import __version__
|
|
||||||
from skyline_apiserver import schemas
|
|
||||||
from skyline_apiserver.client import utils
|
from skyline_apiserver.client import utils
|
||||||
from skyline_apiserver.client.utils import get_system_session
|
from skyline_apiserver.client.utils import get_system_session
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
from skyline_apiserver.db import api as db_api
|
|
||||||
from skyline_apiserver.types import constants
|
|
||||||
|
|
||||||
|
|
||||||
def parse_access_token(token: str) -> (schemas.Payload):
|
def parse_access_token(token: str) -> (schemas.Payload):
|
||||||
|
@ -16,11 +16,10 @@ from logging import StreamHandler, basicConfig
|
|||||||
|
|
||||||
from alembic import context
|
from alembic import context
|
||||||
from databases import DatabaseURL
|
from databases import DatabaseURL
|
||||||
from skyline_log import setup as log_setup
|
|
||||||
from sqlalchemy import create_engine, pool
|
|
||||||
|
|
||||||
from skyline_apiserver.config import CONF, configure
|
from skyline_apiserver.config import CONF, configure
|
||||||
from skyline_apiserver.db.models import METADATA
|
from skyline_apiserver.db.models import METADATA
|
||||||
|
from skyline_log import setup as log_setup
|
||||||
|
from sqlalchemy import create_engine, pool
|
||||||
|
|
||||||
configure("skyline")
|
configure("skyline")
|
||||||
basicConfig()
|
basicConfig()
|
||||||
|
@ -18,9 +18,8 @@ import time
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from sqlalchemy import delete, func, insert, select, update
|
|
||||||
|
|
||||||
from skyline_apiserver.types import Fn
|
from skyline_apiserver.types import Fn
|
||||||
|
from sqlalchemy import delete, func, insert, select, update
|
||||||
|
|
||||||
from .base import DB, inject_db
|
from .base import DB, inject_db
|
||||||
from .models import RevokedToken, Settings
|
from .models import RevokedToken, Settings
|
||||||
|
@ -17,7 +17,6 @@ from __future__ import annotations
|
|||||||
from contextvars import ContextVar
|
from contextvars import ContextVar
|
||||||
|
|
||||||
from databases import Database, DatabaseURL, core
|
from databases import Database, DatabaseURL, core
|
||||||
|
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
|
|
||||||
DATABASE = None
|
DATABASE = None
|
||||||
|
@ -18,7 +18,6 @@ from typing import Any, Dict
|
|||||||
|
|
||||||
import six
|
import six
|
||||||
from six.moves.urllib import parse
|
from six.moves.urllib import parse
|
||||||
|
|
||||||
from skyline_apiserver.types import constants
|
from skyline_apiserver.types import constants
|
||||||
from skyline_apiserver.utils.httpclient import get_assert_200
|
from skyline_apiserver.utils.httpclient import get_assert_200
|
||||||
|
|
||||||
|
@ -21,9 +21,8 @@ import attr
|
|||||||
from immutables import Map
|
from immutables import Map
|
||||||
from keystoneauth1.access.access import AccessInfoV3
|
from keystoneauth1.access.access import AccessInfoV3
|
||||||
from oslo_policy._checks import _check
|
from oslo_policy._checks import _check
|
||||||
from skyline_policy_manager.policies.base import APIRule
|
|
||||||
|
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
|
from skyline_policy_manager.policies.base import APIRule
|
||||||
|
|
||||||
|
|
||||||
class UserContext(MutableMapping):
|
class UserContext(MutableMapping):
|
||||||
|
@ -18,7 +18,6 @@ from typing import Any, Dict, List, Optional
|
|||||||
|
|
||||||
from jose import jwt
|
from jose import jwt
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from skyline_apiserver import config
|
from skyline_apiserver import config
|
||||||
from skyline_apiserver.types import constants
|
from skyline_apiserver.types import constants
|
||||||
|
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from fastapi import HTTPException, status
|
from fastapi import HTTPException, status
|
||||||
|
|
||||||
from skyline_apiserver import schemas
|
from skyline_apiserver import schemas
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ import os
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
|
|
||||||
from skyline_apiserver import main
|
from skyline_apiserver import main
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
|
|
||||||
|
@ -19,7 +19,6 @@ from typing import Any, Dict
|
|||||||
import pytest
|
import pytest
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
from six.moves.urllib import parse
|
from six.moves.urllib import parse
|
||||||
|
|
||||||
from skyline_apiserver import main
|
from skyline_apiserver import main
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,13 +17,11 @@ import time
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
from utils import utils
|
from skyline_apiserver import __version__, main
|
||||||
|
|
||||||
from skyline_apiserver import __version__
|
|
||||||
from skyline_apiserver import main
|
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
from skyline_apiserver.db import api as db_api, setup as db_setup
|
from skyline_apiserver.db import api as db_api, setup as db_setup
|
||||||
from skyline_apiserver.types import constants
|
from skyline_apiserver.types import constants
|
||||||
|
from utils import utils
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(os.getenv("TEST_API") != "true", reason="No backend OpenStack for api-test.")
|
@pytest.mark.skipif(os.getenv("TEST_API") != "true", reason="No backend OpenStack for api-test.")
|
||||||
|
@ -17,7 +17,6 @@ import uuid
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
|
|
||||||
from skyline_apiserver import main
|
from skyline_apiserver import main
|
||||||
from skyline_apiserver.config import CONF
|
from skyline_apiserver.config import CONF
|
||||||
from skyline_apiserver.types import constants
|
from skyline_apiserver.types import constants
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from skyline_apiserver.config import base
|
from skyline_apiserver.config import base
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from skyline_apiserver.config.default import ALL_OPTS, GROUP_NAME
|
from skyline_apiserver.config.default import ALL_OPTS, GROUP_NAME
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from skyline_apiserver.config.openstack import ALL_OPTS, GROUP_NAME
|
from skyline_apiserver.config.openstack import ALL_OPTS, GROUP_NAME
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,9 +16,7 @@ import time
|
|||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
|
from skyline_apiserver import __version__, config, main, schemas
|
||||||
from skyline_apiserver import __version__
|
|
||||||
from skyline_apiserver import config, main, schemas
|
|
||||||
|
|
||||||
|
|
||||||
def get_session_profile() -> schemas.Profile:
|
def get_session_profile() -> schemas.Profile:
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
PYTHON ?= python3
|
PYTHON ?= python3
|
||||||
|
PY_FILES := $(shell git ls-files -- *.py | xargs)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
@ -23,17 +24,17 @@ package:
|
|||||||
|
|
||||||
.PHONY: fmt
|
.PHONY: fmt
|
||||||
fmt:
|
fmt:
|
||||||
poetry run isort $$(git ls-files -- **/*.py)
|
poetry run isort $(PY_FILES)
|
||||||
poetry run black --config ../../pyproject.toml $$(git ls-files -- **/*.py)
|
poetry run black --config ../../pyproject.toml $(PY_FILES)
|
||||||
poetry run add-trailing-comma --py36-plus --exit-zero-even-if-changed $$(git ls-files -- **/*.py)
|
poetry run add-trailing-comma --py36-plus --exit-zero-even-if-changed $(PY_FILES)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint:
|
lint:
|
||||||
poetry run mypy --config-file=../../mypy.ini $$(git ls-files -- **/*.py)
|
# poetry run mypy --config-file=../../mypy.ini $(PY_FILES)
|
||||||
poetry run isort --check-only --diff $$(git ls-files -- **/*.py)
|
poetry run isort --check-only --diff $(PY_FILES)
|
||||||
poetry run black --check --diff --color --config ../../pyproject.toml $$(git ls-files -- **/*.py)
|
poetry run black --check --diff --color --config ../../pyproject.toml $(PY_FILES)
|
||||||
poetry run flake8 $$(git ls-files -- **/*.py)
|
poetry run flake8 $(PY_FILES)
|
||||||
|
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
|
@ -17,20 +17,21 @@ from __future__ import annotations
|
|||||||
import sys
|
import sys
|
||||||
from logging import StreamHandler
|
from logging import StreamHandler
|
||||||
from pathlib import Path, PurePath
|
from pathlib import Path, PurePath
|
||||||
from typing import Any, Dict
|
from typing import Dict
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
import click
|
import click
|
||||||
import skyline_nginx
|
import skyline_nginx
|
||||||
from pydantic import BaseModel
|
|
||||||
from jinja2 import Template
|
from jinja2 import Template
|
||||||
from keystoneauth1.identity.v3 import Password, Token
|
from keystoneauth1.identity.v3 import Password
|
||||||
from keystoneauth1.session import Session
|
from keystoneauth1.session import Session
|
||||||
from keystoneclient.client import Client as KeystoneClient
|
from keystoneclient.client import Client as KeystoneClient
|
||||||
|
from pydantic import BaseModel
|
||||||
from skyline_console import static_path
|
from skyline_console import static_path
|
||||||
from skyline_log import LOG, setup
|
from skyline_log import LOG, setup
|
||||||
from skyline_nginx.config import CONF, configure
|
from skyline_nginx.config import CONF, configure
|
||||||
|
|
||||||
|
|
||||||
class CommandException(Exception):
|
class CommandException(Exception):
|
||||||
EXIT_CODE = 1
|
EXIT_CODE = 1
|
||||||
|
|
||||||
@ -73,7 +74,9 @@ def get_proxy_endpoints() -> Dict[str, ProxyEndpoint]:
|
|||||||
if service is None:
|
if service is None:
|
||||||
continue
|
continue
|
||||||
if f"{region}-{service_type}" in endpoints:
|
if f"{region}-{service_type}" in endpoints:
|
||||||
raise KeyError(f"Region \"{region}\" service type \"{service_type}\" conflict in endpoints.")
|
raise KeyError(
|
||||||
|
f'Region "{region}" service type "{service_type}" conflict in endpoints.',
|
||||||
|
)
|
||||||
|
|
||||||
proxy.part = f"# {region} {service}"
|
proxy.part = f"# {region} {service}"
|
||||||
location = PurePath("/").joinpath(
|
location = PurePath("/").joinpath(
|
||||||
@ -89,13 +92,9 @@ def get_proxy_endpoints() -> Dict[str, ProxyEndpoint]:
|
|||||||
raw_path = PurePath(raw_url.path)
|
raw_path = PurePath(raw_url.path)
|
||||||
if len(raw_path.parts) > 1:
|
if len(raw_path.parts) > 1:
|
||||||
if raw_path.match("%(tenant_id)s") or raw_path.match("$(project_id)s"):
|
if raw_path.match("%(tenant_id)s") or raw_path.match("$(project_id)s"):
|
||||||
path = (
|
path = "" if str(raw_path.parents[1]) == "/" else raw_path.parents[1]
|
||||||
"" if str(raw_path.parents[1]) == "/" else raw_path.parents[1]
|
|
||||||
)
|
|
||||||
elif raw_path.match("v[0-9]") or raw_path.match("v[0-9][.][0-9]"):
|
elif raw_path.match("v[0-9]") or raw_path.match("v[0-9][.][0-9]"):
|
||||||
path = (
|
path = "" if str(raw_path.parents[0]) == "/" else raw_path.parents[0]
|
||||||
"" if str(raw_path.parents[0]) == "/" else raw_path.parents[0]
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
path = raw_path
|
path = raw_path
|
||||||
|
|
||||||
@ -131,9 +130,7 @@ def main(output_file_path: str, ssl_certfile: str, ssl_keyfile: str) -> None:
|
|||||||
setup(StreamHandler(), debug=CONF.default.debug)
|
setup(StreamHandler(), debug=CONF.default.debug)
|
||||||
|
|
||||||
template_file_path = (
|
template_file_path = (
|
||||||
Path(skyline_nginx.__file__).parent
|
Path(skyline_nginx.__file__).parent.joinpath("templates").joinpath("nginx.conf.j2")
|
||||||
.joinpath("templates")
|
|
||||||
.joinpath("nginx.conf.j2")
|
|
||||||
)
|
)
|
||||||
content = ""
|
content = ""
|
||||||
with template_file_path.open() as f:
|
with template_file_path.open() as f:
|
||||||
|
Loading…
Reference in New Issue
Block a user