231 lines
9.4 KiB
YAML
231 lines
9.4 KiB
YAML
name: MS SQL Server Cluster
|
|
type: msSqlClusterServer
|
|
|
|
description: >-
|
|
<strong> The MS SQL Failover Cluster </strong> installs
|
|
Microsoft SQL Failover Cluster Server
|
|
|
|
unitTemplates:
|
|
- isMaster: true
|
|
isSync: true
|
|
name: 'node-#'
|
|
- isMaster: false
|
|
isSync: true
|
|
name: 'node-#'
|
|
- isMaster: false
|
|
isSync: false
|
|
name: 'node-#'
|
|
|
|
forms:
|
|
- serviceConfiguration:
|
|
fields:
|
|
- name: title
|
|
type: string
|
|
required: false
|
|
hidden: true
|
|
attributeNames: false
|
|
description: MS SQL Failover Cluster
|
|
# temporaryHack
|
|
widgetMedia:
|
|
js: [muranodashboard/js/mixed-mode.js, muranodashboard/js/external-ad.js]
|
|
- name: name
|
|
type: string
|
|
label: Service Name
|
|
description: >-
|
|
Enter a desired name for a service. Just A-Z, a-z, 0-9, dash and
|
|
underline are allowed.
|
|
minLength: 2
|
|
maxLength: 64
|
|
regexpValidator: '^[-\w]+$'
|
|
errorMessages:
|
|
invalid: Just letters, numbers, underscores and hyphens are allowed.
|
|
helpText: Just letters, numbers, underscores and hyphens are allowed.
|
|
- name: adminPassword
|
|
type: password
|
|
label: Administrator password
|
|
descriptionTitle: Passwords
|
|
description: >-
|
|
Windows requires strong password for service administration.
|
|
Your password should have at least one letter in each
|
|
register, a number and a special character. Password length should be
|
|
a minimum of 7 characters.
|
|
- name: externalAD
|
|
type: boolean
|
|
label: Active Directory is configured by the System Administrator
|
|
widgetAttrs: # temporary hack
|
|
class: external-ad
|
|
required: false
|
|
- name: domainAdminUserName
|
|
type: string
|
|
label: Active Directory User
|
|
enabled: {YAQL: $.serviceConfiguration.externalAD}
|
|
regexpValidator: '^[-\w]+$'
|
|
errorMessages:
|
|
invalid: Just letters, numbers, underscores and hyphens are allowed.
|
|
- name: domainAdminPassword
|
|
type: password
|
|
label: Active Directory Password
|
|
enabled: {YAQL: $.serviceConfiguration.externalAD}
|
|
- name: domain
|
|
type: domain
|
|
label: Domain
|
|
enabled: {YAQL: not $.serviceConfiguration.externalAD}
|
|
description: >-
|
|
Service can be joined to the Active Directory domain. If you want to
|
|
create an AD domain create the AD Service first.
|
|
helpText: Optional field for a domain to which service can be joined
|
|
- name: mixedModeAuth
|
|
type: boolean
|
|
label: Mixed-mode Authentication
|
|
initial: true
|
|
required: false
|
|
description: >-
|
|
Mixed authentication mode allows the use of Windows
|
|
credentials but supplements them with local SQL Server user
|
|
accounts that the administrator may create and maintain within
|
|
SQL Server. If this mode is on SA password is required
|
|
- name: saPassword
|
|
type: password
|
|
label: SA Password
|
|
description: Set system administrator password for the MS SQL Server.
|
|
helpText: SQL server System Administrator account
|
|
enabled: {YAQL: $.serviceConfiguration.mixedModeAuth}
|
|
- clusterConfiguration:
|
|
fields:
|
|
- name: clusterIP
|
|
type: clusterip
|
|
label: Cluster Static IP
|
|
description: Specify a valid IPv4 fixed IP.
|
|
- name: clusterName
|
|
type: string
|
|
label: Cluster Name
|
|
helpText: Service name for new SQL Cluster service
|
|
description: >-
|
|
Specify a name of a cluster. Just A-Z, a-z, 0-9, dash and underline are allowed.
|
|
- name: agGroupName
|
|
type: string
|
|
label: Availability Group Name
|
|
helpText: Name of AG during SQL setup
|
|
regexpValidator: '^[A-Za-z0-9_-]+$'
|
|
description: >-
|
|
Specify a name of an AG. Just A-Z, a-z, 0-9, dash and underline are allowed.
|
|
- name: agListenerName
|
|
type: string
|
|
label: Availability Group Listener Name
|
|
helpText: FQDN name of a new DNS entry for AG Listener endpoint
|
|
regexpValidator: '^[-\w]+$'
|
|
errorMessages:
|
|
invalid: Just letters, numbers, underscores and hyphens are allowed.
|
|
description: >-
|
|
Specify a name of an AG Listener . Just A-Z, a-z, 0-9, dash and underline are allowed.
|
|
- name: agListenerIP
|
|
type: clusterip
|
|
label: Availability Group Listener IP
|
|
description: Specify a valid IPv4 fixed IP.
|
|
- name: sqlServiceUserName
|
|
type: string
|
|
label: SQL User Name
|
|
regexpValidator: '^[-\w]+$'
|
|
errorMessages:
|
|
invalid: Just letters, numbers, underscores and hyphens are allowed.
|
|
description: User name that will be created to manage cluster instances.
|
|
- name: sqlServicePassword
|
|
type: password
|
|
label: SQL User Password
|
|
description: User password that will be created to manage cluster instances.
|
|
- name: dcInstances
|
|
type: instance
|
|
label: Instance Count
|
|
minValue: 2
|
|
maxValue: 5
|
|
initial: 2
|
|
attributeNames: false
|
|
helpText: Enter an integer value between 2 and 5
|
|
description: Microsoft SQL Failover Cluster includes up to 5 instances.
|
|
- name: unitNamingPattern
|
|
type: string
|
|
label: Hostname template
|
|
description: >-
|
|
For your convenience all instance hostnames can be named
|
|
in the same way. Enter a name and use # character for incrementation.
|
|
For example, host# turns into host1, host2, etc. Please follow Windows
|
|
hostname restrictions.
|
|
required: false
|
|
regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$'
|
|
helpText: Optional field for a machine hostname template
|
|
# temporaryHack
|
|
widgetMedia:
|
|
js: [muranodashboard/js/support_placeholder.js]
|
|
css: {all: [muranodashboard/css/support_placeholder.css]}
|
|
validators:
|
|
# if unitNamingPattern is given and dcInstances > 1, then '#' should occur in unitNamingPattern
|
|
- expr: {YAQL: not $.clusterConfiguration.unitNamingPattern.bool() or '#' in $.clusterConfiguration.unitNamingPattern}
|
|
message: Incrementation symbol "#" is required in the Hostname template
|
|
# if IP is not valid on its own, it will be empty - the
|
|
# first check is needed to not emit comparison error when
|
|
# both IPs are not valid
|
|
- expr: {YAQL: not $.clusterConfiguration.clusterIP.bool() or $.clusterConfiguration.clusterIP != $.clusterConfiguration.agListenerIP}
|
|
message: Listener IP and Cluster Static IP should be different
|
|
- unitsConfiguration:
|
|
fields:
|
|
- name: nodes
|
|
type: table
|
|
label: Nodes
|
|
attributeNames: units
|
|
columns:
|
|
- columnName: name
|
|
columnType: label
|
|
title: Node
|
|
- columnName: isSync
|
|
columnType: checkbox
|
|
title: Sync
|
|
- columnName: isMaster
|
|
columnType: radio
|
|
title: Master
|
|
initial: {YAQL: $.clusterConfiguration.dcInstances}
|
|
description: >-
|
|
Configure cluster instances. Cluster node quantity can be set
|
|
with 'Add' and 'Remove' buttons. Configure Sync mode by
|
|
enabling corresponding checkbox. All other nodes will be in
|
|
Async mode. Just 2 nodes are allowed to be Sync. Also one
|
|
Master node need to be selected. SQL Failover cluster has
|
|
limit of 5 instances.
|
|
- name: databases
|
|
type: databaselist
|
|
label: Database list
|
|
description: >-
|
|
Specify names for new databases which will be created as part
|
|
of service installation. Here should come comma-separated list
|
|
of database names, where each name has the following syntax:
|
|
first symbol should be latin letter or underscore; subsequent
|
|
symbols can be latin letter, numeric, underscore, at sign,
|
|
number sign or dollar sign.
|
|
helpText: Enter comma separated list of databases that will be created
|
|
- instanceConfiguration:
|
|
fields:
|
|
- name: title
|
|
type: string
|
|
required: false
|
|
hidden: true
|
|
attributeNames: false
|
|
descriptionTitle: Instance Configuration
|
|
description: Specify some instance parameters on which service would be created.
|
|
- name: flavor
|
|
type: flavor
|
|
label: Instance flavor
|
|
description: >-
|
|
Select registered in Openstack flavor. Consider that service performance
|
|
depends on this parameter.
|
|
required: false
|
|
- name: osImage
|
|
type: image
|
|
label: Instance image
|
|
description: >-
|
|
Select valid image for a service. Image should already be prepared and
|
|
registered in glance.
|
|
- name: availabilityZone
|
|
type: azone
|
|
label: Availability zone
|
|
description: Select availability zone where service would be installed.
|
|
required: false
|