Skip to content

Commit b1fc8c3

Browse files
mariashebroberson
authored andcommitted
Pass ReadHeaderTimeout to lagerlevel Server
1 parent 4d0052d commit b1fc8c3

File tree

6 files changed

+39
-56
lines changed

6 files changed

+39
-56
lines changed

src/code.cloudfoundry.org/bosh-dns-adapter/config/config.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,25 @@ import (
55
"fmt"
66
"net"
77

8+
"code.cloudfoundry.org/cf-networking-helpers/flags"
89
"gopkg.in/validator.v2"
910
)
1011

1112
type Config struct {
12-
Address string `json:"address" validate:"nonzero"`
13-
Port string `json:"port" validate:"nonzero"`
14-
ServiceDiscoveryControllerAddress string `json:"service_discovery_controller_address" validate:"nonzero"`
15-
ServiceDiscoveryControllerPort string `json:"service_discovery_controller_port" validate:"nonzero"`
16-
ClientCert string `json:"client_cert" validate:"nonzero"`
17-
ClientKey string `json:"client_key" validate:"nonzero"`
18-
CACert string `json:"ca_cert" validate:"nonzero"`
19-
MetronPort int `json:"metron_port" validate:"min=1"`
20-
MetricsEmitSeconds int `json:"metrics_emit_seconds" validate:"min=1"`
21-
LogLevelAddress string `json:"log_level_address" validate:"nonzero"`
22-
LogLevelPort int `json:"log_level_port" validate:"min=1"`
23-
InternalServiceMeshDomains []string `json:"internal_service_mesh_domains"`
24-
InternalRouteVIPRange string `json:"internal_route_vip_range" validate:"cidr"`
13+
Address string `json:"address" validate:"nonzero"`
14+
Port string `json:"port" validate:"nonzero"`
15+
ReadHeaderTimeout flags.DurationFlag `json:"read_header_timeout"`
16+
ServiceDiscoveryControllerAddress string `json:"service_discovery_controller_address" validate:"nonzero"`
17+
ServiceDiscoveryControllerPort string `json:"service_discovery_controller_port" validate:"nonzero"`
18+
ClientCert string `json:"client_cert" validate:"nonzero"`
19+
ClientKey string `json:"client_key" validate:"nonzero"`
20+
CACert string `json:"ca_cert" validate:"nonzero"`
21+
MetronPort int `json:"metron_port" validate:"min=1"`
22+
MetricsEmitSeconds int `json:"metrics_emit_seconds" validate:"min=1"`
23+
LogLevelAddress string `json:"log_level_address" validate:"nonzero"`
24+
LogLevelPort int `json:"log_level_port" validate:"min=1"`
25+
InternalServiceMeshDomains []string `json:"internal_service_mesh_domains"`
26+
InternalRouteVIPRange string `json:"internal_route_vip_range" validate:"cidr"`
2527
}
2628

