Metadata-Version: 1.0
Name: slapos.cookbook
Version: 0.30
Summary: SlapOS recipes.
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: GPLv3
Description: slapos.cookbook
        ===============
        
        Cookbook of SlapOS recipes.
        
        Changes
        =======
        
        0.30 (2011-10-06)
        -----------------
        
         * LAMP : Update apache and php configuration files to work with a lot of different
           PHP software. [Alain Takoudjou Kamdem]
        
        0.29 (2011-09-28)
        -----------------
        
         * mysql: bug fix on database recovering (avoid importing dump two times). [Antoine Catton]
        
        0.28 (2011-09-27)
        -----------------
        
         * lamp.request: requesting the mariadb software release instead of itself. [Antoine Catton]
         * lamp.request: adding support of remote backup repo (using a different
           software type). The default remote backup is a davstorage. [Antoine Catton]
        
        0.27 (2011-09-27)
        -----------------
        
         * mysql: add backup and backup recovering using different software type. [Antoine Catton]
        
        0.26 (2011-09-27)
        -----------------
        
         * Davstorage: returning more explicit url (using webdav scheme). [Antoine Catton]
         * Other mysql minor fixes. [Antoine Catton]
        
        0.25 (2011-09-21)
        -----------------
        
         * mysql: Restore to default behaviour. [Antoine Catton]
         * mysql: Use mysqldump instead of non trustable backup system. [Antoine Catton]
        
        0.24 (2011-09-19)
        -----------------
        
         * mysql: Unhardcode the requested url. [Antoine Catton]
        
        0.23 (2011-09-19)
        -----------------
        
         * Clean code in mysql recipe [Cedric de Saint Martin]
         * librecipe: Provide createPromiseWrapper method. [Antoine Catton]
         * kvm: Expose promisee checks to slapgrid. [Antoine Catton]
         * davstorage: Initial version. [Antoine Catton]
         * mysql: Support DAV backup. [Antoine Catton]
        
        0.22 (2011-09-12)
        -----------------
        
         * Fix haproxy setup for erp5 [Sebastien Robin]
        
        0.21 (2011-09-12)
        -----------------
        
         * Update PHP configuration to set session and date options.
           [Alain Takoudjou Kamdem]
         * Improve logrotate policy and haproxy config for erp5
           [Sebastien Robin]
        
        0.20 (2011-09-07)
        -----------------
        
         * Update and fix KVM/noVNC installation to be compatible with new WebSocket
           protocol (HyBi-10) required by Chrome >= 14 and Firefox >= 7.
           [Cedric de Saint Martin]
        
        0.19 (2011-09-06)
        -----------------
        
         * Update PHP configuration to disable debug logging. [Cedric de Saint Martin]
        
        0.18 (2011-08-25)
        -----------------
        
         * Repackage egg to include needed .bin files. [Cedric de Saint Martin]
        
        0.17 (2011-08-25)
        -----------------
        
         * Add XWiki software release [Cedric de Saint Martin]
        
        0.16 (2011-07-15)
        -----------------
        
         * Improve Vifib and pure ERP5 instantiation [Rafael Monnerat]
         * Use configurator for Vifib [Rafael Monnerat]
        
        0.15 (2011-07-13)
        -----------------
        
         * Encrypt connection by default. [Vivien Alger]
        
        0.14 (2011-07-13)
        -----------------
        
         * Provide new way to instantiate kvm. [Cedric de Saint Martin, Vivien Alger]
        
        0.13 (2011-07-13)
        -----------------
        
         * Implement generic execute_wait wrapper, which allows to wait for some files
           to appear before starting service depending on it. [Łukasz Nowak]
        
        0.12 (2011-07-11)
        -----------------
        
         * Fix slaprunner, phpmyadmin software releases, added
           wordpress software release. [Cedric de Saint Martin]
        
        0.11 (2011-07-07)
        -----------------
        
         * Enable test suite runner for vifib.
        
        0.10 (2011-07-01)
        -----------------
        
         * Add PHPMyAdmin software release used in SlapOS tutorials
           [Cedric de Saint Martin]
         * Add slaprunner software release [Cedric de Saint Martin]
        
        0.9 (2011-06-24)
        ----------------
        
         * mysql recipe : Changing slapos.recipe.erp5.execute to
           slapos.recipe.librecipe.execute [Cedric de Saint Martin]
        
        0.8 (2011-06-15)
        ----------------
        
         * Add MySQL and MariaDB standalone software release and recipe
           [Cedric de Saint Martin]
         * Fixed slapos.recipe.erp5testnode instantiation [Sebastien Robin]
        
        0.7 (2011-06-14)
        ----------------
        
         * Fix slapos.recipe.erp5 package by providing site.zcml in it. [Łukasz Nowak]
         * Improve slapos.recipe.erp5testnode partition instantiation error reporting
           [Sebastien Robin]
        
        0.6 (2011-06-13)
        ----------------
        
         * Fixed slapos.recipe.erp5 instantiation. [Łukasz Nowak]
        
        0.5 (2011-06-13)
        ----------------
        
         * Implement zabbix agent instantiation. [Łukasz Nowak]
         * Drop dependency on Zope2. [Łukasz Nowak]
         * Share more in slapos.recipe.librecipe module. [Łukasz Nowak]
        
        0.4 (2011-06-09)
        ----------------
        
         * Remove reference to slapos.tool.networkcache as it was removed from pypi. [Łukasz Nowak]
         * Add Kumofs standalone software release and recipe [Cedric de Saint Martin]
         * Add Memcached standalone software release and recipe [Cedric de Saint Martin]
        
        0.3 (2011-06-09)
        ----------------
        
         * Moved out template and build to separate distributions [Łukasz Nowak]
         * Depend on slapos.core instead of depracated slapos.slap [Romain Courteaud]
         * Fix apache module configuration [Kazuhiko Shiozaki]
         * Allow to control full environment in erp5 module [Łukasz Nowak]
        
        0.2 (2011-05-30)
        ----------------
        
          * Allow to pass zope_environment in erp5 entry point [Łukasz Nowak]
        
        0.1 (2011-05-27)
        ----------------
        
          * All slapos.recipe.* became slapos.cookbook:* [Łukasz Nowak]
        
        
        cloudooo
        =========
        
        Instantiates CloudOOo instance.
        
        
        download
        ========
        
        Extremely simple recipe to download using zc.buildout download utility.
        
        Usage
        -----
        
        ::
        
          [buildout]
          parts =
            download
        
          [download]
          recipe = slapos.cookbook:download
          url = https://some.url/file
        
        Such profile will download https://some.url/file and put it in
        buildout:parts-directory/download/download
        
        filename parameter can be used to change destination named filename.
        
        destination parameter allows to put explicit destination.
        
        md5sum parameter allows pass md5sum.
        
        mode (octal, so for rw-r--r-- use 0644) allows to set mode
        
        Exposes target attribute which is path to downloaded file.
        
        Notes
        -----
        
        This recipe suffers from buildout download utility issue, which will do not
        try to redownload resource with wrong md5sum.
        
        
        erp5
        ====
        
        Instantiates ERP5 instance.
        
        
        erp5testnode
        ============
        
        
        helloworld
        ==========
        
        It only installs a dummy wrapper saying "Hello World!" and sends to the master an "HelloWorld" parameter.
        
        
        kumofs
        =========
        
        Instantiates KumoFS instance.
        
        
        kvm
        ===
        
        Introduction
        ------------
        
        The erp5.recipe.kvm aims to integrate KVM setups and buildout. This recipe is 
        able to download one remote image and setup a KVM environment to use it. 
        
        This recipe is also capable to reuse images or partitions already present on
        disk to create the setup. 
        
        Examples
        --------
        
        The follow examples lists different kind of configurations.
        
        
        KVM with Remote and gzipped Image
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        ::
        
            [kvm-testing-with-remote-gzip-image]
            image = http://URL/public.mdv2010.0_x86_64.qcow2.img.gz
        
            # md5 checks are optional
            md5_download = adcff8adcff8adcff8adcff8
            md5_image = 1a4e371a4e371a4e371a4e371a4e37
        
            gzip = true
            
            # Use -hda instead -drive arg
            # Default is drive (see Options bellow)
            image_type = hda
        
            ### Common Configuration bellow. ###
            
            # VNC is optional
            kvm_vnc = <SOME-IP>:<VNC-DISPLAY>
        
            # Graphic is optional
            kvm_graphic = std
        
            
            # Define list of redirections.
            kvm_redir =
              tcp:13480::80
            
            kvm_net =
              user,hostname=publicmandriva
              nic,model=ne2k_pci
        
            # This automatically create a redirection for 13456 -> 22
            ssh_port = 13456
            ssh_key_path = /path/to/mykey.key
        
        KVM with Remote and raw Image
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        ::
        
            [kvm-testing-with-remote-raw-image]
            image = http://URL/public.mdv2010.0_x86_64.qcow2.img
            md5_download = 1a4e371a4e371a4e371a4e371a4e37
            md5_image = 1a4e371a4e371a4e371a4e371a4e37
        
            gzip = false
        
            ### The Rest Same configuration as previous ###
        
        KVM with direct local Image file
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        This does not copy and/or download the image::
        
            [kvm-testing-with-local-image]
        
            file = /home/you/public.mdv2010.0_x86_64.qcow2.img
            md5_image = 1a4e371a4e371a4e371a4e371a4e37
        
            ### The Rest Same configuration as previous ###
        
        KVM with a linux partition
        ~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        This does not copy and/or download the image::
        
            [kvm-testing-a-linux-partition]
        
            file = /dev/sdb
        
            ### The Rest Same configuration as previous ###
        
        
        Options
        -------
        
        
        location
        
          When define, it does not use buildout parts directory to allocate the image.
        
        image
        
          URL to a remote image. 
        
        file 
        
          Use file makes recipe ignore image option. You can define a path to a image
          or partion to use. 
        
        image_type 
        
          You can define how the KVM will use the image with "-hdx" or "-drive". By
          default it uses drive and the result is:
        
            "kvm -drive file=IMAGE,if=virtio,cache=none,boot=on ..."
        
          if you use image_type=hda:
             
            "kvm -hda IMAGE ..." 
        
        gzip
        
          If true means the image is compressed (gzipped), and the recipe will
          uncompress the image before copy it.
        
        md5_download
        
          When defined, this values is used to verify the file downloaded.
        
        md5_image
        
          When defined, this values is used to verify the image generated, don't use it
          when a partition is used in file parameter.
        
        kvm_vnc
        
          Define the ip-address:display used by KVM to start the VNC server. If not
          defined, no VNC port is created.
        
        kvm_redir
        
          Define port redirections to the buildout.
        
        kvm_graphic
        
          If defined it adds the "-vga value" at the KVM command.
        
        kvm_net
        
          Define the net definitions, each value defines one "-net" in kvm command.
          Example:
          
            kvm_net =
              user,hostname=publicmandriva
              nic,model=ne2k_pci
        
          It generates:
        
            "kvm -net user,hostname=publicmandriva -net  nic,model=ne2k_pci ..."
        
        kvm_snapshot 
        
          Use "-snapshot" when run a KVM. This not write the changes direct into the
          image. Default value is False.
        
        ssh_port
        
          If defined creates a new redirection for port 22 and creates few script to
          connect to the instance.
        
        ssh_hostname
        
          By default it uses localhost. You don't need to define this.
        
        ssh_key_path
        
          Path to the ssh key used to connect without password to the image running.
          
        ssh_user
        
          Define the server that will be used to connect to the instance. 
        
        kvm_bin_directory
        
          Place where the scripts will be created. By default it uses bin-directory from
          buildout.
        
        kvm_run_directory
        
           Place where the pid file will be created, by default it uses var-directory
           from buildout.
        
        
        Generated Commands
        ------------------
        
        Few scripts are generated to you manage your KVM instance. The scripts names are
        created with the followed standard:
        
           KVM-PARTS-NAME-ctl
        
        Commands usage
        ~~~~~~~~~~~~~~
           
        KVM-PARTS-NAME-ctl (start|stop|status|restart)
          
          This script is used to manage the KVM instance.
        
        
        KVM-PARTS-NAME-sendfile REMOTEFILE LOCALFILE
        
          Copy the local file to a remote place.
        
        KVM-PARTS-NAME-getfile REMOTEFILE LOCALFILE
        
          Copy the remote file to a local place.
        
        KVM-PARTS-NAME-runscript COMMAND
        
          Run a command into remote KVM computer.
        
        
        libcloud
        ========
        
        Slapified recipe to interact with any libcloud supported IaaS system
        
        
        libcloudrequest
        ===============
        
        
        librecipe
        =========
        
        Thanks to using slapos.cookbook:librecipe it is easier to create zc.buildout recipes in SlapOS environment.
        
        How to use?
        -----------
        
        In setup.py of recipe add only one install requires to slap.lib.recipe.
        
        In code itself subclass from slap.lib.recipe.BaseSlapRecipe.BaseSlapRecipe.
        
        Use _install hook:
        
        ::
        
          from slap.lib.recipe.BaseSlapRecipe import BaseSlapRecipe
        
          class Recipe(BaseSlapRecipe):
            ...
            def _install(self):
              # refer below for list of available objects
              specific code
              of recipe
        
        Available variables self.:
        
         * name and options passed by zc.buildout during init
         * work_directory -- buildout's directory
         * bin_directory -- places for generated binaries
         * running_wrapper_location -- filename of wrapper to create
         * data_root_directory -- directory container for data -- inside this
           directory it is advised to create named directories for provided servers
           which needs data
         * backup_directory -- directory container for backups -- inside this
           directory it is advised o created named directories for backups, with same
           structure as in data_root_directory
         * var_directory -- container for various, unix following things:
        
           * log_directory -- container for logs
           * run_directory -- container for pidfiles and sockets
        
         * etc_directory -- place to put named files and directories of configuration
           for provided servers
         * computer_id -- id of computer
         * computer_partition_id -- if of computer partition
         * server_url - url of Vifib server
         * software_release_url -- url of software release being instantiated
         * slap -- initialised connection to Vifib server
         * computer_partition -- initialised connection to computer partition
         * request -- shortcut to computer partition request method
        
        By default all directories are created before calling _install hook.
        
        _install method shall return list of paths which are safe to be removed by
        buildout during part uninstallation.
        
        Important assumptions
        ---------------------
        
        Because in SlapOS environment zc.buildout does not know when data are changed,
        recipes shall be always uninstalled/installed. This is done during constructing
        recipe instance which subclasses from BaseSlapRecipe.
        
        
        memcached
        =========
        
        Instantiates Memcached instance.
        
        
        mysql
        =========
        
        Instantiates MySQL instance.
        
        
        nbdserver
        =========
        
        
        nosqltestbed
        ============
        
        
        proactive
        =========
        Instantiate an proactive environment.
        
        
        sheepdogtestbed
        ===============
        
        
        siptester
        =========
        
        
        slaprunner
        ==========
        
        
        testnode
        ========
        
        Generic testnode.
        
        
        vifib
        =====
        
        
        xwiki
        =====
        
        Instantiates an xwiki environment.
        
        
        zabbixagent
        ===========
        
        
Keywords: slapos recipe
Platform: UNKNOWN
Classifier: Framework :: Buildout :: Recipe
Classifier: Programming Language :: Python
