Commit a7c16f8c authored by Rafael Monnerat's avatar Rafael Monnerat

Update Release Candidate

parents f4af37e4 21b2d1c1
Changes Changes
======= =======
1.0.65 (2018-06-22)
-------------------
* Automatic restart of services when configuration changes
* erp5_test: define cloudooo-retry-count value in test
* userinfo: expose values as string
1.0.62 (2018-04-10) 1.0.62 (2018-04-10)
------------------- -------------------
......
...@@ -28,7 +28,7 @@ from setuptools import setup, find_packages ...@@ -28,7 +28,7 @@ from setuptools import setup, find_packages
import glob import glob
import os import os
version = '1.0.62' version = '1.0.66'
name = 'slapos.cookbook' name = 'slapos.cookbook'
long_description = open("README.rst").read() + "\n" + \ long_description = open("README.rst").read() + "\n" + \
open("CHANGES.rst").read() + "\n" open("CHANGES.rst").read() + "\n"
......
...@@ -69,7 +69,7 @@ class Recipe(GenericBaseRecipe): ...@@ -69,7 +69,7 @@ class Recipe(GenericBaseRecipe):
) )
common_list = ( common_list = (
'--conversion_server_url=' + cloudooo_url, '--conversion_server_url=' + cloudooo_url,
'--conversion_server_retry_count=%s' % self.options['cloudooo-retry-count'], '--conversion_server_retry_count=%s' % self.options.get('cloudooo-retry-count', 2),
# BBB: We still have test suites that only accept the following 2 options. # BBB: We still have test suites that only accept the following 2 options.
'--conversion_server_hostname=%s' % cloudooo_parsed.hostname, '--conversion_server_hostname=%s' % cloudooo_parsed.hostname,
'--conversion_server_port=%s' % cloudooo_parsed.port, '--conversion_server_port=%s' % cloudooo_parsed.port,
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
...@@ -27,7 +26,7 @@ md5sum = 9e76028df7e93d3e32982884d5dc0913 ...@@ -27,7 +26,7 @@ md5sum = 9e76028df7e93d3e32982884d5dc0913
[template-slave-list] [template-slave-list]
filename = templates/apache-custom-slave-list.cfg.in filename = templates/apache-custom-slave-list.cfg.in
md5sum = 24e514ad6f15859229db46f24a8cd280 md5sum = 97cfcd64357162271d641e1dece98443
[template-slave-configuration] [template-slave-configuration]
filename = templates/custom-virtualhost.conf.in filename = templates/custom-virtualhost.conf.in
...@@ -43,7 +42,7 @@ md5sum = a56045e7b53ff00ab34d2a8f911fc1a1 ...@@ -43,7 +42,7 @@ md5sum = a56045e7b53ff00ab34d2a8f911fc1a1
[template-custom-slave-list] [template-custom-slave-list]
filename = templates/apache-custom-slave-list.cfg.in filename = templates/apache-custom-slave-list.cfg.in
md5sum = 24e514ad6f15859229db46f24a8cd280 md5sum = 97cfcd64357162271d641e1dece98443
[template-not-found-html] [template-not-found-html]
filename = templates/notfound.html filename = templates/notfound.html
...@@ -63,7 +62,7 @@ md5sum = 1a1a53d9ac4a1591c017d86850a94796 ...@@ -63,7 +62,7 @@ md5sum = 1a1a53d9ac4a1591c017d86850a94796
[template-log-access] [template-log-access]
filename = templates/template-log-access.conf.in filename = templates/template-log-access.conf.in
md5sum = f85005b430978f3bd24ee7ce11b0e304 md5sum = a20683faba37b5b9c035783e811dd88d
[template-empty] [template-empty]
filename = templates/empty.in filename = templates/empty.in
......
...@@ -47,7 +47,6 @@ crl = {{ custom_ssl_directory }}/crl/ ...@@ -47,7 +47,6 @@ crl = {{ custom_ssl_directory }}/crl/
{# Loop throught slave list to set up slaves #} {# Loop throught slave list to set up slaves #}
{% for slave_instance in slave_instance_list -%} {% for slave_instance in slave_instance_list -%}
{# # Do all set and do upper, so it makes easy to read the file later #}
{% set slave_reference = slave_instance.get('slave_reference') -%} {% set slave_reference = slave_instance.get('slave_reference') -%}
{% set slave_type = slave_instance.get('type', '') -%} {% set slave_type = slave_instance.get('type', '') -%}
{% set slave_section_title = 'dynamic-template-slave-instance-%s' % slave_reference -%} {% set slave_section_title = 'dynamic-template-slave-instance-%s' % slave_reference -%}
...@@ -101,7 +100,7 @@ crl = {{ custom_ssl_directory }}/crl/ ...@@ -101,7 +100,7 @@ crl = {{ custom_ssl_directory }}/crl/
{% do cached_server_dict.__setitem__(slave_reference, slave_configuration_section_name) -%} {% do cached_server_dict.__setitem__(slave_reference, slave_configuration_section_name) -%}
{% endif -%} {% endif -%}
{% if not slave_instance.has_key('apache_custom_http') %} {% if not slave_instance.has_key('apache_custom_http') and not slave_instance.has_key('apache_custom_https') %}
{% do slave_publish_dict.__setitem__('domain', slave_instance.get('custom_domain')) -%} {% do slave_publish_dict.__setitem__('domain', slave_instance.get('custom_domain')) -%}
{% do slave_publish_dict.__setitem__('url', "http://%s" % slave_instance.get('custom_domain')) -%} {% do slave_publish_dict.__setitem__('url', "http://%s" % slave_instance.get('custom_domain')) -%}
{% do slave_publish_dict.__setitem__('site_url', "http://%s" % slave_instance.get('custom_domain')) -%} {% do slave_publish_dict.__setitem__('site_url', "http://%s" % slave_instance.get('custom_domain')) -%}
......
...@@ -9,8 +9,8 @@ Alias /{{slave}}/ {{directory}}/ ...@@ -9,8 +9,8 @@ Alias /{{slave}}/ {{directory}}/
</Files> </Files>
AuthType Basic AuthType Basic
AuthName "Log Access {{slave}}" AuthName "Log Access {{slave}}"
AuthUserFile "{{ apache_configuration_directory + '/.' + slave.upper() + '.htaccess'}}" AuthUserFile "{{ apache_configuration_directory + '/.' + slave + '.htaccess'}}"
Require user {{slave.upper()}} Require user {{slave}}
Options Indexes FollowSymLinks Options Indexes FollowSymLinks
Satisfy all Satisfy all
</Directory> </Directory>
......
...@@ -56,6 +56,12 @@ interpreter = ${:_buildout_section_name_} ...@@ -56,6 +56,12 @@ interpreter = ${:_buildout_section_name_}
[irati-stack] [irati-stack]
sparse-checkout = /.gitignore sparse-checkout = /.gitignore
# When run from erp5.util:testnode (and this always the case), shared=true is
# added to this section and the path in .git/objects/info/alternates is outside
# the 'rina' mount point of the VM. Let's mount the testnode working copy
# directly. Comment the following 2 lines if 'repository' is a URL.
recipe =
location = ${:repository}
[slapos.package-repository] [slapos.package-repository]
recipe = slapos.recipe.build:gitclone recipe = slapos.recipe.build:gitclone
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
[buildout] [buildout]
extends = https://lab.nexedi.com/nexedi/slapos/raw/8deeab28fb7d4fd527c2df05f74fcaf27c8df218/software/kvm/software.cfg extends = https://lab.nexedi.com/nexedi/slapos/raw/8deeab28fb7d4fd527c2df05f74fcaf27c8df218/software/kvm/software.cfg
# PyPi servers from new host since some time and change is not incorporated in extended KVM SR
allow-hosts +=
files.pythonhosted.org
parts = parts =
eggs eggs
template-deploy-test template-deploy-test
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -204,7 +204,7 @@ go.importpath = github.com/pkg/errors ...@@ -204,7 +204,7 @@ go.importpath = github.com/pkg/errors
[git-backup-repository] [git-backup-repository]
<= go-git-repository <= go-git-repository
go.importpath = lab.nexedi.com/kirr/git-backup go.importpath = lab.nexedi.com/kirr/git-backup
revision = 0b8d834bd00b19169f65d407eab8980076779b9d revision = cc6ac54f451dfa6e343d6340dcfa25aa6eac9565
[git-backup] [git-backup]
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -136,7 +136,7 @@ DATABASE="$HOME/srv/runner/proxy.db" ...@@ -136,7 +136,7 @@ DATABASE="$HOME/srv/runner/proxy.db"
# XXX hardcoded # XXX hardcoded
PARTITION=$(basename $HOME) PARTITION=$(basename $HOME)
OLD_SOFTWARE_RELEASE=$("$SQLITE3" "$DATABASE" "select software_release from partition11 where reference='slappart0';") OLD_SOFTWARE_RELEASE=$("$SQLITE3" "$DATABASE" "select software_release from partition11 where reference='slappart0';")
SOFTWARE_RELEASE=$(echo $OLD_SOFTWARE_RELEASE | sed -e 's/\(.*\)\(slappart\|test0-\)[0-9][0-9][0-9]\?/\1'"$PARTITION"'/') SOFTWARE_RELEASE=$(echo "$OLD_SOFTWARE_RELEASE" | sed 's/\/\(slappart\|test0-\)[0-9][0-9]*\//\/'"$PARTITION"'\//')
"$SQLITE3" "$DATABASE" "update partition11 set software_release='$SOFTWARE_RELEASE' where software_release NOT NULL;" "$SQLITE3" "$DATABASE" "update partition11 set software_release='$SOFTWARE_RELEASE' where software_release NOT NULL;"
"$SQLITE3" "$DATABASE" "update software11 set url='$SOFTWARE_RELEASE' where url='$OLD_SOFTWARE_RELEASE';" || "$SQLITE3" "$DATABASE" "delete from software11 where url='$OLD_SOFTWARE_RELEASE';" "$SQLITE3" "$DATABASE" "update software11 set url='$SOFTWARE_RELEASE' where url='$OLD_SOFTWARE_RELEASE';" || "$SQLITE3" "$DATABASE" "delete from software11 where url='$OLD_SOFTWARE_RELEASE';"
# Change slapproxy database to have all instances stopped # Change slapproxy database to have all instances stopped
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
...@@ -79,7 +78,7 @@ md5sum = 9f8851af5faed9d1e346d7dbe0e6db5d ...@@ -79,7 +78,7 @@ md5sum = 9f8851af5faed9d1e346d7dbe0e6db5d
[template-zeo] [template-zeo]
filename = instance-zeo.cfg.in filename = instance-zeo.cfg.in
md5sum = d1f33d406d528ae27d973e2dd0efb1ba md5sum = 3e650915959ff31c9c13c84069bbcd35
[template-zope] [template-zope]
filename = instance-zope.cfg.in filename = instance-zope.cfg.in
......
...@@ -65,6 +65,7 @@ path = ${directory:promises}/zeo-{{ family }} ...@@ -65,6 +65,7 @@ path = ${directory:promises}/zeo-{{ family }}
{% set known_tid_storage_identifier_dict = () %} {% set known_tid_storage_identifier_dict = () %}
{% set tidstorage_repozo_path = '' -%} {% set tidstorage_repozo_path = '' -%}
{% else -%} {% else -%}
[tidstorage] [tidstorage]
recipe = slapos.cookbook:tidstorage recipe = slapos.cookbook:tidstorage
known-tid-storage-identifier-dict = {{ dumps(known_tid_storage_identifier_dict) }} known-tid-storage-identifier-dict = {{ dumps(known_tid_storage_identifier_dict) }}
...@@ -101,19 +102,6 @@ cron-entries = ${cron:cron-entries} ...@@ -101,19 +102,6 @@ cron-entries = ${cron:cron-entries}
name = tidstorage name = tidstorage
time = {{ dumps(backup_periodicity) }} time = {{ dumps(backup_periodicity) }}
command = ${tidstorage:repozo-wrapper} command = ${tidstorage:repozo-wrapper}
{% endif -%}
[publish]
recipe = slapos.cookbook:publish.serialised
storage-dict = {{ dumps(storage_dict) }}
{% if len(known_tid_storage_identifier_dict) > 1 -%}
tidstorage-ip = ${tidstorage:ip}
tidstorage-port = ${tidstorage:port}
{% else -%}
tidstorage-ip =
tidstorage-port =
{% endif -%}
monitor-base-url = ${monitor-publish-parameters:monitor-base-url}
# Used for ERP5 resiliency or (more probably) # Used for ERP5 resiliency or (more probably)
# webrunner resiliency with erp5 inside. # webrunner resiliency with erp5 inside.
...@@ -168,6 +156,20 @@ input = inline: #!/bin/sh ...@@ -168,6 +156,20 @@ input = inline: #!/bin/sh
output = ${directory:srv}/runner-import-restore output = ${directory:srv}/runner-import-restore
mode = 755 mode = 755
{% endif -%}
[publish]
recipe = slapos.cookbook:publish.serialised
storage-dict = {{ dumps(storage_dict) }}
{% if len(known_tid_storage_identifier_dict) > 1 -%}
tidstorage-ip = ${tidstorage:ip}
tidstorage-port = ${tidstorage:port}
{% else -%}
tidstorage-ip =
tidstorage-port =
{% endif -%}
monitor-base-url = ${monitor-publish-parameters:monitor-base-url}
[directory] [directory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
bin = ${buildout:directory}/bin bin = ${buildout:directory}/bin
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# - "^[" section beginings, copied verbatim # - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie. # - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file # - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim. # Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported # - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script. # by the re-generation script.
......
...@@ -132,7 +132,7 @@ pyparsing = 2.2.0 ...@@ -132,7 +132,7 @@ pyparsing = 2.2.0
pytz = 2016.10 pytz = 2016.10
requests = 2.13.0 requests = 2.13.0
six = 1.10.0 six = 1.10.0
slapos.cookbook = 1.0.62 slapos.cookbook = 1.0.66
slapos.core = 1.4.7 slapos.core = 1.4.7
slapos.extension.strip = 0.4 slapos.extension.strip = 0.4
slapos.libnetworkcache = 0.15 slapos.libnetworkcache = 0.15
......
...@@ -79,7 +79,7 @@ def main(): ...@@ -79,7 +79,7 @@ def main():
open( open(
os.path.join( os.path.join(
infile_dirname, infile_dirname,
hash_file_path, *hash_file_path.split('/')
) )
).read() ).read()
).hexdigest(), ).hexdigest(),
......
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