Build Server Deployment using lmborrow
We would like a solution that enables a build server which invokes our licenced compiler multiple times over an extended period of time to reserve a licence before it starts and return the licence upon completion.
- Option one is to simply invoke the compiler and verify whether we obtained a licence; and wrap this in a retry loop. However this has the downside that the server might lose the licence during the build process if the time between invocations exceeds the ‘linger’ time.
- Option two is to use lmborrow – however this does not actually reserve the licence until the compiler is invoked. We would really like an atomic operation that will request a licence and simply wait on the server for that server?
- Second issue with lmborrow is that the duration is a bit non-deterministic, so we would like to “borrow” for a significant time period and then “return” the licence on completion. However the documentation states that supporting ‘return’ depends on whether this permitted by the provider. From our testing, ‘return’ does not seem to be enabled but we cannot see in the documentation how to enable it.
@abhilash , in the lsvendor.c file (under machind folder), there is an attribute "ls_borrow_return_early" which needs to be set as "1" to allow an early borrow return i.e. before its expiration.
Details about this attribute is mentioned under "Programming Reference for License File–Based Licensing" with Chapter-5 : 'Customizing the Vendor Daemon'.
You should contact the provider of your licensed compiler product about support for early return of a borrowed license.
This forum is meant for software producers using FlexNet Publisher to add licensing to their products.
Your question as an end user of a Flex-enabled product may find an answer here but it is less likely to be monitored by anyone with that type of experience.
I suggest you post your question to the FlexNet Manager discussion which is viewed by other end customers that may have similar experience and knowledge to share as yourself.