@@ -15,9 +15,22 @@ limitations under the License.
15
15
16
16
package planner
17
17
18
- func (sp * Planner ) initializerArgs (cmd string ) []string {
18
+ // SambaContainerArgs generates sets for arguments for samba-container
19
+ // instances.
20
+ type SambaContainerArgs struct {
21
+ planner * Planner
22
+ }
23
+
24
+ // Args returns a SambaContainerArgs type for starting containers in
25
+ // this instance.
26
+ func (p * Planner ) Args () * SambaContainerArgs {
27
+ return & SambaContainerArgs {p }
28
+ }
29
+
30
+ // Initializer container arguments generator.
31
+ func (s * SambaContainerArgs ) Initializer (cmd string ) []string {
19
32
args := []string {}
20
- if sp .IsClustered () {
33
+ if s . planner .IsClustered () {
21
34
// if this is a ctdb enabled setup, this "initializer"
22
35
// container-command will be skipped if certain things have already
23
36
// been "initialized"
@@ -27,22 +40,24 @@ func (sp *Planner) initializerArgs(cmd string) []string {
27
40
return args
28
41
}
29
42
30
- func (sp * Planner ) dnsRegisterArgs () []string {
43
+ // DNSRegister container arguments generator.
44
+ func (s * SambaContainerArgs ) DNSRegister () []string {
31
45
args := []string {
32
46
"dns-register" ,
33
47
"--watch" ,
34
48
}
35
- if sp .DNSRegister () == DNSRegisterClusterIP {
49
+ if s . planner .DNSRegister () == DNSRegisterClusterIP {
36
50
args = append (args , "--target=internal" )
37
51
}
38
- args = append (args , sp .Paths ().ServiceWatchJSON ())
52
+ args = append (args , s . planner .Paths ().ServiceWatchJSON ())
39
53
return args
40
54
}
41
55
42
- func (sp * Planner ) runDaemonArgs (name string ) []string {
56
+ // Run container arguments generator.
57
+ func (s * SambaContainerArgs ) Run (name string ) []string {
43
58
args := []string {"run" , name }
44
- if sp .IsClustered () {
45
- if sp .SecurityMode () == ADMode {
59
+ if s . planner .IsClustered () {
60
+ if s . planner .SecurityMode () == ADMode {
46
61
args = append (args , "--setup=nsswitch" , "--setup=smb_ctdb" )
47
62
} else if name == "smbd" {
48
63
args = append (args , "--setup=users" , "--setup=smb_ctdb" )
@@ -51,7 +66,8 @@ func (sp *Planner) runDaemonArgs(name string) []string {
51
66
return args
52
67
}
53
68
54
- func (* Planner ) ctdbDaemonArgs () []string {
69
+ // CTDBDaemon container arguments generator.
70
+ func (* SambaContainerArgs ) CTDBDaemon () []string {
55
71
return []string {
56
72
"run" ,
57
73
"ctdbd" ,
@@ -62,38 +78,43 @@ func (*Planner) ctdbDaemonArgs() []string {
62
78
}
63
79
}
64
80
65
- func (* Planner ) ctdbManageNodesArgs () []string {
81
+ // CTDBManageNodes container arguments generator.
82
+ func (* SambaContainerArgs ) CTDBManageNodes () []string {
66
83
return []string {
67
84
"ctdb-manage-nodes" ,
68
85
"--hostname=$(HOSTNAME)" ,
69
86
"--take-node-number-from-hostname=after-last-dash" ,
70
87
}
71
88
}
72
89
73
- func (* Planner ) ctdbMigrateArgs () []string {
90
+ // CTDBMigrate container arguments generator.
91
+ func (* SambaContainerArgs ) CTDBMigrate () []string {
74
92
return []string {
75
93
"ctdb-migrate" ,
76
94
"--dest-dir=/var/lib/ctdb/persistent" ,
77
95
}
78
96
}
79
97
80
- func (* Planner ) ctdbSetNodeArgs () []string {
98
+ // CTDBSetNode container arguments generator.
99
+ func (* SambaContainerArgs ) CTDBSetNode () []string {
81
100
return []string {
82
101
"ctdb-set-node" ,
83
102
"--hostname=$(HOSTNAME)" ,
84
103
"--take-node-number-from-hostname=after-last-dash" ,
85
104
}
86
105
}
87
106
88
- func (* Planner ) ctdbMustHaveNodeArgs () []string {
107
+ // CTDBMustHaveNode container arguments generator.
108
+ func (* SambaContainerArgs ) CTDBMustHaveNode () []string {
89
109
return []string {
90
110
"ctdb-must-have-node" ,
91
111
"--hostname=$(HOSTNAME)" ,
92
112
"--take-node-number-from-hostname=after-last-dash" ,
93
113
}
94
114
}
95
115
96
- func (* Planner ) ctdbReadinessProbeArgs () []string {
116
+ // CTDBNodeStatus container arguments generator.
117
+ func (* SambaContainerArgs ) CTDBNodeStatus () []string {
97
118
return []string {
98
119
"samba-container" ,
99
120
"check" ,
0 commit comments