Commit fb9fe39f authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki

Merge branch 'erp5-component' into erp5

parents c4f5ca68 58c43711
......@@ -10,8 +10,8 @@ parts =
[dbus]
recipe = slapos.recipe.cmmi
url = http://dbus.freedesktop.org/releases/dbus/dbus-1.8.0.tar.gz
md5sum = 059fbe84e39fc99c67a14f15b1f39dff
url = http://dbus.freedesktop.org/releases/dbus/dbus-1.8.6.tar.gz
md5sum = 6a08ba555d340e9dfe2d623b83c0eea8
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-options =
--disable-static
......
......@@ -6,11 +6,12 @@ extends =
../libxml2/buildout.cfg
../perl/buildout.cfg
../zlib/buildout.cfg
../xz-utils/buildout.cfg
[gettext]
recipe = slapos.recipe.cmmi
url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.3.2.tar.gz
md5sum = 241aba309d07aa428252c74b40a818ef
url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.1.tar.xz
md5sum = b52987f49bc99fa8b410270d47a9d52b
configure-options =
--disable-static
......@@ -28,6 +29,6 @@ configure-options =
--without-xz
environment =
PATH=${perl:location}/bin:%(PATH)s
PATH=${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
CPPFLAGS=-I${libxml2:location}/include -I${zlib:location}/include -I${ncurses:location}/include
LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib
......@@ -15,8 +15,8 @@ parts =
[git]
recipe = slapos.recipe.cmmi
url = https://www.kernel.org/pub/software/scm/git/git-2.0.0.tar.xz
md5sum = 0646202ae979e4339f3e47f2375b5773
url = https://www.kernel.org/pub/software/scm/git/git-2.0.1.tar.xz
md5sum = 6d28a5d112379c20c7f7df9e0ffb070c
configure-options =
--with-curl=${curl:location}
--with-openssl=${openssl:location}
......
......@@ -8,8 +8,8 @@ parts =
[grep]
recipe = slapos.recipe.cmmi
url = http://ftp.gnu.org/gnu/grep/grep-2.18.tar.xz
md5sum = 7439f8266f50844b56cc3e2721606541
url = http://ftp.gnu.org/gnu/grep/grep-2.20.tar.xz
md5sum = 2cbea44a4f1548aee20b9ff2d3076908
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
CPPFLAGS=-I${pcre:location}/include
......
......@@ -11,9 +11,9 @@ extends =
[groonga]
recipe = slapos.recipe.cmmi
version = 4.0.2
version = 4.0.3
url = http://packages.groonga.org/source/groonga/groonga-${:version}.tar.gz
md5sum = eff2c4cf8e26f57fee66fc843be504d9
md5sum = 6f0cb64c0643fc2dd61df6fc542e17e2
configure-options =
--disable-static
--disable-glibtest
......
......@@ -3,23 +3,31 @@
[buildout]
extends =
../openssl/buildout.cfg
../pcre/buildout.cfg
../zlib/buildout.cfg
parts = haproxy
[haproxy]
recipe = slapos.recipe.cmmi
url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.25.tar.gz
md5sum = 74b5ec1f0f9b4d148c8083bcfb512ccd
url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.5.1.tar.gz
md5sum = 49640cf3ddd793a05fbd3394481a1ed4
configure-command = true
# If the system is running on Linux 2.6, we use "linux26" as the TARGET,
# otherwise use "generic".
# For ARCH value, x86_64 and i[3456]86 are supported.
make-options =
TARGET="$(uname -sr 2>/dev/null|grep -Eq '^Linux (2\.6|3)' && echo linux26 || echo generic)"
TARGET="$(uname -sr 2>/dev/null|grep -Eq '^Linux (2\.6\.2[89]|2\.6\.[3-9]|3)' && echo linux2628 || echo generic)"
ARCH="$(uname -m 2>/dev/null|grep -E '^(x86_64|i[3456]86)$')"
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
USE_OPENSSL=1
SSL_INC=${openssl:location}/include
SSL_LIB=${openssl:location}/lib
USE_PCRE=1
ADDLIB=-Wl,-rpath=${pcre:location}/lib
USE_ZLIB=1
ZLIB_INC=${zlib:location}/include
ZLIB_LIB=${zlib:location}/lib
ADDLIB="-Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${pcre:location}/lib -Wl,-rpath=${zlib:location}/lib"
environment =
PATH=${pcre:location}/bin:%(PATH)s
......@@ -12,11 +12,11 @@ find-links =
[libreoffice-bin]
recipe = slapos.recipe.build
# here, two %s are used, first one is for directory name (eg. x86_64), and second one is for filename (eg. x86-64).
version = 4.2.4.2
version = 4.2.5.2
url = http://downloadarchive.documentfoundation.org/libreoffice/old/${:version}/rpm/%s/LibreOffice_${:version}_Linux_%s_rpm.tar.gz
# supported architectures md5sums
md5sum_x86 = 2f58aafdbfc7e29ae3ed077463a9a329
md5sum_x86-64 = 8d6617a8a5a9e4a7655d25c8660386d4
md5sum_x86 = 43b8a8e27fa655d487123c59e97083bc
md5sum_x86-64 = 0da0e833b3ee2227c25db2c658bd96cc
# where office code can be found?
officedir = libreoffice4.2
......
......@@ -27,9 +27,9 @@ python = python2.7
[python2.7]
recipe = slapos.recipe.cmmi
package_version = 2.7.6
package_version = 2.7.8
package_version_suffix =
md5sum = bcf93efa8eaf383c98ed3ce40b763497
md5sum = d235bdfa75b8396942e360a70487ee00
depends =
${gdbm:version}
......
......@@ -134,7 +134,7 @@ meld3 = 1.0.0
mr.developer = 1.30
netaddr = 0.7.11
pyparsing = 2.0.2
six = 1.7.2
six = 1.7.3
slapos.core = 1.1.2
slapos.libnetworkcache = 0.14.1
slapos.recipe.cmmi = 0.2
......
......@@ -31,9 +31,10 @@ configure-options =
--with-ncurses=${ncurses:location}
--with-tcl=${tcl:location}/lib/
--with-zlib=${zlib:location}
--enable-experimental-plugins
environment =
PATH=${make:location}/bin:${libtool:location}/bin:${pkgconfig:location}/bin:%(PATH)s
LDFLAGS = -L${tcl:location}/lib -Wl,-rpath=${tcl:location}/lib
LDFLAGS = -L${tcl:location}/lib -Wl,-rpath=${tcl:location}/lib -Wl,-rpath=${openssl:location}/lib
make-target =
check
install
......@@ -20,16 +20,20 @@ Apache frontend is available in 3 software types:
About replicate frontend
========================
Slaves of the root instance (type "replicate") are sent as a parameter to requested frontends which will process them. The only difference is that they will then return the « would-be published information » to the root instance instead of publishing it. The root instance will then do a synthesis and publish the information to its slaves. The replicate instance only use 3 type of parameters for itself and will transmit the rest to requested frontends.
Slaves of the root instance (type "replicate") are sent as a parameter to requested frontends which will process them. The only difference is that they will then return the « would-be published information » to the root instance instead of publishing it. The root instance will then do a synthesis and publish the information to its slaves. The replicate instance only use 5 type of parameters for itself and will transmit the rest to requested frontends.
These parameters are :
* "-frontend-type" : the type to deploy frontends with. (default to 2)
* "-frontend-quantity" : The quantity of frontends to request (default to "default")
* "-frontend-i-state": The state of frontend i
* "-frontend-software-release-url": Software release to be used for frontends, default to the current software release
* "-sla-i-foo" : where "i" is the number of the concerned frontend (between 1 and "-frontend-quantity") and "foo" a sla parameter.
ex:
<parameter id="-frontend-quantity">3</parameter>
<parameter id="-frontend-type">custom-personal</parameter>
<parameter id="-frontend-2-state">stopped</parameter>
<parameter id="-sla-3-computer_guid">COMP-1234</parameter>
will request the third frontend on COMP-1234. All frontends will be of software type "custom-personal".
<parameter id="-frontend-software-release-url">http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/tags/slapos-0.183:/software/apache-frontend/software.cfg</parameter>
will request the third frontend on COMP-1234. All frontends will be of software type "custom-personal". The second frontend will be requested with the state stopped
Note: the way slaves are transformed to a parameter avoid modifying more than 3 lines in the frontend logic.
Important NOTE: The way you ask for slave to a replicate frontend is the same as the one you would use for the software given in "-frontend-quantity". Do not forget to use "replicate" for software type. XXXXX So far it is not possible to do a simple request on a replicate frontend if you do not know the software_guid or other sla-parameter of the master instance. In fact we do not know yet the software type of the "requested" frontends. TO BE IMPLEMENTED
......
......@@ -67,14 +67,14 @@ mode = 0644
[template-apache-frontend]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-apache-frontend.cfg
md5sum = 070275aa2b2941702cc9ec637fe778e1
md5sum = 05216295ad8ab5ebf34644ac253f0db6
output = ${buildout:directory}/template-apache-frontend.cfg
mode = 0644
[template-apache-replicate]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-apache-replicate.cfg.in
md5sum = 82c88a4b4856bfffec3d7ef24e372f38
md5sum = 5de85259870dc4364954018041561882
mode = 0644
[template-slave-list]
......@@ -92,7 +92,7 @@ mode = 640
[template-replicate-publish-slave-information]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/templates/replicate-publish-slave-information.cfg.in
md5sum = a2cf00b24877bf747e2408d444f16f05
md5sum = 665e83d660c9b779249b2179d7ce4b4e
mode = 640
[template-apache-frontend-configuration]
......
......@@ -29,7 +29,9 @@ parts =
trafficserver-configuration-directory
trafficserver-records-config
trafficserver-remap-config
trafficserver-plugin-config
trafficserver-storage-config
trafficserver-promise-listen-port
## Monitoring part
###Parts to add for monitoring
......@@ -454,6 +456,7 @@ input-port = 23432
hostname = $${slap-parameter:frontend-name}
remap = map / http://$${instance-parameter:ipv4-random}:$${apache-configuration:cache-through-port}
disk-cache-config = $${trafficserver-directory:cache-path} 8G volume=$${slap-parameter:frontend-name}
plugin-config = ${trafficserver:location}/libexec/trafficserver/rfc5861.so
[trafficserver-configuration-directory]
recipe = plone.recipe.command
......@@ -490,6 +493,14 @@ mode = 700
context =
key content trafficserver-variable:remap
[trafficserver-plugin-config]
< = jinja2-template-base
template = ${template-empty:target}
rendered = $${trafficserver-configuration-directory:target}/plugin.config
mode = 700
context =
key content trafficserver-variable:plugin-config
[trafficserver-storage-config]
< = jinja2-template-base
template = ${template-empty:target}
......@@ -498,6 +509,12 @@ mode = 700
context =
key content trafficserver-variable:disk-cache-config
[trafficserver-promise-listen-port]
recipe = slapos.cookbook:check_port_listening
path = $${directory:promise}/trafficserver-port-listening
hostname = $${trafficserver-variable:local-ip}
port = $${trafficserver-variable:input-port}
### End of ATS sections
### Apaches Graceful and promises
......
......@@ -49,6 +49,10 @@ context =
[{{request_section_title}}]
<= replicate
name = {{frontend_name}}
{% set state_key = "-frontend-%s-state" % i %}
{% if slapparameter_dict.has_key(state_key) %}
state = {{ slapparameter_dict.pop(state_key) }}
{% endif%}
{% if sla_parameters %}
sla = {{ ' '.join(sla_parameters) }}
{% for parameter in sla_parameters -%}
......@@ -60,7 +64,12 @@ sla-{{ parameter }} = {{ slapparameter_dict.pop( sla_key + parameter ) }}
[replicate]
<= slap-connection
recipe = slapos.cookbook:requestoptional
{% set frontend_software_url_key = "-frontend-software-release-url" %}
{% if slapparameter_dict.has_key(frontend_software_url_key) %}
software-url = {{ slapparameter_dict.pop(frontend_software_url_key) }}
{% else %}
software-url = ${slap-connection:software-release-url}
{% endif %}
software-type = {{frontend_type}}
return = private-ipv4 public-ipv4 slave-instance-information-list monitor_url
config = {{ ' '.join(slapparameter_dict.keys()) + ' ' + slave_list_name }}
......
......@@ -6,7 +6,7 @@ Jinja2 = 2.7.3
MarkupSafe = 0.23
PyRSS2Gen = 1.1
Werkzeug = 0.9.4
apache-libcloud = 0.14.1
apache-libcloud = 0.15.0
async = 0.6.1
buildout-versions = 1.7
cffi = 0.8.2
......@@ -28,7 +28,7 @@ pycrypto = 2.6.1
pyparsing = 2.0.2
pytz = 2014.3
rdiff-backup = 1.0.5
six = 1.7.2
six = 1.7.3
slapos.cookbook = 0.87
slapos.recipe.build = 0.12
slapos.recipe.cmmi = 0.2
......
......@@ -3,7 +3,11 @@
# regroup slave information from all frontends
{%- for frontend, slave_list_raw in slave_information.iteritems() -%}
{% set slave_list = json_module.loads(slave_list_raw) -%}
{% if slave_list_raw %}
{% set slave_list = json_module.loads(slave_list_raw) -%}
{% else %}
{% set slave_list = [] %}
{% endif %}
{% for slave_dict in slave_list -%}
{% set slave_reference = slave_dict.pop('slave-reference') %}
{% set log_access_url = slave_dict.pop('log-access', '') %}
......
......@@ -205,7 +205,7 @@ psutil = 2.1.0
pyOpenSSL = 0.14
pyparsing = 2.0.2
pytz = 2014.2
six = 1.7.2
six = 1.7.3
slapos.core = 1.0.5
slapos.libnetworkcache = 0.14.1
slapos.recipe.build = 0.12
......
......@@ -92,7 +92,7 @@ cffi = 0.8.2
cryptography = 0.4
plone.recipe.command = 1.1
pyOpenSSL = 0.14
six = 1.7.2
six = 1.7.3
# Required by:
# cffi==0.8.2
......
......@@ -63,7 +63,7 @@ mr.developer = 1.30
plone.recipe.command = 1.1
pyOpenSSL = 0.14
pyparsing = 2.0.2
six = 1.7.2
six = 1.7.3
slapos.cookbook = 0.87
slapos.recipe.build = 0.12
slapos.recipe.cmmi = 0.2
......
......@@ -101,7 +101,7 @@ python-magic = 0.4.6
pytz = 2014.3
rdiff-backup = 1.0.5
requests = 2.3.0
six = 1.7.2
six = 1.7.3
slapos.core = 1.1.2
slapos.recipe.build = 0.12
slapos.recipe.cmmi = 0.2
......
......@@ -636,7 +636,7 @@ Pympler = 0.3.1
StructuredText = 2.11.1
WSGIUtils = 0.7
Werkzeug = 0.9.6
apache-libcloud = 0.14.1
apache-libcloud = 0.15.0
astroid = 1.1.1
async = 0.6.1
buildout-versions = 1.7
......@@ -668,7 +668,7 @@ plone.recipe.command = 1.1
ply = 3.4
polib = 1.0.4
pprofile = 1.7.2
pycountry = 1.6
pycountry = 1.7
pyflakes = 0.8.1
pylint = 1.2.1
pyparsing = 2.0.2
......@@ -685,7 +685,7 @@ slapos.recipe.template = 2.5
slapos.toolbox = 0.39.2
smmap = 0.8.2
socketpool = 0.5.3
spyne = 2.10.10
spyne = 2.11.0
stevedore = 0.15
suds = 0.4
threadframe = 0.2
......@@ -776,7 +776,7 @@ requests = 2.3.0
# Required by:
# qrcode==5.0.1
six = 1.7.2
six = 1.7.3
# Required by:
# slapos.core==1.1.2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment