diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/crud/read_correct.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/crud/read_correct.md new file mode 100644 index 0000000000..ad2a45b387 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/crud/read_correct.md @@ -0,0 +1,20 @@ +# Read constraint reference test step fragment + +This test step fragment validates that constraint references can be read + +## [Read query succeeds](./read_query.md) + +Check query succeeds. + +## 🛑 Get constraint reference response format conforms to spec check + +The response to a successful get constraint 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,3](../../../../../../../requirements/astm/f3548/v21.md)**. + +## 🛑 Get constraint reference response content is correct check + +A successful constraint reference creation query is expected to return a body, the content of which reflects a constraint 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,3](../../../../../../../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/fragments/cr/crud/read_query.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/crud/read_query.md new file mode 100644 index 0000000000..0174263d24 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/crud/read_query.md @@ -0,0 +1,7 @@ +# Read constraint reference query test step fragment + +This test step fragment validates that a query to retrieve an existing constraint reference with valid parameters succeeds. + +## 🛑 Get constraint reference by ID check + +If an existing constraint reference cannot successfully be queried using its ID, the DSS is failing to meet **[astm.f3548.v21.DSS0005,3](../../../../../../../requirements/astm/f3548/v21.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/sync.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/sync.md new file mode 100644 index 0000000000..28c3bae51e --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/sync.md @@ -0,0 +1,58 @@ +# Synchronize constraint reference test step fragment + +This test step fragment validates that constraint references are properly synchronized across a set of DSS instances. + +## 🛑 Constraint reference can be found at every DSS check + +If the previously created or mutated constraint reference cannot be found at a DSS, either one of the instances at which the constraint reference was created or the one that was queried, +is failing to implement one of the following requirements: + +**[astm.f3548.v21.DSS0210,2a](../../../../../../requirements/astm/f3548/v21.md)**, if the API is not working as described by the OpenAPI specification; +**[astm.f3548.v21.DSS0215](../../../../../../requirements/astm/f3548/v21.md)**, if the DSS is returning API calls to the client before having updated its underlying distributed storage. + +As a result, the DSS pool under test is failing to meet **[astm.f3548.v21.DSS0020](../../../../../../requirements/astm/f3548/v21.md)**. + +## ⚠️ Propagated constraint reference contains the correct manager check + +If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct manager, +either one of the instances at which the constraint reference was created or the one that was queried, +is failing to implement one of the following requirements: + +**[astm.f3548.v21.DSS0210,2b](../../../../../../requirements/astm/f3548/v21.md)**, if the API is not working as described by the OpenAPI specification; +**[astm.f3548.v21.DSS0215](../../../../../../requirements/astm/f3548/v21.md)**, if the DSS is returning API calls to the client before having updated its underlying distributed storage. + +As a result, the DSS pool under test is failing to meet **[astm.f3548.v21.DSS0020](../../../../../../requirements/astm/f3548/v21.md)**. + +## ⚠️ Propagated constraint reference contains the correct USS base URL check + +If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct USS base URL, +either one of the instances at which the constraint reference was created or the one that was queried, +is failing to implement one of the following requirements: + +**[astm.f3548.v21.DSS0210,2c](../../../../../../requirements/astm/f3548/v21.md)**, if the API is not working as described by the OpenAPI specification; +**[astm.f3548.v21.DSS0215](../../../../../../requirements/astm/f3548/v21.md)**, if the DSS is returning API calls to the client before having updated its underlying distributed storage. + +As a result, the DSS pool under test is failing to meet **[astm.f3548.v21.DSS0020](../../../../../../requirements/astm/f3548/v21.md)**. + +## ⚠️ Propagated constraint reference contains the correct start time check + +If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct start time, +either one of the instances at which the constraint reference was created or the one that was queried, +is failing to implement one of the following requirements: + +**[astm.f3548.v21.DSS0210,2f](../../../../../../requirements/astm/f3548/v21.md)**, if the API is not working as described by the OpenAPI specification; +**[astm.f3548.v21.DSS0215](../../../../../../requirements/astm/f3548/v21.md)**, if the DSS is returning API calls to the client before having updated its underlying distributed storage. + +As a result, the DSS pool under test is failing to meet **[astm.f3548.v21.DSS0020](../../../../../../requirements/astm/f3548/v21.md)**. + + +## ⚠️ Propagated constraint reference contains the correct end time check + +If the constraint reference returned by a DSS to which the constraint reference was synchronized to does not contain the correct end time, +either one of the instances at which the constraint reference was created or the one that was queried, +is failing to implement one of the following requirements: + +**[astm.f3548.v21.DSS0210,2f](../../../../../../requirements/astm/f3548/v21.md)**, if the API is not working as described by the OpenAPI specification; +**[astm.f3548.v21.DSS0215](../../../../../../requirements/astm/f3548/v21.md)**, if the DSS is returning API calls to the client before having updated its underlying distributed storage. + +As a result, the DSS pool under test is failing to meet **[astm.f3548.v21.DSS0020](../../../../../../requirements/astm/f3548/v21.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/validate/mutated.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/validate/mutated.md new file mode 100644 index 0000000000..dd2052bcda --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/validate/mutated.md @@ -0,0 +1,14 @@ +# Validate mutated constraint reference test step fragment + +This test step fragment attempts to validate a single constraint reference returned by the DSS, +usually after it has been mutated. + +The code for these checks lives in the [cr_validator.py](../../../validators/cr_validator.py) class. + +## ⚠️ Mutated constraint reference version is updated check + +Following a mutation, the DSS needs to update the constraint reference version, otherwise it is in violation of **[astm.f3548.v21.DSS0005,3](../../../../../../../requirements/astm/f3548/v21.md)**. + +## ⚠️ Mutated constraint reference OVN is updated check + +Following a mutation, the DSS needs to update the constraint reference OVN, otherwise it is in violation of **[astm.f3548.v21.DSS0005,3](../../../../../../../requirements/astm/f3548/v21.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/validate/non_mutated.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/validate/non_mutated.md new file mode 100644 index 0000000000..bdebecfb66 --- /dev/null +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/fragments/cr/validate/non_mutated.md @@ -0,0 +1,14 @@ +# Validate non-mutated constraint reference test step fragment + +This test step fragment attempts to validate a single constraint reference returned by the DSS, +usually after it has been created or to confirm it has not been mutated by an action. + +The code for these checks lives in the [cr_validator.py](../../../validators/cr_validator.py) class. + +## ⚠️ Non-mutated constraint reference keeps the same version check + +If the version of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of **[astm.f3548.v21.DSS0005,3](../../../../../../../requirements/astm/f3548/v21.md)**. + +## ⚠️ Non-mutated constraint reference keeps the same OVN check + +If the OVN of the constraint reference is updated without there having been any mutation of the constraint reference, the DSS is in violation of **[astm.f3548.v21.DSS0005,3](../../../../../../../requirements/astm/f3548/v21.md)**. diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.md b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.md index af20abd469..e1fdf83876 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.md +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.md @@ -49,4 +49,31 @@ Verify that an constraint reference can be created on the primary DSS. Verify that the constraint reference returned by the DSS under test is properly formatted and contains the expected content. +### Retrieve newly created CR test step + +Retrieve and validate synchronization of the created constraint at every DSS provided in `dss_instances`. + +#### [Get CR query](../fragments/cr/crud/read_correct.md) + +Check that read query succeeds. + +#### Newly created CR can be consistently retrieved from all DSS instances check + +If the constraint retrieved from a secondary DSS instance is not consistent with the newly created one on the +primary DSS instance, this check will fail per **[astm.f3548.v21.DSS0210,A2-7-2,1a](../../../../../requirements/astm/f3548/v21.md)**, **[astm.f3548.v21.DSS0210,A2-7-2,1f](../../../../../requirements/astm/f3548/v21.md)**, +**[astm.f3548.v21.DSS0215](../../../../../requirements/astm/f3548/v21.md)** and **[astm.f3548.v21.DSS0020](../../../../../requirements/astm/f3548/v21.md)**. + +#### [CR is synchronized](../fragments/cr/sync.md) + +Confirm that each DSS provides direct access to the created constraint reference. +Confirm that the constraint reference that was just created is properly synchronized across all DSS instances. + +#### [CR Content is correct](../fragments/cr/validate/correctness.md) + +Sanity check on the rest of the content and format of the response. + +#### [CR version is correct](../fragments/cr/validate/non_mutated.md) + +Confirm that version and OIR are as expected. + ## [Cleanup](../clean_workspace.md) diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.py b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.py index 636c3e7106..5b224d0ad0 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.py +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/synchronization/constraint_ref_synchronization.py @@ -8,8 +8,8 @@ ) from uas_standards.astm.f3548.v21.constants import Scope -from monitoring.monitorlib.fetch import QueryError -from monitoring.monitorlib.geotemporal import Volume4D +from monitoring.monitorlib.fetch import QueryError, Query +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 ( @@ -23,6 +23,9 @@ from monitoring.uss_qualifier.scenarios.astm.utm.dss.validators.cr_validator import ( ConstraintReferenceValidator, ) +from monitoring.uss_qualifier.scenarios.astm.utm.dss.validators.oir_validator import ( + TIME_TOLERANCE_SEC, +) from monitoring.uss_qualifier.scenarios.scenario import ( TestScenario, ScenarioCannotContinueError, @@ -122,6 +125,13 @@ def run(self, context: ExecutionContext): self._create_cr_with_params(self._cr_params) self.end_test_step() + self.begin_test_step("Retrieve newly created CR") + self._query_secondaries_and_compare( + "Newly created CR can be consistently retrieved from all DSS instances", + self._cr_params, + ) + self.end_test_step() + # Other steps to follow in subsequent PRs self.end_test_case() @@ -196,6 +206,139 @@ def _create_cr_with_params(self, creation_params: PutConstraintReferenceParamete self._current_cr = cr + def _query_secondaries_and_compare( + self, + main_check_name: str, + expected_cr_params: PutConstraintReferenceParameters, + ): + for secondary_dss in self._secondary_dss_instances: + with self.check( + "Get constraint reference by ID", + secondary_dss.participant_id, + ) as check: + try: + oir, q = secondary_dss.get_constraint_ref(self._cr_id) + self.record_query(q) + except QueryError as qe: + self.record_queries(qe.queries) + check.record_failed( + summary="GET for constraint reference failed", + details=f"Query for constraint reference failed: {qe.msg}", + query_timestamps=qe.query_timestamps, + ) + + involved_participants = list( + {self._primary_pid, secondary_dss.participant_id} + ) + + with self.check( + "Constraint reference can be found at every DSS", + involved_participants, + ) as check: + if q.status_code != 200: + check.record_failed( + summary="Requested constraint reference was not found at secondary DSS.", + details=f"Query for constraint reference {self._cr_id} failed: {q.msg}", + query_timestamps=[q.request.timestamp], + ) + + self._validate_cr_from_secondary( + cr=oir, + q=q, + expected_cr_params=expected_cr_params, + main_check_name=main_check_name, + involved_participants=involved_participants, + ) + + def _validate_cr_from_secondary( + self, + cr: ConstraintReference, + q: Query, + expected_cr_params: PutConstraintReferenceParameters, + main_check_name: str, + involved_participants: List[str], + ): + with self.check(main_check_name, involved_participants) as main_check: + with self.check( + "Propagated constraint reference contains the correct manager", + involved_participants, + ) as check: + if cr.manager != self._expected_manager: + check_args = dict( + summary="Propagated CR has an incorrect manager", + details=f"Expected: {self._expected_manager}, Received: {cr.manager}", + query_timestamps=[q.request.timestamp], + ) + check.record_failed(**check_args) + main_check.record_failed(**check_args) + + with self.check( + "Propagated constraint reference contains the correct USS base URL", + involved_participants, + ) as check: + if cr.uss_base_url != expected_cr_params.uss_base_url: + check_args = dict( + summary="Propagated CR has an incorrect USS base URL", + details=f"Expected: {expected_cr_params.base_url}, Received: {cr.uss_base_url}", + query_timestamps=[q.request.timestamp], + ) + check.record_failed(**check_args) + main_check.record_failed(**check_args) + + expected_volume_collection = Volume4DCollection.from_interuss_scd_api( + expected_cr_params.extents + ) + expected_end = expected_volume_collection.time_end.datetime + expected_start = expected_volume_collection.time_start.datetime + with self.check( + "Propagated constraint reference contains the correct start time", + involved_participants, + ) as check: + if ( + abs(cr.time_start.value.datetime - expected_start).total_seconds() + > TIME_TOLERANCE_SEC + ): + check_args = dict( + summary="Propagated CR has an incorrect start time", + details=f"Expected: {expected_start}, Received: {cr.time_start}", + query_timestamps=[q.request.timestamp], + ) + check.record_failed(**check_args) + main_check.record_failed(**check_args) + + with self.check( + "Propagated constraint reference contains the correct end time", + involved_participants, + ) as check: + if ( + abs(cr.time_end.value.datetime - expected_end).total_seconds() + > TIME_TOLERANCE_SEC + ): + check_args = dict( + summary="Propagated CR has an incorrect end time", + details=f"Expected: {expected_end}, Received: {cr.time_end}", + query_timestamps=[q.request.timestamp], + ) + check.record_failed(**check_args) + main_check.record_failed(**check_args) + + with self.check( + "Get constraint reference response content is correct", + [self._primary_pid], + ) as check: + ConstraintReferenceValidator( + main_check=check, + scenario=self, + expected_manager=self._expected_manager, + participant_id=involved_participants, + cr_params=expected_cr_params, + ).validate_fetched_cr( + self._cr_id, + fetched_cr=q, + expected_version=cr.version, + expected_ovn=cr.ovn, + ) + def cleanup(self): self.begin_cleanup() self._ensure_clean_workspace_step() diff --git a/monitoring/uss_qualifier/scenarios/astm/utm/dss/validators/cr_validator.py b/monitoring/uss_qualifier/scenarios/astm/utm/dss/validators/cr_validator.py index 7cf1300ff4..889449b39d 100644 --- a/monitoring/uss_qualifier/scenarios/astm/utm/dss/validators/cr_validator.py +++ b/monitoring/uss_qualifier/scenarios/astm/utm/dss/validators/cr_validator.py @@ -226,6 +226,59 @@ def _validate_cr( t_dss=t_dss, ) + if previous_ovn is not None: + with self._scenario.check( + "Mutated constraint reference OVN is updated", self._pid + ) as check: + if dss_cr.ovn == previous_ovn: + self._fail_sub_check( + check, + summary="Returned CR OVN was not updated", + details=f"Expected OVN to be different from {previous_ovn}, but it was not", + t_dss=t_dss, + ) + + if expected_ovn is not None: + with self._scenario.check( + "Non-mutated constraint reference keeps the same OVN", self._pid + ) as check: + if dss_cr.ovn != expected_ovn: + self._fail_sub_check( + check, + summary="Returned CR OVN was updated", + details=f"Expected OVN to be {expected_ovn}, Returned: {dss_cr.ovn}", + t_dss=t_dss, + ) + + # If the previous version is not None, we are dealing with a mutation: + if previous_version is not None: + with self._scenario.check( + "Mutated constraint reference version is updated", self._pid + ) as check: + # TODO confirm that a mutation should imply a version update + if dss_cr.version == previous_version: + self._fail_sub_check( + check, + summary="Returned CR version was not updated", + details=f"Expected version to be different from {previous_version}, but it was not", + t_dss=t_dss, + ) + + # TODO version _might_ get incremented due to changes caused outside of the uss_qualifier + # and we should probably check if it is equal or higher. Leaving as-is for now. + if expected_version is not None: + with self._scenario.check( + "Non-mutated constraint reference keeps the same version", + self._pid, + ) as check: + if dss_cr.version != expected_version: + self._fail_sub_check( + check, + summary="Returned CR version was updated", + details=f"Expected version to be {expected_version}, Returned: {dss_cr.version}", + t_dss=t_dss, + ) + # TODO add check for: # - subscription ID of the CR (based on passed parameters, if these were set) @@ -279,3 +332,39 @@ def validate_created_cr( previous_ovn=None, expected_ovn=None, ) + + def validate_fetched_cr( + self, + expected_cr_id: EntityID, + fetched_cr: fetch.Query, + expected_version: int, + expected_ovn: EntityOVN, + ) -> None: + """Validate a CR that was directly queried by its ID.""" + + t_dss = fetched_cr.request.timestamp + + # Validate the response schema + with self._scenario.check( + "Get constraint reference response format conforms to spec", + self._pid, + ) as check: + errors = schema_validation.validate( + F3548_21.OpenAPIPath, + F3548_21.GetConstraintReferenceResponse, + fetched_cr.response.json, + ) + if errors: + fail_with_schema_errors(check, errors, t_dss) + + parsed_resp = fetched_cr.parse_json_result(GetConstraintReferenceResponse) + # Validate the CR itself + self._validate_cr( + expected_entity_id=expected_cr_id, + dss_cr=parsed_resp.constraint_reference, + t_dss=t_dss, + previous_version=None, + expected_version=expected_version, + previous_ovn=None, + expected_ovn=expected_ovn, + ) diff --git a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md index 6c3caadc59..3b518ab734 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md +++ b/monitoring/uss_qualifier/suites/astm/utm/dss_probing.md @@ -30,7 +30,7 @@ Checked in - astm
.f3548
.v21
+ astm
.f3548
.v21
DSS0005,1 Implemented ASTM F3548-21 UTM DSS Operational Intent Reference Access Control
ASTM F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
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
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction @@ -63,7 +63,7 @@ DSS0020 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0100,1 @@ -133,17 +133,17 @@ DSS0210,2a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2b Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2c Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2d @@ -158,7 +158,7 @@ DSS0210,2f Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,3a @@ -178,7 +178,7 @@ DSS0210,A2-7-2,1a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,A2-7-2,1b @@ -195,6 +195,11 @@ Implemented ASTM SCD DSS: Operational Intent Reference Synchronization + + DSS0210,A2-7-2,1f + Implemented + ASTM SCD DSS: Constraint Reference Synchronization + DSS0210,A2-7-2,2a Implemented @@ -263,7 +268,7 @@ DSS0215 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0300 diff --git a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md index c6a58596c8..3bd3fadf8c 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md +++ b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md @@ -36,7 +36,7 @@ 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 F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
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
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted @@ -69,7 +69,7 @@ DSS0020 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0100,1 @@ -139,17 +139,17 @@ DSS0210,2a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2b Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2c Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2d @@ -164,7 +164,7 @@ DSS0210,2f Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,3a @@ -184,7 +184,7 @@ DSS0210,A2-7-2,1a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,A2-7-2,1b @@ -201,6 +201,11 @@ Implemented ASTM SCD DSS: Operational Intent Reference Synchronization + + DSS0210,A2-7-2,1f + Implemented + ASTM SCD DSS: Constraint Reference Synchronization + DSS0210,A2-7-2,2a Implemented @@ -269,7 +274,7 @@ DSS0215 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0300 diff --git a/monitoring/uss_qualifier/suites/faa/uft/message_signing.md b/monitoring/uss_qualifier/suites/faa/uft/message_signing.md index a78d07237a..dc460d6c04 100644 --- a/monitoring/uss_qualifier/suites/faa/uft/message_signing.md +++ b/monitoring/uss_qualifier/suites/faa/uft/message_signing.md @@ -18,7 +18,7 @@ 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 F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
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
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted @@ -51,7 +51,7 @@ DSS0020 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0100,1 @@ -121,17 +121,17 @@ DSS0210,2a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2b Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2c Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2d @@ -146,7 +146,7 @@ DSS0210,2f Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,3a @@ -166,7 +166,7 @@ DSS0210,A2-7-2,1a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,A2-7-2,1b @@ -183,6 +183,11 @@ Implemented ASTM SCD DSS: Operational Intent Reference Synchronization + + DSS0210,A2-7-2,1f + Implemented + ASTM SCD DSS: Constraint Reference Synchronization + DSS0210,A2-7-2,2a Implemented @@ -251,7 +256,7 @@ DSS0215 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0300 diff --git a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md index cd7cdaee8d..98c18d5928 100644 --- a/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md +++ b/monitoring/uss_qualifier/suites/interuss/dss/all_tests.md @@ -408,7 +408,7 @@ 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 F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
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
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction @@ -441,7 +441,7 @@ DSS0020 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0100,1 @@ -511,17 +511,17 @@ DSS0210,2a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2b Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2c Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2d @@ -536,7 +536,7 @@ DSS0210,2f Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,3a @@ -556,7 +556,7 @@ DSS0210,A2-7-2,1a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,A2-7-2,1b @@ -573,6 +573,11 @@ Implemented ASTM SCD DSS: Operational Intent Reference Synchronization + + DSS0210,A2-7-2,1f + Implemented + ASTM SCD DSS: Constraint Reference Synchronization + DSS0210,A2-7-2,2a Implemented @@ -641,7 +646,7 @@ DSS0215 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0300 diff --git a/monitoring/uss_qualifier/suites/uspace/flight_auth.md b/monitoring/uss_qualifier/suites/uspace/flight_auth.md index 9c1b4730d6..8614dac30e 100644 --- a/monitoring/uss_qualifier/suites/uspace/flight_auth.md +++ b/monitoring/uss_qualifier/suites/uspace/flight_auth.md @@ -19,7 +19,7 @@ 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 F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
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
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted @@ -52,7 +52,7 @@ DSS0020 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0100,1 @@ -122,17 +122,17 @@ DSS0210,2a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2b Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2c Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2d @@ -147,7 +147,7 @@ DSS0210,2f Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,3a @@ -167,7 +167,7 @@ DSS0210,A2-7-2,1a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,A2-7-2,1b @@ -184,6 +184,11 @@ Implemented ASTM SCD DSS: Operational Intent Reference Synchronization + + DSS0210,A2-7-2,1f + Implemented + ASTM SCD DSS: Constraint Reference Synchronization + DSS0210,A2-7-2,2a Implemented @@ -252,7 +257,7 @@ DSS0215 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0300 diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.md b/monitoring/uss_qualifier/suites/uspace/required_services.md index 485483be98..47c8851303 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.md +++ b/monitoring/uss_qualifier/suites/uspace/required_services.md @@ -454,7 +454,7 @@ 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 F3548-21 UTM DSS Operational Intent Reference State Transitions
ASTM SCD DSS: Constraint Reference Synchronization
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
ASTM SCD DSS: Subscription and entity deletion interaction
ASTM SCD DSS: Subscription and entity interaction
Nominal planning: not permitted conflict with equal priority
Off-Nominal planning: down USS
Off-Nominal planning: down USS with equal priority conflicts not permitted @@ -487,7 +487,7 @@ DSS0020 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0100,1 @@ -557,17 +557,17 @@ DSS0210,2a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2b Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2c Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,2d @@ -582,7 +582,7 @@ DSS0210,2f Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,3a @@ -602,7 +602,7 @@ DSS0210,A2-7-2,1a Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization DSS0210,A2-7-2,1b @@ -619,6 +619,11 @@ Implemented ASTM SCD DSS: Operational Intent Reference Synchronization + + DSS0210,A2-7-2,1f + Implemented + ASTM SCD DSS: Constraint Reference Synchronization + DSS0210,A2-7-2,2a Implemented @@ -687,7 +692,7 @@ DSS0215 Implemented - ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization + ASTM SCD DSS: Constraint Reference Synchronization
ASTM SCD DSS: Operational Intent Reference Synchronization
ASTM SCD DSS: Subscription Synchronization
ASTM SCD DSS: USS Availability Synchronization DSS0300