Skip to main content

SlapOS recipes.

Project description

slapos.cookbook

Cookbook of SlapOS recipes.

Changes

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

Project details


Release history Release notifications | RSS feed

This version

0.23

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slapos.cookbook-0.23.tar.gz (120.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page