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
Paul Graydon
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