Commit db061c01 authored by Xavier Thompson's avatar Xavier Thompson

Version up zc.buildout 3.0.1+slapos002

See merge request !1550
parents 2cea0bf2 e7c0994d
......@@ -21,7 +21,7 @@ environment = numpy-env
eggs = ${cython:egg}
[versions]
numpy = 1.22.0
numpy = 1.24.4
[numpy:sys.version_info < (3,8)]
depends =
......
......@@ -15,6 +15,9 @@ extends =
../../stack/slapos.cfg
../../stack/monitor/buildout.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
dcron
logrotate
......@@ -27,12 +30,6 @@ parts =
template-crontab-line
slapos-cookbook
[python]
part = python2.7
[openssl]
<= openssl-1.1
[rssgen-eggs]
recipe = zc.recipe.egg
interpreter = python-${:_buildout_section_name_}
......
......@@ -28,6 +28,9 @@ extends =
../../stack/nxdtest.cfg
./buildout.hash.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts +=
slapos-cookbook
beremiz-eggs
......@@ -41,13 +44,6 @@ parts +=
# Always build GCC for Fortran (see openblas).
max_version = 0
[python]
# Beremiz works with python2.7 for now, the code is not yet upgraded for python3
part = python2.7
[openssl]
<= openssl-1.1
[open62541]
# Beremiz need it to be in folder parts/open62541
# as Beremiz search for open62541 to BEREMIZ_PATH/../open62541
......
......@@ -11,6 +11,9 @@ extends =
../../stack/monitor/buildout.cfg
../../stack/slapos.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
beremiz-source
slapos-cookbook
......@@ -19,12 +22,6 @@ parts =
matiec
open62541
[python]
part = python2.7
[openssl]
<= openssl-1.1
[gcc]
# we want this SR to use a fixed gcc (so that we have the same gcc as open62541 component)
max_version = 0
......
......@@ -3,17 +3,15 @@ extends =
../../stack/slapos.cfg
../../component/vm-img/debian.cfg
../../component/rina-tools/buildout.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
slapos-cookbook
template
download-cache = ${:directory}/download-cache
[python]
part = python2.7
[openssl]
<= openssl-1.1
[template]
recipe = slapos.recipe.template:jinja2
# XXX: "template.cfg" is hardcoded in instanciation recipe
......
......@@ -114,6 +114,7 @@ zope.testrunner = 5.2
recipe = zc.recipe.egg
eggs =
${:recipe}
zc.buildout[test]
zope.testing
zope.testrunner
scripts =
......
......@@ -2,8 +2,5 @@
extends =
software.cfg
[python]
part = python2.7
[openssl]
<= openssl-1.1
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
......@@ -6,6 +6,10 @@ extends =
../../component/manpy/buildout.cfg
../../stack/monitor/buildout.cfg
./buildout.hash.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
slapos-cookbook
manpy
......@@ -21,12 +25,6 @@ max_version = 0
# also use old gcc version for old scipy version used in python2
part = gcc-8.5
[python]
part = python2.7
[openssl]
<= openssl-1.1
[dream-repository.git]
revision = f3bcf115741886835df8c0ca0fdbf510d77d8db8
......
......@@ -2,16 +2,14 @@
extends =
../../stack/slapos.cfg
../../component/rina-tools/buildout.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
slapos-cookbook
template
[python]
part = python2.7
[openssl]
<= openssl-1.1
[file]
# For old GCC like 4.9.2 on Debian 8.
# XXX: This should be moved to component/rina-tools/buildout.cfg, next to where
......
......@@ -66,13 +66,20 @@ scripts =
surykatka = 0.8.0
# For surykatka 0.7.1
dnspython = 2.1.0
dnspython = 2.1.0:whl
forcediphttpsadapter = 1.0.1
miniupnpc = 2.0.2
peewee = 3.14.4
python-whois = 0.7.3
future = 0.18.3
# For statsmodel =0.11.1
numpy = 1.22.0
# For numy = 1.22.0
setuptools = 44.1.1
# Build GCC with Fortran for OpenBLAS (scipy & numpy)
[gcc]
max_version = 0
......@@ -82,4 +89,3 @@ eggs +=
${pandas:egg}
${statsmodels:egg}
${scipy:egg}
......@@ -23,6 +23,9 @@ extends =
../../component/ZEO/buildout.cfg
../../component/zodbtools/buildout.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
# keep neoppod first so that ZODB is built correctly,
# before any other section that would depend on it
......@@ -30,12 +33,6 @@ parts =
neoppod
slapos-cookbook
[python]
part = python2.7
[openssl]
<= openssl-1.1
[gcc:python2]
# use old gcc version for old scipy version used in python2
part = gcc-8.5
......
......@@ -19,6 +19,8 @@ extends =
../../component/pygolang/buildout.cfg
../../stack/nxdtest.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
gowork
......@@ -47,12 +49,6 @@ parts =
slapos-cookbook
instance.cfg
[python]
part = python2.7
[openssl]
<= openssl-1.1
[neo]
<= go-git-package
go.importpath = lab.nexedi.com/kirr/neo
......
......@@ -13,16 +13,13 @@ extends =
# Monitoring stack (keep on bottom)
../../stack/monitor/buildout.cfg
# Python2 versions for buildout (keep bottom-most)
../../stack/slapos-py2.cfg
parts +=
slapos-cookbook
template
[python]
part = python2.7
[openssl]
<= openssl-1.1
[re6stnet-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/re6stnet.git
......
......@@ -344,7 +344,7 @@ eggs +=
supervisor
${slapos.cookbook-setup:egg}
${slapos.test.backupserver-setup:egg}
${slapos.test.beremiz-ide-setup:egg}
# ${slapos.test.beremiz-ide-setup:egg}
${slapos.test.caucase-setup:egg}
${slapos.test.cloudooo-setup:egg}
${slapos.test.dream-setup:egg}
......@@ -434,7 +434,7 @@ context =
tests =
json-schemas ${slapos.cookbook-setup:setup}
backupserver ${slapos.test.backupserver-setup:setup}
beremiz-ide ${slapos.test.beremiz-ide-setup:setup}
# beremiz-ide ${slapos.test.beremiz-ide-setup:setup}
caucase ${slapos.test.caucase-setup:setup}
cloudooo ${slapos.test.cloudooo-setup:setup}
dream ${slapos.test.dream-setup:setup}
......@@ -496,7 +496,7 @@ requests-toolbelt = 0.8.0
testfixtures = 6.11.0
mysqlclient = 2.1.1
pexpect = 4.8.0
ptyprocess = 0.6.0
ptyprocess = 0.6.0:whl
paho-mqtt = 1.5.0
pcpp = 1.30
xmltodict = 0.13.0
......
......@@ -2,11 +2,8 @@
extends =
software.cfg
[python]
part = python2.7
[openssl]
<= openssl-1.1
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
[extra-eggs]
eggs +=
......
......@@ -23,11 +23,11 @@ md5sum = 9658a11340c018de816d0de40683706a
[instance-import]
_update_hash_filename_ = instance-import.cfg.jinja.in
md5sum = c8d1be7aee980deb0f0d1a3126c9b9da
md5sum = d0ff7b93e392f9b9233f9ae6ba81583f
[instance-export]
_update_hash_filename_ = instance-export.cfg.jinja.in
md5sum = bb6d26c56b4bb9cf553c130fdd51000d
md5sum = b982e83fa42103b7391d97eb36591174
[instance-resilient]
_update_hash_filename_ = instance-resilient.cfg.jinja
......
......@@ -10,6 +10,10 @@ parts +=
$${:theia-environment-parts}
resilient-publish-connection-parameter
# Avoid publication conflicts
parts -=
publish-connection-parameter
# The resilient stack makes the 'resilient' instance
# request the 'export' instance with a 'namebase' parameter.
......
......@@ -14,6 +14,10 @@ parts +=
$${:theia-parts}
$${:theia-environment-parts}
# Avoid publication conflicts
parts -=
publish-connection-parameter
# The resilient stack makes the 'resilient' instance
# request the 'import' instance with a 'namebase' parameter.
......
......@@ -17,4 +17,4 @@ update =
json.dump(dict(os.environ), f)
[versions]
slapos.recipe.build = 0.48
slapos.recipe.build = 0.57
[buildout]
find-links +=
http://www.nexedi.org/static/packages/source/slapos.buildout/zc.buildout-2.7.1%2Bslapos010.tar.gz
http://www.nexedi.org/static/packages/source/zc.recipe.egg-2.0.3%2Bslapos003.tar.gz
http://www.nexedi.org/static/packages/source/
http://www.nexedi.org/static/packages/source/slapos.buildout/
parts =
instance-template
......@@ -20,8 +20,8 @@ url = ${:_profile_base_location_}/instance.cfg.in
output = ${buildout:directory}/instance.cfg
[versions]
setuptools = 44.0.0
zc.buildout = 2.7.1+slapos010
setuptools = 44.1.1
zc.buildout = 2.7.1+slapos019
zc.recipe.egg = 2.0.3+slapos003
Jinja2 = 2.11.2
MarkupSafe = 1.0
......@@ -263,7 +263,8 @@ class TestTheia(TheiaTestCase):
ipv6, *prefixlen = self._ipv6_address.split('/')
if not prefixlen:
raise unittest.SkipTest('No IPv6 range')
elif int(prefixlen[0]) >= 123:
elif int(prefixlen[0]) + 16 >= 123:
# Note: prefixlen-theia = prefixlen-sr-testing + 16
raise unittest.SkipTest('IPv6 range too small: %s' % self._ipv6_address)
with sqlite3.connect(proxy_path) as db:
......
......@@ -187,7 +187,7 @@ class ExportAndImportMixin(object):
old_value = self.slap._force_slapos_node_instance_all
self.slap._force_slapos_node_instance_all = True
try:
self.slap.waitForInstance(error_lines=0)
self.slap.waitForInstance(max_retry=2, error_lines=0)
except SlapOSNodeCommandError as e:
s = str(e)
self.assertNotIn("Promise 'resiliency-export-promise.py' failed", s)
......@@ -561,10 +561,7 @@ class TestTheiaResilience(TheiaSyncMixin, ResilientTheiaTestCase):
def _checkSync(self):
# Check that ~/etc still contains everything it did before
etc_listdir = os.listdir(self.getPartitionPath('import', 'etc'))
try:
self.assertTrue(set(self.etc_listdir).issubset(etc_listdir))
except AssertionError:
breakpoint()
self.assertTrue(set(self.etc_listdir).issubset(etc_listdir))
def _checkTakeover(self):
# Check that there is an export, import and frozen instance and get their new partition IDs
......
......@@ -11,7 +11,7 @@ import test
import test_resiliency
stable_software_url = "https://lab.nexedi.com/nexedi/slapos/raw/1.0.324/software/theia/software.cfg"
stable_software_url = "https://lab.nexedi.com/nexedi/slapos/raw/1.0.349/software/theia/software.cfg"
dev_software_url = os.path.abspath(
os.path.join(os.path.dirname(__file__), '..', 'software.cfg'))
......@@ -102,87 +102,3 @@ class TestTheiaResilienceWithInitialInstance(
def beforeUpgrade(cls):
# Check initial embedded instance
test.TestTheiaWithEmbeddedInstance.test(cls())
class TestResilientTheiaUpgradeWithInitialInstance(
UpgradeTestCase,
test_resiliency.ResilientTheiaTestCase,
test_resiliency.TheiaSyncMixin):
backup_max_tries = 70
backup_wait_interval = 10
old_flag_file = os.path.join('etc', 'embedded-instance-config.json.done')
old_exitcode_file = os.path.join('etc', 'embedded-request-exitcode')
flag_file = os.path.join('var', 'state', 'standalone-ran-before.flag')
exitcode_file = os.path.join('var', 'state', 'embedded-request.exitcode')
@classmethod
def getInstanceParameterDict(cls):
return {
'initial-embedded-instance': json.dumps({
'software-url': test_resiliency.dummy_software_url
}),
}
def assertExists(self, path):
self.assertTrue(os.path.exists(path))
def assertNotFound(self, path):
self.assertFalse(os.path.exists(path))
@classmethod
def beforeUpgrade(cls):
self = cls()
self.assertExists(cls.getPartitionPath('export', self.old_flag_file))
self.assertExists(cls.getPartitionPath('export', self.old_exitcode_file))
self.assertExists(self.getPartitionPath('import', self.old_flag_file))
self.assertNotFound(self.getPartitionPath('import', self.old_exitcode_file))
def _prepareExport(self): # after upgrade
self.assertNotFound(self.getPartitionPath('export', self.old_flag_file))
self.assertNotFound(self.getPartitionPath('export', self.old_exitcode_file))
self.assertNotFound(self.getPartitionPath('import', self.old_flag_file))
self.assertNotFound(self.getPartitionPath('import', self.old_exitcode_file))
self.assertExists(self.getPartitionPath('export', self.flag_file))
self.assertExists(self.getPartitionPath('export', self.exitcode_file))
self.assertExists(self.getPartitionPath('import', self.flag_file))
self.assertNotFound(self.getPartitionPath('import', self.exitcode_file))
def _checkSync(self):
self.assertExists(self.getPartitionPath('export', self.flag_file))
self.assertExists(self.getPartitionPath('export', self.exitcode_file))
self.assertExists(self.getPartitionPath('import', self.flag_file))
self.assertExists(self.getPartitionPath('import', self.exitcode_file))
def _checkTakeover(self):
self.assertNotFound(self.getPartitionPath('export', self.old_flag_file))
self.assertNotFound(self.getPartitionPath('export', self.old_exitcode_file))
self.assertNotFound(self.getPartitionPath('import', self.old_flag_file))
self.assertNotFound(self.getPartitionPath('import', self.old_exitcode_file))
self.assertExists(self.getPartitionPath('export', self.flag_file))
self.assertExists(self.getPartitionPath('export', self.exitcode_file))
self.assertExists(self.getPartitionPath('import', self.flag_file))
self.assertNotFound(self.getPartitionPath('import', self.exitcode_file))
class TestResilientTheiaUpgradeWithInitialInstanceAndSync(
TestResilientTheiaUpgradeWithInitialInstance):
@classmethod
def beforeUpgrade(cls):
cls()._doSync()
def _prepareExport(self): # after upgrade
self.assertNotFound(self.getPartitionPath('export', self.old_flag_file))
self.assertNotFound(self.getPartitionPath('export', self.old_exitcode_file))
self.assertNotFound(self.getPartitionPath('import', self.old_flag_file))
self.assertNotFound(self.getPartitionPath('import', self.old_exitcode_file))
self.assertExists(self.getPartitionPath('export', self.flag_file))
self.assertExists(self.getPartitionPath('export', self.exitcode_file))
self.assertExists(self.getPartitionPath('import', self.flag_file))
self.assertExists(self.getPartitionPath('import', self.exitcode_file))
......@@ -6,18 +6,15 @@ extends =
../../component/tsn-rt-measures/buildout.cfg
../../component/util-linux/buildout.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
slapos-cookbook
eggs
util-linux
template
[python]
part = python2.7
[openssl]
<= openssl-1.1
# eggs for instance-rsn-client.cfg
[eggs]
recipe = zc.recipe.egg
......
......@@ -6,16 +6,13 @@ extends =
../../component/zabbix/buildout.cfg
../../stack/slapos.cfg
# Python2 versions for buildout (keep last)
../../stack/slapos-py2.cfg
parts =
slapos-cookbook
template
[python]
part = python2.7
[openssl]
<= openssl-1.1
[template]
# Default template for the instance.
recipe = slapos.recipe.template
......
......@@ -68,6 +68,9 @@ extends =
../../software/neoppod/software-common.cfg
# keep neoppod extends last
# python2
../slapos-py2.cfg
parts +=
erp5-util-develop
slapos-cookbook
......@@ -490,8 +493,17 @@ egg = ${:_buildout_section_name_}
setup-eggs +=
${persistent:egg}
[wstools]
# a SOAPpy dependency
recipe = zc.recipe.egg:custom
egg = wstools
setup-eggs =
pbr
pytest-runner
[eggs]
<= neoppod
depends = ${wstools:recipe}
eggs = ${neoppod:eggs}
${caucase-eggs:eggs}
${wendelin.core:egg}
......@@ -738,9 +750,6 @@ pylint = 1.4.4+SlapOSPatched002
# astroid 1.4.1 breaks testDynamicClassGeneration
astroid = 1.3.8+SlapOSPatched001
# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
# Pinned versions
alabaster = 0.7.12
......@@ -823,6 +832,7 @@ rfc3987 = 1.3.8
rsa = 3.4.2
scikit-image = 0.14.0
scipy = 0.19.0
SOAPpy = 0.12.22
spyne = 2.12.14
strict-rfc3339 = 0.7
StructuredText = 2.11.1
......@@ -839,6 +849,7 @@ WebOb = 1.8.5
WebTest = 2.0.33
WSGIProxy2 = 0.4.6
WSGIUtils = 0.7
wstools = 0.4.8
xfw = 0.10
xupdate-processor = 0.5
yapf = 0.28.0
......@@ -851,7 +862,7 @@ zope.app.dependable = 3.5.1
zope.app.form = 5.1.0
zope.app.publication = 4.5
zope.app.testing = 4.0.0
zope.authentication = 5.0
zope.authentication = 4.5.0
zope.error = 4.6
zope.minmax = 2.3
zope.password = 4.4
......
[buildout]
extends = slapos.cfg
[python]
part = python2.7
[openssl]
<= openssl-1.1
# Use Python2-compatible versions of zc.buildout dependencies from the start.
# These versions must be pinned unconditionally because slapos.rebootstrap
# will necessarily keep the same versions of zc.buildout and dependencies
# with the new Python. This is an intrisic limitation of slapos.rebootstrap.
[versions]
setuptools = 44.1.1
pip = 20.3.4
# Avoid https://github.com/pypa/wheel/issues/331
wheel = 0.33.6
......@@ -135,11 +135,13 @@ eggs =
slapos.libnetworkcache
[versions]
setuptools = 44.1.1
# The last version of setuptools compatible with Python 3.7
setuptools = 67.8.0
# Use SlapOS patched zc.buildout
zc.buildout = 2.7.1+slapos020
zc.buildout = 3.0.1+slapos002
pip = 23.2.1
# Use SlapOS patched zc.recipe.egg (zc.recipe.egg 2.x is for Buildout 2)
zc.recipe.egg = 2.0.3+slapos003
zc.recipe.egg = 2.0.8.dev0+slapos002
aiohttp = 3.8.5:whl
aiosignal = 1.3.1:whl
......@@ -152,18 +154,18 @@ async-timeout = 4.0.3
atomicwrites = 1.4.0
atomize = 0.2.0
attrs = 23.1.0:whl
backcall = 0.2.0
backcall = 0.2.0:whl
backports-abc = 0.5
backports.functools-lru-cache = 1.6.1:whl
backports.lzma = 0.0.14
backports.shutil-get-terminal-size = 1.0.0
bcrypt = 3.1.4
beautifulsoup4 = 4.8.2
beautifulsoup4 = 4.12.2:whl
bleach = 5.0.1
blinker = 1.6.3:whl
CacheControl = 0.12.6:whl
cachetools = 5.3.1
cattrs = 22.2.0
cattrs = 22.2.0:whl
certifi = 2023.7.22
cffi = 1.15.0
chardet = 3.0.4
......@@ -172,7 +174,7 @@ click = 8.1.3
cliff = 2.8.3:whl
cmd2 = 0.7.0
collective.recipe.shelloutput = 0.1
collective.recipe.template = 2.0
collective.recipe.template = 2.2
configparser = 4.0.2:whl
contextlib2 = 0.6.0.post1
croniter = 0.3.25
......@@ -183,7 +185,7 @@ decorator = 4.3.0
defusedxml = 0.7.1
distro = 1.7.0
dnspython = 1.16.0
entrypoints = 0.3
entrypoints = 0.3:whl
enum34 = 1.1.10
erp5.util = 0.4.76
et-xmlfile = 1.0.1
......@@ -261,8 +263,8 @@ pbr = 5.9.0
pexpect = 4.8.0
pickleshare = 0.7.4
pim-dm = 1.4.0nxd002
pkgconfig = 1.5.1
pkgutil-resolve-name = 1.3.10
pkgconfig = 1.5.1:whl
pkgutil-resolve-name = 1.3.10:whl
plone.recipe.command = 1.1
pluggy = 0.13.1:whl
ply = 3.11
......@@ -312,7 +314,7 @@ slapos.cookbook = 1.0.360
slapos.core = 1.11.0
slapos.extension.shared = 1.0
slapos.libnetworkcache = 0.25
slapos.rebootstrap = 4.5
slapos.rebootstrap = 4.7
slapos.recipe.build = 0.57
slapos.recipe.cmmi = 0.20
slapos.recipe.template = 5.1
......@@ -378,6 +380,7 @@ Werkzeug = 2.0.2
[versions:python2]
attrs = 18.2.0
beautifulsoup4 = 4.8.2
certifi = 2020.4.5.1
charset-normalizer = 2.0.12
click = 6.7
......@@ -410,7 +413,6 @@ statsmodels = 0.11.1
traitlets = 4.3.3
uritemplate = 3.0.0
Werkzeug = 1.0.1
wheel = 0.35.1:whl
zipp = 1.2.0:whl
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment