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
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
Xiaowu Zhang
slapos
Commits
c1f72c31
Commit
c1f72c31
authored
Nov 09, 2012
by
Cédric de Saint Martin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'slaprunner'
Conflicts: component/slapos/buildout.cfg
parents
4bc6ef67
06c730ab
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
173 additions
and
74 deletions
+173
-74
component/cloud9/buildout.cfg
component/cloud9/buildout.cfg
+14
-7
component/cloud9/cloud9-session-directory.patch
component/cloud9/cloud9-session-directory.patch
+22
-0
component/nodejs/buildout.cfg
component/nodejs/buildout.cfg
+2
-2
slapos/recipe/slaprunner/__init__.py
slapos/recipe/slaprunner/__init__.py
+4
-0
slapos/recipe/slaprunner/template/slapos.cfg.in
slapos/recipe/slaprunner/template/slapos.cfg.in
+2
-0
software/slaprunner/development.cfg
software/slaprunner/development.cfg
+61
-0
software/slaprunner/instance-runner.cfg
software/slaprunner/instance-runner.cfg
+45
-40
software/slaprunner/software.cfg
software/slaprunner/software.cfg
+23
-25
No files found.
component/cloud9/buildout.cfg
View file @
c1f72c31
...
...
@@ -16,7 +16,7 @@ parts =
[node-sm]
recipe = slapos.recipe.build:npm
packages = sm@0.2.
7
packages = sm@0.2.
11
node = nodejs
environment =
PATH=${nodejs:location}/bin:%(PATH)s
...
...
@@ -37,6 +37,13 @@ command = export GIT_SSL_NO_VERIFY=true; export HOME=${:location}; (${:git-binar
update-command =
executable = ${:location}/bin/cloud9.js
[cloud9-session-directory.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
filename = cloud9-session-directory.patch
download-only = true
md5sum = 5dc8cc28447ed3747b8a53c768d872aa
[cloud9-git]
# Online IDE written in javascript/node.js
# URL : c9.io
...
...
@@ -44,11 +51,11 @@ executable = ${:location}/bin/cloud9.js
# NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location}
recipe = plone.recipe.command
stop-on-error = true
commit =
c66284221143c175fc889418d499da6f37492a7c
commit =
6b0112363dd0f9523430808394a162d3cc699550
repository = https://github.com/ajaxorg/cloud9.git
location = ${buildout:parts-directory}/${:_buildout_section_name_}
environment = export GIT_SSL_NO_VERIFY=true; export PATH=${git:location}/bin:${nodejs:location}/bin:${node-sm:location}/node_modules/sm/bin:$PATH; export CPPFLAGS="-I${libxml2:location}/include -I${nodejs:location}/include"; export LDFLAGS="-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib"; export HOME=${:location};
command = ${:environment} (git clone --quiet ${:repository} ${:location} && cd ${:location} && git reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install) || (rm -fr ${:location}; exit 1)
command = ${:environment} (git clone --quiet ${:repository} ${:location} && cd ${:location} && git reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install
&& patch -p1 < ${cloud9-session-directory.patch:location}/${cloud9-session-directory.patch:filename}
) || (rm -fr ${:location}; exit 1)
update-command =
executable = ${:location}/server.js
...
...
component/cloud9/cloud9-session-directory.patch
0 → 100644
View file @
c1f72c31
diff --git a/configs/default.js b/configs/default.js
index 6d1c85f..be35b37 100644
--- a/configs/default.js
+++ b/configs/default.js
@@ -22,6 +22,8 @@
var vfsUrl = "/vfs";
var port = argv.p || process.env.PORT || 3131;
var host = argv.l || process.env.IP || "localhost";
+var home = process.env['HOME']
+
var config = [
{
packagePath: "connect-architect/connect",
@@ -167,7 +169,7 @@
var config = [
},
{
packagePath: "connect-architect/connect.session.file",
- sessionsPath: __dirname + "/../.sessions"
+ sessionsPath: home + "/.sessions"
},
"./cloud9.permissions",
{
\ No newline at end of file
component/nodejs/buildout.cfg
View file @
c1f72c31
...
...
@@ -14,8 +14,8 @@ parts =
[nodejs-0.8]
# Server-side Javascript.
recipe = hexagonit.recipe.cmmi
url = http://nodejs.org/dist/v0.8.
8/node-v0.8.8
.tar.gz
md5sum =
f4dae84e96a94b768404c14633bccd49
url = http://nodejs.org/dist/v0.8.
14/node-v0.8.14
.tar.gz
md5sum =
284fd2c7578064c339d9cf6a3a475ac7
configure-options =
--openssl-includes=${openssl:location}/include
--openssl-libpath=${openssl:location}/lib
...
...
slapos/recipe/slaprunner/__init__.py
View file @
c1f72c31
...
...
@@ -60,6 +60,8 @@ class Recipe(GenericBaseRecipe):
'supervisord.conf'
),
runner_workdir
=
self
.
workdir
,
etc_dir
=
self
.
options
[
'etc_dir'
],
run_dir
=
self
.
options
[
'run_dir'
],
log_dir
=
self
.
options
[
'log_dir'
],
runner_host
=
self
.
ipv6
,
runner_port
=
self
.
runner_port
,
ipv4_address
=
self
.
ipv4
,
...
...
@@ -128,6 +130,8 @@ class Test(GenericBaseRecipe):
'supervisord.conf'
),
runner_workdir
=
self
.
workdir
,
etc_dir
=
self
.
options
[
'etc_dir'
],
run_dir
=
self
.
options
[
'etc_dir'
],
log_dir
=
self
.
workdir
,
runner_host
=
self
.
ipv6
,
runner_port
=
self
.
runner_port
,
ipv4_address
=
self
.
ipv4
,
...
...
slapos/recipe/slaprunner/template/slapos.cfg.in
View file @
c1f72c31
...
...
@@ -20,6 +20,8 @@ runner_port = %(runner_port)s
ipv4_address = %(ipv4_address)s
ipv6_address = %(ipv6_address)s
etc_dir = %(etc_dir)s
run_dir = %(run_dir)s
log_dir = %(log_dir)s
[slapproxy]
host = %(proxy_host)s
...
...
software/slaprunner/development.cfg
0 → 100644
View file @
c1f72c31
# Development profile of slaprunner.
# Exactly the same as software.cfg, but fetch the slapos.cookbook and
# slapos.toolbox from git repository instead of fetching stable version,
# allowing to play with bleeding edge environment.
# You'll need to run buildout twice for this profile.
[buildout]
extends = software.cfg
parts =
# Original parts
template
slapos-cookbook
eggs
# Development parts
slapos.cookbook-repository
slapos.core-repository
slapos.toolbox-repository
check-recipe
develop =
${:parts-directory}/slapos.cookbook-repository
${:parts-directory}/slapos.core-repository
${:parts-directory}/slapos.toolbox-repository
[slapos.toolbox-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.toolbox.git
branch = slaprunner
git-executable = ${git:location}/bin/git
[slapos.cookbook-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.git
branch = slaprunner
git-executable = ${git:location}/bin/git
[slapos.core-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.core.git
branch = master
git-executable = ${git:location}/bin/git
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command =
grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link &&
grep parts ${buildout:develop-eggs-directory}/slapos.core.egg-link &&
grep parts ${buildout:develop-eggs-directory}/slapos.toolbox.egg-link
# Unpin versions, in case it has been pinned in software.cfg
[versions]
slapos.cookbook =
slapos.toolbox =
slapos.core =
\ No newline at end of file
software/slaprunner/instance-runner.cfg
View file @
c1f72c31
...
...
@@ -11,6 +11,7 @@ parts =
slaprunner-frontend-promise
cloud9-promise
dropbear-promise
symlinks
eggs-directory = ${buildout:eggs-directory}
...
...
@@ -19,43 +20,39 @@ offline = true
# Create all needed directories
[
root
directory]
[directory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/
var = $${buildout:directory}/var/
srv = $${buildout:directory}/srv/
bin = $${buildout:directory}/bin/
[directory]
recipe = slapos.cookbook:mkdirectory
sshkeys = $${rootdirectory:srv}/sshkeys
services = $${rootdirectory:etc}/run/
ssh = $${rootdirectory:etc}/ssh/
[basedirectory]
recipe = slapos.cookbook:mkdirectory
log = $${rootdirectory:var}/log/
services = $${rootdirectory:etc}/run/
run = $${rootdirectory:var}/run/
backup = $${rootdirectory:srv}/backup/
promises = $${rootdirectory:etc}/promise/
test = $${rootdirectory:etc}/test/
sshkeys = $${:srv}/sshkeys
services = $${:etc}/service/
scripts = $${:etc}/run/
ssh = $${:etc}/ssh/
log = $${:var}/log/
run = $${:var}/run/
backup = $${:srv}/backup/
promises = $${:etc}/promise/
test = $${:etc}/test/
[runnerdirectory]
recipe = slapos.cookbook:mkdirectory
home = $${
root
directory:srv}/runner/
test = $${
root
directory:srv}/test/
home = $${directory:srv}/runner/
test = $${directory:srv}/test/
project = $${:home}/project
software-root = $${:home}/software
instance-root = $${:home}/instance
project-test = $${:test}/project
software-test = $${:test}/software
instance-test = $${:test}/instance
sessions = $${buildout:directory}/.sessions
#Create password recovery code for slaprunner
[recovery-code]
recipe = slapos.cookbook:generate.password
storage-path = $${
root
directory:etc}/.rcode
storage-path = $${directory:etc}/.rcode
bytes = 4
# Deploy cloud9 and slaprunner
...
...
@@ -63,7 +60,7 @@ bytes = 4
recipe = slapos.cookbook:cloud9
ip = $${slap-network-information:global-ipv6}
port = 30000
wrapper = $${
base
directory:services}/cloud9
wrapper = $${directory:services}/cloud9
working-directory = $${runnerdirectory:home}
git-binary = ${git:location}/bin/git
node-binary = ${nodejs:location}/bin/node
...
...
@@ -77,13 +74,14 @@ slapgrid_cp = ${buildout:directory}/bin/slapgrid-cp
slapproxy = ${buildout:directory}/bin/slapproxy
supervisor = ${buildout:directory}/bin/slapgrid-supervisorctl
git-binary = ${git:location}/bin/git
slapos.cfg = $${
root
directory:etc}/slapos.cfg
slapos.cfg = $${directory:etc}/slapos.cfg
working-directory = $${runnerdirectory:home}
project-directory = $${runnerdirectory:project}
software-directory = $${runnerdirectory:software-root}
instance-directory = $${runnerdirectory:instance-root}
etc_dir = $${rootdirectory:etc}
log_dir = $${basedirectory:log}
etc_dir = $${directory:etc}
log_dir = $${directory:log}
run_dir = $${directory:run}
ssh_client = $${sshkeys-dropbear:wrapper}
public_key = $${sshkeys-dropbear:public-key}
private_key = $${sshkeys-dropbear:private-key}
...
...
@@ -93,32 +91,34 @@ proxy_port = 50000
runner_port = 50000
partition-amount = $${slap-parameter:instance-amount}
cloud9-url = $${cloud9:access-url}
wrapper = $${basedirectory:services}/slaprunner
debug = False
# Deploy dropbear (minimalist ssh server)
[sshkeys-directory]
recipe = slapos.cookbook:mkdirectory
requests = $${directory:sshkeys}/requests/
keys = $${directory:sshkeys}/keys/
wrapper = $${directory:services}/slaprunner
debug = $${slap-parameter:debug}
[test-runner]
<= slaprunner
recipe = slapos.cookbook:slaprunner.test
slaprunnertest = ${buildout:directory}/bin/slaprunnertest
slapos.cfg = $${
root
directory:etc}/slapos-test.cfg
slapos.cfg = $${directory:etc}/slapos-test.cfg
working-directory = $${runnerdirectory:test}
project-directory = $${runnerdirectory:project-test}
software-directory = $${runnerdirectory:software-test}
instance-directory = $${runnerdirectory:instance-test}
wrapper = $${rootdirectory:bin}/runTestSuite
etc_dir = $${basedirectory:test}
proxy_port = 8602
wrapper = $${directory:bin}/runTestSuite
etc_dir = $${directory:test}
# Deploy dropbear (minimalist SSH server)
[sshkeys-directory]
recipe = slapos.cookbook:mkdirectory
requests = $${directory:sshkeys}/requests/
keys = $${directory:sshkeys}/keys/
[sshkeys-authority]
recipe = slapos.cookbook:sshkeys_authority
request-directory = $${sshkeys-directory:requests}
keys-directory = $${sshkeys-directory:keys}
wrapper = $${
base
directory:services}/sshkeys_authority
wrapper = $${directory:services}/sshkeys_authority
keygen-binary = ${dropbear:location}/bin/dropbearkey
[dropbear-server]
...
...
@@ -126,7 +126,7 @@ recipe = slapos.cookbook:dropbear
host = $${slap-network-information:global-ipv6}
port = 2222
home = $${directory:ssh}
wrapper = $${
root
directory:bin}/raw_sshd
wrapper = $${directory:bin}/raw_sshd
shell = /bin/bash
rsa-keyfile = $${directory:ssh}/server_key.rsa
dropbear-binary = ${dropbear:location}/sbin/dropbear
...
...
@@ -139,7 +139,7 @@ type = rsa
executable = $${dropbear-server:wrapper}
public-key = $${dropbear-server:rsa-keyfile}.pub
private-key = $${dropbear-server:rsa-keyfile}
wrapper = $${
base
directory:services}/sshd
wrapper = $${directory:services}/sshd
[dropbear-server-add-authorized-key]
<= dropbear-server
...
...
@@ -173,33 +173,38 @@ password_recovery_code = $${recovery-code:passwd}
# Deploy promises scripts
[slaprunner-promise]
recipe = slapos.cookbook:check_port_listening
path = $${
base
directory:promises}/slaprunner
path = $${directory:promises}/slaprunner
hostname = $${slaprunner:ipv6}
port = $${slaprunner:runner_port}
[slaprunner-frontend-promise]
recipe = slapos.cookbook:check_url_available
path = $${
base
directory:promises}/slaprunner_frontend
path = $${directory:promises}/slaprunner_frontend
url = $${request-frontend:connection-site_url}
dash_path = ${dash:location}/bin/dash
curl_path = ${curl:location}/bin/curl
[cloud9-promise]
recipe = slapos.cookbook:check_url_available
path = $${
base
directory:promises}/cloud9
path = $${directory:promises}/cloud9
url = http://$${cloud9:ip}:$${cloud9:port}
dash_path = ${dash:location}/bin/dash
curl_path = ${curl:location}/bin/curl
[dropbear-promise]
recipe = slapos.cookbook:check_port_listening
path = $${
base
directory:promises}/dropbear
path = $${directory:promises}/dropbear
hostname = $${dropbear-server:host}
port = $${dropbear-server:port}
[symlinks]
recipe = cns.recipe.symlink
symlink_target = $${directory:bin}
symlink_base = ${buildout:directory}/bin
[slap-parameter]
# Default value if no ssh key is specified
authorized-key =
# Default value of instances number in slaprunner
instance-amount = 10
debug = false
software/slaprunner/software.cfg
View file @
c1f72c31
...
...
@@ -25,7 +25,7 @@ md5sum = 5307e4200f044ae57b504ad68444491c
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-runner.cfg
output = ${buildout:directory}/template-runner.cfg
md5sum =
bd1c73c149b4adf2fbab80bc29c782c8
md5sum =
91d6550c43b7a43a999724af4650ae40
mode = 0644
[eggs]
...
...
@@ -34,6 +34,7 @@ eggs =
slapos.libnetworkcache
slapos.toolbox[flask_auth]
slapos.core
cns.recipe.symlink
[networkcache]
# signature certificates of the following uploaders.
...
...
@@ -58,18 +59,20 @@ signature-certificate-list =
# Pypi
lxml = 2.3.6
Flask-Auth = 0.8
[versions]
Flask-Auth = 0.85
Jinja2 = 2.6
Werkzeug = 0.8.3
apache-libcloud = 0.11.3
async = 0.6.1
buildout-versions = 1.7
cns.recipe.symlink = 0.2.3
gitdb = 0.5.4
hexagonit.recipe.cmmi = 1.6
meld3 = 0.6.9
plone.recipe.command = 1.1
pycrypto = 2.6
slapos.cookbook = 0.
68.1
slapos.cookbook = 0.
70
slapos.libnetworkcache = 0.13.2
slapos.recipe.build = 0.11.5
slapos.recipe.template = 2.4.2
...
...
@@ -78,7 +81,7 @@ smmap = 0.8.2
z3c.recipe.scripts = 1.0.1
# Required by:
# slapos.core==0.3
1.2
# slapos.core==0.3
3.1
# slapos.toolbox==0.31.1
Flask = 0.9
...
...
@@ -86,10 +89,6 @@ Flask = 0.9
# slapos.toolbox==0.31.1
GitPython = 0.3.2.RC1
# Required by:
# slapos.cookbook==0.68
PyXML = 0.8.4
# Required by:
# slapos.toolbox==0.31.1
atomize = 0.1.1
...
...
@@ -103,56 +102,55 @@ feedparser = 5.1.2
hexagonit.recipe.download = 1.5.1
# Required by:
# slapos.cookbook==0.
68
# slapos.cookbook==0.
70
inotifyx = 0.2.0
# Required by:
# slapos.cookbook==0.
68
# slapos.cookbook==0.
70
netaddr = 0.7.10
# Required by:
# slapos.core==0.3
1.2
# slapos.core==0.3
3.1
netifaces = 0.8
# Required by:
# slapos.toolbox==0.31.1
paramiko = 1.
7.7.2
paramiko = 1.
9.0
# Required by:
# slapos.toolbox==0.31.1
psutil = 0.6.1
# Required by:
# slapos.cookbook==0.
68
pytz = 2012
f
# slapos.cookbook==0.
70
pytz = 2012
h
# Required by:
# slapos.cookbook==0.68
# slapos.core==0.31.2
# cns.recipe.symlink==0.2.3
# slapos.cookbook==0.70
# slapos.core==0.33.1
# slapos.libnetworkcache==0.13.2
# slapos.toolbox==0.31.1
# supervisor==3.0b1
# zc.buildout==1.6.0-dev-SlapOS-007
# zc.buildout==1.6.0-dev-SlapOS-010
# zc.recipe.egg==1.3.2
# zope.interface==4.0.1
setuptools = 0.6c12dev-r88846
# Required by:
# slapos.cookbook==0.
68
slapos.core = 0.3
1.2
# slapos.cookbook==0.
70
slapos.core = 0.3
3.1
# Required by:
# slapos.core==0.3
1.2
# slapos.core==0.3
3.1
supervisor = 3.0b1
# Required by:
# slapos.cookbook==0.
68
# slapos.cookbook==0.
70
xml-marshaller = 0.9.7
# Required by:
# slapos.cookbook==0.
68
# slapos.cookbook==0.
70
zc.recipe.egg = 1.3.2
# Required by:
# slapos.core==0.3
1.2
# slapos.core==0.3
3.1
zope.interface = 4.0.1
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