(c *base.Config)
| 380 | } |
| 381 | |
| 382 | func (d *Driver) SetConfig(c *base.Config) (err error) { |
| 383 | if c != nil && c.AgentConfig != nil { |
| 384 | d.nomadConfig = c.AgentConfig.Driver |
| 385 | d.logger.Info("SetConfig 1", "DriverConfig", c.AgentConfig.Driver) |
| 386 | } |
| 387 | |
| 388 | d.config = new(DriverConfig) |
| 389 | if len(c.PluginConfig) != 0 { |
| 390 | if err := base.MsgPackDecode(c.PluginConfig, d.config); err != nil { |
| 391 | return err |
| 392 | } |
| 393 | } |
| 394 | |
| 395 | d.logger.Info("SetConfig 2", "config", d.config) |
| 396 | |
| 397 | err = d.setupLogger() |
| 398 | if err != nil { |
| 399 | return errors.Wrap(err, "setupLogger") |
| 400 | } |
| 401 | |
| 402 | //if dconfig.Memory != "" { |
| 403 | // g.MemAvailable = TODO |
| 404 | //} |
| 405 | if d.config.BigTxMaxJobs != 0 { |
| 406 | g.BigTxMaxJobs = d.config.BigTxMaxJobs |
| 407 | } |
| 408 | d.logger.Info("BigTxMaxJobs is set", "value", g.BigTxMaxJobs) |
| 409 | |
| 410 | if "" != d.config.RsaPrivateKeyPath { |
| 411 | b, err := ioutil.ReadFile(d.config.RsaPrivateKeyPath) |
| 412 | if nil != err { |
| 413 | return fmt.Errorf("read rsa private key file failed: %v", err) |
| 414 | } |
| 415 | g.RsaPrivateKey = string(b) |
| 416 | } |
| 417 | |
| 418 | if d.storeManager != nil { |
| 419 | // PluginLoader.validatePluginConfig() will call SetConfig() twice. |
| 420 | // This test avoids extra setup. |
| 421 | return nil |
| 422 | } else { |
| 423 | d.storeManager, err = common.NewStoreManager([]string{d.config.Consul}, d.logger) |
| 424 | if err != nil { |
| 425 | return err |
| 426 | } |
| 427 | |
| 428 | go func() { |
| 429 | if d.config.ApiAddr == "" { |
| 430 | d.logger.Info("ApiAddr is empty in config. Will not start api_compat server.") |
| 431 | } else { |
| 432 | if d.config.NomadAddr == "" { |
| 433 | d.logger.Info("NomadAddr is empty in config. Will not handle api_compat request.") |
| 434 | go func() { |
| 435 | // for pprof |
| 436 | err := http.ListenAndServe(d.config.ApiAddr, http.DefaultServeMux) |
| 437 | if err != nil { |
| 438 | d.logger.Error("ListenAndServe error", "err", err, "addr", d.config.ApiAddr) |
| 439 | } |
nothing calls this directly
no test coverage detected