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
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.core
Commits
1062993d
Commit
1062993d
authored
Jun 21, 2011
by
Łukasz Nowak
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'external_buildout'
parents
3f32cfa9
0089b24a
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
30 additions
and
16 deletions
+30
-16
CHANGES.txt
CHANGES.txt
+2
-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 @
1062993d
0.4 (unreleased)
================
* No changes yet.
* Do not use buildout internally, but rather call bootstrap command of any
provided buildout binary. [Łukasz Nowak]
0.3 (2011-06-14)
================
...
...
buildout.cfg
View file @
1062993d
...
...
@@ -20,6 +20,7 @@ eggs =
[slapos]
recipe = z3c.recipe.scripts
eggs =
zc.buildout
slapos.core
ipython
ipdb
...
...
setup.py
View file @
1062993d
...
...
@@ -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 @
1062993d
...
...
@@ -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 @
1062993d
...
...
@@ -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 @
1062993d
...
...
@@ -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 @
1062993d
...
...
@@ -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