func updateStatus(ctx *context.T, args []string, status lock.LockStatus) error { if numargs := len(args); numargs != 1 { return fmt.Errorf("requires exactly one arguments <lock>, provided %d", numargs) } lockName := args[0] ctx, stop, err := withLocalNamespace(ctx, "", lockUserNhName(ctx)) if err != nil { return err } defer stop() ctx, cancel := context.WithTimeout(ctx, time.Minute) defer cancel() if status == lock.Locked { err = lock.LockClient(lockObjName(lockName)).Lock(ctx) } else { err = lock.LockClient(lockObjName(lockName)).Unlock(ctx) } if err != nil { return err } fmt.Printf("Updated lock %v to status: %v\n", lockName, status) return nil }
func runStatus(ctx *context.T, env *cmdline.Env, args []string) error { if numargs := len(args); numargs != 1 { return fmt.Errorf("requires exactly one arguments <lock>, provided %d", numargs) } lockName := args[0] ctx, stop, err := withLocalNamespace(ctx, "", lockUserNhName(ctx)) if err != nil { return err } defer stop() ctx, cancel := context.WithTimeout(ctx, time.Minute) defer cancel() status, err := lock.LockClient(lockObjName(lockName)).Status(ctx) if err != nil { return err } fmt.Printf("lock %v is: %v\n", lockName, status) return nil }