aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/install_trex/defaults/main.yml
blob: a5555e355b65f83c1c1e9862fd0af060feef40e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Copyright (c) 2017 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
#TREX_DOWNLOAD: "https://trex-tgn.cisco.com/trex/release/v2.05.tar.gz"
TREX_VERSION: v2.28
TREX_DOWNLOAD: "{{ nsb_mirror_url|ternary(nsb_mirror_url, 'https://trex-tgn.cisco.com/trex/release' }}/{{ TREX_VERSION }}.tar.gz"
INSTALL_BIN_PATH: "/opt/nsb_bin"
id='n252' href='#n252'>252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
##############################################################################
## Copyright (c) 2018 Intracom Telecom and others.
##
## All rights reserved. This program and the accompanying materials
## are made available under the terms of the Apache License, Version 2.0
## which accompanies this distribution, and is available at
## http://www.apache.org/licenses/LICENSE-2.0
###############################################################################
---

schema: "yardstick:task:0.1"
description: >
    Yardstick TC087 config file;
    SDN Controller resilience in non-HA configuration

{% set file = file or '/etc/yardstick/pod.yaml' %}
{% set attack_host = attack_host or 'node6' %}

scenarios:

-
      type: "GeneralHA"
      options:
          monitors:

            - monitor_type: "general-monitor"
              monitor_key: "ip-status"
              key: "snat"
              monitor_time: 50
              host: athena
              sla:
                 max_outage_time: 0
              parameter:
                destination_ip: "8.8.8.8"

            - monitor_type: "general-monitor"
              monitor_key: "ip-status"
              key: "l2"
              monitor_time: 50
              host: athena
              sla:
                 max_outage_time: 0
              parameter:
                destination_ip: "@private_ip"

          operations:
            - operation_type: "general-operation"
              key: "get-privateip"
              operation_key: "get-privateip"
              action_parameter:
                server_name: "ares"
              return_parameter:
                all: "@private_ip"


          steps:
            - actionKey: "get-privateip"
              actionType: "operation"
              index: 1

            - actionKey: "l2"
              actionType: "monitor"
              index: 2

            - actionKey: "snat"
              actionType: "monitor"
              index: 3


      nodes:
        {{attack_host}}: {{attack_host}}.LF
        athena: athena.ODLnoHA1
      runner:
        type: Duration
        duration: 1
      sla:
        action: assert


-
      type: "GeneralHA"
      options:
          attackers:
            -
              fault_type: "kill-process"
              process_name: "opendaylight"
              key: "kill-process"
              host: {{attack_host}}

          monitors:
            - monitor_type: "process"
              process_name: "opendaylight"
              host: {{attack_host}}
              key: "monitor-recovery"
              monitor_time: 50
              sla:
                max_recover_time: 30


            - monitor_type: "general-monitor"
              monitor_key: "ip-status"
              key: "snat"
              monitor_time: 70
              host: athena
              sla:
                 max_outage_time: 0
              parameter:
                destination_ip: "8.8.8.8"

            - monitor_type: "general-monitor"
              monitor_key: "ip-status"
              key: "l2"
              monitor_time: 70
              host: athena
              sla:
                 max_outage_time: 0
              parameter:
                destination_ip: "@private_ip"

          operations:
            - operation_type: "general-operation"
              key: "start-service"
              host: {{attack_host}}
              operation_key: "start-service"
              action_parameter:
                service: "opendaylight"
              rollback_parameter:
                service: "opendaylight"

            - operation_type: "general-operation"
              key: "get-privateip"
              operation_key: "get-privateip"
              action_parameter:
                server_name: "ares"
              return_parameter:
                all: "@private_ip"



          steps:

            - actionKey: "monitor-recovery"
              actionType: "monitor"
              index: 1

            - actionKey: "get-privateip"
              actionType: "operation"
              index: 2

            - actionKey: "l2"
              actionType: "monitor"
              index: 3

            - actionKey: "snat"
              actionType: "monitor"
              index: 4

            - actionKey: "kill-process"
              actionType: "attacker"
              index: 5

            - actionKey: "start-service"
              actionType: "operation"
              index: 6



      nodes:
        {{attack_host}}: {{attack_host}}.LF
        athena: athena.ODLnoHA1
      runner:
        type: Duration
        duration: 1
      sla:
        action: assert

-
      type: "GeneralHA"
      options:
          monitors:

            - monitor_type: "general-monitor"
              monitor_key: "ip-status"
              key: "l2"
              monitor_time: 80
              host: athena
              sla:
                 max_outage_time: 40
              parameter:
                destination_ip: "@private_ip"

          operations:
            - operation_type: "general-operation"
              key: "get-privateip"
              operation_key: "get-privateip"
              action_parameter:
                server_name: "hermes"
              return_parameter:
                all: "@private_ip"

            - operation_type: "general-operation"
              key: "nova-create-instance"
              operation_key: "nova-create-instance"
              action_parameter:
                serverconfig: "hermes yardstick-image yardstick-flavor test_one"
              rollback_parameter:
                serverconfig: "hermes"

            - operation_type: "general-operation"
              key: "add-server-to-secgroup"
              operation_key: "add-server-to-secgroup"
              action_parameter:
                serverconfig: "hermes ODLnoHA1"
              rollback_parameter:
                serverconfig: "hermes ODLnoHA1"


          steps:
            - actionKey: "nova-create-instance"
              actionType: "operation"
              index: 1

            - actionKey: "add-server-to-secgroup"
              actionType: "operation"
              index: 2

            - actionKey: "get-privateip"
              actionType: "operation"
              index: 3

            - actionKey: "l2"
              actionType: "monitor"
              index: 4

      nodes:
        {{attack_host}}: {{attack_host}}.LF
        athena: athena.ODLnoHA1
      runner:
        type: Duration
        duration: 1
      sla:
        action: assert


contexts:
    -
        type: Node
        name: LF
        file: {{file}}
    -
        name: ODLnoHA1
        image: yardstick-image
        flavor: yardstick-flavor
        user: ubuntu
        host: athena
        placement_groups:
            pgrp1:
                policy: "availability"
        servers:
            athena:
                floating_ip: true
                placement: "pgrp1"
                network_ports:
                    test_one:
                        - ens0

            ares:
                floating_ip: true
                placement: "pgrp1"
                network_ports:
                    test_one:
                        - ens0

        networks:
            test_one:
                cidr: '10.0.1.0/24'
                router: 'test_router'