Skip to content

Commit 3ea792d

Browse files
authored
Merge pull request #1069 from kart2bc/locket-timeout
Locket timeout and metron config settings for inigo tests
2 parents b752155 + 561b592 commit 3ea792d

File tree

10 files changed

+78
-22
lines changed

10 files changed

+78
-22
lines changed

src/code.cloudfoundry.org/inigo/cell/converger_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ var _ = Describe("Convergence to desired state", func() {
114114
Eventually(runningLRPsPresencePoller(models.ActualLRP_Suspect)).Should(HaveLen(2))
115115

116116
By("bringing back the original rep")
117-
rep = ginkgomon.Invoke(componentMaker.Rep())
117+
rep = ginkgomon.Invoke(componentMaker.Rep(modifyFunRepLoggregatorConfig))
118118

119119
Eventually(runningLRPsPoller).Should(HaveLen(2))
120120
Eventually(helloWorldInstancePoller).Should(Equal([]string{"0", "1"}))
@@ -133,7 +133,7 @@ var _ = Describe("Convergence to desired state", func() {
133133

134134
BeforeEach(func() {
135135
firstActualLRPs = runningLRPsPoller()
136-
rep2 = ginkgomon.Invoke(componentMaker.RepN(1))
136+
rep2 = ginkgomon.Invoke(componentMaker.RepN(1, modifyFunRepLoggregatorConfig))
137137
})
138138

139139
AfterEach(func() {

src/code.cloudfoundry.org/inigo/cell/evacuation_test.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,15 +104,17 @@ var _ = Describe("Evacuation", func() {
104104
config.ListenAddr = cellARepAddr
105105
config.ListenAddrSecurable = cellARepSecureAddr
106106
config.EvacuationTimeout = durationjson.Duration(30 * time.Second)
107-
}, modifyFunRepLoggregatorConfig)
107+
config.LoggregatorConfig = setupMetronConfig(config.LoggregatorConfig)
108+
})
108109

109110
cellBRepRunner = componentMaker.RepN(1,
110111
func(config *repconfig.RepConfig) {
111112
config.CellID = cellBID
112113
config.ListenAddr = cellBRepAddr
113114
config.ListenAddrSecurable = cellBRepSecureAddr
114115
config.EvacuationTimeout = durationjson.Duration(30 * time.Second)
115-
}, modifyFunRepLoggregatorConfig)
116+
config.LoggregatorConfig = setupMetronConfig(config.LoggregatorConfig)
117+
})
116118

117119
test_helper.CreateZipArchive(
118120
filepath.Join(fileServerStaticDir, "lrp.zip"),
@@ -187,6 +189,7 @@ var _ = Describe("Evacuation", func() {
187189
config.ListenAddr = cellARepAddr
188190
config.ListenAddrSecurable = cellARepSecureAddr
189191
config.GracefulShutdownInterval = 1 // 1 nanosecond otherwise a 0 is treated as omitted value
192+
config.LoggregatorConfig = setupMetronConfig(config.LoggregatorConfig)
190193
},
191194
)
192195
})

src/code.cloudfoundry.org/inigo/cell/task_lifecycle_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ exit 0
306306
))
307307

308308
cellProcess = ginkgomon.Invoke(grouper.NewParallel(os.Interrupt, grouper.Members{
309-
{Name: "rep", Runner: componentMaker.Rep()},
309+
{Name: "rep", Runner: componentMaker.Rep(modifyFunRepLoggregatorConfig)},
310310
}))
311311
})
312312

@@ -330,7 +330,7 @@ exit 0
330330

