aboutsummaryrefslogtreecommitdiffstats
path: root/tests/opnfv/test_cases/opnfv_yardstick_tc021.yaml
blob: 263663ebe6b46ee733b4d5ff9651cacefc060490 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
---

schema: "yardstick:task:0.1"
description: >
    Yardstick TC021 config file.

scenarios:
-
  type: vtc_instantiation_validation_noisy

  options:
    vlan_sender: 2033
    vlan_receiver: 2040
    default_net_name: management_network
    default_subnet_name: management_subnet
    vlan_net_1_name: apexlake_inbound_network
    vlan_subnet_1_name: apexlake_inbound_subnet
    vlan_net_2_name: apexlake_outbound_network
    vlan_subnet_2_name: apexlake_outbound_subnet
    vnic_type: direct
    vtc_flavor: yardstick-flavor
    num_of_neighbours: 2
    amount_of_ram: 1G
    number_of_cores: 2

  runner:
    type: Iteration
    iterations: 1

context:
  type: Dummy
down(host)', # noqa 'error_vm_states': 'execute[nova:servers.reset_state(vmid, "error")] :- host_down(host), active_instance_in_host(vmid, host)' # noqa } def __init__(self, conf, log): super(CongressInspector, self).__init__(conf, log) self.is_create_doctor_datasource = False self.doctor_datasource_id = None self.auth = get_identity_auth() self.congress = congress_client(get_session(auth=self.auth)) self._init_driver_and_ds() self.inspector_url = self.get_inspector_url() def _init_driver_and_ds(self): datasources = \ {ds['name']: ds for ds in self.congress.list_datasources()['results']} # check nova_api version nova_api_version = datasources['nova']['config'].get('api_version') if nova_api_version and nova_api_version < self.nova_api_min_version: raise Exception('Congress Nova datasource API ' 'version < nova_api_min_version(%s)' % self.nova_api_min_version) # check whether doctor driver exist drivers = \ {driver['id']: driver for driver in self.congress.list_drivers()['results']} if self.doctor_driver not in drivers: raise Exception('Do not support doctor driver in congress') # create doctor datasource if it's not exist if self.doctor_datasource not in datasources: response = self.congress.create_datasource( body={'driver': self.doctor_driver, 'name': self.doctor_datasource}) self.doctor_datasource_id = response['id'] self.is_create_doctor_datasource = True self.policy_rules = \ {rule['name']: rule for rule in self.congress.list_policy_rules(self.policy)['results']} def get_inspector_url(self): ds = self.congress.list_datasources()['results'] doctor_ds = next((item for item in ds if item['driver'] == 'doctor'), None) congress_endpoint = \ self.congress.httpclient.get_endpoint(auth=self.auth) return ('%s/v1/data-sources/%s/tables/events/rows' % (congress_endpoint, doctor_ds['id'])) def start(self): self.log.info('congress inspector start......') for rule_name, rule in self.rules.items(): self._add_rule(rule_name, rule) def stop(self): self.log.info('congress inspector stop......') for rule_name in self.rules.keys(): self._del_rule(rule_name) if self.is_create_doctor_datasource: self.congress.delete_datasource(self.doctor_datasource_id) def _add_rule(self, rule_name, rule): if rule_name not in self.policy_rules: self.congress.create_policy_rule(self.policy, body={'name': rule_name, 'rule': rule}) def _del_rule(self, rule_name): if rule_name in self.policy_rules: rule_id = self.policy_rules[rule_name]['id'] self.congress.delete_policy_rule(self.policy, rule_id)