Showing posts with label vmware. Show all posts
Showing posts with label vmware. Show all posts

Thursday, February 14

vCloud Director 5.1.1 properly signed certificates - step-by-step

First, have an own root certificate :) - see my old post on this.
Then, generate a branch of new certs with signing requests on the vCloud Director.
The trick is: there are at least 2 "keytool" commands on a vCD server, one from the OS default (God knows what version) and one from the vCD installation, that should be used by us. Please note, that the "keystore" command version changes with vCD versions (as JRE version changes with it too), and of course the command syntaxes change too...
So, generate 2 certificates and their signing requests on the vCD node:
  • /etc/init.d/vmware-vcd stop
  • cd /opt/vmware/vcloud-director
  • jre/bin/keytool -keystore certificates.ks -storetype JCEKS -storepass mypasswd -genkey -keyalg RSA -alias http -validity 3650
  • jre/bin/keytool -certreq -keystore certificates.ks -storetype JCEKS -storepass mypasswd -alias http -file http.csr
  • jre/bin/keytool -keystore certificates.ks -storetype JCEKS -storepass mypasswd -genkey -keyalg RSA -alias consoleproxy -validity 3650
  • jre/bin/keytool -certreq -keystore certificates.ks -storetype JCEKS -storepass mypasswd -alias consoleproxy -file consoleproxy.csr
The "alias" names are mandatory to the 2 vCD IPs. When keystore asks "What is your first and last name?" the answer should be the IP addresses resolvable FQDN - 2 different FQDNs for the 2 IPs.
Now, copy the 2 .csr files over your signing machine, where the root certificate AND it's key file resides.
Sign the 2 signing requests, thus generating signed certificates.
  • openssl x509 -req -in http.csr -CA myroot.crt -CAkey rui.key -CAcreateserial -out http.crt -days 3650
  • openssl x509 -req -in consoleproxy.csr -CA myroot.crt -CAkey rui.key -CAcreateserial -out consoleproxy.crt -days 3650
