Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos-caddy
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Guillaume Hervier
slapos-caddy
Commits
8fe2ce40
Commit
8fe2ce40
authored
Jun 05, 2015
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'request.product'
parents
5740da0d
5bb51efc
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
237 additions
and
0 deletions
+237
-0
setup.py
setup.py
+1
-0
slapos/recipe/check_parameter/__init__.py
slapos/recipe/check_parameter/__init__.py
+58
-0
slapos/recipe/check_parameter/template/check_ipv4.py.in
slapos/recipe/check_parameter/template/check_ipv4.py.in
+19
-0
slapos/recipe/check_parameter/template/check_ipv6.py.in
slapos/recipe/check_parameter/template/check_ipv6.py.in
+12
-0
slapos/recipe/check_parameter/template/check_parameter.py.in
slapos/recipe/check_parameter/template/check_parameter.py.in
+18
-0
slapos/recipe/request.py
slapos/recipe/request.py
+15
-0
software/cdn-me/instance-cdn-request.cfg
software/cdn-me/instance-cdn-request.cfg
+45
-0
software/cdn-me/instance.cfg
software/cdn-me/instance.cfg
+29
-0
software/cdn-me/software.cfg
software/cdn-me/software.cfg
+40
-0
No files found.
setup.py
View file @
8fe2ce40
...
...
@@ -87,6 +87,7 @@ setup(name=name,
'check_page_content = slapos.recipe.check_page_content:Recipe'
,
'check_port_listening = slapos.recipe.check_port_listening:Recipe'
,
'check_url_available = slapos.recipe.check_url_available:Recipe'
,
'check_parameter = slapos.recipe.check_parameter:Recipe'
,
'cloud9 = slapos.recipe.cloud9:Recipe'
,
'cloudooo.test = slapos.recipe.erp5_test:CloudoooRecipe'
,
'condor = slapos.recipe.condor:Recipe'
,
...
...
slapos/recipe/check_parameter/__init__.py
0 → 100644
View file @
8fe2ce40
# vim: set et sts=2:
##############################################################################
#
# Copyright (c) 2015 Vifib SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from
slapos.recipe.librecipe
import
GenericBaseRecipe
import
sys
class
Recipe
(
GenericBaseRecipe
):
"""
Check listening port promise
"""
def
install
(
self
):
config
=
dict
(
value
=
self
.
options
[
'value'
],
python_path
=
sys
.
executable
,
)
if
self
.
options
.
get
(
'expected-type'
)
==
"ipv6"
:
template
=
self
.
getTemplateFilename
(
'check_ipv6.py.in'
)
elif
self
.
options
.
get
(
'expected-type'
)
==
"ipv4"
:
template
=
self
.
getTemplateFilename
(
'check_ipv4.py.in'
)
else
:
config
[
"expected-value"
]
=
self
.
options
.
get
(
'expected-value'
)
config
[
"expected-not-value"
]
=
self
.
options
.
get
(
'expected-not-value'
)
template
=
self
.
getTemplateFilename
(
'check_parameter.py.in'
)
promise
=
self
.
createExecutable
(
self
.
options
[
'path'
],
self
.
substituteTemplate
(
template
,
config
))
return
[
promise
]
slapos/recipe/check_parameter/template/check_ipv4.py.in
0 → 100644
View file @
8fe2ce40
#!%(python_path)s
# BEWARE: This file is operated by slapgrid
# BEWARE: It will be overwritten automatically
import socket
address = "%(value)s"
try:
socket.inet_pton(socket.AF_INET, address)
except AttributeError: # no inet_pton here, sorry
try:
socket.inet_aton(address)
except socket.error:
sys.exit(127)
if address.count('.') != 3:
sys.exit(127)
except socket.error: # not a valid address
sys.exit(127)
slapos/recipe/check_parameter/template/check_ipv6.py.in
0 → 100644
View file @
8fe2ce40
#!%(python_path)s
# BEWARE: This file is operated by slapgrid
# BEWARE: It will be overwritten automatically
import socket
import sys
address = "%(value)s"
try:
socket.inet_pton(socket.AF_INET6, address)
except socket.error: # not a valid address
sys.exit(127)
slapos/recipe/check_parameter/template/check_parameter.py.in
0 → 100644
View file @
8fe2ce40
#!%(python_path)s
# BEWARE: This file is operated by slapgrid
# BEWARE: It will be overwritten automatically
import socket
import sys
value = "%(value)s"
expected = "%(expected-value)s"
not_expected = "%(expected-not-value)s"
if expected != "" and value != expected:
print "FAIL: %s != %s" % (value, expected)
sys.exit(127)
if not_expected != "" and value == not_expected:
print "FAIL: %s == %s" % (value, not_expected)
sys.exit(127)
slapos/recipe/request.py
View file @
8fe2ce40
...
...
@@ -29,9 +29,11 @@ from zc.buildout import UserError
from
slapos.recipe.librecipe
import
wrap
,
JSON_SERIALISED_MAGIC_KEY
import
json
from
slapos
import
slap
as
slapmodule
from
slapos.slap
import
SoftwareProductCollection
import
slapos.recipe.librecipe.generic
as
librecipe
import
traceback
SOFTWARE_PRODUCT_NAMESPACE
=
"product."
DEFAULT_SOFTWARE_TYPE
=
'RootSoftwareInstance'
class
Recipe
(
object
):
...
...
@@ -130,6 +132,19 @@ class Recipe(object):
options
[
'computer-id'
],
options
[
'partition-id'
],
).
request
if
software_url
is
not
None
and
\
software_url
.
startswith
(
SOFTWARE_PRODUCT_NAMESPACE
):
product
=
SoftwareProductCollection
(
self
.
logger
,
slap
)
try
:
software_url
=
product
.
__getattr__
(
software_url
[
len
(
SOFTWARE_PRODUCT_NAMESPACE
):])
except
AttributeError
as
e
:
self
.
logger
.
warning
(
'Error on get software release : %s '
%
e
.
message
)
self
.
_raise_request_exception
=
None
self
.
_raise_request_exception_formatted
=
None
self
.
instance
=
None
...
...
software/cdn-me/instance-cdn-request.cfg
0 → 100644
View file @
8fe2ce40
[buildout]
parts =
request-re6stnet-token-slave
request-frontend-token-slave
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
# Create all needed directories
[directory]
recipe = slapos.cookbook:mkdirectory
home = $${buildout:directory}
etc = $${:home}/etc/
var = $${:home}/var/
srv = $${:home}/srv/
bin = $${:home}/bin/
tmp = $${:home}/tmp/
[request-frontend-token-slave]
<= slap-connection
recipe = slapos.cookbook:requestoptional
name = WebSite Frontend
# XXX We have hardcoded SR URL here.
software-url = product.frontend
slave = true
config-url = http://$${request-re6stnet-token-slave:connection-ipv6}/
config-domain = $${slap-parameter:frontend-domain}
return = site_url domain
[request-re6stnet-token-slave]
<= slap-connection
recipe = slapos.cookbook:requestoptional
name = Re6st token Frontend
# XXX We have hardcoded SR URL here.
software-url = product.re6st
slave = true
return = token info_1 ipv6
[publish-connection-informations]
recipe = slapos.cookbook:publish
url = https://$${request-frontend-token-slave:connection-domain}
token = $${request-re6stnet-token-slave:connection-token}
ipv6 = $${request-re6stnet-token-slave:connection-ipv6}
info_1 = $${request-re6stnet-token-slave:info_1}
\ No newline at end of file
software/cdn-me/instance.cfg
0 → 100644
View file @
8fe2ce40
[buildout]
parts =
switch_softwaretype
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
[switch_softwaretype]
recipe = slapos.cookbook:softwaretype
default = $${instance-base-runner:rendered}
[instance-base-runner]
recipe = slapos.recipe.template:jinja2
template = ${template-cdn-request:output}
rendered = $${buildout:directory}/template-cdn.cfg
extensions = jinja2.ext.do
context = key buildout buildout:bin-directory
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
key slapparameter_dict slap-configuration:configuration
mode = 0644
[slap-configuration]
recipe = slapos.cookbook:slapconfiguration
computer = $${slap-connection:computer-id}
partition = $${slap-connection:partition-id}
url = $${slap-connection:server-url}
key = $${slap-connection:key-file}
cert = $${slap-connection:cert-file}
software/cdn-me/software.cfg
0 → 100644
View file @
8fe2ce40
[buildout]
extends =
../../stack/slapos.cfg
# stacks are listed from most generic to most specific,
# to avoid versioning issues
parts =
slapos-cookbook-develop
template
eggs
template-cdn-request
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/template.cfg
md5sum = a91fe7c80720d57c2acbf606a6a0d84d
mode = 0644
[template-cdn-request]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-cdn-request.cfg
output = ${buildout:directory}/template-cdn-request.cfg
md5sum = 4c5ad2a5e9c4364588e1e4212ed8d1aa
mode = 0644
[slapos.cookbook-repository]
branch = request.product
[eggs]
recipe = z3c.recipe.scripts
eggs =
collective.recipe.environment
cns.recipe.symlink
erp5.util
lock-file
plone.recipe.command
slapos.recipe.build
${slapos-cookbook:eggs}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment