VMware Horizon Community
mobcdi
Enthusiast
Enthusiast
Jump to solution

View 4.6 Check out fails with internal error after 1%

I have a pool with the following properties

  • dedicated assignment
  • vCenter linked clone
  • Parent VM called VDITemplate (windows XP SP3 with view client agent,the same vm and snapshot is the bases for other non local pools)
  • enabled and provisioned
  • display protocol is PCoIP
  • Users cannot reset their desktops

Transport Server & Repository

The base image used by view composer has been published to the repository

The transport server is on the same esx host as vCenter and the broker vms

Checking out Desktop

When an entitled user tried to check out a desktop from the pool, it suggests a location to save the vm but errors out after 1% with the last message before erroring mentioning releasing disk. The error msg just says Internal Error.

Post Error State

The view client lists the desktop as "Unavailable - Checked out to another user or machine" and the only option available to the user is to roll back

The View Administrator lists the desktop state as "Checking out" and a local session duration of 15057 days

Recover Desktop

The only way I can find to release the desktop back is to delete it and let composer re-create it, having the user roll back doesn't seem to have any effect.

My Query

I'm sure its a small thing I've missed but does anyone have any ideas why the check-out fails and how I can

  1. Complete the check-out
  2. Recover the locked desktop without deleting it

Does local mode need a powered off vm because that seems to be the 1 the user gets allocated ?

Reply
0 Kudos
1 Solution

Accepted Solutions
npeter
Expert
Expert
Jump to solution

Hi,

From the logs it looks like the user account used for addding vc to view connection server doesn't have enough permissions

>2011-03-29 11:05:27,196 ERROR <PendingOperation-vm-681> [ServiceConnection25] Error while adding custom fields: [View Local Mode Status, VM Lock Status] for mo type: VirtualMachine com.vmware.vdi.vcsupport25.ServiceConnection25.addCustomFieldNames(SourceFile:1591)

Please make sure following privileges are given to user at respective levels.

(complete privilege info can be seen at View 4.6 installation guide page 56)

Local Mode Privileges Required for the vCenter Server User


------------------------------------------------------------------------------

To manage desktops that are used in local mode, the vCenter Server user must have privileges in addition to
those required to support View Manager and View Composer. Create a Local Mode Administrator role for the
vCenter Server user that combines the View Manager privileges, View Composer privileges, and local mode
privileges.
Table 5-9. Local Mode Privileges


Privilege Group            Privileges to Enable
Global                       Set custom attribute
Host                          In Configuration:System management

-noble

-nObLe

View solution in original post

Reply
0 Kudos
18 Replies
admin
Immortal
Immortal
Jump to solution

Have you published the VM to the Transport Server? you can do it during the creation of a pool or later on. Do you have any firewall betwenn your components?

Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

I hadn't (assumed View would handle moving it to transport server and onwards)

If I select any of the available desktops in the pool and choose publish it just shows an empty list where I am supposed to check the image to publish. Its the same for the "checked out" desktop that failed after 1%

There are standard win2008 firewalls on transport and broker servers

Transport Server has inbound http and https permissions but none outbound

Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

I generated the logs on the connection server and in the vdm logs there is an entry about "Error while adding custom fields:" as part of the check out process

The viewComposer Role doesn't have the "Manage Custom Attributes" privileges or does the error above relate to AD based fields

Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

The OS (x64 Win7) running the view client with local mode's event log also fills up with MVDI::GetNumberOfOfflineDesktops: could not get broker bag for  'Connection Broker' but also earlier in the Application Log there are warning entries (oldest to newest)

OVDIRemoveAllFromReplicationManager: removing all desktops from replication manager

OVDIRemoveAllFromReplicationManagerDone: finished removing all desktops from replication manager

HostDeviceInfo_FindHostDisks: CreateFile \\.\PhysicalDrive0 failed: Access is denied

HostDeviceInfo_FindHostDisks: CreateFile \\.\PhysicalDrive1 failed: Access is denied

