()
| 315 | } |
| 316 | |
| 317 | func getResyncCommand() cli.Command { |
| 318 | return cli.Command{ |
| 319 | Name: "resync", |
| 320 | Usage: "Resync all syncable resources to sync (etcd) backend", |
| 321 | Flags: []cli.Flag{ |
| 322 | cli.StringFlag{Name: "config-file", Value: defaultConfigFile, Usage: "Server config File"}, |
| 323 | }, |
| 324 | Action: func(c *cli.Context) { |
| 325 | configFile := c.String("config-file") |
| 326 | |
| 327 | config := util.GetConfig() |
| 328 | if configFile == "" { |
| 329 | log.Fatal("Need to provide server config file") |
| 330 | } |
| 331 | if err := config.ReadConfig(configFile); err != nil { |
| 332 | log.Fatalf("Error while loading server config file: %s", err) |
| 333 | } |
| 334 | if err := os.Chdir(path.Dir(configFile)); err != nil { |
| 335 | log.Fatalf("Chdir error: %s", err) |
| 336 | } |
| 337 | |
| 338 | dbConn, err := db.CreateFromConfig(config) |
| 339 | if err != nil { |
| 340 | log.Fatalf("Failed to create db conn, err: %s", err) |
| 341 | } |
| 342 | |
| 343 | sync, err := sync_util.CreateFromConfig(config) |
| 344 | if err != nil { |
| 345 | log.Fatalf("Failed to create sync, err: %s", err) |
| 346 | |
| 347 | } |
| 348 | |
| 349 | schemaManager := schema.GetManager() |
| 350 | |
| 351 | schemaFiles := config.GetStringList("schemas", nil) |
| 352 | if schemaFiles == nil { |
| 353 | log.Fatal("No schema specified in configuration") |
| 354 | } else { |
| 355 | log.Info("Loading schemas %s", schemaFiles) |
| 356 | err = schemaManager.LoadSchemasFromFiles(schemaFiles...) |
| 357 | if err != nil { |
| 358 | log.Fatalf("Error when loading schemas: %s", err) |
| 359 | } |
| 360 | } |
| 361 | |
| 362 | server.Resync(dbConn, sync) |
| 363 | }, |
| 364 | } |
| 365 | } |
| 366 | |
| 367 | func getServerCommand() cli.Command { |
| 368 | return cli.Command{ |
no test coverage detected