Enterprise Modules uses an entitlements manager to check what subscriptions you have on what nodes. When you buy an entitlement, Enterprise Modules sends you an entitlements file. These files must be put on the Puppet master and be distributed to all agents.
To make this an easy process, we have created some helper classes to assist you.
Where to put the entitlement files
The best way to distribute the entitlements files to all nodes is to create a module called
em_license, create a directory
files, and put all of your entitlements files in there.
Let’s say, for example, that you have a default Puppet installation and are running in a production environment. The path for all the entitlements files would be:
How to enable license
When you are using an Enterprise Modules profiles module
When you are using any of our profile modules like
wls_profile, you don’t have to do anything anymore. The classes in the profile modules take care of fetching the entitlements and putting them in the right place.
When you are NOT using one of our profile modules
Before you can use our licensed modules, you have to ensure the entitlements the entitlement files are copied to all agents. It has to be done before any of the modules are applied. We have created a helper class to do this for you. Place this code somewhere “early” in your Puppet evaluation, for example, in your
include easy_type::license::activate # Required to distribute EM entitlement files
Now every agent in your environment will activate all entitlements in
Adding a new entitlement
Adding a new entitlement is as simple as just putting the new file in the
/etc/puppetlabs/code/production/modules/em_license directory. The
easy_type::license::activate will take care of the distribution.
By default, the
easy_type::license::activate class will copy all files from the main puppet server. If you want to use a specific server, you can set a value for hiera variable
If you want another directory and module name, both on the server and on the agent, you can use the variable
Here is an example of setting the properties to a different value:
easy_type::license::available::server: large_server easy_type::license::available::path: my_own_license_module
Please use the customizations with care.