From 2b26e39781ca8b86ca4667516183118b15778c0a Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Wed, 26 Sep 2012 08:12:49 -0700 Subject: [PATCH 01/10] Resolves: RHBZ#860726 Signed-off-by: Steven Dake --- heat.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/heat.spec b/heat.spec index 2eb93e4..28e8fdc 100644 --- a/heat.spec +++ b/heat.spec @@ -1,7 +1,7 @@ Name: heat Summary: This software provides AWS CloudFormation functionality for OpenStack Essex Version: 6 -Release: 4%{?dist} +Release: 5%{?dist} License: ASL 2.0 Group: System Environment/Base URL: http://heat-api.org @@ -13,6 +13,7 @@ Source4: heat-metadata.service Source5: heat-api-cloudwatch.service Patch0: switch-to-using-m2crypto.patch +Patch1: heat-fix-glanceclient-deprecation-warning.patch BuildArch: noarch BuildRequires: python2-devel @@ -46,6 +47,7 @@ Requires(pre): shadow-utils %prep %setup -q %patch0 -p1 +%patch1 -p1 %build %{__python} setup.py build @@ -129,6 +131,11 @@ exit 0 %systemd_postun_with_restart heat-api-cloudwatch.service %changelog +* Wed Sep 25 2012 Steven Dake 6-5 +- Merge upstream commit d9f63269f1a0205811cd84487787c8c1291a952b +- Resolves: RHBZ#860726 +- fix "heat cli prints warning on each operation" + * Wed Sep 26 2012 Jeff Peeler 6-4 - switch requires to python-glanceclient From 5e7d8587e83a7fdc250eded24bbd73e796dc192e Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Wed, 26 Sep 2012 08:16:17 -0700 Subject: [PATCH 02/10] Fix changelog Signed-off-by: Steven Dake --- heat.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/heat.spec b/heat.spec index 28e8fdc..c4c30a5 100644 --- a/heat.spec +++ b/heat.spec @@ -131,7 +131,7 @@ exit 0 %systemd_postun_with_restart heat-api-cloudwatch.service %changelog -* Wed Sep 25 2012 Steven Dake 6-5 +* Wed Sep 26 2012 Steven Dake 6-5 - Merge upstream commit d9f63269f1a0205811cd84487787c8c1291a952b - Resolves: RHBZ#860726 - fix "heat cli prints warning on each operation" From 704c4edbd6b1c0cec06d2f44624da9318ea8b381 Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Wed, 26 Sep 2012 08:29:08 -0700 Subject: [PATCH 03/10] Added patch file missed in previous commit Signed-off-by: Steven Dake --- ...fix-glanceclient-deprecation-warning.patch | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 heat-fix-glanceclient-deprecation-warning.patch diff --git a/heat-fix-glanceclient-deprecation-warning.patch b/heat-fix-glanceclient-deprecation-warning.patch new file mode 100644 index 0000000..03d3f12 --- /dev/null +++ b/heat-fix-glanceclient-deprecation-warning.patch @@ -0,0 +1,53 @@ +From d9f63269f1a0205811cd84487787c8c1291a952b Mon Sep 17 00:00:00 2001 +From: Steven Hardy +Date: Wed, 26 Sep 2012 14:51:08 +0100 +Subject: [PATCH] heat : fix glanceclient deprecation warning + +glanceclient module name changed for F18, so do +a conditional import which should import the correct +version provided one is available (tested on F17/F18) + +Fixes #251 + +Change-Id: I095560f29a408949a7d54795fc000c094b1d63b9 +Signed-off-by: Steven Hardy +--- + heat/tests/functional/util.py | 5 ++++- + heat/utils.py | 5 ++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/heat/tests/functional/util.py b/heat/tests/functional/util.py +index b9f6e06..bb88ec1 100644 +--- a/heat/tests/functional/util.py ++++ b/heat/tests/functional/util.py +@@ -33,7 +33,10 @@ from nose.plugins.attrib import attr + from nose import with_setup + from nose.exc import SkipTest + +-from glance import client as glance_client ++try: ++ from glanceclient import client as glance_client ++except ImportError: ++ from glance import client as glance_client + from novaclient.v1_1 import client as nova_client + import heat + from heat import utils +diff --git a/heat/utils.py b/heat/utils.py +index 528b40d..bc39b6c 100644 +--- a/heat/utils.py ++++ b/heat/utils.py +@@ -21,7 +21,10 @@ import base64 + from lxml import etree + import re + +-from glance import client as glance_client ++try: ++ from glanceclient import client as glance_client ++except ImportError: ++ from glance import client as glance_client + from heat.common import exception + + from heat.openstack.common import log as logging +-- +1.7.11.4 + From 0eb628d79d304e43e6b786dd22e72841f760d830 Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Wed, 26 Sep 2012 10:52:40 -0700 Subject: [PATCH 04/10] Resolves: RHBZ#860105 Signed-off-by: Steven Dake --- ...cific-heat-keystone-setup-binary-to-.patch | 92 +++++++++++++++++++ heat.spec | 7 ++ 2 files changed, 99 insertions(+) create mode 100644 Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch diff --git a/Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch b/Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch new file mode 100644 index 0000000..3c995e1 --- /dev/null +++ b/Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch @@ -0,0 +1,92 @@ +From 5208008db047d8cda231100db817c6f0e1c190a5 Mon Sep 17 00:00:00 2001 +From: Steven Dake +Date: Wed, 26 Sep 2012 10:08:05 -0700 +Subject: [PATCH] Add a Folsom specific heat-keystone-setup binary to bin + +Fixes issue #253 + +Change-Id: Ie223c43c15ac806da393e3d532ef410526ac16ce +Signed-off-by: Steven Dake +--- + bin/heat-keystone-setup | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ + setup.py | 3 ++- + 2 files changed, 58 insertions(+), 1 deletion(-) + create mode 100755 bin/heat-keystone-setup + +diff --git a/bin/heat-keystone-setup b/bin/heat-keystone-setup +new file mode 100755 +index 0000000..0c3d688 +--- /dev/null ++++ b/bin/heat-keystone-setup +@@ -0,0 +1,56 @@ ++#!/bin/bash ++ ++set +e ++ ++function get_id () { ++ echo `"$@" | grep ' id ' | awk '{print $4}'` ++} ++ ++KEYSTONE_CONF=${KEYSTONE_CONF:-/etc/keystone/keystone.conf} ++ ++# Extract some info from Keystone's configuration file ++if [[ -r "$KEYSTONE_CONF" ]]; then ++ CONFIG_SERVICE_TOKEN=$(sed 's/[[:space:]]//g' $KEYSTONE_CONF | grep ^admin_token= | cut -d'=' -f2) ++ CONFIG_ADMIN_PORT=$(sed 's/[[:space:]]//g' $KEYSTONE_CONF | grep ^admin_port= | cut -d'=' -f2) ++fi ++ ++export SERVICE_TOKEN=${SERVICE_TOKEN:-$CONFIG_SERVICE_TOKEN} ++export SERVICE_ENDPOINT=${SERVICE_ENDPOINT:-http://127.0.0.1:${CONFIG_ADMIN_PORT:-35357}/v2.0} ++if [[ -z "$SERVICE_TOKEN" ]]; then ++ echo "No service token found." ++ echo "Set SERVICE_TOKEN manually from keystone.conf admin_token." ++ exit 1 ++fi ++ ++ADMIN_ROLE=$(keystone role-list | grep '\badmin\b' | awk '{ print $2 }') ++SERVICE_TENANT=$(keystone tenant-list | grep service | cut -d\| -f2) ++SERVICE_PASSWORD=${SERVICE_PASSWORD:-$OS_PASSWORD} ++if [[ "$SERVICE_PASSWORD" == "$OS_PASSWORD" ]]; then ++ echo "Using the OS_PASSWORD for the SERVICE_PASSWORD." ++fi ++ ++echo ADMIN_ROLE $ADMIN_ROLE ++echo SERVICE_TENANT $SERVICE_TENANT ++echo SERVICE_PASSWORD $SERVICE_PASSWORD ++echo SERVICE_TOKEN $SERVICE_TOKEN ++ ++ ++# Services ++HEAT_SERVICE=$(get_id \ ++keystone service-create --name=heat \ ++ --type=orchestration \ ++ --description="Heat Service") ++HEAT_USER=$(get_id keystone user-create --name=heat \ ++ --pass="$SERVICE_PASSWORD" \ ++ --tenant_id $SERVICE_TENANT \ ++ --email=heat@example.com) ++echo HEAT_USER $HEAT_USER ++keystone user-role-add --tenant_id $SERVICE_TENANT \ ++ --user_id $HEAT_USER \ ++ --role_id $ADMIN_ROLE ++ ++keystone endpoint-create --region RegionOne --service_id $HEAT_SERVICE \ ++ --publicurl 'http://localhost:8000/v1' \ ++ --adminurl 'http://localhost:8000/v1' \ ++ --internalurl 'http://localhost:8000/v1' ++ +diff --git a/setup.py b/setup.py +index be3ece1..360eb4a 100755 +--- a/setup.py ++++ b/setup.py +@@ -50,5 +50,6 @@ setuptools.setup( + 'bin/heat-metadata', + 'bin/heat-engine', + 'bin/heat-watch', +- 'bin/heat-db-setup'], ++ 'bin/heat-db-setup', ++ 'bin/heat-keystone-setup'], + py_modules=[]) +-- +1.7.11.4 + diff --git a/heat.spec b/heat.spec index c4c30a5..4d5e0a8 100644 --- a/heat.spec +++ b/heat.spec @@ -14,6 +14,7 @@ Source5: heat-api-cloudwatch.service Patch0: switch-to-using-m2crypto.patch Patch1: heat-fix-glanceclient-deprecation-warning.patch +Patch2: Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch BuildArch: noarch BuildRequires: python2-devel @@ -48,6 +49,7 @@ Requires(pre): shadow-utils %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %{__python} setup.py build @@ -131,6 +133,11 @@ exit 0 %systemd_postun_with_restart heat-api-cloudwatch.service %changelog +* Wed Sep 26 2012 Steven Dake 6-6 +- Merge upstream commit 5208008db047d8cda231100db817c6f0e1c190a5 +- Resolves: RHBZ#860105 +- fix "heat-keystone-setup not available in heat rpm" + * Wed Sep 26 2012 Steven Dake 6-5 - Merge upstream commit d9f63269f1a0205811cd84487787c8c1291a952b - Resolves: RHBZ#860726 From e9686296f36e4ef3da73a872f4a33115bf5713a7 Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Wed, 26 Sep 2012 10:53:27 -0700 Subject: [PATCH 05/10] Update release version to version 5 Signed-off-by: Steven Dake --- heat.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/heat.spec b/heat.spec index 4d5e0a8..7b023d8 100644 --- a/heat.spec +++ b/heat.spec @@ -1,7 +1,7 @@ Name: heat Summary: This software provides AWS CloudFormation functionality for OpenStack Essex Version: 6 -Release: 5%{?dist} +Release: 6%{?dist} License: ASL 2.0 Group: System Environment/Base URL: http://heat-api.org From 2220755566d6ff8ef3c14acf17aa8409b6fd33a0 Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Fri, 26 Oct 2012 13:26:57 +0200 Subject: [PATCH 06/10] Rebase to v7 --- .gitignore | 1 + ...cific-heat-keystone-setup-binary-to-.patch | 92 ------------------- heat-api.service | 12 +++ ...fix-glanceclient-deprecation-warning.patch | 53 ----------- heat.spec | 29 ++++-- sources | 3 +- switch-to-using-m2crypto.patch | 17 ++-- 7 files changed, 40 insertions(+), 167 deletions(-) delete mode 100644 Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch create mode 100644 heat-api.service delete mode 100644 heat-fix-glanceclient-deprecation-warning.patch diff --git a/.gitignore b/.gitignore index 577463f..36e3382 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /heat-4.tar.gz /heat-5.tar.gz /heat-6.tar.gz +/heat-7.tar.gz diff --git a/Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch b/Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch deleted file mode 100644 index 3c995e1..0000000 --- a/Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 5208008db047d8cda231100db817c6f0e1c190a5 Mon Sep 17 00:00:00 2001 -From: Steven Dake -Date: Wed, 26 Sep 2012 10:08:05 -0700 -Subject: [PATCH] Add a Folsom specific heat-keystone-setup binary to bin - -Fixes issue #253 - -Change-Id: Ie223c43c15ac806da393e3d532ef410526ac16ce -Signed-off-by: Steven Dake ---- - bin/heat-keystone-setup | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ - setup.py | 3 ++- - 2 files changed, 58 insertions(+), 1 deletion(-) - create mode 100755 bin/heat-keystone-setup - -diff --git a/bin/heat-keystone-setup b/bin/heat-keystone-setup -new file mode 100755 -index 0000000..0c3d688 ---- /dev/null -+++ b/bin/heat-keystone-setup -@@ -0,0 +1,56 @@ -+#!/bin/bash -+ -+set +e -+ -+function get_id () { -+ echo `"$@" | grep ' id ' | awk '{print $4}'` -+} -+ -+KEYSTONE_CONF=${KEYSTONE_CONF:-/etc/keystone/keystone.conf} -+ -+# Extract some info from Keystone's configuration file -+if [[ -r "$KEYSTONE_CONF" ]]; then -+ CONFIG_SERVICE_TOKEN=$(sed 's/[[:space:]]//g' $KEYSTONE_CONF | grep ^admin_token= | cut -d'=' -f2) -+ CONFIG_ADMIN_PORT=$(sed 's/[[:space:]]//g' $KEYSTONE_CONF | grep ^admin_port= | cut -d'=' -f2) -+fi -+ -+export SERVICE_TOKEN=${SERVICE_TOKEN:-$CONFIG_SERVICE_TOKEN} -+export SERVICE_ENDPOINT=${SERVICE_ENDPOINT:-http://127.0.0.1:${CONFIG_ADMIN_PORT:-35357}/v2.0} -+if [[ -z "$SERVICE_TOKEN" ]]; then -+ echo "No service token found." -+ echo "Set SERVICE_TOKEN manually from keystone.conf admin_token." -+ exit 1 -+fi -+ -+ADMIN_ROLE=$(keystone role-list | grep '\badmin\b' | awk '{ print $2 }') -+SERVICE_TENANT=$(keystone tenant-list | grep service | cut -d\| -f2) -+SERVICE_PASSWORD=${SERVICE_PASSWORD:-$OS_PASSWORD} -+if [[ "$SERVICE_PASSWORD" == "$OS_PASSWORD" ]]; then -+ echo "Using the OS_PASSWORD for the SERVICE_PASSWORD." -+fi -+ -+echo ADMIN_ROLE $ADMIN_ROLE -+echo SERVICE_TENANT $SERVICE_TENANT -+echo SERVICE_PASSWORD $SERVICE_PASSWORD -+echo SERVICE_TOKEN $SERVICE_TOKEN -+ -+ -+# Services -+HEAT_SERVICE=$(get_id \ -+keystone service-create --name=heat \ -+ --type=orchestration \ -+ --description="Heat Service") -+HEAT_USER=$(get_id keystone user-create --name=heat \ -+ --pass="$SERVICE_PASSWORD" \ -+ --tenant_id $SERVICE_TENANT \ -+ --email=heat@example.com) -+echo HEAT_USER $HEAT_USER -+keystone user-role-add --tenant_id $SERVICE_TENANT \ -+ --user_id $HEAT_USER \ -+ --role_id $ADMIN_ROLE -+ -+keystone endpoint-create --region RegionOne --service_id $HEAT_SERVICE \ -+ --publicurl 'http://localhost:8000/v1' \ -+ --adminurl 'http://localhost:8000/v1' \ -+ --internalurl 'http://localhost:8000/v1' -+ -diff --git a/setup.py b/setup.py -index be3ece1..360eb4a 100755 ---- a/setup.py -+++ b/setup.py -@@ -50,5 +50,6 @@ setuptools.setup( - 'bin/heat-metadata', - 'bin/heat-engine', - 'bin/heat-watch', -- 'bin/heat-db-setup'], -+ 'bin/heat-db-setup', -+ 'bin/heat-keystone-setup'], - py_modules=[]) --- -1.7.11.4 - diff --git a/heat-api.service b/heat-api.service new file mode 100644 index 0000000..a08a3e2 --- /dev/null +++ b/heat-api.service @@ -0,0 +1,12 @@ +[Unit] +Description=The Heat API provides an OpenStack-native ReST API to the Heat Engine for starting AWS CloudFormation templates on OpenStack. +After=syslog.target network.target heat-engine.service +Requires=syslog.target network.target heat-engine.service + +[Service] +ExecStart=/usr/bin/heat-api +Restart=on-failure +User=openstack-heat + +[Install] +WantedBy=multi-user.target diff --git a/heat-fix-glanceclient-deprecation-warning.patch b/heat-fix-glanceclient-deprecation-warning.patch deleted file mode 100644 index 03d3f12..0000000 --- a/heat-fix-glanceclient-deprecation-warning.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d9f63269f1a0205811cd84487787c8c1291a952b Mon Sep 17 00:00:00 2001 -From: Steven Hardy -Date: Wed, 26 Sep 2012 14:51:08 +0100 -Subject: [PATCH] heat : fix glanceclient deprecation warning - -glanceclient module name changed for F18, so do -a conditional import which should import the correct -version provided one is available (tested on F17/F18) - -Fixes #251 - -Change-Id: I095560f29a408949a7d54795fc000c094b1d63b9 -Signed-off-by: Steven Hardy ---- - heat/tests/functional/util.py | 5 ++++- - heat/utils.py | 5 ++++- - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/heat/tests/functional/util.py b/heat/tests/functional/util.py -index b9f6e06..bb88ec1 100644 ---- a/heat/tests/functional/util.py -+++ b/heat/tests/functional/util.py -@@ -33,7 +33,10 @@ from nose.plugins.attrib import attr - from nose import with_setup - from nose.exc import SkipTest - --from glance import client as glance_client -+try: -+ from glanceclient import client as glance_client -+except ImportError: -+ from glance import client as glance_client - from novaclient.v1_1 import client as nova_client - import heat - from heat import utils -diff --git a/heat/utils.py b/heat/utils.py -index 528b40d..bc39b6c 100644 ---- a/heat/utils.py -+++ b/heat/utils.py -@@ -21,7 +21,10 @@ import base64 - from lxml import etree - import re - --from glance import client as glance_client -+try: -+ from glanceclient import client as glance_client -+except ImportError: -+ from glance import client as glance_client - from heat.common import exception - - from heat.openstack.common import log as logging --- -1.7.11.4 - diff --git a/heat.spec b/heat.spec index 7b023d8..c92a0b9 100644 --- a/heat.spec +++ b/heat.spec @@ -1,20 +1,19 @@ Name: heat Summary: This software provides AWS CloudFormation functionality for OpenStack Essex -Version: 6 -Release: 6%{?dist} +Version: 7 +Release: 1%{?dist} License: ASL 2.0 Group: System Environment/Base URL: http://heat-api.org Source0: https://github.com/downloads/heat-api/heat/heat-%{version}.tar.gz Source1: heat.logrotate -Source2: heat-api-cfn.service -Source3: heat-engine.service -Source4: heat-metadata.service -Source5: heat-api-cloudwatch.service +Source2: heat-api.service +Source3: heat-api-cfn.service +Source4: heat-engine.service +Source5: heat-metadata.service +Source6: heat-api-cloudwatch.service Patch0: switch-to-using-m2crypto.patch -Patch1: heat-fix-glanceclient-deprecation-warning.patch -Patch2: Add-a-Folsom-specific-heat-keystone-setup-binary-to-.patch BuildArch: noarch BuildRequires: python2-devel @@ -48,8 +47,6 @@ Requires(pre): shadow-utils %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 %build %{__python} setup.py build @@ -63,6 +60,7 @@ mkdir -p %{buildroot}/var/log/heat/ install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/heat # install systemd unit files +install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/heat-api.service install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/heat-api-cfn.service install -p -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/heat-engine.service install -p -D -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/heat-metadata.service @@ -74,6 +72,8 @@ mkdir -p %{buildroot}/%{_mandir}/man1/ cp -v docs/man/man1/* %{buildroot}/%{_mandir}/man1/ rm -rf %{buildroot}/var/lib/heat/.dummy +install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api.conf %{buildroot}/%{_sysconfdir}/heat +install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-paste.ini %{buildroot}/%{_sysconfdir}/heat install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-cfn.conf %{buildroot}/%{_sysconfdir}/heat install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-cfn-paste.ini %{buildroot}/%{_sysconfdir}/heat install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-cloudwatch.conf %{buildroot}/%{_sysconfdir}/heat @@ -98,6 +98,8 @@ Heat provides AWS CloudFormation and CloudWatch functionality for OpenStack. %dir %{_sysconfdir}/heat %config(noreplace) %{_sysconfdir}/logrotate.d/heat %config(noreplace) %{_sysconfdir}/bash_completion.d/heat +%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api.conf +%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-paste.ini %config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-cfn.conf %config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-cfn-paste.ini %config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-cloudwatch.conf @@ -115,24 +117,31 @@ useradd -u 187 -r -g openstack-heat -d %{_localstatedir}/lib/heat -s /sbin/nolog exit 0 %post +%systemd_post heat-api.service %systemd_post heat-api-cfn.service %systemd_post heat-engine.service %systemd_post heat-metadata.service %systemd_post heat-api-cloudwatch.service %preun +%systemd_preun heat-api.service %systemd_preun heat-api-cfn.service %systemd_preun heat-engine.service %systemd_preun heat-engine.service %systemd_preun heat-api-cloudwatch.service %postun +%systemd_postun_with_restart heat-api.service %systemd_postun_with_restart heat-api-cfn.service %systemd_postun_with_restart heat-engine-cfn.service %systemd_postun_with_restart heat-metadata.service %systemd_postun_with_restart heat-api-cloudwatch.service %changelog +* Fri Oct 26 2012 Zane Bitter 7-1 +- rebase to v7 +- add heat-api daemon (OpenStack-native API) + * Wed Sep 26 2012 Steven Dake 6-6 - Merge upstream commit 5208008db047d8cda231100db817c6f0e1c190a5 - Resolves: RHBZ#860105 diff --git a/sources b/sources index 9dcb85f..422d448 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -26223425612fb858141ee90eded9d793 heat-5.tar.gz -25de983ccef24da45c02dbc1a829a9c5 heat-6.tar.gz +85337c5b5c7e66561c8f1faf404310d6 heat-7.tar.gz diff --git a/switch-to-using-m2crypto.patch b/switch-to-using-m2crypto.patch index b83d61a..fa55d5e 100644 --- a/switch-to-using-m2crypto.patch +++ b/switch-to-using-m2crypto.patch @@ -1,4 +1,4 @@ -From 05ce67d3842b09943b21e7e72eff1849bc1b32b7 Mon Sep 17 00:00:00 2001 +From 38c97efe5c3e8e2d732f82dcf83cc74ea55dbe4e Mon Sep 17 00:00:00 2001 From: Ian Main Date: Fri, 27 Jul 2012 08:43:10 -0700 Subject: [PATCH] Switch to using M2Crypto @@ -9,12 +9,12 @@ and decryption of user authentication information. Change-Id: Ib40492d4d40a92bf0167c249b15458c89af4716e Signed-off-by: Ian Main --- - heat/engine/auth.py | 22 ++++++++++++---------- - tools/pip-requires | 2 +- + heat/engine/auth.py | 22 ++++++++++++---------- + tools/pip-requires | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/heat/engine/auth.py b/heat/engine/auth.py -index a4be7ef..5d16f84 100644 +index 1b1a11c..a90c6b7 100644 --- a/heat/engine/auth.py +++ b/heat/engine/auth.py @@ -24,8 +24,8 @@ from novaclient.exceptions import AuthorizationFailure @@ -28,7 +28,7 @@ index a4be7ef..5d16f84 100644 from heat.openstack.common import cfg from heat.openstack.common import importutils -@@ -45,20 +45,22 @@ logger = logging.getLogger('heat.engine.auth') +@@ -45,17 +45,19 @@ logger = logging.getLogger('heat.engine.auth') def encrypt(auth_info): if auth_info is None: return None @@ -56,11 +56,8 @@ index a4be7ef..5d16f84 100644 + key=cfg.CONF.auth_encryption_key, iv=iv, + op=0) # 0 is decode + return cipher.update(auth[16:]) + cipher.final() - - - def authenticate(con, service_type='orchestration', service_name='heat'): diff --git a/tools/pip-requires b/tools/pip-requires -index 1fcfdf3..4efd475 100644 +index 092419d..085567e 100644 --- a/tools/pip-requires +++ b/tools/pip-requires @@ -9,7 +9,7 @@ @@ -73,5 +70,5 @@ index 1fcfdf3..4efd475 100644 greenlet httplib2 -- -1.7.10.4 +1.7.11.7 From 913d58db0e258d7f8a595d88b1fa6fb6274652ae Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 13 Feb 2013 19:03:00 -0600 Subject: [PATCH 07/10] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- heat.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/heat.spec b/heat.spec index c92a0b9..dbf5956 100644 --- a/heat.spec +++ b/heat.spec @@ -1,7 +1,7 @@ Name: heat Summary: This software provides AWS CloudFormation functionality for OpenStack Essex Version: 7 -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 Group: System Environment/Base URL: http://heat-api.org @@ -138,6 +138,9 @@ exit 0 %systemd_postun_with_restart heat-api-cloudwatch.service %changelog +* Thu Feb 14 2013 Fedora Release Engineering - 7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Fri Oct 26 2012 Zane Bitter 7-1 - rebase to v7 - add heat-api daemon (OpenStack-native API) From d16993b6d40702c9cc56c08fcc19343cf1f1ecd9 Mon Sep 17 00:00:00 2001 From: Jeff Peeler Date: Tue, 28 May 2013 23:16:41 -0400 Subject: [PATCH 08/10] Fix requires and add group openstack-heat transition changed require from python-paste to python-paste-deploy (rhbz#963207) changed UID/GID back again to heat instead of openstack-heat added group/user rename for old installs changed systemd scripts to match heat user Resolves: rhbz#963207 --- heat-api-cfn.service | 2 +- heat-api-cloudwatch.service | 2 +- heat-api.service | 2 +- heat-engine.service | 2 +- heat-metadata.service | 2 +- heat.spec | 49 +++++++++++++++++++++++-------------- 6 files changed, 36 insertions(+), 23 deletions(-) diff --git a/heat-api-cfn.service b/heat-api-cfn.service index e00f8f2..f46cd28 100644 --- a/heat-api-cfn.service +++ b/heat-api-cfn.service @@ -6,7 +6,7 @@ Requires=syslog.target network.target heat-engine.service [Service] ExecStart=/usr/bin/heat-api-cfn Restart=on-failure -User=openstack-heat +User=heat [Install] WantedBy=multi-user.target diff --git a/heat-api-cloudwatch.service b/heat-api-cloudwatch.service index bfc0877..840f1a6 100644 --- a/heat-api-cloudwatch.service +++ b/heat-api-cloudwatch.service @@ -6,7 +6,7 @@ Requires=syslog.target network.target heat-engine.service [Service] ExecStart=/usr/bin/heat-api-cloudwatch Restart=on-failure -User=openstack-heat +User=heat [Install] WantedBy=multi-user.target diff --git a/heat-api.service b/heat-api.service index a08a3e2..8fb5fdb 100644 --- a/heat-api.service +++ b/heat-api.service @@ -6,7 +6,7 @@ Requires=syslog.target network.target heat-engine.service [Service] ExecStart=/usr/bin/heat-api Restart=on-failure -User=openstack-heat +User=heat [Install] WantedBy=multi-user.target diff --git a/heat-engine.service b/heat-engine.service index a5e2359..de0d986 100644 --- a/heat-engine.service +++ b/heat-engine.service @@ -6,7 +6,7 @@ Requires=syslog.target network.target qpidd.service mysqld.service openstack-key [Service] ExecStart=/usr/bin/heat-engine Restart=on-failure -User=openstack-heat +User=heat [Install] WantedBy=multi-user.target diff --git a/heat-metadata.service b/heat-metadata.service index bc4efb3..8c7cbb1 100644 --- a/heat-metadata.service +++ b/heat-metadata.service @@ -6,7 +6,7 @@ Requires=syslog.target network.target heat-engine.service [Service] ExecStart=/usr/bin/heat-metadata Restart=on-failure -User=openstack-heat +User=heat [Install] WantedBy=multi-user.target diff --git a/heat.spec b/heat.spec index dbf5956..6dedd8b 100644 --- a/heat.spec +++ b/heat.spec @@ -1,7 +1,7 @@ Name: heat Summary: This software provides AWS CloudFormation functionality for OpenStack Essex Version: 7 -Release: 2%{?dist} +Release: 3%{?dist} License: ASL 2.0 Group: System Environment/Base URL: http://heat-api.org @@ -31,7 +31,7 @@ Requires: python-lxml Requires: python-memcached Requires: python-migrate Requires: python-novaclient -Requires: python-paste +Requires: python-paste-deploy Requires: python-qpid Requires: python-routes Requires: pysendfile @@ -92,28 +92,35 @@ Heat provides AWS CloudFormation and CloudWatch functionality for OpenStack. %{_mandir}/man1/*.gz %{_bindir}/* %{python_sitelib}/heat* -%dir %attr(0755,openstack-heat,root) %{_localstatedir}/log/heat -%dir %attr(0755,openstack-heat,root) %{_localstatedir}/lib/heat +%dir %attr(0755,heat,root) %{_localstatedir}/log/heat +%dir %attr(0755,heat,root) %{_localstatedir}/lib/heat %{_unitdir}/heat*.service %dir %{_sysconfdir}/heat %config(noreplace) %{_sysconfdir}/logrotate.d/heat %config(noreplace) %{_sysconfdir}/bash_completion.d/heat -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api.conf -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-paste.ini -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-cfn.conf -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-cfn-paste.ini -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-cloudwatch.conf -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-api-cloudwatch-paste.ini -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-engine.conf -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-metadata.conf -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/heat-metadata-paste.ini -%config(noreplace) %attr(-,root,openstack-heat) %{_sysconfdir}/heat/boto.cfg +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api.conf +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-paste.ini +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-cfn.conf +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-cfn-paste.ini +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-cloudwatch.conf +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-cloudwatch-paste.ini +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-engine.conf +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-metadata.conf +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-metadata-paste.ini +%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/boto.cfg %pre -getent group openstack-heat >/dev/null || groupadd -r openstack-heat --gid 187 -getent passwd openstack-heat >/dev/null || \ -useradd -u 187 -r -g openstack-heat -d %{_localstatedir}/lib/heat -s /sbin/nologin \ - -c "OpenStack Heat Daemon" openstack-heat +# handle rename from old installs +getent passwd 187 | cut -f1 -d: | grep -qx "openstack-heat" +if [ $? -eq 0 ]; then + usermod -l heat openstack-heat + groupmod -n heat openstack-heat +fi + +getent group heat >/dev/null || groupadd -r heat --gid 187 +getent passwd heat >/dev/null || \ +useradd -u 187 -r -g heat -d %{_localstatedir}/lib/heat -s /sbin/nologin \ + -c "OpenStack Heat Daemon" heat exit 0 %post @@ -138,6 +145,12 @@ exit 0 %systemd_postun_with_restart heat-api-cloudwatch.service %changelog +* Wed May 29 2013 Jeff Peeler 7-3 +- changed require from python-paste to python-paste-deploy (rhbz#963207) +- changed UID/GID back again to heat instead of openstack-heat (rhbz#920348) + added group/user rename for old installs +- changed systemd scripts to match heat user + * Thu Feb 14 2013 Fedora Release Engineering - 7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From f38de72634002808fa4a6c2506f56f4d9f8e3b6f Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 12:36:27 -0500 Subject: [PATCH 09/10] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- heat.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/heat.spec b/heat.spec index 6dedd8b..5a9c566 100644 --- a/heat.spec +++ b/heat.spec @@ -1,7 +1,7 @@ Name: heat Summary: This software provides AWS CloudFormation functionality for OpenStack Essex Version: 7 -Release: 3%{?dist} +Release: 4%{?dist} License: ASL 2.0 Group: System Environment/Base URL: http://heat-api.org @@ -145,6 +145,9 @@ exit 0 %systemd_postun_with_restart heat-api-cloudwatch.service %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Wed May 29 2013 Jeff Peeler 7-3 - changed require from python-paste to python-paste-deploy (rhbz#963207) - changed UID/GID back again to heat instead of openstack-heat (rhbz#920348) From 9e39f065736d5a31110760f2e41f06bdc01b1226 Mon Sep 17 00:00:00 2001 From: Till Maas Date: Wed, 4 Jun 2014 19:46:39 +0200 Subject: [PATCH 10/10] 2014-06-04 - This package was already retired in pkgdb/blocked in koji, but no dead.package file existed. The original retirement reason is unclear. --- .gitignore | 4 - dead.package | 1 + heat-api-cfn.service | 12 -- heat-api-cloudwatch.service | 12 -- heat-api.service | 12 -- heat-engine.service | 12 -- heat-metadata.service | 12 -- heat.logrotate | 7 - heat.spec | 237 --------------------------------- sources | 1 - switch-to-using-m2crypto.patch | 74 ---------- 11 files changed, 1 insertion(+), 383 deletions(-) delete mode 100644 .gitignore create mode 100644 dead.package delete mode 100644 heat-api-cfn.service delete mode 100644 heat-api-cloudwatch.service delete mode 100644 heat-api.service delete mode 100644 heat-engine.service delete mode 100644 heat-metadata.service delete mode 100644 heat.logrotate delete mode 100644 heat.spec delete mode 100644 sources delete mode 100644 switch-to-using-m2crypto.patch diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 36e3382..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/heat-4.tar.gz -/heat-5.tar.gz -/heat-6.tar.gz -/heat-7.tar.gz diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..5784d07 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +2014-06-04 - This package was already retired in pkgdb/blocked in koji, but no dead.package file existed. The original retirement reason is unclear. diff --git a/heat-api-cfn.service b/heat-api-cfn.service deleted file mode 100644 index f46cd28..0000000 --- a/heat-api-cfn.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=The Heat API provides an AWS CloudFormation-compatible API to the Heat Engine for starting AWS CloudFormation templates on OpenStack. -After=syslog.target network.target heat-engine.service -Requires=syslog.target network.target heat-engine.service - -[Service] -ExecStart=/usr/bin/heat-api-cfn -Restart=on-failure -User=heat - -[Install] -WantedBy=multi-user.target diff --git a/heat-api-cloudwatch.service b/heat-api-cloudwatch.service deleted file mode 100644 index 840f1a6..0000000 --- a/heat-api-cloudwatch.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=The Heat CloudWatch API provides an AWS CloudWatch-compatible API to the Heat Engine -After=syslog.target network.target heat-engine.service -Requires=syslog.target network.target heat-engine.service - -[Service] -ExecStart=/usr/bin/heat-api-cloudwatch -Restart=on-failure -User=heat - -[Install] -WantedBy=multi-user.target diff --git a/heat-api.service b/heat-api.service deleted file mode 100644 index 8fb5fdb..0000000 --- a/heat-api.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=The Heat API provides an OpenStack-native ReST API to the Heat Engine for starting AWS CloudFormation templates on OpenStack. -After=syslog.target network.target heat-engine.service -Requires=syslog.target network.target heat-engine.service - -[Service] -ExecStart=/usr/bin/heat-api -Restart=on-failure -User=heat - -[Install] -WantedBy=multi-user.target diff --git a/heat-engine.service b/heat-engine.service deleted file mode 100644 index de0d986..0000000 --- a/heat-engine.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=The Heat Engine provides an OpenStack API for starting AWS CloudFormation templates on OpenStack. -After=syslog.target network.target qpidd.service mysqld.service openstack-keystone.service tgtd.service openstack-glance-api.service openstack-glance-registry.service openstack-nova-api.service openstack-nova-objectstore.service openstack-nova.compute.service openstack-nova-network.service openstack-nova-volume.service openstack-nova-scheduler.service openstack-nova-cert.service -Requires=syslog.target network.target qpidd.service mysqld.service openstack-keystone.service tgtd.service openstack-glance-api.service openstack-glance-registry.service openstack-nova-api.service openstack-nova-objectstore.service openstack-nova-compute.service openstack-nova-network.service openstack-nova-volume.service openstack-nova-scheduler.service openstack-nova-cert.service - -[Service] -ExecStart=/usr/bin/heat-engine -Restart=on-failure -User=heat - -[Install] -WantedBy=multi-user.target diff --git a/heat-metadata.service b/heat-metadata.service deleted file mode 100644 index 8c7cbb1..0000000 --- a/heat-metadata.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=The Heat Metadata server provides an OpenStack API for Nova instances to communicate metadata to and from the Heat Engine. -After=syslog.target network.target heat-engine.service -Requires=syslog.target network.target heat-engine.service - -[Service] -ExecStart=/usr/bin/heat-metadata -Restart=on-failure -User=heat - -[Install] -WantedBy=multi-user.target diff --git a/heat.logrotate b/heat.logrotate deleted file mode 100644 index 9ba4cf6..0000000 --- a/heat.logrotate +++ /dev/null @@ -1,7 +0,0 @@ -/var/log/heat/*.log { - weekly - rotate 4 - missingok - compress - minsize 100k -} diff --git a/heat.spec b/heat.spec deleted file mode 100644 index 5a9c566..0000000 --- a/heat.spec +++ /dev/null @@ -1,237 +0,0 @@ -Name: heat -Summary: This software provides AWS CloudFormation functionality for OpenStack Essex -Version: 7 -Release: 4%{?dist} -License: ASL 2.0 -Group: System Environment/Base -URL: http://heat-api.org -Source0: https://github.com/downloads/heat-api/heat/heat-%{version}.tar.gz -Source1: heat.logrotate -Source2: heat-api.service -Source3: heat-api-cfn.service -Source4: heat-engine.service -Source5: heat-metadata.service -Source6: heat-api-cloudwatch.service - -Patch0: switch-to-using-m2crypto.patch - -BuildArch: noarch -BuildRequires: python2-devel -BuildRequires: python-setuptools -BuildRequires: systemd-units - -Requires: python-eventlet -Requires: python-glanceclient -Requires: python-greenlet -Requires: python-httplib2 -Requires: python-iso8601 -Requires: python-keystoneclient -Requires: python-kombu -Requires: python-lxml -Requires: python-memcached -Requires: python-migrate -Requires: python-novaclient -Requires: python-paste-deploy -Requires: python-qpid -Requires: python-routes -Requires: pysendfile -Requires: python-sqlalchemy -Requires: python-webob -Requires: m2crypto - -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units -Requires(pre): shadow-utils - -%prep -%setup -q -%patch0 -p1 - -%build -%{__python} setup.py build - -%install -%{__python} setup.py install -O1 --skip-build --root=%{buildroot} -sed -i -e '/^#!/,1 d' %{buildroot}/%{python_sitelib}/heat/db/sqlalchemy/manage.py -sed -i -e '/^#!/,1 d' %{buildroot}/%{python_sitelib}/heat/db/sqlalchemy/migrate_repo/manage.py -sed -i -e '/^#!/,1 d' %{buildroot}/%{python_sitelib}/heat/testing/runner.py -mkdir -p %{buildroot}/var/log/heat/ -install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/heat - -# install systemd unit files -install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/heat-api.service -install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/heat-api-cfn.service -install -p -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/heat-engine.service -install -p -D -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/heat-metadata.service -install -p -D -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/heat-api-cloudwatch.service - -mkdir -p %{buildroot}/var/lib/heat/ -mkdir -p %{buildroot}/etc/heat/ -mkdir -p %{buildroot}/%{_mandir}/man1/ -cp -v docs/man/man1/* %{buildroot}/%{_mandir}/man1/ -rm -rf %{buildroot}/var/lib/heat/.dummy - -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api.conf %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-paste.ini %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-cfn.conf %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-cfn-paste.ini %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-cloudwatch.conf %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-api-cloudwatch-paste.ini %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-engine.conf %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-metadata.conf %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/heat/heat-metadata-paste.ini %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/boto.cfg %{buildroot}/%{_sysconfdir}/heat -install -p -D -m 644 %{_builddir}/%{name}-%{version}/etc/bash_completion.d/heat %{buildroot}/%{_sysconfdir}/bash_completion.d/heat - -%description -Heat provides AWS CloudFormation and CloudWatch functionality for OpenStack. - -%files -%doc README.rst LICENSE -%{_mandir}/man1/*.gz -%{_bindir}/* -%{python_sitelib}/heat* -%dir %attr(0755,heat,root) %{_localstatedir}/log/heat -%dir %attr(0755,heat,root) %{_localstatedir}/lib/heat -%{_unitdir}/heat*.service -%dir %{_sysconfdir}/heat -%config(noreplace) %{_sysconfdir}/logrotate.d/heat -%config(noreplace) %{_sysconfdir}/bash_completion.d/heat -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api.conf -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-paste.ini -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-cfn.conf -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-cfn-paste.ini -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-cloudwatch.conf -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-api-cloudwatch-paste.ini -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-engine.conf -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-metadata.conf -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/heat-metadata-paste.ini -%config(noreplace) %attr(-,root,heat) %{_sysconfdir}/heat/boto.cfg - -%pre -# handle rename from old installs -getent passwd 187 | cut -f1 -d: | grep -qx "openstack-heat" -if [ $? -eq 0 ]; then - usermod -l heat openstack-heat - groupmod -n heat openstack-heat -fi - -getent group heat >/dev/null || groupadd -r heat --gid 187 -getent passwd heat >/dev/null || \ -useradd -u 187 -r -g heat -d %{_localstatedir}/lib/heat -s /sbin/nologin \ - -c "OpenStack Heat Daemon" heat -exit 0 - -%post -%systemd_post heat-api.service -%systemd_post heat-api-cfn.service -%systemd_post heat-engine.service -%systemd_post heat-metadata.service -%systemd_post heat-api-cloudwatch.service - -%preun -%systemd_preun heat-api.service -%systemd_preun heat-api-cfn.service -%systemd_preun heat-engine.service -%systemd_preun heat-engine.service -%systemd_preun heat-api-cloudwatch.service - -%postun -%systemd_postun_with_restart heat-api.service -%systemd_postun_with_restart heat-api-cfn.service -%systemd_postun_with_restart heat-engine-cfn.service -%systemd_postun_with_restart heat-metadata.service -%systemd_postun_with_restart heat-api-cloudwatch.service - -%changelog -* Sat Aug 03 2013 Fedora Release Engineering - 7-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed May 29 2013 Jeff Peeler 7-3 -- changed require from python-paste to python-paste-deploy (rhbz#963207) -- changed UID/GID back again to heat instead of openstack-heat (rhbz#920348) - added group/user rename for old installs -- changed systemd scripts to match heat user - -* Thu Feb 14 2013 Fedora Release Engineering - 7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Fri Oct 26 2012 Zane Bitter 7-1 -- rebase to v7 -- add heat-api daemon (OpenStack-native API) - -* Wed Sep 26 2012 Steven Dake 6-6 -- Merge upstream commit 5208008db047d8cda231100db817c6f0e1c190a5 -- Resolves: RHBZ#860105 -- fix "heat-keystone-setup not available in heat rpm" - -* Wed Sep 26 2012 Steven Dake 6-5 -- Merge upstream commit d9f63269f1a0205811cd84487787c8c1291a952b -- Resolves: RHBZ#860726 -- fix "heat cli prints warning on each operation" - -* Wed Sep 26 2012 Jeff Peeler 6-4 -- switch requires to python-glanceclient - -* Tue Sep 25 2012 Jeff Peeler 6-3 -- change systemd scripts to use openstack-heat user - -* Fri Sep 21 2012 Jeff Peeler 6-2 -- update m2crypto patch (Fedora) -- fix user/group install permissions - -* Tue Sep 18 2012 Steven Dake 6-1 -- update to new v6 binary names in heat - -* Tue Aug 21 2012 Jeff Peeler 5-5 -- updated systemd scriptlets - -* Tue Aug 7 2012 Jeff Peeler 5-4 -- make UID/GID more specific as openstack-heat - -* Tue Aug 7 2012 Jeff Peeler 5-3 -- assign specific UID/GID for use with Heat account (845078) - -* Wed Aug 2 2012 Jeff Peeler 5-2 -- create heat user and change file permissions -- set systemd scripts to run as heat user - -* Fri Jul 27 2012 Ian Main - 5-1 -- added m2crypto patch. -- bumped version for new release. -- added boto.cfg to sysconfigdir - -* Tue Jul 24 2012 Jeff Peeler - 4-5 -- added LICENSE to docs -- added dist tag -- added heat directory to files section -- removed unnecessary defattr - -* Tue Jul 24 2012 Jeff Peeler - 4-4 -- remove pycrypto requires - -* Fri Jul 20 2012 Jeff Peeler - 4-3 -- change python-devel to python2-devel - -* Wed Jul 11 2012 Jeff Peeler - 4-2 -- add necessary requires -- removed shebang line for scripts not requiring executable permissions -- add logrotate, removes all rpmlint warnings except for python-httplib2 -- remove buildroot tag since everything since F10 has a default buildroot -- remove clean section as it is not required as of F13 -- add systemd unit files -- change source URL to download location which doesn't require a SHA - -* Fri Jun 8 2012 Steven Dake - 4-1 -- removed jeos from packaging since that comes from another repository -- compressed all separate packages into one package -- removed setup options which were producing incorrect results -- replaced python with {__python} -- added a br on python-devel -- added a --skip-build to the install step -- added percent-dir for directories -- fixed most rpmlint warnings/errors - -* Mon Apr 16 2012 Chris Alfonso - 3-1 -- initial openstack package log diff --git a/sources b/sources deleted file mode 100644 index 422d448..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -85337c5b5c7e66561c8f1faf404310d6 heat-7.tar.gz diff --git a/switch-to-using-m2crypto.patch b/switch-to-using-m2crypto.patch deleted file mode 100644 index fa55d5e..0000000 --- a/switch-to-using-m2crypto.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 38c97efe5c3e8e2d732f82dcf83cc74ea55dbe4e Mon Sep 17 00:00:00 2001 -From: Ian Main -Date: Fri, 27 Jul 2012 08:43:10 -0700 -Subject: [PATCH] Switch to using M2Crypto - -This patch uses M2Crypto instead of PyCrypto to perform encryption -and decryption of user authentication information. - -Change-Id: Ib40492d4d40a92bf0167c249b15458c89af4716e -Signed-off-by: Ian Main ---- - heat/engine/auth.py | 22 ++++++++++++---------- - tools/pip-requires | 2 +- - 2 files changed, 13 insertions(+), 11 deletions(-) - -diff --git a/heat/engine/auth.py b/heat/engine/auth.py -index 1b1a11c..a90c6b7 100644 ---- a/heat/engine/auth.py -+++ b/heat/engine/auth.py -@@ -24,8 +24,8 @@ from novaclient.exceptions import AuthorizationFailure - from heat.common import context - from heat.openstack.common import log as logging - --from Crypto.Cipher import AES --from Crypto import Random -+import M2Crypto -+import os - - from heat.openstack.common import cfg - from heat.openstack.common import importutils -@@ -45,17 +45,19 @@ logger = logging.getLogger('heat.engine.auth') - def encrypt(auth_info): - if auth_info is None: - return None -- iv = Random.new().read(AES.block_size) -- cipher = AES.new(cfg.CONF.auth_encryption_key[:32], AES.MODE_CFB, iv) -- res = base64.b64encode(iv + cipher.encrypt(auth_info)) -- return res -+ iv = os.urandom(16) -+ cipher = M2Crypto.EVP.Cipher(alg='aes_128_cbc', -+ key=cfg.CONF.auth_encryption_key, iv=iv, -+ op=1) # 1 is encode -+ return base64.b64encode(iv + cipher.update(auth_info) + cipher.final()) - - - def decrypt(auth_info): - if auth_info is None: - return None - auth = base64.b64decode(auth_info) -- iv = auth[:AES.block_size] -- cipher = AES.new(cfg.CONF.auth_encryption_key[:32], AES.MODE_CFB, iv) -- res = cipher.decrypt(auth[AES.block_size:]) -- return res -+ iv = auth[:16] -+ cipher = M2Crypto.EVP.Cipher(alg='aes_128_cbc', -+ key=cfg.CONF.auth_encryption_key, iv=iv, -+ op=0) # 0 is decode -+ return cipher.update(auth[16:]) + cipher.final() -diff --git a/tools/pip-requires b/tools/pip-requires -index 092419d..085567e 100644 ---- a/tools/pip-requires -+++ b/tools/pip-requires -@@ -9,7 +9,7 @@ - # installed using pip, therefore you will need to install the - # libxml2-dev(el) and libxslt-dev(el) packages. - --PyCrypto -+M2Crypto - eventlet - greenlet - httplib2 --- -1.7.11.7 -