!1 Init OpenStack Heat with 13.1.0

From: @huangtianhua
Reviewed-by: @xiyuanwang
Signed-off-by: @xiyuanwang
This commit is contained in:
openeuler-ci-bot 2021-11-09 11:11:01 +00:00 committed by Gitee
commit 0d523de32b
8 changed files with 567 additions and 0 deletions

31
heat-dist.conf Normal file
View File

@ -0,0 +1,31 @@
[DEFAULT]
sql_connection = mysql://heat:heat@localhost/heat
log_dir = /var/log/heat
use_stderr = False
[keystone_authtoken]
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
[ssl]
[database]
backend = heat.db.sqlalchemy.api
[paste_deploy]
api_paste_config = /usr/share/heat/api-paste-dist.ini
[rpc_notifier2]
[ec2authtoken]
[heat_api]
[heat_api_cfn]
[auth_password]
[matchmaker_ring]
[matchmaker_redis]

7
heat.logrotate Normal file
View File

@ -0,0 +1,7 @@
/var/log/heat/*.log {
rotate 14
size 10M
missingok
compress
copytruncate
}

Binary file not shown.

View File

@ -0,0 +1,12 @@
[Unit]
Description=Combined Openstack Heat Engine/API Service
After=syslog.target network.target
[Service]
Type=simple
User=heat
ExecStart=/usr/bin/heat-all --config-file /usr/share/heat/heat-dist.conf --config-file /etc/heat/heat.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,16 @@
[Unit]
Description=OpenStack Heat CFN API
After=syslog.target network.target
After=mariadb.service postgresql.service rabbitmq-server.service
[Service]
Type=notify
User=heat
Group=heat
WorkingDirectory=/var/lib/heat
PrivateTmp=yes
ExecStart=/usr/bin/heat-api-cfn
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,17 @@
[Unit]
Description=OpenStack Heat API
After=syslog.target network.target
After=mariadb.service postgresql.service rabbitmq-server.service
[Service]
Type=notify
User=heat
Group=heat
WorkingDirectory=/var/lib/heat
PrivateTmp=yes
ExecStartPre=-/usr/bin/heat-manage db_sync
ExecStart=/usr/bin/heat-api
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,16 @@
[Unit]
Description=OpenStack Heat Engine
After=syslog.target network.target
After=mariadb.service postgresql.service rabbitmq-server.service
[Service]
Type=notify
User=heat
Group=heat
WorkingDirectory=/var/lib/heat
PrivateTmp=yes
ExecStart=/usr/bin/heat-engine
Restart=on-failure
[Install]
WantedBy=multi-user.target

468
openstack-heat.spec Normal file
View File

@ -0,0 +1,468 @@
%global with_doc 1
%global service heat
%global common_desc \
Heat is a service to orchestrate composite cloud applications using a \
declarative template format through an OpenStack-native REST API.
Name: openstack-%{service}
Summary: OpenStack Orchestration (%{service})
Version: 13.1.0
Release: 1
License: ASL 2.0
URL: http://www.openstack.org
Source0: https://tarballs.openstack.org/%{service}/%{name}-%{version}.tar.gz
Source1: %{service}.logrotate
Source2: openstack-%{service}-api.service
Source3: openstack-%{service}-api-cfn.service
Source4: openstack-%{service}-engine.service
Source6: openstack-%{service}-all.service
Source20: %{service}-dist.conf
BuildArch: noarch
BuildRequires: git
BuildRequires: openstack-macros
BuildRequires: python3-devel
BuildRequires: python3-stevedore >= 1.20.0
BuildRequires: python3-oslo-cache
BuildRequires: python3-oslo-context
BuildRequires: python3-oslo-middleware
BuildRequires: python3-oslo-policy
BuildRequires: python3-oslo-messaging
BuildRequires: python3-setuptools
BuildRequires: python3-oslo-i18n
BuildRequires: python3-oslo-db
BuildRequires: python3-oslo-upgradecheck
BuildRequires: python3-oslo-utils
BuildRequires: python3-oslo-log
BuildRequires: python3-oslo-versionedobjects
BuildRequires: python3-eventlet
BuildRequires: python3-kombu
BuildRequires: python3-netaddr
BuildRequires: python3-neutron-lib
BuildRequires: python3-osprofiler
BuildRequires: python3-six
BuildRequires: python3-paramiko
BuildRequires: python3-yaql
# These are required to build due to the requirements check added
BuildRequires: python3-routes
BuildRequires: python3-sqlalchemy
BuildRequires: python3-pbr
BuildRequires: python3-cryptography
# These are required to build the config file
BuildRequires: python3-oslo-config
BuildRequires: python3-keystoneauth1
BuildRequires: python3-keystoneclient
BuildRequires: python3-tenacity >= 4.4.0
# Required to compile translation files
BuildRequires: python3-babel
BuildRequires: python3-PyYAML
BuildRequires: python3-lxml
BuildRequires: python3-migrate
BuildRequires: python3-paste-deploy
BuildRequires: python3-redis
BuildRequires: python3-webob
BuildRequires: systemd
%if 0%{?with_doc}
BuildRequires: python3-openstackdocstheme
BuildRequires: python3-sphinx
BuildRequires: python3-sphinxcontrib-apidoc
BuildRequires: python3-cinderclient
BuildRequires: python3-novaclient
BuildRequires: python3-saharaclient
BuildRequires: python3-neutronclient
BuildRequires: python3-swiftclient
BuildRequires: python3-heatclient
BuildRequires: python3-glanceclient
BuildRequires: python3-troveclient
BuildRequires: python3-aodhclient
BuildRequires: python3-barbicanclient
BuildRequires: python3-designateclient
BuildRequires: python3-magnumclient
BuildRequires: python3-monascaclient
BuildRequires: python3-manilaclient
BuildRequires: python3-zaqarclient
BuildRequires: python3-croniter
BuildRequires: python3-gabbi
BuildRequires: python3-testscenarios
BuildRequires: python3-tempest
BuildRequires: python3-gabbi
# NOTE(ykarel) zunclient are not packaged yet.
#BuildRequires: python3-zunclient
%endif
Requires: %{name}-common = %{version}-%{release}
Requires: %{name}-engine = %{version}-%{release}
Requires: %{name}-api = %{version}-%{release}
Requires: %{name}-api-cfn = %{version}-%{release}
%package -n python3-%{service}-tests
%{?python_provide:%python_provide python3-%{service}-tests}
Summary: Heat tests
Requires: %{name}-common = %{version}-%{release}
Requires: python3-mox3
Requires: python3-oslotest
Requires: python3-testresources
Requires: python3-oslotest
Requires: python3-oslo-log
Requires: python3-oslo-utils
Requires: python3-heatclient
Requires: python3-cinderclient
Requires: python3-zaqarclient
Requires: python3-keystoneclient
Requires: python3-swiftclient
Requires: python3-paramiko
Requires: python3-kombu
Requires: python3-oslo-config
Requires: python3-oslo-concurrency
Requires: python3-requests
Requires: python3-eventlet
Requires: python3-six
Requires: python3-gabbi
Requires: python3-PyYAML
%description -n python3-%{service}-tests
%{common_desc}
This package contains the Heat test files.
%prep
%autosetup -n openstack-%{service}-%{version} -S git
# Remove the requirements file so that pbr hooks don't add it
# to distutils requires_dist config
%py_req_cleanup
# Remove tests in contrib
find contrib -name tests -type d | xargs rm -r
%build
%{py3_build}
# Generate i18n files
%{__python3} setup.py compile_catalog -d build/lib/%{service}/locale
# Generate sample config and add the current directory to PYTHONPATH so
# oslo-config-generator doesn't skip heat's entry points.
PYTHONPATH=. oslo-config-generator-3 --config-file=config-generator.conf
%install
%{py3_install}
sed -i -e '/^#!/,1 d' %{buildroot}/%{python3_sitelib}/%{service}/db/sqlalchemy/migrate_repo/manage.py
mkdir -p %{buildroot}/%{_localstatedir}/log/%{service}/
mkdir -p %{buildroot}/%{_localstatedir}/run/%{service}/
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service}
# install systemd unit files
install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/openstack-%{service}-api.service
install -p -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/openstack-%{service}-api-cfn.service
install -p -D -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/openstack-%{service}-engine.service
install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/openstack-%{service}-all.service
mkdir -p %{buildroot}/%{_sharedstatedir}/%{service}/
mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/
%if 0%{?with_doc}
sphinx-build-3 -b html doc/source doc/build/html
sphinx-build-3 -b man doc/source doc/build/man
mkdir -p %{buildroot}%{_mandir}/man1
install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/
%endif
rm -f %{buildroot}/%{_bindir}/%{service}-db-setup
rm -f %{buildroot}/%{_mandir}/man1/%{service}-db-setup.*
rm -rf %{buildroot}/var/lib/%{service}/.dummy
rm -f %{buildroot}/usr/bin/cinder-keystone-setup
install -p -D -m 640 etc/%{service}/%{service}.conf.sample %{buildroot}/%{_sysconfdir}/%{service}/%{service}.conf
install -p -D -m 640 %{SOURCE20} %{buildroot}%{_datadir}/%{service}/%{service}-dist.conf
echo '[revision]' >> %{buildroot}%{_datadir}/%{service}/%{service}-dist.conf
echo '%{service}_revision=%{version}' >> %{buildroot}%{_datadir}/%{service}/%{service}-dist.conf
mv %{buildroot}%{_prefix}/etc/%{service}/api-paste.ini %{buildroot}/%{_datadir}/%{service}/api-paste-dist.ini
mv %{buildroot}%{_prefix}/etc/%{service}/environment.d %{buildroot}/%{_sysconfdir}/%{service}
mv %{buildroot}%{_prefix}/etc/%{service}/templates %{buildroot}/%{_sysconfdir}/%{service}
# Remove duplicate config files under /usr/etc/heat
rmdir %{buildroot}%{_prefix}/etc/%{service}
# Install i18n .mo files (.po and .pot are not required)
install -d -m 755 %{buildroot}%{_datadir}
rm -f %{buildroot}%{python3_sitelib}/%{service}/locale/*/LC_*/%{service}*po
rm -f %{buildroot}%{python3_sitelib}/%{service}/locale/*pot
mv %{buildroot}%{python3_sitelib}/%{service}/locale %{buildroot}%{_datadir}/locale
# Find language files
%find_lang %{service} --all-name
%description
%{common_desc}
%package common
Summary: Heat common
Group: System Environment/Base
Obsoletes: %{name}-api-cloudwatch < 10.0.0
Requires: python3-pbr
Requires: python3-croniter
Requires: python3-eventlet
Requires: python3-stevedore >= 1.20.0
Requires: python3-netaddr
Requires: python3-neutron-lib
Requires: python3-osprofiler
Requires: python3-requests
Requires: python3-routes
Requires: python3-sqlalchemy
Requires: python3-six >= 1.10.0
Requires: python3-paramiko
Requires: python3-babel >= 2.3.4
# FIXME: system version is stuck to 1.7.2 for cryptography
Requires: python3-cryptography >= 2.1
Requires: python3-yaql >= 1.1.3
Requires: python3-oslo-cache >= 1.26.0
Requires: python3-oslo-concurrency >= 3.26.0
Requires: python3-oslo-config >= 2:5.2.0
Requires: python3-oslo-context >= 2.19.2
Requires: python3-oslo-upgradecheck >= 0.1.0
Requires: python3-oslo-utils >= 3.37.0
Requires: python3-oslo-db >= 4.27.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-middleware >= 3.31.0
Requires: python3-oslo-messaging >= 5.29.0
Requires: python3-oslo-policy >= 1.30.0
Requires: python3-oslo-reports >= 1.18.0
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-service >= 1.24.0
Requires: python3-oslo-log >= 3.36.0
Requires: python3-oslo-versionedobjects >= 1.31.2
Requires: python3-cinderclient >= 3.3.0
Requires: python3-glanceclient >= 1:2.8.0
Requires: python3-heatclient >= 1.10.0
Requires: python3-keystoneclient >= 1:3.8.0
Requires: python3-keystonemiddleware >= 4.17.0
Requires: python3-neutronclient >= 6.7.0
Requires: python3-novaclient >= 9.1.0
Requires: python3-saharaclient >= 1.4.0
Requires: python3-swiftclient >= 3.2.0
Requires: python3-troveclient >= 2.2.0
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-barbicanclient >= 4.5.2
Requires: python3-designateclient >= 2.7.0
Requires: python3-manilaclient >= 1.16.0
Requires: python3-mistralclient >= 3.1.0
Requires: python3-openstackclient >= 3.12.0
Requires: python3-zaqarclient >= 1.3.0
Requires: python3-aodhclient >= 0.9.0
Requires: python3-magnumclient >= 2.3.0
Requires: python3-octaviaclient >= 1.4.0
Requires: python3-monascaclient >= 1.12.0
Requires: python3-openstacksdk >= 0.11.2
Requires: python3-tenacity >= 4.4.0
%if 3 == 2
Requires: PyYAML
Requires: python-lxml
Requires: python-migrate
Requires: python-paste-deploy
Requires: python-webob
Requires: pytz
%else
Requires: python3-PyYAML
Requires: python3-lxml
Requires: python3-migrate
Requires: python3-paste-deploy
Requires: python3-webob
Requires: python3-pytz
%endif
Requires(pre): shadow-utils
%description common
Components common to all OpenStack Heat services
%files common -f %{service}.lang
%doc LICENSE
%{_bindir}/%{service}-manage
%{_bindir}/%{service}-status
%{_bindir}/%{service}-keystone-setup
%{_bindir}/%{service}-keystone-setup-domain
%{python3_sitelib}/%{service}
%{python3_sitelib}/openstack_%{service}-%{version}-*.egg-info
%exclude %{python3_sitelib}/%{service}/tests
%attr(-, root, %{service}) %{_datadir}/%{service}/%{service}-dist.conf
%attr(-, root, %{service}) %{_datadir}/%{service}/api-paste-dist.ini
%dir %attr(0755,%{service},root) %{_localstatedir}/log/%{service}
%dir %attr(0755,%{service},root) %{_localstatedir}/run/%{service}
%dir %attr(0755,%{service},root) %{_sharedstatedir}/%{service}
%dir %attr(0755,%{service},root) %{_sysconfdir}/%{service}
%config(noreplace) %{_sysconfdir}/logrotate.d/openstack-%{service}
%config(noreplace) %attr(-, root, %{service}) %{_sysconfdir}/%{service}/%{service}.conf
%config(noreplace) %attr(-,root,%{service}) %{_sysconfdir}/%{service}/environment.d/*
%config(noreplace) %attr(-,root,%{service}) %{_sysconfdir}/%{service}/templates/*
%if 0%{?with_doc}
%{_mandir}/man1/%{service}-keystone-setup.1.gz
%{_mandir}/man1/%{service}-keystone-setup-domain.1.gz
%{_mandir}/man1/%{service}-manage.1.gz
%{_mandir}/man1/%{service}-status.1.gz
%endif
%files -n python3-%{service}-tests
%license LICENSE
%{python3_sitelib}/%{service}/tests
%{python3_sitelib}/%{service}_integrationtests
%pre common
# 187:187 for heat - rhbz#845078
getent group %{service} >/dev/null || groupadd -r --gid 187 %{service}
getent passwd %{service} >/dev/null || \
useradd --uid 187 -r -g %{service} -d %{_sharedstatedir}/%{service} -s /sbin/nologin \
-c "OpenStack Heat Daemons" %{service}
exit 0
%package engine
Summary: The Heat engine
Requires: %{name}-common = %{version}-%{release}
%{?systemd_ordering}
%description engine
%{common_desc}
The %{service}-engine's main responsibility is to orchestrate the launching of
templates and provide events back to the API consumer.
%files engine
%doc README.rst LICENSE
%if 0%{?with_doc}
%doc doc/build/html/man/%{service}-engine.html
%endif
%{_bindir}/%{service}-engine
%{_unitdir}/openstack-%{service}-engine.service
%if 0%{?with_doc}
%{_mandir}/man1/%{service}-engine.1.gz
%endif
%post engine
%systemd_post openstack-%{service}-engine.service
%preun engine
%systemd_preun openstack-%{service}-engine.service
%postun engine
%systemd_postun_with_restart openstack-%{service}-engine.service
%package api
Summary: The Heat API
Requires: %{name}-common = %{version}-%{release}
%{?systemd_ordering}
%description api
%{common_desc}
The %{service}-api component provides an OpenStack-native REST API that processes API
requests by sending them to the %{service}-engine over RPC.
%files api
%doc README.rst LICENSE
%if 0%{?with_doc}
%doc doc/build/html/man/%{service}-api.html
%endif
%{_bindir}/%{service}-api
%{_bindir}/%{service}-wsgi-api
%{_unitdir}/openstack-%{service}-api.service
%if 0%{?with_doc}
%{_mandir}/man1/%{service}-api.1.gz
%endif
%post api
%systemd_post openstack-%{service}-api.service
%preun api
%systemd_preun openstack-%{service}-api.service
%postun api
%systemd_postun_with_restart openstack-%{service}-api.service
%package api-cfn
Summary: Heat CloudFormation API
Requires: %{name}-common = %{version}-%{release}
%{?systemd_ordering}
%description api-cfn
%{common_desc}
The %{service}-api-cfn component provides an AWS Query API that is compatible with
AWS CloudFormation and processes API requests by sending them to the
%{service}-engine over RPC.
%files api-cfn
%doc README.rst LICENSE
%if 0%{?with_doc}
%doc doc/build/html/man/%{service}-api-cfn.html
%endif
%{_bindir}/%{service}-api-cfn
%{_bindir}/%{service}-wsgi-api-cfn
%{_unitdir}/openstack-%{service}-api-cfn.service
%if 0%{?with_doc}
%{_mandir}/man1/%{service}-api-cfn.1.gz
%endif
%post api-cfn
%systemd_post openstack-%{service}-api-cfn.service
%preun api-cfn
%systemd_preun openstack-%{service}-api-cfn.service
%postun api-cfn
%systemd_postun_with_restart openstack-%{service}-api-cfn.service
%package monolith
Summary: The combined Heat engine/API
Requires: %{name}-common = %{version}-%{release}
%{?systemd_ordering}
%description monolith
%{common_desc}
The %{service}-all process bundles together any (or all) of %{service}-engine,
%{service}-api, and %{service}-cfn-api into a single process. This can be used
to bootstrap a minimal TripleO deployment, but is not the recommended way of
running the Heat service in general.
%files monolith
%doc README.rst LICENSE
%{_bindir}/%{service}-all
%{_unitdir}/openstack-%{service}-all.service
%post monolith
%systemd_post openstack-%{service}-all.service
%preun monolith
%systemd_preun openstack-%{service}-all.service
%postun monolith
%systemd_postun_with_restart openstack-%{service}-all.service
%changelog
* Fri Nov 05 2021 huangtiahua <huangtianhua@huawei.com> - 13.1.0-1
- Init Heat to 13.1.0