Skip to content
Snippets Groups Projects

Include GSO process ID in every LSO call

Merged Karel van Klink requested to merge feature/nat-1157-gso-process-id into develop
34 files
+ 52
173
Compare changes
  • Side-by-side
  • Inline
Files
34
@@ -14,7 +14,7 @@ from orchestrator.forms import SubmitFormPage
from orchestrator.utils.errors import ProcessFailureError
from orchestrator.workflow import Step, StepList, begin, callback_step, conditional, inputstep
from pydantic import ConfigDict
from pydantic_forms.types import FormGenerator, State
from pydantic_forms.types import FormGenerator, State, UUIDstr
from pydantic_forms.validators import Label, LongText, ReadOnlyField
from unidecode import unidecode
@@ -64,7 +64,7 @@ def _send_request(parameters: dict, callback_route: str) -> None:
@step("Execute Ansible playbook")
def _execute_playbook(
playbook_name: str, callback_route: str, inventory: dict[str, Any], extra_vars: dict[str, Any]
playbook_name: str, callback_route: str, inventory: dict[str, Any], extra_vars: dict[str, Any], process_id: UUIDstr
) -> None:
"""Execute a playbook remotely through the provisioning proxy.
@@ -112,7 +112,10 @@ def _execute_playbook(
extra_vars: Any extra variables that the playbook relies on. This can include a subscription object, a boolean
value indicating a dry run, a commit comment, etc. All unicode character values are decoded to prevent
sending special characters to remote machines that don't support this.
process_id: The process ID of the workflow that is running the playbook. This is used in Ansible playbooks to
fetch custom configuration.
"""
extra_vars["gso_process_id"] = process_id
parameters = {
"playbook_name": playbook_name,
"inventory": inventory,
Loading