nvdarepo
Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x
- Puppet >= 6.21.0 < 8.0.0
- , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'visus-nvdarepo', '0.1.1'
Learn more about managing modules with a PuppetfileDocumentation
nvdarepo
The nvdarepo module installs NVIDIA repository sources that in turn enable the installation of CUDA tools and drivers via the package manager.
Table of Contents
- Description
- Setup – The basics of getting started with nvdarepo
- Usage – Configuration options and additional functionality
- Limitations – OS compatibility, etc.
- Development – Guide for contributing to the module
Description
This module installs the NVIDIA CUDA repository to RedHad-based systems, which provides packages for CUDA tooling, CUDA libraries and NVIDIA's proprietary drivers.
Setup
Setup Requirements
This module requires puppet-yum
being installed.
Beginning with nvdarepo
Just add include ndvarepo
to add all configured repositories at their default location.
Usage
Using include nvdarepo
should be sufficient to achive everything this module supports. Currently, only the CUDA repository is installed, which can be installed separately via include nvdarepo::cuda
to make sure that no other repositories get installed if additional ones are added in future version.
If the automatic computation of the repository properties does not work, it is best customising the behaviour of the module via Hiera. Most notably, the automatically computed repository URLs of the CUDA repository depend on the following parameters:
Name | Description | Default |
---|---|---|
nvdarepo::cuda::base_url |
The base URL where all OS-dependent subdirectories are located. | https://developer.download.nvidia.com/compute/cuda/repos |
nvdarepo::cuda::key_src |
The URL of NVIDIA's GPG key. | https://developer.download.nvidia.com/compute/cuda/repos/7fa2af80.pub |
nvdarepo::cuda::key_id |
The ID of NVIDIA's GPG key. | 0xF60F4B3D7FA2AF80 |
nvdarepo::cuda::version_field |
The OS version fact used to compose the repository URL. | major |
nvdarepo::cuda::distro_override |
Forces the specified distribution name instead of the OS name fact to be used in the repository URL. | rhel or fedora, respectively |
nvdarepo::cuda::repo_src_override |
Overrides the whole repository URL. Nothing will be computed automatically. | false |
Furthermore, the following parameters can be used to configure the local behaviour of the module, i.e. where the repository file is stored:
Name | Description | Default |
---|---|---|
nvdarepo::cuda::repo_dir |
The directory where the repository files are stored. | /etc/yum.repos.d |
nvdarepo::cuda::repo_ext |
The file name extension of the repostiry files. | .repo |
nvdarepo::cuda::repo_owner |
User name or ID of the owner of the repository file. | root |
nvdarepo::cuda::repo_group |
Group name or ID of the owning group of the repository file. | root |
nvdarepo::cuda::key_dir |
The directory where the GPG keys are stored. | /etc/pki/rpm-gpg |
nvdarepo::cuda::key_prefix |
A prefix that is prepended to the GPG key file. | RPM-GPG-KEY- |
Limitations
Only distributions listed in metadata.json
are supported.
Development
Open a pull request on GitHub.
Reference
Table of Contents
Classes
nvdarepo
: Installs NVIDIA package repositories.nvdarepo::cuda
: (Un-) Installs the NVIDIA CUDA repository.
Defined types
nvdarepo::repo
: (Un-) Installs a repository along with its GPG key.
Classes
nvdarepo
Installs all known NVIDIA repositories, which is at the moment only the CUDA repository which provides CUDA tools and appropriate drivers. This extra class is currently only there for future extensibility.
nvdarepo::cuda
This class basically does nothing but instantiating the nvdarepo::repo utility. Its main purpose is providing a class to which configuration data can be assigned via Hiera.
Parameters
The following parameters are available in the nvdarepo::cuda
class:
base_url
version_field
repo_src_override
distro_override
repo_dir
repo_ext
repo_owner
repo_group
key_id
key_src
key_dir
key_prefix
ensure
base_url
Data type: String
The base URL where NVIDIA's repositories are located. If no repo_src is provided, the module will construct the URL from this base URL using the known way NVIDIA is organising their server.
version_field
Data type: String
This parameter determines which of the version facts is used to automatically construct the URL of the repository. The parameter defaults to 'major', ie the major version of the distribution is used to construct the repository source.
repo_src_override
Data type: Variant[String, Boolean]
Overrides the generated URL of the repository file with the specified value. This parameter defaults to false, which indicates that the repository URL should be computed automatically.
Default value: false
distro_override
Data type: Variant[String, Boolean]
Overrides the name in the distribution for the purpose of generating the repository URL. This value is only used when repo_src_override is not set. The parameter defaults to false, which indicates that the OS name from Puppet facts is used in lower case.
Default value: false
repo_dir
Data type: String
The directory where to install the repository file, ie "/etc/yum.repos.d" for RedHat-based systems.
repo_ext
Data type: String
The extension of the repository file, typically ".repo".
repo_owner
Data type: Variant[String, Integer]
The name or UID of the owning user of the repository file.
repo_group
Data type: Variant[String, Integer]
The name or UID of the owning group of the repository file.
key_id
Data type: String
The ID of the GPG key used by the repository.
key_src
Data type: String
The URL of the GPG key to be installed.
key_dir
Data type: String
The directory where the key should be installed. This is only used on RedHat-based systems.
key_prefix
Data type: String
An additional prefix string that is added before the name of the key file. This is only used on RedHat-based systems.
ensure
Data type: String
Determines whether the repository should be present or absent. This defaults to "present".
Default value: present
Defined types
nvdarepo::repo
This is a utility type that is used by the nvdarepo class. It is not intended for direct use by end users. One main feature of the type is that it can compute the repository location based on the current layou of NVIDIA's server from the OS information provided by Puppet.
Parameters
The following parameters are available in the nvdarepo::repo
defined type:
base_url
version_field
repo_src_override
distro_override
repo_dir
repo_ext
repo_owner
repo_group
key_id
key_src
key_dir
key_prefix
ensure
base_url
Data type: String
The base URL where NVIDIA's repositories are located. If no repo_src is provided, the module will construct the URL from this base URL using the known way NVIDIA is organising their server.
version_field
Data type: String
This parameter determines which of the version facts is used to automatically construct the URL of the repository. The parameter defaults to 'major', ie the major version of the distribution is used to construct the repository source.
repo_src_override
Data type: Variant[String, Boolean]
Overrides the generated URL of the repository file with the specified value.
Default value: false
distro_override
Data type: Variant[String, Boolean]
Overrides the name in the distribution for the purpose of generating the repository URL. This value is only used when repo_src_override is not set.
Default value: false
repo_dir
Data type: String
The directory where to install the repository file, ie "/etc/yum.repos.d" for RedHat-based systems.
repo_ext
Data type: String
The extension of the repository file, typically ".repo".
repo_owner
Data type: Variant[String, Integer]
The name or UID of the owning user of the repository file.
repo_group
Data type: Variant[String, Integer]
The name or UID of the owning group of the repository file.
key_id
Data type: String
The ID of the GPG key used by the repository.
key_src
Data type: String
The URL of the GPG key to be installed.
key_dir
Data type: String
The directory where the key should be installed. This is only used on RedHat-based systems.
key_prefix
Data type: String
An additional prefix string that is added before the name of the key file. This is only used on RedHat-based systems and should be something like "RPM-GPG-KEY-".
ensure
Data type: String
Determines whether the repository should be present or absent. This defaults to "present".
Default value: present