From d3c36a4d21e712aba18ebcb7f0823303688846b4 Mon Sep 17 00:00:00 2001 From: Karanbir Singh Date: Jul 10 2014 12:09:12 +0000 Subject: import cloud-init-0.7.5-1.el7.src.rpm --- diff --git a/.cloud-init.metadata b/.cloud-init.metadata new file mode 100644 index 0000000..6f7e973 --- /dev/null +++ b/.cloud-init.metadata @@ -0,0 +1 @@ +9f21617451ec45b6997470f5c3974de0896d8d67 SOURCES/cloud-init-0.7.5.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 5231011..0000000 --- a/README.md +++ /dev/null @@ -1,8 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch -for CentOS-4, 5 or 6. If you find this file in a distro specific branch, it -means that no content has been checked in yet - -More information on how these git repositories are setup, is available at -http://wiki.centos.org/Sources diff --git a/SOURCES/0001-update-paths-for-rhel.patch b/SOURCES/0001-update-paths-for-rhel.patch new file mode 100644 index 0000000..8ab30d0 --- /dev/null +++ b/SOURCES/0001-update-paths-for-rhel.patch @@ -0,0 +1,45 @@ +From 077181aa07cc3ca11d526b421b4d4e006bd5eba7 Mon Sep 17 00:00:00 2001 +From: Lars Kellogg-Stedman +Date: Mon, 23 Jun 2014 13:13:24 -0400 +Subject: [PATCH] update paths for rhel + +--- + cloudinit/config/cc_keys_to_console.py | 2 +- + setup.py | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/cloudinit/config/cc_keys_to_console.py b/cloudinit/config/cc_keys_to_console.py +index ed7af69..e8bc33a 100644 +--- a/cloudinit/config/cc_keys_to_console.py ++++ b/cloudinit/config/cc_keys_to_console.py +@@ -26,7 +26,7 @@ from cloudinit import util + frequency = PER_INSTANCE + + # This is a tool that cloud init provides +-HELPER_TOOL = '/usr/lib/cloud-init/write-ssh-key-fingerprints' ++HELPER_TOOL = '/usr/libexec/cloud-init/write-ssh-key-fingerprints' + + + def handle(name, cfg, _cloud, log, _args): +diff --git a/setup.py b/setup.py +index 9118e5f..9eb83aa 100755 +--- a/setup.py ++++ b/setup.py +@@ -45,7 +45,7 @@ INITSYS_FILES = { + INITSYS_ROOTS = { + 'sysvinit': '/etc/rc.d/init.d', + 'sysvinit_deb': '/etc/init.d', +- 'systemd': '/etc/systemd/system/', ++ 'systemd': '/usr/lib/systemd/system/', + 'upstart': '/etc/init/', + } + INITSYS_TYPES = sorted(list(INITSYS_ROOTS.keys())) +@@ -123,7 +123,7 @@ setuptools.setup(name='cloud-init', + ('/etc/cloud/cloud.cfg.d', glob('config/cloud.cfg.d/*')), + ('/etc/cloud/templates', glob('templates/*')), + ('/usr/share/cloud-init', []), +- ('/usr/lib/cloud-init', ++ ('/usr/libexec/cloud-init', + ['tools/uncloud-init', + 'tools/write-ssh-key-fingerprints']), + ('/usr/share/doc/cloud-init', diff --git a/SOURCES/0002-fix-rsyslog-programname-match.patch b/SOURCES/0002-fix-rsyslog-programname-match.patch new file mode 100644 index 0000000..e9f7e41 --- /dev/null +++ b/SOURCES/0002-fix-rsyslog-programname-match.patch @@ -0,0 +1,20 @@ +From 502e27516f6d16939e9a35339fb99f418e406169 Mon Sep 17 00:00:00 2001 +From: Lars Kellogg-Stedman +Date: Mon, 23 Jun 2014 13:13:57 -0400 +Subject: [PATCH] fix rsyslog programname match + +--- + tools/21-cloudinit.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/21-cloudinit.conf b/tools/21-cloudinit.conf +index c65325c..248e3b1 100644 +--- a/tools/21-cloudinit.conf ++++ b/tools/21-cloudinit.conf +@@ -1,5 +1,5 @@ + # Log cloudinit generated log messages to file +-:syslogtag, isequal, "[CLOUDINIT]" /var/log/cloud-init.log ++:programname, isequal, "cloud-init" /var/log/cloud-init.log + + # comment out the following line to allow CLOUDINIT messages through. + # Doing so means you'll also get CLOUDINIT messages in /var/log/syslog diff --git a/SOURCES/0003-Stopped-calling-udevadm-settle-with-quiet-since-syst.patch b/SOURCES/0003-Stopped-calling-udevadm-settle-with-quiet-since-syst.patch new file mode 100644 index 0000000..ceced8e --- /dev/null +++ b/SOURCES/0003-Stopped-calling-udevadm-settle-with-quiet-since-syst.patch @@ -0,0 +1,23 @@ +From d0eb39917e0cde82442f435cf6171e15dafbeb9e Mon Sep 17 00:00:00 2001 +From: Lars Kellogg-Stedman +Date: Mon, 23 Jun 2014 13:14:35 -0400 +Subject: [PATCH] Stopped calling ``udevadm settle'' with --quiet since systemd + 213 removed it + +--- + cloudinit/sources/DataSourceAltCloud.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cloudinit/sources/DataSourceAltCloud.py b/cloudinit/sources/DataSourceAltCloud.py +index 1e913a6..1f3c895 100644 +--- a/cloudinit/sources/DataSourceAltCloud.py ++++ b/cloudinit/sources/DataSourceAltCloud.py +@@ -42,7 +42,7 @@ CLOUD_INFO_FILE = '/etc/sysconfig/cloud-info' + # Shell command lists + CMD_DMI_SYSTEM = ['/usr/sbin/dmidecode', '--string', 'system-product-name'] + CMD_PROBE_FLOPPY = ['/sbin/modprobe', 'floppy'] +-CMD_UDEVADM_SETTLE = ['/sbin/udevadm', 'settle', '--quiet', '--timeout=5'] ++CMD_UDEVADM_SETTLE = ['/sbin/udevadm', 'settle', '--timeout=5'] + + META_DATA_NOT_SUPPORTED = { + 'block-device-mapping': {}, diff --git a/SOURCES/0004-fix-typo-in-settings.py-preventing-metadata-being-fe.patch b/SOURCES/0004-fix-typo-in-settings.py-preventing-metadata-being-fe.patch new file mode 100644 index 0000000..e21d778 --- /dev/null +++ b/SOURCES/0004-fix-typo-in-settings.py-preventing-metadata-being-fe.patch @@ -0,0 +1,23 @@ +From 8715fe5757815bf2cb9441985d608a4f0b4e947d Mon Sep 17 00:00:00 2001 +From: Lars Kellogg-Stedman +Date: Mon, 23 Jun 2014 13:15:54 -0400 +Subject: [PATCH] fix typo in settings.py preventing metadata being fecthed in + ec2 + +--- + cloudinit/settings.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cloudinit/settings.py b/cloudinit/settings.py +index 37d4958..5efcb0b 100644 +--- a/cloudinit/settings.py ++++ b/cloudinit/settings.py +@@ -37,7 +37,7 @@ CFG_BUILTIN = { + 'OVF', + 'MAAS', + 'GCE', +- 'OpenStack' ++ 'OpenStack', + 'Ec2', + 'CloudSigma', + 'CloudStack', diff --git a/SOURCES/cloud-init-README.rhel b/SOURCES/cloud-init-README.rhel new file mode 100644 index 0000000..aa29630 --- /dev/null +++ b/SOURCES/cloud-init-README.rhel @@ -0,0 +1,5 @@ +The following cloud-init modules are currently unsupported on this OS: + - apt_update_upgrade ('apt_update', 'apt_upgrade', 'apt_mirror', 'apt_preserve_sources_list', 'apt_old_mirror', 'apt_sources', 'debconf_selections', 'packages' options) + - byobu ('byobu_by_default' option) + - chef + - grub_dpkg diff --git a/SOURCES/cloud-init-rhel.cfg b/SOURCES/cloud-init-rhel.cfg new file mode 100644 index 0000000..622840d --- /dev/null +++ b/SOURCES/cloud-init-rhel.cfg @@ -0,0 +1,66 @@ +users: + - default + +disable_root: 1 +ssh_pwauth: 0 + +locale_configfile: /etc/sysconfig/i18n +mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2'] +resize_rootfs_tmp: /dev +ssh_deletekeys: 0 +ssh_genkeytypes: ~ +syslog_fix_perms: ~ + +cloud_init_modules: + - migrator + - bootcmd + - write-files + - growpart + - resizefs + - set_hostname + - update_hostname + - update_etc_hosts + - rsyslog + - users-groups + - ssh + +cloud_config_modules: + - mounts + - locale + - set-passwords + - yum-add-repo + - package-update-upgrade-install + - timezone + - puppet + - chef + - salt-minion + - mcollective + - disable-ec2-metadata + - runcmd + +cloud_final_modules: + - rightscale_userdata + - scripts-per-once + - scripts-per-boot + - scripts-per-instance + - scripts-user + - ssh-authkey-fingerprints + - keys-to-console + - phone-home + - final-message + +system_info: + default_user: + name: cloud-user + lock_passwd: true + gecos: Cloud User + groups: [wheel, adm, systemd-journal] + sudo: ["ALL=(ALL) NOPASSWD:ALL"] + shell: /bin/bash + distro: rhel + paths: + cloud_dir: /var/lib/cloud + templates_dir: /etc/cloud/templates + ssh_svcname: sshd + +# vim:syntax=yaml diff --git a/SOURCES/cloud-init-tmpfiles.conf b/SOURCES/cloud-init-tmpfiles.conf new file mode 100644 index 0000000..0c6d2a3 --- /dev/null +++ b/SOURCES/cloud-init-tmpfiles.conf @@ -0,0 +1 @@ +d /run/cloud-init 0700 root root - - diff --git a/SPECS/cloud-init.spec b/SPECS/cloud-init.spec new file mode 100644 index 0000000..a541015 --- /dev/null +++ b/SPECS/cloud-init.spec @@ -0,0 +1,303 @@ +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%{!?license: %global license %%doc} + +# The only reason we are archful is because dmidecode is ExclusiveArch +# https://bugzilla.redhat.com/show_bug.cgi?id=1067089 +%global debug_package %{nil} + +Name: cloud-init +Version: 0.7.5 +Release: 1%{?dist} +Summary: Cloud instance init scripts + +Group: System Environment/Base +License: GPLv3 +URL: http://launchpad.net/cloud-init +Source0: https://launchpad.net/cloud-init/trunk/%{version}/+download/%{name}-%{version}.tar.gz +Source1: cloud-init-rhel.cfg +Source2: cloud-init-README.rhel +Source3: cloud-init-tmpfiles.conf + +# Patches managed with rdopkg, using github.com/larsks/cloud-init as integration +# repository. +# patches_base=0.7.5 +Patch0001: 0001-update-paths-for-rhel.patch +Patch0002: 0002-fix-rsyslog-programname-match.patch +Patch0003: 0003-Stopped-calling-udevadm-settle-with-quiet-since-syst.patch +Patch0004: 0004-fix-typo-in-settings.py-preventing-metadata-being-fe.patch + +# Deal with noarch -> arch +# https://bugzilla.redhat.com/show_bug.cgi?id=1067089 +Obsoletes: cloud-init < 0.7.5-3 + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: python-devel +BuildRequires: python-setuptools +BuildRequires: systemd-units +%ifarch %{?ix86} x86_64 ia64 +Requires: dmidecode +%endif +Requires: e2fsprogs +Requires: iproute +Requires: libselinux-python +Requires: net-tools +Requires: policycoreutils-python +Requires: procps +Requires: python-boto +Requires: python-cheetah +Requires: python-configobj +Requires: python-prettytable +Requires: python-requests +Requires: PyYAML +Requires: python-jsonpatch +Requires: rsyslog +Requires: shadow-utils +Requires: /usr/bin/run-parts +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units + +%description +Cloud-init is a set of init scripts for cloud instances. Cloud instances +need special scripts to run during initialization to retrieve and install +ssh keys and to let the user run various scripts. + + +%prep +%setup -q -n %{name}-%{version} + +%patch0001 -p1 +%patch0002 -p1 +%patch0003 -p1 +%patch0004 -p1 + +cp -p %{SOURCE2} README.rhel + + +%build +%{__python} setup.py build + + +%install +rm -rf $RPM_BUILD_ROOT +%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT + +# Don't ship the tests +rm -r $RPM_BUILD_ROOT%{python_sitelib}/tests + +mkdir -p $RPM_BUILD_ROOT/var/lib/cloud + +# /run/cloud-init needs a tmpfiles.d entry +mkdir -p $RPM_BUILD_ROOT/run/cloud-init +mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir} +cp -p %{SOURCE3} $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf + +# We supply our own config file since our software differs from Ubuntu's. +cp -p %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/cloud/cloud.cfg + +mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d +cp -p tools/21-cloudinit.conf $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d/21-cloudinit.conf + +# Install the systemd bits +mkdir -p $RPM_BUILD_ROOT/%{_unitdir} +cp -p systemd/* $RPM_BUILD_ROOT/%{_unitdir} + + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post +if [ $1 -eq 1 ] ; then + # Initial installation + # Enabled by default per "runs once then goes away" exception + /bin/systemctl enable cloud-config.service >/dev/null 2>&1 || : + /bin/systemctl enable cloud-final.service >/dev/null 2>&1 || : + /bin/systemctl enable cloud-init.service >/dev/null 2>&1 || : + /bin/systemctl enable cloud-init-local.service >/dev/null 2>&1 || : +fi + +%preun +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable cloud-config.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable cloud-final.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable cloud-init.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable cloud-init-local.service >/dev/null 2>&1 || : + # One-shot services -> no need to stop +fi + +%postun +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +# One-shot services -> no need to restart + + +%files +%license LICENSE +%doc ChangeLog TODO README.rhel +%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg +%dir %{_sysconfdir}/cloud/cloud.cfg.d +%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/*.cfg +%doc %{_sysconfdir}/cloud/cloud.cfg.d/README +%dir %{_sysconfdir}/cloud/templates +%config(noreplace) %{_sysconfdir}/cloud/templates/* +%{_unitdir}/cloud-config.service +%{_unitdir}/cloud-config.target +%{_unitdir}/cloud-final.service +%{_unitdir}/cloud-init-local.service +%{_unitdir}/cloud-init.service +%{_tmpfilesdir}/%{name}.conf +%{python_sitelib}/* +%{_libexecdir}/%{name} +%{_bindir}/cloud-init* +%doc %{_datadir}/doc/%{name} +%dir /run/cloud-init +%dir /var/lib/cloud + +%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf + + +%changelog +* Mon Jun 23 2014 Lars Kellogg-Stedman 0.7.5-1 (redhat) +- Rebased against upstream 0.7.5-6 in order to pull in GCE support. + +* Thu Jun 12 2014 Dennis Gilmore - 0.7.5-6 +- fix typo in settings.py preventing metadata being fecthed in ec2 + +* Mon Jun 9 2014 Garrett Holmstrom - 0.7.5-5 +- Stopped calling ``udevadm settle'' with --quiet since systemd 213 removed it + +* Sat Jun 07 2014 Fedora Release Engineering - 0.7.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Jun 2 2014 Garrett Holmstrom - 0.7.5-3 +- Make dmidecode dependency arch-dependent [RH:1025071 RH:1067089] + +* Mon Jun 2 2014 Garrett Holmstrom - 0.7.2-9 +- Write /etc/locale.conf instead of /etc/sysconfig/i18n [RH:1008250] +- Add tmpfiles.d configuration for /run/cloud-init [RH:1103761] +- Use the license rpm macro +- BuildRequire python-setuptools, not python-setuptools-devel + +* Fri May 30 2014 Matthew Miller - 0.7.5-2 +- add missing python-jsonpatch dependency [RH:1103281] + +* Tue Apr 29 2014 Sam Kottler - 0.7.5-1 +- Update to 0.7.5 and remove patches which landed in the release + +* Sat Jan 25 2014 Sam Kottler - 0.7.2-8 +- Remove patch to the Puppet service unit name [RH:1057860] + +* Tue Sep 24 2013 Garrett Holmstrom - 0.7.2-7 +- Dropped xfsprogs dependency [RH:974329] + +* Tue Sep 24 2013 Garrett Holmstrom - 0.7.2-6 +- Added yum-add-repo module + +* Fri Sep 20 2013 Garrett Holmstrom - 0.7.2-5 +- Fixed puppet agent service name [RH:1008250] +- Let systemd handle console output [RH:977952 LP:1228434] +- Fixed restorecon failure when selinux is disabled [RH:967002 LP:1228441] +- Fixed rsyslog log filtering +- Added missing modules [RH:966888] + +* Sat Aug 03 2013 Fedora Release Engineering - 0.7.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Jun 15 2013 Matthew Miller - 0.7.2-3 +- switch ec2-user to "fedora" -- see bugzilla #971439. To use another + name, use #cloud-config option "users:" in userdata in cloud metadata + service +- add that user to systemd-journal group + +* Fri May 17 2013 Steven Hardy - 0.7.2 +- Update to the 0.7.2 release + +* Thu May 02 2013 Steven Hardy - 0.7.2-0.1.bzr809 +- Rebased against upstream rev 809, fixes several F18 related issues +- Added dependency on python-requests + +* Sat Apr 6 2013 Orion Poplawski - 0.7.1-4 +- Don't ship tests + +* Wed Feb 13 2013 Fedora Release Engineering - 0.7.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Dec 13 2012 Garrett Holmstrom - 0.7.1-2 +- Added default_user to cloud.cfg (this is required for ssh keys to work) + +* Wed Nov 21 2012 Garrett Holmstrom - 0.7.1-1 +- Rebased against version 0.7.1 +- Fixed broken sudoers file generation +- Fixed "resize_root: noblock" [LP:1080985] + +* Tue Oct 9 2012 Garrett Holmstrom - 0.7.0-1 +- Rebased against version 0.7.0 +- Fixed / filesystem resizing + +* Sat Sep 22 2012 Garrett Holmstrom - 0.7.0-0.3.bzr659 +- Added dmidecode dependency for DataSourceAltCloud + +* Sat Sep 22 2012 Garrett Holmstrom - 0.7.0-0.2.bzr659 +- Rebased against upstream rev 659 +- Fixed hostname persistence +- Fixed ssh key printing +- Fixed sudoers file permissions + +* Mon Sep 17 2012 Garrett Holmstrom - 0.7.0-0.1.bzr650 +- Rebased against upstream rev 650 +- Added support for useradd --selinux-user + +* Thu Sep 13 2012 Garrett Holmstrom - 0.6.3-0.5.bzr532 +- Use a FQDN (instance-data.) for instance data URL fallback [RH:850916 LP:1040200] +- Shut off systemd timeouts [RH:836269] +- Send output to the console [RH:854654] + +* Wed Jul 18 2012 Fedora Release Engineering - 0.6.3-0.4.bzr532 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 27 2012 Pádraig Brady - 0.6.3-0.3.bzr532 +- Add support for installing yum packages + +* Sat Mar 31 2012 Andy Grimm - 0.6.3-0.2.bzr532 +- Fixed incorrect interpretation of relative path for + AuthorizedKeysFile (BZ #735521) + +* Mon Mar 5 2012 Garrett Holmstrom - 0.6.3-0.1.bzr532 +- Rebased against upstream rev 532 +- Fixed runparts() incompatibility with Fedora + +* Thu Jan 12 2012 Fedora Release Engineering - 0.6.2-0.8.bzr457 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Oct 5 2011 Garrett Holmstrom - 0.6.2-0.7.bzr457 +- Disabled SSH key-deleting on startup + +* Wed Sep 28 2011 Garrett Holmstrom - 0.6.2-0.6.bzr457 +- Consolidated selinux file context patches +- Fixed cloud-init.service dependencies +- Updated sshkeytypes patch +- Dealt with differences from Ubuntu's sshd + +* Sat Sep 24 2011 Garrett Holmstrom - 0.6.2-0.5.bzr457 +- Rebased against upstream rev 457 +- Added missing dependencies + +* Fri Sep 23 2011 Garrett Holmstrom - 0.6.2-0.4.bzr450 +- Added more macros to the spec file + +* Fri Sep 23 2011 Garrett Holmstrom - 0.6.2-0.3.bzr450 +- Fixed logfile permission checking +- Fixed SSH key generation +- Fixed a bad method call in FQDN-guessing [LP:857891] +- Updated localefile patch +- Disabled the grub_dpkg module +- Fixed failures due to empty script dirs [LP:857926] + +* Fri Sep 23 2011 Garrett Holmstrom - 0.6.2-0.2.bzr450 +- Updated tzsysconfig patch + +* Wed Sep 21 2011 Garrett Holmstrom - 0.6.2-0.1.bzr450 +- Initial packaging