2729
func init() {

src/code.cloudfoundry.org/bosh-dns-adapter/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func main() {
106106

107107
members := grouper.Members{
108108
{Name: "metrics-emitter", Runner: metricsEmitter},
109-
{Name: "log-level-server", Runner: lagerlevel.NewServer(config.LogLevelAddress, config.LogLevelPort, reconfigurableSink, logger.Session("log-level-server"))},
109+
{Name: "log-level-server", Runner: lagerlevel.NewServer(config.LogLevelAddress, config.LogLevelPort, time.Duration(config.ReadHeaderTimeout), reconfigurableSink, logger.Session("log-level-server"))},
110110
}
111111
group := grouper.NewOrdered(os.Interrupt, members)
112112
monitor := ifrit.Invoke(sigmon.New(group))

src/code.cloudfoundry.org/service-discovery-controller/config/config.go

Lines changed: 17 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -7,50 +7,28 @@ import (
77
"fmt"
88
"net/url"
99
"os"
10-
"strconv"
11-
"time"
1210

11+
"code.cloudfoundry.org/cf-networking-helpers/flags"
1312
"gopkg.in/validator.v2"
1413
)
1514

16-
type DurationFlag time.Duration
17-
18-
func (f DurationFlag) MarshalJSON() ([]byte, error) {
19-
return json.Marshal(time.Duration(f).String())
20-
}
21-
22-
func (f *DurationFlag) UnmarshalJSON(b []byte) error {
23-
s, err := strconv.Unquote(string(b))
24-
if err != nil {
25-
return err
26-
}
27-
parsedDuration, err := time.ParseDuration(s)
28-
if err != nil {
29-
return err
30-
}
31-
32-
*f = DurationFlag(parsedDuration)
33-
34-
return nil
35-
}
36-
3715
type Config struct {
38-
Address string `json:"address" validate:"nonzero"`
39-
Port string `json:"port" validate:"nonzero"`
40-
Nats NatsConfig `json:"nats"`
41-
Index string `json:"index"`
42-
ServerCert string `json:"server_cert" validate:"nonzero"`
43-
ServerKey string `json:"server_key" validate:"nonzero"`
44-
CACert string `json:"ca_cert" validate:"nonzero"`
45-
MetronPort int `json:"metron_port" validate:"min=1"`
46-
LogLevelAddress string `json:"log_level_address"`
47-
LogLevelPort int `json:"log_level_port"`
48-
StalenessThresholdSeconds int `json:"staleness_threshold_seconds" validate:"min=1"`
49-
PruningIntervalSeconds int `json:"pruning_interval_seconds" validate:"min=1"`
50-
MetricsEmitSeconds int `json:"metrics_emit_seconds" validate:"min=1"`
51-
ResumePruningDelaySeconds int `json:"resume_pruning_delay_seconds" validate:"min=0"`
52-
WarmDurationSeconds int `json:"warm_duration_seconds" validate:"min=0"`
53-
ReadHeaderTimeout DurationFlag `json:"read_header_timeout"`
16+
Address string `json:"address" validate:"nonzero"`
17+
Port string `json:"port" validate:"nonzero"`
18+
Nats NatsConfig `json:"nats"`
19+
Index string `json:"index"`
20+
ServerCert string `json:"server_cert" validate:"nonzero"`
21+
ServerKey string `json:"server_key" validate:"nonzero"`
22+
CACert string `json:"ca_cert" validate:"nonzero"`
23+
MetronPort int `json:"metron_port" validate:"min=1"`
24+
LogLevelAddress string `json:"log_level_address"`
25+
LogLevelPort int `json:"log_level_port"`
26+
StalenessThresholdSeconds int `json:"staleness_threshold_seconds" validate:"min=1"`
27+
PruningIntervalSeconds int `json:"pruning_interval_seconds" validate:"min=1"`
28+
MetricsEmitSeconds int `json:"metrics_emit_seconds" validate:"min=1"`
29+
ResumePruningDelaySeconds int `json:"resume_pruning_delay_seconds" validate:"min=0"`
30+
WarmDurationSeconds int `json:"warm_duration_seconds" validate:"min=0"`
31+
ReadHeaderTimeout flags.DurationFlag `json:"read_header_timeout"`
5432
}
5533

5634
type NatsConfig struct {

src/code.cloudfoundry.org/service-discovery-controller/config/config_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"fmt"
77
"time"
88

9+
"code.cloudfoundry.org/cf-networking-helpers/flags"
910
. "code.cloudfoundry.org/service-discovery-controller/config"
1011
testhelpers "code.cloudfoundry.org/test-helpers"
1112
. "github.com/onsi/ginkgo/v2"
@@ -68,7 +69,7 @@ var _ = Describe("Config", func() {
6869
Expect(parsedConfig.MetricsEmitSeconds).To(Equal(6))
6970
Expect(parsedConfig.ResumePruningDelaySeconds).To(Equal(2))
7071
Expect(parsedConfig.WarmDurationSeconds).To(Equal(5))
71-
Expect(parsedConfig.ReadHeaderTimeout).To(Equal(DurationFlag(10 * time.Second)))
72+
Expect(parsedConfig.ReadHeaderTimeout).To(Equal(flags.DurationFlag(10 * time.Second)))
7273
})
7374
})
7475

@@ -192,7 +193,7 @@ var _ = Describe("Config", func() {
192193
config, err := NewConfig(cfgBytes)
193194

194195
Expect(err).NotTo(HaveOccurred())
195-
Expect(config.ReadHeaderTimeout).To(Equal(DurationFlag(0)))
196+
Expect(config.ReadHeaderTimeout).To(Equal(flags.DurationFlag(0)))
196197
})
197198
})
198199
})

src/code.cloudfoundry.org/service-discovery-controller/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ func mainWithError() error {
100100
logLevelServer := lagerlevel.NewServer(
101101
conf.LogLevelAddress,
102102
conf.LogLevelPort,
103+
time.Duration(conf.ReadHeaderTimeout),
103104
sink,
104105
logger.Session("log-level-server"),
105106
)

src/code.cloudfoundry.org/service-discovery-controller/routes/server_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"strconv"
1212
"time"
1313

14+
"code.cloudfoundry.org/cf-networking-helpers/flags"
1415
"code.cloudfoundry.org/cf-networking-helpers/testsupport/ports"
1516
"code.cloudfoundry.org/lager/v3"
1617
"code.cloudfoundry.org/lager/v3/lagertest"
@@ -52,7 +53,7 @@ var _ = Describe("Server", func() {
5253
CACert: caFile,
5354
ServerCert: serverCert,
5455
ServerKey: serverKey,
55-
ReadHeaderTimeout: config.DurationFlag(200 * time.Millisecond),
56+
ReadHeaderTimeout: flags.DurationFlag(200 * time.Millisecond),
5657
}
5758
addressTable = &fakes.AddressTable{}
5859
dnsRequestRecorder = &fakes.DNSRequestRecorder{}

0 commit comments

Comments
 (0)