ETS - How to generate a myhosts.json without installing SDL ETS

Context

I would like to upgrade our production SDL ETS environment, but would like to minimize the downtime due to license request. Is there a way to generate myhosts.json file for a new version of SDL ETS on a production server with older version of SDL ETS still running ?
 
Resolution
It is possible to extract the licenser component  from the new SDL ETS installer and run it on a existing production (to be upgraded) server to obtain new myhost.json file.

Step-by-step guide
  • Install the latest version of SDL ETS (or the version you want to upgrade to) on a test machine with the same Operating system of your target system.
  • Once SDL ETS is installed, retrieve the folder "bin" in the ETS folder

Linux                     Windows                                           Comment

/opt/sdl/ets/bin      C:\Program Files\SDL\SDL ETS\bin     "bin" folder location

 

 

  • This folder contains the tool "ets-licenser"
  • The folder also includes all the necessary libraries for SDL ETS - they will be required for the tool to work properly
  • Copy the "bin" folder from the test server to the target production machine somewhere to a temporary location
  • Open a command prompt and navigate to the "bin" folder in the temporary location
  • Execute the following command:

ets-licenser generate-profile --output=myhosts.json

  • Place a license request through SDL Customer Support Web Portal at https://gateway.sdl.com/ and provide the myhost.json file to SDL for each host. In your request please specify the language pairs installed on each machine and number of CPU cores the license needs in order to obtain the appropriate ETS licenses.

Note: The size of the "bin" folder on Windows is around 200 MB, but on Linux, it is around 1.4 GB. It can be reduced to 400 MB by remove the following libraries, not used by ets-licenser:

/bin/libafcuda.so.3 /bin/libafcpu.so.3 /bin/libafopencl.so.3

 

  • Since SDL ETS 8.2 the above workaround is no longer needed. 

    • Starting with ETS 8.2, customers can now upload their license file directly from the WebUI.
      • They don’t need to have it renamed sdl-ets.lic, it just need to be a .lic file
      • Upload is performed from “Manage”/”Deployment”/”Entitlements” – see the button “Upload License File” below.
    • If a customer is performing an upgrade of ETS on the same hardware, there is no need to wait for the new version to be installed to collect a new myhosts.json. It is possible to generate a license with a myhosts.json from a previous version (as long as the hardware has not changed). If using a previous myhosts.json, the Licensing Administrator just need to change the version of ETS in the Licenser, according to the version which is going to be installed.
      • This allows us to provide licenses in advance and reduce the amount of downtime for customers performing an upgrade.