A Confused Programmer's Blog

This blog is dedicated to C# and Java programming that I happen to do for living – with accent on curious cases and with sincere intent to make the world of coding a slightly better place as a result

Bypassing EULA step for Virtual Appliances

We are working on automated testing of virtual appliance. This appliance has a EULA which blocks all services from starting before accepted at first. There are separate ways to solve or workaround this obstacle:

  • Edit OVF and MF files to erase the EULA section and to update the signature.
  • Redirect console output and input to the SSH session and to accept it with SSH client.
  • Use 3rd party products, like OvfTool which can deploy appliance from command line with EULA acceptance.
  • Implement EULA acceptance option when connecting to vCenter API and using ImportVApp.

Solutions #1 and #3 seemed too dirty and we did not manage to make solutions #2 and #4 work. So, we went with an alternative approach. The basic concept is that upon EULA acceptance, the event needs to be registered at the persistent storage, so that EULA is not displayed during subsequent boots. So, we accepted EULA and ran command which displays files that were changed recently (something like, find . -mmin -5). After some digging, we found the relevant code in /opt/vmware/share/vami/vami_ovf_process, function ignoreEula(). The trick is to change the code to make this function return zero always. This will eliminate EULA appearance.

Comments are closed.

Subscribe to email feed

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

REST Assured and une

If you stumbled onto this article, it is safe to ...

Getting rid of Error

Since I upgraded my Windows 8 to Windows 10, I ...

Bypassing EULA step

We are working on automated testing of virtual appliance. This appliance ...

How I got rid of "Ac

OVF is a VMware virtual appliance format which allows you ...

My use-case of Perfo

In my blog I am set on a mission to ...

Twitter updates

RSS not configured