Now, copy over the 2 newly generated certificates and the root certificate (not it's key!) to the vCD node.
Then, we should import the root certificate and the 2 signed certificated into the keystore:
  • cd /opt/vmware/vcloud-director
  • jre/bin/keytool -importcert -storetype JCEKS -storepass mypasswd -keystore certificates.ks -file myroot.crt -alias root
  • jre/bin/keytool -importcert -storetype JCEKS -storepass mypasswd -keystore certificates.ks -file http.crt -alias http
  • jre/bin/keytool -importcert -storetype JCEKS -storepass mypasswd -keystore certificates.ks -file consoleproxy.crt -alias consoleproxy
  • You can check if the keystore is all right (should be) with: jre/bin/keytool -storetype JCEKS -storepass mypasswd -keystore certificates.ks -list
  • Then, reconfigure vCD: /opt/vmware/vcloud-director/bin/configure - the store now should be at /opt/vmware/vcloud-director/certificates.ks
  • And finally, start the service: /etc/init.d/vmware-vcd start
This should be all!

Monday, October 8

vCenter SQL and MSDB

Now, this is probably not new for most peeps. I just keep looking up this again and again, so here's a quickie.
vCenter MSSQL user requires permissions to the MSDB system database. It shall give you a misleading warning at install time if it doesn't get the rights:
See the VMware documentation for more info on this.
Also, Single Sign On service requires a user with Sysadmin privileges - see this documentation page.

Regards,

Monday, September 3

vCenter appliance 5.0u1 - certificate replacement - OpenSSL

This is just another piece of my OpenSSL headshot. I won't format it better, if you need this you can use it.
Been using this unsatisfactory kbthis forum post for reference.
This blog spot contains some of the information you can find here. Some differences though (he forgets to mention that the password for /usr/lib/vmware-vsphere-client/server/config/keystore is changeit for example)

vcVA stores it's certificates @ many different places:
  • /opt/vmware/etc/lighttpd/server.pem - The vami management interface's (port 5480) https certificate
  • /etc/vmware-vpx/ssl/ - VPX service's certificate (also TomCat), keys are stored here for SQL communication
  • /usr/lib/vmware-vpx/inventoryservice/ssl/ - Inventory service's certificate
  • /usr/lib/vmware-vsphere-client/server/config/keystore - Web Client's certificate
  • /etc/ssl/certs/ - Root CA PEMs, if needed
You can generate the required (unencrypted) rui.key & rui.crt from the previous article. Rui.pfx is regenerated by the appliance, so not really needed to care for.

It is slightly easier, if you haven't yet initialized the DB - the DB connection is using the rui.crt from vpxd, if it is already initialized it has to be changed in sms.keystore & sms.truststore :( .
That must be something secret, as nobody ever published any howto on it. I should have, but I'm just too lazy...

So, for the fresh install:
  1. # cp rui.* /usr/lib/vmware-vpx/inventoryservice/ssl/ - Inv. service's cert has to be replaced manually
  2. # vpxd_servicecfg eula accept - Or accept it on GUI, if you haven't
  3. Configure the database, for example the embedded can be initialised using:
    # vpxd_servicecfg db write embedded
  4. Change the certs for vpxd and vami:
    # vpxd_servicecfg certificate change rui.crt rui.key - This also changes the management GUI cert (concatenates the .key and .crt files into server.pem)
  5. Change the cert for Web Client:
    # cd  /usr/lib/vmware-vsphere-client/server/config/
    # mv keystore keystore.orig
    # /usr/lib/vmware-vpx/jre/bin/keytool -keystore keystore -importcert -file rui.crt -alias s2dmk -storetype JKS -storepass changeit - changeit is the default password for the keystore. Don't change it ;)
    # /usr/lib/vmware-vsphere-client/scripts/admin-cmd.sh unregister https://localhost:9443/vsphere-client localhost root vmware - vmware is the assumed root password.
    # /usr/lib/vmware-vsphere-client/scripts/admin-cmd.sh unregister https://FQDN:9443/vsphere-client localhost root vmware
     - Press A to Accept the certificate. Set FQDN, localhost might not work.
  6. (Re)Start the whole thing
    # /etc/init.d/vami-lighttp restart
    # /etc/init.d/vmware-vpxd start
    # /etc/init.d/vsphere-client restart
    Or just reboot.
You can check for any errors in /var/log/vmware/vpx/.
That's all, hope you don't mind...

Tuesday, July 31

Don't: Using vC SQL Express as View's Event database

Now this shall be used as demo/lab only. Express is a toy anyway.
I used vC 5.0 and View 5.1 - versions apply.
To use vCenter's stock installed SQL Express as the Events database of View, do the following steps:

  • Setup mixed mode authentication and a user/DB in the SQL Express:
    • Download & install SQL Server 2008 Management Studio Express on the VC. This blog post may help.
    • Login using Windows authentication.The server name can be "." or localhost...
    • Right-click on the top of the tree (SQL server), choose properties. Choose "SQL Server and Windows Authentication mode" on the Security tab. OK.
    • Open Securty/Logins in the tree. Right click on Logins, New Login.
    • Setup a new user. Make sure it's using SQL Server authentication.
    • Right-click on Databases. Create a New Database. It's owner should be the newly created user from above. You can now exit the whole thing.
  • Open SQL server configuration manager. Choose SQL Server Network Configuration. Click on Protocols for VIM_SQLEXP. Right-click on TCP/IP. Properties.
  • Make sure General is enabled on the Protocol tab (should be). Set enabled and active to yes on the IP (IP Addresses tab) that View will use to communicate. Clear out TCP dynamic ports setting everywhere - no 0 or anything in them. Set IPAll TCP Port to 1433. Apply & close.
  • Open TCP port 1433 on the firewall for connections, just in case ;)
  • Reboot or restart SQL and VC services by hand.
  • You can check the SQL is listening on TCP 1433 by issuing the command "netstat -an -p TCP" in a command prompt, and looking for the line "TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING"
