192 lines
8.0 KiB
Django/Jinja
192 lines
8.0 KiB
Django/Jinja
{% set pypi_name = 'heat-agents' %}
|
|
{% set upstream_version = upstream_version('2.1.1') %}
|
|
{% set rpm_release = '1' %}
|
|
{% set source = url_pypi() %}
|
|
|
|
Name: {{ py2name(py_versions='py3') }}
|
|
Version: {{ py2rpmversion() }}
|
|
Release: {{ py2rpmrelease() }}
|
|
Summary: OpenStack Heat agents
|
|
License: {{ license('Apache-2.0') }}
|
|
Group: Development/Languages/Python
|
|
URL: https://docs.openstack.org/heat-agents
|
|
Source0: {{ source }}
|
|
BuildRequires: openstack-macros
|
|
BuildRequires: {{ py3('os-apply-config') }}
|
|
BuildRequires: {{ py3('os-refresh-config') }}
|
|
BuildRequires: {{ py3('pbr') }}
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
Heat Agents are python hooks for deploying software configurations using heat.
|
|
|
|
%prep
|
|
%autosetup -p1 -n {{ pypi_name }}-{{ upstream_version }}
|
|
%py_req_cleanup
|
|
|
|
# Replace "env python" shebag to the correct python executable
|
|
# if we don't do that brp-mangle-shebangs will choke on CentOS 8
|
|
for python_script in $(grep "%{_bindir}/env python" . -rl)
|
|
do
|
|
sed -i "s#%{_bindir}/env python.*#%{_bindir}/python3#g" $python_script
|
|
done
|
|
|
|
%build
|
|
|
|
%install
|
|
# Use os-apply-config to bootstrap /etc/os-collect-config.conf
|
|
# from heat boot data
|
|
install -p -D -m 755 heat-config/os-refresh-config/configure.d/20-os-apply-config %{buildroot}%{_libexecdir}/os-refresh-config/configure.d/20-os-apply-config
|
|
install -p -D -m 600 heat-config/os-apply-config/%{_sysconfdir}/os-collect-config.conf %{buildroot}%{_libexecdir}/os-apply-config/templates/%{_sysconfdir}/os-collect-config.conf
|
|
|
|
# utilities which can be run by deployment scripts
|
|
install -p -D -m 755 heat-config/bin/heat-config-notify %{buildroot}/%{_bindir}/heat-config-notify
|
|
install -p -D -m 755 heat-config/bin/heat-config-rebuild-deployed %{buildroot}/%{_bindir}/heat-config-rebuild-deployed
|
|
|
|
# os-refresh-config script to run heat deployment resources
|
|
install -p -D -m 600 heat-config/os-apply-config/%{_localstatedir}/run/heat-config/heat-config %{buildroot}%{_libexecdir}/os-apply-config/templates/run/heat-config/heat-config
|
|
install -p -D -m 755 heat-config/os-refresh-config/configure.d/55-heat-config %{buildroot}%{_libexecdir}/os-refresh-config/configure.d/55-heat-config
|
|
|
|
# hook to perform configuration with scripts
|
|
install -p -D -m 755 heat-config-script/install.d/hook-script.py %{buildroot}%{_libexecdir}/heat-config/hooks/script
|
|
|
|
# hook to perform configuration with puppet
|
|
install -p -D -m 755 heat-config-puppet/install.d/hook-puppet.py %{buildroot}%{_libexecdir}/heat-config/hooks/puppet
|
|
|
|
# hook to perform configuration with ansible
|
|
install -p -D -m 755 heat-config-ansible/install.d/hook-ansible.py %{buildroot}%{_libexecdir}/heat-config/hooks/ansible
|
|
|
|
# hook to perform configuration with os-apply-config
|
|
install -p -D -m 755 heat-config-apply-config/install.d/hook-apply-config.py %{buildroot}%{_libexecdir}/heat-config/hooks/apply-config
|
|
|
|
# hook to perform configuration with hiera
|
|
install -p -D -m 755 heat-config-hiera/install.d/hook-hiera.py %{buildroot}%{_libexecdir}/heat-config/hooks/hiera
|
|
|
|
# hook to perform configuration with json-file
|
|
install -p -D -m 755 heat-config-json-file/install.d/hook-json-file.py %{buildroot}%{_libexecdir}/heat-config/hooks/json-file
|
|
|
|
# hook to perform configuration with docker commands
|
|
install -p -D -m 755 heat-config-docker-cmd/os-refresh-config/configure.d/50-heat-config-docker-cmd %{buildroot}%{_libexecdir}/os-refresh-config/configure.d/50-heat-config-docker-cmd
|
|
install -p -D -m 755 heat-config-docker-cmd/install.d/hook-docker-cmd.py %{buildroot}%{_libexecdir}/heat-config/hooks/docker-cmd
|
|
|
|
%package -n python3-heat-agent
|
|
Summary: Agent for performing Heat software deployments
|
|
Requires: {{ py3('dib-utils') }}
|
|
Requires: {{ py3('heat-cfntools') }}
|
|
Requires: {{ py3('python-heatclient') }}
|
|
Requires: {{ py3('os-apply-config') }}
|
|
Requires: {{ py3('os-collect-config') }}
|
|
Requires: {{ py3('os-refresh-config') }}
|
|
Requires: {{ py3('requests') }}
|
|
Requires: {{ py3('python-zaqarclient') }}
|
|
|
|
%description -n python3-heat-agent
|
|
Heat Agents are python hooks for deploying software configurations using heat.
|
|
|
|
This package installs and configures os-collect-config to allow Heat software
|
|
deployments to perform script based configuration tasks.
|
|
|
|
%package -n python3-heat-agent-puppet
|
|
Summary: Agent for performing Puppet based Heat software deployments
|
|
Requires: puppet
|
|
Requires: python3-heat-agent
|
|
|
|
%description -n python3-heat-agent-puppet
|
|
Heat Agents are python hooks for deploying software configurations using heat.
|
|
|
|
This package installs and configures os-collect-config to allow Heat software
|
|
deployments to perform puppet based configuration tasks.
|
|
|
|
%package -n python3-heat-agent-ansible
|
|
Summary: Agent for performing Ansible based Heat software deployments
|
|
Requires: {{ py2pkg('ansible') }}
|
|
Requires: python3-heat-agent
|
|
|
|
%description -n python3-heat-agent-ansible
|
|
Heat Agents are python hooks for deploying software configurations using heat.
|
|
|
|
This package installs and configures os-collect-config to allow Heat software
|
|
deployments to perform ansible based configuration tasks.
|
|
|
|
%package -n python3-heat-agent-apply-config
|
|
Summary: Agent for performing os-apply-config based Heat software deployments
|
|
Requires: python3-heat-agent
|
|
Requires: {{ py3('os-apply-config') }}
|
|
|
|
%description -n python3-heat-agent-apply-config
|
|
Heat Agents are python hooks for deploying software configurations using heat.
|
|
|
|
This package installs and configures os-collect-config to allow Heat software
|
|
deployments to perform os-apply-config based configuration tasks.
|
|
|
|
%package -n python3-heat-agent-hiera
|
|
Summary: Agent for performing hiera based Heat software deployments
|
|
Requires: python3-heat-agent
|
|
|
|
%description -n python3-heat-agent-hiera
|
|
Heat Agents are python hooks for deploying software configurations using heat.
|
|
|
|
This package installs and configures os-collect-config to allow Heat software
|
|
deployments to perform hiera based configuration tasks.
|
|
|
|
%package -n python3-heat-agent-json-file
|
|
Summary: Agent for performing json-file based Heat software deployments
|
|
Requires: python3-heat-agent
|
|
|
|
%description -n python3-heat-agent-json-file
|
|
Heat Agents are python hooks for deploying software configurations using heat.
|
|
|
|
This package installs and configures os-collect-config to allow Heat software
|
|
deployments to perform json-file based configuration tasks.
|
|
|
|
%package -n python3-heat-agent-docker-cmd
|
|
Summary: Agent for performing Docker based Heat software deployments
|
|
Requires: python3-heat-agent
|
|
|
|
%description -n python3-heat-agent-docker-cmd
|
|
Heat Agents are python hooks for deploying software configurations using heat.
|
|
|
|
This package installs and configures os-collect-config to allow Heat software
|
|
deployments to perform docker based configuration tasks.
|
|
|
|
%files
|
|
%license LICENSE
|
|
|
|
%files -n python3-heat-agent
|
|
%license LICENSE
|
|
%dir %{_libexecdir}/os-refresh-config/configure.d/
|
|
%dir %{_libexecdir}/os-apply-config/templates/run/heat-config
|
|
%{_bindir}/heat-config-notify
|
|
%{_bindir}/heat-config-rebuild-deployed
|
|
%dir %{_libexecdir}/os-apply-config/templates/%{_sysconfdir}/
|
|
%dir %{_libexecdir}/os-apply-config/templates/run/
|
|
%{_libexecdir}/os-apply-config/templates/%{_sysconfdir}/os-collect-config.conf
|
|
%{_libexecdir}/os-apply-config/templates/run/heat-config/heat-config
|
|
%{_libexecdir}/os-refresh-config/configure.d/20-os-apply-config
|
|
%{_libexecdir}/os-refresh-config/configure.d/55-heat-config
|
|
%dir %{_libexecdir}/heat-config
|
|
%dir %{_libexecdir}/heat-config/hooks
|
|
%{_libexecdir}/heat-config/hooks/script
|
|
|
|
%files -n python3-heat-agent-puppet
|
|
%license LICENSE
|
|
%{_libexecdir}/heat-config/hooks/puppet
|
|
|
|
%files -n python3-heat-agent-ansible
|
|
%{_libexecdir}/heat-config/hooks/ansible
|
|
|
|
%files -n python3-heat-agent-apply-config
|
|
%{_libexecdir}/heat-config/hooks/apply-config
|
|
|
|
%files -n python3-heat-agent-hiera
|
|
%{_libexecdir}/heat-config/hooks/hiera
|
|
|
|
%files -n python3-heat-agent-json-file
|
|
%{_libexecdir}/heat-config/hooks/json-file
|
|
|
|
%files -n python3-heat-agent-docker-cmd
|
|
%{_libexecdir}/heat-config/hooks/docker-cmd
|
|
%{_libexecdir}/os-refresh-config/configure.d/50-heat-config-docker-cmd
|
|
|
|
%changelog
|