Difference between revisions of "stoney monitoring: OpenLDAP directory data organisation"

From stoney cloud
Jump to: navigation, search
[checked revision][checked revision]
(Maintenance - Configuration - Reseller)
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Abstract =
 
= Abstract =
This document describes the OpenLDAP directory data organisation for the '''stoney monitoring''' service.
+
This document describes the OpenLDAP directory data organisation for the '''stoney monitoring''' service, which is based on [https://www.zabbix.com/ Zabbix].
  
 
= Data Organisation =
 
= Data Organisation =
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the '''stoney monitoring''' service.
+
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the '''stoney monitoring''' service, which is based on [https://www.zabbix.com/ Zabbix].
  
 
= Maintenance =
 
= Maintenance =
 
The following LDIF shows the '''monitoring''' entry of the whole OpenLDAP directory tree for the stoney cloud:
 
The following LDIF shows the '''monitoring''' entry of the whole OpenLDAP directory tree for the stoney cloud:
<source lang="ldif">
+
<syntaxhighlight lang='ldif'>
 
dn: ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 
dn: ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 
objectclass: top
 
objectclass: top
 
objectclass: organizationalUnit
 
objectclass: organizationalUnit
 
ou: monitoring
 
ou: monitoring
description: The sub tree for the monitoring (configuration management) service.
+
description: The sub tree for the monitoring service, which is based on Zabbix.
</source>
+
</syntaxhighlight>
  
 
== Maintenance - Configuration ==
 
== Maintenance - Configuration ==
 
The sub tree for the configuration of the monitoring service:
 
The sub tree for the configuration of the monitoring service:
<source lang="ldif">
+
<syntaxhighlight lang='ldif'>
 
dn: ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 
dn: ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 
objectclass: top
 
objectclass: top
 
objectclass: organizationalUnit
 
objectclass: organizationalUnit
 
ou: configuration
 
ou: configuration
description: The sub tree for the configuration of the monitoring service.
+
description: The sub tree for the configuration of the monitoring service, which is based on Zabbix.
</source>
+
</syntaxhighlight>
 +
 
 +
=== Maintenance - Configuration - Reseller ===
 +
The sub tree for the reseller specific monitoring service settings:
 +
<syntaxhighlight lang='ldif'>
 +
dn: ou=reseller,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 +
objectclass: top
 +
objectclass: organizationalUnit
 +
ou: reseller
 +
description: The sub tree for the reseller specific monitoring service settings.
 +
</syntaxhighlight>
  
 
=== Maintenance - Configuration - Customers ===
 
=== Maintenance - Configuration - Customers ===
 
The sub tree for the customers specific monitoring service settings:
 
The sub tree for the customers specific monitoring service settings:
<source lang="ldif">
+
<syntaxhighlight lang='ldif'>
 
dn: ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 
dn: ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 
objectclass: top
 
objectclass: top
Line 33: Line 43:
 
ou: customer
 
ou: customer
 
description: The sub tree for the customer specific monitoring service settings.
 
description: The sub tree for the customer specific monitoring service settings.
</source>
+
</syntaxhighlight>
  
The sub tree for the specific monitoring service settings for the customer Customer Ltd. with the uid 4000001.
+
== Maintenance - Host groups ==
<source lang="ldif">
+
The sub tree for the '''host groups''' of the monitoring service:
dn: uid=4000001,ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
<syntaxhighlight lang='ldif'>
objectclass: top
+
dn: ou=host groups,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: sstCustomer
+
objectclass: sstRelationship
+
objectclass: sstServiceConfigurationObjectClass
+
uid: 4000001
+
o: Customer Ltd.
+
description: The sub tree for the specific monitoring service settings for the customer Customer Ltd. with the uid 4000001.
+
sstIsCompany: TRUE
+
sstIsActive: TRUE
+
sstBelongsToResellerUID: 4000000
+
sstBelongsToCustomerUID: 4000001
+
</source>
+
 
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| uid
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| A unique integer value with 7 digits or more. For example: <code>4000001</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| o
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The company name, for example: <code>Customer Ltd.</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The description of the leaf.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsCompany
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Is the entry a company? Either true (yes) or false (no).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsActive
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Is the entry active? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToResellerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: <code>4000000</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToResellerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the customer UID the leaf belongs to. A unique value with 7 digits or more. For example: <code>4000001</code>.
+
 
+
|}
+
 
+
Legend:
+
* '''x''': Mandatory in all cases.
+
 
+
==== Maintenance - Configuration - Customers - Defaults ====
+
This sub tree stores the default settings for the stoney monitoring service for the customer Customer Ltd. with the uid 4000001.
+
 
+
The configuration below tells us the following:
+
* We have a monitoring window range (as <code>sstCronMinuteEnd</code> and <code>sstCronHourEnd</code> are set).
+
* The monitoring window is executed every 2nd Tuesday of every month.
+
* The monitoring windows can start a 09:30 and must end at 13:45 and takes 1 hour (60 minutes).
+
* A reminder will be sent to 'Support stepping stone AG <support@stepping-stone.ch>'.
+
 
+
The lookup of the default settings for the stoney monitoring service is as follows:
+
# '''Service roles:''' <code>ou=defaults,ou=stoney_office,ou=roles,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''OpenStack project:''' <code>ou=defaults,uid=4100000,ou=projects,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Customer:''' <code>ou=defaults,uid=4000001,ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Reseller:''' <code>ou=defaults,uid=4000000,ou=reseller,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
 
+
For example: If no monitoring values or only a subset of monitoring values are set by the provisioning api (or provisioning script), an missing values are first looked up in the '''service roles''' sub tree. If there are still missing values, the next lookup occurs in the '''OpenStack project''' subtree. Once again, if there are still missing values, the next lookup occurs in the '''customer''' sub tree. If there are still missing values, the final lookup occurs in the '''reseller''' sub tree. If there are still missing values, the provisioning api (or provisioning script) must inform the calling instance (this would normally be a human).
+
 
+
<source lang="ldif">
+
dn: ou=defaults,uid=4000001,ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
 
objectclass: top
 
objectclass: top
 
objectclass: organizationalUnit
 
objectclass: organizationalUnit
objectclass: sstMaintenanceDefaultsObjectClass
+
ou: units
objectclass: sstNotificationObjectClass
+
description: The sub tree for the host groups of the monitoring service, which is based on Zabbix.
objectclass: sstRelationship
+
</syntaxhighlight>
ou: defaults
+
description: This sub tree stores the default settings for the stoney monitoring service for the customer Customer Ltd. with the uid 4000001.
+
sstIsActive: TRUE                      # MUST: The default is always TRUE, otherwise why bother?
+
sstServicePriority: 3                  # MAY: We always set this, in case sstServiceAutomated is set to FALSE (as a fall-back position)
+
sstServiceAutomated: TRUE              # MAY: Depending on the reseller, we either have TRUE or FALSE. If sstServiceAutomated is not set, we presume FALSE
+
sstCronRepeatType: monthly              # MAY: repeat type is monthly
+
sstCronInterval: 1                      # MAY: repeat every month
+
sstCronOccurrenceInMonth: 2            # MAY: second occurence
+
sstCronDayOfWeek: 2                    # MAY: Tuesday
+
sstCronMinute: 30                      # MAY: 30 Minutes past the hour
+
sstCronMinuteEnd: 45                    # MAY: 45 Minutes past the hour (new attribute, for if we have a range: 09:30 - 13:45)
+
sstCronHour: 9                          # MAY: 9 am
+
sstCronHourEnd: 13                      # MAY: 1 pm (new attribute, for if we have a range: 09:30 - 13:45) 
+
sstCronDuration: 60                    # MAY: 60 minutes (one hour)
+
sstNotificationWarning: reminder        # MAY: We alway set this (Multi-valued attribute).
+
sstInformPersonUID: 1000482            # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
sstResponsiblePersonUID: 1000482        # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
sstResponsibleDeputyPersonUID: 1000482  # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
sstBelongsToResellerUID: 4000000
+
sstBelongsToCustomerUID: 4000001
+
</source>
+
 
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Objectclass'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The description of the leaf.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsActive
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Is the entry active? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServicePriority
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The monitoring service level. The possible monitoring service levels (1, 2 or 3):
+
* <code>3</code>: Maintenance P3 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the working hours (Monday to Friday from 09:00 - 12:00 and 13:00 - 17:00).
+
* <code>2</code>: Maintenance P2 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the extended working hours (Monday to Friday from 07:00 - 12:00 and 13:00 - 19:00).
+
* <code>1</code>: Maintenance P1 [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Monday to Sunday from 00:00 - 24:00).
+
For more information on these monitoring service levels, visit stepping stone GmbH [http://www.stepping-stone.ch/infrastructure-as-a-service/monitoring/ web page].
+
 
+
If the attribute <code>sstServiceAutomated</code> is set to <code>TRUE</code>, the <code>sstServicePriority</code> will be ignored. And we will have automated monitoring windows in the form of:
+
*  Maintenance Automated (vcs_gitlab) [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Monday to Sunday from 00:00 - 24:00).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServiceAutomated
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| A monitoring window is either executed automatically:
+
* <code>sstServiceAutomated: TRUE</code>
+
or manually:
+
* <code>sstServiceAutomated: FALSE</code>
+
If the attribute <code>sstServiceAutomated</code> does not exist, presume <code>FALSE</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronRepeatType
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| How often is a cron job to be repeated. Valid values are: <code>daily</code>, <code>weekly</code>, <code>monthly</code>, <code>yearly</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronInterval
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The interval of a cron job. This attribute is dependant on the attribute sstCronRepeatType. Valid values are: <code>1</code> - <code>12</code>. For example: <code>2</code> could be every two days, weeks, months or years (depending on the value of the attribute <code>sstCronRepeatType</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronOccurrenceInMonth
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The occurence of the day in a month a cron job is to be executed. Valid values are: <code>1</code> - <code>4</code>. For example: <code>3</code> would be the third occurence. If you use a value higher than 4, the calculation will fail in months, which only have 4 same days (for example February will never have 5 Mondays ...).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDayOfWeek
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Day of week (<code>0</code> - <code>6</code>), where Sunday is <code>0</code>. For example: <code>1</code>, which means Monday.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMinute
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of minutes past the hour that the monitoring window must start.
+
 
+
Valid values are: <code>0</code> - <code>59</code>. For example: <code>30</code>, which means 30 minutes past the hour.
+
 
+
If the attribute <code>sstCronMinuteEnd</code> is set, then <code>sstCronMinute</code> is interpreted as the start of a monitoring window minute range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMinuteEnd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of minutes past the hour that the monitoring window must end (minus the duration defined with attribute <code>sstCronDuration>/code>). Valid values are: <code>0</code> - <code>59</code>.
+
 
+
For example: <code>45</code>, which means 45 minutes past the hour.
+
 
+
If this attribute is set, it is interpreted as the end of a monitoring window minute range, while <code>sstCronMinute</code> is interpreted as the start of a monitoring window minute range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronHour
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The hour the monitoring window must start.
+
 
+
Valid values are: <code>0</code> - <code>23</code>. For example: <code>9</code>, which means 9 am, while <code>17</code> means 5 pm.
+
 
+
If the attribute <code>sstCronHourEnd</code> is set, then <code>sstCronMinute</code> is interpreted as the start of a monitoring window hour range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronHourEnd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The hour the monitoring window must end (minus the duration defined with attribute <code>sstCronDuration>/code>).
+
 
+
Valid values are: <code>0</code> - <code>23</code>. For example: <code>9</code>, which means 9 am, while <code>17</code> means 5 pm.
+
 
+
If this attribute is set, it is interpreted as the end of a monitoring window hour range, while <code>sstCronHour</code> is interpreted as the start of a monitoring window hour range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDuration
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The duration of the monitoring window in minutes. Valid values are: <code>15</code> - <code>1440</code> (15 minutes to 24 hours). For example: <code>60</code>, which means 60 minutes (one hour).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationWarning
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| This multi-valued attribute will be used to turn single notifications on or off. Currently, the only allowed value is <code>reminder</code>. The value (name) corresponds with the template dn.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstInformPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the person to be informed if necessary. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
As this attribute is multi-valued, the lookups will continue, even if this attribute is set.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsiblePersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the person who is responsible for the system or service. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsibleDeputyPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the deputy of the person who is responsible for the system or service. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToResellerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the reseller UID the leaf belongs to. A unique integer value with 7 digits or more. In the case of OpenStack Domains (resellers), the value of <code>sstBelongsToResellerUID</code> corresponds with the value of <code>uid</code>.
+
 
+
For example: <code>sstBelongsToResellerUID: 4000000</code> corresponds with <code>uid: 4000000</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToCustomerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. Each reseller is also a customer in the LDAP directory. Therefore, the value of the attribute <code>sstBelongsToCustomerUID</code> should always be set to the customer UID, that reflects the reseller for the OpenStack Domains.
+
 
+
For example: <code>sstBelongsToCustomerUID: 4000001</code>.
+
 
+
|}
+
 
+
Legend:
+
* '''x''': Mandatory in all cases.
+
 
+
==== Maintenance - Configuration - Customers - Notification settings ====
+
The sub tree stores the notification information for the monitoring service for the customer Customer Ltd. with the uid 4000001. This information is used as a fallback. The lookup is as follows:
+
# '''Unit:''' <code>uid=4000003,ou=units,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Customer:''' <code>ou=notifications,uid=4000001,ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Reseller:''' <code>ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Default Reseller:''' <code>ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
The idea is, that even if somebody forgot to define something, no monitoring window will be lost or forgotten.
+
  
<source lang="ldif">
+
== Maintenance - Hosts ==
dn: ou=notifications,uid=4000001,ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
The sub tree for the '''hosts''' of the monitoring service:
 +
<syntaxhighlight lang='ldif'>
 +
dn: ou=hosts,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 
objectclass: top
 
objectclass: top
 
objectclass: organizationalUnit
 
objectclass: organizationalUnit
objectclass: sstNotificationObjectClass
+
ou: units
ou: notifications
+
description: The sub tree for the hosts of the monitoring service, which is based on Zabbix.
description: The sub tree stores the notification information for the monitoring service for the customer Customer Ltd. with the uid 4000001.
+
</syntaxhighlight>
sstInformPersonUID: 4000002
+
sstResponsiblePersonUID: 4000002
+
sstResponsibleDeputyPersonUID: 4000002
+
sstNotificationWarning: reminder
+
</source>
+
 
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| ou
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The name of this leaf.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The description of the leaf.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstInformPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the persons UID the notification will be sent to. For example: <code>4000002</code>. This means the information of the person is stored under the dn: <code>uid=4000002,ou=people,dc=stoney-cloud,dc=org</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsiblePersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the persons UID, who is responsible for the monitoring. The notification will be sent to this person. For example: <code>4000002</code>. This means the information of the person is stored under the dn: <code>uid=4000002,ou=people,dc=stoney-cloud,dc=org</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsibleDeputyPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the deputy of the person who is responsible for the monitoring. The notification will be sent to this person. For example: <code>4000002</code>. This means the information of the person is stored under the dn: <code>uid=4000002,ou=people,dc=stoney-cloud,dc=org</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationWarning
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| This multi-valued attribute will be used to turn single notifications on or off. Currently, the only allowed value is <code>reminder</code>. The value (name) corresponds with the template dn. For example: <code>ou=reminder,ou=templates,uid=4000001,ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
 
+
|}
+
 
+
Legend:
+
* '''x''': Mandatory in all cases.
+
  
==== Maintenance - Configuration - Customers - Templates ====
+
== Maintenance - User groups ==
This sub tree contains the notification templates for the monitoring service for the customer Customer Ltd. with the uid 4000001:
+
The sub tree for the '''user groups''' of the monitoring service:
<source lang="ldif">
+
<syntaxhighlight lang='ldif'>
dn: ou=templates,uid=4000001,ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
dn: ou=user groups,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
 
objectclass: top
 
objectclass: top
 
objectclass: organizationalUnit
 
objectclass: organizationalUnit
ou: templates
+
ou: units
description: This sub tree contains the templates for the monitoring service for the customer Customer Ltd. with the uid 4000001.
+
description: The sub tree for the user groups of the monitoring service, which is based on Zabbix.
</source>
+
</syntaxhighlight>
  
=== Maintenance - Configuration - OpenStack projects ===
+
== Maintenance - Actions ==
The sub tree for the OpenStack projects specific monitoring service settings:
+
The sub tree for the '''actions''' of the monitoring service:
<source lang="ldif">
+
<syntaxhighlight lang='ldif'>
dn: ou=projects,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
dn: ou=actions,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
+
objectclass: organizationalUnit
+
ou: projects
+
description: The sub tree for the OpenStack projects specific monitoring service settings.
+
</source>
+
 
+
The sub tree for the specific monitoring service settings for the OpenStack project Customer Ltd. - Public Systems with the uid 4100001.
+
<source lang="ldif">
+
dn: uid=4100001,ou=projects,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
objectclass: top
+
objectclass: sstOpenStackProject
+
objectclass: sstRelationship
+
uid: 4100001
+
sstOpenStackId: 9ecb5bfdd4564f6ca52bba1e869eeea4
+
sstOpenStackName: Customer Ltd. - Public Systems
+
description: The sub tree for the specific monitoring service settings for the OpenStack project 'Customer Ltd. - Public Systems' with the uid 4100001.
+
sstIsActive: TRUE
+
sstBelongsToDomainID: b01822477be64c09950022486300c59c
+
sstBelongsToResellerUID: 4000000
+
sstBelongsToCustomerUID: 4000001
+
</source>
+
 
+
The following table describes the different attributes:
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Objectclass'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| uid
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstOpenStackProject
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| A unique integer value with 7 digits or more. In the case of OpenStack Domains (resellers), the value of <code>uid</code> corresponds with the value of <code>sstBelongsToResellerUID</code>.
+
 
+
For example: <code>uid: 4000000</code> corresponds with <code>sstBelongsToResellerUID: 4000000</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstOpenStackId
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstOpenStackProject
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The OpenStack project id as returned from the OpenStack API.
+
 
+
For example: <code>"id" : "5a3a4fd5d6e94a87815131be42d8e6d9"</code>. This gives us the LDAP entry: <code>sstOpenStackId: 5a3a4fd5d6e94a87815131be42d8e6d9</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstOpenStackName
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstOpenStackProject
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The OpenStack project name as returned from the OpenStack API.
+
 
+
For example: <code>"name" : "Customer Ltd. - Public Systems"</code>. This gives us the LDAP entry: <code>sstOpenStackName: Customer Ltd. - Public Systems</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstOpenStackProject
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The description of the leaf.
+
 
+
For example: <code>The sub tree for the specific monitoring service settings for the OpenStack project 'Customer Ltd. - Public Systems' with the uid 4100001.</code>
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsActive
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstOpenStackProject
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Is the entry active? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
+
 
+
The default value is <code>TRUE</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToDomainID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstOpenStackProject
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The OpenStack domain id the project belongs to.
+
 
+
For example: <code>sstBelongsToDomainID: b01822477be64c09950022486300c59c</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToResellerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the reseller UID the leaf belongs to. A unique integer value with 7 digits or more. In the case of OpenStack Domains (resellers), the value of <code>sstBelongsToResellerUID</code> corresponds with the value of <code>uid</code>.
+
 
+
For example: <code>sstBelongsToResellerUID: 4000000</code> corresponds with <code>uid: 4000000</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToCustomerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. Each reseller is also a customer in the LDAP directory. Therefore, the value of the attribute <code>sstBelongsToCustomerUID</code> should always be set to the customer UID, that reflects the reseller for the OpenStack Domains.
+
 
+
For example: <code>sstBelongsToCustomerUID: 4000001</code>.
+
 
+
|}
+
 
