Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
17
Merge Requests
17
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
slapos.core
Commits
a0c22fe2
Commit
a0c22fe2
authored
Jun 21, 2011
by
Gabriel Monnerat
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into slave_instance
parents
12b07ee7
097391ff
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
35 additions
and
16 deletions
+35
-16
CHANGES.txt
CHANGES.txt
+7
-1
buildout.cfg
buildout.cfg
+1
-0
setup.py
setup.py
+0
-2
slapos.cfg.example
slapos.cfg.example
+1
-0
slapos/grid/SlapObject.py
slapos/grid/SlapObject.py
+8
-4
slapos/grid/slapgrid.py
slapos/grid/slapgrid.py
+8
-5
slapos/grid/utils.py
slapos/grid/utils.py
+10
-4
No files found.
CHANGES.txt
View file @
a0c22fe2
0.4 (unreleased)
================
* No changes yet.
* general: Polish requirement versions. [Arnaud Fontaine]
* general: Remove libnetworkcache. [Lucas Carvalho]
* slap: Remove not needed method from interface. [Romain Courteaud]
* slapformat: Implement dry run. [Vincent Pelletier]
* slapgrid: Allow to select any buildout binary used to bootstrap environment.
[Łukasz Nowak]
0.3 (2011-06-14)
================
...
...
buildout.cfg
View file @
a0c22fe2
...
...
@@ -20,6 +20,7 @@ eggs =
[slapos]
recipe = z3c.recipe.scripts
eggs =
zc.buildout
slapos.core
ipython
ipdb
...
...
setup.py
View file @
a0c22fe2
...
...
@@ -39,8 +39,6 @@ setup(name=name,
'supervisor'
,
# slapgrid uses supervisor to manage processes
'xml_marshaller>=0.9.3'
,
# to unmarshall/marshall python objects to/from
# XML
'zc.buildout>=1.5.0'
,
# slapgrid uses buildout as its backend to do the
# job
'zope.interface'
,
# slap library implementes interfaces
]
+
additional_install_requires
,
zip_safe
=
False
,
# proxy depends on Flask, which has issues with
...
...
slapos.cfg.example
View file @
a0c22fe2
...
...
@@ -3,6 +3,7 @@ software_root = /opt/slapgrid
instance_root = /srv/slapgrid
master_url = http://www.vifib.com/
computer_id = your computer id
buildout = /path/to/buildout/binary
[slapformat]
computer_xml = /opt/slapos/slapos.xml
...
...
slapos/grid/SlapObject.py
View file @
a0c22fe2
...
...
@@ -45,13 +45,14 @@ REQUIRED_COMPUTER_PARTITION_PERMISSION = '0750'
class
Software
(
object
):
"""This class is responsible of installing a software release"""
def
__init__
(
self
,
url
,
software_root
,
console
):
def
__init__
(
self
,
url
,
software_root
,
console
,
buildout
):
"""Initialisation of class parameters
"""
self
.
url
=
url
self
.
software_root
=
software_root
self
.
software_path
=
os
.
path
.
join
(
self
.
software_root
,
getSoftwareUrlHash
(
self
.
url
))
self
.
buildout
=
buildout
self
.
logger
=
logging
.
getLogger
(
'BuildoutManager'
)
self
.
console
=
console
...
...
@@ -74,7 +75,7 @@ class Software(object):
buildout_parameter_list
=
[
'buildout:directory=%s'
%
self
.
software_path
,
'-c'
,
self
.
url
]
bootstrapBuildout
(
self
.
software_path
,
bootstrapBuildout
(
self
.
software_path
,
self
.
buildout
,
additional_buildout_parametr_list
=
buildout_parameter_list
,
console
=
self
.
console
)
launchBuildout
(
self
.
software_path
,
...
...
@@ -106,10 +107,12 @@ class Partition(object):
partition_id
,
server_url
,
software_release_url
,
buildout
,
certificate_repository_path
=
None
,
console
=
False
):
"""Initialisation of class parameters"""
self
.
buildout
=
buildout
self
.
software_path
=
software_path
self
.
instance_path
=
instance_path
self
.
run_path
=
os
.
path
.
join
(
self
.
instance_path
,
'etc'
,
'run'
)
...
...
@@ -241,8 +244,9 @@ class Partition(object):
if
not
os
.
path
.
exists
(
buildout_binary
):
# use own buildout generation
bootstrapBuildout
(
self
.
instance_path
,
[
'buildout:bin-directory=%s'
%
os
.
path
.
join
(
self
.
instance_path
,
'sbin'
)],
console
=
self
.
console
)
bootstrapBuildout
(
self
.
instance_path
,
self
.
buildout
,
[
'buildout:bin-directory=%s'
%
os
.
path
.
join
(
self
.
instance_path
,
'sbin'
)],
console
=
self
.
console
)
buildout_binary
=
os
.
path
.
join
(
self
.
instance_path
,
'sbin'
,
'buildout'
)
# Launches buildout
launchBuildout
(
self
.
instance_path
,
...
...
slapos/grid/slapgrid.py
View file @
a0c22fe2
...
...
@@ -87,6 +87,8 @@ def parseArgumentTupleAndReturnSlapgridObject(*argument_tuple):
parser
.
add_argument
(
"--usage-report-periodicity"
,
type
=
int
,
default
=
"24"
,
help
=
"The periodicity of usage report sends, in hours."
)
parser
.
add_argument
(
"--buildout"
,
help
=
"Location of buildout binary."
,
default
=
None
)
parser
.
add_argument
(
"--pidfile"
,
help
=
"The location where pidfile will be created."
)
parser
.
add_argument
(
"--logfile"
,
...
...
@@ -195,7 +197,8 @@ def parseArgumentTupleAndReturnSlapgridObject(*argument_tuple):
cert_file
=
cert_file
,
master_ca_file
=
master_ca_file
,
certificate_repository_path
=
certificate_repository_path
,
console
=
option_dict
[
'console'
]),
console
=
option_dict
[
'console'
],
buildout
=
option_dict
.
get
(
'buildout'
)),
option_dict
])
...
...
@@ -259,6 +262,7 @@ class Slapgrid(object):
supervisord_socket
,
supervisord_configuration_path
,
usage_report_periodicity
,
buildout
,
key_file
=
None
,
cert_file
=
None
,
master_ca_file
=
None
,
...
...
@@ -289,6 +293,7 @@ class Slapgrid(object):
self
.
supervisord_configuration_directory
=
\
os
.
path
.
join
(
self
.
instance_etc_directory
,
'supervisord.conf.d'
)
self
.
console
=
console
self
.
buildout
=
buildout
def
checkEnvironmentAndCreateStructure
(
self
):
"""Checks for software_root and instance_root existence, then creates
...
...
@@ -347,8 +352,7 @@ class Slapgrid(object):
software_release
.
building
()
software_release_uri
=
software_release
.
getURI
()
Software
(
url
=
software_release_uri
,
software_root
=
self
.
software_root
,
console
=
self
.
console
).
install
()
console
=
self
.
console
,
buildout
=
self
.
buildout
).
install
()
except
(
SystemExit
,
KeyboardInterrupt
):
exception
=
traceback
.
format_exc
()
software_release
.
error
(
exception
)
...
...
@@ -399,8 +403,7 @@ class Slapgrid(object):
server_url
=
self
.
master_url
,
software_release_url
=
software_url
,
certificate_repository_path
=
self
.
certificate_repository_path
,
console
=
self
.
console
)
console
=
self
.
console
,
buildout
=
self
.
buildout
)
# There are no conditions to try to instanciate partition
try
:
computer_partition_state
=
computer_partition
.
getState
()
...
...
slapos/grid/utils.py
View file @
a0c22fe2
...
...
@@ -217,8 +217,8 @@ def dropPrivileges(uid, gid):
logger
.
info
(
'Succesfully dropped privileges to uid=%r gid=%r'
%
(
uid
,
gid
))
def
bootstrapBuildout
(
path
,
additional_buildout_parametr_lis
t
=
None
,
console
=
False
):
def
bootstrapBuildout
(
path
,
buildou
t
=
None
,
additional_buildout_parametr_list
=
None
,
console
=
False
):
if
additional_buildout_parametr_list
is
None
:
additional_buildout_parametr_list
=
[]
logger
=
logging
.
getLogger
(
'BuildoutManager'
)
...
...
@@ -228,9 +228,15 @@ def bootstrapBuildout(path, additional_buildout_parametr_list=None,
gid
=
stat_info
.
st_gid
invocation_list
=
[
sys
.
executable
,
'-S'
]
invocation_list
.
append
(
pkg_resources
.
resource_filename
(
__name__
,
'zc.buildout-bootstap.py'
))
if
buildout
is
not
None
:
invocation_list
.
append
(
buildout
)
else
:
logger
.
warning
(
'Using old style bootstrap of included bootstrap file. '
'Consider setting buildout binary location.'
)
invocation_list
.
append
(
pkg_resources
.
resource_filename
(
__name__
,
'zc.buildout-bootstap.py'
))
invocation_list
.
extend
(
additional_buildout_parametr_list
)
invocation_list
.
append
(
'bootstrap'
)
try
:
umask
=
os
.
umask
(
SAFE_UMASK
)
logger
.
debug
(
'Set umask from %03o to %03o'
%
(
umask
,
SAFE_UMASK
))
...
...
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