Puppet Class: xd7deliverycontroller::databasehighavailability

Inherits:
xd7deliverycontroller
Defined in:
manifests/databasehighavailability.pp

Overview

Class configuring SQL Server AlwaysOn High-Availability feature for Citrix databases



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'manifests/databasehighavailability.pp', line 2

class xd7deliverycontroller::databasehighavailability inherits xd7deliverycontroller {

  if ($xd7deliverycontroller::role == 'primary') and ($xd7deliverycontroller::sqlalwayson) {
    #Recovery mode configuration
    dsc_sqldatabaserecoverymodel{'SiteDatabaseRecoveryModel':
      dsc_name                 => $xd7deliverycontroller::sitedatabasename,
      dsc_recoverymodel        => 'Full',
      dsc_servername           => $xd7deliverycontroller::databaseserver,
      dsc_instancename         => 'MSSQLSERVER',
      dsc_psdscrunascredential => {
        'user'     => $xd7deliverycontroller::setup_svc_username,
        'password' => $xd7deliverycontroller::setup_svc_password
        },
      require                  => Dsc_xd7site['XD7Site']
    }

    dsc_sqldatabaserecoverymodel{'LoggingDatabaseRecoveryModel':
      dsc_name                 => $xd7deliverycontroller::loggingdatabasename,
      dsc_recoverymodel        => 'Full',
      dsc_servername           => $xd7deliverycontroller::databaseserver,
      dsc_instancename         => 'MSSQLSERVER',
      dsc_psdscrunascredential => {
        'user'     => $xd7deliverycontroller::setup_svc_username,
        'password' => $xd7deliverycontroller::setup_svc_password
        },
      require                  => Dsc_xd7site['XD7Site']
    }

    dsc_sqldatabaserecoverymodel{'MonitorDatabaseRecoveryModel':
      dsc_name                 => $xd7deliverycontroller::monitordatabasename,
      dsc_recoverymodel        => 'Full',
      dsc_servername           => $xd7deliverycontroller::databaseserver,
      dsc_instancename         => 'MSSQLSERVER',
      dsc_psdscrunascredential => {
        'user'     => $xd7deliverycontroller::setup_svc_username,
        'password' => $xd7deliverycontroller::setup_svc_password
        },
      require                  => Dsc_xd7site['XD7Site']
    }

    #AlwaysOn cluster databases membership activation
    dsc_sqlagdatabase{'SiteDatabaseAlwaysOn':
      dsc_databasename          => $xd7deliverycontroller::sitedatabasename,
      dsc_availabilitygroupname => $xd7deliverycontroller::sqlavailabilitygroup,
      dsc_servername            => $xd7deliverycontroller::databaseserver,
      dsc_instancename          => 'MSSQLSERVER',
      dsc_backuppath            => $xd7deliverycontroller::sqldbbackuppath,
      dsc_psdscrunascredential  => {
        'user'     => $xd7deliverycontroller::setup_svc_username,
        'password' => $xd7deliverycontroller::setup_svc_password
        },
      #require                  => Dsc_sqldatabaserecoverymodel['SiteDatabaseRecoveryModel']
    }

    dsc_sqlagdatabase{'LoggingDatabaseAlwaysOn':
      dsc_databasename          => $xd7deliverycontroller::loggingdatabasename,
      dsc_availabilitygroupname => $xd7deliverycontroller::sqlavailabilitygroup,
      dsc_servername            => $xd7deliverycontroller::databaseserver,
      dsc_instancename          => 'MSSQLSERVER',
      dsc_backuppath            => $xd7deliverycontroller::sqldbbackuppath,
      dsc_psdscrunascredential  => {
        'user'     => $xd7deliverycontroller::setup_svc_username,
        'password' => $xd7deliverycontroller::setup_svc_password
        },
      #require                  => Dsc_sqldatabaserecoverymodel['LoggingDatabaseRecoveryModel']
    }

    dsc_sqlagdatabase{'MonitorDatabaseAlwaysOn':
      dsc_databasename          => $xd7deliverycontroller::monitordatabasename,
      dsc_availabilitygroupname => $xd7deliverycontroller::sqlavailabilitygroup,
      dsc_servername            => $xd7deliverycontroller::databaseserver,
      dsc_instancename          => 'MSSQLSERVER',
      dsc_backuppath            => $xd7deliverycontroller::sqldbbackuppath,
      dsc_psdscrunascredential  => {
        'user'     => $xd7deliverycontroller::setup_svc_username,
        'password' => $xd7deliverycontroller::setup_svc_password
        },
      #require                  => Dsc_sqldatabaserecoverymodel['MonitorDatabaseRecoveryModel']
    }
  }
}