Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -307,15 +307,24 @@ v1:

# Allow certain actions to execute their sub-actions in parallel.
parallelism_rules:
# The DSS probing generator (action 3 in f3548_21) isn't ready to run its actions in parallel yet
# The DSS probing generator isn't ready to run its actions in parallel yet
- max_parallelism: 1
conditions:
- is_action_generator:
types:
- action_generators.resource_environments.ResourceEnvironmentsActionGenerator
defined_at:
# TODO: add ability to condition on potential actions
- test_suite.actions[3].action_generator
potentially_generates_any_of:
- test_suite:
suite_type: suites.astm.utm.dss_probing
# The single-planner generator isn't ready to run its actions in parallel yet
- max_parallelism: 1
conditions:
- is_action_generator:
types:
- action_generators.resource_environments.ResourceEnvironmentsActionGenerator
potentially_generates_any_of:
- test_suite:
suite_type: suites.astm.utm.single_planner
# ...but other ResourceEnvironmentsActionGenerators can have their actions run in parallel
- max_parallelism: 2
conditions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,6 @@ v1:
pass_condition:
elements:
count:
equal_to: 7 # 2 DatastoreAccess, 1 PoolInfo, 1 GetSystemVersions, 1 SCDAuthenticationValidation, 1 MakeUssReport, 1 EvaluateSystemVersions
# 2 DatastoreAccess, 2 SCDAuthenticationValidation (one per planner),
# 1 PoolInfo, 1 GetSystemVersions, 1 MakeUssReport, 1 EvaluateSystemVersions
equal_to: 8

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question/nit: It is worth mentioning in next release notes since people may have to update those values?

26 changes: 8 additions & 18 deletions monitoring/uss_qualifier/suites/astm/utm/f3548_21.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,16 @@
3. Scenario: [ASTM F3548 flight planners preparation](../../../scenarios/astm/utm/prep_planners.md) ([`scenarios.astm.utm.PrepareFlightPlanners`](../../../scenarios/astm/utm/prep_planners.py))
4. Action generator: [`action_generators.resource_environments.ResourceEnvironmentsActionGenerator`](../../../action_generators/resource_environments.py)
1. Suite: [DSS testing for ASTM F3548-21](dss_probing.md) ([`suites.astm.utm.dss_probing`](dss_probing.yaml))
5. Action generator: [`action_generators.flight_planning.FlightPlannerCombinations`](../../../action_generators/flight_planning/planner_combinations.py)
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))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question/nit: Validation of operational intents has been moved down and now runs after the higher/equal priority conflicts in the single planner, is that ok? I do have the feeling that validation should run first, but it's using invalid_flight_intents, which are not used by conflict steps, so that's probably fine?

