func init() { uuid, _ := types.NewUUID() uuids := strings.Split(uuid.String(), "-") volumeName = uuids[0] uuid, _ = types.NewUUID() uuids = strings.Split(uuid.String(), "-") volumeName2 = uuids[0] // Build configuration based on provided environmet awsRegion := os.Getenv("AWS_REGION") awsSecurityGroups := os.Getenv("AWS_EFS_SECURITY_GROUPS") awsTag := os.Getenv("AWS_EFS_TAG") if awsTag == "" { awsTag = "integrationtest" } if awsRegion == "" { awsRegion = "us-east-1" } if awsSecurityGroups == "" { awsSecurityGroups = "sg-4bf71430" } configYAML = []byte(fmt.Sprintf(string(configYAML[:]), awsTag, awsRegion, awsSecurityGroups)) log.WithFields(log.Fields{ "efs.tag": awsTag, "efs.region": awsRegion, "efs.securityGroups": awsSecurityGroups, }).Info("Test environment initialized") }
// Set volume names to first part of UUID before the - func init() { uuid, _ := types.NewUUID() uuids := strings.Split(uuid.String(), "-") volumeName = uuids[0] uuid, _ = types.NewUUID() uuids = strings.Split(uuid.String(), "-") volumeName2 = uuids[0] }
func newServer(goCtx gocontext.Context, config gofig.Config) (*server, error) { adminTokenUUID, err := types.NewUUID() if err != nil { return nil, err } adminToken := adminTokenUUID.String() serverName := randomServerName() ctx := context.New(goCtx) ctx = ctx.WithValue(context.ServerKey, serverName) ctx = ctx.WithValue(context.AdminTokenKey, adminToken) if lvl, ok := context.GetLogLevel(ctx); ok { switch lvl { case log.DebugLevel: ctx = context.WithValue( ctx, gournal.LevelKey(), gournal.DebugLevel) case log.InfoLevel: ctx = context.WithValue( ctx, gournal.LevelKey(), gournal.InfoLevel) case log.WarnLevel: ctx = context.WithValue( ctx, gournal.LevelKey(), gournal.WarnLevel) case log.ErrorLevel: ctx = context.WithValue( ctx, gournal.LevelKey(), gournal.ErrorLevel) case log.FatalLevel: ctx = context.WithValue( ctx, gournal.LevelKey(), gournal.FatalLevel) case log.PanicLevel: ctx = context.WithValue( ctx, gournal.LevelKey(), gournal.PanicLevel) } } if logger, ok := ctx.Value(context.LoggerKey).(*log.Logger); ok { ctx = context.WithValue( ctx, gournal.AppenderKey(), glogrus.NewWithOptions( logger.Out, logger.Level, logger.Formatter)) } if config == nil { var err error if config, err = apicnfg.NewConfig(); err != nil { return nil, err } } config = config.Scope(types.ConfigServer) s := &server{ ctx: ctx, name: serverName, adminToken: adminToken, config: config, closeSignal: make(chan int), closedSignal: make(chan int), closeOnce: &sync.Once{}, } if logger, ok := s.ctx.Value(context.LoggerKey).(*log.Logger); ok { s.PrintServerStartupHeader(logger.Out) } else { s.PrintServerStartupHeader(os.Stdout) } if lvl, err := log.ParseLevel( config.GetString(types.ConfigLogLevel)); err == nil { context.SetLogLevel(s.ctx, lvl) } logFields := log.Fields{} logConfig, err := utils.ParseLoggingConfig( config, logFields, "libstorage.server") if err != nil { return nil, err } // always update the server context's log level context.SetLogLevel(s.ctx, logConfig.Level) s.ctx.WithFields(logFields).Info("configured logging") s.ctx.Info("initializing server") if err := s.initEndpoints(s.ctx); err != nil { return nil, err } s.ctx.Info("initialized endpoints") if err := services.Init(s.ctx, s.config); err != nil { return nil, err } s.ctx.Info("initialized services") if logConfig.HTTPRequests || logConfig.HTTPResponses { s.logHTTPEnabled = true s.logHTTPRequests = logConfig.HTTPRequests s.logHTTPResponses = logConfig.HTTPResponses s.stdOut = getLogIO(logConfig.Stdout, types.ConfigLogStdout) s.stdErr = getLogIO(logConfig.Stderr, types.ConfigLogStderr) } s.initGlobalMiddleware() if err := s.initRouters(); err != nil { return nil, err } servers = append(servers, s) return s, nil }