Commit 2db8bcf1 authored by Thomas Gambier's avatar Thomas Gambier 🚴🏼

Fix upload command after new release of slapos.libnetworkcache

See slapos.libnetworkcache@0fe8148a

slapos.libnetworkcache now needs the signature key to have a
corresponding certificate in signature-certificate-list so we need to
give signature_certificate_list to NetworkCacheClient constructor.

Also remove mentions to signature-certificate-file in example
configuration.
parent c4ade49f
...@@ -103,6 +103,7 @@ class NetworkCache: ...@@ -103,6 +103,7 @@ class NetworkCache:
# convert '' into None in order to call nc nicely # convert '' into None in order to call nc nicely
with NetworkcacheClient(self.cache_url, self.dir_url, with NetworkcacheClient(self.cache_url, self.dir_url,
signature_private_key_file=self.signature_private_key_file or None, signature_private_key_file=self.signature_private_key_file or None,
signature_certificate_list=self.signature_certificate_list or None,
shacache_ca_file=self.shacache_ca_file or None, shacache_ca_file=self.shacache_ca_file or None,
shacache_cert_file=self.shacache_cert_file or None, shacache_cert_file=self.shacache_cert_file or None,
shacache_key_file=self.shacache_key_file or None, shacache_key_file=self.shacache_key_file or None,
......
...@@ -7,37 +7,11 @@ ...@@ -7,37 +7,11 @@
from slapcache import signature from slapcache import signature
from slapos.libnetworkcache import NetworkcacheClient from slapos.libnetworkcache import NetworkcacheClient
from optparse import Values from optparse import Values
from textwrap import indent
import slapos.signature, time, difflib, tempfile, unittest, os import slapos.signature, time, difflib, tempfile, unittest, os
def _fake_call(self, *args, **kw): def _fake_call(self, *args, **kw):
self.last_call = (args, kw) self.last_call = (args, kw)
CONFIGURATION_FILE = """
[networkcache]
download-binary-cache-url = http://www.shacache.org/shacache
download-cache-url = https://www.shacache.org/shacache
download-binary-dir-url = http://www.shacache.org/shadir
signature-certificate-list =
-----BEGIN CERTIFICATE-----
MIIB8DCCAVmgAwIBAgIJAPFf61p8y809MA0GCSqGSIb3DQEBBQUAMBAxDjAMBgNV
BAMMBUNPTVAtMCAXDTE0MDIxNzE2NDgxN1oYDzIxMTQwMTI0MTY0ODE3WjAQMQ4w
DAYDVQQDDAVDT01QLTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsiqCyuv1
HO9FmtwnMbEa1/u8Dn7T0k7hVKYXVQYof+59Ltbb3cA3nLjFSJDr/wQT6N89MccS
PneRzkWqZKL06Kmj+N+XJfRyVaTz1qQtNzjdbYkO6RgQq+fvq2CO0+PSnL6NttLU
/a9nQMcVm7wZ8kmY+AG5LbVo8lmxDD16Wq0CAwEAAaNQME4wHQYDVR0OBBYEFEVi
YyWHF3W7/O4NaTjn4lElLpp7MB8GA1UdIwQYMBaAFEViYyWHF3W7/O4NaTjn4lEl
Lpp7MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAgIPGoxhUa16AgjZx
Jr1kUrs8Fg3ig8eRFQlBSLYfANIUxcQ2ScFAkmsvwXY3Md7uaSvMJsEl2jcjdmdi
eSreNkx85j9GtMLY/2cv0kF4yAQNRtibtDkbg6fRNkmUopDosJNVf79l1GKX8JFL
zZBOFdOaLYY/6dLRwiTUKHU6su8=
-----END CERTIFICATE-----
[shacache]
key = slapos-upgrade-testing-key-with-config-file
"""
UPGRADE_KEY = """[debian-default] UPGRADE_KEY = """[debian-default]
repository-list = repository-list =
main = http://ftp.fr.debian.org/debian/ wheezy main main = http://ftp.fr.debian.org/debian/ wheezy main
...@@ -150,22 +124,6 @@ BASE_UPDATE_CFG_DATA = """ ...@@ -150,22 +124,6 @@ BASE_UPDATE_CFG_DATA = """
download-binary-cache-url = http://www.shacache.org/shacache download-binary-cache-url = http://www.shacache.org/shacache
download-cache-url = https://www.shacache.org/shacache download-cache-url = https://www.shacache.org/shacache
download-binary-dir-url = http://www.shacache.org/shadir download-binary-dir-url = http://www.shacache.org/shadir
signature-certificate-list =
-----BEGIN CERTIFICATE-----
MIIB8DCCAVmgAwIBAgIJAPFf61p8y809MA0GCSqGSIb3DQEBBQUAMBAxDjAMBgNV
BAMMBUNPTVAtMCAXDTE0MDIxNzE2NDgxN1oYDzIxMTQwMTI0MTY0ODE3WjAQMQ4w
DAYDVQQDDAVDT01QLTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsiqCyuv1
HO9FmtwnMbEa1/u8Dn7T0k7hVKYXVQYof+59Ltbb3cA3nLjFSJDr/wQT6N89MccS
PneRzkWqZKL06Kmj+N+XJfRyVaTz1qQtNzjdbYkO6RgQq+fvq2CO0+PSnL6NttLU
/a9nQMcVm7wZ8kmY+AG5LbVo8lmxDD16Wq0CAwEAAaNQME4wHQYDVR0OBBYEFEVi
YyWHF3W7/O4NaTjn4lElLpp7MB8GA1UdIwQYMBaAFEViYyWHF3W7/O4NaTjn4lEl
Lpp7MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAgIPGoxhUa16AgjZx
Jr1kUrs8Fg3ig8eRFQlBSLYfANIUxcQ2ScFAkmsvwXY3Md7uaSvMJsEl2jcjdmdi
eSreNkx85j9GtMLY/2cv0kF4yAQNRtibtDkbg6fRNkmUopDosJNVf79l1GKX8JFL
zZBOFdOaLYY/6dLRwiTUKHU6su8=
-----END CERTIFICATE-----
""" """
UPDATE_CFG_DATA = """ UPDATE_CFG_DATA = """
[shacache] [shacache]
...@@ -184,7 +142,6 @@ key = 'slapos-upgrade-testing-key-with-config-file-valid' ...@@ -184,7 +142,6 @@ key = 'slapos-upgrade-testing-key-with-config-file-valid'
""" + BASE_UPDATE_CFG_DATA """ + BASE_UPDATE_CFG_DATA
UPDATE_CFG_WITH_UPLOAD_DATA = UPDATE_CFG_DATA + """ UPDATE_CFG_WITH_UPLOAD_DATA = UPDATE_CFG_DATA + """
signature-private-key-file = /etc/opt/slapos/signature.key signature-private-key-file = /etc/opt/slapos/signature.key
signature-certificate-file = /etc/opt/slapos/signature.cert
upload-cache-url = https://www.shacache.org/shacache upload-cache-url = https://www.shacache.org/shacache
shacache-cert-file = /etc/opt/slapos/shacache.crt shacache-cert-file = /etc/opt/slapos/shacache.crt
shacache-key-file = /etc/opt/slapos/shacache.key shacache-key-file = /etc/opt/slapos/shacache.key
...@@ -217,9 +174,11 @@ class NetworkCacheTestCase(unittest.TestCase): ...@@ -217,9 +174,11 @@ class NetworkCacheTestCase(unittest.TestCase):
def test_basic_configuration(self): def test_basic_configuration(self):
info, self.configuration_file_path = tempfile.mkstemp() info, self.configuration_file_path = tempfile.mkstemp()
open(self.configuration_file_path, 'w').write(UPDATE_CFG_DATA) configuration_content = UPDATE_CFG_DATA + """
signature-certificate-list = %(certificate)s
""" % {'certificate': indent(SIGNATURE, ' ')}
open(self.configuration_file_path, 'w').write(configuration_content)
shacache = signature.NetworkCache(self.configuration_file_path) shacache = signature.NetworkCache(self.configuration_file_path)
print(self.configuration_file_path)
self.assertEqual(shacache.download_binary_cache_url, 'http://www.shacache.org/shacache') self.assertEqual(shacache.download_binary_cache_url, 'http://www.shacache.org/shacache')
self.assertEqual(shacache.download_cache_url, 'https://www.shacache.org/shacache') self.assertEqual(shacache.download_cache_url, 'https://www.shacache.org/shacache')
self.assertEqual(shacache.download_binary_dir_url, 'http://www.shacache.org/shadir') self.assertEqual(shacache.download_binary_dir_url, 'http://www.shacache.org/shadir')
...@@ -236,7 +195,10 @@ class NetworkCacheTestCase(unittest.TestCase): ...@@ -236,7 +195,10 @@ class NetworkCacheTestCase(unittest.TestCase):
def test_basic_configuration_with_upload(self): def test_basic_configuration_with_upload(self):
info, self.configuration_file_path = tempfile.mkstemp() info, self.configuration_file_path = tempfile.mkstemp()
open(self.configuration_file_path, 'w').write(UPDATE_CFG_WITH_UPLOAD_DATA) configuration_content = UPDATE_CFG_WITH_UPLOAD_DATA + """
signature-certificate-list = %(certificate)s
""" % {'certificate': indent(SIGNATURE, ' ')}
open(self.configuration_file_path, 'w').write(configuration_content)
shacache = signature.NetworkCache(self.configuration_file_path) shacache = signature.NetworkCache(self.configuration_file_path)
self.assertEqual(shacache.download_binary_cache_url, 'http://www.shacache.org/shacache') self.assertEqual(shacache.download_binary_cache_url, 'http://www.shacache.org/shacache')
self.assertEqual(shacache.download_cache_url, 'https://www.shacache.org/shacache') self.assertEqual(shacache.download_cache_url, 'https://www.shacache.org/shacache')
...@@ -286,15 +248,19 @@ class NetworkCacheTestCase(unittest.TestCase): ...@@ -286,15 +248,19 @@ class NetworkCacheTestCase(unittest.TestCase):
slapos.signature.generateCertificate(signature_certificate_file, signature_private_key_file, 'COMP-123A') slapos.signature.generateCertificate(signature_certificate_file, signature_private_key_file, 'COMP-123A')
configuration_content = UPDATE_UPLOAD_CFG_DATA + """ configuration_content = UPDATE_UPLOAD_CFG_DATA + """
signature-private-key-file = %(signature_private_key_file)s signature-private-key-file = %(signature_private_key_file)s
signature-certificate-file = %(signature_certificate_file)s
upload-cache-url = https://www.shacache.org/shacache upload-cache-url = https://www.shacache.org/shacache
shacache-cert-file = %(tempfile)s shacache-cert-file = %(tempfile)s
shacache-key-file = %(tempfile)s shacache-key-file = %(tempfile)s
upload-dir-url = https://www.shacache.org/shadir upload-dir-url = https://www.shacache.org/shadir
shadir-cert-file = %(tempfile)s shadir-cert-file = %(tempfile)s
shadir-key-file = %(tempfile)s shadir-key-file = %(tempfile)s
""" % {'tempfile': _fake_signature_path, 'signature_certificate_file': signature_certificate_file, signature-certificate-list =
'signature_private_key_file': signature_private_key_file} %(certificate)s
""" % {
'tempfile': _fake_signature_path,
'signature_private_key_file': signature_private_key_file,
'certificate': indent(open(signature_certificate_file, 'r').read(), ' ')
}
open(self.configuration_file_path, 'w').write(configuration_content) open(self.configuration_file_path, 'w').write(configuration_content)
open(_fake_signature_path, 'w').write('# XXX ...') open(_fake_signature_path, 'w').write('# XXX ...')
shacache = signature.NetworkCache(self.configuration_file_path) shacache = signature.NetworkCache(self.configuration_file_path)
......
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