9.1.1. cobbler.actions package

9.1.1.1. Submodules

9.1.1.2. cobbler.actions.acl module

Configures acls for various users/groups so they can access the Cobbler command line as non-root. Now that CLI is largely remoted (XMLRPC) this is largely just useful for not having to log in (access to shared-secret) file but also grants access to hand-edit various cobbler_collections files and other useful things.

Copyright 2006-2009, Red Hat, Inc and Others Michael DeHaan <michael.dehaan AT gmail>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

class cobbler.actions.acl.AclConfig(collection_mgr)[source]

Bases: object

modacl(isadd: bool, isuser: bool, who: str)[source]

Modify the acls for Cobbler on the filesystem.

Parameters
  • isadd – If true then the who will be added. If false then who will be removed.

  • isuser – If true then the who may be a user. If false then who may be a group.

  • who – The user or group to be added or removed.

run(adduser: Optional[str] = None, addgroup: Optional[str] = None, removeuser: Optional[str] = None, removegroup: Optional[str] = None)[source]

Automate setfacl commands. Only one of the four may be specified but one option also must be specified.

Parameters
  • adduser – Add a user to be able to manage Cobbler.

  • addgroup – Add a group to be able to manage Cobbler.

  • removeuser – Remove a user to be able to manage Cobbler.

  • removegroup – Remove a group to be able to manage Cobbler.

Raises

CX – Raised in case not enough arguments are specified.

9.1.1.3. cobbler.actions.buildiso module

Builds bootable CD images that have PXE-equivalent behavior for all Cobbler distros/profiles/systems currently in memory.

Copyright 2006-2009, Red Hat, Inc and Others Michael DeHaan <michael.dehaan AT gmail>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

class cobbler.actions.buildiso.BuildIso(collection_mgr, verbose: bool = False)[source]

Bases: object

Handles conversion of internal state to the isolinux tree layout

add_remaining_kopts(koptdict: dict) str[source]

Add remaining kernel_options to append_line

Parameters

koptdict – The kernel options which are not present in append_line.

Returns

A single line with all kernel options

copy_boot_files(distro, destdir, prefix: Optional[str] = None)[source]

Copy kernel/initrd to destdir with (optional) newfile prefix

Parameters
  • distro – Distro object to return the boot files for.

  • destdir – The destionation direcotry.

  • prefix – The file prefix.

filter_systems_or_profiles(selected_items, list_type: str) list[source]

Return a list of valid profile or system objects selected from all profiles or systems by name, or everything if selected_items is empty.

Parameters
  • selected_items – The filter to match certain objects with. The filter will be applied to the object name.

  • list_type – Must be “profile” or “system”.

Returns

A list of valid profiles OR systems.

generate_netboot_iso(imagesdir, isolinuxdir, profiles=None, systems=None, exclude_dns: Optional[bool] = None)[source]

Create bootable CD image to be used for network installations

Parameters
  • imagesdir – Currently unused parameter.

  • isolinuxdir – The parent directory where the isolinux.cfg is located.

  • profiles – The filter to generate a netboot iso for. You may specify multiple profiles on the CLI space separated.

  • systems – The filter to generate a netboot iso for. You may specify multiple systems on the CLI space separated.

  • exclude_dns – If this is True then the dns server is skipped. None or False will set it.

generate_standalone_iso(imagesdir, isolinuxdir, distname, filesource, airgapped: bool, profiles)[source]

Create bootable CD image to be used for handsoff CD installtions

Parameters
  • imagesdir – Unused Parameter.

  • isolinuxdir – The parent directory where the file isolinux.cfg is located at.

  • distname – The name of the Cobbler distribution.

  • filesource – Not clear what this exactly does

  • airgapped – Whether the repositories have to be locally available or the internet is reachable.

  • profiles – The list of profiles to include.

make_shorter(distname: str) str[source]

Return A short distro identifier.

Parameters

distname – The distro name to return a identifier for.

Returns

A short distro identifier

run(iso=None, buildisodir=None, profiles=None, systems=None, distro=None, standalone: Optional[bool] = None, airgapped: Optional[bool] = None, source=None, exclude_dns: Optional[bool] = None, xorrisofs_opts: Optional[str] = None)[source]

A

Parameters
  • iso – The name of the iso. Defaults to “autoinst.iso”.

  • buildisodir – This overwrites the directory from the settings in which the iso is built in.

  • profiles

  • systems – Don’t use that when building standalone isos.

  • distro – (For standalone only)

  • standalone – This means that no network connection is needed to install the generated iso.

  • airgapped – This option implies standalone=True.

  • source – If the iso should be offline available this is the path to the sources of the image.

  • exclude_dns – Whether the repositories have to be locally available or the internet is reachable.

  • xorrisofs_opts – xorrisofs options to include additionally.

9.1.1.4. cobbler.actions.check module

Copyright 2006-2009, Red Hat, Inc and Others Michael DeHaan <michael.dehaan AT gmail>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

class cobbler.actions.check.CobblerCheck(collection_mgr)[source]

Bases: object

Validates whether the system is reasonably well configured for serving up content. This is the code behind ‘cobbler check’.

check_bind_bin(status)[source]

Check if bind is installed.

Parameters

status – The status list with possible problems.

check_bootloaders(status)[source]

Check if network bootloaders are installed

Parameters

status – The status list with possible problems.

check_ctftpd_dir(status)[source]

Check if cobbler.conf’s tftpboot directory exists.

Parameters

status – The status list with possible problems.

check_debmirror(status)[source]

Check if debmirror is available and the config file for it exists. If the distro family is suse then this will pass without checking.

Parameters

status – The status list with possible problems.

check_dhcpd_bin(status)[source]

Check if dhcpd is installed.

Parameters

status – The status list with possible problems.

check_dhcpd_conf(status)[source]

NOTE: this code only applies if Cobbler is NOT set to generate a dhcp.conf file.

Check that dhcpd appears to be configured for pxe booting. We can’t assure file correctness. Since a Cobbler user might have dhcp on another server, it’s okay if it’s not there and/or not configured correctly according to automated scans.

Parameters

status – The status list with possible problems.

check_dnsmasq_bin(status)[source]

Check if dnsmasq is installed.

Parameters

status – The status list with possible problems.

check_for_cman(status)[source]

Check if the fence agents are available. This is done through checking if the binary fence_ilo is present in /sbin or /usr/sbin.

Parameters

status – The status list with possible problems. The status list with possible problems.

check_for_default_password(status)[source]

Check if the default password of Cobbler was changed.

Parameters

status – The status list with possible problems.

check_for_ksvalidator(status)[source]

Check if the ksvalidator is present in /usr/bin.

Parameters

status – The status list with possible problems. The status list with possible problems.

check_for_unreferenced_repos(status)[source]

Check if there are repositories which are not used and thus could be removed.

Parameters

status – The status list with possible problems.

check_for_unsynced_repos(status)[source]

Check if there are unsynchronized repositories which need an update.

Parameters

status – The status list with possible problems.

check_for_wget_curl(status)[source]

Check to make sure wget or curl is installed

Parameters

status – The status list with possible problems.

check_iptables(status)[source]

Check if iptables is running. If yes print the needed ports. This is unavailable on Debian, SUSE and CentOS7 as a service. However this only indicates that the way of persisting the iptable rules are persisted via other means.

Parameters

status – The status list with possible problems.

check_name(status)[source]

If the server name in the config file is still set to localhost automatic installations run from koan will not have proper kernel line parameters.

Parameters

status – The status list with possible problems.

check_rsync_conf(status)[source]

Check that rsync is enabled to autostart.

Parameters

status – The status list with possible problems.

check_selinux(status)[source]

Suggests various SELinux rules changes to run Cobbler happily with SELinux in enforcing mode.

Parameters

status – The status list with possible problems.

check_service(status, which, notes='')[source]

Check if the service command is available or the old init.d system has to be used.

Parameters
  • status – The status list with possible problems.

  • which – The service to check for.

  • notes – A manual not to attach.

check_tftpd_dir(status)[source]

Check if cobbler.conf’s tftpboot directory exists

Parameters

status – The status list with possible problems.

check_yum(status)[source]

Check if the yum-stack is available. On Debian based distros this will always return without checking.

Parameters

status – The status list with possible problems.

run()[source]

The CLI usage is “cobbler check” before “cobbler sync”.

Returns

None if there are no errors, otherwise returns a list of things to correct prior to running application ‘for real’.

9.1.1.6. cobbler.actions.log module

Copyright 2009, Red Hat, Inc and Others Bill Peck <bpeck@redhat.com>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

class cobbler.actions.log.LogTool(collection_mgr, system, api)[source]

Bases: object

Helpers for dealing with System logs, anamon, etc..

clear()[source]

Clears the system logs

9.1.1.7. cobbler.actions.replicate module

Replicate from a Cobbler master.

Copyright 2007-2009, Red Hat, Inc and Others Michael DeHaan <michael.dehaan AT gmail> Scott Henson <shenson@redhat.com>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

class cobbler.actions.replicate.Replicate(collection_mgr)[source]

Bases: object

This class contains the magic to replicate a Cobbler instance to another Cobbler instance.

add_objects_not_on_local(obj_type)[source]

Add objects locally which are not present on the slave but on the master.

Parameters

obj_type

generate_include_map()[source]

Not known what this exactly does.

Link a distro from its location into the web directory to make it available for usage.

remove_objects_not_on_master(obj_type)[source]

Remove objects on this slave which are not on the master.

Parameters

obj_type – The type of object which should be synchronized.

replace_objects_newer_on_remote(obj_type)[source]

Replace objects which are newer on the local slave then on the remote slave

Parameters

obj_type – The type of object to synchronize.

replicate_data()[source]

Replicate the local and remote data to each another.

rsync_it(from_path, to_path, type: Optional[str] = None)[source]

Rsync from a source to a destination with the rsync options Cobbler was configured with.

Parameters
  • from_path – The source to rsync from.

  • to_path – The destination to rsync to.

  • type – If set to “repo” this will take the repo rsync options instead of the global ones.

run(cobbler_master=None, port: str = '80', distro_patterns=None, profile_patterns=None, system_patterns=None, repo_patterns=None, image_patterns=None, mgmtclass_patterns=None, package_patterns=None, file_patterns=None, prune: bool = False, omit_data=False, sync_all: bool = False, use_ssl: bool = False)[source]

Get remote profiles and distros and sync them locally

Parameters
  • cobbler_master – The remote url of the master server.

  • port – The remote port of the master server.

  • distro_patterns – The pattern of distros to sync.

  • profile_patterns – The pattern of profiles to sync.

  • system_patterns – The pattern of systems to sync.

  • repo_patterns – The pattern of repositories to sync.

  • image_patterns – The pattern of images to sync.

  • mgmtclass_patterns – The pattern of management classes to sync.

  • package_patterns – The pattern of packages to sync.

  • file_patterns – The pattern of files to sync.

  • prune – If the local server should be pruned before coping stuff.

  • omit_data – If the data behind images etc should be omitted or not.

  • sync_all – If everything should be synced (then the patterns are useless) or not.

  • use_ssl – If HTTPS or HTTP should be used.

9.1.1.8. cobbler.actions.report module

Report from a Cobbler master. FIXME: reinstante functionality for 2.0

Copyright 2007-2009, Red Hat, Inc and Others Anderson Silva <ansilva@redhat.com> Michael DeHaan <michael.dehaan AT gmail>

This software may be freely redistributed under the terms of the GNU general public license.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

class cobbler.actions.report.Report(collection_mgr)[source]

Bases: object

fielder(structure: dict, fields_list: list)[source]

Return data from a subset of fields of some item

Parameters
  • structure – The item structure to report.

  • fields_list – The list of fields which should be returned.

Returns

The same item with only the given subset of information.

print_formatted_data(data, order: list, report_type: str, noheaders: bool)[source]

Used for picking the correct format to output data as

Parameters
  • data – The list of iteratable items for table output.

  • order – The list of fields which are available in the table file.

  • noheaders – Whether headers are printed to the output or not.

  • report_type – The type of report which should be used.

reporting_csv(info, order: list, noheaders: bool) str[source]

Formats data on ‘info’ for csv output

Parameters
  • info – The list of iteratable items for csv output.

  • order – The list of fields which are available in the csv file.

  • noheaders – Whether headers are printed to the output or not.

Returns

The string with the csv.

reporting_doku(info, order: list, noheaders: bool) str[source]

Formats data on ‘info’ for doku wiki table output

Parameters
  • info – The list of iteratable items for table output.

  • order – The list of fields which are available in the table file.

  • noheaders – Whether headers are printed to the output or not.

Returns

The string with the generated table.

reporting_list_names2(collection, name: str)[source]

Prints a specific object in a collection.

Parameters
  • collection – The collections object to print a collection from.

  • name – The name of the collection to print.

reporting_mediawiki(info, order: list, noheaders: bool) str[source]

Formats data on ‘info’ for mediawiki table output

Parameters
  • info – The list of iteratable items for table output.

  • order – The list of fields which are available in the table file.

  • noheaders – Whether headers are printed to the output or not.

Returns

The string with the generated table.

reporting_print_all_fields(collection, report_name: str, report_type: str, report_noheaders: bool) str[source]

Prints all fields in a collection as a table given the report type

Parameters
  • collection – The collection to report.

  • report_name – The name of the report.

  • report_type – The type of report to give.

  • report_noheaders – Report without the headers. (May be useful for machine parsing)

Returns

A report with all fields included pretty printed or machine readable.

reporting_print_sorted(collection)[source]

Prints all objects in a collection sorted by name

Parameters

collection – The collection to print.

reporting_print_x_fields(collection, report_name: str, report_type: str, report_fields: str, report_noheaders: bool)[source]

Prints specific fields in a collection as a table given the report type

Parameters
  • collection – The collection to report.

  • report_name – The name of the report.

  • report_type – The type of report to give.

  • report_fields – The fields which should be included in the report.

  • report_noheaders – Report without the headers. (May be useful for machine parsing)

reporting_trac(info, order: list, noheaders: bool) str[source]

Formats data on ‘info’ for trac wiki table output

Parameters
  • info – The list of iteratable items for table output.

  • order – The list of fields which are available in the table file.

  • noheaders – Whether headers are printed to the output or not.

Returns

The string with the generated table.

run(report_what: Optional[str] = None, report_name: Optional[str] = None, report_type: Optional[str] = None, report_fields: Optional[str] = None, report_noheaders: Optional[bool] = None)[source]

Get remote profiles and distros and sync them locally

  1. Handles original report output

  2. Handles all fields of report outputs as table given a format

  3. Handles specific fields of report outputs as table given a format

Parameters
  • report_what – What should be reported. May be “all”.

  • report_name – The name of the report.

  • report_type – The type of report to give.

  • report_fields – The fields which should be included in the report.

  • report_noheaders – Report without the headers. (May be useful for machine parsing)

9.1.1.9. cobbler.actions.reposync module

Builds out and synchronizes yum repo mirrors. Initial support for rsync, perhaps reposync coming later.

Copyright 2006-2007, Red Hat, Inc and Others Michael DeHaan <michael.dehaan AT gmail>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

class cobbler.actions.reposync.RepoSync(collection_mgr, tries: int = 1, nofail: bool = False)[source]

Bases: object

Handles conversion of internal state to the tftpboot tree layout.

apt_sync(repo)[source]

Handle copying of http:// and ftp:// debian repos.

Parameters

repo – The apt repository to sync.

create_local_file(dest_path: str, repo, output: bool = True)[source]

Creates Yum config files for use by reposync

Two uses: (A) output=True, Create local files that can be used with yum on provisioned clients to make use of this mirror. (B) output=False, Create a temporary file for yum to feed into yum for mirroring

Parameters
  • dest_path – The destination path to create the file at.

  • repo – The repository object to create a file for.

  • output – See described above.

Returns

The name of the file which was written.

createrepo_walker(repo, dirname: str, fnames)[source]

Used to run createrepo on a copied Yum mirror.

Parameters
  • repo – The repository object to run for.

  • dirname – The directory to run in.

  • fnames – Not known what this is for.

gen_urlgrab_ssl_opts(yumopts) Union[str, bool][source]

This function translates yum repository options into the appropriate options for python-requests

Parameters

yumopts – The options to convert.

Returns

A tuple with the cert and a boolean if it should be verified or not.

librepo_getinfo(dirname)[source]
reposync_cmd() str[source]

Determine reposync command

Returns

The path to the reposync command. If dnf exists it is used instead of reposync.

rhn_sync(repo)[source]

Handle mirroring of RHN repos.

Parameters

repo – The repo object to synchronize.

rsync_sync(repo)[source]

Handle copying of rsync:// and rsync-over-ssh repos.

Parameters

repo – The repo to sync via rsync.

run(name: Optional[str] = None, verbose: bool = True)[source]

Syncs the current repo configuration file with the filesystem.

Parameters
  • name – The name of the repository to synchronize.

  • verbose – If the action should be logged verbose or not.

sync(repo)[source]

Conditionally sync a repo, based on type.

Parameters

repo – The repo to sync.

update_permissions(repo_path)[source]

Verifies that permissions and contexts after an rsync are as expected. Sending proper rsync flags should prevent the need for this, though this is largely a safeguard.

Parameters

repo_path – The path to update the permissions of.

wget_sync(repo)[source]

Handle mirroring of directories using wget

Parameters

repo – The repo object to sync via wget.

yum_sync(repo)[source]

Handle copying of http:// and ftp:// yum repos.

Parameters

repo – The yum reporitory to sync.

cobbler.actions.reposync.repo_walker(top, func, arg)[source]

Directory tree walk with callback function.

For each directory in the directory tree rooted at top (including top itself, but excluding ‘.’ and ‘..’), call func(arg, dirname, fnames). dirname is the name of the directory, and fnames a list of the names of the files and subdirectories in dirname (excluding ‘.’ and ‘..’). func may modify the fnames list in-place (e.g. via del or slice assignment), and walk will only recurse into the subdirectories whose names remain in fnames; this can be used to implement a filter, or to impose a specific order of visiting. No semantics are defined for, or required of, arg, beyond that arg is always passed to func. It can be used, e.g., to pass a filename pattern, or a mutable object designed to accumulate statistics. Passing None for arg is common.

Parameters
  • top – The directory that should be taken as root. The root dir will also be included in the processing.

  • func – The function that should be executed.

  • arg – The arguments for that function.

9.1.1.10. cobbler.actions.status module

Reports on automatic installation activity by examining the logs in /var/log/cobbler.

Copyright 2007-2009, Red Hat, Inc and Others Michael DeHaan <michael.dehaan AT gmail>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

class cobbler.actions.status.CobblerStatusReport(collection_mgr, mode: str)[source]

Bases: object

catalog(profile_or_system: str, name: str, ip, start_or_stop: str, ts: float)[source]

Add a system to cobbler status.

Parameters
  • profile_or_system – This can be system or profile.

  • name – The name of the object.

  • ip – The ip of the system to watch.

  • start_or_stop – This parameter may be start or stop

  • ts – Don’t know what this does.

get_printable_results()[source]

Convert the status of Cobbler from a machine readable form to human readable.

Returns

A nice formatted representation of the results of cobbler status.

process_results()[source]

Look through all systems which were collected and update the status.

Returns

Return ip_data of the object.

run()[source]

Calculate and print a automatic installation status report.

scan_logfiles()[source]

Scan the install log-files - starting with the oldest file.

9.1.1.11. cobbler.actions.sync module

Builds out filesystem trees/data based on the object tree. This is the code behind ‘cobbler sync’.

Copyright 2006-2009, Red Hat, Inc and Others Michael DeHaan <michael.dehaan AT gmail>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

class cobbler.actions.sync.CobblerSync(collection_mgr, verbose: bool = True, dhcp=None, dns=None, tftpd=None)[source]

Bases: object

Handles conversion of internal state to the tftpboot tree layout

add_single_distro(name)[source]

Sync adding a single distro.

Parameters

name – The name of the distribution.

add_single_image(name)[source]

Sync adding a single image.

Parameters

name – The name of the image.

add_single_profile(name: str, rebuild_menu: bool = True) Optional[bool][source]

Sync adding a single profile.

Parameters
  • name – The name of the profile.

  • rebuild_menu – Whether to rebuild the grub/… menu or not.

Returns

True if this succeeded.

add_single_system(name: str)[source]

Sync adding a single system.

Parameters

name – The name of the system.

All files which are linked into the cache will be deleted so the cache can be rebuild.

clean_trees()[source]

Delete any previously built pxelinux.cfg tree and virt tree info and then create directories.

Note: for SELinux reasons, some information goes in /tftpboot, some in /var/www/cobbler and some must be duplicated in both. This is because PXE needs tftp, and automatic installation and Virt operations need http. Only the kernel and initrd images are duplicated, which is unfortunate, though SELinux won’t let me give them two contexts, so symlinks are not a solution. Otherwise duplication is minimal.

remove_single_distro(name)[source]

Sync removing a single distro.

Parameters

name – The name of the distribution.

remove_single_image(name)[source]

Sync removing a single image.

Parameters

name – The name of the image.

remove_single_menu(rebuild_menu: bool = True)[source]

Sync removing a single menu. :param rebuild_menu: Whether to rebuild the grub/… menu or not.

remove_single_profile(name: str, rebuild_menu: bool = True)[source]

Sync removing a single profile.

Parameters
  • name – The name of the profile.

  • rebuild_menu – Whether to rebuild the grub/… menu or not.

remove_single_system(name: str)[source]

Sync removing a single system.

Parameters

name – The name of the system.

rsync_gen()[source]

Generate rsync modules of all repositories and distributions

Raises

OSError

run()[source]

Syncs the current configuration file with the config tree. Using the Check().run_ functions previously is recommended

run_sync_systems(systems: List[str])[source]

Syncs the specific systems with the config tree.

sync_dhcp()[source]

This calls write_dhcp and restarts the DHCP server.

update_system_netboot_status(name: str)[source]

Update the netboot status of a system.

Parameters

name – The name of the system.

write_dhcp()[source]

Write all files which are associated to DHCP.

9.1.1.12. Module contents

The action module is responsible for containing one Python module for each action which Cobbler offers. The code should never be dependent on another module or on other parts. An action should request the exact data it requires and nothing more.