Merge "New Tool- To generate numerous mock notifications. Can create large graph at any size"
This commit is contained in:
commit
2ea3160171
15
tools/__init__.py
Normal file
15
tools/__init__.py
Normal file
@ -0,0 +1,15 @@
|
||||
# Copyright 2017 - Nokia
|
||||
#
|
||||
# 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.
|
||||
|
||||
__author__ = 'stack'
|
15
tools/load_generator/__init__.py
Normal file
15
tools/load_generator/__init__.py
Normal file
@ -0,0 +1,15 @@
|
||||
# Copyright 2017 - Nokia
|
||||
#
|
||||
# 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.
|
||||
|
||||
__author__ = 'stack'
|
515
tools/load_generator/computes.yaml
Normal file
515
tools/load_generator/computes.yaml
Normal file
@ -0,0 +1,515 @@
|
||||
metadata:
|
||||
name: computes
|
||||
description: static datasource for test
|
||||
definitions:
|
||||
entities:
|
||||
- static_id: c1
|
||||
type: nova.host
|
||||
name: compute-0-1
|
||||
id: compute-0-1
|
||||
state: available
|
||||
- static_id: c2
|
||||
type: nova.host
|
||||
name: compute-0-2
|
||||
id: compute-0-2
|
||||
state: available
|
||||
- static_id: c3
|
||||
type: nova.host
|
||||
name: compute-0-3
|
||||
id: compute-0-3
|
||||
state: available
|
||||
- static_id: c4
|
||||
type: nova.host
|
||||
name: compute-0-4
|
||||
id: compute-0-4
|
||||
state: available
|
||||
- static_id: c5
|
||||
type: nova.host
|
||||
name: compute-0-5
|
||||
id: compute-0-5
|
||||
state: available
|
||||
- static_id: c6
|
||||
type: nova.host
|
||||
name: compute-0-6
|
||||
id: compute-0-6
|
||||
state: available
|
||||
- static_id: c7
|
||||
type: nova.host
|
||||
name: compute-0-7
|
||||
id: compute-0-7
|
||||
state: available
|
||||
- static_id: c8
|
||||
type: nova.host
|
||||
name: compute-0-8
|
||||
id: compute-0-8
|
||||
state: available
|
||||
- static_id: c9
|
||||
type: nova.host
|
||||
name: compute-0-9
|
||||
id: compute-0-9
|
||||
state: available
|
||||
- static_id: c10
|
||||
type: nova.host
|
||||
name: compute-0-10
|
||||
id: compute-0-10
|
||||
state: available
|
||||
- static_id: c11
|
||||
type: nova.host
|
||||
name: compute-0-11
|
||||
id: compute-0-11
|
||||
state: available
|
||||
- static_id: c12
|
||||
type: nova.host
|
||||
name: compute-0-12
|
||||
id: compute-0-12
|
||||
state: available
|
||||
- static_id: c13
|
||||
type: nova.host
|
||||
name: compute-0-13
|
||||
id: compute-0-13
|
||||
state: available
|
||||
- static_id: c14
|
||||
type: nova.host
|
||||
name: compute-0-14
|
||||
id: compute-0-14
|
||||
state: available
|
||||
- static_id: c15
|
||||
type: nova.host
|
||||
name: compute-0-15
|
||||
id: compute-0-15
|
||||
state: available
|
||||
- static_id: c16
|
||||
type: nova.host
|
||||
name: compute-0-16
|
||||
id: compute-0-16
|
||||
state: available
|
||||
- static_id: c17
|
||||
type: nova.host
|
||||
name: compute-0-17
|
||||
id: compute-0-17
|
||||
state: available
|
||||
- static_id: c18
|
||||
type: nova.host
|
||||
name: compute-0-18
|
||||
id: compute-0-18
|
||||
state: available
|
||||
- static_id: c19
|
||||
type: nova.host
|
||||
name: compute-0-19
|
||||
id: compute-0-19
|
||||
state: available
|
||||
- static_id: c20
|
||||
type: nova.host
|
||||
name: compute-0-20
|
||||
id: compute-0-20
|
||||
state: available
|
||||
- static_id: c21
|
||||
type: nova.host
|
||||
name: compute-0-21
|
||||
id: compute-0-21
|
||||
state: available
|
||||
- static_id: c22
|
||||
type: nova.host
|
||||
name: compute-0-22
|
||||
id: compute-0-22
|
||||
state: available
|
||||
- static_id: c23
|
||||
type: nova.host
|
||||
name: compute-0-23
|
||||
id: compute-0-23
|
||||
state: available
|
||||
- static_id: c24
|
||||
type: nova.host
|
||||
name: compute-0-24
|
||||
id: compute-0-24
|
||||
state: available
|
||||
- static_id: c25
|
||||
type: nova.host
|
||||
name: compute-0-25
|
||||
id: compute-0-25
|
||||
state: available
|
||||
- static_id: c26
|
||||
type: nova.host
|
||||
name: compute-0-26
|
||||
id: compute-0-26
|
||||
state: available
|
||||
- static_id: c27
|
||||
type: nova.host
|
||||
name: compute-0-27
|
||||
id: compute-0-27
|
||||
state: available
|
||||
- static_id: c28
|
||||
type: nova.host
|
||||
name: compute-0-28
|
||||
id: compute-0-28
|
||||
state: available
|
||||
- static_id: c29
|
||||
type: nova.host
|
||||
name: compute-0-29
|
||||
id: compute-0-29
|
||||
state: available
|
||||
- static_id: c30
|
||||
type: nova.host
|
||||
name: compute-0-30
|
||||
id: compute-0-30
|
||||
state: available
|
||||
- static_id: c31
|
||||
type: nova.host
|
||||
name: compute-0-31
|
||||
id: compute-0-31
|
||||
state: available
|
||||
|
||||
- static_id: c32
|
||||
type: nova.host
|
||||
name: compute-0-32
|
||||
id: compute-0-32
|
||||
state: available
|
||||
- static_id: c33
|
||||
type: nova.host
|
||||
name: compute-0-33
|
||||
id: compute-0-33
|
||||
state: available
|
||||
- static_id: c34
|
||||
type: nova.host
|
||||
name: compute-0-34
|
||||
id: compute-0-34
|
||||
state: available
|
||||
- static_id: c35
|
||||
type: nova.host
|
||||
name: compute-0-35
|
||||
id: compute-0-35
|
||||
state: available
|
||||
- static_id: c36
|
||||
type: nova.host
|
||||
name: compute-0-36
|
||||
id: compute-0-36
|
||||
state: available
|
||||
- static_id: c37
|
||||
type: nova.host
|
||||
name: compute-0-37
|
||||
id: compute-0-37
|
||||
state: available
|
||||
- static_id: c38
|
||||
type: nova.host
|
||||
name: compute-0-38
|
||||
id: compute-0-38
|
||||
state: available
|
||||
- static_id: c39
|
||||
type: nova.host
|
||||
name: compute-0-39
|
||||
id: compute-0-39
|
||||
state: available
|
||||
- static_id: c40
|
||||
type: nova.host
|
||||
name: compute-0-40
|
||||
id: compute-0-40
|
||||
state: available
|
||||
- static_id: c41
|
||||
type: nova.host
|
||||
name: compute-0-41
|
||||
id: compute-0-41
|
||||
state: available
|
||||
- static_id: c42
|
||||
type: nova.host
|
||||
name: compute-0-42
|
||||
id: compute-0-42
|
||||
state: available
|
||||
- static_id: c43
|
||||
type: nova.host
|
||||
name: compute-0-43
|
||||
id: compute-0-43
|
||||
state: available
|
||||
- static_id: c44
|
||||
type: nova.host
|
||||
name: compute-0-44
|
||||
id: compute-0-44
|
||||
state: available
|
||||
- static_id: c45
|
||||
type: nova.host
|
||||
name: compute-0-45
|
||||
id: compute-0-45
|
||||
state: available
|
||||
- static_id: c46
|
||||
type: nova.host
|
||||
name: compute-0-46
|
||||
id: compute-0-46
|
||||
state: available
|
||||
- static_id: c47
|
||||
type: nova.host
|
||||
name: compute-0-47
|
||||
id: compute-0-47
|
||||
state: available
|
||||
- static_id: c48
|
||||
type: nova.host
|
||||
name: compute-0-48
|
||||
id: compute-0-48
|
||||
state: available
|
||||
- static_id: c49
|
||||
type: nova.host
|
||||
name: compute-0-49
|
||||
id: compute-0-49
|
||||
state: available
|
||||
- static_id: c50
|
||||
type: nova.host
|
||||
name: compute-0-50
|
||||
id: compute-0-50
|
||||
state: available
|
||||
- static_id: c51
|
||||
type: nova.host
|
||||
name: compute-0-51
|
||||
id: compute-0-51
|
||||
state: available
|
||||
- static_id: c52
|
||||
type: nova.host
|
||||
name: compute-0-52
|
||||
id: compute-0-52
|
||||
state: available
|
||||
- static_id: c53
|
||||
type: nova.host
|
||||
name: compute-0-53
|
||||
id: compute-0-53
|
||||
state: available
|
||||
- static_id: c54
|
||||
type: nova.host
|
||||
name: compute-0-54
|
||||
id: compute-0-54
|
||||
state: available
|
||||
- static_id: c55
|
||||
type: nova.host
|
||||
name: compute-0-55
|
||||
id: compute-0-55
|
||||
state: available
|
||||
- static_id: c56
|
||||
type: nova.host
|
||||
name: compute-0-56
|
||||
id: compute-0-56
|
||||
state: available
|
||||
- static_id: c57
|
||||
type: nova.host
|
||||
name: compute-0-57
|
||||
id: compute-0-57
|
||||
state: available
|
||||
- static_id: c58
|
||||
type: nova.host
|
||||
name: compute-0-58
|
||||
id: compute-0-58
|
||||
state: available
|
||||
- static_id: c59
|
||||
type: nova.host
|
||||
name: compute-0-59
|
||||
id: compute-0-59
|
||||
state: available
|
||||
- static_id: c60
|
||||
type: nova.host
|
||||
name: compute-0-60
|
||||
id: compute-0-60
|
||||
state: available
|
||||
- static_id: c61
|
||||
type: nova.host
|
||||
name: compute-0-61
|
||||
id: compute-0-61
|
||||
state: available
|
||||
- static_id: c62
|
||||
type: nova.host
|
||||
name: compute-0-62
|
||||
id: compute-0-62
|
||||
state: available
|
||||
- static_id: c63
|
||||
type: nova.host
|
||||
name: compute-0-63
|
||||
id: compute-0-63
|
||||
state: available
|
||||
- static_id: zone
|
||||
type: nova.zone
|
||||
name: nova
|
||||
id: nova
|
||||
relationships:
|
||||
- source: zone
|
||||
target: c1
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c2
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c3
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c4
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c5
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c6
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c7
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c8
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c9
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c10
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c11
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c12
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c13
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c14
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c15
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c16
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c17
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c18
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c19
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c20
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c21
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c22
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c23
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c24
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c25
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c26
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c27
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c28
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c29
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c30
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c31
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c32
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c33
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c34
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c35
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c36
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c37
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c38
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c39
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c40
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c41
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c42
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c43
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c44
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c45
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c46
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c47
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c48
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c49
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c50
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c51
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c52
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c53
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c54
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c55
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c56
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c57
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c58
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c59
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c60
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c61
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c62
|
||||
relationship_type: contains
|
||||
- source: zone
|
||||
target: c63
|
||||
relationship_type: contains
|
146
tools/load_generator/load_generator.py
Normal file
146
tools/load_generator/load_generator.py
Normal file
@ -0,0 +1,146 @@
|
||||
# Copyright 2017 - Nokia
|
||||
#
|
||||
# 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.
|
||||
import copy
|
||||
|
||||
import sys
|
||||
|
||||
from oslo_log import log
|
||||
import oslo_messaging
|
||||
from oslo_service import service as os_service
|
||||
from tools.load_generator.notification_info import * # noqa
|
||||
from vitrage.messaging import get_transport
|
||||
from vitrage import service
|
||||
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
EXISTING_COMPUTES_NUM = 64
|
||||
VMS_PER_COMPUTE = 2
|
||||
NET_ID = '59fec1a4-7ab2-4bc6-8792-0ddf54b15dfe'
|
||||
RUN_EVERY_X_SECONDS = 600
|
||||
|
||||
"""
|
||||
Stress Notifications Tool:
|
||||
|
||||
Following service runs a timed action every X seconds.
|
||||
Action will send mock bus notifications, as configured in the constants above.
|
||||
Sends mock notifications for:
|
||||
VM create
|
||||
Port create
|
||||
volume create
|
||||
volume attach
|
||||
|
||||
1. To use this, place computes.yaml at /etc/vitrage/static_datasources/
|
||||
and restart vitrage-graph.
|
||||
2. EXISTING_COMPUTES_NUM should match the computes defined in computes.yaml
|
||||
3. Configure NET_ID to an existing network (this tool doesnt create networks)
|
||||
4. Run 'python load_generator.py'
|
||||
|
||||
Number of vms = VMS_PER_COMPUTE * EXISTING_COMPUTES_NUM
|
||||
Number of ports = VMS_PER_COMPUTE * EXISTING_COMPUTES_NUM
|
||||
Number of volumes = VMS_PER_COMPUTE * EXISTING_COMPUTES_NUM
|
||||
|
||||
Notifications are sent repeatedly every RUN_EVERY_X_SECONDS, this is
|
||||
to avoid Vitrage consistency deleting the created resources.
|
||||
|
||||
* Folder /templates also includes templates to create load on the evaluator
|
||||
|
||||
"""
|
||||
|
||||
|
||||
class StressNotificationsService(os_service.Service):
|
||||
def __init__(self, conf):
|
||||
super(StressNotificationsService, self).__init__()
|
||||
self.oslo_notifier = None
|
||||
topic = conf.datasources.notification_topic
|
||||
self.oslo_notifier = oslo_messaging.Notifier(
|
||||
get_transport(conf),
|
||||
driver='messagingv2',
|
||||
publisher_id='vitrage.stress',
|
||||
topics=[topic])
|
||||
|
||||
def start(self):
|
||||
super(StressNotificationsService, self).start()
|
||||
self.tg.add_timer(RUN_EVERY_X_SECONDS, self.stress_notifications, )
|
||||
LOG.info("StressNotificationsService - Started!")
|
||||
|
||||
def stop(self, graceful=False):
|
||||
super(StressNotificationsService, self).stop(graceful)
|
||||
LOG.info("StressNotificationsService - Stopped!")
|
||||
|
||||
def stress_notifications(self):
|
||||
notifications = []
|
||||
for i in xrange(EXISTING_COMPUTES_NUM * VMS_PER_COMPUTE):
|
||||
vm = create_vm(i, i % EXISTING_COMPUTES_NUM)
|
||||
port = create_port(i, vm[0][1]['instance_id'], vm[0][1]['host'],
|
||||
NET_ID)
|
||||
storage = create_storage(i, vm[0][1]['instance_id'])
|
||||
notifications.extend(vm)
|
||||
notifications.extend(port)
|
||||
notifications.extend(storage)
|
||||
|
||||
LOG.info("Notifications Created - " + str(len(notifications)))
|
||||
LOG.info("Sending...")
|
||||
for n in notifications:
|
||||
self._send(*n)
|
||||
LOG.info("Sent!")
|
||||
|
||||
def _send(self, notification_type, payload):
|
||||
try:
|
||||
self.oslo_notifier.info(
|
||||
{},
|
||||
notification_type,
|
||||
payload)
|
||||
except Exception as e:
|
||||
LOG.exception('Cannot notify - %s - %s', notification_type, e)
|
||||
|
||||
|
||||
def create_port(port_num, instance_id, host_id, net_id):
|
||||
payload = copy.deepcopy(PORT_CREATE_END)
|
||||
payload['port']['id'] = 'StressPort-' + str(port_num)
|
||||
payload['port']['device_id'] = instance_id
|
||||
payload['port']['binding:host_id'] = host_id
|
||||
payload['port']['network_id'] = net_id
|
||||
return [('port.create.end', payload)]
|
||||
|
||||
|
||||
def create_storage(volume_num, instance_id):
|
||||
payload_1 = copy.deepcopy(VOLUME_CREATE_END)
|
||||
payload_1['volume_id'] = 'StressVolume-' + str(volume_num)
|
||||
|
||||
payload_2 = copy.deepcopy(VOLUME_ATTACH_END)
|
||||
payload_2['volume_id'] = payload_1['volume_id']
|
||||
payload_2['volume_attachment'][0]['volume']['id'] = payload_1['volume_id']
|
||||
payload_2['volume_attachment'][0]['instance_uuid'] = instance_id
|
||||
|
||||
return [('volume.create.end', payload_1),
|
||||
('volume.attach.end', payload_2)]
|
||||
|
||||
|
||||
def create_vm(instance_num, compute_num):
|
||||
payload = copy.deepcopy(COMPUTE_INSTANCE_CREATE_END)
|
||||
payload['instance_id'] = 'StressVM-' + str(instance_num)
|
||||
payload['node'] = payload['host'] = "compute-0-" + str(compute_num)
|
||||
return [('compute.instance.create.end', payload)]
|
||||
|
||||
|
||||
def main():
|
||||
conf = service.prepare_service()
|
||||
launcher = os_service.ServiceLauncher(conf)
|
||||
launcher.launch_service(StressNotificationsService(conf))
|
||||
launcher.wait()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
157
tools/load_generator/notification_info.py
Normal file
157
tools/load_generator/notification_info.py
Normal file
@ -0,0 +1,157 @@
|
||||
# Copyright 2017 - Nokia
|
||||
#
|
||||
# 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.
|
||||
|
||||
COMPUTE_INSTANCE_CREATE_END = {
|
||||
"state_description": "", "availability_zone": "nova", "terminated_at": "",
|
||||
"ephemeral_gb": 0, "instance_type_id": 11, "message": "Success",
|
||||
"deleted_at": "", "reservation_id": "r-0yonac30", "memory_mb": 64,
|
||||
"display_name": "YOY", "fixed_ips": [{
|
||||
"version": 4, "vif_mac": "fa:16:3e:a0:5c:40", "floating_ips": [],
|
||||
"label": "NetA", "meta": {}, "address": "8.8.8.11", "type": "fixed"}],
|
||||
"hostname": "yoy", "state": "active", "progress": "",
|
||||
"launched_at": "2017-05-24T15:49:16.137248", "metadata": {},
|
||||
"node": "###", "ramdisk_id": "", "access_ip_v6": None,
|
||||
"disk_gb": 0, "access_ip_v4": None, "kernel_id": "",
|
||||
"host": "###", "user_id": "609544a5d1de4023b44bb71d624281ab",
|
||||
"image_ref_url": "http://127.0.0.1:9292/images/", "cell_name": "",
|
||||
"root_gb": 0, "tenant_id": "ef3f81058a934157b42454e3fc63c213",
|
||||
"created_at": "2017-05-24 15:48:22+00:00",
|
||||
"instance_id": "###",
|
||||
"instance_type": "m1.nano", "vcpus": 1, "image_meta": {
|
||||
"min_disk": "0", "container_format": "bare", "min_ram": "0",
|
||||
"disk_format": "raw", "base_image_ref": ""},
|
||||
"architecture": None, "os_type": None, "instance_flavor_id": "42"}
|
||||
|
||||
PORT_CREATE_END = {u'port': {
|
||||
u'allowed_address_pairs': [], u'extra_dhcp_opts': [],
|
||||
u'updated_at': u'2017-05-24T15:48:25Z', u'device_owner': u'compute:nova',
|
||||
u'revision_number': 7, u'port_security_enabled': True,
|
||||
u'binding:profile': {}, u'fixed_ips': [{
|
||||
u'subnet_id': u'bb5a20d0-07ea-4f01-89cb-ec9e7678cb84',
|
||||
u'ip_address': u'8.8.8.11'}],
|
||||
u'id': u'###',
|
||||
u'security_groups': [u'2cd64353-05a7-43fa-abd7-8ba20c6b3326'],
|
||||
u'binding:vif_details': {u'port_filter': True, u'ovs_hybrid_plug': True},
|
||||
u'binding:vif_type': u'ovs', u'mac_address': u'fa:16:3e:a0:5c:40',
|
||||
u'project_id': u'ef3f81058a934157b42454e3fc63c213', u'status': u'DOWN',
|
||||
u'binding:host_id': u'###', u'description': u'', u'tags': [],
|
||||
u'device_id': u'###', u'name': u'', u'admin_state_up': True,
|
||||
u'network_id': u'###',
|
||||
u'tenant_id': u'ef3f81058a934157b42454e3fc63c213',
|
||||
u'created_at': u'2017-05-24T15:48:24Z', u'binding:vnic_type': u'normal'}}
|
||||
|
||||
VOLUME_CREATE_END = {
|
||||
u'status': u'available', u'user_id': u'609544a5d1de4023b44bb71d624281ab',
|
||||
u'display_name': u'ssssss', u'availability_zone': u'nova',
|
||||
u'tenant_id': u'ef3f81058a934157b42454e3fc63c213',
|
||||
u'created_at': u'2017-05-28T10:43:13+00:00',
|
||||
u'volume_attachment': [],
|
||||
u'volume_type': u'e8b50d6e-0bc3-47aa-b378-ac06e5917873',
|
||||
u'host': u'compute-0-0@lvmdriver-1#lvmdriver-1',
|
||||
u'snapshot_id': None, u'replication_status': None,
|
||||
u'volume_id': u'###',
|
||||
u'replication_extended_status': None, u'replication_driver_data': None,
|
||||
u'size': 2, u'launched_at': u'2017-05-28T10:43:14.521562+00:00',
|
||||
u'metadata': []}
|
||||
|
||||
VOLUME_ATTACH_END = {
|
||||
u'status': u'in-use', u'display_name': u'', u'availability_zone': u'nova',
|
||||
u'tenant_id': u'ef3f81058a934157b42454e3fc63c213',
|
||||
u'created_at': u'2017-05-28T10:40:21+00:00',
|
||||
u'volume_attachment': [{
|
||||
u'instance_uuid': u'e9687e55-307b-4d1a-b57d-778cf52d78ee',
|
||||
u'volume': {
|
||||
u'migration_status': None, u'provider_id': None,
|
||||
u'availability_zone': u'nova', u'terminated_at': None,
|
||||
u'updated_at': u'2017-05-28T10:42:10.000000',
|
||||
u'provider_geometry': None, u'replication_extended_status': None,
|
||||
u'replication_status': None, u'snapshot_id': None,
|
||||
u'ec2_id': None, u'deleted_at': None,
|
||||
u'id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8', u'size': 1,
|
||||
u'user_id': u'609544a5d1de4023b44bb71d624281ab',
|
||||
u'display_description': u'', u'cluster_name': None,
|
||||
u'project_id': u'ef3f81058a934157b42454e3fc63c213',
|
||||
u'launched_at': u'2017-05-28T10:42:05.000000',
|
||||
u'scheduled_at': u'2017-05-28T10:40:23.000000',
|
||||
u'status': u'in-use',
|
||||
u'volume_type_id': u'e8b50d6e-0bc3-47aa-b378-ac06e5917873',
|
||||
u'multiattach': False, u'deleted': False,
|
||||
u'provider_location': u'127.0.0.1:3260,3 iqn.2010-10.org.openstac'
|
||||
u'k:volume-5e41d178-4349-47aa-9be9-a9ee80cc'
|
||||
u'dcc8 1',
|
||||
u'host': u'compute-0-0@lvmdriver-1#lvmdriver-1',
|
||||
u'consistencygroup_id': None, u'source_volid': None,
|
||||
u'provider_auth': u'CHAP 5j3WZ6nHp6rYgh5u8HcJ P3Duwhx7ECUrSieo',
|
||||
u'previous_status': None, u'display_name': u'', u'bootable': True,
|
||||
u'created_at': u'2017-05-28T10:40:21.000000',
|
||||
u'attach_status': u'attached', u'_name_id': None,
|
||||
u'encryption_key_id': None, u'replication_driver_data': None,
|
||||
u'group_id': None},
|
||||
u'attach_time': u'2017-05-28T10:42:10.000000',
|
||||
u'deleted': False, u'attached_host': None,
|
||||
u'created_at': u'2017-05-28T10:42:10.000000', u'attach_mode': u'rw',
|
||||
u'updated_at': None,
|
||||
u'attach_status': u'attached', u'detach_time': None,
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'mountpoint': u'/dev/vda', u'deleted_at': None,
|
||||
u'id': u'935e0db2-956b-464f-af47-cadfb6ad9c2f'}],
|
||||
u'volume_type': u'e8b50d6e-0bc3-47aa-b378-ac06e5917873',
|
||||
u'host': u'compute-0-0@lvmdriver-1#lvmdriver-1', u'glance_metadata': [{
|
||||
u'deleted': False, u'created_at': u'2017-05-28T10:42:05.000000',
|
||||
u'snapshot_id': None, u'updated_at': None, u'value': u'bare',
|
||||
u'key': u'container_format',
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'deleted_at': None, u'id': 25}, {
|
||||
u'deleted': False,
|
||||
u'created_at': u'2017-05-28T10:42:05.000000', u'snapshot_id': None,
|
||||
u'updated_at': None, u'value': u'0', u'key': u'min_ram',
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'deleted_at': None, u'id': 26}, {
|
||||
u'deleted': False, u'created_at': u'2017-05-28T10:42:05.000000',
|
||||
u'snapshot_id': None, u'updated_at': None, u'value': u'raw',
|
||||
u'key': u'disk_format',
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'deleted_at': None, u'id': 27}, {
|
||||
u'deleted': False, u'created_at': u'2017-05-28T10:42:05.000000',
|
||||
u'snapshot_id': None, u'updated_at': None, u'value': u'TinyLinux',
|
||||
u'key': u'image_name',
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'deleted_at': None, u'id': 28}, {
|
||||
u'deleted': False, u'created_at': u'2017-05-28T10:42:05.000000',
|
||||
u'snapshot_id': None, u'updated_at': None,
|
||||
u'value': u'9a43d75b-d58c-45eb-8112-872db1ad18df',
|
||||
u'key': u'image_id',
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'deleted_at': None, u'id': 29}, {
|
||||
u'deleted': False, u'created_at': u'2017-05-28T10:42:05.000000',
|
||||
u'snapshot_id': None, u'updated_at': None,
|
||||
u'value': u'3b9c2d448424435f30d10e620c1f8392', u'key': u'checksum',
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'deleted_at': None, u'id': 30}, {
|
||||
u'deleted': False, u'created_at': u'2017-05-28T10:42:05.000000',
|
||||
u'snapshot_id': None, u'updated_at': None, u'value': u'0',
|
||||
u'key': u'min_disk',
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'deleted_at': None, u'id': 31}, {
|
||||
u'deleted': False, u'created_at': u'2017-05-28T10:42:05.000000',
|
||||
u'snapshot_id': None, u'updated_at': None, u'value': u'19791872',
|
||||
u'key': u'size',
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'deleted_at': None, u'id': 32}],
|
||||
u'snapshot_id': None, u'replication_status': None,
|
||||
u'volume_id': u'5e41d178-4349-47aa-9be9-a9ee80ccdcc8',
|
||||
u'replication_extended_status': None,
|
||||
u'user_id': u'609544a5d1de4023b44bb71d624281ab', u'size': 1,
|
||||
u'launched_at': u'2017-05-28T10:42:05+00:00',
|
||||
u'replication_driver_data': None, u'metadata': []}
|
84
tools/load_generator/templates/port_0.yaml
Normal file
84
tools/load_generator/templates/port_0.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios port 0
|
||||
description: scenarios triggered by host nic fail on physical port 0
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 0
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem 0
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
alarm_name: PORT network problem 0
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance and alarm_on_port
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: instance_alarm
|
||||
target: port_alarm
|
||||
|
84
tools/load_generator/templates/port_1.yaml
Normal file
84
tools/load_generator/templates/port_1.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios port 1
|
||||
description: scenarios triggered by host nic fail on physical port 1
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 1
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem 1
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
alarm_name: PORT network problem 1
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance and alarm_on_port
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: instance_alarm
|
||||
target: port_alarm
|
||||
|
84
tools/load_generator/templates/port_2.yaml
Normal file
84
tools/load_generator/templates/port_2.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios port 2
|
||||
description: scenarios triggered by host nic fail on physical port 2
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 2
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem 2
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
alarm_name: PORT network problem 2
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance and alarm_on_port
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: instance_alarm
|
||||
target: port_alarm
|
||||
|
84
tools/load_generator/templates/port_3.yaml
Normal file
84
tools/load_generator/templates/port_3.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios port 3
|
||||
description: scenarios triggered by host nic fail on physicalport 3
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 3
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem 3
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
alarm_name: PORT network problem 3
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance and alarm_on_port
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: instance_alarm
|
||||
target: port_alarm
|
||||
|
84
tools/load_generator/templates/port_4.yaml
Normal file
84
tools/load_generator/templates/port_4.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios port 4
|
||||
description: scenarios triggered by host nic fail on physical port 4
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 4
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem 4
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
alarm_name: PORT network problem 4
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: port
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: host_contains_instance and alarm_on_instance and port_attached_to_instance and alarm_on_port
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: instance_alarm
|
||||
target: port_alarm
|
||||
|
84
tools/load_generator/templates/vm_0.yaml
Normal file
84
tools/load_generator/templates/vm_0.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios vm 0
|
||||
description: scenarios triggered by host nic fail on physical vm 0
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 0
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
alarm_name: VM network problem 0
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance and alarm_on_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: zabbix_alarm
|
||||
target: instance_alarm
|
||||
|
84
tools/load_generator/templates/vm_1.yaml
Normal file
84
tools/load_generator/templates/vm_1.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios vm 1
|
||||
description: scenarios triggered by host nic fail on physical vm 1
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 1
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
alarm_name: VM network problem 1
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance and alarm_on_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: zabbix_alarm
|
||||
target: instance_alarm
|
||||
|
84
tools/load_generator/templates/vm_2.yaml
Normal file
84
tools/load_generator/templates/vm_2.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios vm 2
|
||||
description: scenarios triggered by host nic fail on physical vm 2
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 2
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
alarm_name: VM network problem 2
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance and alarm_on_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: zabbix_alarm
|
||||
target: instance_alarm
|
||||
|
84
tools/load_generator/templates/vm_3.yaml
Normal file
84
tools/load_generator/templates/vm_3.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios vm 3
|
||||
description: scenarios triggered by host nic fail on physical vm 3
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 3
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
alarm_name: VM network problem 3
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance and alarm_on_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: zabbix_alarm
|
||||
target: instance_alarm
|
||||
|
84
tools/load_generator/templates/vm_4.yaml
Normal file
84
tools/load_generator/templates/vm_4.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
metadata:
|
||||
name: host_public_nic_failure_scenarios vm 4
|
||||
description: scenarios triggered by host nic fail on physical vm 4
|
||||
definitions:
|
||||
entities:
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: zabbix
|
||||
rawtext: Public interface down on {HOST.NAME}
|
||||
template_id: zabbix_alarm
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: VM network problem 4
|
||||
template_id: instance_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.instance
|
||||
template_id: instance
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: neutron.port
|
||||
template_id: port
|
||||
- entity:
|
||||
category: ALARM
|
||||
type: vitrage
|
||||
name: PORT network problem
|
||||
template_id: port_alarm
|
||||
- entity:
|
||||
category: RESOURCE
|
||||
type: nova.host
|
||||
template_id: host
|
||||
relationships:
|
||||
- relationship:
|
||||
source: zabbix_alarm
|
||||
relationship_type: on
|
||||
target: host
|
||||
template_id : public_nic_fail_on_host
|
||||
- relationship:
|
||||
source: host
|
||||
relationship_type: contains
|
||||
target: instance
|
||||
template_id : host_contains_instance
|
||||
- relationship:
|
||||
source: instance_alarm
|
||||
relationship_type: on
|
||||
target: instance
|
||||
template_id : alarm_on_instance
|
||||
- relationship:
|
||||
source: port_alarm
|
||||
relationship_type: on
|
||||
target: port
|
||||
template_id : alarm_on_port
|
||||
- relationship:
|
||||
source: port
|
||||
relationship_type: attached
|
||||
target: instance
|
||||
template_id : port_attached_to_instance
|
||||
scenarios:
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: raise_alarm
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
alarm_name: VM network problem 4
|
||||
severity: critical
|
||||
- action:
|
||||
action_type: set_state
|
||||
action_target:
|
||||
target: instance
|
||||
properties:
|
||||
state: SUBOPTIMAL
|
||||
- scenario:
|
||||
condition: public_nic_fail_on_host and host_contains_instance and alarm_on_instance
|
||||
actions:
|
||||
- action:
|
||||
action_type: add_causal_relationship
|
||||
action_target:
|
||||
source: zabbix_alarm
|
||||
target: instance_alarm
|
||||
|
Loading…
Reference in New Issue
Block a user