Skip to content

Commit 4c1db4e

Browse files
planner: make args functions decoupled from planner and public
Reduce the surface area of the planner and group the container arguments generation functions together under a public helper type. Signed-off-by: John Mulligan <[email protected]>
1 parent e5e5e10 commit 4c1db4e

File tree

1 file changed

+35
-14
lines changed

1 file changed

+35
-14
lines changed

internal/planner/args.go

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,22 @@ limitations under the License.
1515

1616
package planner
1717

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 {
1932
args := []string{}
20-
if sp.IsClustered() {
33+
if s.planner.IsClustered() {
2134
// if this is a ctdb enabled setup, this "initializer"
2235
// container-command will be skipped if certain things have already
2336
// been "initialized"
@@ -27,22 +40,24 @@ func (sp *Planner) initializerArgs(cmd string) []string {
2740
return args
2841
}
2942

30-
func (sp *Planner) dnsRegisterArgs() []string {
43+
// DNSRegister container arguments generator.
44+
func (s *SambaContainerArgs) DNSRegister() []string {
3145
args := []string{
3246
"dns-register",
3347
"--watch",
3448
}
35-
if sp.DNSRegister() == DNSRegisterClusterIP {
49+
if s.planner.DNSRegister() == DNSRegisterClusterIP {
3650
args = append(args, "--target=internal")
3751
}
38-
args = append(args, sp.Paths().ServiceWatchJSON())
52+
args = append(args, s.planner.Paths().ServiceWatchJSON())
3953
return args
4054
}
4155

42-
func (sp *Planner) runDaemonArgs(name string) []string {
56+
// Run container arguments generator.
57+
func (s *SambaContainerArgs) Run(name string) []string {
4358
args := []string{"run", name}
44-
if sp.IsClustered() {
45-
if sp.SecurityMode() == ADMode {
59+
if s.planner.IsClustered() {
60+
if s.planner.SecurityMode() == ADMode {
4661
args = append(args, "--setup=nsswitch", "--setup=smb_ctdb")
4762
} else if name == "smbd" {
4863
args = append(args, "--setup=users", "--setup=smb_ctdb")
@@ -51,7 +66,8 @@ func (sp *Planner) runDaemonArgs(name string) []string {
5166
return args
5267
}
5368

54-
func (*Planner) ctdbDaemonArgs() []string {
69+
// CTDBDaemon container arguments generator.
70+
func (*SambaContainerArgs) CTDBDaemon() []string {
5571
return []string{
5672
"run",
5773
"ctdbd",
@@ -62,38 +78,43 @@ func (*Planner) ctdbDaemonArgs() []string {
6278
}
6379
}
6480

65-
func (*Planner) ctdbManageNodesArgs() []string {
81+
// CTDBManageNodes container arguments generator.
82+
func (*SambaContainerArgs) CTDBManageNodes() []string {
6683
return []string{
6784
"ctdb-manage-nodes",
6885
"--hostname=$(HOSTNAME)",
6986
"--take-node-number-from-hostname=after-last-dash",
7087
}
7188
}
7289

73-
func (*Planner) ctdbMigrateArgs() []string {
90+
// CTDBMigrate container arguments generator.
91+
func (*SambaContainerArgs) CTDBMigrate() []string {
7492
return []string{
7593
"ctdb-migrate",
7694
"--dest-dir=/var/lib/ctdb/persistent",
7795
}
7896
}
7997

80-
func (*Planner) ctdbSetNodeArgs() []string {
98+
// CTDBSetNode container arguments generator.
99+
func (*SambaContainerArgs) CTDBSetNode() []string {
81100
return []string{
82101
"ctdb-set-node",
83102
"--hostname=$(HOSTNAME)",
84103
"--take-node-number-from-hostname=after-last-dash",
85104
}
86105
}
87106

88-
func (*Planner) ctdbMustHaveNodeArgs() []string {
107+
// CTDBMustHaveNode container arguments generator.
108+
func (*SambaContainerArgs) CTDBMustHaveNode() []string {
89109
return []string{
90110
"ctdb-must-have-node",
91111
"--hostname=$(HOSTNAME)",
92112
"--take-node-number-from-hostname=after-last-dash",
93113
}
94114
}
95115

96-
func (*Planner) ctdbReadinessProbeArgs() []string {
116+
// CTDBNodeStatus container arguments generator.
117+
func (*SambaContainerArgs) CTDBNodeStatus() []string {
97118
return []string{
98119
"samba-container",
99120
"check",

0 commit comments

Comments
 (0)