$TITLE
Modules
private protected

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.

wrapper_descriptor

1.repr_() <==> repr(x)

wrapper_descriptor

1.str_() <==> str(x)

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 )

Removes a directory

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 )

Removes a directory

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.

wrapper_descriptor

1.repr_() <==> repr(x)

wrapper_descriptor

1.str_() <==> str(x)

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
Classes
Functions
λrun
Values

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