pxe_install
: PXE Install server
pxe_install::apache
: Configure webserver for install serverpxe_install::dhcp
: Setup DHCP serverpxe_install::params
: Default parameterspxe_install::syslinux
: Download syslinux archivepxe_install::tftp
: Setup ftp serverpxe_install::winipxe
: Install windows ipxe files
pxe_install::parent_dirs
: Create directories recursivly
pxe_install::kickstart
: Create kickstart filepxe_install::partitioning::debian
: Create a partion table for Debian systemspxe_install::partitioning::redhat
: ACreate partitioning for redhat/CentOPS systemspxe_install::partitioning::ubuntu
: Create a partion table for Ubuntu systemspxe_install::partitioning::ubuntu_autoinstall
: Create a partion table for Ubuntu systems using autoinstallpxe_install::samba::host
: Create a host entry for a Windows nodepxe_install::samba::unattend
: create unattended boot filepxe_install::tftp::host
: Create a tftp server entry for a host.
get_partition_devices
: get_partition_devices.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devicesget_partition_devices_autoinstall
: get_partition_devices_autoinstall.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devicespxe_install::hex_ip
: Convert a ip from digits into hex.
pxe_install::hash_key
: Check if a hash contains a particular key
create_password
: Outputs a SHA512 encrypted password for use with node installation.maintain_netinstaller
: Maintain CentOS/Ubuntu/Debian net installer files
Set up an PXE install server with dhcp, tftp and webserver for serving files
include pxe_install
The following parameters are available in the pxe_install
class:
installserverip
installserver
repo_server
repo_server_ip
repos_dir
repos_url
scriptdir
scripturl
kickstart_dir
kickstart_url
puppetmaster
puppetmasterip
services
machines
status_allow_from
enabled
ssl_cert
ssl_key
ssl_chain
ssl_certs_dir
documentroot
create_aliases
challenge_password
add_hosts_entries
install_curl
install_unzip
syslinux_url
syslinux_name
syslinux_version
ipxefile
mirrors
defaults
purge_apache_configs
Data type: String
The ip of the install server
Data type: String
Hostname of the install server
Data type: String
Hostname of the server hosting the package repositories
Data type: String
IP of the server hosting the package repositories
Data type: Stdlib::Unixpath
Directory location of the package repositories
Data type: String
URI where the pacjaqges can be found on the repo server
Data type: Stdlib::Unixpath
Directory location where to cfreate scripts and prepared files
Data type: String
URL where to find the scripts
Data type: Stdlib::Unixpath
Directory location for the kickstart/preseed files
Data type: String
Url where to download the kickstart/preseed files
Data type: Optional[String]
The hostname of the Puppet master server
Default value: undef
Data type: Optional[String]
The ip of the Puppet master server
Default value: undef
Data type: Optional[Hash]
Hash with services to configure. Valid are dhcp and tftp. Each service is a hash of how to configure that service.
Default value: undef
Data type: Optional[Hash]
Hash with all machines to get installed. Each entry i a whole description of a machine with ips, partitions and so on.
Default value: undef
Data type: Array
Allow Apache status URLs from these ips
Default value: ['127.0.0.1']
Data type: Boolean
Installserver is enbaled or not
Default value: true
Data type: String
Location of the SSL certificate for the webserver to use. he file has to exist on the install server.
Default value: '/etc/pki/httpd/repos.example.com/repos.example.com.cer'
Data type: String
Location of the SSL key for the webserver to use. he file has to exist on the install server.
Default value: '/etc/pki/httpd/repos.example.com/repos.example.com.key'
Data type: String
Location of the SSL certificate chain for the webserver to use. he file has to exist on the install server.
Default value: '/etc/pki/httpd/repos.example.com/fullchain.cer'
Data type: String
Directory where all files for the cdertificates reside.
Default value: '/etc/pki/httpd/repos.example.com/'
Data type: String
Document root for the webserver.
Default value: '/var/www/html'
Data type: Boolean
Create webserver aliases
Default value: true
Data type: Sensitive[String]
Sensitive challenge password for auto signing cert requests.
Data type: Boolean
Add install server and puppet server to /etc/hosts file.
Default value: false
Data type: Boolean
Install curl package
Default value: $pxe_install::params::install_curl
Data type: Boolean
Install unzip package
Default value: $pxe_install::params::install_unzip
Data type: Stdlib::HTTPSUrl
The url where to download the syslinux archive.
Default value: $pxe_install::params::syslinux_url
Data type: String
Ther name of the archive.
Default value: $pxe_install::params::syslinux_name
Data type: String
The version of the archive.
Default value: $pxe_install::params::syslinux_version
Data type: Stdlib::HTTPUrl
The url to download the ipxe file.
Default value: $pxe_install::params::ipxefile
Data type: Hash
Hash with mirror definitions.
Default value: $pxe_install::params::mirrors
Data type: Hash
Default values.
Default value: $pxe_install::params::defaults
Data type: Boolean
Boolean to indicate that all Apache configurations not maintained by the Apache Puppet module should be deleted.
Default value: false
Create all missing directories
}
pxe_installarent_dirs{ 'create script dir':
dir_path => '/var/www/scripts',
The following parameters are available in the pxe_install::parent_dirs
defined type:
Data type: Stdlib::Unixpath
The directories to be created.
Type: Ruby 4.x API
get_partition_devices.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devices
get_partition_devices.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devices
Returns: String
Data type: Hash
Type: Ruby 4.x API
get_partition_devices_autoinstall.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devices
get_partition_devices_autoinstall.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devices
Returns: Array
Data type: Array
Type: Puppet Language
Convert a ip from digits into hex.
The pxe_install::hex_ip function.
Returns: String
IP in hey format
Data type: String
The ip to convert, e. g. 10.0.0.1
Outputs a SHA512 encrypted password for use with node installation.
Supports noop? false
Data type: String[1]
The password to encrypt
Maintain CentOS/Ubuntu/Debian net installer files
Supports noop? false
Data type: String[1]
The base directory of the tftpd server where the net installer files go to.
Data type: String[1]
Where to download he net installer from.
Data type: Enum[centos,ubuntu,debian,fedora,alma,rocky,redhat]
The operating system.
Data type: String[1]
The operting system version, depending on the OS.
Data type: Optional[String[1]]
The operating system subversion for CentOS like 'u9'.