diff --git a/NEXT_RELEASE_NOTES.md b/NEXT_RELEASE_NOTES.md index 2c6ada15cb..21d0564e33 100644 --- a/NEXT_RELEASE_NOTES.md +++ b/NEXT_RELEASE_NOTES.md @@ -37,6 +37,9 @@ The release notes should contain at least the following sections: ## Mandatory migration tasks +* For any uss_qualifier test configurations using any of the test suites `suites.astm.utm.f3548_21`, `suites.faa.uft.message_signing`, `suites.uspace.flight_auth`, or `suites.uspace.required_services`, the following resources must be changed: + * A new required resource named `conflicting_flights_provider` must be provided. It must be a `resources.resource.ResourceProvidingResource` providing `resources.flight_planning.FlightIntentsResource` instances with spatially separated flight intents for each planner combination used by `ConflictEqualPriorityNotPermitted`. One suitable implementation is `resources.geospatial.TriangularCascadeSoutheastResource` with `conflicting_flights` as its `base_resource`; see [f3548_self_contained](./monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml) for an example. The existing `conflicting_flights` resource is still required for other scenarios. + ## Optional migration tasks ## Important information diff --git a/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml b/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml index b0f44dc0ff..e54e5c3722 100644 --- a/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml +++ b/monitoring/uss_qualifier/configurations/dev/f3548_self_contained.yaml @@ -20,6 +20,7 @@ v1: flight_planners: flight_planners flight_planners_to_clear: flight_planners conflicting_flights: conflicting_flights + conflicting_flights_provider: conflicting_flights_provider priority_preemption_flights_provider: conflicting_flights_provider invalid_flight_intents: invalid_flight_intents non_conflicting_flights: non_conflicting_flights diff --git a/monitoring/uss_qualifier/configurations/dev/message_signing.yaml b/monitoring/uss_qualifier/configurations/dev/message_signing.yaml index 89404bca8a..11933a816e 100644 --- a/monitoring/uss_qualifier/configurations/dev/message_signing.yaml +++ b/monitoring/uss_qualifier/configurations/dev/message_signing.yaml @@ -53,6 +53,7 @@ v1: flight_planners: flight_planners combination_selector: combination_selector conflicting_flights: che_conflicting_flights + conflicting_flights_provider: che_conflicting_flights_provider invalid_flight_intents: che_invalid_flight_intents non_conflicting_flights: che_non_conflicting_flights priority_preemption_flights_provider: che_conflicting_flights_provider diff --git a/monitoring/uss_qualifier/configurations/dev/uspace.yaml b/monitoring/uss_qualifier/configurations/dev/uspace.yaml index aa0c88d2ec..78fe0af51a 100644 --- a/monitoring/uss_qualifier/configurations/dev/uspace.yaml +++ b/monitoring/uss_qualifier/configurations/dev/uspace.yaml @@ -60,6 +60,7 @@ v1: prod_env_version_providers: prod_env_version_providers? conflicting_flights: che_conflicting_flights + conflicting_flights_provider: che_conflicting_flights_provider priority_preemption_flights_provider: che_conflicting_flights_provider invalid_flight_intents: che_invalid_flight_intents invalid_flight_auth_flights: che_invalid_flight_auth_flights @@ -97,6 +98,7 @@ v1: prod_env_version_providers: prod_env_version_providers? conflicting_flights: conflicting_flights + conflicting_flights_provider: conflicting_flights_provider priority_preemption_flights_provider: priority_preemption_flights_provider invalid_flight_intents: invalid_flight_intents invalid_flight_auth_flights: invalid_flight_auth_flights diff --git a/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/definitions/baseline_a.libsonnet b/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/definitions/baseline_a.libsonnet index 7c8090de5c..930a4e71cd 100644 --- a/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/definitions/baseline_a.libsonnet +++ b/monitoring/uss_qualifier/configurations/dev/utm_implementation_us/definitions/baseline_a.libsonnet @@ -23,6 +23,7 @@ function(env) { flight_planners: 'flight_planners', flight_planners_to_clear: 'flight_planners_to_clear', conflicting_flights: 'conflicting_flights', + conflicting_flights_provider: 'conflicting_flights_provider', priority_preemption_flights_provider: 'conflicting_flights_provider', invalid_flight_intents: 'invalid_flight_intents', non_conflicting_flights: 'non_conflicting_flights', diff --git a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md index cff82e310d..239119a9dc 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md +++ b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.md @@ -13,7 +13,7 @@ 1. Scenario: [Validation of operational intents](../../../scenarios/astm/utm/flight_intent_validation/flight_intent_validation.md) ([`scenarios.astm.utm.FlightIntentValidation`](../../../scenarios/astm/utm/flight_intent_validation/flight_intent_validation.py)) 6. Action generator: [`action_generators.resource_environments.ResourceEnvironmentsActionGenerator`](../../../action_generators/resource_environments.py) 1. Scenario: [Nominal planning: conflict with higher priority](../../../scenarios/astm/utm/nominal_planning/conflict_higher_priority/conflict_higher_priority.md) ([`scenarios.astm.utm.ConflictHigherPriority`](../../../scenarios/astm/utm/nominal_planning/conflict_higher_priority/conflict_higher_priority.py)) -7. Action generator: [`action_generators.flight_planning.FlightPlannerCombinations`](../../../action_generators/flight_planning/planner_combinations.py) +7. Action generator: [`action_generators.resource_environments.ResourceEnvironmentsActionGenerator`](../../../action_generators/resource_environments.py) 1. Scenario: [Nominal planning: not permitted conflict with equal priority](../../../scenarios/astm/utm/nominal_planning/conflict_equal_priority_not_permitted/conflict_equal_priority_not_permitted.md) ([`scenarios.astm.utm.ConflictEqualPriorityNotPermitted`](../../../scenarios/astm/utm/nominal_planning/conflict_equal_priority_not_permitted/conflict_equal_priority_not_permitted.py)) 8. Action generator: [`action_generators.flight_planning.FlightPlannerCombinations`](../../../action_generators/flight_planning/planner_combinations.py) 1. Scenario: [Data Validation of GET operational intents by USS](../../../scenarios/astm/utm/data_exchange_validation/get_op_data_validation.md) ([`scenarios.astm.utm.data_exchange_validation.GetOpResponseDataValidationByUSS`](../../../scenarios/astm/utm/data_exchange_validation/get_op_data_validation.py)) diff --git a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml index e52ef8d556..bab2138765 100644 --- a/monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml +++ b/monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml @@ -11,6 +11,7 @@ resources: conflicting_flights: resources.flight_planning.FlightIntentsResource # This resource should provide resources.flight_planning.FlightIntentsResource instances + conflicting_flights_provider: resources.resource.ResourceProvidingResource priority_preemption_flights_provider: resources.resource.ResourceProvidingResource? invalid_flight_intents: resources.flight_planning.FlightIntentsResource @@ -44,10 +45,24 @@ local_resources: environments: priority_preemption_combinations # provides uss1, uss2 flight_intents: priority_preemption_flights_provider specification: {} + equal_priority_conflict_combinations: + resource_type: resources.combinations.ResourceCombinationsResource + dependencies: + uss1: flight_planners + uss2: flight_planners + combination_selector: nominal_planning_selector? + specification: {} + equal_priority_conflict_environments: + resource_type: resources.environments.EnvironmentAugmentationResource + dependencies: + environments: equal_priority_conflict_combinations # provides uss1, uss2 + flight_intents: conflicting_flights_provider + specification: {} flight_intents_environments: resource_type: resources.environments.ConcatenatedResourceEnvironmentsResource dependencies: priority_preemption: priority_preemption_environments? + equal_priority_conflict: equal_priority_conflict_environments specification: {} actions: - test_scenario: @@ -66,8 +81,7 @@ actions: mock_uss: mock_uss? dss: dss flight_intents: invalid_flight_intents - flight_intents2: conflicting_flights? - flight_intents3: non_conflicting_flights? + flight_intents2: non_conflicting_flights? flight_intents_environments: flight_intents_environments? - action_generator: generator_type: action_generators.astm.f3548.ForEachDSS @@ -133,26 +147,20 @@ actions: control_uss: uss2 dss: dss - action_generator: - generator_type: action_generators.flight_planning.FlightPlannerCombinations + generator_type: action_generators.resource_environments.ResourceEnvironmentsActionGenerator resources: - flight_planners: flight_planners - nominal_planning_selector: nominal_planning_selector? - conflicting_flights: conflicting_flights + equal_priority_conflict_environments: equal_priority_conflict_environments dss: dss specification: + resource_environments_source: equal_priority_conflict_environments action_to_repeat: test_scenario: scenario_type: scenarios.astm.utm.ConflictEqualPriorityNotPermitted resources: - flight_intents: conflicting_flights + flight_intents: flight_intents tested_uss: uss1 control_uss: uss2 dss: dss - combination_selector_source: nominal_planning_selector - flight_planners_source: flight_planners - roles: - - uss1 - - uss2 - action_generator: generator_type: action_generators.flight_planning.FlightPlannerCombinations resources: @@ -255,8 +263,7 @@ actions: mock_uss: mock_uss? dss: dss flight_intents: invalid_flight_intents - flight_intents2: conflicting_flights? - flight_intents3: non_conflicting_flights? + flight_intents2: non_conflicting_flights? flight_intents_environments: flight_intents_environments? - test_scenario: scenario_type: scenarios.astm.utm.make_uss_report.MakeUssReport diff --git a/monitoring/uss_qualifier/suites/faa/uft/message_signing.yaml b/monitoring/uss_qualifier/suites/faa/uft/message_signing.yaml index 500947b36d..d4394918a4 100644 --- a/monitoring/uss_qualifier/suites/faa/uft/message_signing.yaml +++ b/monitoring/uss_qualifier/suites/faa/uft/message_signing.yaml @@ -10,6 +10,7 @@ resources: non_conflicting_flights: resources.flight_planning.FlightIntentsResource # This resource should provide resources.flight_planning.FlightIntentsResource instances + conflicting_flights_provider: resources.resource.ResourceProvidingResource priority_preemption_flights_provider: resources.resource.ResourceProvidingResource? invalid_flight_intents: resources.flight_planning.FlightIntentsResource @@ -29,6 +30,7 @@ actions: resources: mock_uss: mock_uss conflicting_flights: conflicting_flights + conflicting_flights_provider: conflicting_flights_provider non_conflicting_flights: non_conflicting_flights priority_preemption_flights_provider: priority_preemption_flights_provider? flight_planners: flight_planners diff --git a/monitoring/uss_qualifier/suites/uspace/flight_auth.yaml b/monitoring/uss_qualifier/suites/uspace/flight_auth.yaml index 5ecd804780..4ffa0ad23e 100644 --- a/monitoring/uss_qualifier/suites/uspace/flight_auth.yaml +++ b/monitoring/uss_qualifier/suites/uspace/flight_auth.yaml @@ -5,6 +5,7 @@ resources: conflicting_flights: resources.flight_planning.FlightIntentsResource # This resource should provide resources.flight_planning.FlightIntentsResource instances + conflicting_flights_provider: resources.resource.ResourceProvidingResource priority_preemption_flights_provider: resources.resource.ResourceProvidingResource? invalid_flight_auth_flights: resources.flight_planning.FlightIntentsResource @@ -30,6 +31,7 @@ actions: test_env_version_providers: test_env_version_providers? prod_env_version_providers: prod_env_version_providers? conflicting_flights: conflicting_flights + conflicting_flights_provider: conflicting_flights_provider priority_preemption_flights_provider: priority_preemption_flights_provider? invalid_flight_intents: invalid_flight_intents non_conflicting_flights: non_conflicting_flights diff --git a/monitoring/uss_qualifier/suites/uspace/required_services.yaml b/monitoring/uss_qualifier/suites/uspace/required_services.yaml index 74e4de2fe6..b944484130 100644 --- a/monitoring/uss_qualifier/suites/uspace/required_services.yaml +++ b/monitoring/uss_qualifier/suites/uspace/required_services.yaml @@ -6,6 +6,7 @@ resources: conflicting_flights: resources.flight_planning.FlightIntentsResource # This resource should provide resources.flight_planning.FlightIntentsResource instances + conflicting_flights_provider: resources.resource.ResourceProvidingResource priority_preemption_flights_provider: resources.resource.ResourceProvidingResource? invalid_flight_intents: resources.flight_planning.FlightIntentsResource @@ -51,6 +52,7 @@ actions: test_env_version_providers: test_env_version_providers? prod_env_version_providers: prod_env_version_providers? conflicting_flights: conflicting_flights + conflicting_flights_provider: conflicting_flights_provider priority_preemption_flights_provider: priority_preemption_flights_provider? invalid_flight_intents: invalid_flight_intents invalid_flight_auth_flights: invalid_flight_auth_flights