---
  version: 2
  title: Task for gate-rally-dsvm-rally-heat-nv job
  description: >
    This task contains various scenarios for testing heat plugins
  subtasks:
    -
      title: HeatStacks.create_and_list_stack tests
      scenario:
        HeatStacks.create_and_list_stack:
          template_path: "~/.rally/extra/default.yaml.template"
      runner:
        constant:
          times: 6
          concurrency: 3
      contexts:
        users:
          tenants: 1
          users_per_tenant: 1
    -
      title: HeatStacks.create_and_delete_stack tests
      workloads:
        -
          scenario:
            HeatStacks.create_and_delete_stack:
              template_path: "~/.rally/extra/default.yaml.template"
          runner:
            constant:
              times: 6
              concurrency: 3
          contexts:
            users:
              tenants: 2
              users_per_tenant: 3
        -
          scenario:
            HeatStacks.create_and_delete_stack:
              template_path: "~/.rally/extra/server_with_volume.yaml.template"
          runner:
            constant:
              times: 2
              concurrency: 2
          contexts:
            users:
              tenants: 2
              users_per_tenant: 2
        -
          scenario:
            HeatStacks.create_and_delete_stack:
              template_path: "~/.rally/extra/resource_group_server_with_volume.yaml.template"
              parameters:
                 num_instances: 2
              files: ["~/.rally/extra/server_with_volume.yaml.template"]
          runner:
            constant:
              times: 2
              concurrency: 2
          contexts:
            users:
              tenants: 2
              users_per_tenant: 1
        -
          scenario:
            HeatStacks.create_and_delete_stack:
              template_path: "~/.rally/extra/resource_group_with_constraint.yaml.template"
          runner:
            constant:
              times: 6
              concurrency: 3
          contexts:
            users:
              tenants: 2
              users_per_tenant: 2

    -
      title: HeatStacks.create_check_delete_stack tests
      scenario:
        HeatStacks.create_check_delete_stack:
          template_path: "~/.rally/extra/random_strings.yaml.template"
      runner:
        constant:
          times: 6
          concurrency: 3
      contexts:
        users:
          tenants: 2
          users_per_tenant: 2
    -
      title: HeatStacks.create_update_delete_stack tests
      workloads:
        -
          scenario:
            HeatStacks.create_update_delete_stack:
              template_path: "~/.rally/extra/random_strings.yaml.template"
              updated_template_path: "~/.rally/extra/updated_random_strings_add.yaml.template"
          runner:
            constant:
              times: 6
              concurrency: 3
          contexts:
            users:
              tenants: 2
              users_per_tenant: 2
        -
          scenario:
            HeatStacks.create_update_delete_stack:
              template_path: "~/.rally/extra/random_strings.yaml.template"
              updated_template_path: "~/.rally/extra/updated_random_strings_delete.yaml.template"
          runner:
            constant:
              times: 6
              concurrency: 3
          contexts:
            users:
              tenants: 2
              users_per_tenant: 2
        -
          scenario:
            HeatStacks.create_update_delete_stack:
              template_path: "~/.rally/extra/random_strings.yaml.template"
              updated_template_path: "~/.rally/extra/updated_random_strings_replace.yaml.template"
          runner:
            constant:
              times: 6
              concurrency: 3
          contexts:
            users:
              tenants: 2
              users_per_tenant: 2
        -
          scenario:
            HeatStacks.create_update_delete_stack:
              template_path: "~/.rally/extra/autoscaling_policy.yaml.template"
              updated_template_path: "~/.rally/extra/updated_autoscaling_policy_inplace.yaml.template"
          runner:
            constant:
              times: 6
              concurrency: 3
          contexts:
            users:
              tenants: 2
              users_per_tenant: 2
        -
          scenario:
            HeatStacks.create_update_delete_stack:
              template_path: "~/.rally/extra/resource_group.yaml.template"
              updated_template_path: "~/.rally/extra/updated_resource_group_increase.yaml.template"
          runner:
            constant:
              times: 6
              concurrency: 3
          contexts:
            users:
              tenants: 2
              users_per_tenant: 3
        -
          scenario:
            HeatStacks.create_update_delete_stack:
              template_path: "~/.rally/extra/resource_group.yaml.template"
              updated_template_path: "~/.rally/extra/updated_resource_group_reduce.yaml.template"
          runner:
            constant:
              times: 6
              concurrency: 3
          contexts:
            users:
              tenants: 2
              users_per_tenant: 3

    -
      title: HeatStacks.create_suspend_resume_delete_stack tests
      scenario:
        HeatStacks.create_suspend_resume_delete_stack:
          template_path: "~/.rally/extra/random_strings.yaml.template"
      runner:
        constant:
          times: 6
          concurrency: 3
      contexts:
        users:
          tenants: 2
          users_per_tenant: 3
    -
      title: HeatStacks.create_snapshot_restore_delete_stack tests
      scenario:
        HeatStacks.create_snapshot_restore_delete_stack:
          template_path: "~/.rally/extra/random_strings.yaml.template"
      runner:
        constant:
          times: 6
          concurrency: 3
      contexts:
        users:
          tenants: 2
          users_per_tenant: 3
    -
      title: HeatStacks.create_stack_and_scale tests
      workloads:
        -
          scenario:
            HeatStacks.create_stack_and_scale:
              template_path: "~/.rally/extra/autoscaling_group.yaml.template"
              output_key: "scaling_url"
              delta: 1
              parameters:
                scaling_adjustment: 1
          runner:
            constant:
              times: 2
              concurrency: 1
          contexts:
            users:
              tenants: 2
              users_per_tenant: 1
        -
          scenario:
            HeatStacks.create_stack_and_scale:
              template_path: "~/.rally/extra/autoscaling_group.yaml.template"
              output_key: "scaling_url"
              delta: -1
              parameters:
                scaling_adjustment: -1
          runner:
            constant:
              times: 2
              concurrency: 2
          contexts:
            users:
              tenants: 2
              users_per_tenant: 1
    -
      title: HeatStacks.create_stack_and_list_output tests
      scenario:
        HeatStacks.create_stack_and_list_output:
          template_path: "~/.rally/extra/resource_group_with_outputs.yaml.template"
      runner:
        constant:
          times: 4
          concurrency: 2
      contexts:
        users:
          tenants: 2
          users_per_tenant: 2
    -
      title: HeatStacks.create_stack_and_list_output_via_API tests
      scenario:
        HeatStacks.create_stack_and_list_output_via_API:
          template_path: "~/.rally/extra/resource_group_with_outputs.yaml.template"
      runner:
        constant:
          times: 4
          concurrency: 2
      contexts:
        users:
          tenants: 2
          users_per_tenant: 2
    -
      title: HeatStacks.create_stack_and_show_output tests
      scenario:
        HeatStacks.create_stack_and_show_output:
          template_path: "~/.rally/extra/resource_group_with_outputs.yaml.template"
          output_key: "val1"
      runner:
        constant:
          times: 4
          concurrency: 2
      contexts:
        users:
          tenants: 2
          users_per_tenant: 2
    -
      title: HeatStacks.create_stack_and_show_output_via_API tests
      scenario:
        HeatStacks.create_stack_and_show_output_via_API:
          template_path: "~/.rally/extra/resource_group_with_outputs.yaml.template"
          output_key: "val1"
      runner:
        constant:
          times: 4
          concurrency: 2
      contexts:
        users:
          tenants: 2
          users_per_tenant: 2
    -
      title: Authenticate.validate_heat tests
      scenario:
        Authenticate.validate_heat:
          repetitions: 2
      runner:
        constant:
          times: 10
          concurrency: 5
      contexts:
        users:
          tenants: 3
          users_per_tenant: 5