After this, you can connect the Events database from the View administrator to this SQLe. You can check "%programdata%\VMware\VDM\logs" on the view server for any errors.

Friday, July 20

vCenter 5.0 & View 5.1 Certificate extravaganza - the OpenSSL way

With the release of View 5.1, VMware got strict on forcing people to be more secure. When installing 5.1, you have to make the view server fully trust in vCenter's own certificate, let it be a self signed or a real one. Now, getting a real certificate shouldn't be much trouble, or, if you are (or have) a demanding AD administrator, you should already have an own root certificate pushed by domain policies. In this case, you can quit reading this article.
If you don't have one, you could still make View to believe in vCenter's own certificate, accepting it's thumbprint.
For a more demanding solution, you could generate a root certificate (own CA), distribute it with an AD policy and chain vCenter's and View's certificates after it. That's more serious business.
We'll do this with OpenSSL now, of course MS CA services could be used as well.
  1. First, download OpenSSL (apt-get or yum it, or here it is for windows).
  2. Generate a new key file, this will be used everywhere: openssl genrsa -out rui.key 1024 - we don't encrypt it on purpose.
  3. Generate a new root certificate (CA): openssl req -new -x509 -extensions v3_ca -key rui.key -out myroot.crt -days 3650 -config openssl.cnf
  4. How do you make these things larger?
  5. Bind the generated root certificate (myroot.crt in the above example) to a Domain Policy. Put it in the  Trusted Root Certification Authorities container, to have it pushed to all domain member computers (see this MS TechNet article, this is called gpmc.msc). Use gpupdate after that for a policy refresh on Windows machines (even on the DC!). This makes our root CA to be trusted on all domain computers. You can use certmgr.msc on domain members to check if the push was successful.
After this step, you shall have a trusted, domain wide root CA for yourself. Now we should start making special certificates for vCenter, View & any other host that needs one. For vCenter (on Windows platform):
  1. Generate a new certificate request (there is a whole lot of material about vCenter & certificates on the web, see this kbor thiseven this excellent blog post collection): openssl req -new -key rui.key -out rui.csr -config openssl.cnf - Remember, Common Name wants to have the FQDN of the machine the certificate will be used on (i.e. vcenter1.yourdomain.com).
  2. (Optional) If you want to make it really choosy, you can create a new file (ext.txt) that tells OpenSSL,that this key will only be used for Server Authentication, has a CRL and can serve multiple domain names. The file shall include these lines:
    extendedKeyUsage=serverAuth - limit cert usage
    crlDistributionPoints=URI:<http://someserver/mycrl> - link to CRL
    subjectAltName=DNS:<FQDN1>,DNS:<FQDN2>,DNS:<etc> - aliases
    Please note that, that I did not create a CRL file, so if you want to use one, you'll have to dig yourself into the <openssl ca> commands.
  3. Sign the request with the Root CA: openssl x509 -req -in rui.csr -CA myroot.crt -CAkey rui.key -CAcreateserial -out rui.crt -days 3650 <-extfile ext.txt> - The last parameter is only required if step 2 was done.
  4. Export the signed vCenter certificate into PKCS12: openssl pkcs12 -export -in rui.crt -inkey rui.key -name rui -passout pass:testpassword -out rui.pfx - testpassword must be used, if you don't want to fall into the vpxd -p trap.
  5. Copy over the newly generated files rui.key, rui.crt & rui.pfx onto your vCenter's C:\ProgramData\VMware\VMware VirtualCenter\SSL directory. Back up the 3 files there before overwriting.
  6. On your vCenter, navigate to http://localhost/mob/?moid=vpxd-securitymanager&vmodl=1, login with a vC administrator, click reloadSslCertificate then Invoke Method. If you see Result: void, then you're done! Based on VMware KB #2009857.
Congratulations! You have a distributed CA and a vCenter that's using the cert chain.