+
Legend:
+
* '''x''': Mandatory in all cases.
+
 
+
==== Maintenance - Configuration - OpenStack projects - Defaults ====
+
This sub tree stores the default settings for the stoney monitoring service for the OpenStack project 'Customer Ltd. - Internal Systems' with OpenStack id '5a3a4fd5d6e94a87815131be42d8e6d9' and with the OpenStack project uid '4000001'.
+
 
+
The configuration below tells us the following:
+
* We have a monitoring window range (as <code>sstCronMinuteEnd</code> and <code>sstCronHourEnd</code> are set).
+
* The monitoring window is executed every 2nd Tuesday of every month.
+
* The monitoring windows can start a 09:30 and must end at 13:45 and takes 1 hour (60 minutes).
+
* A reminder will be sent to 'Support stepping stone AG <support@stepping-stone.ch>'.
+
 
+
The lookup of the default settings for the stoney monitoring service is as follows:
+
# '''Service roles:''' <code>ou=defaults,ou=stoney_office,ou=roles,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''OpenStack project:''' <code>ou=defaults,uid=4100000,ou=projects,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Customer:''' <code>ou=defaults,uid=4000001,ou=projects,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Reseller:''' <code>ou=defaults,uid=4000000,ou=reseller,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
 
+
For example: If no monitoring values or only a subset of monitoring values are set by the provisioning api (or provisioning script), an missing values are first looked up in the '''service roles''' sub tree. If there are still missing values, the next lookup occurs in the '''OpenStack project''' subtree. Once again, if there are still missing values, the next lookup occurs in the '''customer''' sub tree. If there are still missing values, the final lookup occurs in the '''reseller''' sub tree. If there are still missing values, the provisioning api (or provisioning script) must inform the calling instance (this would normally be a human).
+
 
