Skip to content

Commit 284d34b

Browse files
committed
BUG/MINOR: check files with -W when in master-worker mode
1 parent f6c08f5 commit 284d34b

File tree

3 files changed

+25
-6
lines changed

3 files changed

+25
-6
lines changed

configure_data_plane.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ var loggingOptions struct {
8989
LogFormat string `long:"log-format" description:"Logging format" default:"text" choice:"text" choice:"JSON"`
9090
}
9191

92+
var mWorker bool = false
9293
var logFile *os.File
9394

9495
func configureFlags(api *operations.DataPlaneAPI) {
@@ -110,6 +111,7 @@ func configureFlags(api *operations.DataPlaneAPI) {
110111
}
111112

112113
func configureAPI(api *operations.DataPlaneAPI) http.Handler {
114+
113115
configureLogging()
114116

115117
defer func() {
@@ -136,7 +138,7 @@ func configureAPI(api *operations.DataPlaneAPI) http.Handler {
136138

137139
api.ServerShutdown = serverShutdown
138140

139-
client := configureNativeClient()
141+
client := configureNativeClient(mWorker)
140142

141143
// Handle reload signals
142144
sigs := make(chan os.Signal, 1)
@@ -493,9 +495,10 @@ func serverShutdown() {
493495
}
494496
}
495497

496-
func configureNativeClient() *client_native.HAProxyClient {
498+
func configureNativeClient(mWorker bool) *client_native.HAProxyClient {
497499
// Override options with env variables
498500
if os.Getenv("HAPROXY_MWORKER") == "1" {
501+
mWorker = true
499502
masterRuntime := os.Getenv("HAPROXY_MASTER_CLI")
500503
if masterRuntime != "" && !strings.HasPrefix(masterRuntime, "ipv4@") {
501504
haproxyOptions.MasterRuntime = masterRuntime
@@ -507,7 +510,7 @@ func configureNativeClient() *client_native.HAProxyClient {
507510
haproxyOptions.ConfigFile = cfg[0]
508511
}
509512
// Initialize HAProxy native client
510-
confClient, err := configureConfigurationClient()
513+
confClient, err := configureConfigurationClient(mWorker)
511514
if err != nil {
512515
log.Fatalf("Error initializing configuration client: %v", err)
513516
}
@@ -521,7 +524,7 @@ func configureNativeClient() *client_native.HAProxyClient {
521524
return client
522525
}
523526

524-
func configureConfigurationClient() (*configuration.Client, error) {
527+
func configureConfigurationClient(mWorker bool) (*configuration.Client, error) {
525528
confClient := &configuration.Client{}
526529
confParams := configuration.ClientParams{
527530
ConfigurationFile: haproxyOptions.ConfigFile,
@@ -530,6 +533,7 @@ func configureConfigurationClient() (*configuration.Client, error) {
530533
UseValidation: false,
531534
PersistentTransactions: true,
532535
TransactionDir: haproxyOptions.TransactionDir,
536+
MasterWorker: true,
533537
}
534538
err := confClient.Init(confParams)
535539
if err != nil {
@@ -589,7 +593,7 @@ func handleSignals(sigs chan os.Signal, client *client_native.HAProxyClient) {
589593
client.Runtime = configureRuntimeClient(client.Configuration)
590594
log.Info("Reloaded Data Plane API")
591595
} else if sig == syscall.SIGUSR2 {
592-
confClient, err := configureConfigurationClient()
596+
confClient, err := configureConfigurationClient(mWorker)
593597
if err != nil {
594598
log.Fatalf(err.Error())
595599
}

go.mod

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,23 @@ go 1.12
44

55
require (
66
github.com/GehirnInc/crypt v0.0.0-20190301055215-6c0105aabd46
7+
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect
78
github.com/docker/go-units v0.4.0
9+
github.com/go-ole/go-ole v1.2.4 // indirect
810
github.com/go-openapi/errors v0.19.0
911
github.com/go-openapi/loads v0.19.0
1012
github.com/go-openapi/runtime v0.19.0
1113
github.com/go-openapi/spec v0.19.0
1214
github.com/go-openapi/strfmt v0.19.0
1315
github.com/go-openapi/swag v0.19.0
1416
github.com/go-openapi/validate v0.19.0
15-
github.com/haproxytech/client-native v1.2.7-0.20191217143845-4e118a2d28a5
17+
github.com/haproxytech/client-native v1.2.7
1618
github.com/haproxytech/config-parser v1.2.0
1719
github.com/haproxytech/models v1.2.5-0.20191122125615-30d0235b81ec
1820
github.com/jessevdk/go-flags v1.4.0
1921
github.com/rs/cors v1.6.0
2022
github.com/shirou/gopsutil v2.18.12+incompatible
23+
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 // indirect
2124
github.com/sirupsen/logrus v1.4.2
2225
golang.org/x/net v0.0.0-20190607181551-461777fb6f67
2326
golang.org/x/sys v0.0.0-20190422165155-953cdadca894

go.sum

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,21 @@ github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tN
55
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
66
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
77
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
8+
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk=
9+
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
810
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf h1:eg0MeVzsP1G42dRafH3vf+al2vQIJU0YHX+1Tw87oco=
911
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
1012
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
13+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
1114
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
1215
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
1316
github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
1417
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
1518
github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
1619
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is=
1720
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
21+
github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
22+
github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
1823
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
1924
github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
2025
github.com/go-openapi/analysis v0.18.0 h1:hRMEymXOgwo7KLPqqFmw6t3jLO2/zxUe/TXjAHPq9Gc=
@@ -74,6 +79,8 @@ github.com/haproxytech/client-native v1.2.7-0.20191122131150-a6818774610f h1:B3s
7479
github.com/haproxytech/client-native v1.2.7-0.20191122131150-a6818774610f/go.mod h1:LY/19nHPBYa5R28ifLPEJkJltLZtOabbM2Q6WnBysCc=
7580
github.com/haproxytech/client-native v1.2.7-0.20191217143845-4e118a2d28a5 h1:0e/L01qrXu28C7N/oGSCeeW7UxcKNr5Cvl0+4U3+0ns=
7681
github.com/haproxytech/client-native v1.2.7-0.20191217143845-4e118a2d28a5/go.mod h1:BxJRzPKyTJqaVEOs/gU30Fi0NXcxACZoFnwAMdWc6tI=
82+
github.com/haproxytech/client-native v1.2.7 h1:PrTozZq1ecdhi9xsqlbaB0ezzDRF1y1tzMLolITimgQ=
83+
github.com/haproxytech/client-native v1.2.7/go.mod h1:BxJRzPKyTJqaVEOs/gU30Fi0NXcxACZoFnwAMdWc6tI=
7784
github.com/haproxytech/config-parser v1.1.3 h1:8G+XQ7QXGctmeQlgg9xME0WMY0TK7pZenf/DZM/QWfo=
7885
github.com/haproxytech/config-parser v1.1.3/go.mod h1:se7v728KDunj+qz1kXFFFl+nDuoBdUaN5eYSi+gYjNM=
7986
github.com/haproxytech/config-parser v1.1.4 h1:J9ziufMtKSemiHILPu3GgAopuhA8bMxxR1f0kGtgnHk=
@@ -105,6 +112,7 @@ github.com/haproxytech/models v1.2.5-0.20191122125615-30d0235b81ec h1:t/GUE635MK
105112
github.com/haproxytech/models v1.2.5-0.20191122125615-30d0235b81ec/go.mod h1:UXZVErm/XN6z10sM/enmxrdeEnwo7vz1JI+a8ycEvOQ=
106113
github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA=
107114
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
115+
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
108116
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
109117
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
110118
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -117,16 +125,20 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh
117125
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
118126
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
119127
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
128+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
120129
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
121130
github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI=
122131
github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
123132
github.com/shirou/gopsutil v2.18.12+incompatible h1:1eaJvGomDnH74/5cF4CTmTbLHAriGFsTZppLXDX93OM=
124133
github.com/shirou/gopsutil v2.18.12+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
134+
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 h1:udFKJ0aHUL60LboW/A+DfgoHVedieIzIXE8uylPue0U=
135+
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
125136
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
126137
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
127138
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
128139
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
129140
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
141+
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
130142
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
131143
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
132144
golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=

0 commit comments

Comments
 (0)