Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Reconcile of disks doesn't work - govc disk.ls -R #2648

Closed
burkhat opened this issue Nov 5, 2021 · 6 comments
Closed

[BUG] Reconcile of disks doesn't work - govc disk.ls -R #2648

burkhat opened this issue Nov 5, 2021 · 6 comments

Comments

@burkhat
Copy link

burkhat commented Nov 5, 2021

Describe the bug
I want to list all disks via "govc disk.ls" then I got following error message:
"./govc: 16f85bc7-6374-43fc-9676-9cbe93074c43 not found: use 'disk.ls -R' to reconcile datastore inventory"

Then I tried "govc disk.ls -R" and got the same error message:
govc: 16f85bc7-6374-43fc-9676-9cbe93074c43 not found: use 'disk.ls -R' to reconcile datastore inventory

To Reproduce
Steps to reproduce the behavior:

  1. execute "govc disk.ls -k -ds vsanDatastore -R"

Expected behavior
The reconcile should work without any problem.

Affected version
govc version
govc 0.27.1

Screenshots/Debug Output
Verbose log:
"RetrieveProperties(propertyCollector, []types.PropertyFilterSpec)...
...group-d1 name: Datacenters

RetrieveProperties(propertyCollector, []types.PropertyFilterSpec)...
...datacenter-21 name: MU

RetrieveProperties(propertyCollector, []types.PropertyFilterSpec)...
...datacenter-21 datastoreFolder: Folder:group-s24
...datacenter-21 hostFolder: Folder:group-h23
...datacenter-21 name: MU
...datacenter-21 networkFolder: Folder:group-n25
...datacenter-21 vmFolder: Folder:group-v22

RetrieveProperties(propertyCollector, []types.PropertyFilterSpec)...
...group-s24 name: datastore
...group-s24 parent: Datacenter:datacenter-21
...datacenter-21 name: MU
...datacenter-21 parent: Folder:group-d1
...group-d1 name: Datacenters

RetrieveProperties(propertyCollector, []types.PropertyFilterSpec)...
...datastore-38 name: vsanDatastore
...datastore-158 name: LDvmu222
...datastore-51294 name: vsanDatastoreTest
...datastore-157 name: LDvmu223
...datastore-22754 name: VeeamBackup_BMU12.default.net

ReconcileDatastoreInventory_Task(VStorageObjectManager, Datastore:datastore-38)...
...task-4433174

CreatePropertyCollector(propertyCollector)...
...PropertyCollector:session[...]

CreateFilter(PropertyCollector:session[...], types.PropertyFilterSpec, false)...
...PropertyFilter:session[...]

WaitForUpdatesEx(PropertyCollector:session[...], , nil)...
...task-4433174 info: types.TaskInfo{
Key: "task-4433174",
Task: types.ManagedObjectReference{Type:"Task", Value:"task-4433174"},
Name: "ReconcileDatastoreInventory_Task",
DescriptionId: "vslm.vcenter.VStorageObjectManager.reconcileDatastoreInventory",
Entity: &types.ManagedObjectReference{Type:"HostSystem", Value:"host-47009"},
EntityName: "vmu295.bn.default.net",
State: "running",
Cancelled: false,
Cancelable: false,
Progress: 0,
Reason: &types.TaskReasonUser{
UserName: "xxxxx",
},
QueueTime: time.Now(),
StartTime: types.NewTime(time.Now()),
EventChainId: 260517094,
}

WaitForUpdatesEx(PropertyCollector:session[...], 1, nil)...
DestroyPropertyCollector(PropertyCollector:session[...])...
...void

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xb33a5a]

