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, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x
- Puppet >= 6.0.0 < 8.0.0
- ,
Start using this module
Add this module to your Puppetfile:
mod 'treydock-beegfs', '0.2.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-module-beegfs
Table of Contents
- Overview
- Usage - Configuration options
- Reference - Parameter and detailed reference to all options
- Limitations - OS compatibility, etc.
- TODO
- Additional Information
Overview
This module manages BeeGFS servers and clients.
BeeGFS Compatibility
This module is only supported on the following releases of BeeGFS:
- 7.1.x
Usage
beegfs
The following examples are done using Hiera. The basic usage for a profile class would be the following:
include beegfs
The majority of configurations to BeeGFS module can be done in a file like common.yaml
with only the role Boolean values being changed for specific hosts.
The following example defines to isntall BeeGFS release 7.1 as well necessary flags to use Mellanox OFED.
beegfs::release: '7.1'
beegfs::version: present
beegfs::mgmtd_host: beegfs-mds1.infra.osc.edu
beegfs::client_build_args: '-j8 BEEGFS_OPENTK_IBVERBS=1 OFED_INCLUDE_PATH=/usr/src/ofa_kernel/default/include/'
beegfs::mgmtd_store_directory: /data/beegfs/mgmtd
beegfs::meta_store_directory: /data/beegfs/meta
beegfs::storage_store_directory: /data/beegfs/storage
beegfs::client_mount_path: /mnt/beegfs
The following example is a host running Mgmtd, Metadata and Admon daemons:
beegfs::admon: true
beegfs::mgmtd: true
beegfs::meta: true
The following example is a host running Storage daemon:
beegfs::storage: true
Each BeeGFS role supports defining additional configurations for their respective config files:
beegfs::mgmtd_config_overrides:
storeAllowFirstRunInit: 'false'
beegfs::meta_config_overrides:
storeAllowFirstRunInit: 'false'
beegfs::storage_config_overrides:
storeAllowFirstRunInit: 'false'
Reference
http://treydock.github.io/puppet-module-beegfs/
Facts
beegfs_version
This Facter fact can be used to determine the installed version of the BeeGFS components.
This fact gets the version by querying the beegfs-common package which is installed by all the BeeGFS roles.
Limitations
This module has been tested on:
- RedHat/CentOS 7 x86_64
TODO
- Refacter the roles to use a shared defined resource to reduce on the amount of duplicate module code
- Add support for BeeGFS Multi-mode
Additional Information
Reference
Table of Contents
Classes
Public Classes
beegfs
: Manage BeeGFS
Private Classes
beegfs::admon
beegfs::admon::config
beegfs::admon::install
beegfs::admon::service
beegfs::client
beegfs::client::config
beegfs::client::install
beegfs::client::service
beegfs::defaults
beegfs::install
beegfs::meta
beegfs::meta::config
beegfs::meta::install
beegfs::meta::service
beegfs::mgmtd
beegfs::mgmtd::config
beegfs::mgmtd::install
beegfs::mgmtd::service
beegfs::params
beegfs::repo
beegfs::storage
beegfs::storage::config
beegfs::storage::install
beegfs::storage::service
Classes
beegfs
Manage BeeGFS
Examples
include beegfs
Parameters
The following parameters are available in the beegfs
class:
client
mgmtd
meta
storage
admon
utils_only
customer_login
release
version
repo_descr
repo_baseurl
repo_gpgkey
repo_gpgcheck
repo_enabled
client_package_dependencies
manage_client_dependencies
mgmtd_host
conn_port_shift
client_conn_interfaces
client_conn_interfaces_file
mgmtd_conn_interfaces
mgmtd_conn_interfaces_file
meta_conn_interfaces
meta_conn_interfaces_file
storage_conn_interfaces
storage_conn_interfaces_file
admon_conn_interfaces
admon_conn_interfaces_file
client_conn_net_filters
client_conn_net_filter_file
mgmtd_conn_net_filters
mgmtd_conn_net_filter_file
meta_conn_net_filters
meta_conn_net_filter_file
storage_conn_net_filters
storage_conn_net_filter_file
admon_conn_net_filters
admon_conn_net_filter_file
conn_tcp_only_filters
conn_tcp_only_filter_file
ib_package
with_rdma
client_mount_path
manage_client_mount_path
client_build_args
client_build_enabled
client_config_overrides
helperd_config_overrides
client_package
helperd_package
utils_package
client_manage_service
client_service_name
helperd_service_name
client_service_ensure
client_service_enable
client_service_autorestart
mgmtd_store_directory
mgmtd_config_overrides
mgmtd_package
mgmtd_manage_service
mgmtd_service_name
mgmtd_service_ensure
mgmtd_service_enable
mgmtd_service_autorestart
meta_store_directory
meta_config_overrides
meta_package
meta_manage_service
meta_service_name
meta_service_ensure
meta_service_enable
meta_service_autorestart
storage_store_directory
storage_config_overrides
storage_package
storage_manage_service
storage_service_name
storage_service_ensure
storage_service_enable
storage_service_autorestart
admon_database_file_dir
admon_config_overrides
admon_package
admon_manage_service
admon_service_name
admon_service_ensure
admon_service_enable
admon_service_autorestart
client
Data type: Boolean
Boolean that determines if managing BeeGFS client components
Default value: true
mgmtd
Data type: Boolean
Boolean that determines if managing BeeGFS Mgmtd components
Default value: false
meta
Data type: Boolean
Boolean that determines if managing BeeGFS Meta components
Default value: false
storage
Data type: Boolean
Boolean that determines if managing BeeGFS Storage components
Default value: false
admon
Data type: Boolean
Boolean that determines if managing BeeGFS Admon components
Default value: false
utils_only
Data type: Boolean
Boolean that determines if only BeeGFS utility packages are deployed, ie do not deploy daemons or configs
Default value: false
customer_login
Data type: Optional[String]
The login to use for commercial access to BeeGFS repos
Default value: undef
release
Data type: String
The release of BeeGFS to install
Default value: '7.1'
version
Data type: String
The version of BeeGFS to install
Default value: 'present'
repo_descr
Data type: Optional[String]
The BeeGFS repo descr
Default value: undef
repo_baseurl
Data type: Optional[String]
The BeeGFS repo baseurl
Default value: undef
repo_gpgkey
Data type: Optional[String]
The BeeGFS repo gpgkey
Default value: undef
repo_gpgcheck
Data type: Enum['0','1']
The BeeGFS repo gpgcheck
Default value: '0'
repo_enabled
Data type: Enum['0','1']
The BeeGFS repo enabled
Default value: '1'
client_package_dependencies
Data type: Array
The package dependencies for BeeGFS client
Default value: $beegfs::params::client_package_dependencies
manage_client_dependencies
Data type: Boolean
Boolean that sets if BeeGFS client dependencies will be managed
Default value: true
mgmtd_host
Data type: String
The BeeGFS mgmtd host
Default value: ''
conn_port_shift
Data type: Integer
The configuration value for connPortShift
Default value: 0
client_conn_interfaces
Data type: Array
The values used to define connInterfacesFile on clients Mutially exclusive with client_conn_interfaces_file
Default value: []
client_conn_interfaces_file
Data type: Stdlib::Absolutepath
The value for connInterfacesFile on clients Mutially exclusive with client_conn_interfaces
Default value: $beegfs::params::conn_interfaces_file['client']
mgmtd_conn_interfaces
Data type: Array
The values used to define connInterfacesFile on mgmtd Mutially exclusive with mgmtd_conn_interfaces_file
Default value: []
mgmtd_conn_interfaces_file
Data type: Stdlib::Absolutepath
The value for connInterfacesFile on mgmtd Mutially exclusive with mgmtd_conn_interfaces
Default value: $beegfs::params::conn_interfaces_file['mgmtd']
meta_conn_interfaces
Data type: Array
The values used to define connInterfacesFile on metadata Mutially exclusive with meta_conn_interfaces_file
Default value: []
meta_conn_interfaces_file
Data type: Stdlib::Absolutepath
The value for connInterfacesFile on metadata Mutially exclusive with meta_conn_interfaces
Default value: $beegfs::params::conn_interfaces_file['meta']
storage_conn_interfaces
Data type: Array
The values used to define connInterfacesFile on storage Mutially exclusive with storage_conn_interfaces_file
Default value: []
storage_conn_interfaces_file
Data type: Stdlib::Absolutepath
The value for connInterfacesFile on storage Mutially exclusive with storage_conn_interfaces
Default value: $beegfs::params::conn_interfaces_file['storage']
admon_conn_interfaces
Data type: Array
The values used to define connInterfacesFile on admon Mutially exclusive with admon_conn_interfaces_file
Default value: []
admon_conn_interfaces_file
Data type: Stdlib::Absolutepath
The value for connInterfacesFile on admon Mutially exclusive with admon_conn_interfaces
Default value: $beegfs::params::conn_interfaces_file['admon']
client_conn_net_filters
Data type: Array
The value used to define connNetFilterFile on clients Mutially exclusive with client_conn_net_filter_file
Default value: []
client_conn_net_filter_file
Data type: Stdlib::Absolutepath
The value for connNetFilterFile on clients Mutially exclusive with client_conn_net_filter
Default value: $beegfs::params::conn_net_filter_file['client']
mgmtd_conn_net_filters
Data type: Array
The value used to define connNetFilterFile on mgmtd Mutially exclusive with mgmtd_conn_net_filter_file
Default value: []
mgmtd_conn_net_filter_file
Data type: Stdlib::Absolutepath
The value for connNetFilterFile on mgmtd Mutially exclusive with mgmtd_conn_net_filter
Default value: $beegfs::params::conn_net_filter_file['mgmtd']
meta_conn_net_filters
Data type: Array
The value used to define connNetFilterFile on metadata Mutially exclusive with meta_conn_net_filter_file
Default value: []
meta_conn_net_filter_file
Data type: Stdlib::Absolutepath
The value for connNetFilterFile on metadata Mutially exclusive with meta_conn_net_filter
Default value: $beegfs::params::conn_net_filter_file['meta']
storage_conn_net_filters
Data type: Array
The value used to define connNetFilterFile on storage Mutially exclusive with storage_conn_net_filter_file
Default value: []
storage_conn_net_filter_file
Data type: Stdlib::Absolutepath
The value for connNetFilterFile on storage Mutially exclusive with storage_conn_net_filter
Default value: $beegfs::params::conn_net_filter_file['storage']
admon_conn_net_filters
Data type: Array
The value used to define connNetFilterFile on admon Mutially exclusive with admon_conn_net_filter_file
Default value: []
admon_conn_net_filter_file
Data type: Stdlib::Absolutepath
The value for connNetFilterFile on admon Mutially exclusive with admon_conn_net_filter
Default value: $beegfs::params::conn_net_filter_file['admon']
conn_tcp_only_filters
Data type: Array
The value used to populate /etc/beegfs/tcp-only-filter
Default value: []
conn_tcp_only_filter_file
Data type: Stdlib::Absolutepath
Path to /etc/beegfs/tcp-only-filter
Default value: $beegfs::params::conn_tcp_only_filter_file
ib_package
Data type: String
Package name for libbeegfs-ib
Default value: $beegfs::params::ib_package
with_rdma
Data type: Boolean
Enable RDMA support with BeeGFS
Default value: $beegfs::params::with_rdma
client_mount_path
Data type: Stdlib::Absolutepath
Path to mount BeeGFS filesystem on client
Default value: '/mnt/beegfs'
manage_client_mount_path
Data type: Boolean
Manage the BeeGFS client mount path
Default value: true
client_build_args
Data type: String
Value for client buildArgs
Default value: $beegfs::params::client_build_args
client_build_enabled
Data type: Boolean
Value for client buildEnabled
Default value: true
client_config_overrides
Data type: Hash
Additional client configurations
Default value: {}
helperd_config_overrides
Data type: Hash
Additional helperd configurations
Default value: {}
client_package
Data type: String
Client package name
Default value: $beegfs::params::client_package
helperd_package
Data type: String
Client helperd package name
Default value: $beegfs::params::helperd_package
utils_package
Data type: String
Package name for beegfs utils
Default value: $beegfs::params::utils_package
client_manage_service
Data type: Boolean
Boolean whether to manage client service
Default value: true
client_service_name
Data type: String
Client service name
Default value: $beegfs::params::client_service_name
helperd_service_name
Data type: String
Helperd service name
Default value: $beegfs::params::helperd_service_name
client_service_ensure
Data type: String
Client service ensure
Default value: 'running'
client_service_enable
Data type: Boolean
Client service enable
Default value: true
client_service_autorestart
Data type: Boolean
Boolean to set if client will autorestart on changes
Default value: true
mgmtd_store_directory
Data type: Any
The path to mgmtd storage directory
Default value: ''
mgmtd_config_overrides
Data type: Hash
Additional mgmtd configurations
Default value: {}
mgmtd_package
Data type: String
The BeeGFS mgmtd package
Default value: $beegfs::params::mgmtd_package
mgmtd_manage_service
Data type: Boolean
Boolean to set if mgmtd service is managed
Default value: true
mgmtd_service_name
Data type: String
The BeeGFS mgmtd service name
Default value: $beegfs::params::mgmtd_service_name
mgmtd_service_ensure
Data type: String
The beegfs-mgmtd service ensure
Default value: 'running'
mgmtd_service_enable
Data type: Boolean
The beegfs-mgmtd service enable
Default value: true
mgmtd_service_autorestart
Data type: Boolean
Boolean to set if beegfs-mgmtd will autorestart on changes
Default value: false
meta_store_directory
Data type: Any
The BeeGFS metadata storage directory
Default value: ''
meta_config_overrides
Data type: Hash
Additional metadata configurations
Default value: {}
meta_package
Data type: String
The BeeGFS metadata package
Default value: $beegfs::params::meta_package
meta_manage_service
Data type: Boolean
Boolean to set if beegfs-meta service is managed
Default value: true
meta_service_name
Data type: String
The BeeGFS metadata service name
Default value: $beegfs::params::meta_service_name
meta_service_ensure
Data type: String
The beegfs-meta service ensure
Default value: 'running'
meta_service_enable
Data type: Boolean
The beegfs-meta service enable
Default value: true
meta_service_autorestart
Data type: Boolean
Boolean to set if beegfs-meta will autorestart on changes
Default value: false
storage_store_directory
Data type: Any
The BeeGFS storage daemon storage directory
Default value: ''
storage_config_overrides
Data type: Hash
Additional storage configurations
Default value: {}
storage_package
Data type: String
The BeeGFS storage package name
Default value: $beegfs::params::storage_package
storage_manage_service
Data type: Boolean
Boolean to set if beegfs-storage service is managed
Default value: true
storage_service_name
Data type: String
The BeeGFS storage service name
Default value: $beegfs::params::storage_service_name
storage_service_ensure
Data type: String
The beegfs-storage service ensure
Default value: 'running'
storage_service_enable
Data type: Boolean
The beegfs-storage service enable
Default value: true
storage_service_autorestart
Data type: Boolean
Boolean to set if beegfs-storage will autorestart on changes
Default value: false
admon_database_file_dir
Data type: Stdlib::Absolutepath
The path to BeeGFS admon database directory
Default value: '/var/lib/beegfs'
admon_config_overrides
Data type: Hash
Additional BeeGFS Admon configurations
Default value: {}
admon_package
Data type: String
The BeeGFS Admon package name
Default value: $beegfs::params::admon_package
admon_manage_service
Data type: Boolean
Boolean to set if beegfs-admon service is managed
Default value: true
admon_service_name
Data type: String
The BeeGFS Admon service name
Default value: $beegfs::params::admon_service_name
admon_service_ensure
Data type: String
The beegfs-admon service ensure
Default value: 'running'
admon_service_enable
Data type: Boolean
The beegfs-admon service enable
Default value: true
admon_service_autorestart
Data type: Boolean
Boolean to set if beegfs-admon will autorestart on changes
Default value: false
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v0.2.0 (2021-03-07)
Changed
v0.1.0 (2020-11-02)
Added
0.0.1 (2014-07-02)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.13.1 <7.0.0)
Copyright (C) 2015 Trey Dockendorf treydock@tamu.edu Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.