stoney maintenance: OpenLDAP directory data organisation

From stoney cloud
Revision as of 11:39, 26 July 2015 by Michael (Talk | contribs)


Jump to: navigation, search

Abstract

This document describes the OpenLDAP directory data organisation for the stoney maintenance service.

Data Organisation

The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the maintenance service.

Maintenance

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

dn: ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: maintenance
description: The sub tree for the maintenance (configuration management) service.

Maintenance Configuration

The sub tree for the configuration of the maintenance service:

dn: ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: configuration
description: The sub tree for the configuration of the maintenance service.

Maintenance Configuration Reseller

The sub tree for the reseller specific maintenance service settings:

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

The sub tree for the specific maintenance service settings for the reseller Reseller Ltd. with the uid 4000000.

dn: uid=4000000,ou=reseller,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstReseller
objectclass: sstServiceConfigurationObjectClass
uid: 4000000
o: Reseller Ltd.
description: The sub tree for the specific maintenance service settings for the reseller Reseller Ltd. with the uid 4000000.
sstIsCompany: TRUE
sstIsActive: TRUE
sstIsDefault: TRUE
sstBelongsToResellerUID: 4000000

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
uid
MUST
x
A unique integer value with 7 digits or more. For example: 4000000.
o
MUST
x
The company name, for example: Reseller Ltd..
description
MAY
x
The description of the leaf.
sstIsCompany
MUST
x
Is the entry a company? Either true (yes) or false (no).
sstIsActive
MUST
x
Is the entry active? Either TRUE (yes) or FALSE (no).
sstIsDefault
MAY
Contains the leaf a default entry? Either TRUE (yes) or FALSE (no). If sstIsDefault is set to TRUE, this entry acts as a fall back configuration. In other words: If a reseller doesn't have his own maintenance service configuration, then this on will be used.
sstBelongsToResellerUID
MUST
x
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000000.

Legend:

  • x: Mandatory in all cases.

Maintenance Configuration Reseller Notification Settings

The sub tree stores the notification information for the maintenance service for the reseller Reseller Ltd. with the uid 4000000. This information is used as a fallback. The lookup is as follows:

  1. Unit: uid=4000003,ou=units,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.
  2. Customer: ou=notifications,uid=4000001,ou=customers,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.
  3. Reseller: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.
  4. Default Reseller: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.

The idea is, that even if somebody forgot to define something, no maintenance window will be lost or forgotten.

dn: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstNotificationObjectClass
ou: notifications
description: The sub tree stores the notification information for the maintenance service for the reseller Reseller Ltd. with the uid 4000000.
sstInformPersonUID: 4000002
sstResponsiblePersonUID: 4000002
sstResponsibleDeputyPersonUID: 4000002
sstNotificationWarning: maintenance

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
ou
MUST
x
The name of this leaf.
description
MAY
x
The description of the leaf.
sstInformPersonUID
MAY
x
Stores the persons UID the notification will be sent to. For example: 4000002. This means the information of the person is stored under the dn: uid=4000002,ou=people,dc=stoney-cloud,dc=org.
sstResponsiblePersonUID
MAY
x
Stores the persons UID, who is responsible for the maintenance. The notification will be sent to this person. For example: 4000002. This means the information of the person is stored under the dn: uid=4000002,ou=people,dc=stoney-cloud,dc=org.
sstResponsibleDeputyPersonUID
MAY
x
Stores the UID of the deputy of the person who is responsible for the maintenance. The notification will be sent to this person. For example: 4000002. This means the information of the person is stored under the dn: uid=4000002,ou=people,dc=stoney-cloud,dc=org.
sstNotificationWarning
MAY
x
This multi-valued attribute will be used to turn single notifications on or off. Currently, the only allowed value is maintenance. The value (name) corresponds with the template dn. For example: ou=maintenance,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.

Legend:

  • x: Mandatory in all cases.

Maintenance Configuration Reseller Notification Templates

This sub tree contains the notification templates for the maintenance service for the reseller Reseller Ltd. with the uid 4000000:

dn: ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: templates
description: This sub tree contains the templates for the maintenance service for the reseller Reseller Ltd. with the uid 4000000.

Maintenance Configuration Customers

The sub tree for the customers specific maintenance service settings:

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

The sub tree for the specific maintenance service settings for the customer Customer Ltd. with the uid 4000001.