goroutine 1 [running]:
github.com/vmware/govmomi/govc/flags.(*verbose).updateSet(0xc0002761e0, 0x0, 0x196, 0x13ce301, 0x10e16a0)
/home/runner/work/govmomi/govmomi/govc/flags/debug.go:350 +0x3a
github.com/vmware/govmomi/govc/flags.(*verbose).RoundTrip(0xc0002761e0, 0x1580a80, 0xc0000320a0, 0x156e0a0, 0xc000405660, 0x156e0a0, 0xc000405680, 0x1, 0xc000405680)
/home/runner/work/govmomi/govmomi/govc/flags/debug.go:454 +0xa30
github.com/vmware/govmomi/vim25.(*Client).RoundTrip(0xc00013a580, 0x1580a80, 0xc0000320a0, 0x156e0a0, 0xc000405660, 0x156e0a0, 0xc000405680, 0x1, 0x0)
/home/runner/work/govmomi/govmomi/vim25/client.go:129 +0x82
github.com/vmware/govmomi/vim25/methods.WaitForUpdatesEx(0x1580a80, 0xc0000320a0, 0x156b820, 0xc00013a580, 0xc00040e6c0, 0xc000418048, 0x0, 0x0)
/home/runner/work/govmomi/govmomi/vim25/methods/methods.go:18179 +0xb8
github.com/vmware/govmomi/property.WaitForUpdates(0x1580a80, 0xc0000320a0, 0xc000251b60, 0xc000251a70, 0xc0002519d0, 0x0, 0x0)
/home/runner/work/govmomi/govmomi/property/wait.go:112 +0x4a5
github.com/vmware/govmomi/task.Wait(0x1580a80, 0xc0000320a0, 0xc0000adda8, 0x4, 0xc0000addd0, 0xc, 0xc000251b60, 0x0, 0x0, 0x0, ...)
/home/runner/work/govmomi/govmomi/task/wait.go:129 +0x2d2
github.com/vmware/govmomi/object.(*Task).WaitForResult(0xc000374380, 0x1580a80, 0xc0000320a0, 0xc000251d00, 0x1, 0x1, 0x1580a80, 0xc0000320a0, 0x156aee0)
/home/runner/work/govmomi/govmomi/object/task.go:57 +0x14a
github.com/vmware/govmomi/object.(*Task).Wait(...)
/home/runner/work/govmomi/govmomi/object/task.go:47
github.com/vmware/govmomi/govc/disk.(*ls).Run(0xc000040580, 0x1580a80, 0xc0000320a0, 0xc00007c780, 0x0, 0x0)
/home/runner/work/govmomi/govmomi/govc/disk/ls.go:140 +0xa5e
github.com/vmware/govmomi/govc/cli.Run(0xc000030080, 0x6, 0x6, 0xc000100058)
/home/runner/work/govmomi/govmomi/govc/cli/command.go:165 +0x605
main.main()
/home/runner/work/govmomi/govmomi/govc/main.go:105 +0x65"

Debug log:
debug.log

Additional context
Add any other context about the problem here.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 5, 2021

Howdy 🖐   burkhat ! Thank you for your interest in this project. We value your feedback and will respond soon.

If you want to contribute to this project, please make yourself familiar with the CONTRIBUTION guidelines.

@dougm
Copy link
Member

dougm commented Jan 13, 2022

I don't know why -R isn't working, do you know how the disk was created or used? We could change the error to a log message and/or add a flag to ignore it:

modified   govc/disk/ls.go
@@ -21,6 +21,7 @@ import (
 	"flag"
 	"fmt"
 	"io"
+	"log"
 	"strings"
 	"text/tabwriter"
 	"time"
@@ -169,7 +170,7 @@ func (cmd *ls) Run(ctx context.Context, f *flag.FlagSet) error {
 				fault := soap.ToSoapFault(err).Detail.Fault
 				if _, ok := fault.(types.NotFound); ok {
 					// The case when an FCD is deleted by something other than DeleteVStorageObject_Task, such as VM destroy
-					return fmt.Errorf("%s not found: use 'disk.ls -R' to reconcile datastore inventory", id)
+					log.Printf("%s not found: use 'disk.ls -R' to reconcile datastore inventory", id)
 				}
 			}
 			return fmt.Errorf("retrieve %q: %s", id, err)

@burkhat
Copy link
Author

burkhat commented Jan 13, 2022

@dougm Thanks for your reply, no I don't know anything about the disk also I couldn't find any information to this disk.
Maybe a flag would be a good solution ;) So I can list all disks.

@github-actions
Copy link
Contributor

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Mark as fresh by adding the comment /remove-lifecycle stale.

@burkhat
Copy link
Author

burkhat commented Apr 27, 2022

Any update if this will be implemented?

@github-actions
Copy link
Contributor

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Mark as fresh by adding the comment /remove-lifecycle stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants