Skip to content
This repository has been archived by the owner on Nov 30, 2022. It is now read-only.

Revert "SaaS Connector Template Creation Fix: Integer fides_key" #1171

Merged
merged 1 commit into from
Aug 26, 2022

Conversation

seanpreston
Copy link
Contributor

Reverts #1166

Hey folks, I'm proposing we revert these changes as it breaks the YAML loading capacity of the SaaS config template:

webserver_1  | INFO:uvicorn.access:172.22.0.1:63706 - "POST /api/v1/connection/instantiate/sentry HTTP/1.1" 500
webserver_1  | ERROR:uvicorn.error:Exception in ASGI application
webserver_1  | Traceback (most recent call last):
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/protocols/http/httptools_impl.py", line 372, in run_asgi
webserver_1  |     result = await app(self.scope, self.receive, self.send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
webserver_1  |     return await self.app(scope, receive, send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/middleware/message_logger.py", line 82, in __call__
webserver_1  |     raise exc from None
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/middleware/message_logger.py", line 78, in __call__
webserver_1  |     await self.app(scope, inner_receive, inner_send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/fastapi/applications.py", line 269, in __call__
webserver_1  |     await super().__call__(scope, receive, send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/applications.py", line 124, in __call__
webserver_1  |     await self.middleware_stack(scope, receive, send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 184, in __call__
webserver_1  |     raise exc
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 162, in __call__
webserver_1  |     await self.app(scope, receive, _send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 92, in __call__
webserver_1  |     await self.simple_response(scope, receive, send, request_headers=headers)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 147, in simple_response
webserver_1  |     await self.app(scope, receive, send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/exceptions.py", line 93, in __call__
webserver_1  |     raise exc
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/exceptions.py", line 82, in __call__
webserver_1  |     await self.app(scope, receive, sender)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
webserver_1  |     raise e
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
webserver_1  |     await self.app(scope, receive, send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 670, in __call__
webserver_1  |     await route.handle(scope, receive, send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 266, in handle
webserver_1  |     await self.app(scope, receive, send)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 65, in app
webserver_1  |     response = await func(request)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/fastapi/routing.py", line 227, in app
webserver_1  |     raw_response = await run_endpoint_function(
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/fastapi/routing.py", line 162, in run_endpoint_function
webserver_1  |     return await run_in_threadpool(dependant.call, **values)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
webserver_1  |     return await anyio.to_thread.run_sync(func, *args)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/anyio/to_thread.py", line 31, in run_sync
webserver_1  |     return await get_asynclib().run_sync_in_worker_thread(
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
webserver_1  |     return await future
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 867, in run
webserver_1  |     result = context.run(func, *args)
webserver_1  |   File "/fidesops/src/fidesops/ops/api/v1/endpoints/saas_config_endpoints.py", line 308, in instantiate_connection_from_template
webserver_1  |     create_connection_config_from_template_no_save(
webserver_1  |   File "/fidesops/src/fidesops/ops/service/connectors/saas/connector_registry_service.py", line 88, in create_connection_config_from_template_no_save
webserver_1  |     config_from_template: Dict = load_config_with_replacement(
webserver_1  |   File "/fidesops/src/fidesops/ops/util/saas_util.py", line 44, in load_config_with_replacement
webserver_1  |     return yaml.safe_load(yaml_str).get("saas_config", [])
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/__init__.py", line 162, in safe_load
webserver_1  |     return load(stream, SafeLoader)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/__init__.py", line 114, in load
webserver_1  |     return loader.get_single_data()
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/constructor.py", line 49, in get_single_data
webserver_1  |     node = self.get_single_node()
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 36, in get_single_node
webserver_1  |     document = self.compose_document()
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 55, in compose_document
webserver_1  |     node = self.compose_node(None, None)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
webserver_1  |     node = self.compose_mapping_node(anchor)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node
webserver_1  |     item_value = self.compose_node(node, item_key)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
webserver_1  |     node = self.compose_mapping_node(anchor)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node
webserver_1  |     item_value = self.compose_node(node, item_key)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 82, in compose_node
webserver_1  |     node = self.compose_sequence_node(anchor)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 111, in compose_sequence_node
webserver_1  |     node.value.append(self.compose_node(node, index))
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
webserver_1  |     node = self.compose_mapping_node(anchor)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node
webserver_1  |     item_value = self.compose_node(node, item_key)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 82, in compose_node
webserver_1  |     node = self.compose_sequence_node(anchor)
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/composer.py", line 110, in compose_sequence_node
webserver_1  |     while not self.check_event(SequenceEndEvent):
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/parser.py", line 98, in check_event
webserver_1  |     self.current_event = self.state()
webserver_1  |   File "/usr/local/lib/python3.9/site-packages/yaml/parser.py", line 483, in parse_flow_sequence_entry
webserver_1  |     raise ParserError("while parsing a flow sequence", self.marks[-1],
webserver_1  | yaml.parser.ParserError: while parsing a flow sequence
webserver_1  |   in "<unicode string>", line 141, column 14:
webserver_1  |           after: ["test_connector".projects]
webserver_1  |                  ^
webserver_1  | expected ',' or ']', but got '<scalar>'
webserver_1  |   in "<unicode string>", line 141, column 31:
webserver_1  |           after: ["test_connector".projects]

This is happening because we're surrounding only part of the string in quotes I believe

Copy link
Contributor

@pattisdr pattisdr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for reverting @seanpreston, i missed what would happen when this was replaced as part of a larger collection address.

@seanpreston
Copy link
Contributor Author

All good, still very useful to have you looking at this so thanks for taking the initiative! I've added this ticket to cover a fix.

@pattisdr pattisdr merged commit 68fce61 into main Aug 26, 2022
@pattisdr pattisdr deleted the revert-1166-saas_connector_template_integer_fix branch August 26, 2022 20:42
sanders41 pushed a commit that referenced this pull request Sep 22, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants