소스 검색

ctlv3: set ETCD_WATCH_* on watch exec

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
Gyuho Lee 8 년 전
부모
커밋
5e0118d7ef
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      etcdctl/ctlv3/command/watch_command.go

+ 2 - 0
etcdctl/ctlv3/command/watch_command.go

@@ -158,6 +158,8 @@ func printWatchCh(c *clientv3.Client, ch clientv3.WatchChan, execArgs []string)
 			for _, ev := range resp.Events {
 			for _, ev := range resp.Events {
 				cmd := exec.CommandContext(c.Ctx(), execArgs[0], execArgs[1:]...)
 				cmd := exec.CommandContext(c.Ctx(), execArgs[0], execArgs[1:]...)
 				cmd.Env = os.Environ()
 				cmd.Env = os.Environ()
+				cmd.Env = append(cmd.Env, fmt.Sprintf("ETCD_WATCH_REVISION=%d", resp.Header.Revision))
+				cmd.Env = append(cmd.Env, fmt.Sprintf("ETCD_WATCH_EVENT_TYPE=%q", ev.Type))
 				cmd.Env = append(cmd.Env, fmt.Sprintf("ETCD_WATCH_KEY=%q", ev.Kv.Key))
 				cmd.Env = append(cmd.Env, fmt.Sprintf("ETCD_WATCH_KEY=%q", ev.Kv.Key))
 				cmd.Env = append(cmd.Env, fmt.Sprintf("ETCD_WATCH_VALUE=%q", ev.Kv.Value))
 				cmd.Env = append(cmd.Env, fmt.Sprintf("ETCD_WATCH_VALUE=%q", ev.Kv.Value))
 				cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr
 				cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr