charmhelpers.core.host¶
ChecksumError | |
add_group | Add a group to the system |
add_user_to_group | Add a user to a group |
adduser | Add a user to the system |
chdir | |
check_hash | Validate a file using a cryptographic checksum. |
chownr | |
cmp_pkgrevno | Compare supplied revno with the revno of the installed package |
cpu_arch | |
file_hash | Generate a hash checksum of the contents of ‘path’ or None if not found. |
fstab_add | Adds the given device entry to the /etc/fstab file |
fstab_remove | Remove the given mountpoint entry from /etc/fstab |
get_nic_hwaddr | |
get_nic_mtu | |
lchownr | |
list_nics | Return a list of nics of given type(s) |
lsb_release | Return /etc/lsb-release in a dict |
mkdir | Create a directory |
mount | Mount a filesystem at a particular mountpoint |
mounts | Get a list of all mounted volumes as [[mountpoint,device],[...]] |
pwgen | Generate a random pasword. |
restart_on_change | Restart services based on configuration files changing |
rsync | Replicate the contents of a path |
service | Control a system service |
service_available | Determine whether a system service is available |
service_reload | Reload a system service, optionally falling back to restart if |
service_restart | Restart a system service |
service_running | Determine whether a system service is running |
service_start | Start a system service |
service_stop | Stop a system service |
set_nic_mtu | Set MTU on a network interface |
symlink | Create a symbolic link |
umount | Unmount a filesystem |
write_file | Create or overwrite a file with the contents of a byte string. |
Tools for working with the host system
- exception charmhelpers.core.host.ChecksumError¶
Bases: exceptions.ValueError
- charmhelpers.core.host.add_group(group_name, system_group=False)¶
Add a group to the system
- charmhelpers.core.host.add_user_to_group(username, group)¶
Add a user to a group
- charmhelpers.core.host.adduser(username, password=None, shell='/bin/bash', system_user=False, group=None, groups=None)¶
Add a user to the system
- charmhelpers.core.host.chdir(*args, **kwds)¶
- charmhelpers.core.host.check_hash(path, checksum, hash_type='md5')¶
Validate a file using a cryptographic checksum.
Parameters: - checksum (str) – Value of the checksum used to validate the file.
- hash_type (str) – Hash algorithm used to generate checksum. Can be any hash alrgorithm supported by hashlib, such as md5, sha1, sha256, sha512, etc.
Raises ChecksumError: If the file fails the checksum
- charmhelpers.core.host.chownr(path, owner, group, follow_links=True)¶
- charmhelpers.core.host.cmp_pkgrevno(package, revno, pkgcache=None)¶
Compare supplied revno with the revno of the installed package
- 1 => Installed revno is greater than supplied arg
- 0 => Installed revno is the same as supplied arg
- -1 => Installed revno is less than supplied arg
This function imports apt_cache function from charmhelpers.fetch if the pkgcache argument is None. Be sure to add charmhelpers.fetch if you call this function, or pass an apt_pkg.Cache() instance.
- charmhelpers.core.host.cpu_arch()¶
- charmhelpers.core.host.file_hash(path, hash_type='md5')¶
Generate a hash checksum of the contents of ‘path’ or None if not found.
Parameters: hash_type (str) – Any hash alrgorithm supported by hashlib, such as md5, sha1, sha256, sha512, etc.
- charmhelpers.core.host.fstab_add(dev, mp, fs, options=None)¶
Adds the given device entry to the /etc/fstab file
- charmhelpers.core.host.fstab_remove(mp)¶
Remove the given mountpoint entry from /etc/fstab
- charmhelpers.core.host.get_nic_hwaddr(nic)¶
- charmhelpers.core.host.get_nic_mtu(nic)¶
- charmhelpers.core.host.lchownr(path, owner, group)¶
- charmhelpers.core.host.list_nics(nic_type)¶
Return a list of nics of given type(s)
- charmhelpers.core.host.lsb_release()¶
Return /etc/lsb-release in a dict
- charmhelpers.core.host.mkdir(path, owner='root', group='root', perms=365, force=False)¶
Create a directory
- charmhelpers.core.host.mount(device, mountpoint, options=None, persist=False, filesystem='ext3')¶
Mount a filesystem at a particular mountpoint
- charmhelpers.core.host.mounts()¶
Get a list of all mounted volumes as [[mountpoint,device],[...]]
- charmhelpers.core.host.pwgen(length=None)¶
Generate a random pasword.
- charmhelpers.core.host.restart_on_change(restart_map, stopstart=False)¶
Restart services based on configuration files changing
This function is used a decorator, for example:
@restart_on_change({ '/etc/ceph/ceph.conf': [ 'cinder-api', 'cinder-volume' ] }) def ceph_client_changed(): pass # your code here
In this example, the cinder-api and cinder-volume services would be restarted if /etc/ceph/ceph.conf is changed by the ceph_client_changed function.
- charmhelpers.core.host.rsync(from_path, to_path, flags='-r', options=None)¶
Replicate the contents of a path
- charmhelpers.core.host.service(action, service_name)¶
Control a system service
- charmhelpers.core.host.service_available(service_name)¶
Determine whether a system service is available
- charmhelpers.core.host.service_reload(service_name, restart_on_failure=False)¶
Reload a system service, optionally falling back to restart if reload fails
- charmhelpers.core.host.service_restart(service_name)¶
Restart a system service
- charmhelpers.core.host.service_running(service)¶
Determine whether a system service is running
- charmhelpers.core.host.service_start(service_name)¶
Start a system service
- charmhelpers.core.host.service_stop(service_name)¶
Stop a system service
- charmhelpers.core.host.set_nic_mtu(nic, mtu)¶
Set MTU on a network interface
- charmhelpers.core.host.symlink(source, destination)¶
Create a symbolic link
- charmhelpers.core.host.umount(mountpoint, persist=False)¶
Unmount a filesystem
- charmhelpers.core.host.write_file(path, content, owner='root', group='root', perms=292)¶
Create or overwrite a file with the contents of a byte string.