Continuous Integration

cancel
Showing results for 
Search instead for 
Did you mean: 

Licensing LabVIEW and VDM over multiple VMs and docker containers

Solved!
Go to solution

Hi forums,

 

I'm posting to gauge what is the best practice for licensing LabVIEW and Vision Development Module on multiple Jenkins build agents (VMs) and docker containers. Does anyone have any experience with this?

I am aware of the LabVIEW CI/CD license but this does not cover Vision Development Module.

 

Should I use a computer based non-concurrent license? Do I need to purchase separate licenses for each VM? for each docker container?

What kind of set up are people running right now?

 

See below image for our planned setup (our current setup is this just without the docker containers).

 

AudioVideoDisco_0-1665524298744.png

 

Can the docker containers use the same license as the machine they are running on?

 

Honestly licensing is a huge pain for us right now and NI really haven't been much help in providing guidance on licensing for this scenario so I'm hoping the forums can provide better assistance.

 

Cheers,

 

~P

0 Kudos
Message 1 of 21
(4,881 Views)

NI removed the need for the CI/CD license back in 2021.  The NI EULA states you can use an additional copy of your software to use on a CI/CD machine (its being used in an automated way, not as an additional development computer).

 

There are also several resources where the APIs for both the installation and activation are documented.  I recommend the following.  That said, can you share any query terms or searches you used to try and find information related to what you need to be able to do?  I'm trying to make some of these scenarios much easier to find information for and knowing how people are trying to find it will make it easier for me to understand what I need to change to make content easier to find.  Also, if you still have questions about things after reading these, please email me directly (eric.reffett@ni.com). 

 

Some references:

Eric Reffett | Director, Product Management | 1.512.683.8165 | ni.com
0 Kudos
Message 2 of 21
(4,838 Views)

Hi Eric,

 

Thanks for the prompt response and for the links. I had found these links in my research and this is essentially what I expected although I couldn't find any examples of licensing LabVIEW in these scenarios (multiple VMs, containers etc.). I did ping NI support about this but struggled to get concrete answers.

 

So to confirm, if we have 6 development licenses for LabVIEW Pro + VDM then we can run 6 VMs for CI/CD using these same licenses?

How can I manage this in my VLA?

 

I think what the NI website is lacking is clear examples of licensing for CI/CD - for scenarios using VMs, docker, ansible, licensing LabVIEW and toolkits (e.g. VDM) in a Volume License Agreement.

 

Cheers,

 

~P

0 Kudos
Message 3 of 21
(4,802 Views)

@AudioVideoDisco 

 

In that last link, it describes what you need to do: https://www.ni.com/en-us/support/documentation/supplemental/21/labview-licensing-for-continuous-inte...

 

"In order to do this, add NI Part Number “786474-35” to your VLA. This is the “LabVIEW Continuous Integration System for VLAs”. This part number is free to add to your VLA and gives you a license of LabVIEW to use for your CI/CD build machine"

 

In the volume cases (VLA, EA) you assign licenses from your license file to users/machines.  If you don't request these licenses, then you have to assign developer seats to those CI machines.  If you don't have these “LabVIEW Continuous Integration System for VLAs” included in your Volume License Agreement with NI, you can email "services@ni.com" to request them be added to your contract file.  They will likely need your Contract ID Number or other information in order to identify your current license agreement, correctly modify it, and return it to you with the new licenses added.

Eric Reffett | Director, Product Management | 1.512.683.8165 | ni.com
0 Kudos
Message 4 of 21
(4,779 Views)

Sorry.  Your link suggests this capability is already included with EA licensing (particularly speaking of the Control Test Plus Bundle).  Is this correct?  If so, how do you license for CI/CD in the VLM?

0 Kudos
Message 5 of 21
(4,766 Views)

@AudioVideoDisco wrote:

 

So to confirm, if we have 6 development licenses for LabVIEW Pro + VDM then we can run 6 VMs for CI/CD using these same licenses?

How can I manage this in my VLA?


Let me rephrase this:

Do I need to buy 6 extra licenses for Vision Development Module or can I double up my developer licenses to license the build agent while keeping them in use for development purposes?

Is this covered under the new EULA or would I be going outside of the terms of the license by doing this?

0 Kudos
Message 6 of 21
(4,761 Views)

Also, does this give access to development or debug licensing?

Message 7 of 21
(4,750 Views)

@AudioVideoDisco wrote:

@AudioVideoDisco wrote:

 

So to confirm, if we have 6 development licenses for LabVIEW Pro + VDM then we can run 6 VMs for CI/CD using these same licenses?

How can I manage this in my VLA?


Let me rephrase this:

Do I need to buy 6 extra licenses for Vision Development Module or can I double up my developer licenses to license the build agent while keeping them in use for development purposes?

Is this covered under the new EULA or would I be going outside of the terms of the license by doing this?


The license (Addendum F - Product-Specific Provisions) specifically only names LabVIEW (i.e. not VDM) for continuous integration... but I'd be interested to know if this is intended or not. It also enumerates one additional computer, but it isn't clear if that's one per dev license (looks like from the text to me), or not (somewhat implied by the comments on network devices, shared CI server, etc).


License text (reformatted to deal with copy-pasting line breaks etc):

 

Spoiler
LabVIEW
If you have acquired a LabVIEW development license, you may install the LabVIEW software on one additional computer in your workplace and use the continuous integration activities of automated testing,
automated validation, automated review, and automated build processes and any steps that are necessary in the pursuit and setup of these activities solely for the building and testing code developed using the LabVIEW software. In no event may you use the Software on this additional computer for development, with the exception of debugging the automation of continuous integration activities. The additional computer may be a network device that makes software accessible to multiple users, provided that each user must have its own license to LabVIEW and that each user only uses the  software on the additional computer for the code building and testing purposes permitted in this paragraph.

This also doesn't describe how to best license N Docker containers (not images) for parallel builds etc...

Eric's previous comment:

In the volume cases (VLA, EA) you assign licenses from your license file to users/machines.  If you don't request these licenses, then you have to assign developer seats to those CI machines.  If you don't have these “LabVIEW Continuous Integration System for VLAs” included in your Volume License Agreement with NI, you can email "services@ni.com" to request them be added to your contract file.  They will likely need your Contract ID Number or other information in order to identify your current license agreement, correctly modify it, and return it to you with the new licenses added.

seems to me (but obviously, you should clarify with him or services@ni.com) to indicate that you need one license adding per device, but that you might be able to ask for multiple (CI) licenses adding to your VLA based on your situation (i.e. number of build agents/whatever) (I'd guess YMMV...). On the other hand, reading the last link in Eric's post (https://www.ni.com/en-us/support/documentation/supplemental/21/labview-licensing-for-continuous-inte...)

 

has this at the bottom:

VLAs count the development licenses of LabVIEW in use; adding this part number ensures that you don’t have to use any of your LabVIEW development licenses for those CI/CD workflows.

 

so perhaps the CI VLA license is uncounted?


GCentral
Message 8 of 21
(4,707 Views)

@Hansel wrote:

Also, does this give access to development or debug licensing?


Not a lawyer, but see the spoiler text in my previous message - pretty sure it does not.


GCentral
0 Kudos
Message 9 of 21
(4,702 Views)

@Hansel - if you don't see this line in your VLA license assignment list, you need to follow the steps above to have it added to your license file so you can assign the licenses to your CI machines.

 

  • "LabVIEW Continuous Integration System for VLAs"

 

 

Eric Reffett | Director, Product Management | 1.512.683.8165 | ni.com
0 Kudos
Message 10 of 21
(4,681 Views)