首页 > 解决方案 > 在不成功的 govc pool.info 命令上返回非零值

问题描述

我使用 govc 在 VMware 中创建资源。在创建新资源池之前,我想验证是否存在同名的资源池。在现有池上运行 govc pool.info 会返回有关现有池的信息,并且命令以 0 值退出。

在不存在的资源池上执行相同的命令不会返回任何内容,但也会以 0 值退出。

➜  govc pool.info existing-pool
Name:               existing-pool
  Path:             /TEST/host/server/Resources/existing-pool
  CPU Usage:        0MHz (0.0%)
  CPU Shares:       normal
  CPU Reservation:  0MHz (expandable=true)
  CPU Limit:        -1MHz
  Mem Usage:        0MB (0.0%)
  Mem Shares:       normal
  Mem Reservation:  0MB (expandable=true)
  Mem Limit:        -1MB
➜  echo $?                       
0
➜  govc pool.info test
➜  echo $?
0

您如何验证现有资源池?

标签: vmwarevspheregovmomi

解决方案


由于如果不存在池,pool.info 不会处理退出状态,因此我会处理错误pool.create

➜  govc pool.create test
govc: ServerFaultCode: The name 'test' already exists.
➜  echo $?                             
1

当退出代码!= 0 时,处理错误并提醒用户。


推荐阅读