6. Action generator: [`action_generators.resource_environments.ResourceEnvironmentsActionGenerator`](../../../action_generators/resource_environments.py)
5. 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.resource_environments.ResourceEnvironmentsActionGenerator`](../../../action_generators/resource_environments.py)
6. 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))
9. Action generator: [`action_generators.flight_planning.FlightPlannerCombinations`](../../../action_generators/flight_planning/planner_combinations.py)
1. Scenario: [Awareness of relevant operational intents](../../../scenarios/astm/utm/subscription_notifications/receive_notifications_for_awareness/receive_notifications_for_awareness.md) ([`scenarios.astm.utm.subscription_notifications.ReceiveNotificationsForAwareness`](../../../scenarios/astm/utm/subscription_notifications/receive_notifications_for_awareness/receive_notifications_for_awareness.py))
10. Action generator: [`action_generators.flight_planning.FlightPlannerCombinations`](../../../action_generators/flight_planning/planner_combinations.py)
1. Scenario: [ASTM SCD USS: Interfaces authentication](../../../scenarios/astm/utm/uss_authentication/scd_authentication_validation.md) ([`scenarios.astm.utm.uss_authentication.scd_authentication_validation.SCDAuthenticationValidation`](../../../scenarios/astm/utm/uss_authentication/scd_authentication_validation.py))
11. Action generator: [`action_generators.flight_planning.FlightPlannerCombinations`](../../../action_generators/flight_planning/planner_combinations.py)
1. Scenario: [Off-Nominal planning: down USS](../../../scenarios/astm/utm/off_nominal_planning/down_uss.md) ([`scenarios.astm.utm.DownUSS`](../../../scenarios/astm/utm/off_nominal_planning/down_uss.py))
12. Action generator: [`action_generators.flight_planning.FlightPlannerCombinations`](../../../action_generators/flight_planning/planner_combinations.py)
1. Scenario: [Off-Nominal planning: down USS with equal priority conflicts not permitted](../../../scenarios/astm/utm/off_nominal_planning/down_uss_equal_priority_not_permitted.md) ([`scenarios.astm.utm.DownUSSEqualPriorityNotPermitted`](../../../scenarios/astm/utm/off_nominal_planning/down_uss_equal_priority_not_permitted.py))
13. Scenario: [ASTM F3548 flight planners preparation](../../../scenarios/astm/utm/prep_planners.md) ([`scenarios.astm.utm.PrepareFlightPlanners`](../../../scenarios/astm/utm/prep_planners.py))
14. Scenario: [ASTM F3548 makeUssReport](../../../scenarios/astm/utm/make_uss_report.md) ([`scenarios.astm.utm.make_uss_report.MakeUssReport`](../../../scenarios/astm/utm/make_uss_report.py))
15. Scenario: [ASTM F3548-21 evaluate system versions](../../../scenarios/astm/utm/versioning/evaluate_system_versions.md) ([`scenarios.astm.utm.versioning.evaluate_system_versions.EvaluateSystemVersions`](../../../scenarios/astm/utm/versioning/evaluate_system_versions.py))
16. Scenario: [ASTM F3548 UTM aggregate checks](../../../scenarios/astm/utm/aggregate_checks.md) ([`scenarios.astm.utm.AggregateChecks`](../../../scenarios/astm/utm/aggregate_checks.py))
7. Action generator: [`action_generators.resource_environments.ResourceEnvironmentsActionGenerator`](../../../action_generators/resource_environments.py)
1. Suite: [Single flight planner testing for ASTM F3548-21](single_planner.md) ([`suites.astm.utm.single_planner`](single_planner.yaml))
8. Scenario: [ASTM F3548 flight planners preparation](../../../scenarios/astm/utm/prep_planners.md) ([`scenarios.astm.utm.PrepareFlightPlanners`](../../../scenarios/astm/utm/prep_planners.py))
9. Scenario: [ASTM F3548 makeUssReport](../../../scenarios/astm/utm/make_uss_report.md) ([`scenarios.astm.utm.make_uss_report.MakeUssReport`](../../../scenarios/astm/utm/make_uss_report.py))
10. Scenario: [ASTM F3548-21 evaluate system versions](../../../scenarios/astm/utm/versioning/evaluate_system_versions.md) ([`scenarios.astm.utm.versioning.evaluate_system_versions.EvaluateSystemVersions`](../../../scenarios/astm/utm/versioning/evaluate_system_versions.py))
11. Scenario: [ASTM F3548 UTM aggregate checks](../../../scenarios/astm/utm/aggregate_checks.md) ([`scenarios.astm.utm.AggregateChecks`](../../../scenarios/astm/utm/aggregate_checks.py))

## [Checked requirements](../../README.md#checked-requirements)

Expand Down
122 changes: 18 additions & 104 deletions monitoring/uss_qualifier/suites/astm/utm/f3548_21.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@ local_resources:
priority_preemption: priority_preemption_environments?
equal_priority_conflict: equal_priority_conflict_environments
specification: {}
single_planner_environments:
resource_type: resources.combinations.ResourceCombinationsResource
dependencies:
tested_uss: flight_planners
specification: {}
actions:
- test_scenario:
scenario_type: scenarios.versioning.GetSystemVersions
Expand Down Expand Up @@ -131,25 +136,6 @@ actions:
planning_area: planning_area
problematically_big_area: problematically_big_area
test_exclusions: test_exclusions?
- action_generator:
generator_type: action_generators.flight_planning.FlightPlannerCombinations
resources:
flight_planners: flight_planners
flight_intent_validation_selector: flight_intent_validation_selector?
invalid_flight_intents: invalid_flight_intents
dss: dss
specification:
action_to_repeat:
test_scenario:
scenario_type: scenarios.astm.utm.FlightIntentValidation
resources:
flight_intents: invalid_flight_intents
tested_uss: uss1
dss: dss
combination_selector_source: flight_intent_validation_selector?
flight_planners_source: flight_planners
roles:
- uss1
- action_generator:
generator_type: action_generators.resource_environments.ResourceEnvironmentsActionGenerator
resources:
Expand Down Expand Up @@ -181,100 +167,28 @@ actions:
control_uss: uss2
dss: dss
- action_generator:
generator_type: action_generators.flight_planning.FlightPlannerCombinations
resources:
flight_planners: flight_planners
non_conflicting_flights: non_conflicting_flights
dss: dss
mock_uss: mock_uss
specification:
action_to_repeat:
test_scenario:
scenario_type: scenarios.astm.utm.data_exchange_validation.GetOpResponseDataValidationByUSS
resources:
tested_uss: tested_uss
mock_uss: mock_uss
dss: dss
flight_intents: non_conflicting_flights
flight_planners_source: flight_planners
roles:
- tested_uss
- action_generator:
generator_type: action_generators.flight_planning.FlightPlannerCombinations
generator_type: action_generators.resource_environments.ResourceEnvironmentsActionGenerator
resources:
flight_planners: flight_planners
single_planner_environments: single_planner_environments
invalid_flight_intents: invalid_flight_intents
non_conflicting_flights: non_conflicting_flights
conflicting_flights: conflicting_flights
dss: dss
mock_uss: mock_uss
specification:
action_to_repeat:
test_scenario:
scenario_type: scenarios.astm.utm.subscription_notifications.ReceiveNotificationsForAwareness
resources:
tested_uss: tested_uss
mock_uss: mock_uss
dss: dss
flight_intents: non_conflicting_flights
flight_planners_source: flight_planners
roles:
- tested_uss
- action_generator:
generator_type: action_generators.flight_planning.FlightPlannerCombinations
resources:
flight_planners: flight_planners
mock_uss: mock_uss?
utm_auth: utm_auth?
dss: dss
non_conflicting_flights: non_conflicting_flights
specification:
resource_environments_source: single_planner_environments
action_to_repeat:
test_scenario:
scenario_type: scenarios.astm.utm.uss_authentication.scd_authentication_validation.SCDAuthenticationValidation
test_suite:
suite_type: suites.astm.utm.single_planner
resources:
tested_uss: tested_uss
utm_auth: utm_auth
dss: dss
flight_intents: non_conflicting_flights
flight_planners_source: flight_planners
roles:
- tested_uss
- action_generator:
generator_type: action_generators.flight_planning.FlightPlannerCombinations
resources:
flight_planners: flight_planners
nominal_planning_selector: nominal_planning_selector?
conflicting_flights: conflicting_flights
dss: dss
specification:
action_to_repeat:
test_scenario:
scenario_type: scenarios.astm.utm.DownUSS
resources:
flight_intents: conflicting_flights
tested_uss: uss1
dss: dss
combination_selector_source: nominal_planning_selector
flight_planners_source: flight_planners
roles:
- uss1
- action_generator:
generator_type: action_generators.flight_planning.FlightPlannerCombinations
resources:
flight_planners: flight_planners
nominal_planning_selector: nominal_planning_selector?
conflicting_flights: conflicting_flights
dss: dss
specification:
action_to_repeat:
test_scenario:
scenario_type: scenarios.astm.utm.DownUSSEqualPriorityNotPermitted
resources:
flight_intents: conflicting_flights
tested_uss: uss1
invalid_flight_intents: invalid_flight_intents
non_conflicting_flights: non_conflicting_flights
conflicting_flights: conflicting_flights
dss: dss
combination_selector_source: nominal_planning_selector
flight_planners_source: flight_planners
roles:
- uss1
mock_uss: mock_uss?
utm_auth: utm_auth?
- test_scenario:
scenario_type: scenarios.astm.utm.PrepareFlightPlanners # TODO: Convert this to a scenario which only clears the area (does not check readiness)
resources:
Expand Down
Loading
Loading