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