dn: uid=4000001,ou=customers,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstCustomer
objectclass: sstServiceConfigurationObjectClass
uid: 4000001
o: Customer Ltd.
description: The sub tree for the specific maintenance service settings for the customer Customer Ltd. with the uid 4000001.
sstIsCompany: TRUE
sstIsActive: TRUE
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
uid
MUST
x
A unique integer value with 7 digits or more. For example: 4000001.
o
MUST
x
The company name, for example: Customer Ltd..
description
MAY
x
The description of the leaf.
sstIsCompany
MUST
x
Is the entry a company? Either true (yes) or false (no).
sstIsActive
MUST
x
Is the entry active? Either TRUE (yes) or FALSE (no).
sstBelongsToResellerUID
MUST
x
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000000.
sstBelongsToResellerUID
MAY
x
Stores the customer UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000001.

Legend:

  • x: Mandatory in all cases.

Maintenance Configuration Customers Notification Settings

The sub tree stores the notification information for the maintenance service for the customer Customer Ltd. with the uid 4000001. This information is used as a fallback. The lookup is as follows:

  1. Unit: uid=4000003,ou=units,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.
  2. Customer: ou=notifications,uid=4000001,ou=customers,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.
  3. Reseller: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.
  4. Default Reseller: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.

The idea is, that even if somebody forgot to define something, no maintenance window will be lost or forgotten.

dn: ou=notifications,uid=4000001,ou=customers,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstNotificationObjectClass
ou: notifications
description: The sub tree stores the notification information for the maintenance service for the customer Customer Ltd. with the uid 4000001.
sstInformPersonUID: 4000002
sstResponsiblePersonUID: 4000002
sstResponsibleDeputyPersonUID: 4000002
sstNotificationWarning: maintenance

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
ou
MUST
x
The name of this leaf.
description
MAY
x
The description of the leaf.
sstInformPersonUID
MAY
x
Stores the persons UID the notification will be sent to. For example: 4000002. This means the information of the person is stored under the dn: uid=4000002,ou=people,dc=stoney-cloud,dc=org.
sstResponsiblePersonUID
MAY
x
Stores the persons UID, who is responsible for the maintenance. The notification will be sent to this person. For example: 4000002. This means the information of the person is stored under the dn: uid=4000002,ou=people,dc=stoney-cloud,dc=org.
sstResponsibleDeputyPersonUID
MAY
x
Stores the UID of the deputy of the person who is responsible for the maintenance. The notification will be sent to this person. For example: 4000002. This means the information of the person is stored under the dn: uid=4000002,ou=people,dc=stoney-cloud,dc=org.
sstNotificationWarning
MAY
x
This multi-valued attribute will be used to turn single notifications on or off. Currently, the only allowed value is maintenance. The value (name) corresponds with the template dn. For example: ou=maintenance,ou=templates,uid=4000001,ou=customers,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org.

Legend:

  • x: Mandatory in all cases.

Maintenance Configuration Customers Notification Templates

This sub tree contains the notification templates for the maintenance service for the customer Customer Ltd. with the uid 4000001:

dn: ou=templates,uid=4000001,ou=customers,ou=configuration,ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: templates
description: This sub tree contains the templates for the maintenance service for the customer Customer Ltd. with the uid 4000001.

Maintenance Units

The sub tree for the units of the maintenance service:

dn: ou=units,ou=maintenance,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: units
description: The sub tree for the units of the maintenance service.

Maintenance Unit Example

Each maintenance unit has its own leaf. A monthly maintenance 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:

  1. Virtual Machine: ou=virtual machines,ou=virtualization,ou=services,dc=stoney-cloud,dc=org.
  2. Dedicated Server: ou=Dedicated Server,ou=services,dc=stoney-cloud,dc=org (not implemented yet).
  3. External Server: ou=External Server,ou=services,dc=stoney-cloud,dc=org (not implemented yet).

The idea is, that we presume, that most of the maintenance units are virtual machines running on our local stoney cloud installation.

In the example below, the service UID sstBelongsToServiceUID: 1234567 points to virtual machine with the b543f88f-dffe-426f-86d3-c7ff85c16d2a and the uid: 1234567.

objectclass: top
objectclass: sstMaintenanceObjectClass
objectclass: sstRelationship
uid: 4000003
description: The maintenance leaf for the virtual machine with the uid 1234567.
sstIsActive: TRUE
sstServicePriority: 3
sstCronRepeatType: monthly     # repeat type is monthly
sstCronInterval: 1             # repeat every month
sstCronStartDate: 20150414     # starting on Monday, the 14th of April 2015
sstCronOccurrenceInMonth: 2    # second occurence
sstCronDayOfWeek: 1            # Monday
sstCronMinute: 30              # 30 Minutes past the hour
sstCronHour: 9                 # 9 am
sstCronDuration: 60            # 60 minutes (one hour)
sstInformPersonUID: 4000002
sstResponsiblePersonUID: 4000002
sstResponsibleDeputyPersonUID: 4000002
sstNotificationWarning: maintenance
sstBelongsToServiceUID: 1234567
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001

Other possible maintenance windows range from daily maintenance windows to bi yearly maintenance 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.

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)

Maintenance window every second day between 09:30 and 10:30, starting on Monday, the 5th of January 2015.

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)

Maintenance window every two weeks on Monday between 09:30 and 10:30, starting on Monday, the 13th of April 2015.

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)

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.

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)

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.

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)

Maintenance window every year on the 15th of March between 09:30 and 10:30, starting on Wednesday, the 11th of March 2015.

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)

Maintenance window every year on the third Monday of March between 09:30 and 10:30, starting on Monday, the 16th of March 2015.

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)

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.

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)

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
uid
MUST
x
A unique integer value with 7 digits or more. For example: 4000003.
description
MAY
x
The description of the leaf.
sstIsActive
MUST
x
Is the entry active? Either TRUE (yes) or FALSE (no).
sstServicePriority
MUST
x
The maintenance service level. The possible maintenance service levels:
  • 3: Maintenance P3 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the working hours (Mo. - Fr. from 09:00 - 17:00).
  • 2: Maintenance P2 [per Unit]: The Security Advisories will be installed once a month at the desired moment during the extended working hours (Mo. - Fr. from 07:00 - 19:00).
  • 1: Maintenance P1 [per Unit]: The Security Advisories will be installed once a month at the desired moment around the clock (Mo. - Su. from 00:00 - 24:00).

For more information on these maintenance service levels, visit stepping stone GmbH web page.

sstCronRepeatType
MUST
x
How often is a cron job to be repeated. Valid values are: daily, weekly, monthly, yearly.
sstCronInterval
MUST
x
The interval of a cron job. This attribute is dependant on the attribute sstCronRepeatType. Valid values are: 1 - 12. For example: 2 could be every two days, weeks, months or years (depending on the value of the attribute sstCronRepeatType.
sstCronStartDate
MUST
x
The first time a cron job is executed. This date is stored in the form of [YYYY][MM][DD] (ISO 8601). For example: 2010314 (the 14th of March 2015).
sstCronDuration
MUST
x
The duration of the maintenance window in minutes. Valid values are: 15 - 1440 (15 minutes to 24 hours). For example: 60, which means 60 minutes (one hour).
sstCronMinute
MAY
The number of minutes past the hour. Valid values are: 0 - 59. For example: 30, which means 60 minutes past the hour.
sstCronHour
MAY
The number of hours. Valid values are: 0 - 23. For example: 9, which means 9 am, while 17 means 5 pm.
sstCronDayOfWeek
MAY
Day of week (0 - 6), where Sunday is 0. For example: 1, which means Monday.
sstCronDayOfMonth
MAY
The day of the month a cron job is to be executed. Valid values are: 1 - 31. For example: 3 is the third of the month.
sstCronMonthOfyear
MAY
The month of the year a cron job is to be executed. Valid values are: 1 - 12. For example: 3 would be March.
sstCronOccurrenceInMonth
MAY
The occurence of the day in a month a cron job is to be executed. Valid values are: 1 - 5. For example: 3 would be the third occurence.
sstInformPersonUID
MAY
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.
sstResponsiblePersonUID
MAY
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.
sstResponsibleDeputyPersonUID
MAY
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.
sstNotificationWarning
MUST
x
This multi-valued attribute will be used to turn single notifications on or off. Currently, the only allowed value is maintenance. The value (name) corresponds with the template dn.
sstBelongsToServiceUID
MUST
x
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. 4000123.
sstBelongsToResellerUID
MUST
x
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000000.
sstBelongsToCustomerUID
MUST
x
Stores the customer UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000001.

Legend:

  • x: Mandatory in all cases.