HostDeviceInfo_FindHostDisks: CreateFile \\.\PhysicalDrive2 failed: Access is denied

HostDeviceInfo_FindHostDisks: CreateFile \\.\PhysicalDrive3 failed: Access is denied

cui::ScheduleCallback is not initialized.

Failed to notify existing client instance

Could it be a local permissions issue?

Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

I tried saving the local desktop to a different folder but that didn't solve the problem. The events db lists Local Mode Operation BeginCheckout failed for Desktop CDILocal-01, ID: CDIPool3.  Error message: failed to checkout desktop message: com.vmware.vdi.desktoptracker.MVDIOperationControl$MVDIOperationException: Internal error.

The view client lists the desktop "Unavailable - Checked out to another user or machine"

Could the problem be on the

  1. view desktop I was trying to check out
  2. the view client that will be running checked out
  3. the connection server
  4. the transfer server
  5. Somewhere else
Reply
0 Kudos
npeter
Expert
Expert
Jump to solution

Hi,

I think You are missing some steps in between like publishing the images. can you go through the Local mode topics on view Admin guide (page 217)

especially page 230 about linked clones and try again. www.vmware.com/pdf/view-46-administration.pdf

Also try checking out a manual desktop first.

-noble

-nObLe
Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

Hi

I went through the view admin guide again and checked the vCenter roles and privileges but couldn't see anything missing. I also tried to manually check out a desktop by copying the base image from the transfer repository server over to the view client destination and then check out the desktop through the client and point it to the copied image but that also failed.

The template used as the base image is located on a different esx host to the transfer server but the transfer server is on the same host as the composer desktops  and the base image has been published to the transfer server

Whats the best way to get more details on this internal error message and at least narrow my search down?

Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

I deleted the pool and started again but this time created 2 pools (1 composed and 1 full vm). I also re-published the composer base image to the repository

The source template & snapshot for both pools is located on the same esx host and data store as the transfer server and the local mode desktops but both attempted check outs fail after a few seconds

Reply
0 Kudos
npeter
Expert
Expert
Jump to solution

can you post the view connection server debug logs? It is located under c:\programdata\VMware\VDM\logs\ for 2008 windows machines or under c:\documents and setting... \All users\application data\vmware\vdm\logs for a 2003 machine.

-noble

-nObLe
Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

Pool4 is linked clones

Pool4 is vCenter full vm's from template

Reply
0 Kudos
npeter
Expert
Expert
Jump to solution

Hi,

From the logs it looks like the user account used for addding vc to view connection server doesn't have enough permissions

>2011-03-29 11:05:27,196 ERROR <PendingOperation-vm-681> [ServiceConnection25] Error while adding custom fields: [View Local Mode Status, VM Lock Status] for mo type: VirtualMachine com.vmware.vdi.vcsupport25.ServiceConnection25.addCustomFieldNames(SourceFile:1591)

Please make sure following privileges are given to user at respective levels.

(complete privilege info can be seen at View 4.6 installation guide page 56)

Local Mode Privileges Required for the vCenter Server User


------------------------------------------------------------------------------

To manage desktops that are used in local mode, the vCenter Server user must have privileges in addition to
those required to support View Manager and View Composer. Create a Local Mode Administrator role for the
vCenter Server user that combines the View Manager privileges, View Composer privileges, and local mode
privileges.
Table 5-9. Local Mode Privileges


Privilege Group            Privileges to Enable
Global                       Set custom attribute
Host                          In Configuration:System management

-noble

-nObLe
Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

I have those privileges assigned to the ViewComposer Role of which the Composer account is a member.

Could the error refer to AD fields as opposed to vCenter attributes?

Reply
0 Kudos
npeter
Expert
Expert
Jump to solution

Hi,

No, this error is about adding new attributes to vm

>I have those privileges assigned to the ViewComposer Role of which the Composer account is a member.