+
<source lang="ldif">
+
dn: ou=defaults,uid=4000001,ou=projects,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
objectclass: top
+
objectclass: organizationalUnit
+
objectclass: sstMaintenanceDefaultsObjectClass
+
objectclass: sstNotificationObjectClass
+
objectclass: sstRelationship
+
ou: defaults
+
description: This sub tree stores the default settings for the stoney monitoring service for the OpenStack project 'Customer Ltd. - Internal Systems' with OpenStack id '5a3a4fd5d6e94a87815131be42d8e6d9' and with the OpenStack project uid '4000001'.
+
sstIsActive: TRUE                      # MAY: The default is always TRUE, otherwise why bother?
+
sstServicePriority: 3                  # MAY: We always set this, in case sstServiceAutomated is set to FALSE (as a fall-back position)
+
sstServiceAutomated: TRUE              # MAY: Depending on the reseller, we either have TRUE or FALSE. If sstServiceAutomated is not set, we presume FALSE
+
sstCronRepeatType: monthly              # MAY: repeat type is monthly
+
sstCronInterval: 1                      # MAY: repeat every month
+
sstCronOccurrenceInMonth: 2            # MAY: second occurence
+
sstCronDayOfWeek: 2                    # MAY: Tuesday
+
sstCronMinute: 30                      # MAY: 30 Minutes past the hour
+
sstCronMinuteEnd: 45                    # MAY: 45 Minutes past the hour (new attribute, for if we have a range: 09:30 - 13:45)
+
sstCronHour: 9                          # MAY: 9 am
+
sstCronHourEnd: 13                      # MAY: 1 pm (new attribute, for if we have a range: 09:30 - 13:45) 
+
sstCronDuration: 60                    # MAY: 60 minutes (one hour)
+
sstNotificationWarning: reminder        # MAY: We alway set this (Multi-valued attribute).
+
sstInformPersonUID: 1000482            # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
sstResponsiblePersonUID: 1000482        # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
sstResponsibleDeputyPersonUID: 1000482  # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
sstBelongsToResellerUID: 4000000
+
sstBelongsToCustomerUID: 4000001
+
</source>
+
 
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Objectclass'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The description of the leaf.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsActive
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Is the entry active? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServicePriority
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The monitoring service level. The possible monitoring service levels (1, 2 or 3):
+
* <code>3</code>: Maintenance P3 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the working hours (Monday to Friday from 09:00 - 12:00 and 13:00 - 17:00).
+
* <code>2</code>: Maintenance P2 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the extended working hours (Monday to Friday from 07:00 - 12:00 and 13:00 - 19:00).
+
* <code>1</code>: Maintenance P1 [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Monday to Sunday from 00:00 - 24:00).
+
For more information on these monitoring service levels, visit stepping stone GmbH [http://www.stepping-stone.ch/infrastructure-as-a-service/monitoring/ web page].
+
 
+
If the attribute <code>sstServiceAutomated</code> is set to <code>TRUE</code>, the <code>sstServicePriority</code> will be ignored. And we will have automated monitoring windows in the form of:
+
*  Maintenance Automated (vcs_gitlab) [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Monday to Sunday from 00:00 - 24:00).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServiceAutomated
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| A monitoring window is either executed automatically:
+
* <code>sstServiceAutomated: TRUE</code>
+
or manually:
+
* <code>sstServiceAutomated: FALSE</code>
+
If the attribute <code>sstServiceAutomated</code> does not exist, presume <code>FALSE</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronRepeatType
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| How often is a cron job to be repeated. Valid values are: <code>daily</code>, <code>weekly</code>, <code>monthly</code>, <code>yearly</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronInterval
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The interval of a cron job. This attribute is dependant on the attribute sstCronRepeatType. Valid values are: <code>1</code> - <code>12</code>. For example: <code>2</code> could be every two days, weeks, months or years (depending on the value of the attribute <code>sstCronRepeatType</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronOccurrenceInMonth
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The occurence of the day in a month a cron job is to be executed. Valid values are: <code>1</code> - <code>4</code>. For example: <code>3</code> would be the third occurence. If you use a value higher than 4, the calculation will fail in months, which only have 4 same days (for example February will never have 5 Mondays ...).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDayOfWeek
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Day of week (<code>0</code> - <code>6</code>), where Sunday is <code>0</code>. For example: <code>1</code>, which means Monday.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMinute
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of minutes past the hour that the monitoring window must start.
+
 
+
Valid values are: <code>0</code> - <code>59</code>. For example: <code>30</code>, which means 30 minutes past the hour.
+
 
+
If the attribute <code>sstCronMinuteEnd</code> is set, then <code>sstCronMinute</code> is interpreted as the start of a monitoring window minute range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMinuteEnd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of minutes past the hour that the monitoring window must end (minus the duration defined with attribute <code>sstCronDuration>/code>). Valid values are: <code>0</code> - <code>59</code>.
+
 
+
For example: <code>45</code>, which means 45 minutes past the hour.
+
 
+
If this attribute is set, it is interpreted as the end of a monitoring window minute range, while <code>sstCronMinute</code> is interpreted as the start of a monitoring window minute range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronHour
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The hour the monitoring window must start.
+
 
+
Valid values are: <code>0</code> - <code>23</code>. For example: <code>9</code>, which means 9 am, while <code>17</code> means 5 pm.
+
 
+
If the attribute <code>sstCronHourEnd</code> is set, then <code>sstCronMinute</code> is interpreted as the start of a monitoring window hour range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronHourEnd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The hour the monitoring window must end.
+
 
+
Valid values are: <code>0</code> - <code>23</code>. For example: <code>9</code>, which means 9 am, while <code>17</code> means 5 pm.
+
 
+
If this attribute is set, it is interpreted as the end of a monitoring window hour range, while <code>sstCronHour</code> is interpreted as the start of a monitoring window hour range. Therefore, the latest monitoring window can start at <coode>sstCronHourEnd</code> minus the duration defined with attribute <code>sstCronDuration</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDuration
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The duration of the monitoring window in minutes. Valid values are: <code>15</code> - <code>1440</code> (15 minutes to 24 hours). For example: <code>60</code>, which means 60 minutes (one hour).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationWarning
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| This multi-valued attribute will be used to turn single notifications on or off. Currently, the only allowed value is <code>reminder</code>. The value (name) corresponds with the template dn.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstInformPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the person to be informed if necessary. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
As this attribute is multi-valued, the lookups will continue, even if this attribute is set.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsiblePersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the person who is responsible for the system or service. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsibleDeputyPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the deputy of the person who is responsible for the system or service. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToResellerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the reseller UID the leaf belongs to. A unique integer value with 7 digits or more. In the case of OpenStack Domains (resellers), the value of <code>sstBelongsToResellerUID</code> corresponds with the value of <code>uid</code>.
+
 
+
For example: <code>sstBelongsToResellerUID: 4000000</code> corresponds with <code>uid: 4000000</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToCustomerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. Each reseller is also a customer in the LDAP directory. Therefore, the value of the attribute <code>sstBelongsToCustomerUID</code> should always be set to the customer UID, that reflects the reseller for the OpenStack Domains.
+
 
+
For example: <code>sstBelongsToCustomerUID: 4000001</code>.
+
 
+
|}
+
 
+
Legend:
+
* '''x''': Mandatory in all cases.
+
 
+
=== Maintenance - Configuration - Service (Puppet) roles ===
+
The sub tree for the service (Puppet) roles specific monitoring service settings:
+
<source lang="ldif">
+
dn: ou=roles,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
objectclass: top
+
objectclass: organizationalUnit
+
ou: roles
+
description: The sub tree for the service (Puppet) roles specific monitoring service settings.
+
</source>
+
 
+
The sub tree of the specific monitoring service settings for the stoney office service (Puppet) role called 'stoney_office' (Puppet roles don't contain spaces).
+
<source lang="ldif">
+
dn: ou=stoney_office,ou=roles,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
objectclass: top
+
objectclass: organizationalUnit
+
objectclass: sstServiceConfigurationObjectClass
+
ou: stoney_office
+
description: The sub tree of the specific monitoring service settings for the stoney office service (Puppet) role called 'stoney_office'.
+
sstIsActive: TRUE
+
sstIsDefault: TRUE
+
</source>
+
 
+
 
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Objectclass'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| ou
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| organizationalUnit
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The name of the service (Puppet) role.
+
 
+
For example: <code>ou: stoney_office</code> (Puppet roles don't contain spaces).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| organizationalUnit
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The description of the leaf.
+
 
+
For example: <code>The sub tree of the specific monitoring service settings for the stoney office service (Puppet) role called 'stoney_office'.</code>
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsActive
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServiceConfigurationObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Is the entry active? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
+
 
+
The default value is <code>TRUE</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsDefault
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServiceConfigurationObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Contains the leaf a default entry? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
+
 
+
If <code>sstIsDefault</code> is set to <code>TRUE</code>, the information of this subtree must alway be used (to make sure, that all automated monitoring windows are executed in the same time frame).
+
 
+
|}
+
 
+
Legend:
+
* '''x''': Mandatory in all cases.
+
 
+
==== Maintenance - Configuration - service (Puppet) roles - Defaults ====
+
This sub tree stores the default settings for the stoney monitoring service settings for the stoney office service (Puppet) role called 'stoney_office'.
+
 
+
The configuration below tells us the following:
+
* We have a monitoring window range (as <code>sstCronMinuteEnd</code> and <code>sstCronHourEnd</code> are set).
+
* The monitoring window is executed every 2nd Wednesday of every month.
+
* The monitoring windows can start a 03:00 and must end at 05:00 and takes half an hour (30 minutes).
+
* A reminder will be sent to 'Support stepping stone AG <support@stepping-stone.ch>'.
+
 
+
The lookup of the default settings for the stoney monitoring service is as follows:
+
# '''Service roles:''' <code>ou=defaults,ou=stoney_office,ou=roles,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''OpenStack project:''' <code>ou=defaults,uid=4100000,ou=roles,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Customer:''' <code>ou=defaults,uid=4000001,ou=roles,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Reseller:''' <code>ou=defaults,uid=4000000,ou=reseller,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org</code>.
+
 
+
For example: If no monitoring values or only a subset of monitoring values are set by the provisioning api (or provisioning script), an missing values are first looked up in the '''service roles''' sub tree. If there are still missing values, the next lookup occurs in the '''OpenStack project''' subtree. Once again, if there are still missing values, the next lookup occurs in the '''customer''' sub tree. If there are still missing values, the final lookup occurs in the '''reseller''' sub tree. If there are still missing values, the provisioning api (or provisioning script) must inform the calling instance (this would normally be a human).
+
 
+
<source lang="ldif">
+
dn: ou=defaults,ou=stoney_office,ou=roles,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
objectclass: top
+
objectclass: organizationalUnit
+
objectclass: sstMaintenanceDefaultsObjectClass
+
objectclass: sstNotificationObjectClass
+
objectclass: sstRelationship
+
ou: defaults
+
description: This sub tree stores the default settings for the stoney monitoring service settings for the stoney office service (Puppet) role called 'stoney_office'. Please be aware, that this is the production definition. The integration (test) definition is the same, except that the sstCronOccurrenceInMonth attribute is 1 instead of 2 (a week before).
+
sstIsActive: TRUE                      # MAY: The default is always TRUE, otherwise why bother?
+
sstServicePriority: 3                  # MAY: We always set this, in case sstServiceAutomated is set to FALSE (as a fall-back position)
+
sstServiceAutomated: TRUE              # MAY: Depending on the reseller, we either have TRUE or FALSE. If sstServiceAutomated is not set, we presume FALSE
+
sstCronRepeatType: monthly              # MAY: repeat type is monthly
+
sstCronInterval: 1                      # MAY: repeat every month
+
sstCronOccurrenceInMonth: 2            # MAY: second occurence
+
sstCronDayOfWeek: 3                    # MAY: Wednesday
+
sstCronMinute: 0                        # MAY: 0 Minutes past the hour
+
sstCronMinuteEnd: 0                    # MAY: 0 Minutes past the hour (new attribute, for if we have a range: 03:00 - 05:00)
+
sstCronHour: 3                          # MAY: 3 am
+
sstCronHourEnd: 5                      # MAY: 5 am (new attribute, for if we have a range: 03:00 - 05:00) 
+
sstCronDuration: 30                    # MAY: 30 minutes (half an hour)
+
sstNotificationWarning: reminder        # MAY: We alway set this (Multi-valued attribute).
+
sstInformPersonUID: 1000482            # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
sstResponsiblePersonUID: 1000482        # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
sstResponsibleDeputyPersonUID: 1000482  # MAY: Support stepping stone AG (support@stepping-stone.ch)
+
</source>
+
 
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Objectclass'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The description of the leaf.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsActive
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Is the entry active? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServicePriority
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The monitoring service level. The possible monitoring service levels (1, 2 or 3):
+
* <code>3</code>: Maintenance P3 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the working hours (Monday to Friday from 09:00 - 12:00 and 13:00 - 17:00).
+
* <code>2</code>: Maintenance P2 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the extended working hours (Monday to Friday from 07:00 - 12:00 and 13:00 - 19:00).
+
* <code>1</code>: Maintenance P1 [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Monday to Sunday from 00:00 - 24:00).
+
For more information on these monitoring service levels, visit stepping stone GmbH [http://www.stepping-stone.ch/infrastructure-as-a-service/monitoring/ web page].
+
 
+
If the attribute <code>sstServiceAutomated</code> is set to <code>TRUE</code>, the <code>sstServicePriority</code> will be ignored. And we will have automated monitoring windows in the form of:
+
*  Maintenance Automated (vcs_gitlab) [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Monday to Sunday from 00:00 - 24:00).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServiceAutomated
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| A monitoring window is either executed automatically:
+
* <code>sstServiceAutomated: TRUE</code>
+
or manually:
+
* <code>sstServiceAutomated: FALSE</code>
+
If the attribute <code>sstServiceAutomated</code> does not exist, presume <code>FALSE</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronRepeatType
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| How often is a cron job to be repeated. Valid values are: <code>daily</code>, <code>weekly</code>, <code>monthly</code>, <code>yearly</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronInterval
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The interval of a cron job. This attribute is dependant on the attribute sstCronRepeatType. Valid values are: <code>1</code> - <code>12</code>. For example: <code>2</code> could be every two days, weeks, months or years (depending on the value of the attribute <code>sstCronRepeatType</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronOccurrenceInMonth
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The occurence of the day in a month a cron job is to be executed. Valid values are: <code>1</code> - <code>4</code>. For example: <code>3</code> would be the third occurence. If you use a value higher than 4, the calculation will fail in months, which only have 4 same days (for example February will never have 5 Mondays ...).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDayOfWeek
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Day of week (<code>0</code> - <code>6</code>), where Sunday is <code>0</code>. For example: <code>1</code>, which means Monday.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMinute
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of minutes past the hour that the monitoring window must start.
+
 
+
Valid values are: <code>0</code> - <code>59</code>. For example: <code>30</code>, which means 30 minutes past the hour.
+
 
+
If the attribute <code>sstCronMinuteEnd</code> is set, then <code>sstCronMinute</code> is interpreted as the start of a monitoring window minute range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMinuteEnd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of minutes past the hour that the monitoring window must end (minus the duration defined with attribute <code>sstCronDuration>/code>). Valid values are: <code>0</code> - <code>59</code>.
+
 
+
For example: <code>45</code>, which means 45 minutes past the hour.
+
 
+
If this attribute is set, it is interpreted as the end of a monitoring window minute range, while <code>sstCronMinute</code> is interpreted as the start of a monitoring window minute range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronHour
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The hour the monitoring window must start.
+
 
+
Valid values are: <code>0</code> - <code>23</code>. For example: <code>9</code>, which means 9 am, while <code>17</code> means 5 pm.
+
 
+
If the attribute <code>sstCronHourEnd</code> is set, then <code>sstCronMinute</code> is interpreted as the start of a monitoring window hour range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronHourEnd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The hour the monitoring window must end (minus the duration defined with attribute <code>sstCronDuration>/code>).
+
 
+
Valid values are: <code>0</code> - <code>23</code>. For example: <code>9</code>, which means 9 am, while <code>17</code> means 5 pm.
+
 
+
If this attribute is set, it is interpreted as the end of a monitoring window hour range, while <code>sstCronHour</code> is interpreted as the start of a monitoring window hour range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDuration
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceDefaultsObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The duration of the monitoring window in minutes. Valid values are: <code>15</code> - <code>1440</code> (15 minutes to 24 hours). For example: <code>60</code>, which means 60 minutes (one hour).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationWarning
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| This multi-valued attribute will be used to turn single notifications on or off. Currently, the only allowed value is <code>reminder</code>. The value (name) corresponds with the template dn.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstInformPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the person to be informed if necessary. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
As this attribute is multi-valued, the lookups will continue, even if this attribute is set.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsiblePersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the person who is responsible for the system or service. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsibleDeputyPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the deputy of the person who is responsible for the system or service. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToResellerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the reseller UID the leaf belongs to. A unique integer value with 7 digits or more. In the case of OpenStack Domains (resellers), the value of <code>sstBelongsToResellerUID</code> corresponds with the value of <code>uid</code>.
+
 
+
For example: <code>sstBelongsToResellerUID: 4000000</code> corresponds with <code>uid: 4000000</code>.
+
 
+
For the service (Puppet) roles this attribute must not be set, as the content of this value must be taken from either the OpenStack project, the customer or the reseller.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToCustomerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the customer UID the leaf belongs to. A unique value with 7 digits or more, must correspond with the uid entry. Each reseller is also a customer in the LDAP directory. Therefore, the value of the attribute <code>sstBelongsToCustomerUID</code> should always be set to the customer UID, that reflects the reseller for the OpenStack Domains.
+
 
+
For example: <code>sstBelongsToCustomerUID: 4000001</code>.
+
 
+
For the service (Puppet) roles this attribute must not be set, as the content of this value must be taken from either the OpenStack project, the customer or the reseller.
+
 
+
|}
+
 
+
Legend:
+
* '''x''': Mandatory in all cases.
+
 
+
== Maintenance - Units ==
+
The sub tree for the units of the monitoring service:
+
<source lang="ldif">
+
dn: ou=units,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
 
objectclass: top
 
objectclass: top
 
objectclass: organizationalUnit
 
objectclass: organizationalUnit
 
ou: units
 
ou: units
description: The sub tree for the units of the monitoring service.
+
description: The sub tree for the actions of the monitoring service, which is based on Zabbix.
</source>
+
</syntaxhighlight>
 
+
=== Maintenance - Units example ===
+
Each monitoring unit has its own leaf. A monthly monitoring window is the norm.
+
 
+
Maintenance window every month on the second Tuesday of the month between 09:30 and 10:30, starting on Tuesday, the 14th of April 2015.
+
 
+
The '''sstBelongsToServiceUID''' lookup is as follows:
+
# '''OpenStack unit''' (server): <code>ou=units,ou=openstack,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Virtual Machine:''' <code>ou=virtual machines,ou=virtualization,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''vServer:''' <code>ou=vservers,ou=services,dc=stoney-cloud,dc=org</code>.
+
# '''Dedicated Server:''' <code>ou=dedicated servers,ou=services,dc=stoney-cloud,dc=org</code> (not implemented yet).
+
# '''External Server:''' <code>ou=external servers,ou=services,dc=stoney-cloud,dc=org</code> (not implemented yet).
+
 
+
The idea is, that we presume, that most of the monitoring units belong to OpenStack units (servers) running on our OpenStack based stoney cloud installation.
+
 
+
In the example below, the service UID <code>sstBelongsToServiceUID: 1234567</code> points to [[stoney_conductor:_OpenLDAP_directory_data_organisation#Virtual_Machine | virtual machine]] with the <code>b543f88f-dffe-426f-86d3-c7ff85c16d2a</code> and the <code>uid: 1234567</code>.
+
<source lang="ldif">
+
dn: uid=4000003,ou=units,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
+
objectclass: top
+
objectclass: sstMaintenanceObjectClass
+
objectclass: sstRelationship
+
uid: 4000003
+
description: The monitoring leaf for the virtual machine with the uid 1234567.
+
sstIsActive: TRUE
+
sstBillable: TRUE
+
sstServicePriority: 3
+
sstServiceAutomated: TRUE
+
sstCronRepeatType: monthly    # repeat type is monthly
+
sstCronInterval: 1            # repeat every month
+
sstCronStartDate: 20150414    # starting on Tuesday, the 14th of April 2015
+
sstCronOccurrenceInMonth: 2    # second occurence
+
sstCronDayOfWeek: 2            # Tuesday
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
sstInformPersonUID: 4000002
+
sstResponsiblePersonUID: 4000002
+
sstResponsibleDeputyPersonUID: 4000002
+
sstNotificationWarning: reminder
+
sstIsMultiTenant: FALSE
+
sstBelongsToServiceUID: 1234567
+
sstBelongsToResellerUID: 4000000
+
sstBelongsToCustomerUID: 4000001
+
</source>
+
 
+
Other possible monitoring windows range from daily monitoring windows to bi yearly monitoring windows. The following examples just show the relevant attributes.
+
 
+
Maintenance window every day between 09:30 and 10:30, starting on Monday, the 5th of January 2015.
+
<source lang="ldif">
+
sstCronRepeatType: daily      # repeat type is daily
+
sstCronInterval: 1            # repeated every day
+
sstCronStartDate: 20150105    # starting on the fifth of January 2015
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
</source>
+
 
+
Maintenance window every second day between 09:30 and 10:30, starting on Monday, the 5th of January 2015.
+
<source lang="ldif">
+
sstCronRepeatType: daily      # repeat type is daily
+
sstCronInterval: 2            # repeat every second day
+
sstCronStartDate: 20150105    # starting on the fifth of January 2015
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
</source>
+
 
+
Maintenance window every two weeks on Monday between 09:30 and 10:30, starting on Monday, the 13th of April 2015.
+
<source lang="ldif">
+
sstCronRepeatType: weekly      # repeat type is weekly
+
sstCronInterval: 2            # repeat every second week
+
sstCronStartDate: 20150413    # starting on Monday, the 13th of April 2015
+
sstCronDayOfWeek: 1            # on Monday
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
</source>
+
 
+
Maintenance window every six months on the 15. of the month between 09:30 and 10:30, starting on Wednesday, the 15th of April 2015.
+
<source lang="ldif">
+
sstCronRepeatType: monthly    # repeat type is monthly
+
sstCronInterval: 6            # repeat every six months
+
sstCronStartDate: 20150415    # starting on Wednesday, the 15th of April 2015
+
sstCronDayOfMonth: 15          # on the 15th day of the month
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
</source>
+
 
+
Maintenance window every six months on the third Monday of the month between 09:30 and 10:30, starting on Monday, the 20th of April 2015.
+
<source lang="ldif">
+
sstCronRepeatType: monthly    # repeat type is monthly
+
sstCronInterval: 6            # repeat every six months
+
sstCronStartDate: 20150420    # starting on Monday, the 20th of April 2015
+
sstCronOccurrenceInMonth: 3    # third occurence
+
sstCronDayOfWeek: 1            # Monday
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
</source>
+
 
+
Maintenance window every year on the 15th of March between 09:30 and 10:30, starting on Wednesday, the 11th of March 2015.
+
<source lang="ldif">
+
sstCronRepeatType: yearly      # repeat type is yearly
+
sstCronInterval: 1            # repeat every year
+
sstCronStartDate: 20150311    # starting on Wednesday, the 11th of March 2015
+
sstCronDayOfMonth: 11          # on the 11th day of the month
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
</source>
+
 
+
Maintenance window every year on the third Monday of March between 09:30 and 10:30, starting on Monday, the 16th of March 2015.
+
<source lang="ldif">
+
sstCronRepeatType: yearly      # repeat type is yearly
+
sstCronInterval: 1            # repeat every year
+
sstCronStartDate: 20150316    # starting on Monday, the 16th of March 2015
+
sstCronMonthOfyear: 3          # third month of the year
+
sstCronOccurrenceInMonth: 3    # third occurence
+
sstCronDayOfWeek: 1            # Monday
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
</source>
+
 
+
Maintenance window every two years on the third Monday of March between 09:30 and 10:30, starting on Monday, the 16th of March 2015.
+
<source lang="ldif">
+
sstCronRepeatType: yearly      # repeat type is yearly
+
sstCronInterval: 2            # repeat every two years
+
sstCronStartDate: 20150316    # starting on Monday, the 16th of March 2015
+
sstCronMonthOfyear: 3          # third month of the year
+
sstCronOccurrenceInMonth: 3    # third occurence
+
sstCronDayOfMonth: 1          # Monday
+
sstCronMinute: 30              # 30 Minutes past the hour
+
sstCronHour: 9                # 9 am
+
sstCronDuration: 60            # 60 minutes (one hour)
+
</source>
+
 
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Objectclass'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| uid
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| A unique integer value with 7 digits or more. For example: <code>4000003</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The description of the leaf.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsActive
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Is the entry active? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBillable
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| It the entry billable? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no). All hierarchical levels must have <code>sstBillable: TRUE</code> to actually have an invoice generated and sent. If the attribute <code>sstBillable</code> doesn't exist, the default is <code>TRUE</code>. This way, we are forced to set a reseller, customer or product manually to <code>sstBillable: FALSE</code> if we want to avoid sending them an invoice.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCancellationDate
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The cancellation date of a reseller, customer or service in the form of [YYYY][MM][DD] (ISO 8601). For example: '''20201231'''.
+
 
+
The attribute <code>sstCancellationDate</code> is used in a logical AND combination with <code>sstIsActive</code>. With other words: Once the cancellation date has passed, it overrides the <code>sstIsActive</code> value.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServicePriority
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The monitoring service level. The possible monitoring service levels (1, 2 or 3):
+
* <code>3</code>: Maintenance P3 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the working hours (Monday to Friday from 09:00 - 12:00 and 13:00 - 17:00).
+
* <code>2</code>: Maintenance P2 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the extended working hours (Monday to Friday from 07:00 - 12:00 and 13:00 - 19:00).
+
* <code>1</code>: Maintenance P1 [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Monday to Sunday from 00:00 - 24:00).
+
For more information on these monitoring service levels, visit stepping stone GmbH [http://www.stepping-stone.ch/infrastructure-as-a-service/monitoring/ web page].
+
 
+
If the attribute <code>sstServiceAutomated</code> is set to <code>TRUE</code>, the <code>sstServicePriority</code> will be ignored. And we will have automated monitoring windows in the form of:
+
*  Maintenance Automated (vcs_gitlab) [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Monday to Sunday from 00:00 - 24:00).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServiceAutomated
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| A monitoring window is either executed automatically:
+
* <code>sstServiceAutomated: TRUE</code>
+
or manually:
+
* <code>sstServiceAutomated: FALSE</code>
+
If the attribute <code>sstServiceAutomated</code> does not exist, presume <code>FALSE</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronRepeatType
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| How often is a cron job to be repeated. Valid values are: <code>daily</code>, <code>weekly</code>, <code>monthly</code>, <code>yearly</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronInterval
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The interval of a cron job. This attribute is dependant on the attribute sstCronRepeatType. Valid values are: <code>1</code> - <code>12</code>. For example: <code>2</code> could be every two days, weeks, months or years (depending on the value of the attribute <code>sstCronRepeatType</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronStartDate
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The first time a cron job is executed. This date is stored in the form of [YYYY][MM][DD] ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]). For example: <code>2010314</code> (the 14th of March 2015).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDuration
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The duration of the monitoring window in minutes. Valid values are: <code>15</code> - <code>1440</code> (15 minutes to 24 hours). For example: <code>60</code>, which means 60 minutes (one hour).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMinute
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of minutes past the hour that the monitoring window must start.
+
 
+
Valid values are: <code>0</code> - <code>59</code>. For example: <code>30</code>, which means 30 minutes past the hour.
+
 
+
If the attribute <code>sstCronMinuteEnd</code> is set, then <code>sstCronMinute</code> is interpreted as the start of a monitoring window minute range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMinuteEnd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of minutes past the hour that the monitoring window must end (minus the duration defined with attribute <code>sstCronDuration>/code>). Valid values are: <code>0</code> - <code>59</code>.
+
 
+
For example: <code>45</code>, which means 45 minutes past the hour.
+
 
+
If this attribute is set, it is interpreted as the end of a monitoring window minute range, while <code>sstCronMinute</code> is interpreted as the start of a monitoring window minute range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronHour
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The hour the monitoring window must start.
+
 
+
Valid values are: <code>0</code> - <code>23</code>. For example: <code>9</code>, which means 9 am, while <code>17</code> means 5 pm.
+
 
+
If the attribute <code>sstCronHourEnd</code> is set, then <code>sstCronMinute</code> is interpreted as the start of a monitoring window hour range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronHourEnd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The hour the monitoring window must end (minus the duration defined with attribute <code>sstCronDuration>/code>).
+
 
+
Valid values are: <code>0</code> - <code>23</code>. For example: <code>9</code>, which means 9 am, while <code>17</code> means 5 pm.
+
 
+
If this attribute is set, it is interpreted as the end of a monitoring window hour range, while <code>sstCronHour</code> is interpreted as the start of a monitoring window hour range.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDayOfWeek
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Day of week (<code>0</code> - <code>6</code>), where Sunday is <code>0</code>. For example: <code>1</code>, which means Monday.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronDayOfMonth
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The day of the month a cron job is to be executed. Valid values are: <code>1</code> - <code>31</code>. For example: <code>3</code> is the third of the month.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronMonthOfyear
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The month of the year a cron job is to be executed. Valid values are: <code>1</code> - <code>12</code>. For example: <code>3</code> would be March.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstCronOccurrenceInMonth
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The occurence of the day in a month a cron job is to be executed. Valid values are: <code>1</code> - <code>4</code>. For example: <code>3</code> would be the third occurence. If you use a value higher than 4, the calculation will fail in months, which only have 4 same days (for example February will never have 5 Mondays ...).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstInformPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the person to be informed if necessary. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsiblePersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the person who is responsible for the system or service. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstResponsibleDeputyPersonUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the deputy of the person who is responsible for the system or service. This UID can be used to look up the persons mail address, preferred language, name, surname or other information.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationWarning
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| This multi-valued attribute will be used to turn single notifications on or off. Currently, the only allowed value is <code>reminder</code>. The value (name) corresponds with the template dn.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsMultiTenant
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| If this singe-valued attribute is set to TRUE, we know that this is a multi tenant capable system or service. For example stoney backup, stoney storage or stoney wiki). The monitoring notification system will therefore know, that it must inform the tenants differently.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToServiceUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMaintenanceObjectClass
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID of the service the leaf belongs to. This UID can be used to look up other information. A unique value with 7 digits or more. <code>4000123</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToResellerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: <code>4000000</code>.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBelongsToCustomerUID
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstRelationship
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the customer UID the leaf belongs to. A unique value with 7 digits or more. For example: <code>4000001</code>.
+
 
+
|}
+
 
+
Legend:
+
* '''x''': Mandatory in all cases.
+
  
 
[[Category: OpenLDAP directory]]
 
[[Category: OpenLDAP directory]]
 
[[Category: stoney monitoring]]
 
[[Category: stoney monitoring]]

Latest revision as of 21:03, 18 January 2024

Abstract

This document describes the OpenLDAP directory data organisation for the stoney monitoring service, which is based on Zabbix.

Data Organisation

The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the stoney monitoring service, which is based on Zabbix.

Maintenance

The following LDIF shows the monitoring entry of the whole OpenLDAP directory tree for the stoney cloud:

dn: ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: monitoring
description: The sub tree for the monitoring service, which is based on Zabbix.

Maintenance - Configuration

The sub tree for the configuration of the monitoring service:

dn: ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: configuration
description: The sub tree for the configuration of the monitoring service, which is based on Zabbix.

Maintenance - Configuration - Reseller

The sub tree for the reseller specific monitoring service settings:

dn: ou=reseller,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: reseller
description: The sub tree for the reseller specific monitoring service settings.

Maintenance - Configuration - Customers

The sub tree for the customers specific monitoring service settings:

dn: ou=customers,ou=configuration,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: customer
description: The sub tree for the customer specific monitoring service settings.

Maintenance - Host groups

The sub tree for the host groups of the monitoring service:

dn: ou=host groups,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: units
description: The sub tree for the host groups of the monitoring service, which is based on Zabbix.

Maintenance - Hosts

The sub tree for the hosts of the monitoring service:

dn: ou=hosts,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: units
description: The sub tree for the hosts of the monitoring service, which is based on Zabbix.

Maintenance - User groups

The sub tree for the user groups of the monitoring service:

dn: ou=user groups,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: units
description: The sub tree for the user groups of the monitoring service, which is based on Zabbix.

Maintenance - Actions

The sub tree for the actions of the monitoring service:

dn: ou=actions,ou=monitoring,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: units
description: The sub tree for the actions of the monitoring service, which is based on Zabbix.