Skip to content
Snippets Groups Projects

Feature/test provisioning proxy

3 files
+ 59
91
Compare changes
  • Side-by-side
  • Inline
Files
3
import logging
from orchestrator.types import UUIDstr
from gso.products.product_blocks.device import DeviceBlockProvisioning
from gso import settings
import requests
from orchestrator import inputstep
from orchestrator.config.assignee import Assignee
from orchestrator.forms import FormPage, ReadOnlyField
from orchestrator.forms.validators import Accept, Label, LongText
from orchestrator.types import UUIDstr, State
from gso import settings
from gso.products.product_types.device import DeviceProvisioning
logger = logging.getLogger(__name__)
@@ -21,7 +23,7 @@ def provision_node(
device_params = node_subscription_params.device
callback_url = f'{settings.load_oss_params().GENERAL.public_hostname}' \
f'/api/process/{process_id}/resume' # TODO: verify this URL
f'/api/processes/{process_id}/resume'
logger.debug(f'[disabled] provisioning node {device_params}')
parameters = {
@@ -56,3 +58,36 @@ def provision_node(
f'/api/device',
json=parameters)
post_request.raise_for_status()
@inputstep('Await provisioning proxy results', assignee=Assignee('SYSTEM'))
def await_pp_results() -> State:
class ProvisioningResultPage(FormPage):
class Config:
title = 'Do NOT click on confirm in this step!'
warning_label: Label = 'This step relies on an external service to ' \
'send an update to the orchestrator, do not ' \
'interfere with this process please.'
pp_run_results: dict = {'state': 'not_ready'}
confirm: Accept = Accept('INCOMPLETE')
result_page = yield ProvisioningResultPage
return result_page.dict()
@inputstep('Confirm provisioning proxy results', assignee=Assignee('SYSTEM'))
def confirm_pp_results(state: State) -> State:
class ConfirmRunPage(FormPage):
class Config:
title = 'Execution completed, please confirm the results.'
run_status: str = ReadOnlyField(state['pp_run_results']['status'])
run_results: LongText = ReadOnlyField(
f"{state['pp_run_results']['output']}")
confirm: Accept = Accept('INCOMPLETE')
yield ConfirmRunPage
return state
Loading