These three privileges described in installation guide are cumulative. where the base one is View Manager Privileges next one is View Manager Privileges and the top one is Local Mode Privileges. These privileges has to be given to user account depending on requirement.

Please try this

Assign all the privileges required for view management + view composer operations + local mode operations to a single user

Use the this user account to add vcenter to view connection server,

create a pool with this user account,

publish it and perform a checkout.

-noble

-nObLe
mobcdi
Enthusiast
Enthusiast
Jump to solution

Hi npeter

I deleted the pool, deleted the image in the transfer server. moved the template for the desktops to the same host as the transfer server (just in case) and deleted old snapshots so there was only 1 snapshot on the template to reference

I then switched accounts to an admin level and after a few problems re-connecting vCenter ( i had to connect with the ViewAccount I created earlier and switch bacn to the admin level once connected) I was back in View 4.6 with connection broker and vCenter connected.

I created a composer based pool and entitled the admin account to access it but when it came to publish the image to the transfer server the base image didn't show up either via the repository screen or going to the pool -> inventory -> view composer- publish. I tried restarting connection broker and transfer server but no use and I couldn't checkout a composed desktop from the client either as i got the error message "View failed to start the package transfer"

To progress my case I created a new pool for a full (non composed) vm's based on the same template and entitled the same admin user to the pool. This time the checkout progressed to completion and i am able to log in locally to a view desktop

While the checkout process was occuring I get notice the tasks list in vCenter Client set virtual machine custom values but I can't see where in my View Composer specific role with local mode I am missing the necessary permissions. The role was created at VC level and propogated down

Do you see where I am missing or is it possible my settings are not getting applied correctly?

ViewComposerRole

  • Datastore
    • Allocate space
    • Browse datastore
    • Low level file Operations
  • Folder
    • Create Folder
    • Move Folder
  • Global
    • Disable methods
    • Enable methods
    • Set custom attribute
    • System tag
  • Host -> Configuration
    • System Management
  • Network
    • Assign network
    • Configure
    • Move network
    • Remove
  • Resources
    • Assign virtual machine to resoruce pool
  • Virtual Machine -> Configuration
    • All options selected
  • Virtual Machine -> Interaction
    • Power Off
    • Power On
    • Reset
    • Suspend
  • Virtual Machine -> Inventory
    • All options selected
  • Virtual Machine -> Provisioning
    • Allow disk access
    • Clone virtual machine
    • Customize
    • Deploy Template
    • Read customization specifications
  • Virtual Machine -> State
    • Create snapshot
    • Remove snapshot
    • Rename snapshot
    • revert to snapshot
Reply
0 Kudos
npeter
Expert
Expert
Jump to solution

Hi,

I guess you were able to checkout a manual pool desktop successfuly but couldn't check out a linked clone desktop since image was not showing up to publish.

can you check the linked clone pool is of dedicated assignment. Only dedicated pools can be published and checked out.

I think privileges given are fine, also you were able to chekout the manual pool VM.

-noble

-nObLe
Reply
0 Kudos
mobcdi
Enthusiast
Enthusiast
Jump to solution

User assignment is set to dedicated and automatic. I have posted to another discussion about the transfer server so maybe its best to keep it all on that thread  http://communities.vmware.com/thread/291947

Reply
0 Kudos
Zsoldier
Expert
Expert
Jump to solution

I might be a little late to the party, but the one permission you are missing in your role is the "Manage Custom Attributes" right.

Global

  • Disable methods
  • Enable methods
  • Manage custom attributes
  • Set custom attribute
  • System tag

I didn't realize this same issue until I started to play w/ 'local mode' pools.

I'm a little curious on the need for the Role to have "System Management" Rights, I'll probably check that out later to see what it's doing.

Chris Nakagaki (中垣浩一)
Blog: https://tech.zsoldier.com
Twitter: @zsoldier
mobcdi
Enthusiast
Enthusiast
Jump to solution

Indeed I was, thanks for catching that

Reply
0 Kudos