As stated in VMware View 5.1 Installation guide on page 81, View will always try to check for revoked certs, and automatically won't trust any cert, that does not have a CRL linked or it's revocation URL can not be reached. To circumvent the extreme paranoid behaviour, there is a registry switch to turn this off (if you did not take the optional step, you'll need this).
Fire regedit on the View server, then create a string named "CertificateRevocationCheckType" under "HKLM\Software\VMware, Inc.\VMware VDM\Security" and set it's value to 1.
If you add your vCenter now, it's certificate shall be accepted without hassle.

But if you want to make View trust in itself (no red square on the dashboard for the connection servers in View Administrator), you still have to replace it's certificate too:
  1. Generate a request for the View cert: openssl req -new -key rui.key -out view.csr -config openssl.cnf. As before, use FQDN as the Common Name.
  2. (Optional) You can modify ext.txt if you created and used it as above.
  3. Sign the csr: openssl x509 -req -in view.csr -CA myroot.crt -CAkey rui.key -out view.crt -days 3650 <-extfile ext.txt>
  4. Export PKCS12: openssl pkcs12 -export -in view.crt -inkey rui.key -name vdm -passout pass: -out view.pfx
  5. From here, see the View 5.1 Install guide pg. 75-77. Digested below:
  6. Open the Local Computer Certificates on the View server. Run mmc, click on File->Add/Remove Snap-in..., click on Certificates, Add. Choose Computer Account->Next->Local Computer->Finish. Press OK.
  7. Expand Certificates->Personal->Certificates. You shall see View's default generated certificate here. First, right-click on it, choose Properties. Change it's Friendly name to something. Press OK.
  8. Right-click on the lower Certificates item, choose All-Tasks->Import...
  9. Browse for view.pfx. It's password shall be empty. Enable the Mark this key as exportable checkbox! Next-next-finish.
  10. The new key's Friendly name shall already be set to vdm, because of the PKCS12 export parameter -name, but double check it.
  11. Stop and start the VMware View Connection Server service (wait for all depending services to stop) or reboot the computer (it is a windows after all).
After login, another nice green square shall await you. What a reward...
If you gone this far, than you probably already hate SSL Certificates. At least I did. Sorry for the long post. Over & out.

Sunday, July 15

VMware View 5.1 - changing vCenter's address in the ADAM

So, if you have a View 5.1 (possibly upgraded from 4.x or 5.0) server, sometimes you are in the not-so-enviable position of having a vCenter registered by IP address, and unable to change it or remove it because of a certificate mismatch - you can't even validate a normal certificate for an IP. In this case, you can start deep diving into ADAM - The Active Directory Application Mode - the own embedded LDAP/AD service of View.
Here is where to change a registered vCenter's address inside View, without any impact on the pools, etc.
  • First, you have to stop all services of View on it's own server. These should be everything that starts with VMware View in services.msc:
  • See this VMware KB about how to connect to ADAM.
  • Choose OU=Properties -> OU=VirtualCenter in the tree.
  • There can be several Common Names at this point, all referring to the Virtual Centers that are connected to View.
  • Right click on any CN to investigate it's properties. The attribute named pae-VCURL holds the address of the particular vCenter, that View is using to reach it. You have to change it only here.
View keeps virtually everything in ADAM, so in rare cases you will have to hunt in it for a particular setting. I recommend reading this KB about orphaned linked clones too. Now it may look old, but who knows when you have to use it with 5.1?
Also, if you want to revoke your trust in this VC's self-signed cert, you can simply clear the pae-VCSslCertThumbprint & pae-VCSslCertThumbprintAlgorithm attributes. Use the clear button to revert them to  of course.
That is all, go and explore ADAM on your own. Don't forget to ruin some enterprise system also.

Tuesday, July 10

Get some Jeos!

JeOS is the abbreviation (pronounced "juice") for Just Enough Operating System as it applies to a software appliance (source: Wikipedia).
Jeos is an idea implemented by VMware to create even more compact purpose driven VMs. Although didn't got too mainstream, JeOS is available with VMware Studio since the 2.5 release.
See this VMware blog entry about the idea, or here you can find the not-so-complete documentation...
With this feature, you can create a RedHat or Centos based VM (either 32 or 64 bit) with an unbelievable size of 15 megs!
Okay, so we have space and memory in our servers, why should we create micro-sized VMs? Because wastefulness should be considered a sin in Cloud environments. And you may run hundreds of these if needed in the place of one bloatware VM - the VM that has every single package of it's OS in it, although it's only using Apache for example. Think about a grid computing example with on demand node provisioning...


Jeos is still experimental in Studio, and I'll be honest, I don't think it will develop too rapidly. It's just too complex to use for some peeps - most people won't bother to use it. Basically, after the build you got a stripped down Linux without most of it's daemons. This means you are on your own - you have to hunt down library dependencies one by one for your program, using strace or something. I really loved it all the time, it reminded me on developing embedded systems again...


A few helpful hints for Jeos in Studio 2.6:
  • DHCP is enabled by default in every JeOS VM. While I see the point in this, I consider it sometimes a bit unnecessary. To disable it (stop auto-starting it with the VM), you have to manually edit the file /opt/vmware/etc/jeos/default/initrd.xml and comment out line 102 on the Studio VM. Then the line shall look like # /bin/busybox udhcpc -b -s /etc/udhcp/node -i $iface - the # in the front makes it go away :) After this, building a JeOS VM won't imply using DHCP.
  • Also, the DHCP client service is bugged - it's name resolution won't work as expected. It has a typo in it's init script. Edit /opt/vmware/etc/jeos/busybox/node file to fix it. Line 68 should look like if [ -n "$RESOLV_CONF" ] instead of RESOLVE.CONF. See this forum post at communities.vmware.com.
  • /etc/inittab is generated when the "mkjeosvm" program is run at build time. If you want a custom inittab in your JeOS VM, you will have to edit Studio's /opt/vmware/etc/jeos/default/rootfs.xml. The inittab definition should start at about line 35.
  • mkjeosvm is a python script in /opt/vmware/bin. You can still hack it, if you want a different GRUB timeout for example. It's value is at #652.
  • Always make a backup before playing around with these files. It can hurt your building process or the built VM may have errors in it.
As always, no warranty, etc. Have fun!

Monday, September 19

Workstation 8 with Studio 2.5

...does work, with some assumptions. The new Workstation 8 literally merges the Server product-line (ex-GSX) with the Workstation product line, that's called VMware Workstation-Server service. It supports autostart features and finally a usable remote management interface, by using another workstation as client. It also supports the workstation as a client of ESXi5 or vSphere5, but that's off-topic now.
So, this server-service runs on Linux64 at my box, and I'm using it as a build-host for my Studio 2.5 projects. On WKS7, You had to run the Workstation with #/usr/bin/vmware all the time You wanted to run a VM. That called for a vncserver of course. Now, WKS8 supports running VMs as a service. The issue is: if You try to build a Studio VM, You still have to run the Workstation GUI (on the vncserver for example), otherwise the build will fail. This limitation will probably disappear in the next version of Studio. Also, old build VMs stay in the WKS library, even after deleting their files, this worked in WKS7 better.

Studio updater

I am playing with VMware Studio 2.5 now (great stuff btw), and seem I found a strange bug.
I am using Workstation 7 on Linux64 as the build host, and I try to create an update repository. It builds the VM, but when updating the repo the following error message appears in the build log:

Unable to create directory at manifest
; shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
pushd: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
mkdir: cannot create directory `manifest': No such file or directory
It only occurs, when I choose not to build the ZIP archive, only OV*. Should test it on WKS8, but I guess it's a Studio problem. More to come later.

Thursday, May 26

3D in Linux Workstation

The VMware Workstation on Linux does support 3D, however certain distributions (including Slack 13.37) does not ship with the S3 - now who remembers that company? - Texture Compression libraries, because of some licensing issues (see http://dri.freedesktop.org/wiki/S3TC). This occurs as an error message when running the VM "3D graphics acceleration will be disabled. This computer does not have a 3D graphics system supported by VMware Workstation.". In the VM's vmware.log file, in the same directory as the .vmx You should find some lines like "mks| VMGL: Extension missing, GL_EXT_texture_compression_s3tc", and "mks| GLManager: Required extension GL_EXT_texture_compression_s3tc is missing." and "mks| msg.glBackend.initFailed] 3D graphics acceleration will be disabled. This computer does not have a 3D graphics  system supported by VMware Workstation.". This means exactly as stated, You miss a .so file from You /usr/lib or /usr/lib64 respectively. You should just simply download the libtxc from the site above (direct link is http://cgit.freedesktop.org/~mareko/libtxc_dxtn/snapshot/libtxc_dxtn-1.0.1.zip), compile and place the .so in Your libs dir. That's all, next run, Windows 7 should enable Aero effects in Workstation on Linux!

Monday, May 2

KIES in Workstation

It is possible to run Samsung KIES (Galaxy family) in VMware Workstation on linux. You need to disable 3D acceleration in the vmx file (a black window occurs if it is enabled when starting KIES), and maybe some USB quirks from this forum post. Just a quickie, because the 3D disable thing is not obvious.

Friday, April 15

Bandwidth requirement of the Teradici HW Zeros

I was planning a View infrastructure based on HW Teradici clients, over WAN.
I found this document about the HW Tera clients, which is for PCoIP host cards and zeros, but it applies for zeros and View 4.6 too. The facts:
  • The minimum bandwidth for a Teradici based Zero (see previous post and list of devices) is about 1 Mbps. This is the "bandwidth floor" in the firmware settings. Using a Cisco 6500 we limited the effective bandwidth in Layer 2 for the device (Samsung NC190 and NC240, tested separately). We found out, that the client becomes "sluggish" at about 512 Kbps, and the whole session is unusable/unstable below 256 Kbps. This is not a limitation of PCoIP, because it is known to work at about 150 Kbps. It's probably a limitation of the TERA1x00 chip.
  • The maximum bandwidth usage as stated in the document above, is 220 Mbps. I can hardly believe that the device can use this much, but who knows. Watching HD video/audio on a dual 24" screen setup, while scanning and copying files over USB probably peaks way above 100 Mbps. The 220 Mpbs theoretical maximum is probably counted with 4 24" monitors daisy chained over 1 Tera chip, with HD audio and video streams and heavy USB usage.
  • The average usage that we observed while clicking MS word and such on the 24" (resolution counts bandwidth of course) was about 6-7 Mbps with a minimum usage just above 1 Mbps and maximum peaks at about 13.
Conclusion? The HW Tera devices are not fitted for low bandwidth situations, while they are probably the best technology if You happen to have enough bandwidth/device.
I will try out PCoIP software clients (Windows & HP's Linux one :)) in the near future with the same bandwidths.

Monday, April 11

The dark truth

Today we learned that Quickprep does not generate a new machine SID (Yes, it IS in the manual), so quickprep'ing 25 VM's won't activate a KMS server. Nice, I had to create a Sysprep'd pool just to trigger KMS...
The worse thing, that sometimes recomposing simply fails because of some kind of AD error etc.
If this happens, You've to manually clean out the failed VM. This is tricky, see http://kb.vmware.com/kb/1008658. You have to run a SviConfig -operation=removesviclone command on the view composer (vCenter) machine, and manually remove the ADAM CN from the View manager. This is done in ADSI edit, as stated in the KB above.
The trick is, sometimes this is not enough. Looks like the clone vanished, in AD Users and Computers mmc snap-in You don't see the incriminated computer's name, but View manager fails to create the VM again, because it still sees it in AD ("A computer with the name xxx already exists in Active Directory.") . Now, this happens when AD does not really delete the computer's account. To circumvent this, You manually recreate a computer account name with the same name as the VM, and delete it again...
Sorry, late night post.

Friday, April 8

The Linux PCoIP client from HP

There was some hassle about VMware's support for View client on Linux.
The official way to access View from linux is using view open client from http://code.google.com/p/vmware-view-open-client/. Now, this client does NOT support PCoIP, which is a major drawback.
You can access View using PCoIP from your Windows, iPad, or Teradici based device (I prefer Samsung's NC series, but the Wyse P20, the Dell FX100 etc are all the same. A complete list of devices using Teradici's HW is available here).
Android or iOS on the phone are not supported (yet). There is the Wyse PocketCloud, which is a great thing, but for RDP only.
So HP developed it's own version of View client for Linux, the code is probably heavily based on the open client (it uses the same interface, same config files/options...).
This software is for HP's thin clients with a kind of debian based firmware, but luckily it is a simple i386 .deb package.
One can easily download it from HP's site, and use it for his own dark purposes, as stated in this forum thread.
Currently, there is a View 4.5 based client in it, which works as charm with 4.6.
To download the archive, go to HP t5545 Thin Client support (search for the device on HP.com, then choose support), and download the link HP ThinPro Add-On (VMware View Broker) / 4.5.0-293049-1 Rev. A - 12 nov. 2010 - 5.2 Megs. The file is called sp50874.exe. Okay, for lazy people, it is here :) ftp://ftp.hp.com/pub/softpaq/sp50501-51000/sp50874.exe. It will extract a few files to C:\Program Files\Hewlett-Packard\HP ThinPro\3.2\Add-On\View45 by default. We will only need vmware-view-client_4.5.0-293049-1_i386.deb.
If you don't have dpkg (slackware ftw), then simply rename the .deb to whatever.ar, and ar x it. Then in the data.tar.gz you will find the required directory structure.
For 64biters: this will require 32 bit versions of libxml2.so.2 and libpixman-1.so.0, in /usr/lib.
To use USB redirection, there is postinst script in control.tar.gz, that will do the trick.

Tuesday, April 5

PCoIP Secure GW - this sh*t works

After some hassle, the new View 4.6 Secure Gateway finally works with PCoIP connections too.
The symptom was simple: PCoIP connections disconnected immediately, while RDP connections did work. I didn't find any log in C:\ProgramData\VMware\VDM\Logs that would hold any information about the disconnects, alll log entries were the same for the PCoIP and the RDP sessions.
I read markbenson's doc at the communities site, and found out that I forgot to check the checkbox on the view connection server administration site to enable the PCoIP on proxied (gateway'd) connections.
This one:

Now I only have 2 concerns.


In the Debug log there is a Java socket error, about some Tunnel IO problem. At first I thought it was some routing/firewall issue, because the SecGW is in a DMZ of course. I think this happens every time, when a client disconnects:
 DEBUG [ab] (4B412F31EACA3A955A8CDB2CBCC06EF6) Tunnel IO problem: java.io.IOException: Bad length com.vmware.vdi.ob.tunnelservice.ab.run(SourceFile:892)
java.io.IOException: Bad length
at simple.http.ChunkedInputStream.doLength(ChunkedInputStream.java:334)
at simple.http.ChunkedInputStream.nextChunk(ChunkedInputStream.java:266)
at simple.http.ChunkedInputStream.parseRead(ChunkedInputStream.java:250)
at simple.http.ChunkedInputStream.readBytes(ChunkedInputStream.java:181)
at simple.http.MonitoredInputStream.read(MonitoredInputStream.java:115)
at java.io.DataInputStream.read(DataInputStream.java:132)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at com.vmware.vdi.ob.tunnelservice.df.b(SourceFile:1022)
at com.vmware.vdi.ob.tunnelservice.ab.run(SourceFile:763)
at java.lang.Thread.run(Thread.java:619)
This could be anything from a bug in some java code to "working as intended" speeches.


My other thingie is interesting too. Even with 8GBs of RAM, the Security Gateway installation cries for more memory on Win2008R2 SecGW VM:


Of course I did not find any infomation in the View administration Guide regarding the sizing of security servers. Will look it through again sometime.

Monday, April 4

7.1.3 -> 7.1.4

Workstation 7.1.3 still requires the -I (Ignore scripting errors) to uninstall before installing 7.1.4. And 7.1.4 still requires to rm -rf /etc/vmware* before installing itself. Lame.
I don't think there is much slackware64 QA at VMware's.

Tuesday, March 22

Thinapp

3 options to know of in Package.ini (for win7 installs, 1 user per desktop, etc):


MSIDefaultInstallAllUsers=0
MSIRequireElevatedPrivileges=0
// This makes the currently logged on user to simply and silently install the msi
// Wow! This is 2 years old?
MSIStreaming=1 - see kb.vmware.com/kb/1028385

// With this you can create an MSI that allows steaming and full install too.

Also http://blogs.vmware.com/thinapp/msi/ is a nice source for info.
Cheers!

Monday, March 21

VMware View and Windows 7 WGA / WAT

Wow. I haven't write a single line since a few months. Been busy I guess.
So. Currently I am playing with View 4.6 (and some other things covered by NDA :))
The worst part about creating a windows pool currently is Windows Genuine Advantage or Windows Activation Technologies. You have basically 4 ways of getting an activated - Windows 7 - pool:
  • MAK - Multiple Activation Key. This Works, but You are slowly killing Your key counter every time You provision a new desktop.
  • KMS - Key Management Server. The preferred way both by MS and VMware. We'll see this one below.
  • OEM Image - With some BIOS hacks (I am not sure of this one), You probably can install a Win7 OEM that won't kill activation after a QuickPrep/Sysprep.
  • Some nicely "prepared" windows, for example with ChewWGA. We should not speak about this :)
About the KMS part. You have to install a KMS key on a Windows computer to use this. See MS Technet articles at http://technet.microsoft.com/en-us/library/ff793419.aspx. About it's not so rare faults, You can read at http://support.microsoft.com/kb/938450. There is a big limitation about KMS, that affects VMware View: You have to install/provision at least 25 Desktops (Vista or 7), to have the KMS activate them. The number of desktops waiting to be activated can be queried with slmgr.vbs -dli. This causes error 0xC004F038, the one I found most annoying. It means, that You don't (yet) have the required number of desktops (>=25), to have them activated by Your KMS service. If You try to just provision 10 for example using Quickprep, they will fail to leave Customizing state and enter Available state.
This happens, because QuickPrep, by default, tries to KMS activate after changing the SID, and will get into a 10 minutes retrying loop if slmgr service on the cloned desktop encounters the error mentioned above. If You provision at least 25 at once - first time speaking of course - this won't happen.
To circumvent this failure of QuickPrep, VMware distributed a Knowledge Base article: kb.vmware.com/kb/1026556. It says You can disable the KMS activation part of QuickPrep, and skip activation completely, or do MAK for the slowly killing thing. The windows will try to activate itself of course, but at least will be in available state in the View Manager. After You have this, You can KMS activate Office 2010 too, a nice howto is at blogs.technet.com. If You setup the KMS server to know about office too (1meg patch, here), it will work automatically.
That's all folks...

Thursday, May 27

7.1

Had to use vmware-installer -I -i vmware-workstation to remove the RC.
Then rm -rf /etc/vmware-installer to make the new one run.
The new release is 261024. Im courius if 3D got working on Linux host at last (it broke for me on 7.1 beta). This VMGL thing might earn a look-at.

Wednesday, May 5

VMware Workstation 7.1 RC out

As seen above.
One thing to note: After uninstalling the Beta, some installer database files remain in /etc/vmware*, which makes the new installer think of a false dependency (vmware-player e.x.p. requirement).
These files shall be deleted before a successful RC installation.
This happened to me on linux x64.