Improve init.py for the demo

Change-Id: Icffad63263f740d22d9803a84bd1e1f0699fb7f5
This commit is contained in:
flavien peyre 2015-08-18 10:48:07 -04:00 committed by Alexandre Viau
parent fe9b7a8285
commit b5418f6e38
4 changed files with 107 additions and 11 deletions

View File

@ -18,8 +18,8 @@ import mongoengine
class Contact(mongoengine.Document):
meta = {'collection': 'contacts'}
contact_name = mongoengine.StringField(unique=True)
host_notifications_enabled = mongoengine.StringField()
service_notifications_enabled = mongoengine.StringField()
host_notifications_enabled = mongoengine.IntField()
service_notifications_enabled = mongoengine.IntField()
host_notification_period = mongoengine.StringField()
service_notification_period = mongoengine.StringField()
host_notification_options = mongoengine.ListField()
@ -28,8 +28,8 @@ class Contact(mongoengine.Document):
service_notification_commands = mongoengine.ListField()
email = mongoengine.StringField()
pager = mongoengine.StringField()
can_submit_commands = mongoengine.StringField()
is_admin = mongoengine.StringField()
retain_status_information = mongoengine.StringField()
retain_nonstatus_information = mongoengine.StringField()
min_business_impact = mongoengine.StringField()
can_submit_commands = mongoengine.IntField()
is_admin = mongoengine.IntField()
retain_status_information = mongoengine.IntField()
retain_nonstatus_information = mongoengine.IntField()
min_business_impact = mongoengine.IntField()

View File

@ -18,6 +18,6 @@ import mongoengine
class TimePeriod(mongoengine.Document):
meta = {'collection': 'timeperiods'}
timeperiod_name = mongoengine.StringField()
exclude = mongoengine.StringField()
exclude = mongoengine.ListField()
periods = mongoengine.DictField()
alias = mongoengine.StringField()

View File

@ -265,6 +265,99 @@ def main():
service_description="iamadownservice"
)
cli_surveil.config.businessimpactmodulations.create(
business_impact_modulation_name="demoBIM",
business_impact=42,
modulation_period="24x7"
)
cli_surveil.config.checkmodulations.create(
checkmodulation_name="demoCheckModulation",
check_command="42",
check_period="24x7"
)
cli_surveil.config.commands.create(
command_name="demoCommand",
command_line="ls --all",
module_type="active"
)
cli_surveil.config.contacts.create(
contact_name="demoContact",
host_notifications_enabled=1,
service_notifications_enabled=0,
host_notification_period="24x6",
service_notification_period="12x7",
host_notification_options=["mail", "sms"],
service_notification_options=["mail"],
host_notification_commands=["sms admin"],
service_notification_commands=["send mail to admin"],
email="surveil.demo@gmail.com",
pager="12",
can_submit_commands=1,
is_admin=0,
retain_status_information=1,
retain_nonstatus_information=365,
min_business_impact=24
)
cli_surveil.config.contactgroups.create(
contactgroup_name="BDFL",
members=["demoContact"],
alias="group Alias",
contactgroup_members=["Linus", "Richard"]
)
cli_surveil.config.hostgroups.create(
hostgroup_name="OpenStack01",
members=['sw-iwebcore-01', 'srv-monitoring-01'],
alias="group Alias",
hostgroup_members=["AWS01", "Azure01"],
notes="notes",
notes_url="http://....notes.com",
action_url="mail"
)
cli_surveil.config.macromodulations.create(
macromodulation_name="Demo macroModulation",
modulation_period="24x7",
macro={"Linus": "Linux", "Richard": "Gnu"}
)
cli_surveil.config.notificationways.create(
notificationway_name="Demo motificationway",
host_notification_period="24x7",
service_notification_period="12x7",
host_notification_options=["mail", "sms"],
service_notification_options=["mail"],
host_notification_commands=["sms admin"],
service_notification_commands=["send mail to admin"],
min_business_impact="24"
)
cli_surveil.config.realms.create(
realm_name="Mordor",
realm_members=["Frodon", "Gandalf", "Sauron"],
default=42
)
cli_surveil.config.servicegroups.create(
servicegroup_name="check Openstack",
members=["check-ws-arbiter"],
alias="group Alias",
servicegroup_members=["check Keystone", "check Nova"],
notes="notes",
notes_url="http://....notes.com",
action_url="mail"
)
cli_surveil.config.timeperiods.create(
timeperiod_name="Demo TimePeriod",
exclude=["24x7", "11x12"],
periods={"day": "demo", "night": "demoNight"},
alias="aliasGroup"
)
# Reload the shinken config
cli_surveil.config.reload_config()

View File

@ -49,10 +49,12 @@ class TestTimePeriodsController(functionalTest.FunctionalTest):
self.assert_count_equal_backport(
json.loads(response.body.decode()),
[
{'timeperiod_name': 'misc-single-days',
{'exclude': [],
'timeperiod_name': 'misc-single-days',
'periods': {'day 2': '00:00-24:00',
'1999-01-28': '00:00-24:00'}},
{'timeperiod_name': 'nonworkhours',
{'exclude': [],
'timeperiod_name': 'nonworkhours',
'periods': {'sunday': '00:00-24:00',
'monday': '00:00-09:00,17:00-24:00'}}
]
@ -64,7 +66,8 @@ class TestTimePeriodsController(functionalTest.FunctionalTest):
self.assertEqual(
json.loads(response.body.decode()),
{'timeperiod_name': 'nonworkhours',
{'exclude': [],
'timeperiod_name': 'nonworkhours',
'periods': {'sunday': '00:00-24:00',
'monday': '00:00-09:00,17:00-24:00'}}
)