From e491bc4ca7a9764325ab4a2cf1ae10daf6a26efb Mon Sep 17 00:00:00 2001 From: Sergiy Markin Date: Thu, 19 Dec 2024 21:31:58 +0000 Subject: [PATCH] Updated base image docker repo url Also fixed some code deprecation warnings Change-Id: Ib92b609e9dbe3dd1051eff6b4bf1ca088157e586 --- images/promenade/Dockerfile.ubuntu_jammy | 2 +- promenade/control/base.py | 2 +- promenade/control/middleware.py | 8 ++++---- promenade/exceptions.py | 4 ++-- promenade/renderer.py | 11 +++++------ promenade/validation.py | 4 ++-- requirements-direct.txt | 2 +- requirements-frozen.txt | 2 +- 8 files changed, 17 insertions(+), 18 deletions(-) diff --git a/images/promenade/Dockerfile.ubuntu_jammy b/images/promenade/Dockerfile.ubuntu_jammy index 445076ce..fc5c82e9 100644 --- a/images/promenade/Dockerfile.ubuntu_jammy +++ b/images/promenade/Dockerfile.ubuntu_jammy @@ -18,7 +18,7 @@ # 429 Too Many Requests - Server message: too many requests: # You have reached your pull rate limit. # You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit -ARG FROM=public.ecr.aws/ubuntu/ubuntu:jammy +ARG FROM=public.ecr.aws/docker/library/ubuntu:jammy FROM ${FROM} LABEL org.opencontainers.image.authors='airship-discuss@lists.airshipit.org, irc://#airshipit@freenode' \ diff --git a/promenade/control/base.py b/promenade/control/base.py index 37a3234d..a1f9c443 100644 --- a/promenade/control/base.py +++ b/promenade/control/base.py @@ -154,7 +154,7 @@ class PromenadeRequestContext(context.RequestContext): result['request_id'] = getattr(self, 'request_id', None) result['context_marker'] = getattr(self, 'context_marker', None) result['end_user'] = getattr(self, 'end_user', None) - result['user'] = getattr(self, 'user', None) + result['user'] = getattr(self, 'user_id', None) return result diff --git a/promenade/control/middleware.py b/promenade/control/middleware.py index 100cb180..c9d6db99 100644 --- a/promenade/control/middleware.py +++ b/promenade/control/middleware.py @@ -43,7 +43,7 @@ class AuthMiddleware(object): # Process account and roles ctx.authenticated = True # User Identity, unique within owning domain - ctx.user = req.get_header( + ctx.user_id = req.get_header( 'X-SERVICE-USER-NAME') if service else req.get_header( 'X-USER-NAME') # Identity-service managed unique identifier @@ -77,7 +77,7 @@ class AuthMiddleware(object): ctx.is_admin_project = False LOG.debug('Request from authenticated user %s with roles %s', - ctx.user, ctx.roles) + ctx.user_id, ctx.roles) else: ctx.authenticated = False @@ -112,7 +112,7 @@ class ContextMiddleware(object): if end_user is not None: ctx.set_end_user(end_user) else: - ctx.set_end_user(ctx.user) + ctx.set_end_user(ctx.user_id) class LoggingMiddleware(object): @@ -139,7 +139,7 @@ class LoggingMiddleware(object): else: context_marker = getattr(ctx, 'context_marker', None) request_id = getattr(ctx, 'request_id', None) - user = getattr(ctx, 'user', None) + user = getattr(ctx, 'user_id', None) end_user = getattr(ctx, 'end_user', None) if context_marker is not None: resp.append_header('X-CONTEXT-MARKER', context_marker) diff --git a/promenade/exceptions.py b/promenade/exceptions.py index 5e1da895..e0c252ae 100644 --- a/promenade/exceptions.py +++ b/promenade/exceptions.py @@ -127,7 +127,7 @@ def default_error_serializer(req, resp, exception): info_list=None) -def default_exception_handler(ex, req, resp, params): +def default_exception_handler(req, resp, ex, params): """ Catch-all exception handler for standardized output. If this is a standard falcon HTTPError, rethrow it for handling @@ -198,7 +198,7 @@ class PromenadeException(Exception): return '{} : {}'.format(ttl, dsc) @staticmethod - def handle(ex, req, resp, params): + def handle(req, resp, ex, params): """ The handler used for app errors and child classes """ diff --git a/promenade/renderer.py b/promenade/renderer.py index 5a3aecb6..849cacce 100644 --- a/promenade/renderer.py +++ b/promenade/renderer.py @@ -4,7 +4,7 @@ import datetime import io import jinja2 import os -import pkg_resources +from importlib.resources import files import yaml __all__ = [ @@ -49,8 +49,7 @@ def insert_charts_into_bundler(bundler): def render_role_into_bundler(*, bundler, config, role): - role_root = pkg_resources.resource_filename( - 'promenade', os.path.join('templates', 'roles', role)) + role_root = files('promenade').joinpath('templates', 'roles', role) for root, _dirnames, filenames in os.walk(role_root, followlinks=True): destination_base = os.path.relpath(root, role_root) for source_filename in filenames: @@ -89,12 +88,12 @@ def render_template(config, *, template, context=None, roles=None): if roles is None: roles = {} - template_contents = pkg_resources.resource_string( - 'promenade', os.path.join('templates', template)) + template_path = files('promenade') / 'templates' / template + template_contents = template_path.read_text(encoding='utf-8') env = _build_env() - template_obj = env.from_string(template_contents.decode('utf-8')) + template_obj = env.from_string(template_contents) try: return template_obj.render(config=config, roles=roles, **context) except jinja2.exceptions.TemplateRuntimeError as e: diff --git a/promenade/validation.py b/promenade/validation.py index f0f15365..286b1ea1 100644 --- a/promenade/validation.py +++ b/promenade/validation.py @@ -17,7 +17,7 @@ from promenade import logging from promenade.utils.validation_message import ValidationMessage import jsonschema import os -import pkg_resources +from importlib.resources import files import yaml __all__ = ['check_schema', 'check_schemas', 'validate_all'] @@ -147,7 +147,7 @@ def _load_schemas(): def _get_schema_dir(): - return pkg_resources.resource_filename('promenade', 'schemas') + return str(files('promenade') / 'schemas') # Fill the cache diff --git a/requirements-direct.txt b/requirements-direct.txt index 72d25207..5a28f3da 100644 --- a/requirements-direct.txt +++ b/requirements-direct.txt @@ -1,4 +1,4 @@ -Deckhand @ git+https://opendev.org/airship/deckhand.git@dacedae17b71acd249dc01ad0540e58136245fe1#egg=deckhand +Deckhand @ git+https://opendev.org/airship/deckhand.git@4d500e48e880ea7f9a3582324c55c61373a855ea#egg=deckhand Beaker click falcon diff --git a/requirements-frozen.txt b/requirements-frozen.txt index 34a155fe..d636065d 100644 --- a/requirements-frozen.txt +++ b/requirements-frozen.txt @@ -15,7 +15,7 @@ cliff==4.8.0 cmd2==2.5.8 cryptography==42.0.8 debtcollector==3.0.0 -Deckhand @ git+https://opendev.org/airship/deckhand.git@dacedae17b71acd249dc01ad0540e58136245fe1 +Deckhand @ git+https://opendev.org/airship/deckhand.git@4d500e48e880ea7f9a3582324c55c61373a855ea decorator==5.1.1 deepdiff==8.1.1 dnspython==2.7.0