sailesh1993 / rpms / cloud-init

Forked from rpms/cloud-init 10 months ago
Clone
222d62
%{!?license: %global license %%doc}
222d62
222d62
# The only reason we are archful is because dmidecode is ExclusiveArch
222d62
# https://bugzilla.redhat.com/show_bug.cgi?id=1067089
222d62
%global debug_package %{nil}
222d62
222d62
Name:           cloud-init
222d62
Version:        18.2
222d62
Release:        6%{?dist}
222d62
Summary:        Cloud instance init scripts
222d62
222d62
Group:          System Environment/Base
222d62
License:        GPLv3
222d62
URL:            http://launchpad.net/cloud-init
222d62
Source0:        https://launchpad.net/cloud-init/trunk/%{version}/+download/%{name}-%{version}.tar.gz
222d62
Source1:        cloud-init-tmpfiles.conf
222d62
222d62
Patch0001: 0001-Add-initial-redhat-setup.patch
222d62
Patch0002: 0002-Do-not-write-NM_CONTROLLED-no-in-generated-interface.patch
222d62
Patch0003: 0003-limit-permissions-on-def_log_file.patch
222d62
Patch0005: 0005-add-power-state-change-module-to-cloud_final_modules.patch
222d62
Patch0006: 0006-azure-ensure-that-networkmanager-hook-script-runs.patch
222d62
Patch0007: 0007-sysconfig-Don-t-write-BOOTPROTO-dhcp-for-ipv6-dhcp.patch
222d62
Patch0008: 0008-DataSourceAzure.py-use-hostnamectl-to-set-hostname.patch
222d62
Patch0009: 0009-sysconfig-Don-t-disable-IPV6_AUTOCONF.patch
222d62
# For bz#1615599 - [Azure] cloud-init fails to mount /dev/sdb1 after stop(deallocate)&&start VM
222d62
Patch10: ci-Adding-systemd-mount-options-to-wait-for-cloud-init.patch
222d62
# For bz#1615599 - [Azure] cloud-init fails to mount /dev/sdb1 after stop(deallocate)&&start VM
222d62
Patch11: ci-Azure-Ignore-NTFS-mount-errors-when-checking-ephemer.patch
222d62
# For bz#1615599 - [Azure] cloud-init fails to mount /dev/sdb1 after stop(deallocate)&&start VM
222d62
Patch12: ci-azure-Add-reported-ready-marker-file.patch
222d62
# For bz#1615599 - [Azure] cloud-init fails to mount /dev/sdb1 after stop(deallocate)&&start VM
222d62
Patch13: ci-Adding-disk_setup-to-rhel-cloud.cfg.patch
222d62
# For bz#1644335 - [ESXi][RHEL8.0]Enable cloud-init by default on VMware
222d62
Patch14: ci-Enable-cloud-init-by-default-on-vmware.patch
222d62
# For bz#1664227 - [Azure]String missmatch causes the /dev/sdb1 mounting failed after stop&start VM
222d62
Patch15: ci-Fix-string-missmatch-when-mounting-ntfs.patch
222d62
# For bz#1602784 - cloud-init: Sometimes image boots fingerprints is configured, there's a network device present but it's not configured
222d62
Patch16: ci-net-Make-sysconfig-renderer-compatible-with-Network-.patch
222d62
222d62
BuildArch:      noarch
222d62
222d62
BuildRequires:  pkgconfig(systemd)
222d62
BuildRequires:  python3-devel
222d62
BuildRequires:  python3-setuptools
222d62
BuildRequires:  systemd
222d62
222d62
# For tests
222d62
BuildRequires:  iproute
222d62
BuildRequires:  python3-configobj
222d62
# # https://bugzilla.redhat.com/show_bug.cgi?id=1417029
222d62
BuildRequires:  python3-httpretty >= 0.8.14-2
222d62
BuildRequires:  python3-jinja2
222d62
BuildRequires:  python3-jsonpatch
222d62
BuildRequires:  python3-jsonschema
222d62
BuildRequires:  python3-mock
222d62
BuildRequires:  python3-nose
222d62
BuildRequires:  python3-oauthlib
222d62
BuildRequires:  python3-prettytable
222d62
BuildRequires:  python3-pyserial
222d62
BuildRequires:  python3-PyYAML
222d62
BuildRequires:  python3-requests
222d62
BuildRequires:  python3-six
222d62
BuildRequires:  python3-unittest2
222d62
# dnf is needed to make cc_ntp unit tests work
222d62
# https://bugs.launchpad.net/cloud-init/+bug/1721573
222d62
BuildRequires:  /usr/bin/dnf
222d62
222d62
Requires:       e2fsprogs
222d62
Requires:       iproute
222d62
Requires:       libselinux-python3
222d62
Requires:       net-tools
222d62
Requires:       policycoreutils-python3
222d62
Requires:       procps
222d62
Requires:       python3-configobj
222d62
Requires:       python3-jinja2
222d62
Requires:       python3-jsonpatch
222d62
Requires:       python3-jsonschema
222d62
Requires:       python3-oauthlib
222d62
Requires:       python3-prettytable
222d62
Requires:       python3-pyserial
222d62
Requires:       python3-PyYAML
222d62
Requires:       python3-requests
222d62
Requires:       python3-six
222d62
Requires:       shadow-utils
222d62
Requires:       util-linux
222d62
Requires:       xfsprogs
222d62
222d62
%{?systemd_requires}
222d62
222d62
%description
222d62
Cloud-init is a set of init scripts for cloud instances.  Cloud instances
222d62
need special scripts to run during initialization to retrieve and install
222d62
ssh keys and to let the user run various scripts.
222d62
222d62
222d62
%prep
222d62
%autosetup -p1
222d62
222d62
# Change shebangs
222d62
sed -i -e 's|#!/usr/bin/env python|#!/usr/bin/env python3|' \
222d62
       -e 's|#!/usr/bin/python|#!/usr/bin/python3|' tools/* cloudinit/ssh_util.py
222d62
222d62
%build
222d62
%py3_build
222d62
222d62
222d62
%install
222d62
%py3_install --
222d62
222d62
python3 tools/render-cloudcfg --variant fedora > $RPM_BUILD_ROOT/%{_sysconfdir}/cloud/cloud.cfg
222d62
222d62
mkdir -p $RPM_BUILD_ROOT/var/lib/cloud
222d62
222d62
# /run/cloud-init needs a tmpfiles.d entry
222d62
mkdir -p $RPM_BUILD_ROOT/run/cloud-init
222d62
mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir}
222d62
cp -p %{SOURCE1} $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf
222d62
222d62
# We supply our own config file since our software differs from Ubuntu's.
222d62
cp -p rhel/cloud.cfg $RPM_BUILD_ROOT/%{_sysconfdir}/cloud/cloud.cfg
222d62
222d62
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d
222d62
cp -p tools/21-cloudinit.conf $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d/21-cloudinit.conf
222d62
222d62
# Make installed NetworkManager hook name less generic
222d62
mv $RPM_BUILD_ROOT/etc/NetworkManager/dispatcher.d/hook-network-manager \
222d62
   $RPM_BUILD_ROOT/etc/NetworkManager/dispatcher.d/cloud-init-azure-hook
222d62
222d62
# Install our own systemd units (rhbz#1440831)
222d62
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
222d62
cp rhel/systemd/* $RPM_BUILD_ROOT%{_unitdir}/
222d62
222d62
222d62
%clean
222d62
rm -rf $RPM_BUILD_ROOT
222d62
222d62
222d62
%post
222d62
if [ $1 -eq 1 ] ; then
222d62
    # Initial installation
222d62
    # Enabled by default per "runs once then goes away" exception
222d62
    /bin/systemctl enable cloud-config.service     >/dev/null 2>&1 || :
222d62
    /bin/systemctl enable cloud-final.service      >/dev/null 2>&1 || :
222d62
    /bin/systemctl enable cloud-init.service       >/dev/null 2>&1 || :
222d62
    /bin/systemctl enable cloud-init-local.service >/dev/null 2>&1 || :
222d62
elif [ $1 -eq 2 ]; then
222d62
    # Upgrade. If the upgrade is from a version older than 0.7.9-8,
222d62
    # there will be stale systemd config
222d62
    /bin/systemctl is-enabled cloud-config.service >/dev/null 2>&1 &&
222d62
      /bin/systemctl reenable cloud-config.service >/dev/null 2>&1 || :
222d62
222d62
    /bin/systemctl is-enabled cloud-final.service >/dev/null 2>&1 &&
222d62
      /bin/systemctl reenable cloud-final.service >/dev/null 2>&1 || :
222d62
222d62
    /bin/systemctl is-enabled cloud-init.service >/dev/null 2>&1 &&
222d62
      /bin/systemctl reenable cloud-init.service >/dev/null 2>&1 || :
222d62
222d62
    /bin/systemctl is-enabled cloud-init-local.service >/dev/null 2>&1 &&
222d62
      /bin/systemctl reenable cloud-init-local.service >/dev/null 2>&1 || :
222d62
fi
222d62
222d62
%preun
222d62
if [ $1 -eq 0 ] ; then
222d62
    # Package removal, not upgrade
222d62
    /bin/systemctl --no-reload disable cloud-config.service >/dev/null 2>&1 || :
222d62
    /bin/systemctl --no-reload disable cloud-final.service  >/dev/null 2>&1 || :
222d62
    /bin/systemctl --no-reload disable cloud-init.service   >/dev/null 2>&1 || :
222d62
    /bin/systemctl --no-reload disable cloud-init-local.service >/dev/null 2>&1 || :
222d62
    # One-shot services -> no need to stop
222d62
fi
222d62
222d62
%postun
222d62
%systemd_postun
222d62
222d62
222d62
%files
222d62
%license LICENSE
222d62
%doc ChangeLog rhel/README.rhel
222d62
%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg
222d62
%dir               %{_sysconfdir}/cloud/cloud.cfg.d
222d62
%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/*.cfg
222d62
%doc               %{_sysconfdir}/cloud/cloud.cfg.d/README
222d62
%dir               %{_sysconfdir}/cloud/templates
222d62
%config(noreplace) %{_sysconfdir}/cloud/templates/*
222d62
%{_unitdir}/cloud-config.service
222d62
%{_unitdir}/cloud-config.target
222d62
%{_unitdir}/cloud-final.service
222d62
%{_unitdir}/cloud-init-local.service
222d62
%{_unitdir}/cloud-init.service
222d62
%{_tmpfilesdir}/%{name}.conf
222d62
%{python3_sitelib}/*
222d62
%{_libexecdir}/%{name}
222d62
%{_bindir}/cloud-init*
222d62
%doc %{_datadir}/doc/%{name}
222d62
%dir /run/cloud-init
222d62
%dir /var/lib/cloud
222d62
/etc/NetworkManager/dispatcher.d/cloud-init-azure-hook
222d62
%{_udevrulesdir}/66-azure-ephemeral.rules
222d62
222d62
%dir %{_sysconfdir}/rsyslog.d
222d62
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
222d62
222d62
%changelog
222d62
* Wed Jan 23 2019 Miroslav Rezanina <mrezanin@redhat.com> - 18.2-6.el8
222d62
- ci-net-Make-sysconfig-renderer-compatible-with-Network-.patch [bz#1602784]
222d62
- Resolves: bz#1602784
222d62
  (cloud-init: Sometimes image boots fingerprints is configured, there's a network device present but it's not configured)
222d62
222d62
* Fri Jan 18 2019 Miroslav Rezanina <mrezanin@redhat.com> - 18.2-5.el8
222d62
- ci-Fix-string-missmatch-when-mounting-ntfs.patch [bz#1664227]
222d62
- Resolves: bz#1664227
222d62
  ([Azure]String missmatch causes the /dev/sdb1 mounting failed after stop&start VM)
222d62
222d62
* Thu Jan 10 2019  <> - 18.2-4.el8
222d62
- ci-Enable-cloud-init-by-default-on-vmware.patch [bz#1644335]
222d62
- Resolves: bz#1644335
222d62
  ([ESXi][RHEL8.0]Enable cloud-init by default on VMware)
222d62
222d62
* Wed Nov 28 2018 Miroslav Rezanina <mrezanin@redhat.com> - 18.2-3.el8
222d62
- ci-Adding-systemd-mount-options-to-wait-for-cloud-init.patch [bz#1615599]
222d62
- ci-Azure-Ignore-NTFS-mount-errors-when-checking-ephemer.patch [bz#1615599]
222d62
- ci-azure-Add-reported-ready-marker-file.patch [bz#1615599]
222d62
- ci-Adding-disk_setup-to-rhel-cloud.cfg.patch [bz#1615599]
222d62
- Resolves: bz#1615599
222d62
  ([Azure] cloud-init fails to mount /dev/sdb1 after stop(deallocate)&&start VM)
222d62
222d62
* Tue Nov 06 2018 Miroslav Rezanina <mrezanin@redhat.com> - 18.2-2.el7
222d62
- Revert "remove 'tee' command from logging configuration" [bz#1626117]
222d62
- Resolves: rhbz#1626117]
222d62
  (cloud-init-0.7.9-9 doesn't feed cloud-init-output.log)
222d62
222d62
* Fri Jun 29 2018 Miroslav Rezanina <mrezanin@redhat.com> - 18.2-1.el7
222d62
- Rebase to 18.2 [bz#1515909]
222d62
  Resolves: rhbz#1515909
222d62
222d62
* Tue Feb 13 2018 Ryan McCabe <rmccabe@redhat.com> 0.7.9-24
222d62
- Set DHCP_HOSTNAME on Azure to allow for the hostname to be
222d62
  published correctly when bouncing the network.
222d62
  Resolves: rhbz#1434109
222d62
222d62
* Mon Jan 15 2018 Ryan McCabe <rmccabe@redhat.com> 0.7.9-23
222d62
- Fix a bug tha caused cloud-init to fail as a result of trying
222d62
  to rename bonds.
222d62
  Resolves: rhbz#1512247
222d62
222d62
* Mon Jan 15 2018 Ryan McCabe <rmccabe@redhat.com> 0.7.9-22
222d62
- Apply patch from -21
222d62
  Resolves: rhbz#1489270
222d62
222d62
* Mon Jan 15 2018 Ryan McCabe <rmccabe@redhat.com> 0.7.9-21
222d62
- sysconfig: Fix a potential traceback introduced in the
222d62
  0.7.9-17 build
222d62
  Resolves: rhbz#1489270
222d62
222d62
* Sun Dec 17 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-20
222d62
- sysconfig: Correct rendering for dhcp on ipv6
222d62
  Resolves: rhbz#1519271
222d62
222d62
* Thu Nov 30 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-19
222d62
- sysconfig: Fix rendering of default gateway for ipv6
222d62
  Resolves: rhbz#1492726
222d62
222d62
* Fri Nov 24 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-18
222d62
- Start the cloud-init init local service after the dbus socket is created
222d62
  so that the hostnamectl command works.
222d62
  Resolves: rhbz#1450521
222d62
222d62
* Tue Nov 21 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-17
222d62
- Correctly render DNS and DOMAIN for sysconfig
222d62
  Resolves: rhbz#1489270
222d62
222d62
* Mon Nov 20 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-16
222d62
- Disable NetworkManager management of resolv.conf if nameservers
222d62
  are specified by configuration.
222d62
  Resolves: rhbz#1454491
222d62
222d62
* Mon Nov 13 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-15
222d62
- Fix a null reference error in the rh_subscription module
222d62
  Resolves: rhbz#1498974
222d62
222d62
* Mon Nov 13 2017 Ryan McCabe <rmccabe@redhat.com> 0-7.9-14
222d62
- Include gateway if it's included in subnet configration
222d62
  Resolves: rhbz#1492726
222d62
222d62
* Sun Nov 12 2017 Ryan McCabe <rmccabe@redhat.com> 0-7.9-13
222d62
- Do proper cleanup of systemd units when upgrading from versions
222d62
  0.7.9-3 through 0.7.9-8.
222d62
  Resolves: rhbz#1465730
222d62
222d62
* Thu Nov 09 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-12
222d62
- Prevent Azure NM and dhclient hooks from running when cloud-init is
222d62
  disabled (rhbz#1474226)
222d62
222d62
* Tue Oct 31 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-11
222d62
- Fix rendering of multiple static IPs per interface file
222d62
  Resolves: rhbz#bz1497954
222d62
222d62
* Tue Sep 26 2017 Ryan McCabe <rmccabe@redhat.com> 0.7.9-10
222d62
- AliCloud: Add support for the Alibaba Cloud datasource (rhbz#1482547)
222d62
222d62
* Thu Jun 22 2017 Lars Kellogg-Stedman <lars@redhat.com> 0.7.9-9
222d62
- RHEL/CentOS: Fix default routes for IPv4/IPv6 configuration. (rhbz#1438082)
222d62
- azure: ensure that networkmanager hook script runs (rhbz#1440831 rhbz#1460206)
222d62
- Fix ipv6 subnet detection (rhbz#1438082)
222d62
222d62
* Tue May 23 2017 Lars Kellogg-Stedman <lars@redhat.com> 0.7.9-8
222d62
- Update patches
222d62
222d62
* Mon May 22 2017 Lars Kellogg-Stedman <lars@redhat.com> 0.7.9-7
222d62
- Add missing sysconfig unit test data (rhbz#1438082)
222d62
- Fix dual stack IPv4/IPv6 configuration for RHEL (rhbz#1438082)
222d62
- sysconfig: Raise ValueError when multiple default gateways are present. (rhbz#1438082)
222d62
- Bounce network interface for Azure when using the built-in path. (rhbz#1434109)
222d62
- Do not write NM_CONTROLLED=no in generated interface config files (rhbz#1385172)
222d62
222d62
* Wed May 10 2017 Lars Kellogg-Stedman <lars@redhat.com> 0.7.9-6
222d62
- add power-state-change module to cloud_final_modules (rhbz#1252477)
222d62
- remove 'tee' command from logging configuration (rhbz#1424612)
222d62
- limit permissions on def_log_file (rhbz#1424612)
222d62
- Bounce network interface for Azure when using the built-in path. (rhbz#1434109)
222d62
- OpenStack: add 'dvs' to the list of physical link types. (rhbz#1442783)
222d62
222d62
* Wed May 10 2017 Lars Kellogg-Stedman <lars@redhat.com> 0.7.9-5
222d62
- systemd: replace generator with unit conditionals (rhbz#1440831)
222d62
222d62
* Thu Apr 13 2017 Charalampos Stratakis <cstratak@redhat.com> 0.7.9-4
222d62
- Import to RHEL 7
222d62
Resolves: rhbz#1427280
222d62
222d62
* Tue Mar 07 2017 Lars Kellogg-Stedman <lars@redhat.com> 0.7.9-3
222d62
- fixes for network config generation
222d62
- avoid dependency cycle at boot (rhbz#1420946)
222d62
222d62
* Tue Jan 17 2017 Lars Kellogg-Stedman <lars@redhat.com> 0.7.9-2
222d62
- use timeout from datasource config in openstack get_data (rhbz#1408589)
222d62
222d62
* Thu Dec 01 2016 Lars Kellogg-Stedman <lars@redhat.com> - 0.7.9-1
222d62
- Rebased on upstream 0.7.9.
222d62
- Remove dependency on run-parts
222d62
222d62
* Wed Jan 06 2016 Lars Kellogg-Stedman <lars@redhat.com> - 0.7.6-8
222d62
- make rh_subscription plugin do nothing in the absence of a valid
222d62
  configuration [RH:1295953]
222d62
- move rh_subscription module to cloud_config stage
222d62
222d62
* Wed Jan 06 2016 Lars Kellogg-Stedman <lars@redhat.com> - 0.7.6-7
222d62
- correct permissions on /etc/ssh/sshd_config [RH:1296191]
222d62
222d62
* Thu Sep 03 2015 Lars Kellogg-Stedman <lars@redhat.com> - 0.7.6-6
222d62
- rebuild for ppc64le
222d62
222d62
* Tue Jul 07 2015 Lars Kellogg-Stedman <lars@redhat.com> - 0.7.6-5
222d62
- bump revision for new build
222d62
222d62
* Tue Jul 07 2015 Lars Kellogg-Stedman <lars@redhat.com> - 0.7.6-4
222d62
- ensure rh_subscription plugin is enabled by default
222d62
222d62
* Wed Apr 29 2015 Lars Kellogg-Stedman <lars@redhat.com> - 0.7.6-3
222d62
- added dependency on python-jinja2 [RH:1215913]
222d62
- added rhn_subscription plugin [RH:1227393]
222d62
- require pyserial to support smartos data source [RH:1226187]
222d62
222d62
* Fri Jan 16 2015 Lars Kellogg-Stedman <lars@redhat.com> - 0.7.6-2
222d62
- Rebased RHEL version to Fedora rawhide
222d62
- Backported fix for https://bugs.launchpad.net/cloud-init/+bug/1246485
222d62
- Backported fix for https://bugs.launchpad.net/cloud-init/+bug/1411829
222d62
222d62
* Fri Nov 14 2014 Colin Walters <walters@redhat.com> - 0.7.6-1
222d62
- New upstream version [RH:974327]
222d62
- Drop python-cheetah dependency (same as above bug)