Skip to content

Commit c507fff

Browse files
committed
fix: change to use ALLOW_LOCAL_RESOURCE_MANAGEMENT
Change DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED to ALLOW_LOCAL_RESOURCE_MANAGEMENT. Default to True which means EDA manages shared resource locally. fixes AAP-25224
1 parent 3572081 commit c507fff

File tree

7 files changed

+28
-41
lines changed

7 files changed

+28
-41
lines changed

src/aap_eda/api/serializers/mixins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
class SharedResourceSerializerMixin:
2121
def validate_shared_resource(self):
22-
if settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED:
22+
if not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT:
2323
view = self.context.get("view")
2424
action = view.action.capitalize() if view else "Action"
2525
raise api_exc.Forbidden(

src/aap_eda/api/views/mixins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ def get_response_serializer_class(self):
106106

107107
class SharedResourceViewMixin:
108108
def validate_shared_resource(self):
109-
if settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED:
109+
if not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT:
110110
raise api_exc.Forbidden(
111111
f"{self.action} should be done through the platform ingress"
112112
)

src/aap_eda/api/views/organization.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
},
4343
),
4444
create=extend_schema(
45-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
45+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
4646
description="Create a new organization",
4747
request=serializers.OrganizationCreateSerializer,
4848
responses={
@@ -56,7 +56,7 @@
5656
},
5757
),
5858
partial_update=extend_schema(
59-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
59+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
6060
description="Partially update an organization",
6161
request=serializers.OrganizationCreateSerializer,
6262
responses={
@@ -96,7 +96,7 @@ def get_response_serializer_class(self):
9696
return serializers.OrganizationSerializer
9797

9898
@extend_schema(
99-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
99+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
100100
description="Delete an organization by id",
101101
responses={
102102
status.HTTP_204_NO_CONTENT: OpenApiResponse(

src/aap_eda/api/views/team.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
},
5050
),
5151
create=extend_schema(
52-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
52+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
5353
description="Create a new team",
5454
request=TeamCreateSerializer,
5555
responses={
@@ -71,7 +71,7 @@
7171
},
7272
),
7373
partial_update=extend_schema(
74-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
74+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
7575
description="Partially update a team",
7676
request=TeamUpdateSerializer,
7777
responses={
@@ -116,7 +116,7 @@ def get_response_serializer_class(self):
116116
return TeamSerializer
117117

118118
@extend_schema(
119-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
119+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
120120
description="Delete a team by id",
121121
responses={
122122
status.HTTP_204_NO_CONTENT: OpenApiResponse(

src/aap_eda/api/views/user.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def get(self, request: Request, *args, **kwargs) -> Response:
5757
return Response(data=serializer.data)
5858

5959
@extend_schema(
60-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
60+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
6161
operation_id="update_current_user",
6262
description="Update current user.",
6363
request=serializers.CurrentUserUpdateSerializer,
@@ -164,7 +164,7 @@ def perform_create(self, serializer):
164164

165165
@extend_schema_view(
166166
create=extend_schema(
167-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
167+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
168168
description="Create a user",
169169
request=serializers.UserCreateUpdateSerializer,
170170
responses={
@@ -196,7 +196,7 @@ def perform_create(self, serializer):
196196
},
197197
),
198198
partial_update=extend_schema(
199-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
199+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
200200
description="Partial update of a user.",
201201
request=serializers.UserCreateUpdateSerializer,
202202
responses={
@@ -210,7 +210,7 @@ def perform_create(self, serializer):
210210
},
211211
),
212212
destroy=extend_schema(
213-
exclude=settings.DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED,
213+
exclude=not settings.ALLOW_LOCAL_RESOURCE_MANAGEMENT,
214214
description="Delete a user by id",
215215
responses={
216216
status.HTTP_204_NO_CONTENT: OpenApiResponse(

src/aap_eda/settings/default.py

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,11 @@
8686
8787
Django Ansible Base settings:
8888
For Resource Server the following are required when
89-
DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED is turned on:
89+
ALLOW_LOCAL_RESOURCE_MANAGEMENT is False:
9090
* RESOURCE_SERVER__URL - The URL to connect to the resource server
9191
* RESOURCE_SERVER__SECRET_KEY - The secret key needed to pull the resource list
9292
* RESOURCE_SERVER__VALIDATE_HTTPS - Whether to validate https, default to False
93-
* RESOURCE_JWT_USER_ID - The user id to connect to the resource server
94-
* RESOURCE_SERVICE_PATH - The path in the service server to fetch resources
93+
9594
9695
"""
9796
import os
@@ -624,8 +623,8 @@ def get_rulebook_process_log_level() -> RulebookProcessLogLevel:
624623
"ANSIBLE_BASE_JWT_KEY", "https://localhost"
625624
)
626625

627-
DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED = settings.get(
628-
"DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED", False
626+
ALLOW_LOCAL_RESOURCE_MANAGEMENT = settings.get(
627+
"ALLOW_LOCAL_RESOURCE_MANAGEMENT", True
629628
)
630629

631630
# ---------------------------------------------------------
@@ -654,29 +653,17 @@ def get_rulebook_process_log_level() -> RulebookProcessLogLevel:
654653
"SECRET_KEY": settings.get("RESOURCE_SERVER__SECRET_KEY", ""),
655654
"VALIDATE_HTTPS": settings.get("RESOURCE_SERVER__VALIDATE_HTTPS", False),
656655
}
657-
RESOURCE_JWT_USER_ID = settings.get("RESOURCE_JWT_USER_ID", "")
658-
RESOURCE_SERVICE_PATH = settings.get(
659-
"RESOURCE_SERVICE_PATH", "/api/gateway/v1/service-index/"
660-
)
661-
662-
if DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED:
663-
if (
664-
RESOURCE_SERVER["URL"]
665-
and RESOURCE_SERVER["SECRET_KEY"]
666-
and RESOURCE_JWT_USER_ID
667-
):
668-
RQ_PERIODIC_JOBS.append(
669-
{
670-
"func": "aap_eda.tasks.shared_resources.resync_shared_resources", # noqa E501
671-
"interval": 900,
672-
"id": "resync_shared_resources",
673-
}
674-
)
675-
else:
676-
raise ImproperlyConfigured(
677-
"RESOURCE_SERVER__URL, RESOURCE_SERVER__SECRET_KEY, "
678-
"and RESOURCE_JWT_USER_ID settings must be properly configured"
679-
)
656+
RESOURCE_JWT_USER_ID = settings.get("RESOURCE_JWT_USER_ID", None)
657+
RESOURCE_SERVICE_PATH = settings.get("RESOURCE_SERVICE_PATH", None)
658+
659+
if RESOURCE_SERVER["URL"] and RESOURCE_SERVER["SECRET_KEY"]:
660+
RQ_PERIODIC_JOBS.append(
661+
{
662+
"func": "aap_eda.tasks.shared_resources.resync_shared_resources",
663+
"interval": 900,
664+
"id": "resync_shared_resources",
665+
}
666+
)
680667

681668

682669
ACTIVATION_DB_HOST = settings.get(

tests/integration/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -771,7 +771,7 @@ def use_debug_setting():
771771

772772
@pytest.fixture
773773
def use_shared_resource_setting():
774-
with override_settings(DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED=True):
774+
with override_settings(ALLOW_LOCAL_RESOURCE_MANAGEMENT=False):
775775
yield
776776

777777

0 commit comments

Comments
 (0)