Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos
Commits
10f72b63
Commit
10f72b63
authored
Dec 14, 2012
by
Marco Mariani
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'apache-reload' into lapp-resilient3
parents
3df8854b
9e1711ab
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
381 additions
and
140 deletions
+381
-140
component/cloud9/buildout.cfg
component/cloud9/buildout.cfg
+1
-1
setup.py
setup.py
+16
-16
slapos/recipe/agent/__init__.py
slapos/recipe/agent/__init__.py
+31
-54
slapos/recipe/apachephp/__init__.py
slapos/recipe/apachephp/__init__.py
+23
-13
slapos/recipe/request.py
slapos/recipe/request.py
+5
-3
slapos/recipe/softwaretype.py
slapos/recipe/softwaretype.py
+1
-1
software/agent/instance-agent.cfg
software/agent/instance-agent.cfg
+31
-0
software/agent/instance.cfg
software/agent/instance.cfg
+5
-17
software/agent/software.cfg
software/agent/software.cfg
+80
-22
software/dotclear/software.cfg
software/dotclear/software.cfg
+1
-1
software/erp5-util-testing/instance.cfg
software/erp5-util-testing/instance.cfg
+56
-0
software/erp5-util-testing/software.cfg
software/erp5-util-testing/software.cfg
+117
-0
software/phpmyadmin/software.cfg
software/phpmyadmin/software.cfg
+1
-1
software/phpnuke/software.cfg
software/phpnuke/software.cfg
+1
-1
software/prestashop/software.cfg
software/prestashop/software.cfg
+1
-1
software/punbb/software.cfg
software/punbb/software.cfg
+1
-1
software/slapos-testing/instance.cfg
software/slapos-testing/instance.cfg
+1
-1
software/slapos-testing/software.cfg
software/slapos-testing/software.cfg
+1
-1
software/slaprunner/software.cfg
software/slaprunner/software.cfg
+7
-5
software/sugar-crm/software.cfg
software/sugar-crm/software.cfg
+1
-1
No files found.
component/cloud9/buildout.cfg
View file @
10f72b63
...
@@ -28,7 +28,7 @@ environment =
...
@@ -28,7 +28,7 @@ environment =
# NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location}
# NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location}
recipe = plone.recipe.command
recipe = plone.recipe.command
stop-on-error = true
stop-on-error = true
commit =
97db1467c517d265438684bd2a70b0b76ee282f6
commit =
bd6dd16c9ccfe4e778b41e98090e959d1462c819
repository = https://github.com/ajaxorg/cloud9.git
repository = https://github.com/ajaxorg/cloud9.git
location = ${buildout:parts-directory}/${:_buildout_section_name_}
location = ${buildout:parts-directory}/${:_buildout_section_name_}
git-binary = ${git:location}/bin/git
git-binary = ${git:location}/bin/git
...
...
setup.py
View file @
10f72b63
...
@@ -43,33 +43,33 @@ setup(name=name,
...
@@ -43,33 +43,33 @@ setup(name=name,
'addresiliency = slapos.recipe.addresiliency:Recipe'
,
'addresiliency = slapos.recipe.addresiliency:Recipe'
,
'agent = slapos.recipe.agent:Recipe'
,
'agent = slapos.recipe.agent:Recipe'
,
'apache.frontend = slapos.recipe.apache_frontend:Recipe'
,
'apache.frontend = slapos.recipe.apache_frontend:Recipe'
,
'apache.zope.backend = slapos.recipe.apache_zope_backend:Recipe'
,
'apachephp = slapos.recipe.apachephp:Recipe'
,
'apachephp = slapos.recipe.apachephp:Recipe'
,
'apacheproxy = slapos.recipe.apacheproxy:Recipe'
,
'apacheproxy = slapos.recipe.apacheproxy:Recipe'
,
'apache.zope.backend = slapos.recipe.apache_zope_backend:Recipe'
,
'certificate_authority.request = slapos.recipe.certificate_authority:Request'
,
'certificate_authority = slapos.recipe.certificate_authority:Recipe'
,
'certificate_authority = slapos.recipe.certificate_authority:Recipe'
,
'certificate_authority.request = slapos.recipe.certificate_authority:Request'
,
'check_page_content = slapos.recipe.check_page_content:Recipe'
,
'check_port_listening = slapos.recipe.check_port_listening:Recipe'
,
'check_port_listening = slapos.recipe.check_port_listening:Recipe'
,
'check_url_available = slapos.recipe.check_url_available:Recipe'
,
'check_url_available = slapos.recipe.check_url_available:Recipe'
,
'check_page_content = slapos.recipe.check_page_content:Recipe'
,
'cloud9 = slapos.recipe.cloud9:Recipe'
,
'cloud9 = slapos.recipe.cloud9:Recipe'
,
'cloudooo.test = slapos.recipe.erp5_test:CloudoooRecipe'
,
'cloudooo.test = slapos.recipe.erp5_test:CloudoooRecipe'
,
'cron.d = slapos.recipe.dcron:Part'
,
'cron = slapos.recipe.dcron:Recipe'
,
'cron = slapos.recipe.dcron:Recipe'
,
'cron.d = slapos.recipe.dcron:Part'
,
'davstorage = slapos.recipe.davstorage:Recipe'
,
'davstorage = slapos.recipe.davstorage:Recipe'
,
'downloader = slapos.recipe.downloader:Recipe'
,
'downloader = slapos.recipe.downloader:Recipe'
,
'dropbear = slapos.recipe.dropbear:Recipe'
,
'dropbear.add_authorized_key = slapos.recipe.dropbear:AddAuthorizedKey'
,
'dropbear.add_authorized_key = slapos.recipe.dropbear:AddAuthorizedKey'
,
'dropbear.client = slapos.recipe.dropbear:Client'
,
'dropbear.client = slapos.recipe.dropbear:Client'
,
'dropbear = slapos.recipe.dropbear:Recipe'
,
'dumpmdb = slapos.recipe.dumpmdb:Recipe'
,
'dumpmdb = slapos.recipe.dumpmdb:Recipe'
,
'duplicity = slapos.recipe.duplicity:Recipe'
,
'duplicity = slapos.recipe.duplicity:Recipe'
,
'egg_test = slapos.recipe.erp5_test:EggTestRecipe'
,
'egg_test = slapos.recipe.erp5_test:EggTestRecipe'
,
'equeue = slapos.recipe.equeue:Recipe'
,
'equeue = slapos.recipe.equeue:Recipe'
,
'erp5.bootstrap = slapos.recipe.erp5_bootstrap:Recipe'
,
'erp5.bootstrap = slapos.recipe.erp5_bootstrap:Recipe'
,
'erp5.promise = slapos.recipe.erp5_promise:Recipe'
,
'erp5.promise = slapos.recipe.erp5_promise:Recipe'
,
'erp5scalabilitytestbed = slapos.recipe.erp5scalabilitytestbed:Recipe'
,
'erp5testnode = slapos.recipe.erp5testnode:Recipe'
,
'erp5.test = slapos.recipe.erp5_test:Recipe'
,
'erp5.test = slapos.recipe.erp5_test:Recipe'
,
'erp5.update = slapos.recipe.erp5_update:Recipe'
,
'erp5.update = slapos.recipe.erp5_update:Recipe'
,
'erp5scalabilitytestbed = slapos.recipe.erp5scalabilitytestbed:Recipe'
,
'erp5testnode = slapos.recipe.erp5testnode:Recipe'
,
'firefox = slapos.recipe.firefox:Recipe'
,
'firefox = slapos.recipe.firefox:Recipe'
,
'fontconfig = slapos.recipe.fontconfig:Recipe'
,
'fontconfig = slapos.recipe.fontconfig:Recipe'
,
'generate.mac = slapos.recipe.generatemac:Recipe'
,
'generate.mac = slapos.recipe.generatemac:Recipe'
,
...
@@ -87,43 +87,43 @@ setup(name=name,
...
@@ -87,43 +87,43 @@ setup(name=name,
'importmdb = slapos.recipe.importmdb:Recipe'
,
'importmdb = slapos.recipe.importmdb:Recipe'
,
'java = slapos.recipe.java:Recipe'
,
'java = slapos.recipe.java:Recipe'
,
'kumofs = slapos.recipe.kumofs:Recipe'
,
'kumofs = slapos.recipe.kumofs:Recipe'
,
'kvm.frontend = slapos.recipe.kvm_frontend:Recipe'
,
'kvm = slapos.recipe.kvm:Recipe'
,
'kvm = slapos.recipe.kvm:Recipe'
,
'kvm.frontend = slapos.recipe.kvm_frontend:Recipe'
,
'lamp = slapos.recipe.lamp:Request'
,
'lamp.request = slapos.recipe.lamp:Request'
,
'lamp.request = slapos.recipe.lamp:Request'
,
'lamp.simple = slapos.recipe.lamp:Simple'
,
'lamp.simple = slapos.recipe.lamp:Simple'
,
'lamp = slapos.recipe.lamp:Request'
,
'lamp.static = slapos.recipe.lamp:Static'
,
'lamp.static = slapos.recipe.lamp:Static'
,
'libcloudrequest = slapos.recipe.libcloudrequest:Recipe'
,
'libcloud = slapos.recipe.libcloud:Recipe'
,
'libcloud = slapos.recipe.libcloud:Recipe'
,
'libcloudrequest = slapos.recipe.libcloudrequest:Recipe'
,
'lockfile = slapos.recipe.lockfile:Recipe'
,
'lockfile = slapos.recipe.lockfile:Recipe'
,
'logrotate.d = slapos.recipe.logrotate:Part'
,
'logrotate = slapos.recipe.logrotate:Recipe'
,
'logrotate = slapos.recipe.logrotate:Recipe'
,
'logrotate.d = slapos.recipe.logrotate:Part'
,
'memcached = slapos.recipe.memcached:Recipe'
,
'memcached = slapos.recipe.memcached:Recipe'
,
'mkdirectory = slapos.recipe.mkdirectory:Recipe'
,
'mkdirectory = slapos.recipe.mkdirectory:Recipe'
,
'mydumper = slapos.recipe.mydumper:Recipe'
,
'mydumper = slapos.recipe.mydumper:Recipe'
,
'mysql = slapos.recipe.mysql:Recipe'
,
'mysql = slapos.recipe.mysql:Recipe'
,
'nbdserver = slapos.recipe.nbdserver:Recipe'
,
'nbdserver = slapos.recipe.nbdserver:Recipe'
,
'nosqltestbed = slapos.recipe.nosqltestbed:NoSQLTestBed'
,
'nosqltestbed = slapos.recipe.nosqltestbed:NoSQLTestBed'
,
'notifier = slapos.recipe.notifier:Recipe'
,
'notifier.callback = slapos.recipe.notifier:Callback'
,
'notifier.callback = slapos.recipe.notifier:Callback'
,
'notifier.notify = slapos.recipe.notifier:Notify'
,
'notifier.notify = slapos.recipe.notifier:Notify'
,
'notifier = slapos.recipe.notifier:Recipe'
,
'novnc = slapos.recipe.novnc:Recipe'
,
'novnc = slapos.recipe.novnc:Recipe'
,
'onetimeupload = slapos.recipe.onetimeupload:Recipe'
,
'onetimeupload = slapos.recipe.onetimeupload:Recipe'
,
'pbs = slapos.recipe.pbs:Recipe'
,
'pbs = slapos.recipe.pbs:Recipe'
,
'postgres = slapos.recipe.postgres:Recipe'
,
'postgres = slapos.recipe.postgres:Recipe'
,
'postgres.import = slapos.recipe.postgres:ImportRecipe'
,
'postgres.export = slapos.recipe.postgres:ExportRecipe'
,
'postgres.export = slapos.recipe.postgres:ExportRecipe'
,
'postgres.import = slapos.recipe.postgres:ImportRecipe'
,
'proactive = slapos.recipe.proactive:Recipe'
,
'proactive = slapos.recipe.proactive:Recipe'
,
'publish = slapos.recipe.publish:Recipe'
,
'publish = slapos.recipe.publish:Recipe'
,
'publishurl = slapos.recipe.publishurl:Recipe'
,
'publishurl = slapos.recipe.publishurl:Recipe'
,
'pwgen = slapos.recipe.pwgen:Recipe'
,
'pwgen = slapos.recipe.pwgen:Recipe'
,
'pwgen.stable = slapos.recipe.pwgen:StablePasswordGeneratorRecipe'
,
'pwgen.stable = slapos.recipe.pwgen:StablePasswordGeneratorRecipe'
,
'requestoptional = slapos.recipe.request:RequestOptional'
,
'request = slapos.recipe.request:Recipe'
,
'request = slapos.recipe.request:Recipe'
,
'requestoptional = slapos.recipe.request:RequestOptional'
,
'seleniumrunner = slapos.recipe.seleniumrunner:Recipe'
,
'seleniumrunner = slapos.recipe.seleniumrunner:Recipe'
,
'sheepdogtestbed = slapos.recipe.sheepdogtestbed:SheepDogTestBed'
,
'sheepdogtestbed = slapos.recipe.sheepdogtestbed:SheepDogTestBed'
,
'shellinabox = slapos.recipe.shellinabox:Recipe'
,
'shell = slapos.recipe.shell:Recipe'
,
'shell = slapos.recipe.shell:Recipe'
,
'shellinabox = slapos.recipe.shellinabox:Recipe'
,
'signalwrapper= slapos.recipe.signal_wrapper:Recipe'
,
'signalwrapper= slapos.recipe.signal_wrapper:Recipe'
,
'simplelogger = slapos.recipe.simplelogger:Recipe'
,
'simplelogger = slapos.recipe.simplelogger:Recipe'
,
'siptester = slapos.recipe.siptester:SipTesterRecipe'
,
'siptester = slapos.recipe.siptester:SipTesterRecipe'
,
...
@@ -136,8 +136,8 @@ setup(name=name,
...
@@ -136,8 +136,8 @@ setup(name=name,
'slaprunner.test = slapos.recipe.slaprunner:Test'
,
'slaprunner.test = slapos.recipe.slaprunner:Test'
,
'softwaretype = slapos.recipe.softwaretype:Recipe'
,
'softwaretype = slapos.recipe.softwaretype:Recipe'
,
'sphinx= slapos.recipe.sphinx:Recipe'
,
'sphinx= slapos.recipe.sphinx:Recipe'
,
'sshkeys_authority.request = slapos.recipe.sshkeys_authority:Request'
,
'sshkeys_authority = slapos.recipe.sshkeys_authority:Recipe'
,
'sshkeys_authority = slapos.recipe.sshkeys_authority:Recipe'
,
'sshkeys_authority.request = slapos.recipe.sshkeys_authority:Request'
,
'stunnel = slapos.recipe.stunnel:Recipe'
,
'stunnel = slapos.recipe.stunnel:Recipe'
,
'symbolic.link = slapos.recipe.symbolic_link:Recipe'
,
'symbolic.link = slapos.recipe.symbolic_link:Recipe'
,
'tidstorage = slapos.recipe.tidstorage:Recipe'
,
'tidstorage = slapos.recipe.tidstorage:Recipe'
,
...
...
slapos/recipe/agent/__init__.py
View file @
10f72b63
...
@@ -25,65 +25,42 @@
...
@@ -25,65 +25,42 @@
#
#
#############################################################################
#############################################################################
import
os
import
sys
import
zc.buildout
import
zc.buildout
import
slapos.slap
from
slapos.recipe.librecipe
import
GenericBaseRecipe
from
slapos.recipe.librecipe
import
BaseSlapRecipe
import
sys
from
slapos.recipe.librecipe
import
GenericSlapRecipe
import
json
import
ConfigParser
# XXX: BaseSlapRecipe and GenericSlapRecipe are deprecated, use
class
Recipe
(
GenericBaseRecipe
):
# GenericBaseRecipe and move partition parameter fetching to software release.
class
Recipe
(
BaseSlapRecipe
,
GenericSlapRecipe
):
def
install
(
self
):
def
install
(
self
):
self
.
path_list
=
[]
path_list
=
[]
crond
=
self
.
installCrond
()
configuration_path
=
self
.
options
[
"config"
]
header
=
"""[DEFAULT]
master_url = %s
key = %s
slap
=
slapos
.
slap
.
slap
()
cert = %s
slap
.
initializeConnection
(
self
.
server_url
,
self
.
key_file
,
self
.
cert_file
)
parameter_dict
=
slap
.
registerComputerPartition
(
max_install_duration = %s
self
.
computer_id
,
max_uninstall_duration = %s
self
.
computer_partition_id
,
max_request_duration = %s
).
getInstanceParameterDict
()
max_destroy_duration = %s
"""
%
(
self
.
options
[
"master-url"
],
"
\
n
"
.
join
(
self
.
options
[
"key"
].
split
(
"
\
n
"
)),
"
\
n
"
.
join
(
self
.
options
[
"cert"
].
split
(
"
\
n
"
)),
self
.
options
[
"default_max_install_duration"
],
self
.
options
[
"default_max_uninstall_duration"
],
self
.
options
[
"default_max_request_duration"
],
self
.
options
[
"default_max_destroy_duration"
])
# XXX: should probably expect one more (SR-originating) parameter instead
# of using self.work_directory .
configuration_path
=
os
.
path
.
join
(
self
.
work_directory
,
"agent.cfg"
)
with
open
(
configuration_path
,
"w"
)
as
configuration
:
with
open
(
configuration_path
,
"w"
)
as
configuration
:
configuration
.
write
(
parameter_dict
[
"configuration"
])
configuration
.
write
(
header
+
self
.
options
[
"configuration"
])
agent_crond_path
=
os
.
path
.
join
(
crond
,
"agent"
)
with
open
(
agent_crond_path
,
"w"
)
as
agent_crond
:
path_list
.
append
(
self
.
createPythonScript
(
agent_crond
.
write
(
"*/5 * * * * %s -S %s --pidfile=%s --log=%s "
self
.
options
[
'wrapper'
],
"%s 2>&1 > /dev/null
\
n
"
%
(
'slapos.recipe.librecipe.execute.execute'
,
self
.
options
[
"python_binary"
],
[
self
.
options
[
"agent_binary"
],
'--pidfile=%s'
%
self
.
options
[
"pidfile"
],
self
.
options
[
"agent_binary"
],
"--log=%s"
%
self
.
options
[
"log"
],
configuration_path
]))
self
.
options
[
"pidfile"
],
self
.
options
[
"log"
],
configuration_path
,
))
return
self
.
path_list
+
[
configuration_path
,
agent_crond_path
]
path_list
.
append
(
configuration_path
)
def
installCrond
(
self
):
return
path_list
_
,
ws
=
self
.
egg
.
working_set
()
timestamps
=
self
.
createDataDirectory
(
'cronstamps'
)
cron_output
=
os
.
path
.
join
(
self
.
log_directory
,
'cron-output'
)
self
.
_createDirectory
(
cron_output
)
catcher
=
zc
.
buildout
.
easy_install
.
scripts
([(
'catchcron'
,
__name__
+
'.catdatefile'
,
'catdatefile'
)],
ws
,
sys
.
executable
,
self
.
bin_directory
,
arguments
=
[
cron_output
])[
0
]
self
.
path_list
.
append
(
catcher
)
cron_d
=
os
.
path
.
join
(
self
.
etc_directory
,
'cron.d'
)
crontabs
=
os
.
path
.
join
(
self
.
etc_directory
,
'crontabs'
)
self
.
_createDirectory
(
cron_d
)
self
.
_createDirectory
(
crontabs
)
wrapper
=
zc
.
buildout
.
easy_install
.
scripts
([(
'crond'
,
'slapos.recipe.librecipe.execute'
,
'execute'
)],
ws
,
sys
.
executable
,
self
.
wrapper_directory
,
arguments
=
[
self
.
options
[
'dcrond_binary'
].
strip
(),
'-s'
,
cron_d
,
'-c'
,
crontabs
,
'-t'
,
timestamps
,
'-f'
,
'-l'
,
'5'
,
'-M'
,
catcher
]
)[
0
]
self
.
path_list
.
append
(
wrapper
)
return
cron_d
slapos/recipe/apachephp/__init__.py
View file @
10f72b63
...
@@ -24,13 +24,17 @@
...
@@ -24,13 +24,17 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#
##############################################################################
##############################################################################
import
shutil
import
shutil
import
os
import
os
import
signal
import
signal
import
subprocess
from
binascii
import
b2a_uu
as
uuencode
from
binascii
import
b2a_uu
as
uuencode
from
slapos.recipe.librecipe
import
GenericBaseRecipe
from
slapos.recipe.librecipe
import
GenericBaseRecipe
class
Recipe
(
GenericBaseRecipe
):
class
Recipe
(
GenericBaseRecipe
):
def
install
(
self
):
def
install
(
self
):
...
@@ -66,11 +70,13 @@ class Recipe(GenericBaseRecipe):
...
@@ -66,11 +70,13 @@ class Recipe(GenericBaseRecipe):
)
)
path_list
.
append
(
httpd_conf
)
path_list
.
append
(
httpd_conf
)
wrapper
=
self
.
createPythonScript
(
self
.
options
[
'wrapper'
],
wrapper
=
self
.
createWrapper
(
name
=
self
.
options
[
'wrapper'
],
'slapos.recipe.librecipe.execute.execute'
,
command
=
self
.
options
[
'httpd-binary'
],
[
self
.
options
[
'httpd-binary'
],
'-f'
,
self
.
options
[
'httpd-conf'
],
parameters
=
[
'-DFOREGROUND'
]
'-f'
,
)
self
.
options
[
'httpd-conf'
],
'-DFOREGROUND'
])
path_list
.
append
(
wrapper
)
path_list
.
append
(
wrapper
)
secret_key_filename
=
os
.
path
.
join
(
self
.
buildout
[
'buildout'
][
'directory'
],
secret_key_filename
=
os
.
path
.
join
(
self
.
buildout
[
'buildout'
][
'directory'
],
...
@@ -110,12 +116,16 @@ class Recipe(GenericBaseRecipe):
...
@@ -110,12 +116,16 @@ class Recipe(GenericBaseRecipe):
self
.
substituteTemplate
(
self
.
options
[
'template'
],
application_conf
))
self
.
substituteTemplate
(
self
.
options
[
'template'
],
application_conf
))
path_list
.
append
(
config
)
path_list
.
append
(
config
)
if
os
.
path
.
exists
(
self
.
options
[
'pid-file'
]):
# Reload apache configuration.
# Reload apache configuration
# notez-bien: a graceful restart or a SIGUSR1 can somehow hang the apache threads.
with
open
(
self
.
options
[
'pid-file'
])
as
pid_file
:
pid
=
int
(
pid_file
.
read
().
strip
(),
10
)
subprocess
.
call
([
try
:
self
.
options
[
'httpd-binary'
],
os
.
kill
(
pid
,
signal
.
SIGUSR1
)
# Graceful restart
'-f'
,
except
OSError
:
self
.
options
[
'httpd-conf'
],
pass
'-k'
,
'reload'
])
return
path_list
return
path_list
slapos/recipe/request.py
View file @
10f72b63
...
@@ -25,9 +25,9 @@
...
@@ -25,9 +25,9 @@
#
#
##############################################################################
##############################################################################
import
logging
import
logging
from
slapos
import
slap
as
slapmodule
from
slapos
import
slap
as
slapmodule
import
slapos.recipe.librecipe.generic
as
librecipe
import
slapos.recipe.librecipe.generic
as
librecipe
import
traceback
DEFAULT_SOFTWARE_TYPE
=
'RootSoftwareInstance'
DEFAULT_SOFTWARE_TYPE
=
'RootSoftwareInstance'
...
@@ -125,6 +125,7 @@ class Recipe(object):
...
@@ -125,6 +125,7 @@ class Recipe(object):
librecipe
.
GenericBaseRecipe
.
TRUE_VALUES
librecipe
.
GenericBaseRecipe
.
TRUE_VALUES
self
.
_raise_request_exception
=
None
self
.
_raise_request_exception
=
None
self
.
_raise_request_exception_formatted
=
None
self
.
instance
=
None
self
.
instance
=
None
try
:
try
:
self
.
instance
=
request
(
software_url
,
software_type
,
self
.
instance
=
request
(
software_url
,
software_type
,
...
@@ -134,6 +135,7 @@ class Recipe(object):
...
@@ -134,6 +135,7 @@ class Recipe(object):
options
[
'instance_guid'
]
=
self
.
instance
.
getId
()
options
[
'instance_guid'
]
=
self
.
instance
.
getId
()
except
(
slapmodule
.
NotFoundError
,
slapmodule
.
ServerError
,
slapmodule
.
ResourceNotReady
)
as
exc
:
except
(
slapmodule
.
NotFoundError
,
slapmodule
.
ServerError
,
slapmodule
.
ResourceNotReady
)
as
exc
:
self
.
_raise_request_exception
=
exc
self
.
_raise_request_exception
=
exc
self
.
_raise_request_exception_formatted
=
traceback
.
format_exc
()
for
param
in
return_parameters
:
for
param
in
return_parameters
:
options
[
'connection-%s'
%
param
]
=
''
options
[
'connection-%s'
%
param
]
=
''
...
@@ -176,9 +178,9 @@ class RequestOptional(Recipe):
...
@@ -176,9 +178,9 @@ class RequestOptional(Recipe):
Same as slapos.cookbook:request, but won't raise in case of problem.
Same as slapos.cookbook:request, but won't raise in case of problem.
"""
"""
def
install
(
self
):
def
install
(
self
):
if
self
.
_raise_request_exception
:
if
self
.
_raise_request_exception
_formatted
:
self
.
logger
.
warning
(
'Optional request failed:'
)
self
.
logger
.
warning
(
'Optional request failed:'
)
self
.
logger
.
warning
(
self
.
_raise_request_exception
)
self
.
logger
.
warning
(
self
.
_raise_request_exception
_formatted
)
elif
self
.
failed
is
not
None
:
elif
self
.
failed
is
not
None
:
# Check instance status to know if instance has been deployed
# Check instance status to know if instance has been deployed
try
:
try
:
...
...
slapos/recipe/softwaretype.py
View file @
10f72b63
...
@@ -93,7 +93,7 @@ class Recipe:
...
@@ -93,7 +93,7 @@ class Recipe:
# Raise if request software_type does not exist ...
# Raise if request software_type does not exist ...
if
software_type
not
in
self
.
options
:
if
software_type
not
in
self
.
options
:
# ... Except for backward compatibility. Then use "default".
# ... Except for backward compatibility. Then use "default".
if
software_type
in
[
'RootSoftware
Typ
e'
]:
if
software_type
in
[
'RootSoftware
Instanc
e'
]:
software_type
=
'default'
software_type
=
'default'
else
:
else
:
raise
zc
.
buildout
.
UserError
(
"This software type (%s) isn't mapped."
%
\
raise
zc
.
buildout
.
UserError
(
"This software type (%s) isn't mapped."
%
\
...
...
software/agent/instance-agent.cfg
0 → 100644
View file @
10f72b63
[buildout]
parts =
instance
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
[instance]
recipe = ${instance-recipe:egg}:${instance-recipe:module}
agent_binary = ${buildout:directory}/bin/agent
pidfile = $${directory:srv}/agent.pid
log = $${directory:agentlog}/agent.log
wrapper = $${directory:run}/agent
config = $${directory:etc}/agent.cfg
master-url = $${slap-parameter:master-url}
key = $${slap-parameter:userkey}
cert = $${slap-parameter:usercertificate}
configuration = $${slap-parameter:configuration}
default_max_install_duration = $${slap-parameter:default_max_install_duration}
default_max_uninstall_duration = $${slap-parameter:default_max_uninstall_duration}
default_max_request_duration = $${slap-parameter:default_max_request_duration}
default_max_destroy_duration = $${slap-parameter:default_max_destroy_duration}
[directory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc
run = $${:etc}/run
agentlog = $${buildout:directory}/var/log/agent
srv = $${buildout:directory}/srv
bin = $${buildout:directory}/bin
software/agent/instance.cfg
View file @
10f72b63
[buildout]
[buildout]
parts =
parts =
instanc
e
switch_softwaretyp
e
eggs-directory = ${buildout:eggs-directory}
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
[instance]
[switch_softwaretype]
recipe = ${instance-recipe:egg}:${instance-recipe:module}
recipe = slapos.cookbook:softwaretype
agent_binary = ${buildout:directory}/bin/agent
default = ${template-agent:output}
report_start = ${buildout:directory}/bin/report_start
report_stop = ${buildout:directory}/bin/report_stop
dcrond_binary = ${dcron:location}/sbin/crond
python_binary = ${python2.7:location}/bin/python
pidfile = $${rootdirectory:run}/agent.pid
log = $${rootdirectory:agentlog}/agent.log
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
run = $${buildout:directory}/etc/run
agentlog = $${buildout:directory}/var/log/agent
srv = $${buildout:directory}/srv
bin = $${buildout:directory}/bin
software/agent/software.cfg
View file @
10f72b63
[buildout]
[buildout]
extends =
extends =
../../component/dcron/buildout.cfg
../../component/python-2.7/buildout.cfg
../../component/lxml-python/buildout.cfg
../../component/lxml-python/buildout.cfg
../../component/git/buildout.cfg
../../stack/slapos.cfg
../../stack/slapos.cfg
develop =
${:parts-directory}/slapos.cookbook-repository
${:parts-directory}/slapos.toolbox-repository
parts =
parts =
template
template
eggs
template-agent
slapos.cookbook-repository
check-recipe
slapos.toolbox-repository
check-recipe-toolbox
instance-recipe-egg
instance-recipe-egg
dcron
python2.7
script
script
# Local development
[slapos.cookbook-repository]
recipe = plone.recipe.command
stop-on-error = true
branch = agent
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = ${git:location}/bin/git clone --branch ${:branch} --quiet http://git.erp5.org/repos/slapos.git ${:location}
update-command = cd ${:location} && ${git:location}/bin/git pull --quiet
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
[slapos.toolbox-repository]
recipe = plone.recipe.command
stop-on-error = true
branch = agent
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = ${git:location}/bin/git clone --branch ${:branch} --quiet http://git.erp5.org/repos/slapos.toolbox.git ${:location}
update-command = cd ${:location} && ${git:location}/bin/git pull --quiet
[check-recipe-toolbox]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.toolbox.egg-link
[instance-recipe]
[instance-recipe]
# XXX-Cedric: it can use newest slapos.cfg to not have duplication
egg = slapos.cookbook
egg = slapos.cookbook
module = agent
module = agent
[instance-recipe-egg]
[instance-recipe-egg]
# XXX-Cedric: it can use newest slapos.cfg to not have duplication
recipe = zc.recipe.egg
recipe = zc.recipe.egg
python = python2.7
eggs =
eggs = ${instance-recipe:egg}
${lxml-python:egg}
${instance-recipe:egg}
[template]
[template]
recipe = slapos.recipe.template
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/template.cfg
output = ${buildout:directory}/template.cfg
md5sum =
c7cb98594f394d05baedabe424643f6f
md5sum =
bcd3b3cb8a305c83bb048d5ac1c583fe
mode = 0644
mode = 0644
[eggs]
[template-agent]
python = python2.7
recipe = slapos.recipe.template
recipe = zc.recipe.egg
url = ${:_profile_base_location_}/instance-agent.cfg
eggs =
output = ${buildout:directory}/template-agent.cfg
${lxml-python:egg}
md5sum = fd9670d8473be402b10990398b553b00
slapos.cookbook
mode = 0644
slapos.toolbox
erp5.util
[lxml-python]
python = python2.7
[script]
[script]
recipe = z3c.recipe.scripts
recipe = z3c.recipe.scripts
python = python2.7
eggs =
eggs =
zc.buildout
zc.buildout
${lxml-python:egg}
slapos.core
slapos.core
slapos.cookbook
slapos.toolbox[agent]
slapos.toolbox[agent]
erp5.util
[networkcache]
[networkcache]
# signature certificates of the following uploaders.
# signature certificates of the following uploaders.
# Romain Courteaud
# Romain Courteaud
# Cedric de Saint Martin
# Rafael Monnerat
signature-certificate-list =
signature-certificate-list =
-----BEGIN CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE
MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE
...
@@ -68,3 +100,29 @@ signature-certificate-list =
...
@@ -68,3 +100,29 @@ signature-certificate-list =
q7jdfWO18Zp/BG7tagz0jmmC4y/8akzHsVlruo2+2du2freE8dK746uoMlXlP93g
q7jdfWO18Zp/BG7tagz0jmmC4y/8akzHsVlruo2+2du2freE8dK746uoMlXlP93g
QUUGLQ==
QUUGLQ==
-----END CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB9jCCAV+gAwIBAgIJAO4V/jiMoICoMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV
BAMMCENPTVAtMjMyMCAXDTEyMDIxNjExMTAyM1oYDzIxMTIwMTIzMTExMDIzWjAT
MREwDwYDVQQDDAhDT01QLTIzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
wi/3Z8W9pUiegUXIk/AiFDQ0UJ4JFAwjqr+HSRUirlUsHHT+8DzH/hfcTDX1I5BB
D1ADk+ydXjMm3OZrQcXjn29OUfM5C+g+oqeMnYQImN0DDQIOcUyr7AJc4xhvuXQ1
P2pJ5NOd3tbd0kexETa1LVhR6EgBC25LyRBRae76qosCAwEAAaNQME4wHQYDVR0O
BBYEFMDmW9aFy1sKTfCpcRkYnP6zUd1cMB8GA1UdIwQYMBaAFMDmW9aFy1sKTfCp
cRkYnP6zUd1cMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAskbFizHr
b6d3iIyN+wffxz/V9epbKIZVEGJd/6LrTdLiUfJPec7FaxVCWNyKBlCpINBM7cEV
Gn9t8mdVQflNqOlAMkOlUv1ZugCt9rXYQOV7rrEYJBWirn43BOMn9Flp2nibblby
If1a2ZoqHRxoNo2yTmm7TSYRORWVS+vvfjY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB9jCCAV+gAwIBAgIJAOcKrOH/2Da6MA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV
BAMMCENPTVAtMjk3MCAXDTEyMDYyNjAzMDU1MVoYDzIxMTIwNjAyMDMwNTUxWjAT
MREwDwYDVQQDDAhDT01QLTI5NzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
xzbOGlcoin2q+Mtp52r26Njliz2aoxIXbnOBUyDc/OGtk9nWA5uBtTc2zwR17um6
KV0bGyvuBA78XcvU+AIV/5s0ohBAX7yjRKmEhAYcFvov3EyWSdjOrqqo4qFSzOrK
sVQBlxIDpjQBH4F3lf6dBv6/M+tCT3iSv3aOZbsG0E8CAwEAAaNQME4wHQYDVR0O
BBYEFLqtrfTu+BIVt+TFiRUkIoiWIYrxMB8GA1UdIwQYMBaAFLqtrfTu+BIVt+TF
iRUkIoiWIYrxMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAc8N5P5gW
Jrdk9gF/3Cpp6THDiy93+WcuAm7zFwXPFNttJtFKMNObP2YRZvsQkvjezfrZoRBF
j8LgKB3tZCbBj+HDj+AeD+q9V+cqMFLKc6LezvQYUuum6bZdfUNnPv1K1ULYSPjq
/jsRBbabCWSXqxR6gYEM6ooauj3udBMXhHE=
-----END CERTIFICATE-----
software/dotclear/software.cfg
View file @
10f72b63
...
@@ -16,7 +16,7 @@ extends =
...
@@ -16,7 +16,7 @@ extends =
[application]
[application]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
url = http://download.dotclear.net/latest-2.0.tar.gz
url = http://download.dotclear.net/latest-2.0.tar.gz
md5sum =
98263b4734f93b7c54d3ab436bf344e3
md5sum =
4ca12cbd12228ceee0b7c0f697e1ff09
[application-template]
[application-template]
recipe = slapos.recipe.download
recipe = slapos.recipe.download
...
...
software/erp5-util-testing/instance.cfg
0 → 100644
View file @
10f72b63
[buildout]
parts =
test-runner
sh-environment
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
[create-directory]
recipe = slapos.cookbook:mkdirectory
bin = $${buildout:directory}/bin
etc = $${buildout:directory}/etc
services = $${:etc}/run
srv = $${buildout:directory}/srv
source-code = $${:srv}/eggs-source-code
[download-source]
recipe = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git
# Local development
[erp5-util]
<= download-source
repository = ${erp5-util-repository:location}
[test-runner]
recipe = slapos.cookbook:egg_test
run-test-suite = $${create-directory:bin}/runTestSuite
run-test-suite-binary = ${buildout:bin-directory}/runTestSuite
# The list of executables should be defined here and a combination
# of tests should dynamically generated.
#python-list = $${}
test-list =
$${erp5-util:location}
prepend-path = ${git:location}/bin:${libxslt:location}/bin:${python2.7:location}/bin
environment = environment
[environment]
CPPFLAGS = -I${python2.7:location}/include/python2.7 -I${libxml2:location}/include -I${libxslt:location}/include
LDFLAGS = -L${python2.7:location}/lib -L${libxml2:location}/lib -L${libxslt:location}/lib -L${zlib:location}/lib
PYTHONPATH = ${python-setuptools:location}
LD_LIBRARY_PATH = ${libxslt:location}/lib
[sh-environment]
# Section exposes testing default environment as sh file. It is thus easy
# to directly develop and test the egg inside of this instance.
recipe = collective.recipe.template
input = inline:
export PATH="$${test-runner:prepend-path}:$PATH"
export CPPFLAGS="$${environment:CPPFLAGS}"
export LDFLAGS="$${environment:LDFLAGS}"
export PYTHONPATH="$${environment:PYTHONPATH}"
export PS1="[slapos-testing env Active] $PS1"
output = $${create-directory:bin}/environment.sh
mode = 755
software/erp5-util-testing/software.cfg
0 → 100644
View file @
10f72b63
[buildout]
extends =
../../component/git/buildout.cfg
../../component/lxml-python/buildout.cfg
../../component/libxml2/buildout.cfg
../../component/libxslt/buildout.cfg
../../component/python-2.7/buildout.cfg
../../component/python-setuptools/buildout.cfg
../../component/zlib/buildout.cfg
../../stack/slapos.cfg
parts =
slapos.cookbook-repository
erp5-util-repository
eggs
template
[eggs]
recipe = zc.recipe.egg
eggs =
${lxml-python:egg}
erp5.util
slapos.cookbook
collective.recipe.template
entry-points =
runTestSuite=erp5.util.testsuite:runTestSuite
scripts =
runTestSuite
[slapos.cookbook-repository]
recipe = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git
forbid-download-cache = true
repository = http://git.erp5.org/repos/slapos.git
branch = master
[erp5-util-repository]
recipe = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git
forbid-download-cache = true
repository = http://git.erp5.org/repos/erp5.git
branch = master
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
md5sum = 0cdfaa1df03885bd6004755d285e69b5
output = ${buildout:directory}/template.cfg
mode = 640
[versions]
Jinja2 = 2.6
Werkzeug = 0.8.3
buildout-versions = 1.7
erp5.util = 0.4.7
hexagonit.recipe.cmmi = 1.6
lxml = 2.3.6
meld3 = 0.6.8
plone.recipe.command = 1.1
slapos.cookbook = 0.65
slapos.libnetworkcache = 0.13.2
slapos.recipe.build = 0.11.2
slapos.recipe.download = 1.0.dev-r4053
slapos.recipe.template = 2.4.2
# Required by:
# slapos.core==0.28.5
Flask = 0.9
# Required by:
# slapos.cookbook==0.65
PyXML = 0.8.4
# Required by:
# hexagonit.recipe.cmmi==1.6
hexagonit.recipe.download = 1.5.1
# Required by:
# slapos.cookbook==0.65
inotifyx = 0.2.0
# Required by:
# slapos.cookbook==0.65
netaddr = 0.7.10
# Required by:
# slapos.core==0.28.5
netifaces = 0.8
# Required by:
# erp5.util==0.4.7
# slapos.cookbook==0.65
# slapos.core==0.28.5
# zc.buildout==1.6.0-dev-SlapOS-006
# zc.recipe.egg==1.3.2
setuptools = 0.6c12dev-r88846
# Required by:
# slapos.cookbook==0.65
slapos.core = 0.28.5
# Required by:
# slapos.core==0.28.5
supervisor = 3.0a12
# Required by:
# slapos.cookbook==0.65
xml-marshaller = 0.9.7
# Required by:
# slapos.cookbook==0.65
zc.recipe.egg = 1.3.2
# Required by:
# slapos.core==0.28.5
zope.interface = 4.0.1
software/phpmyadmin/software.cfg
View file @
10f72b63
...
@@ -22,7 +22,7 @@ mode = 0644
...
@@ -22,7 +22,7 @@ mode = 0644
[application]
[application]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
url = http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.10/phpMyAdmin-3.3.10-all-languages.tar.bz2
?r=http%3A%2F%2Fwww.phpmyadmin.net%2Fhome_page%2Fdownloads.php&ts=1300959842&use_mirror=sunet
url = http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.10/phpMyAdmin-3.3.10-all-languages.tar.bz2
md5sum = cb7a632fb4f10a180ead15f7f90087f1
md5sum = cb7a632fb4f10a180ead15f7f90087f1
[application-template]
[application-template]
...
...
software/phpnuke/software.cfg
View file @
10f72b63
...
@@ -16,7 +16,7 @@ extends =
...
@@ -16,7 +16,7 @@ extends =
[application]
[application]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
url = http://phpnuke.org/modules/Release/files/phpnuke-release-8.2.4.tar.gz
url = http://phpnuke.org/modules/Release/files/phpnuke-release-8.2.4.tar.gz
md5sum =
0f31895b141f50a5f2e6f083b0222fe2
md5sum =
d448586c651c811a137280b435c4e05c
extract-directory = html
extract-directory = html
[application-template]
[application-template]
...
...
software/prestashop/software.cfg
View file @
10f72b63
...
@@ -16,7 +16,7 @@ extends =
...
@@ -16,7 +16,7 @@ extends =
[application]
[application]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
url = http://www.prestashop.com/download/prestashop_1.4.5.1.zip
url = http://www.prestashop.com/download/prestashop_1.4.5.1.zip
md5sum =
49197c04bcf9523ef9deb6d691615d84
md5sum =
6c0dcd301abe992a19dea1737d0adbe9
[instance-recipe]
[instance-recipe]
egg = slapos.cookbook
egg = slapos.cookbook
...
...
software/punbb/software.cfg
View file @
10f72b63
...
@@ -16,7 +16,7 @@ extends =
...
@@ -16,7 +16,7 @@ extends =
[application]
[application]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
url = http://punbb.informer.com/download/punbb-1.3.6.tar.gz
url = http://punbb.informer.com/download/punbb-1.3.6.tar.gz
md5sum =
9454ef78101028fd5acf2731f77545c2
md5sum =
7bb3f570cb6a61f8c3e3e25e750fd29d
[application-template]
[application-template]
recipe = slapos.recipe.download
recipe = slapos.recipe.download
...
...
software/slapos-testing/instance.cfg
View file @
10f72b63
...
@@ -48,7 +48,7 @@ environment = environment
...
@@ -48,7 +48,7 @@ environment = environment
[environment]
[environment]
CPPFLAGS = -I${python2.7:location}/include/python2.7 -I${libxml2:location}/include -I${libxslt:location}/include
CPPFLAGS = -I${python2.7:location}/include/python2.7 -I${libxml2:location}/include -I${libxslt:location}/include
LDFLAGS = -L${python2.7:location}/lib -L${libxml2:location}/lib -L${libxslt:location}/lib -L${zlib:location}/lib
LDFLAGS = -L${python2.7:location}/lib -L${libxml2:location}/lib -L${libxslt:location}/lib -L${
libxslt:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${python2.7:location}/lib -Wl,-rpath=${libxml2:location}/lib -Wl,-rpath=${libxslt:location}/lib -Wl,-rpath=${
zlib:location}/lib
PYTHONPATH = ${python-setuptools:location}
PYTHONPATH = ${python-setuptools:location}
[sh-environment]
[sh-environment]
...
...
software/slapos-testing/software.cfg
View file @
10f72b63
...
@@ -61,7 +61,7 @@ branch = master
...
@@ -61,7 +61,7 @@ branch = master
[template]
[template]
recipe = slapos.recipe.template
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
url = ${:_profile_base_location_}/instance.cfg
md5sum =
75588537faf3d42c14867229c68a3978
md5sum =
47f5a8cf4d134a35b7f36a7442e5798a
output = ${buildout:directory}/template.cfg
output = ${buildout:directory}/template.cfg
mode = 640
mode = 640
...
...
software/slaprunner/software.cfg
View file @
10f72b63
[buildout]
[buildout]
extends =
extends =
../../stack/slapos.cfg
../../stack/flask.cfg
../../stack/shacache-client.cfg
../../component/dropbear/buildout.cfg
../../component/git/buildout.cfg
../../component/cloud9/buildout.cfg
../../component/cloud9/buildout.cfg
../../component/dash/buildout.cfg
../../component/dash/buildout.cfg
../../component/dropbear/buildout.cfg
../../component/git/buildout.cfg
../../component/lxml-python/buildout.cfg
../../stack/flask.cfg
../../stack/shacache-client.cfg
../../stack/slapos.cfg
parts =
parts =
template
template
...
@@ -31,6 +32,7 @@ mode = 0644
...
@@ -31,6 +32,7 @@ mode = 0644
[eggs]
[eggs]
recipe = z3c.recipe.scripts
recipe = z3c.recipe.scripts
eggs =
eggs =
${lxml-python:egg}
slapos.libnetworkcache
slapos.libnetworkcache
slapos.toolbox[flask_auth]
slapos.toolbox[flask_auth]
slapos.core
slapos.core
...
...
software/sugar-crm/software.cfg
View file @
10f72b63
...
@@ -16,7 +16,7 @@ extends =
...
@@ -16,7 +16,7 @@ extends =
[application]
[application]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
url = http://www.sugarforge.org/frs/download.php/8558/SugarCE-6.3.0RC3.zip
url = http://www.sugarforge.org/frs/download.php/8558/SugarCE-6.3.0RC3.zip
md5sum =
ff4cf7c6f673f9f3f6e082c62736f628
md5sum =
40bcc6ff38ef31194d46864a9f3548f3
[instance-recipe]
[instance-recipe]
egg = slapos.cookbook
egg = slapos.cookbook
...
...
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