Method __init__
__init__( self, value=None )
Undocumented
str
'CUISINE_MODE_LOCAL'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
bool
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
Class mode_local
Sets Cuisine into local mode, where run/sudo won't go through Fabric's API, but directly through a popen. This allows you to easily test your Cuisine scripts without using Fabric.
Method __init__
__init__( self, value=None )
Undocumented
bool
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
Class mode_remote
Comes back to Fabric's API for run/sudo. This basically reverts the effect of calling mode_local()
.
Method __init__
__init__( self, value=None )
Undocumented
str
'CUISINE_MODE_SUDO'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Class mode_sudo
Cuisine functions will be executed with sudo.
Method __init__
__init__( self, value=None )
Undocumented
Class mode_user
Cuisine functions will be executed as the current user.
Function _init
_init( )
Undocumented
Function command_check
command_check( command )
Tests if the given command is available on the system.
Function command_ensure
command_ensure( command, package=None )
Ensures that the given command is present, if not installs the package with the given name, which is the same as the command by default.
Function connect
connect( host, user='root' )
Sets Fabric's current host to the given host. This is useful when using Cuisine in standalone.
Function dir_attribs
dir_attribs( location, mode=None, owner=None, group=None, recursive=False )
Updates the mode/owner/group for the given remote directory.
Function dir_ensure
dir_ensure( location, recursive=False, mode=None, owner=None, group=None )
Ensures that there is a remote directory at the given location, optionally updating its mode/owner/group.
If we are not updating the owner/group then this can be done as a single ssh call, so use that method, otherwise set owner/group after creation.
Function dir_exists
dir_exists( location )
Tells if there is a remote directory at the given location.
Function dir_remove
dir_remove( location, recursive=True )
Function dispatch
dispatch( prefix=None )
Dispatches the current function to specific implementation. The prefix
parameter indicates the common option prefix, and the select_[option]()
function will determine the function suffix.
For instance the package functions are defined like this:
{{{ @dispatch("package") def packageensure(...): ... def packageensureapt(...): ... def packageensure_yum(…): … }}}
and then when a user does
{{{ cuisine.selectpackage("yum") cuisine.packageensure(…) }}}
then the dispatch
function will dispatch package_ensure
to package_ensure_yum
.
If your prefix is the first word of the function name before the first _
then you can simply use @dispatch
without parameters.
Function file_append
file_append( location, content, mode=None, owner=None, group=None )
Appends the given content to the remote file at the given location, optionally updating its mode/owner/group.
Function file_attribs
file_attribs( location, mode=None, owner=None, group=None )
Updates the mode/owner/group for the remote file at the given location.
Function file_attribs_get
file_attribs_get( location )
Return mode, owner, and group for remote path. Return mode, owner, and group if remote path exists, None
otherwise.
Function file_ensure
file_ensure( location, mode=None, owner=None, group=None, scp=False )
Updates the mode/owner/group for the remote file at the given location.
Function file_exists
file_exists( location )
Tests if there is a remote file at the given location.
Function file_is_dir
file_is_dir( location )
Undocumented
Function file_is_file
file_is_file( location )
Undocumented
Function file_is_link
file_is_link( location )
Undocumented
Function file_link
file_link( source, destination, symbolic=True, mode=None, owner=None, group=None )
Creates a (symbolic) link between source and destination on the remote host, optionally setting its mode/owner/group.
Function file_local_read
file_local_read( location )
Reads a local file from the given location, expanding ~
and shell variables.
Function file_md5
file_md5( location )
Returns the MD5 sum (as a hex string) for the remote file at the given location.
Function file_read
file_read( location )
Reads the remote file at the given location.
Function file_sha256
file_sha256( location )
Returns the SHA-256 sum (as a hex string) for the remote file at the given location.
Function file_unlink
file_unlink( path )
Undocumented
Function file_update
file_update( location, updater= at 0x1566050> )
Updates the content of the given by passing the existing content of the remote file at the given location to the updater
function.
For instance, if you'd like to convert an existing file to all uppercase, simply do:
file_update("/etc/myfile", lambda _:_.upper())
Function file_upload
file_upload( remote, local, sudo=None, scp=False )
Uploads the local file to the remote location only if the remote location does not exists or the content are different.
Function file_write
file_write( location, content, mode=None, owner=None, group=None, sudo=None, check=True, scp=False )
Writes the given content to the file at the given remote location, optionally setting mode/owner/group.
Function group_check
group_check( name )
Checks if there is a group defined with the given name, returning its information as a {"name":<str>,"gid":<str>,"members":<list[str]>}
or None
if the group does not exists.
Function group_create
group_create( name, gid=None )
Creates a group with the given name, and optionally given gid.
Function group_ensure
group_ensure( name, gid=None )
Ensures that the group with the given name (and optional gid) exists.
Function group_user_add
group_user_add( group, user )
Adds the given user/list of users to the given group/groups.
Function group_user_check
group_user_check( group, user )
Checks if the given user is a member of the given group. It will return False
if the group does not exist.
Function group_user_del
group_user_del( group, user )
remove the given user from the given group.
Function group_user_ensure
group_user_ensure( group, user )
Ensure that a given user is a member of a given group.
Function is_local
is_local( )
Undocumented
Function is_remote
is_remote( )
Undocumented
Function is_sudo
is_sudo( )
Undocumented
Function locale_check
locale_check( locale )
Undocumented
Function locale_ensure
locale_ensure( locale )
Undocumented
Function mode
mode( key )
Queries the given Cuisine mode (ie. MODELOCAL, MODESUDO)
Function package_clean
package_clean( *args, **kwargs )
Clean the repository for un-needed files.
Function package_clean_apt
package_clean_apt( package=None )
Undocumented
Function package_clean_emerge
package_clean_emerge( package=None )
Undocumented
Function package_clean_pacman
package_clean_pacman( )
Undocumented
Function package_clean_yum
package_clean_yum( package=None )
Undocumented
Function package_clean_zypper
package_clean_zypper( )
Undocumented
Function package_ensure
package_ensure( *args, **kwargs )
Tests if the given package is installed, and installs it in case it's not already there. If update
is true, then the package will be updated if it already exists.
Function package_ensure_apt
package_ensure_apt( package, update=False )
Ensure apt packages are installed
Function package_ensure_emerge
package_ensure_emerge( package, update=False )
Undocumented
Function package_ensure_pacman
package_ensure_pacman( package, update=False )
Ensure apt packages are installed
Function package_ensure_yum
package_ensure_yum( package, update=False )
Undocumented
Function package_ensure_zypper
package_ensure_zypper( package, update=False )
Undocumented
Function package_install
package_install( *args, **kwargs )
Installs the given package/list of package, optionally updating the package database.
Function package_install_apt
package_install_apt( package, update=False )
Undocumented
Function package_install_emerge
package_install_emerge( package, update=False )
Undocumented
Function package_install_pacman
package_install_pacman( package, update=False )
Undocumented
Function package_install_yum
package_install_yum( package, update=False )
Undocumented
Function package_install_zypper
package_install_zypper( package, update=False )
Undocumented
Function package_remove
package_remove( *args, **kwargs )
Remove package and optionally clean unused packages
Function package_remove_apt
package_remove_apt( package, autoclean=False )
Undocumented
Function package_remove_emerge
package_remove_emerge( package, autoclean=False )
Undocumented
Function package_remove_pacman
package_remove_pacman( package, autoclean=False )
Undocumented
Function package_update
package_update( *args, **kwargs )
Updates the package database (when no argument) or update the package or list of packages given as argument.
Function package_update_apt
package_update_apt( package=None )
Undocumented
Function package_update_emerge
package_update_emerge( package=None )
Undocumented
Function package_update_pacman
package_update_pacman( package=None )
Undocumented
Function package_update_yum
package_update_yum( package=None )
Undocumented
Function package_update_zypper
package_update_zypper( package=None )
Undocumented
Function package_upgrade
package_upgrade( *args, **kwargs )
Updates every package present on the system.
Function package_upgrade_apt
package_upgrade_apt( distupgrade=False )
Undocumented
Function package_upgrade_emerge
package_upgrade_emerge( distupgrade=False )
Undocumented
Function package_upgrade_pacman
package_upgrade_pacman( )
Undocumented
Function package_upgrade_yum
package_upgrade_yum( )
Undocumented
Function package_upgrade_zypper
package_upgrade_zypper( )
Undocumented
Function process_find
process_find( name, exact=False )
Returns the pids of processes with the given name. If exact is False
it will return the list of all processes that start with the given name
.
Function process_kill
process_kill( name, signal=9, exact=False )
Kills the given processes with the given name. If exact is False
it will return the list of all processes that start with the given name
.
Function python_package_ensure
python_package_ensure( *args, **kwargs )
Tests if the given python package is installed, and installes it in case it's not already there.
Function python_package_ensure_easy_install
python_package_ensure_easy_install( package )
The "package" argument, defines the name of the package that will be ensured.
Function python_package_ensure_pip
python_package_ensure_pip( package=None, r=None, pip=None )
The "package" argument, defines the name of the package that will be ensured. The argument "r" referes to the requirements file that will be used by pip and is equivalent to the "-r" parameter of pip. Either "package" or "r" needs to be provided The optional argument "E" is equivalent to the "-E" parameter of pip. E is the path to a virtualenv. If provided, it will be added to the pip call.
Function python_package_install
python_package_install( *args, **kwargs )
Installs the given python package/list of python packages.
Function python_package_install_easy_install
python_package_install_easy_install( package )
The "package" argument, defines the name of the package that will be installed.
Function python_package_install_pip
python_package_install_pip( package=None, r=None, pip=None )
The "package" argument, defines the name of the package that will be installed. The argument "r" referes to the requirements file that will be used by pip and is equivalent to the "-r" parameter of pip. Either "package" or "r" needs to be provided The optional argument "E" is equivalent to the "-E" parameter of pip. E is the path to a virtualenv. If provided, it will be added to the pip call.
Function python_package_remove
python_package_remove( *args, **kwargs )
Removes the given python package.
Function python_package_remove_easy_install
python_package_remove_easy_install( package )
The "package" argument, defines the name of the package that will be removed.
Function python_package_remove_pip
python_package_remove_pip( package, E=None, pip=None )
The "package" argument, defines the name of the package that will be ensured. The argument "r" referes to the requirements file that will be used by pip and is equivalent to the "-r" parameter of pip. Either "package" or "r" needs to be provided The optional argument "E" is equivalent to the "-E" parameter of pip. E is the path to a virtualenv. If provided, it will be added to the pip call.
Function python_package_upgrade
python_package_upgrade( *args, **kwargs )
Upgrades the defined python package.
Function python_package_upgrade_easy_install
python_package_upgrade_easy_install( package )
The "package" argument, defines the name of the package that will be upgraded.
Function python_package_upgrade_pip
python_package_upgrade_pip( package, E=None )
The "package" argument, defines the name of the package that will be upgraded. The optional argument "E" is equivalent to the "-E" parameter of pip. E is the path to a virtualenv. If provided, it will be added to the pip call.
Function repository_ensure_apt
repository_ensure_apt( repository )
Undocumented
Function repository_ensure_emerge
repository_ensure_emerge( repository )
Undocumented
Function repository_ensure_pacman
repository_ensure_pacman( repository )
Undocumented
Function repository_ensure_yum
repository_ensure_yum( repository )
Undocumented
Function repository_ensure_zypper
repository_ensure_zypper( repository )
Undocumented
Function run
run( *args, **kwargs )
A wrapper to Fabric's run/sudo commands that takes into account the MODE_LOCAL
and MODE_SUDO
modes of Cuisine.
Function run_local
run_local( command, sudo=False, shell=True, pty=True, combine_stderr=None )
Local implementation of fabric.api.run() using subprocess.
Note: pty option exists for function signature compatibility and is ignored.
Function select_package
select_package( selection=None )
Selects the type of package subsystem to use (ex:apt, yum, zypper, pacman, or emerge).
Function select_python_package
select_python_package( selection=None )
Undocumented
Function ssh_authorize
ssh_authorize( user, key )
Adds the given key to the .ssh/authorized_keys
for the given user.
Function ssh_keygen
ssh_keygen( user, keytype='dsa' )
Generates a pair of ssh keys in the user's home .ssh directory.
Function ssh_unauthorize
ssh_unauthorize( user, key )
Removes the given key to the .ssh/authorized_keys
for the given user.
Function sudo
sudo( *args, **kwargs )
A wrapper to Fabric's run/sudo commands, using the 'cuisine.MODE_SUDO' global to tell whether the command should be run as regular user or sudo.
Function sudo_password
sudo_password( password=None )
Sets the password for the sudo command.
Function system_uuid
system_uuid( )
Gets a machines UUID (Universally Unique Identifier).
Function system_uuid_alias_add
system_uuid_alias_add( )
Adds system UUID alias to /etc/hosts. Some tools/processes rely/want the hostname as an alias in /etc/hosts e.g. 127.0.0.1 localhost <hostname>
.
Function text_detect_eol
text_detect_eol( text )
Undocumented
Function text_ensure_line
text_ensure_line( text, *lines )
Ensures that the given lines are present in the given text, otherwise appends the lines that are not already in the text at the end of it.
Function text_get_line
text_get_line( text, predicate )
Returns the first line that matches the given predicate.
Function text_normalize
text_normalize( text )
Converts tabs and spaces to single space and strips the text.
Function text_nospace
text_nospace( text )
Converts tabs and spaces to single space and strips the text.
Function text_replace_line
text_replace_line( text, old, new, find= at 0x155c7d0>, process= at 0x155c848> )
Replaces lines equal to old
with new
, returning the new text and the count of replacements.
Function text_strip_margin
text_strip_margin( text, margin='|' )
Undocumented
Function text_template
text_template( text, variables )
Substitutes ${PLACEHOLDER}
s within the text with the corresponding values from variables.
Function upstart_ensure
upstart_ensure( name )
Ensures that the given upstart service is running, restarting it if necessary.
Function user_check
user_check( name=None, uid=None, need_passwd=True )
Checks if there is a user defined with the given name, returning its information as a {"name":<str>,"uid":<str>,"gid":<str>,"home":<str>,"shell":<str>}
or None
if the user does not exists. need_passwd (Boolean) indicates if password to be included in result or not. If set to True it parses getent shadow
and needs sudo access
Function user_create
user_create( name, passwd=None, home=None, uid=None, gid=None, shell=None, uid_min=None, uid_max=None, encrypted_passwd=True, fullname=None, createhome=True )
Creates the user with the given name, optionally giving a specific password/home/uid/gid/shell.
Function user_ensure
user_ensure( name, passwd=None, home=None, uid=None, gid=None, shell=None, fullname=None, encrypted_passwd=True )
Ensures that the given users exists, optionally updating their passwd/home/uid/gid/shell.
Function user_passwd
user_passwd( name, passwd, encrypted_passwd=True )
Sets the given user password. Password is expected to be encrypted by default.
Function user_remove
user_remove( name, rmhome=None )
Removes the user with the given name, optionally removing the home directory and mail spool.
dict
{'python_package': ['easy_install', 'pip'], 'package': ['apt', 'yum', 'zypper', 'pacman', 'emerge']}
dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2)
dict
{'python_package': 'pip', 'package': 'apt'}
dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2)
str
'\n'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'CUISINE_OPTION_PACKAGE'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'CUISINE_OPTION_PYTHON_PACKAGE'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
SRE_Pattern
Compiled regular expression objects
str
'CUISINE_SUDO_PASSWORD'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'0.5.8'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'\r\n'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Module cuisine
cuisine
makes it easy to write automatic server installation and configuration recipes by wrapping common administrative tasks (installing packages, creating users and groups) in Python functions.
cuisine
is designed to work with Fabric and provide all you need for getting your new server up and running in minutes.
Note, that right now, Cuisine only supports Debian-based Linux systems.
See also:
:copyright: (c) 2011-2013 by Sébastien Pierre. :license: BSD, see LICENSE for more details.
Function repository_ensure_yum
repository_ensure_yum( repository )
Undocumented
Function file_update
file_update( location, updater= at 0x1566050> )
Updates the content of the given by passing the existing content of the remote file at the given location to the updater
function.
For instance, if you'd like to convert an existing file to all uppercase, simply do:
file_update("/etc/myfile", lambda _:_.upper())
Function python_package_upgrade_easy_install
python_package_upgrade_easy_install( package )
The "package" argument, defines the name of the package that will be upgraded.
Function upstart_ensure
upstart_ensure( name )
Ensures that the given upstart service is running, restarting it if necessary.
Function package_clean_emerge
package_clean_emerge( package=None )
Undocumented
Function run_local
run_local( command, sudo=False, shell=True, pty=True, combine_stderr=None )
Local implementation of fabric.api.run() using subprocess.
Note: pty option exists for function signature compatibility and is ignored.
Function process_kill
process_kill( name, signal=9, exact=False )
Kills the given processes with the given name. If exact is False
it will return the list of all processes that start with the given name
.
Function package_remove
package_remove( *args, **kwargs )
Remove package and optionally clean unused packages
Function text_strip_margin
text_strip_margin( text, margin='|' )
Undocumented
dict
{'python_package': 'pip', 'package': 'apt'}
dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2)
Function package_update_zypper
package_update_zypper( package=None )
Undocumented
Function package_ensure_yum
package_ensure_yum( package, update=False )
Undocumented
Function system_uuid
system_uuid( )
Gets a machines UUID (Universally Unique Identifier).
Function locale_check
locale_check( locale )
Undocumented
Function python_package_remove_easy_install
python_package_remove_easy_install( package )
The "package" argument, defines the name of the package that will be removed.
Function is_remote
is_remote( )
Undocumented
Function is_sudo
is_sudo( )
Undocumented
Function group_ensure
group_ensure( name, gid=None )
Ensures that the group with the given name (and optional gid) exists.
Function group_user_add
group_user_add( group, user )
Adds the given user/list of users to the given group/groups.
Function group_check
group_check( name )
Checks if there is a group defined with the given name, returning its information as a {"name":<str>,"gid":<str>,"members":<list[str]>}
or None
if the group does not exists.
Function group_create
group_create( name, gid=None )
Creates a group with the given name, and optionally given gid.
Function group_user_ensure
group_user_ensure( group, user )
Ensure that a given user is a member of a given group.
Function is_local
is_local( )
Undocumented
Function group_user_check
group_user_check( group, user )
Checks if the given user is a member of the given group. It will return False
if the group does not exist.
Function group_user_del
group_user_del( group, user )
remove the given user from the given group.
Function file_read
file_read( location )
Reads the remote file at the given location.
Function file_sha256
file_sha256( location )
Returns the SHA-256 sum (as a hex string) for the remote file at the given location.
Function file_local_read
file_local_read( location )
Reads a local file from the given location, expanding ~
and shell variables.
Function file_md5
file_md5( location )
Returns the MD5 sum (as a hex string) for the remote file at the given location.
Function file_upload
file_upload( remote, local, sudo=None, scp=False )
Uploads the local file to the remote location only if the remote location does not exists or the content are different.
Function file_write
file_write( location, content, mode=None, owner=None, group=None, sudo=None, check=True, scp=False )
Writes the given content to the file at the given remote location, optionally setting mode/owner/group.
Function file_unlink
file_unlink( path )
Undocumented
Function mode
mode( key )
Queries the given Cuisine mode (ie. MODELOCAL, MODESUDO)
Function file_ensure
file_ensure( location, mode=None, owner=None, group=None, scp=False )
Updates the mode/owner/group for the remote file at the given location.
Function file_exists
file_exists( location )
Tests if there is a remote file at the given location.
Function file_attribs_get
file_attribs_get( location )
Return mode, owner, and group for remote path. Return mode, owner, and group if remote path exists, None
otherwise.
Function file_is_link
file_is_link( location )
Undocumented
Function file_link
file_link( source, destination, symbolic=True, mode=None, owner=None, group=None )
Creates a (symbolic) link between source and destination on the remote host, optionally setting its mode/owner/group.
Function file_is_dir
file_is_dir( location )
Undocumented
Function file_is_file
file_is_file( location )
Undocumented
Function file_attribs
file_attribs( location, mode=None, owner=None, group=None )
Updates the mode/owner/group for the remote file at the given location.
Function dispatch
dispatch( prefix=None )
Dispatches the current function to specific implementation. The prefix
parameter indicates the common option prefix, and the select_[option]()
function will determine the function suffix.
For instance the package functions are defined like this:
{{{ @dispatch("package") def packageensure(...): ... def packageensureapt(...): ... def packageensure_yum(…): … }}}
and then when a user does
{{{ cuisine.selectpackage("yum") cuisine.packageensure(…) }}}
then the dispatch
function will dispatch package_ensure
to package_ensure_yum
.
If your prefix is the first word of the function name before the first _
then you can simply use @dispatch
without parameters.
Function file_append
file_append( location, content, mode=None, owner=None, group=None )
Appends the given content to the remote file at the given location, optionally updating its mode/owner/group.
Function text_normalize
text_normalize( text )
Converts tabs and spaces to single space and strips the text.
Function package_install_pacman
package_install_pacman( package, update=False )
Undocumented
Function command_ensure
command_ensure( command, package=None )
Ensures that the given command is present, if not installs the package with the given name, which is the same as the command by default.
Function connect
connect( host, user='root' )
Sets Fabric's current host to the given host. This is useful when using Cuisine in standalone.
Function _init
_init( )
Undocumented
Function command_check
command_check( command )
Tests if the given command is available on the system.
Function dir_exists
dir_exists( location )
Tells if there is a remote directory at the given location.
Function dir_remove
dir_remove( location, recursive=True )
Function dir_attribs
dir_attribs( location, mode=None, owner=None, group=None, recursive=False )
Updates the mode/owner/group for the given remote directory.
Function dir_ensure
dir_ensure( location, recursive=False, mode=None, owner=None, group=None )
Ensures that there is a remote directory at the given location, optionally updating its mode/owner/group.
If we are not updating the owner/group then this can be done as a single ssh call, so use that method, otherwise set owner/group after creation.
bool
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
Class mode_sudo
Cuisine functions will be executed with sudo.
Function package_upgrade
package_upgrade( *args, **kwargs )
Updates every package present on the system.
Method __init__
__init__( self, value=None )
Undocumented
Class mode_user
Cuisine functions will be executed as the current user.
Method __init__
__init__( self, value=None )
Undocumented
Method __init__
__init__( self, value=None )
Undocumented
str
'CUISINE_MODE_SUDO'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Class mode_local
Sets Cuisine into local mode, where run/sudo won't go through Fabric's API, but directly through a popen. This allows you to easily test your Cuisine scripts without using Fabric.
Method __init__
__init__( self, value=None )
Undocumented
Module cuisine
cuisine
makes it easy to write automatic server installation and configuration recipes by wrapping common administrative tasks (installing packages, creating users and groups) in Python functions.
cuisine
is designed to work with Fabric and provide all you need for getting your new server up and running in minutes.
Note, that right now, Cuisine only supports Debian-based Linux systems.
See also:
:copyright: (c) 2011-2013 by Sébastien Pierre. :license: BSD, see LICENSE for more details.
str
'CUISINE_MODE_LOCAL'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function package_ensure_apt
package_ensure_apt( package, update=False )
Ensure apt packages are installed
Function package_install
package_install( *args, **kwargs )
Installs the given package/list of package, optionally updating the package database.
Function text_detect_eol
text_detect_eol( text )
Undocumented
Function package_upgrade_yum
package_upgrade_yum( )
Undocumented
str
'CUISINE_SUDO_PASSWORD'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function user_passwd
user_passwd( name, passwd, encrypted_passwd=True )
Sets the given user password. Password is expected to be encrypted by default.
Function package_clean_yum
package_clean_yum( package=None )
Undocumented
Function select_python_package
select_python_package( selection=None )
Undocumented
Function python_package_ensure_easy_install
python_package_ensure_easy_install( package )
The "package" argument, defines the name of the package that will be ensured.
Function repository_ensure_apt
repository_ensure_apt( repository )
Undocumented
Function package_remove_emerge
package_remove_emerge( package, autoclean=False )
Undocumented
Class mode_remote
Comes back to Fabric's API for run/sudo. This basically reverts the effect of calling mode_local()
.
str
'\n'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'CUISINE_OPTION_PACKAGE'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function package_upgrade_apt
package_upgrade_apt( distupgrade=False )
Undocumented
Function python_package_install_easy_install
python_package_install_easy_install( package )
The "package" argument, defines the name of the package that will be installed.
Function python_package_upgrade
python_package_upgrade( *args, **kwargs )
Upgrades the defined python package.
Function run
run( *args, **kwargs )
A wrapper to Fabric's run/sudo commands that takes into account the MODE_LOCAL
and MODE_SUDO
modes of Cuisine.
Function package_clean_apt
package_clean_apt( package=None )
Undocumented
Function text_replace_line
text_replace_line( text, old, new, find= at 0x155c7d0>, process= at 0x155c848> )
Replaces lines equal to old
with new
, returning the new text and the count of replacements.
Function package_install_zypper
package_install_zypper( package, update=False )
Undocumented
Function python_package_ensure_pip
python_package_ensure_pip( package=None, r=None, pip=None )
The "package" argument, defines the name of the package that will be ensured. The argument "r" referes to the requirements file that will be used by pip and is equivalent to the "-r" parameter of pip. Either "package" or "r" needs to be provided The optional argument "E" is equivalent to the "-E" parameter of pip. E is the path to a virtualenv. If provided, it will be added to the pip call.
Inhertied Methods
Values
Inhertied Values
Function ssh_unauthorize
ssh_unauthorize( user, key )
Removes the given key to the .ssh/authorized_keys
for the given user.
Function sudo_password
sudo_password( password=None )
Sets the password for the sudo command.
Function package_ensure_pacman
package_ensure_pacman( package, update=False )
Ensure apt packages are installed
bool
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
Function package_upgrade_emerge
package_upgrade_emerge( distupgrade=False )
Undocumented
str
'CUISINE_OPTION_PYTHON_PACKAGE'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function user_check
user_check( name=None, uid=None, need_passwd=True )
Checks if there is a user defined with the given name, returning its information as a {"name":<str>,"uid":<str>,"gid":<str>,"home":<str>,"shell":<str>}
or None
if the user does not exists. need_passwd (Boolean) indicates if password to be included in result or not. If set to True it parses getent shadow
and needs sudo access
Function package_remove_pacman
package_remove_pacman( package, autoclean=False )
Undocumented
Function locale_ensure
locale_ensure( locale )
Undocumented
Function repository_ensure_pacman
repository_ensure_pacman( repository )
Undocumented
Function process_find
process_find( name, exact=False )
Returns the pids of processes with the given name. If exact is False
it will return the list of all processes that start with the given name
.
str
'\r\n'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function text_ensure_line
text_ensure_line( text, *lines )
Ensures that the given lines are present in the given text, otherwise appends the lines that are not already in the text at the end of it.
Function package_install_apt
package_install_apt( package, update=False )
Undocumented
Function package_ensure
package_ensure( *args, **kwargs )
Tests if the given package is installed, and installs it in case it's not already there. If update
is true, then the package will be updated if it already exists.
Inhertied Methods
Values
Inhertied Values
Function python_package_remove
python_package_remove( *args, **kwargs )
Removes the given python package.
Function system_uuid_alias_add
system_uuid_alias_add( )
Adds system UUID alias to /etc/hosts. Some tools/processes rely/want the hostname as an alias in /etc/hosts e.g. 127.0.0.1 localhost <hostname>
.
Function package_ensure_zypper
package_ensure_zypper( package, update=False )
Undocumented
Function package_update
package_update( *args, **kwargs )
Updates the package database (when no argument) or update the package or list of packages given as argument.
Function user_create
user_create( name, passwd=None, home=None, uid=None, gid=None, shell=None, uid_min=None, uid_max=None, encrypted_passwd=True, fullname=None, createhome=True )
Creates the user with the given name, optionally giving a specific password/home/uid/gid/shell.
Function ssh_keygen
ssh_keygen( user, keytype='dsa' )
Generates a pair of ssh keys in the user's home .ssh directory.
SRE_Pattern
Compiled regular expression objects
Function package_upgrade_pacman
package_upgrade_pacman( )
Undocumented
Function select_package
select_package( selection=None )
Selects the type of package subsystem to use (ex:apt, yum, zypper, pacman, or emerge).
Function package_clean_pacman
package_clean_pacman( )
Undocumented
Function package_install_emerge
package_install_emerge( package, update=False )
Undocumented
Function text_get_line
text_get_line( text, predicate )
Returns the first line that matches the given predicate.
Inhertied Methods
Values
Inhertied Values
Function python_package_upgrade_pip
python_package_upgrade_pip( package, E=None )
The "package" argument, defines the name of the package that will be upgraded. The optional argument "E" is equivalent to the "-E" parameter of pip. E is the path to a virtualenv. If provided, it will be added to the pip call.
Function text_template
text_template( text, variables )
Substitutes ${PLACEHOLDER}
s within the text with the corresponding values from variables.
Function package_remove_apt
package_remove_apt( package, autoclean=False )
Undocumented
Function package_update_emerge
package_update_emerge( package=None )
Undocumented
Inhertied Methods
Values
Inhertied Values
Function python_package_install
python_package_install( *args, **kwargs )
Installs the given python package/list of python packages.
Function python_package_remove_pip
python_package_remove_pip( package, E=None, pip=None )
The "package" argument, defines the name of the package that will be ensured. The argument "r" referes to the requirements file that will be used by pip and is equivalent to the "-r" parameter of pip. Either "package" or "r" needs to be provided The optional argument "E" is equivalent to the "-E" parameter of pip. E is the path to a virtualenv. If provided, it will be added to the pip call.
Function package_clean
package_clean( *args, **kwargs )
Clean the repository for un-needed files.
Function repository_ensure_zypper
repository_ensure_zypper( repository )
Undocumented
Function user_ensure
user_ensure( name, passwd=None, home=None, uid=None, gid=None, shell=None, fullname=None, encrypted_passwd=True )
Ensures that the given users exists, optionally updating their passwd/home/uid/gid/shell.
Function package_update_apt
package_update_apt( package=None )
Undocumented
Function python_package_ensure
python_package_ensure( *args, **kwargs )
Tests if the given python package is installed, and installes it in case it's not already there.
Function package_ensure_emerge
package_ensure_emerge( package, update=False )
Undocumented
Function sudo
sudo( *args, **kwargs )
A wrapper to Fabric's run/sudo commands, using the 'cuisine.MODE_SUDO' global to tell whether the command should be run as regular user or sudo.
Function user_remove
user_remove( name, rmhome=None )
Removes the user with the given name, optionally removing the home directory and mail spool.
Function package_update_pacman
package_update_pacman( package=None )
Undocumented
Function python_package_install_pip
python_package_install_pip( package=None, r=None, pip=None )
The "package" argument, defines the name of the package that will be installed. The argument "r" referes to the requirements file that will be used by pip and is equivalent to the "-r" parameter of pip. Either "package" or "r" needs to be provided The optional argument "E" is equivalent to the "-E" parameter of pip. E is the path to a virtualenv. If provided, it will be added to the pip call.
Function package_install_yum
package_install_yum( package, update=False )
Undocumented
Function text_nospace
text_nospace( text )
Converts tabs and spaces to single space and strips the text.
str
'0.5.8'
str(object='') -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function package_upgrade_zypper
package_upgrade_zypper( )
Undocumented
Function package_update_yum
package_update_yum( package=None )
Undocumented
dict
{'python_package': ['easy_install', 'pip'], 'package': ['apt', 'yum', 'zypper', 'pacman', 'emerge']}
dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2)
Function repository_ensure_emerge
repository_ensure_emerge( repository )
Undocumented
Function ssh_authorize
ssh_authorize( user, key )
Adds the given key to the .ssh/authorized_keys
for the given user.
Function package_clean_zypper
package_clean_zypper( )
Undocumented