diff --git a/monitoring/prober/infrastructure.py b/monitoring/prober/infrastructure.py index cb4045a0fc..34254dbc13 100644 --- a/monitoring/prober/infrastructure.py +++ b/monitoring/prober/infrastructure.py @@ -100,7 +100,7 @@ def wrapper_default_scope(*args, **kwargs): resource_type_code_descriptions: Dict[ResourceType, str] = {} -# Next code: 385 +# Next code: 386 def register_resource_type(code: int, description: str) -> ResourceType: """Register that the specified code refers to the described resource. diff --git a/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml b/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml index 067e7f1c76..3b1c72be2d 100644 --- a/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml +++ b/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml @@ -25,6 +25,7 @@ v1: dss_instances: dss_instances mock_uss: mock_uss second_utm_auth: second_utm_auth + utm_client_identity: utm_client_identity planning_area: planning_area problematically_big_area: problematically_big_area diff --git a/monitoring/uss_qualifier/configurations/dev/message_signing.yaml b/monitoring/uss_qualifier/configurations/dev/message_signing.yaml index f59feedc10..ba1fc322eb 100644 --- a/monitoring/uss_qualifier/configurations/dev/message_signing.yaml +++ b/monitoring/uss_qualifier/configurations/dev/message_signing.yaml @@ -61,6 +61,7 @@ v1: id_generator: id_generator utm_client_identity: utm_client_identity second_utm_auth: second_utm_auth + utm_client_identity: utm_client_identity planning_area: che_planning_area problematically_big_area: che_problematically_big_area execution: diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/clean_workspace.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/clean_workspace.md index e381ad462e..bab9225e40 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/clean_workspace.md +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/clean_workspace.md @@ -4,8 +4,8 @@ This page describes the content of a common test step that ensures a clean works ## 🛑 Operational intent references can be queried by ID check -If an existing operational intent reference cannot directly be queried by its ID, the DSS implementation is in violation of -**[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)**. +If an existing operational intent reference cannot directly be queried by its ID, or if for a non-existing one the DSS replies with a status code different than 404, +the DSS implementation is in violation of **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)**. ## 🛑 Operational intent references can be searched for check diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/crud/read.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/crud/read.md index 920aed655f..e02a640657 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/crud/read.md +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/oir/crud/read.md @@ -11,3 +11,10 @@ If an operational intent reference cannot be queried using its ID, the DSS is fa The response to a successful get operational intent reference query is expected to conform to the format defined by the OpenAPI specification under the `A3.1` Annex of ASTM F3548−21. If it does not, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**. + +## 🛑 Get operational intent reference response content is correct check + +A successful operational intent reference creation query is expected to return a body, the content of which reflects an operational intent reference that was created earlier. +If the content of the response does not correspond to what was requested, the DSS is failing to implement **[astm.f3548.v21.DSS0005,1](../../../../../../../requirements/astm/f3548/v21.md)**. + +This check will usually be performing a series of sub-checks from the [validate](../validate) fragments. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/remove_op_intent.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/remove_op_intent.md deleted file mode 100644 index c154feaf50..0000000000 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/remove_op_intent.md +++ /dev/null @@ -1,7 +0,0 @@ -# Remove operational intent test step fragment - -This test step fragment attempts to remove from the DSS a specific operational intent reference managed by a user whose credentials are provided to uss_qualifier. - -## 🛑 Operational intent reference removed check - -If the operational intent reference could not be removed, the DSS instance used does not meet **[astm.f3548.v21.DSS0005,1](../../../../requirements/astm/f3548/v21.md)** diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/__init__.py b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/__init__.py index 3ac599b519..9aa039a538 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/__init__.py +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/__init__.py @@ -1 +1,2 @@ from .subscription_synchronization import SubscriptionSynchronization +from .op_intent_ref_synchronization import OIRSynchronization diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md new file mode 100644 index 0000000000..e6b7a13c97 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md @@ -0,0 +1,72 @@ +# ASTM SCD DSS: Operational Intent Reference Synchronization test scenario + +## Overview + +Verifies that all CRUD operations on operational intent references performed on a given DSS instance +are properly propagated to every other DSS instance participating in the deployment. + +## Resources + +### dss + +[`DSSInstanceResource`](../../../../../resources/astm/f3548/v21/dss.py) the DSS instance through which entities are created, modified and deleted. + +### other_instances + +[`DSSInstancesResource`](../../../../../resources/astm/f3548/v21/dss.py) pointing to the DSS instances used to confirm that entities are properly propagated. + +### id_generator + +[`IDGeneratorResource`](../../../../../resources/interuss/id_generator.py) providing the operational intent reference ID for this scenario. + +### planning_area + +[`PlanningAreaResource`](../../../../../resources/astm/f3548/v21/planning_area.py) describes the 3D volume in which operational intent reference will be created. + +### client_identity + +[`ClientIdentityResource`](../../../../../resources/communications/client_identity.py) to be used for this scenario. + +## Setup test case + +### [Ensure clean workspace test step](../clean_workspace.md) + +This step ensures that no operational intent reference with the known test ID exists in the DSS. + +## OIR synchronization test case + +This test case creates an operational intent reference on the main DSS, and verifies that it is properly synchronized to the other DSS instances. + +It then goes on to mutate and delete it, each time confirming that all other DSSes return the expected results. + +### Create OIR validation test step + +#### [Create OIR](../fragments/oir/crud/create.md) + +Verify that an operational intent reference can be created on the primary DSS. + +#### [OIR Content is correct](../fragments/oir/validate/correctness.md) + +Verify that the operational intent reference returned by the DSS under test is properly formatted and contains the expected content. + +### Query newly created OIR test step + +Query the created operational intent at every DSS provided in `dss_instances`. + +#### [Get OIR](../fragments/oir/crud/read.md) + +Confirms that each DSS provides access to the created operational intent reference, + +#### [OIR is synchronized](../fragments/oir/sync.md) + +Confirm that the operational intent reference that was just created is properly synchronized across all DSS instances. + +#### [OIR Content is correct](../fragments/oir/validate/correctness.md) + +Verify that the operational intent reference returned by every DSS is correctly formatted and corresponds to what was created earlier. + +#### [OIR Versions are correct](../fragments/oir/validate/non_mutated.md) + +Verify that the operational intent reference's version fields are as expected. + +## [Cleanup](../clean_workspace.md) diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py new file mode 100644 index 0000000000..d6a893404b --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py @@ -0,0 +1,332 @@ +from datetime import datetime, timedelta +from typing import List, Optional + +import loguru +from implicitdict import StringBasedDateTime +from uas_standards.astm.f3548.v21 import api +from uas_standards.astm.f3548.v21.api import ( + OperationalIntentReference, + PutOperationalIntentReferenceParameters, + EntityID, + OperationalIntentState, +) +from uas_standards.astm.f3548.v21.constants import Scope + +from monitoring.monitorlib.fetch import QueryError +from monitoring.monitorlib.geotemporal import Volume4D, Volume4DCollection +from monitoring.prober.infrastructure import register_resource_type +from monitoring.uss_qualifier.resources.astm.f3548.v21 import PlanningAreaResource +from monitoring.uss_qualifier.resources.astm.f3548.v21.dss import ( + DSSInstanceResource, + DSSInstancesResource, + DSSInstance, +) +from monitoring.uss_qualifier.resources.communications import ClientIdentityResource +from monitoring.uss_qualifier.resources.interuss.id_generator import IDGeneratorResource +from monitoring.uss_qualifier.scenarios.astm.utm.dss import test_step_fragments +from monitoring.uss_qualifier.scenarios.astm.utm.dss.validators.oir_validator import ( + OIRValidator, + TIME_TOLERANCE_SEC, +) +from monitoring.uss_qualifier.scenarios.scenario import ( + TestScenario, + ScenarioCannotContinueError, +) +from monitoring.uss_qualifier.suites.suite import ExecutionContext + + +class OIRSynchronization(TestScenario): + """ + A scenario that checks if multiple DSS instances properly synchronize + operational intent references. + + Not in the scope of the first version of this: + - access rights (making sure only the manager of the OIR can mutate it) + - control of the area synchronization (by doing area searches against the secondaries) + - mutation of an entity on a secondary DSS when it was created on the primary + - deletion of an entity on a secondary DSS when it was created on the primary + """ + + SUB_TYPE = register_resource_type( + 385, "Operational Intent Reference for synchronization checks" + ) + + _dss: DSSInstance + + _dss_read_instances: List[DSSInstance] + + # Base identifier for the OIR that will be created + _oir_id: EntityID + + # Base parameters used for OIR creation + _oir_params: PutOperationalIntentReferenceParameters + + # Keep track of the current OIR state + _current_oir: Optional[OperationalIntentReference] + + _expected_manager: str + + def __init__( + self, + dss: DSSInstanceResource, + other_instances: DSSInstancesResource, + id_generator: IDGeneratorResource, + client_identity: ClientIdentityResource, + planning_area: PlanningAreaResource, + ): + """ + Args: + dss: dss to test + other_instances: dss instances to be checked for proper synchronization + id_generator: will let us generate specific identifiers + client_identity: tells us the identity we should expect as an entity's manager + planning_area: An Area to use for the tests. It should be an area for which the DSS is responsible, + but has no other requirements. + + """ + super().__init__() + scopes_primary = { + Scope.StrategicCoordination: "create and delete operational intent references" + } + scopes_read = {Scope.StrategicCoordination: "read operational intents"} + + self._dss = dss.get_instance(scopes_primary) + self._primary_pid = self._dss.participant_id + + self._dss_read_instances = [ + sec_dss.get_instance(scopes_read) + for sec_dss in other_instances.dss_instances + ] + + self._oir_id = id_generator.id_factory.make_id(self.SUB_TYPE) + self._expected_manager = client_identity.subject() + self._planning_area = planning_area.specification + + # Build a ready-to-use 4D volume with no specified time for searching + # the currently active OIRs + self._planning_area_volume4d = Volume4D( + volume=self._planning_area.volume, + ) + + self._oir_params = self._planning_area.get_new_operational_intent_ref_params( + key=[], + state=OperationalIntentState.Accepted, + uss_base_url=self._planning_area.base_url, + time_start=datetime.now() - timedelta(seconds=10), + time_end=datetime.now() + timedelta(minutes=20), + subscription_id=None, + implicit_sub_base_url=None, + implicit_sub_for_constraints=None, + ) + + def run(self, context: ExecutionContext): + + # Check that we actually have at least one other DSS to test against: + if not self._dss_read_instances: + raise ScenarioCannotContinueError( + "Cannot run OIRSynchronization scenario: no other DSS instances to test against" + ) + + self.begin_test_scenario(context) + self._setup_case() + self.begin_test_case("OIR synchronization") + + self.begin_test_step("Create OIR validation") + self._create_oir_with_params(self._oir_params) + self.end_test_step() + + self.begin_test_step("Query newly created OIR") + self._query_secondaries_and_compare(self._oir_params) + self.end_test_step() + + self.end_test_case() + self.end_test_scenario() + + def _setup_case(self): + self.begin_test_case("Setup") + # Multiple runs of the scenario seem to rely on the same instance of it: + # thus we need to reset the state of the scenario before running it. + self._current_oir = None + self.begin_test_step("Ensure clean workspace") + self._ensure_clean_workspace_step() + self.end_test_step() + self.end_test_case() + + def _ensure_clean_workspace_step(self): + + # Delete any active OIR we might own + test_step_fragments.cleanup_active_oirs( + self, + self._dss, + self._planning_area_volume4d.to_f3548v21(), + self._expected_manager, + ) + + # Make sure the OIR ID we are going to use is available + test_step_fragments.cleanup_op_intent(self, self._dss, self._oir_id) + # Start by dropping any active subs we might own and that could interfere + test_step_fragments.cleanup_active_subs( + self, self._dss, self._planning_area_volume4d.to_f3548v21() + ) + + def _create_oir_with_params( + self, creation_params: PutOperationalIntentReferenceParameters + ): + + with self.check( + "Create operational intent reference query succeeds", [self._primary_pid] + ) as check: + try: + oir, subs, q = self._dss.put_op_intent( + extents=creation_params.extents, + key=creation_params.key, + state=creation_params.state, + base_url=creation_params.uss_base_url, + oi_id=self._oir_id, + ovn=None, + ) + self.record_query(q) + except QueryError as qe: + self.record_queries(qe.queries) + check.record_failed( + summary="Create operational intent reference failed", + details=qe.msg, + query_timestamps=qe.query_timestamps, + ) + return + + with self.check( + "Create operational intent reference response content is correct", + [self._primary_pid], + ) as check: + OIRValidator( + main_check=check, + scenario=self, + expected_manager=self._expected_manager, + participant_id=[self._primary_pid], + oir_params=creation_params, + ).validate_created_oir(self._oir_id, new_oir=q) + + self._current_oir = oir + + def _query_secondaries_and_compare( + self, expected_oir_params: PutOperationalIntentReferenceParameters + ): + for secondary_dss in self._dss_read_instances: + self._validate_oir_from_secondary( + secondary_dss=secondary_dss, + expected_oir_params=expected_oir_params, + involved_participants=list( + {self._primary_pid, secondary_dss.participant_id} + ), + ) + + def _validate_oir_from_secondary( + self, + secondary_dss: DSSInstance, + expected_oir_params: PutOperationalIntentReferenceParameters, + involved_participants: List[str], + ): + with self.check( + "Operational intent reference can be found at every DSS", + involved_participants, + ) as check: + try: + oir, q = secondary_dss.get_op_intent_reference(self._oir_id) + self.record_query(q) + except QueryError as e: + self.record_queries(e.queries) + check.record_failed( + summary="GET for operational intent reference failed", + details=f"Query for operational intent reference failed: {e.msg}", + query_timestamps=e.query_timestamps, + ) + + with self.check( + "Propagated operational intent reference contains the correct manager", + involved_participants, + ) as check: + if oir.manager != self._expected_manager: + check.record_failed( + summary="Propagated OIR has an incorrect manager", + details=f"Expected: {self._expected_manager}, Received: {oir.manager}", + query_timestamps=[q.request.timestamp], + ) + + with self.check( + "Propagated operational intent reference contains the correct USS base URL", + involved_participants, + ) as check: + if oir.uss_base_url != expected_oir_params.uss_base_url: + check.record_failed( + "Propagated OIR has an incorrect USS base URL", + details=f"Expected: {expected_oir_params.base_url}, Received: {oir.uss_base_url}", + query_timestamps=[q.request.timestamp], + ) + + with self.check( + "Propagated operational intent reference contains the correct state", + involved_participants, + ) as check: + if oir.state != expected_oir_params.state: + check.record_failed( + summary="Propagated OIR has an incorrect state", + details=f"Expected: {expected_oir_params.state}, Received: {oir.state}", + query_timestamps=[q.request.timestamp], + ) + + expected_volume_collection = Volume4DCollection.from_interuss_scd_api( + expected_oir_params.extents + ) + expected_end = expected_volume_collection.time_end.datetime + expected_start = expected_volume_collection.time_start.datetime + with self.check( + "Propagated operational intent reference contains the correct start time", + involved_participants, + ) as check: + if ( + abs(oir.time_start.value.datetime - expected_start).total_seconds() + > TIME_TOLERANCE_SEC + ): + check.record_failed( + "Propagated OIR has an incorrect start time", + details=f"Expected: {expected_start}, Received: {oir.time_start}", + query_timestamps=[q.request.timestamp], + ) + + with self.check( + "Propagated operational intent reference contains the correct end time", + involved_participants, + ) as check: + if ( + abs(oir.time_end.value.datetime - expected_end).total_seconds() + > TIME_TOLERANCE_SEC + ): + check.record_failed( + "Propagated OIR has an incorrect end time", + details=f"Expected: {expected_end}, Received: {oir.time_end}", + query_timestamps=[q.request.timestamp], + ) + + with self.check( + "Get operational intent reference response content is correct", + [secondary_dss.participant_id], + ) as check: + # Do a full validation of the OIR as a sanity check + OIRValidator( + main_check=check, + scenario=self, + expected_manager=self._expected_manager, + participant_id=[secondary_dss.participant_id], + oir_params=expected_oir_params, + ).validate_fetched_oir( + expected_oir_id=self._oir_id, + fetched_oir=q, + expected_version=self._current_oir.version, + expected_ovn=self._current_oir.ovn, + ) + + def cleanup(self): + self.begin_cleanup() + self._ensure_clean_workspace_step() + self.end_cleanup() diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/prep_planners.md b/monitoring/uss_qualifier/scenarios/astm/utm/prep_planners.md index 105eab423d..f897b7c6ac 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/prep_planners.md +++ b/monitoring/uss_qualifier/scenarios/astm/utm/prep_planners.md @@ -80,7 +80,7 @@ In addition to foreign flight planners, uss_qualifier may have left operational ### Remove uss_qualifier op intents test step -#### [Remove op intents](./dss/remove_op_intent.md) +#### [Remove op intents](./dss/clean_workspace.md) The operational intent references managed by uss_qualifier discovered in the previous test case are removed. diff --git a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.yaml b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.yaml index ec4066ed5b..d4114c9c5d 100644 --- a/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.yaml +++ b/monitoring/uss_qualifier/suites/astm/netrid/f3411_22a.yaml @@ -31,6 +31,7 @@ actions: utm_client_identity: utm_client_identity id_generator: id_generator isa: service_area + client_identity: utm_client_identity problematically_big_area: problematically_big_area on_failure: Continue dss_instances_source: dss_instances diff --git a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md index 125ada8d33..2b58c22b4b 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md @@ -5,14 +5,15 @@ ## [Actions](../../README.md#actions) 1. Scenario: [ASTM SCD DSS: Operational Intent Reference Key Validation](../../../scenarios/astm/utm/dss/op_intent_ref_key_validation.md) ([`scenarios.astm.utm.dss.OIRKeyValidation`](../../../scenarios/astm/utm/dss/op_intent_ref_key_validation.py)) -2. Scenario: [ASTM SCD DSS: Interfaces authentication](../../../scenarios/astm/utm/dss/authentication/authentication_validation.md) ([`scenarios.astm.utm.dss.authentication.AuthenticationValidation`](../../../scenarios/astm/utm/dss/authentication/authentication_validation.py)) -3. Scenario: [ASTM SCD DSS: Subscription Simple](../../../scenarios/astm/utm/dss/subscription_simple.md) ([`scenarios.astm.utm.dss.SubscriptionSimple`](../../../scenarios/astm/utm/dss/subscription_simple.py)) -4. Scenario: [ASTM SCD DSS: Subscription Validation](../../../scenarios/astm/utm/dss/subscription_validation.md) ([`scenarios.astm.utm.dss.SubscriptionValidation`](../../../scenarios/astm/utm/dss/subscription_validation.py)) -5. Scenario: [ASTM F3548-21 UTM DSS Operational Intent Reference Access Control](../../../scenarios/astm/utm/dss/op_intent_ref_access_control.md) ([`scenarios.astm.utm.dss.OpIntentReferenceAccessControl`](../../../scenarios/astm/utm/dss/op_intent_ref_access_control.py)) -6. Scenario: [ASTM F3548-21 UTM DSS interoperability](../../../scenarios/astm/utm/dss/dss_interoperability.md) ([`scenarios.astm.utm.dss.DSSInteroperability`](../../../scenarios/astm/utm/dss/dss_interoperability.py)) -7. Scenario: [ASTM SCD DSS: Subscription Synchronization](../../../scenarios/astm/utm/dss/synchronization/subscription_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.SubscriptionSynchronization`](../../../scenarios/astm/utm/dss/synchronization/subscription_synchronization.py)) -8. Scenario: [ASTM UTM DSS: Direct CRDB access](../../../scenarios/astm/utm/dss/crdb_access.md) ([`scenarios.astm.utm.dss.CRDBAccess`](../../../scenarios/astm/utm/dss/crdb_access.py)) -9. Scenario: [ASTM SCD DSS: Report](../../../scenarios/astm/utm/dss/report.md) ([`scenarios.astm.utm.dss.Report`](../../../scenarios/astm/utm/dss/report.py)) +2. Scenario: [ASTM SCD DSS: Operational Intent Reference Synchronization](../../../scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.OIRSynchronization`](../../../scenarios/astm/utm/dss/synchronization/op_intent_ref_synchronization.py)) +3. Scenario: [ASTM SCD DSS: Interfaces authentication](../../../scenarios/astm/utm/dss/authentication/authentication_validation.md) ([`scenarios.astm.utm.dss.authentication.AuthenticationValidation`](../../../scenarios/astm/utm/dss/authentication/authentication_validation.py)) +4. Scenario: [ASTM SCD DSS: Subscription Simple](../../../scenarios/astm/utm/dss/subscription_simple.md) ([`scenarios.astm.utm.dss.SubscriptionSimple`](../../../scenarios/astm/utm/dss/subscription_simple.py)) +5. Scenario: [ASTM SCD DSS: Subscription Validation](../../../scenarios/astm/utm/dss/subscription_validation.md) ([`scenarios.astm.utm.dss.SubscriptionValidation`](../../../scenarios/astm/utm/dss/subscription_validation.py)) +6. Scenario: [ASTM F3548-21 UTM DSS Operational Intent Reference Access Control](../../../scenarios/astm/utm/dss/op_intent_ref_access_control.md) ([`scenarios.astm.utm.dss.OpIntentReferenceAccessControl`](../../../scenarios/astm/utm/dss/op_intent_ref_access_control.py)) +7. Scenario: [ASTM F3548-21 UTM DSS interoperability](../../../scenarios/astm/utm/dss/dss_interoperability.md) ([`scenarios.astm.utm.dss.DSSInteroperability`](../../../scenarios/astm/utm/dss/dss_interoperability.py)) +8. Scenario: [ASTM SCD DSS: Subscription Synchronization](../../../scenarios/astm/utm/dss/synchronization/subscription_synchronization.md) ([`scenarios.astm.utm.dss.synchronization.SubscriptionSynchronization`](../../../scenarios/astm/utm/dss/synchronization/subscription_synchronization.py)) +9. Scenario: [ASTM UTM DSS: Direct CRDB access](../../../scenarios/astm/utm/dss/crdb_access.md) ([`scenarios.astm.utm.dss.CRDBAccess`](../../../scenarios/astm/utm/dss/crdb_access.py)) +10. Scenario: [ASTM SCD DSS: Report](../../../scenarios/astm/utm/dss/report.md) ([`scenarios.astm.utm.dss.Report`](../../../scenarios/astm/utm/dss/report.py)) ## [Checked requirements](../../README.md#checked-requirements) @@ -24,20 +25,20 @@ Checked in - astm
.f3548
.v21
+ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0005,2 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0005,5 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0015 @@ -109,6 +110,31 @@ Implemented ASTM SCD DSS: Subscription Synchronization + + DSS0210,2a + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2b + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2c + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2d + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2f + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + DSS0210,A2-7-2,2a Implemented diff --git a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.yaml b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.yaml index d83e9121d0..374a82fabc 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.yaml +++ b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.yaml @@ -17,6 +17,14 @@ actions: id_generator: id_generator client_identity: utm_client_identity planning_area: planning_area + - test_scenario: + scenario_type: scenarios.astm.utm.dss.synchronization.OIRSynchronization + resources: + dss: dss + other_instances: all_dss_instances + id_generator: id_generator + planning_area: planning_area + client_identity: utm_client_identity - test_scenario: scenario_type: scenarios.astm.utm.dss.authentication.AuthenticationValidation resources: diff --git a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md index fa3df5ca5f..15e7e632a4 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md +++ b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md @@ -35,20 +35,20 @@ Checked in - astm
.f3548
.v21
+ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted DSS0005,2 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Validation of operational intents + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Validation of operational intents DSS0005,5 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0015 @@ -125,6 +125,31 @@ Implemented ASTM SCD DSS: Subscription Synchronization + + DSS0210,2a + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2b + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2c + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2d + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2f + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + DSS0210,A2-7-2,2a Implemented diff --git a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml index e4590f5af5..06fc17a2ed 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml +++ b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml @@ -13,6 +13,7 @@ resources: nominal_planning_selector: resources.flight_planning.FlightPlannerCombinationSelectorResource? priority_planning_selector: resources.flight_planning.FlightPlannerCombinationSelectorResource? second_utm_auth: resources.communications.AuthAdapterResource? + utm_client_identity: resources.communications.ClientIdentityResource mock_uss: resources.interuss.mock_uss.client.MockUSSResource? id_generator: resources.interuss.IDGeneratorResource utm_client_identity: resources.communications.ClientIdentityResource @@ -48,6 +49,7 @@ actions: dss_instances: dss_instances dss_crdb_cluster: dss_crdb_cluster? second_utm_auth: second_utm_auth? + utm_client_identity: utm_client_identity flight_intents: non_conflicting_flights id_generator: id_generator utm_client_identity: utm_client_identity @@ -60,6 +62,7 @@ actions: resources: dss: dss second_utm_auth: second_utm_auth? + utm_client_identity: utm_client_identity all_dss_instances: dss_instances dss_crdb_cluster: dss_crdb_cluster? flight_intents: flight_intents diff --git a/monitoring/uss_qualifier/suites/faa/uft/message_signing.md b/monitoring/uss_qualifier/suites/faa/uft/message_signing.md index 1fe40b7e9d..f1c7e748c7 100644 --- a/monitoring/uss_qualifier/suites/faa/uft/message_signing.md +++ b/monitoring/uss_qualifier/suites/faa/uft/message_signing.md @@ -18,20 +18,20 @@ Checked in - astm
.f3548
.v21
+ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted DSS0005,2 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Validation of operational intents + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Validation of operational intents DSS0005,5 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0015 @@ -108,6 +108,31 @@ Implemented ASTM SCD DSS: Subscription Synchronization + + DSS0210,2a + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2b + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2c + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2d + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2f + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + DSS0210,A2-7-2,2a Implemented diff --git a/monitoring/uss_qualifier/suites/faa/uft/message_signing.yaml b/monitoring/uss_qualifier/suites/faa/uft/message_signing.yaml index 6483275157..baaf2e0874 100644 --- a/monitoring/uss_qualifier/suites/faa/uft/message_signing.yaml +++ b/monitoring/uss_qualifier/suites/faa/uft/message_signing.yaml @@ -13,6 +13,7 @@ resources: id_generator: resources.interuss.IDGeneratorResource utm_client_identity: resources.communications.ClientIdentityResource second_utm_auth: resources.communications.AuthAdapterResource? + utm_client_identity: resources.communications.ClientIdentityResource planning_area: resources.astm.f3548.v21.PlanningAreaResource problematically_big_area: resources.VerticesResource actions: @@ -38,6 +39,7 @@ actions: id_generator: id_generator utm_client_identity: utm_client_identity second_utm_auth: second_utm_auth + utm_client_identity: utm_client_identity planning_area: planning_area problematically_big_area: problematically_big_area on_failure: Continue diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index 2a79192400..54206defa6 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -408,20 +408,20 @@ ASTM NetRID DSS: Concurrent Requests
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations
ASTM NetRID DSS: Subscription Simple
ASTM NetRID DSS: Subscription Validation
ASTM NetRID DSS: Token Validation - astm
.f3548
.v21
+ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0005,2 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0005,5 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0015 @@ -493,6 +493,31 @@ Implemented ASTM SCD DSS: Subscription Synchronization + + DSS0210,2a + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2b + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2c + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2d + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2f + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + DSS0210,A2-7-2,2a Implemented diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml index 49ab5333cb..fe0ccc61f6 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.yaml @@ -21,6 +21,7 @@ actions: dss_instances: f3548v21_dss_instances dss_crdb_cluster: dss_crdb_cluster? second_utm_auth: second_utm_auth? + utm_client_identity: utm_client_identity flight_intents: flight_intents id_generator: id_generator utm_client_identity: utm_client_identity @@ -33,6 +34,7 @@ actions: resources: dss: dss second_utm_auth: second_utm_auth? + utm_client_identity: utm_client_identity all_dss_instances: dss_instances dss_crdb_cluster: dss_crdb_cluster? flight_intents: flight_intents diff --git a/monitoring/uss_qualifier/suites/uspace/flight_auth.md b/monitoring/uss_qualifier/suites/uspace/flight_auth.md index e9e412e5f2..e938b47cd5 100644 --- a/monitoring/uss_qualifier/suites/uspace/flight_auth.md +++ b/monitoring/uss_qualifier/suites/uspace/flight_auth.md @@ -19,20 +19,20 @@ Checked in - astm
.f3548
.v21
+ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted DSS0005,2 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Validation of operational intents + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Validation of operational intents DSS0005,5 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0015 @@ -109,6 +109,31 @@ Implemented ASTM SCD DSS: Subscription Synchronization + + DSS0210,2a + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2b + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2c + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2d + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2f + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + DSS0210,A2-7-2,2a Implemented diff --git a/monitoring/uss_qualifier/suites/uspace/flight_auth.yaml b/monitoring/uss_qualifier/suites/uspace/flight_auth.yaml index 9b432fa81b..39df85ffd6 100644 --- a/monitoring/uss_qualifier/suites/uspace/flight_auth.yaml +++ b/monitoring/uss_qualifier/suites/uspace/flight_auth.yaml @@ -15,6 +15,7 @@ resources: id_generator: resources.interuss.IDGeneratorResource utm_client_identity: resources.communications.ClientIdentityResource second_utm_auth: resources.communications.AuthAdapterResource? + utm_client_identity: resources.communications.ClientIdentityResource planning_area: resources.astm.f3548.v21.PlanningAreaResource problematically_big_area: resources.VerticesResource system_identity: resources.versioning.SystemIdentityResource? @@ -36,6 +37,7 @@ actions: id_generator: id_generator utm_client_identity: utm_client_identity second_utm_auth: second_utm_auth + utm_client_identity: utm_client_identity planning_area: planning_area problematically_big_area: problematically_big_area system_identity: system_identity? diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index ec100324ed..172511afe1 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -454,20 +454,20 @@ ASTM NetRID DSS: Concurrent Requests
ASTM NetRID DSS: ISA Expiry
ASTM NetRID DSS: ISA Subscription Interactions
ASTM NetRID DSS: Simple ISA
ASTM NetRID DSS: Submitted ISA Validations
ASTM NetRID DSS: Subscription Simple
ASTM NetRID DSS: Subscription Validation
ASTM NetRID DSS: Token Validation - astm
.f3548
.v21
+ astm
.f3548
.v21
DSS0005,1 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted DSS0005,2 Implemented - ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Validation of operational intents + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation
Awareness of relevant operational intents
Data Validation of GET operational intents by USS
Nominal planning: conflict with higher priority
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted
Validation of operational intents DSS0005,5 Implemented - ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation + ASTM F3548 flight planners preparation
ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM SCD DSS: Interfaces authentication
ASTM SCD DSS: Operational Intent Reference Key Validation
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Simple
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: Subscription Validation DSS0015 @@ -544,6 +544,31 @@ Implemented ASTM SCD DSS: Subscription Synchronization + + DSS0210,2a + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2b + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2c + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2d + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + + + DSS0210,2f + Implemented + ASTM SCD DSS: Operational Intent Reference Synchronization + DSS0210,A2-7-2,2a Implemented