forked from pool/cloud-init
- Update to version 20.2 (bsc#1174443, bsc#1174444)
+ Remove patches included upstream: - 0001-Make-tests-work-with-Python-3.8-139.patch - cloud-init-ostack-metadat-dencode.patch - cloud-init-use-different-random-src.diff - cloud-init-long-pass.patch - cloud-init-mix-static-dhcp.patch + Remove patches build switched to Python 3 for all distributions - cloud-init-python2-sigpipe.patch - cloud-init-template-py2.patch + Add - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch + doc/format: reference make-mime.py instead of an inline script (#334) + Add docs about creating parent folders (#330) [Adrian Wilkins] + DataSourceNoCloud/OVF: drop claim to support FTP (#333) (LP: #1875470) + schema: ignore spurious pylint error (#332) + schema: add json schema for write_files module (#152) + BSD: find_devs_with_ refactoring (#298) [Gonéri Le Bouder] + nocloud: drop work around for Linux 2.6 (#324) [Gonéri Le Bouder] + cloudinit: drop dependencies on unittest2 and contextlib2 (#322) + distros: handle a potential mirror filtering error case (#328) + log: remove unnecessary import fallback logic (#327) + .travis.yml: don't run integration test on ubuntu/* branches (#321) + More unit test documentation (#314) + conftest: introduce disable_subp_usage autouse fixture (#304) + YAML align indent sizes for docs readability (#323) [Tak Nishigori] + network_state: add missing space to log message (#325) + tests: add missing mocks for get_interfaces_by_mac (#326) (LP: #1873910) + test_mounts: expand happy path test for both happy paths (#319) OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=173
This commit is contained in:
parent
ba3c773df0
commit
04ac085278
@ -1,104 +0,0 @@
|
||||
From c5a7d7979c036f6dc6823f429c6b6820f7f74241 Mon Sep 17 00:00:00 2001
|
||||
From: Conrad Hoffmann <1226676+bitfehler@users.noreply.github.com>
|
||||
Date: Wed, 8 Jan 2020 15:18:48 +0100
|
||||
Subject: [PATCH] Make tests work with Python 3.8 (#139)
|
||||
|
||||
* Make DistroChecker test work with Python 3.8
|
||||
|
||||
In Python 3.8, `platform.linux_distribution` has been removed. This was
|
||||
anticipated, and the cloud-init code uses its own
|
||||
`util.get_linux_distro` instead, which works fine w/o
|
||||
`platform.linux_distribution`. However, these tests still try to mock
|
||||
the platform function, which fails if it doesn't exist (Python 3.8).
|
||||
Instead, mock the new function here, as this is a test for code that
|
||||
depends on it rather than the function itself.
|
||||
|
||||
* Make GetLinuxDistro tests work with Python 3.8
|
||||
|
||||
In Python 3.8, `platform.dist` was removed, so allow mock to create the
|
||||
function by setting `create=True`.
|
||||
|
||||
* Make linter happy in Python 3.8
|
||||
|
||||
Suppress E1101(no-member) as this function was removed.
|
||||
---
|
||||
cloudinit/analyze/tests/test_boot.py | 8 ++++----
|
||||
cloudinit/tests/test_util.py | 6 +++---
|
||||
cloudinit/util.py | 4 ++--
|
||||
3 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/cloudinit/analyze/tests/test_boot.py b/cloudinit/analyze/tests/test_boot.py
|
||||
index 706e2cc0..f4001c14 100644
|
||||
--- a/cloudinit/analyze/tests/test_boot.py
|
||||
+++ b/cloudinit/analyze/tests/test_boot.py
|
||||
@@ -12,17 +12,17 @@ class TestDistroChecker(CiTestCase):
|
||||
@mock.patch('cloudinit.util.system_info', return_value={'dist': ('', '',
|
||||
''),
|
||||
'system': ''})
|
||||
- @mock.patch('platform.linux_distribution', return_value=('', '', ''))
|
||||
+ @mock.patch('cloudinit.util.get_linux_distro', return_value=('', '', ''))
|
||||
@mock.patch('cloudinit.util.is_FreeBSD', return_value=False)
|
||||
- def test_blank_distro(self, m_sys_info, m_linux_distribution, m_free_bsd):
|
||||
+ def test_blank_distro(self, m_sys_info, m_get_linux_distro, m_free_bsd):
|
||||
self.assertEqual(err_code, dist_check_timestamp())
|
||||
|
||||
@mock.patch('cloudinit.util.system_info', return_value={'dist': ('', '',
|
||||
'')})
|
||||
- @mock.patch('platform.linux_distribution', return_value=('', '', ''))
|
||||
+ @mock.patch('cloudinit.util.get_linux_distro', return_value=('', '', ''))
|
||||
@mock.patch('cloudinit.util.is_FreeBSD', return_value=True)
|
||||
def test_freebsd_gentoo_cant_find(self, m_sys_info,
|
||||
- m_linux_distribution, m_is_FreeBSD):
|
||||
+ m_get_linux_distro, m_is_FreeBSD):
|
||||
self.assertEqual(err_code, dist_check_timestamp())
|
||||
|
||||
@mock.patch('cloudinit.util.subp', return_value=(0, 1))
|
||||
diff --git a/cloudinit/tests/test_util.py b/cloudinit/tests/test_util.py
|
||||
index 64ed82ea..be100646 100644
|
||||
--- a/cloudinit/tests/test_util.py
|
||||
+++ b/cloudinit/tests/test_util.py
|
||||
@@ -523,7 +523,7 @@ class TestGetLinuxDistro(CiTestCase):
|
||||
self.assertEqual(
|
||||
('opensuse-tumbleweed', '20180920', platform.machine()), dist)
|
||||
|
||||
- @mock.patch('platform.dist')
|
||||
+ @mock.patch('platform.dist', create=True)
|
||||
def test_get_linux_distro_no_data(self, m_platform_dist, m_path_exists):
|
||||
"""Verify we get no information if os-release does not exist"""
|
||||
m_platform_dist.return_value = ('', '', '')
|
||||
@@ -531,7 +531,7 @@ class TestGetLinuxDistro(CiTestCase):
|
||||
dist = util.get_linux_distro()
|
||||
self.assertEqual(('', '', ''), dist)
|
||||
|
||||
- @mock.patch('platform.dist')
|
||||
+ @mock.patch('platform.dist', create=True)
|
||||
def test_get_linux_distro_no_impl(self, m_platform_dist, m_path_exists):
|
||||
"""Verify we get an empty tuple when no information exists and
|
||||
Exceptions are not propagated"""
|
||||
@@ -540,7 +540,7 @@ class TestGetLinuxDistro(CiTestCase):
|
||||
dist = util.get_linux_distro()
|
||||
self.assertEqual(('', '', ''), dist)
|
||||
|
||||
- @mock.patch('platform.dist')
|
||||
+ @mock.patch('platform.dist', create=True)
|
||||
def test_get_linux_distro_plat_data(self, m_platform_dist, m_path_exists):
|
||||
"""Verify we get the correct platform information"""
|
||||
m_platform_dist.return_value = ('foo', '1.1', 'aarch64')
|
||||
diff --git a/cloudinit/util.py b/cloudinit/util.py
|
||||
index 9d9d5c72..830c8e54 100644
|
||||
--- a/cloudinit/util.py
|
||||
+++ b/cloudinit/util.py
|
||||
@@ -635,8 +635,8 @@ def get_linux_distro():
|
||||
else:
|
||||
dist = ('', '', '')
|
||||
try:
|
||||
- # Will be removed in 3.7
|
||||
- dist = platform.dist() # pylint: disable=W1505
|
||||
+ # Was removed in 3.8
|
||||
+ dist = platform.dist() # pylint: disable=W1505,E1101
|
||||
except Exception:
|
||||
pass
|
||||
finally:
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a2c1f318cbfb28c13b41bbb0de5ab9b21d7cf4b7118551366cd508380124f262
|
||||
size 1091893
|
3
cloud-init-20.2.tar.gz
Normal file
3
cloud-init-20.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6729e9093f8252bff44a94ddc814256da6143456929b6731e9b74642cd57e971
|
||||
size 1117084
|
12
cloud-init-after-kvp.diff
Normal file
12
cloud-init-after-kvp.diff
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/systemd/cloud-init-local.service.tmpl b/systemd/cloud-init-local.service.tmpl
|
||||
index ff9c644d..7166f640 100644
|
||||
--- a/systemd/cloud-init-local.service.tmpl
|
||||
+++ b/systemd/cloud-init-local.service.tmpl
|
||||
@@ -5,6 +5,7 @@ Description=Initial cloud-init job (pre-networking)
|
||||
DefaultDependencies=no
|
||||
{% endif %}
|
||||
Wants=network-pre.target
|
||||
+After=hv_kvp_daemon.service
|
||||
After=systemd-remount-fs.service
|
||||
Before=NetworkManager.service
|
||||
Before=network-pre.target
|
@ -1,11 +0,0 @@
|
||||
--- cloudinit/config/cc_set_passwords.py.orig
|
||||
+++ cloudinit/config/cc_set_passwords.py
|
||||
@@ -236,7 +236,7 @@ def handle(_name, cfg, cloud, log, args)
|
||||
raise errors[-1]
|
||||
|
||||
|
||||
-def rand_user_password(pwlen=9):
|
||||
+def rand_user_password(pwlen=20):
|
||||
return util.rand_str(pwlen, select_from=PW_SET)
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,14 +0,0 @@
|
||||
--- cloudinit/sources/helpers/openstack.py.orig
|
||||
+++ cloudinit/sources/helpers/openstack.py
|
||||
@@ -291,7 +291,10 @@ class BaseReader(object):
|
||||
if 'random_seed' in metadata:
|
||||
random_seed = metadata['random_seed']
|
||||
try:
|
||||
- metadata['random_seed'] = base64.b64decode(random_seed)
|
||||
+ metadata['random_seed'] = u'%s' % base64.b64decode(random_seed)
|
||||
+ except UnicodeDecodeError:
|
||||
+ # Did not decode as expected, probably utf-8 already
|
||||
+ metadata['random_seed'] = random_seed
|
||||
except (ValueError, TypeError) as e:
|
||||
raise BrokenMetadata("Badly formatted metadata"
|
||||
" random_seed entry: %s" % e)
|
@ -1,20 +0,0 @@
|
||||
--- cloudinit/util.py.orig
|
||||
+++ cloudinit/util.py
|
||||
@@ -35,6 +35,7 @@ import time
|
||||
from errno import ENOENT, ENOEXEC
|
||||
|
||||
from base64 import b64decode, b64encode
|
||||
+from signal import signal, SIGPIPE, SIG_DFL
|
||||
from six.moves.urllib import parse as urlparse
|
||||
|
||||
import six
|
||||
@@ -2031,7 +2032,8 @@ def subp(args, data=None, rcs=None, env=
|
||||
try:
|
||||
sp = subprocess.Popen(bytes_args, stdout=stdout,
|
||||
stderr=stderr, stdin=stdin,
|
||||
- env=env, shell=shell)
|
||||
+ env=env, shell=shell,
|
||||
+ preexec_fn=lambda: signal(SIGPIPE, SIG_DFL))
|
||||
(out, err) = sp.communicate(data)
|
||||
except OSError as e:
|
||||
if status_cb:
|
13
cloud-init-recognize-hpc.patch
Normal file
13
cloud-init-recognize-hpc.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- cloudinit/util.py.orig
|
||||
+++ cloudinit/util.py
|
||||
@@ -656,7 +656,9 @@ def system_info():
|
||||
elif linux_dist == 'redhat':
|
||||
var = 'rhel'
|
||||
elif linux_dist in (
|
||||
- 'opensuse', 'opensuse-tumbleweed', 'opensuse-leap', 'sles'):
|
||||
+ 'opensuse', 'opensuse-tumbleweed', 'opensuse-leap',
|
||||
+ 'sles', 'sle_hpc'
|
||||
+ ):
|
||||
var = 'suse'
|
||||
else:
|
||||
var = 'linux'
|
@ -1,8 +0,0 @@
|
||||
--- tools/render-cloudcfg.orig
|
||||
+++ tools/render-cloudcfg
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python3
|
||||
+#!/usr/bin/env python
|
||||
|
||||
import argparse
|
||||
import os
|
@ -1,16 +0,0 @@
|
||||
diff --git a/cloudinit/util.py b/cloudinit/util.py
|
||||
index d99e82fa5..c02b3d9a5 100644
|
||||
--- a/cloudinit/util.py
|
||||
+++ b/cloudinit/util.py
|
||||
@@ -397,9 +397,10 @@ def translate_bool(val, addons=None):
|
||||
|
||||
|
||||
def rand_str(strlen=32, select_from=None):
|
||||
+ r = random.SystemRandom()
|
||||
if not select_from:
|
||||
select_from = string.ascii_letters + string.digits
|
||||
- return "".join([random.choice(select_from) for _x in range(0, strlen)])
|
||||
+ return "".join([r.choice(select_from) for _x in range(0, strlen)])
|
||||
|
||||
|
||||
def rand_dict_key(dictionary, postfix=None):
|
@ -1,3 +1,202 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 24 19:55:40 UTC 2020 - Robert Schweikert <rjschwei@suse.com>
|
||||
|
||||
- Update to version 20.2 (bsc#1174443, bsc#1174444)
|
||||
+ Remove patches included upstream:
|
||||
- 0001-Make-tests-work-with-Python-3.8-139.patch
|
||||
- cloud-init-ostack-metadat-dencode.patch
|
||||
- cloud-init-use-different-random-src.diff
|
||||
- cloud-init-long-pass.patch
|
||||
- cloud-init-mix-static-dhcp.patch
|
||||
+ Remove patches build switched to Python 3 for all distributions
|
||||
- cloud-init-python2-sigpipe.patch
|
||||
- cloud-init-template-py2.patch
|
||||
+ Add
|
||||
- cloud-init-after-kvp.diff
|
||||
- cloud-init-recognize-hpc.patch
|
||||
+ doc/format: reference make-mime.py instead of an inline script (#334)
|
||||
+ Add docs about creating parent folders (#330) [Adrian Wilkins]
|
||||
+ DataSourceNoCloud/OVF: drop claim to support FTP (#333) (LP: #1875470)
|
||||
+ schema: ignore spurious pylint error (#332)
|
||||
+ schema: add json schema for write_files module (#152)
|
||||
+ BSD: find_devs_with_ refactoring (#298) [Gonéri Le Bouder]
|
||||
+ nocloud: drop work around for Linux 2.6 (#324) [Gonéri Le Bouder]
|
||||
+ cloudinit: drop dependencies on unittest2 and contextlib2 (#322)
|
||||
+ distros: handle a potential mirror filtering error case (#328)
|
||||
+ log: remove unnecessary import fallback logic (#327)
|
||||
+ .travis.yml: don't run integration test on ubuntu/* branches (#321)
|
||||
+ More unit test documentation (#314)
|
||||
+ conftest: introduce disable_subp_usage autouse fixture (#304)
|
||||
+ YAML align indent sizes for docs readability (#323) [Tak Nishigori]
|
||||
+ network_state: add missing space to log message (#325)
|
||||
+ tests: add missing mocks for get_interfaces_by_mac (#326) (LP: #1873910)
|
||||
+ test_mounts: expand happy path test for both happy paths (#319)
|
||||
+ cc_mounts: fix incorrect format specifiers (#316) (LP: #1872836)
|
||||
+ swap file "size" being used before checked if str (#315) [Eduardo Otubo]
|
||||
+ HACKING.rst: add pytest version gotchas section (#311)
|
||||
+ docs: Add steps to re-run cloud-id and cloud-init (#313) [Joshua Powers]
|
||||
+ readme: OpenBSD is now supported (#309) [Gonéri Le Bouder]
|
||||
+ net: ignore 'renderer' key in netplan config (#306) (LP: #1870421)
|
||||
+ Add support for NFS/EFS mounts (#300) [Andrew Beresford] (LP: #1870370)
|
||||
+ openbsd: set_passwd should not unlock user (#289) [Gonéri Le Bouder]
|
||||
+ tools/.github-cla-signers: add beezly as CLA signer (#301)
|
||||
+ util: remove unnecessary lru_cache import fallback (#299)
|
||||
+ HACKING.rst: reorganise/update CLA signature info (#297)
|
||||
+ distros: drop leading/trailing hyphens from mirror URL labels (#296)
|
||||
+ HACKING.rst: add note about variable annotations (#295)
|
||||
+ CiTestCase: stop using and remove sys_exit helper (#283)
|
||||
+ distros: replace invalid characters in mirror URLs with hyphens (#291)
|
||||
(LP: #1868232)
|
||||
+ rbxcloud: gracefully handle arping errors (#262) [Adam Dobrawy]
|
||||
+ Fix cloud-init ignoring some misdeclared mimetypes in user-data.
|
||||
[Kurt Garloff]
|
||||
+ net: ubuntu focal prioritize netplan over eni even if both present
|
||||
(#267) (LP: #1867029)
|
||||
+ cloudinit: refactor util.is_ipv4 to net.is_ipv4_address (#292)
|
||||
+ net/cmdline: replace type comments with annotations (#294)
|
||||
+ HACKING.rst: add Type Annotations design section (#293)
|
||||
+ net: introduce is_ip_address function (#288)
|
||||
+ CiTestCase: remove now-unneeded parse_and_read helper method (#286)
|
||||
+ .travis.yml: allow 30 minutes of inactivity in cloud tests (#287)
|
||||
+ sources/tests/test_init: drop use of deprecated inspect.getargspec (#285)
|
||||
+ setup.py: drop NIH check_output implementation (#282)
|
||||
+ Identify SAP Converged Cloud as OpenStack [Silvio Knizek]
|
||||
+ add Openbsd support (#147) [Gonéri Le Bouder]
|
||||
+ HACKING.rst: add examples of the two test class types (#278)
|
||||
+ VMWware: support to update guest info gc status if enabled (#261)
|
||||
[xiaofengw-vmware]
|
||||
+ Add lp-to-git mapping for kgarloff (#279)
|
||||
+ set_passwords: avoid chpasswd on BSD (#268) [Gonéri Le Bouder]
|
||||
+ HACKING.rst: add Unit Testing design section (#277)
|
||||
+ util: read_cc_from_cmdline handle urlencoded yaml content (#275)
|
||||
+ distros/tests/test_init: add tests for _get_package_mirror_info (#272)
|
||||
+ HACKING.rst: add links to new Code Review Process doc (#276)
|
||||
+ freebsd: ensure package update works (#273) [Gonéri Le Bouder]
|
||||
+ doc: introduce Code Review Process documentation (#160)
|
||||
+ tools: use python3 (#274)
|
||||
+ cc_disk_setup: fix RuntimeError (#270) (LP: #1868327)
|
||||
+ cc_apt_configure/util: combine search_for_mirror implementations (#271)
|
||||
+ bsd: boottime does not depend on the libc soname (#269)
|
||||
[Gonéri Le Bouder]
|
||||
+ test_oracle,DataSourceOracle: sort imports (#266)
|
||||
+ DataSourceOracle: update .network_config docstring (#257)
|
||||
+ cloudinit/tests: remove unneeded with_logs configuration (#263)
|
||||
+ .travis.yml: drop stale comment (#255)
|
||||
+ .gitignore: add more common directories (#258)
|
||||
+ ec2: render network on all NICs and add secondary IPs as static (#114)
|
||||
(LP: #1866930)
|
||||
+ ec2 json validation: fix the reference to the 'merged_cfg' key (#256)
|
||||
[Paride Legovini]
|
||||
+ releases.yaml: quote the Ubuntu version numbers (#254) [Paride Legovini]
|
||||
+ cloudinit: remove six from packaging/tooling (#253)
|
||||
+ util/netbsd: drop six usage (#252)
|
||||
+ workflows: introduce stale pull request workflow (#125)
|
||||
+ cc_resolv_conf: introduce tests and stabilise output across Python
|
||||
versions (#251)
|
||||
+ fix minor issue with resolv_conf template (#144) [andreaf74]
|
||||
+ doc: CloudInit also support NetBSD (#250) [Gonéri Le Bouder]
|
||||
+ Add Netbsd support (#62) [Gonéri Le Bouder]
|
||||
+ tox.ini: avoid substition syntax that causes a traceback on xenial (#245)
|
||||
+ Add pub_key_ed25519 to cc_phone_home (#237) [Daniel Hensby]
|
||||
+ Introduce and use of a list of GitHub usernames that have signed CLA
|
||||
(#244)
|
||||
+ workflows/cla.yml: use correct username for CLA check (#243)
|
||||
+ tox.ini: use xenial version of jsonpatch in CI (#242)
|
||||
+ workflows: CLA validation altered to fail status on pull_request (#164)
|
||||
+ tox.ini: bump pyflakes version to 2.1.1 (#239)
|
||||
+ cloudinit: move to pytest for running tests (#211)
|
||||
+ instance-data: add cloud-init merged_cfg and sys_info keys to json
|
||||
(#214) (LP: #1865969)
|
||||
+ ec2: Do not fallback to IMDSv1 on EC2 (#216)
|
||||
+ instance-data: write redacted cfg to instance-data.json (#233)
|
||||
(LP: #1865947)
|
||||
+ net: support network-config:disabled on the kernel commandline (#232)
|
||||
(LP: #1862702)
|
||||
+ ec2: only redact token request headers in logs, avoid altering request
|
||||
(#230) (LP: #1865882)
|
||||
+ docs: typo fixed: dta → data [Alexey Vazhnov]
|
||||
+ Fixes typo on Amazon Web Services (#217) [Nick Wales]
|
||||
+ Fix docs for OpenStack DMI Asset Tag (#228)
|
||||
[Mark T. Voelker] (LP: #1669875)
|
||||
+ Add physical network type: cascading to openstack helpers (#200)
|
||||
[sab-systems]
|
||||
+ tests: add focal integration tests for ubuntu (#225)
|
||||
|
||||
- From 20.1 (first vesrion after 19.4)
|
||||
+ ec2: Do not log IMDSv2 token values, instead use REDACTED (#219)
|
||||
(LP: #1863943)
|
||||
+ utils: use SystemRandom when generating random password. (#204)
|
||||
[Dimitri John Ledkov]
|
||||
+ docs: mount_default_files is a list of 6 items, not 7 (#212)
|
||||
+ azurecloud: fix issues with instances not starting (#205) (LP: #1861921)
|
||||
+ unittest: fix stderr leak in cc_set_password random unittest
|
||||
output. (#208)
|
||||
+ cc_disk_setup: add swap filesystem force flag (#207)
|
||||
+ import sysvinit patches from freebsd-ports tree (#161) [Igor Galić]
|
||||
+ docs: fix typo (#195) [Edwin Kofler]
|
||||
+ sysconfig: distro-specific config rendering for BOOTPROTO option (#162)
|
||||
[Robert Schweikert] (LP: #1800854)
|
||||
+ cloudinit: replace "from six import X" imports (except in util.py) (#183)
|
||||
+ run-container: use 'test -n' instead of 'test ! -z' (#202)
|
||||
[Paride Legovini]
|
||||
+ net/cmdline: correctly handle static ip= config (#201)
|
||||
[Dimitri John Ledkov] (LP: #1861412)
|
||||
+ Replace mock library with unittest.mock (#186)
|
||||
+ HACKING.rst: update CLA link (#199)
|
||||
+ Scaleway: Fix DatasourceScaleway to avoid backtrace (#128)
|
||||
[Louis Bouchard]
|
||||
+ cloudinit/cmd/devel/net_convert.py: add missing space (#191)
|
||||
+ tools/run-container: drop support for python2 (#192) [Paride Legovini]
|
||||
+ Print ssh key fingerprints using sha256 hash (#188) (LP: #1860789)
|
||||
+ Make the RPM build use Python 3 (#190) [Paride Legovini]
|
||||
+ cc_set_password: increase random pwlength from 9 to 20 (#189)
|
||||
(LP: #1860795)
|
||||
+ .travis.yml: use correct Python version for xenial tests (#185)
|
||||
+ cloudinit: remove ImportError handling for mock imports (#182)
|
||||
+ Do not use fallocate in swap file creation on xfs. (#70)
|
||||
[Eduardo Otubo] (LP: #1781781)
|
||||
+ .readthedocs.yaml: install cloud-init when building docs (#181)
|
||||
(LP: #1860450)
|
||||
+ Introduce an RTD config file, and pin the Sphinx version to the RTD
|
||||
default (#180)
|
||||
+ Drop most of the remaining use of six (#179)
|
||||
+ Start removing dependency on six (#178)
|
||||
+ Add Rootbox & HyperOne to list of cloud in README (#176) [Adam Dobrawy]
|
||||
+ docs: add proposed SRU testing procedure (#167)
|
||||
+ util: rename get_architecture to get_dpkg_architecture (#173)
|
||||
+ Ensure util.get_architecture() runs only once (#172)
|
||||
+ Only use gpart if it is the BSD gpart (#131) [Conrad Hoffmann]
|
||||
+ freebsd: remove superflu exception mapping (#166) [Gonéri Le Bouder]
|
||||
+ ssh_auth_key_fingerprints_disable test: fix capitalization (#165)
|
||||
[Paride Legovini]
|
||||
+ util: move uptime's else branch into its own boottime function (#53)
|
||||
[Igor Galić] (LP: #1853160)
|
||||
+ workflows: add contributor license agreement checker (#155)
|
||||
+ net: fix rendering of 'static6' in network config (#77) (LP: #1850988)
|
||||
+ Make tests work with Python 3.8 (#139) [Conrad Hoffmann]
|
||||
+ fixed minor bug with mkswap in cc_disk_setup.py (#143) [andreaf74]
|
||||
+ freebsd: fix create_group() cmd (#146) [Gonéri Le Bouder]
|
||||
+ doc: make apt_update example consistent (#154)
|
||||
+ doc: add modules page toc with links (#153) (LP: #1852456)
|
||||
+ Add support for the amazon variant in cloud.cfg.tmpl (#119)
|
||||
[Frederick Lefebvre]
|
||||
+ ci: remove Python 2.7 from CI runs (#137)
|
||||
+ modules: drop cc_snap_config config module (#134)
|
||||
+ migrate-lp-user-to-github: ensure Launchpad repo exists (#136)
|
||||
+ docs: add initial troubleshooting to FAQ (#104) [Joshua Powers]
|
||||
+ doc: update cc_set_hostname frequency and descrip (#109)
|
||||
[Joshua Powers] (LP: #1827021)
|
||||
+ freebsd: introduce the freebsd renderer (#61) [Gonéri Le Bouder]
|
||||
+ cc_snappy: remove deprecated module (#127)
|
||||
+ HACKING.rst: clarify that everyone needs to do the LP->GH dance (#130)
|
||||
+ freebsd: cloudinit service requires devd (#132) [Gonéri Le Bouder]
|
||||
+ cloud-init: fix capitalisation of SSH (#126)
|
||||
+ doc: update cc_ssh clarify host and auth keys
|
||||
[Joshua Powers] (LP: #1827021)
|
||||
+ ci: emit names of tests run in Travis (#120)
|
||||
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 18 12:11:49 UTC 2020 - Robert Schweikert <rjschwei@suse.com>
|
||||
|
||||
|
140
cloud-init.spec
140
cloud-init.spec
@ -18,7 +18,7 @@
|
||||
%global configver 0.7
|
||||
|
||||
Name: cloud-init
|
||||
Version: 19.4
|
||||
Version: 20.2
|
||||
Release: 0
|
||||
License: GPL-3.0
|
||||
Summary: Cloud node initialization tool
|
||||
@ -26,35 +26,24 @@ Url: http://launchpad.net/cloud-init/
|
||||
Group: System/Management
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
Source1: rsyslog-cloud-init.cfg
|
||||
Patch0: 0001-Make-tests-work-with-Python-3.8-139.patch
|
||||
# FIXME
|
||||
# python2 disables SIGPIPE, causing broken pipe errors in shell scripts (bsc#903449)
|
||||
Patch20: cloud-init-python2-sigpipe.patch
|
||||
Patch21: cloud-init-template-py2.patch
|
||||
Patch29: datasourceLocalDisk.patch
|
||||
Patch34: cloud-init-tests-set-exec.patch
|
||||
# FIXME (lp#1801364)
|
||||
Patch42: cloud-init-ostack-metadat-dencode.patch
|
||||
# FIXME (lp#1812117)
|
||||
Patch43: cloud-init-write-routes.patch
|
||||
# FIXME (lp#1849296)
|
||||
Patch52: cloud-init-break-resolv-symlink.patch
|
||||
# FIXME (lp#1858808)
|
||||
Patch55: cloud-init-mix-static-dhcp.patch
|
||||
# FIXME no proposed solution
|
||||
Patch56: cloud-init-sysconf-path.patch
|
||||
# FIXME (lp#1860164)
|
||||
Patch57: cloud-init-no-tempnet-oci.patch
|
||||
Patch58: cloud-init-use-different-random-src.diff
|
||||
Patch59: cloud-init-long-pass.patch
|
||||
|
||||
Patch58: cloud-init-after-kvp.diff
|
||||
Patch59: cloud-init-recognize-hpc.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: filesystem
|
||||
# pkg-config is needed to find correct systemd unit dir
|
||||
BuildRequires: pkg-config
|
||||
# needed for /lib/udev
|
||||
BuildRequires: pkgconfig(udev)
|
||||
%if 0%{?suse_version} > 1320
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
# Test requirements
|
||||
@ -66,16 +55,8 @@ BuildRequires: python3-jsonpatch
|
||||
BuildRequires: python3-mock
|
||||
BuildRequires: python3-nose
|
||||
BuildRequires: python3-oauthlib
|
||||
BuildRequires: python3-pytest
|
||||
BuildRequires: python3-requests
|
||||
#BuildRequires: python3-testtools
|
||||
%else
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: python-Jinja2
|
||||
BuildRequires: python-PyYAML
|
||||
BuildRequires: python-requests
|
||||
BuildRequires: python-setuptools
|
||||
BuildRequires: python-six
|
||||
%endif
|
||||
%if 0%{?is_opensuse}
|
||||
BuildRequires: openSUSE-release
|
||||
%else
|
||||
@ -89,7 +70,6 @@ Requires: growpart
|
||||
Requires: e2fsprogs
|
||||
Requires: net-tools
|
||||
Requires: openssh
|
||||
%if 0%{?suse_version} > 1320
|
||||
Requires: python3-configobj >= 5.0.2
|
||||
Requires: python3-Jinja2
|
||||
Requires: python3-jsonpatch
|
||||
@ -101,31 +81,15 @@ Requires: python3-requests
|
||||
Requires: python3-setuptools
|
||||
Requires: python3-six
|
||||
Requires: python3-xml
|
||||
%else
|
||||
Requires: python-argparse
|
||||
Requires: python-configobj >= 5.0.2
|
||||
Requires: python-Jinja2
|
||||
Requires: python-jsonpatch
|
||||
Requires: python-jsonschema
|
||||
Requires: python-oauthlib
|
||||
Requires: python-pyserial
|
||||
Requires: python-PyYAML
|
||||
Requires: python-requests
|
||||
Requires: python-setuptools
|
||||
Requires: python-six
|
||||
Requires: python-xml
|
||||
%endif
|
||||
Requires: sudo
|
||||
Requires: util-linux
|
||||
Requires: wicked-service
|
||||
Requires: cloud-init-config = %configver
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%define docdir %{_defaultdocdir}/%{name}
|
||||
%ifarch %ix86 x86_64
|
||||
Requires: dmidecode
|
||||
%endif
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1210
|
||||
%define initsys sysvinit_suse
|
||||
%else
|
||||
%define initsys systemd
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
%{?systemd_requires}
|
||||
@ -134,12 +98,6 @@ BuildRequires: pkgconfig(systemd)
|
||||
%else
|
||||
%define systemd_prefix /usr/lib
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?suse_version} && 0%{?suse_version} >= 1315
|
||||
Requires: wicked-service
|
||||
%else
|
||||
Requires: sysconfig-network
|
||||
%endif
|
||||
|
||||
%description
|
||||
Cloud-init is an init script that initializes a cloud node (VM)
|
||||
@ -147,9 +105,9 @@ according to the fetched configuration data from the admin node.
|
||||
|
||||
%package config-suse
|
||||
Summary: Configuration file for Cloud node initialization tool
|
||||
Provides: cloud-init-config = %configver
|
||||
Provides: cloud-init-config = %configver
|
||||
Group: System/Management
|
||||
Conflicts: otherproviders(cloud-init-config)
|
||||
Conflicts: otherproviders(cloud-init-config)
|
||||
|
||||
%description config-suse
|
||||
This package contains the product specific configuration file
|
||||
@ -166,62 +124,27 @@ according to the fetched configuration data from the admin node.
|
||||
|
||||
Documentation and examples for cloud-init tools
|
||||
|
||||
#%package test
|
||||
#Summary: Cloud node initialization tool - Testsuite
|
||||
#Group: System/Management
|
||||
#Requires: cloud-init = %{version}
|
||||
#
|
||||
#%description test
|
||||
#Cloud-init is an init script that initializes a cloud node (VM)
|
||||
#according to the fetched configuration data from the admin node.
|
||||
#
|
||||
#Unit tests for the cloud-init tools
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%if 0%{?suse_version} < 1315
|
||||
%patch20
|
||||
%patch21
|
||||
%endif
|
||||
%patch29 -p0
|
||||
%patch34
|
||||
%patch42
|
||||
%patch43
|
||||
%patch52
|
||||
%patch55 -p0
|
||||
%patch56
|
||||
%patch57
|
||||
%patch58 -p1
|
||||
%patch59
|
||||
|
||||
%build
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1315
|
||||
python setup.py build
|
||||
%else
|
||||
python3 setup.py build
|
||||
%endif
|
||||
|
||||
|
||||
#%if 0%{?suse_version} > 1320
|
||||
#%check
|
||||
## these tests are currently failing due to suse patches
|
||||
#rm -v tests/unittests/test_distros/test_netconfig.py
|
||||
#rm -v tests/unittests/test_net.py
|
||||
%check
|
||||
## Ignore test failure currently not doing anything with opennebula
|
||||
#rm -v tests/unittests/test_datasource/test_opennebula.py
|
||||
## To be investigated
|
||||
#rm -v tests/unittests/test_handler/test_handler_ntp.py
|
||||
#make test
|
||||
#%endif
|
||||
|
||||
rm -v tests/unittests/test_datasource/test_opennebula.py
|
||||
make unittest3
|
||||
|
||||
%install
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1315
|
||||
python setup.py install --root=%{buildroot} --prefix=%{_prefix} --install-lib=%{python_sitelib} --init-system=%{initsys}
|
||||
%else
|
||||
python3 setup.py install --root=%{buildroot} --prefix=%{_prefix} --install-lib=%{python3_sitelib} --init-system=%{initsys}
|
||||
%endif
|
||||
find %{buildroot} \( -name .gitignore -o -name .placeholder \) -delete
|
||||
# from debian install script
|
||||
for x in "%{buildroot}%{_bindir}/"*.py; do
|
||||
@ -259,30 +182,10 @@ rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.debian.*
|
||||
rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.redhat.*
|
||||
rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.ubuntu.*
|
||||
|
||||
# move sysvinit scripts into the "right" place
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1210
|
||||
mkdir -p %{buildroot}/%{_initddir}
|
||||
mkdir -p %{buildroot}/%{_sbindir}
|
||||
pushd "%{buildroot}%{_initddir}"
|
||||
for iniF in *; do
|
||||
ln -s "%{_initddir}/${iniF}" "%{buildroot}/%{_sbindir}/rc${iniF}"
|
||||
done
|
||||
popd
|
||||
%endif
|
||||
|
||||
# remove duplicate files
|
||||
%if 0%{?suse_version}
|
||||
%if 0%{?suse_version} <= 1315
|
||||
%fdupes %{buildroot}%{python_sitelib}
|
||||
%else
|
||||
%fdupes %{buildroot}%{python3_sitelib}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1210
|
||||
%postun
|
||||
%insserv_cleanup
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
@ -301,24 +204,9 @@ popd
|
||||
%dir %{_datadir}/bash-completion/completions
|
||||
%endif
|
||||
%{_datadir}/bash-completion/completions/cloud-init
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1315
|
||||
%{python_sitelib}/cloudinit
|
||||
%{python_sitelib}/cloud_init-%{version}-py%{py_ver}.egg-info
|
||||
%else
|
||||
%{python3_sitelib}/cloudinit
|
||||
%{python3_sitelib}/cloud_init-%{version}-py%{py3_ver}.egg-info
|
||||
%endif
|
||||
%{_prefix}/lib/cloud-init
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1210
|
||||
%{_sbindir}/rccloud-config
|
||||
%{_sbindir}/rccloud-init
|
||||
%{_sbindir}/rccloud-init-local
|
||||
%{_sbindir}/rccloud-final
|
||||
%attr(0755, root, root) %{_initddir}/cloud-config
|
||||
%attr(0755, root, root) %{_initddir}/cloud-init
|
||||
%attr(0755, root, root) %{_initddir}/cloud-init-local
|
||||
%attr(0755, root, root) %{_initddir}/cloud-final
|
||||
%else
|
||||
%{systemd_prefix}/systemd/system-generators/cloud-init-generator
|
||||
%{systemd_prefix}/systemd/system/cloud-config.service
|
||||
%{systemd_prefix}/systemd/system/cloud-config.target
|
||||
@ -326,17 +214,9 @@ popd
|
||||
%{systemd_prefix}/systemd/system/cloud-init.service
|
||||
%{systemd_prefix}/systemd/system/cloud-init.target
|
||||
%{systemd_prefix}/systemd/system/cloud-final.service
|
||||
%endif
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1110
|
||||
%dir %{_sysconfdir}/rsyslog.d
|
||||
%{_sysconfdir}/rsyslog.d/21-cloudinit.conf
|
||||
/usr/lib/udev/rules.d/66-azure-ephemeral.rules
|
||||
# This if condition really distinquished between OBS and IBS.
|
||||
# For SLE 12 builds in OBS owning the directories is not required, while
|
||||
# SLE 12 builds in IBS require owning the directories
|
||||
%else
|
||||
/lib/udev/rules.d/66-azure-ephemeral.rules
|
||||
%endif
|
||||
%dir %attr(0755, root, root) %{_localstatedir}/lib/cloud
|
||||
%dir %{docdir}
|
||||
%dir /etc/NetworkManager
|
||||
|
Loading…
Reference in New Issue
Block a user