blob: 5ccc052ee7cf027bc0bbfd1e4ee57b12eb9a1c69 (
plain)
1
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
@bootstrap
Feature: crmsh bootstrap process - options
Test crmsh bootstrap options:
"--node": Additional nodes to add to the created cluster
"-i": Bind to IP address on interface IF
"-M": Configure corosync with second heartbeat line
"-n": Set the name of the configured cluster
"-A": Configure IP address as an administration virtual IP
"-u": Configure corosync to communicate over unicast
"-U": Configure corosync to communicate over multicast
Tag @clean means need to stop cluster service if the service is available
Need nodes: hanode1 hanode2 hanode3
@clean
Scenario: Check help output
When Run "crm -h" on "hanode1"
Then Output is the same with expected "crm" help output
When Run "crm cluster init -h" on "hanode1"
Then Output is the same with expected "crm cluster init" help output
When Run "crm cluster join -h" on "hanode1"
Then Output is the same with expected "crm cluster join" help output
When Run "crm cluster remove -h" on "hanode1"
Then Output is the same with expected "crm cluster remove" help output
When Run "crm cluster geo_init -h" on "hanode1"
Then Output is the same with expected "crm cluster geo-init" help output
When Run "crm cluster geo_join -h" on "hanode1"
Then Output is the same with expected "crm cluster geo-join" help output
When Run "crm cluster geo_init_arbitrator -h" on "hanode1"
Then Output is the same with expected "crm cluster geo-init-arbitrator" help output
When Try "crm cluster init -i eth1 -i eth1 -y"
Then Except multiple lines
"""
usage: init [options] [STAGE]
crm: error: Duplicated input for '-i/--interface' option
"""
When Try "crm cluster init sbd -x -y" on "hanode1"
Then Expected "-x option or SKIP_CSYNC2_SYNC can't be used with any stage" in stderr
When Try "crm cluster init -i eth0 -i eth1 -i eth2 -y" on "hanode1"
Then Expected "Maximum number of interface is 2" in stderr
When Try "crm cluster init sbd -N hanode1 -N hanode2 -y" on "hanode1"
Then Expected "Can't use -N/--nodes option and stage(sbd) together" in stderr
@clean
Scenario: Init whole cluster service on node "hanode1" using "--node" option
Given Cluster service is "stopped" on "hanode1"
And Cluster service is "stopped" on "hanode2"
When Run "crm cluster init -y --node "hanode1 hanode2 hanode3"" on "hanode1"
Then Cluster service is "started" on "hanode1"
And Cluster service is "started" on "hanode2"
And Online nodes are "hanode1 hanode2"
And Show cluster status on "hanode1"
@clean
Scenario: Bind specific network interface using "-i" option
Given Cluster service is "stopped" on "hanode1"
And IP "@hanode1.ip.0" is belong to "eth1"
When Run "crm cluster init -i eth1 -y" on "hanode1"
Then Cluster service is "started" on "hanode1"
And IP "@hanode1.ip.0" is used by corosync on "hanode1"
And Show corosync ring status
@clean
Scenario: Using multiple network interface using "-M" option
Given Cluster service is "stopped" on "hanode1"
And IP "@hanode1.ip.default" is belong to "eth0"
And IP "@hanode1.ip.0" is belong to "eth1"
When Run "crm cluster init -M -y" on "hanode1"
Then Cluster service is "started" on "hanode1"
And IP "@hanode1.ip.default" is used by corosync on "hanode1"
And IP "@hanode1.ip.0" is used by corosync on "hanode1"
And Show corosync ring status
And Corosync working on "unicast" mode
@clean
Scenario: Using multiple network interface using "-i" option
Given Cluster service is "stopped" on "hanode1"
And IP "@hanode1.ip.default" is belong to "eth0"
And IP "@hanode1.ip.0" is belong to "eth1"
When Run "crm cluster init -i eth0 -i eth1 -y" on "hanode1"
Then Cluster service is "started" on "hanode1"
And IP "@hanode1.ip.default" is used by corosync on "hanode1"
And IP "@hanode1.ip.0" is used by corosync on "hanode1"
And Show corosync ring status
@clean
Scenario: Setup cluster name and virtual IP using "-A" option
Given Cluster service is "stopped" on "hanode1"
When Try "crm cluster init -A xxx -y"
Then Except "ERROR: cluster.init: 'xxx' does not appear to be an IPv4 or IPv6 address"
When Try "crm cluster init -A @hanode1.ip.0 -y"
Then Except "ERROR: cluster.init: Address already in use: @hanode1.ip.0"
When Run "crm cluster init -n hatest -A @vip.0 -y" on "hanode1"
Then Cluster service is "started" on "hanode1"
And Cluster name is "hatest"
And Cluster virtual IP is "@vip.0"
And Show cluster status on "hanode1"
@clean
Scenario: Init cluster service with udpu using "-u" option
Given Cluster service is "stopped" on "hanode1"
When Run "crm cluster init -u -y -i eth0" on "hanode1"
Then Cluster service is "started" on "hanode1"
And Cluster is using udpu transport mode
And IP "@hanode1.ip.default" is used by corosync on "hanode1"
And Show corosync ring status
And Corosync working on "unicast" mode
@clean
Scenario: Init cluster service with ipv6 using "-I" option
Given Cluster service is "stopped" on "hanode1"
Given Cluster service is "stopped" on "hanode2"
When Run "crm cluster init -I -i eth1 -y" on "hanode1"
Then Cluster service is "started" on "hanode1"
And IP "@hanode1.ip6.default" is used by corosync on "hanode1"
When Run "crm cluster join -c hanode1 -i eth1 -y" on "hanode2"
Then Cluster service is "started" on "hanode2"
And IP "@hanode2.ip6.default" is used by corosync on "hanode2"
And Corosync working on "unicast" mode
@clean
Scenario: Init cluster service with ipv6 unicast using "-I" and "-u" option
Given Cluster service is "stopped" on "hanode1"
Given Cluster service is "stopped" on "hanode2"
When Run "crm cluster init -I -i eth1 -u -y" on "hanode1"
Then Cluster service is "started" on "hanode1"
And IP "@hanode1.ip6.default" is used by corosync on "hanode1"
When Run "crm cluster join -c hanode1 -i eth1 -y" on "hanode2"
Then Cluster service is "started" on "hanode2"
And IP "@hanode2.ip6.default" is used by corosync on "hanode2"
And Show cluster status on "hanode1"
And Corosync working on "unicast" mode
@clean
Scenario: Init cluster service with multicast using "-U" option (bsc#1132375)
Given Cluster service is "stopped" on "hanode1"
Given Cluster service is "stopped" on "hanode2"
When Run "crm cluster init -U -i eth1 -y" on "hanode1"
Then Cluster service is "started" on "hanode1"
When Run "crm cluster join -c hanode1 -i eth1 -y" on "hanode2"
Then Cluster service is "started" on "hanode2"
And Show cluster status on "hanode1"
And Corosync working on "multicast" mode
@clean
Scenario: Init cluster with -N option (bsc#1175863)
Given Cluster service is "stopped" on "hanode1"
Given Cluster service is "stopped" on "hanode2"
When Run "crm cluster init -N hanode1 -N hanode2 -y" on "hanode1"
Then Cluster service is "started" on "hanode1"
And Cluster service is "started" on "hanode2"
@clean
Scenario: Skip using csync2 by -x option
Given Cluster service is "stopped" on "hanode1"
Given Cluster service is "stopped" on "hanode2"
When Run "crm cluster init -y -x" on "hanode1"
Then Cluster service is "started" on "hanode1"
And Service "csync2.socket" is "stopped" on "hanode1"
When Run "crm cluster join -c hanode1 -y" on "hanode2"
Then Cluster service is "started" on "hanode2"
And Service "csync2.socket" is "stopped" on "hanode2"
When Run "crm cluster init csync2 -y" on "hanode1"
Then Service "csync2.socket" is "started" on "hanode1"
And Service "csync2.socket" is "started" on "hanode2"
|