331331
Context("and then an auctioneer come up", func() {
332332
BeforeEach(func() {
333-
auctioneerProcess = ginkgomon.Invoke(componentMaker.Auctioneer())
333+
auctioneerProcess = ginkgomon.Invoke(componentMaker.Auctioneer(modifyFunAuctioneerLoggregatorConfig))
334334
})
335335

336336
AfterEach(func() {

src/code.cloudfoundry.org/inigo/executor/executor_garden_test.go

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ import (
77
"io"
88
"net"
99
"os"
10+
"path/filepath"
1011
"time"
1112

1213
"code.cloudfoundry.org/bbs/models"
1314
"code.cloudfoundry.org/clock"
14-
loggingclient "code.cloudfoundry.org/diego-logging-client"
15+
diego_logging_client "code.cloudfoundry.org/diego-logging-client"
16+
"code.cloudfoundry.org/diego-logging-client/testhelpers"
1517
"code.cloudfoundry.org/durationjson"
1618
"code.cloudfoundry.org/executor"
1719
"code.cloudfoundry.org/executor/gardenhealth"
@@ -43,12 +45,30 @@ var _ = Describe("Executor/Garden", func() {
4345
ownerName string
4446
gardenHealthcheckRootFS string
4547

46-
expectedDiskCapacityMB int
48+
expectedDiskCapacityMB int
49+
signalMetricsChan chan struct{}
50+
testIngressServer *testhelpers.TestIngressServer
51+
metronCAFile, metronServerCertFile, metronServerKeyFile string
52+
metricsPort int
4753
)
4854

4955
BeforeEach(func() {
5056
gardenHealthcheckRootFS = ""
5157

58+
fixturesPath := "../fixtures/certs"
59+
60+
var err error
61+
metronCAFile = filepath.Join(fixturesPath, "metron", "CA.crt")
62+
metronServerCertFile = filepath.Join(fixturesPath, "metron", "metron.crt")
63+
metronServerKeyFile = filepath.Join(fixturesPath, "metron", "metron.key")
64+
testIngressServer, err = testhelpers.NewTestIngressServer(metronServerCertFile, metronServerKeyFile, metronCAFile)
65+
Expect(err).NotTo(HaveOccurred())
66+
receiversChan := testIngressServer.Receivers()
67+
testIngressServer.Start()
68+
metricsPort, _ = testIngressServer.Port()
69+
70+
_, signalMetricsChan = testhelpers.TestMetricChan(receiversChan)
71+
5272
randomName, err := uuid.NewV4()
5373
Expect(err).NotTo(HaveOccurred())
5474

@@ -111,7 +131,12 @@ var _ = Describe("Executor/Garden", func() {
111131

112132
logger = lagertest.NewTestLogger("test")
113133
var executorMembers grouper.Members
114-
metronClient, err := loggingclient.NewIngressClient(loggingclient.Config{})
134+
metronClient, err := diego_logging_client.NewIngressClient(diego_logging_client.Config{
135+
APIPort: metricsPort,
136+
CACertPath: metronCAFile,
137+
CertPath: metronServerCertFile,
138+
KeyPath: metronServerKeyFile,
139+
})
115140
Expect(err).NotTo(HaveOccurred())
116141

117142
rootFSes := map[string]string{"somestack": gardenHealthcheckRootFS}
@@ -135,6 +160,9 @@ var _ = Describe("Executor/Garden", func() {
135160
executorClient.Cleanup(logger)
136161
}
137162

163+
testIngressServer.Stop()
164+
close(signalMetricsChan)
165+
138166
os.RemoveAll(cachePath)
139167
})
140168

src/code.cloudfoundry.org/inigo/volman/volman_bbs_lrp_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ var _ = Describe("LRPs with volume mounts", func() {
4141
{Name: "sql", Runner: componentMaker.SQL()},
4242
{Name: "nats", Runner: componentMaker.NATS()},
4343
})},
44-
{Name: "locket", Runner: componentMaker.Locket()},
45-
{Name: "bbs", Runner: componentMaker.BBS()},
44+
{Name: "locket", Runner: componentMaker.Locket(modifyFuncLocketLoggregatorConfig)},
45+
{Name: "bbs", Runner: componentMaker.BBS(modifyFuncBBSLoggregatorConfig)},
4646
}))
4747

4848
logger = lager.NewLogger("test")

src/code.cloudfoundry.org/inigo/volman/volman_bbs_task_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,16 @@ var _ = Describe("Tasks", func() {
3636
{Name: "initial-services", Runner: grouper.NewParallel(os.Kill, grouper.Members{
3737
{Name: "sql", Runner: componentMaker.SQL()},
3838
})},
39-
{Name: "locket", Runner: componentMaker.Locket()},
40-
{Name: "bbs", Runner: componentMaker.BBS()},
39+
{Name: "locket", Runner: componentMaker.Locket(modifyFuncLocketLoggregatorConfig)},
40+
{Name: "bbs", Runner: componentMaker.BBS(modifyFuncBBSLoggregatorConfig)},
4141
}))
4242

4343
cellProcess = ginkgomon.Invoke(grouper.NewParallel(os.Interrupt, grouper.Members{
4444
{Name: "file-server", Runner: fileServerRunner},
45-
{Name: "rep", Runner: componentMaker.Rep(func(config *repconfig.RepConfig) { config.MemoryMB = "1024" })},
45+
{Name: "rep", Runner: componentMaker.Rep(func(config *repconfig.RepConfig) {
46+
config.MemoryMB = "1024"
47+
config.LoggregatorConfig = setupMetronConfig(config.LoggregatorConfig)
48+
})},
4649
{Name: "auctioneer", Runner: componentMaker.Auctioneer(modifyFunAuctioneerLoggregatorConfig)},
4750
}))
4851

src/code.cloudfoundry.org/inigo/volman/volman_executor_test.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"code.cloudfoundry.org/bbs/models"
1414
"code.cloudfoundry.org/clock"
15-
loggingclient "code.cloudfoundry.org/diego-logging-client"
15+
diego_logging_client "code.cloudfoundry.org/diego-logging-client"
1616
"code.cloudfoundry.org/dockerdriver"
1717
"code.cloudfoundry.org/dockerdriver/driverhttp"
1818
dockerdriverutils "code.cloudfoundry.org/dockerdriver/utils"
@@ -376,7 +376,12 @@ func initializeExecutor(logger lager.Logger, config executorinit.ExecutorConfig)
376376
var err error
377377
var executorClient executor.Client
378378
defaultRootFS := ""
379-
metronClient, err := loggingclient.NewIngressClient(loggingclient.Config{})
379+
metronClient, err := diego_logging_client.NewIngressClient(diego_logging_client.Config{
380+
APIPort: metricsPort,
381+
CACertPath: metronCAFile,
382+
CertPath: metronServerCertFile,
383+
KeyPath: metronServerKeyFile,
384+
})
380385
Expect(err).NotTo(HaveOccurred())
381386
rootFSes := map[string]string{
382387
"somestack": defaultRootFS,

src/code.cloudfoundry.org/inigo/volman/volman_suite_test.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
auctioneerconfig "code.cloudfoundry.org/auctioneer/cmd/auctioneer/config"
1515
bbsconfig "code.cloudfoundry.org/bbs/cmd/bbs/config"
1616
fileserverconfig "code.cloudfoundry.org/fileserver/cmd/file-server/config"
17+
locketconfig "code.cloudfoundry.org/locket/cmd/locket/config"
1718
repconfig "code.cloudfoundry.org/rep/cmd/rep/config"
1819
routeemitterconfig "code.cloudfoundry.org/route-emitter/cmd/route-emitter/config"
1920

@@ -65,7 +66,9 @@ var (
6566
modifyFunRepLoggregatorConfig func(cfg *repconfig.RepConfig)
6667
modifyFunFileServerLoggregatorConfig func(cfg *fileserverconfig.FileServerConfig)
6768
modifyFuncBBSLoggregatorConfig func(cfg *bbsconfig.BBSConfig)
69+
modifyFuncLocketLoggregatorConfig func(cfg *locketconfig.LocketConfig)
6870
metronCAFile, metronServerCertFile, metronServerKeyFile string
71+
metricsPort int
6972
)
7073

7174
var _ = SynchronizedBeforeSuite(func() []byte {
@@ -141,9 +144,14 @@ var _ = BeforeEach(func() {
141144
Expect(err).NotTo(HaveOccurred())
142145
receiversChan := testIngressServer.Receivers()
143146
testIngressServer.Start()
147+
metricsPort, _ = testIngressServer.Port()
144148

145149
testMetricsChan, signalMetricsChan = testhelpers.TestMetricChan(receiversChan)
146150

151+
modifyFuncLocketLoggregatorConfig = func(cfg *locketconfig.LocketConfig) {
152+
cfg.LoggregatorConfig = setupMetronConfig(cfg.LoggregatorConfig)
153+
}
154+
147155
modifyFuncBBSLoggregatorConfig = func(cfg *bbsconfig.BBSConfig) {
148156
cfg.LoggregatorConfig = setupMetronConfig(cfg.LoggregatorConfig)
149157
}
@@ -174,7 +182,7 @@ var _ = BeforeEach(func() {
174182
driverPluginsPath = path.Join(componentMaker.VolmanDriverConfigDir(), fmt.Sprintf("node-%d", GinkgoParallelProcess()))
175183
dockerdriver.WriteDriverSpec(logger, driverPluginsPath, "deaddriver", "json", []byte(`{"Name":"deaddriver","Addr":"https://127.0.0.1:1111"}`))
176184

177-
volmanClient, driverSyncer = componentMaker.VolmanClient(logger)
185+
volmanClient, driverSyncer = componentMaker.VolmanClient(logger, metricsPort, metronCAFile, metronServerCertFile, metronServerKeyFile)
178186
driverSyncerProcess = ginkgomon.Invoke(driverSyncer)
179187
})
180188

@@ -189,6 +197,9 @@ var _ = AfterEach(func() {
189197
len(destroyContainerErrors),
190198
)
191199

200+
testIngressServer.Stop()
201+
close(signalMetricsChan)
202+
192203
os.Remove(filepath.Join(driverPluginsPath, "deaddriver.json"))
193204
})
194205

src/code.cloudfoundry.org/inigo/volman/volman_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ var _ = Describe("Given volman and localdriver", func() {
7171
return os.IsNotExist(err)
7272
}).Should(Equal(false))
7373

74-
volmanClient, driverSyncer = componentMaker.VolmanClient(logger)
74+
volmanClient, driverSyncer = componentMaker.VolmanClient(logger, metricsPort, metronCAFile, metronServerCertFile, metronServerKeyFile)
7575
driverSyncerProcess = ginkgomon.Invoke(driverSyncer)
7676

7777
Eventually(func() bool {

src/code.cloudfoundry.org/inigo/world/components.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
"code.cloudfoundry.org/bbs/serviceclient"
2525
"code.cloudfoundry.org/bbs/test_helpers"
2626
cfhttp "code.cloudfoundry.org/cfhttp/v2"
27-
loggingclient "code.cloudfoundry.org/diego-logging-client"
27+
diego_logging_client "code.cloudfoundry.org/diego-logging-client"
2828
sshproxyconfig "code.cloudfoundry.org/diego-ssh/cmd/ssh-proxy/config"
2929
"code.cloudfoundry.org/diego-ssh/keys"
3030
"code.cloudfoundry.org/dockerdriver"
@@ -384,7 +384,7 @@ type ComponentMaker interface {
384384
SSHProxy(modifyConfigFuncs ...func(*sshproxyconfig.SSHProxyConfig)) ifrit.Runner
385385
Setup()
386386
Teardown()
387-
VolmanClient(logger lager.Logger) (volman.Manager, ifrit.Runner)
387+
VolmanClient(logger lager.Logger, metricsPort int, metronCAFile string, metronServerCertFile string, metronServerKeyFile string) (volman.Manager, ifrit.Runner)
388388
VolmanDriver(logger lager.Logger) (ifrit.Runner, dockerdriver.Driver)
389389
}
390390

@@ -1115,11 +1115,16 @@ func (maker commonComponentMaker) BBSURL() string {
11151115
return "https://" + maker.addresses.BBS
11161116
}
11171117

1118-
func (maker commonComponentMaker) VolmanClient(logger lager.Logger) (volman.Manager, ifrit.Runner) {
1118+
func (maker commonComponentMaker) VolmanClient(logger lager.Logger, metricsPort int, metronCAFile string, metronServerCertFile string, metronServerKeyFile string) (volman.Manager, ifrit.Runner) {
11191119
driverConfig := volmanclient.NewDriverConfig()
11201120
driverConfig.DriverPaths = []string{path.Join(maker.volmanDriverConfigDir, fmt.Sprintf("node-%d", GinkgoParallelProcess()))}
11211121

1122-
metronClient, err := loggingclient.NewIngressClient(loggingclient.Config{})
1122+
metronClient, err := diego_logging_client.NewIngressClient(diego_logging_client.Config{
1123+
APIPort: metricsPort,
1124+
CACertPath: metronCAFile,
1125+
CertPath: metronServerCertFile,
1126+
KeyPath: metronServerKeyFile,
1127+
})
11231128
Expect(err).NotTo(HaveOccurred())
11241129
return volmanclient.NewServer(logger, metronClient, driverConfig)
11251130
}
@@ -1469,6 +1474,7 @@ func (maker v1ComponentMaker) BBS(modifyConfigFuncs ...func(*bbsconfig.BBSConfig
14691474
LockTTL: durationjson.Duration(5 * time.Second),
14701475
LockRetryInterval: durationjson.Duration(1 * time.Second),
14711476
ReportInterval: durationjson.Duration(1 * time.Minute),
1477+
DBConnectionTimeout: durationjson.Duration(30 * time.Second),
14721478
ConvergenceWorkers: 20,
14731479
UpdateWorkers: 1000,
14741480
TaskCallbackWorkers: 1000,

0 commit comments

Comments
 (0)