File openstack-heat-agents.spec of Package openstack-heat-agents

#
# spec file for package openstack-heat-agents
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           openstack-heat-agents
Version:        1.8.0
Release:        0
Summary:        OpenStack Heat agents
License:        Apache-2.0
Group:          Development/Languages/Python
URL:            https://git.openstack.org/cgit/openstack/heat-agents
Source0:        https://files.pythonhosted.org/packages/source/h/heat-agents/heat-agents-1.8.0.tar.gz
BuildRequires:  openstack-macros
BuildRequires:  python3-os-apply-config
BuildRequires:  python3-os-refresh-config
BuildRequires:  python3-pbr
BuildArch:      noarch

%description
Heat Agents are python hooks for deploying software configurations using heat.

%prep
%autosetup -p1 -n heat-agents-1.8.0
%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
Group:          Development/Languages/Python
Requires:       python3-dib-utils
Requires:       python3-heat-cfntools
Requires:       python3-heatclient
Requires:       python3-os-apply-config
Requires:       python3-os-collect-config
Requires:       python3-os-refresh-config
Requires:       python3-requests
Requires:       python3-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
Group:          Development/Languages/Python
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
Group:          Development/Languages/Python
Requires:       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
Group:          Development/Languages/Python
Requires:       python3-heat-agent
Requires:       python3-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
Group:          Development/Languages/Python
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
Group:          Development/Languages/Python
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
Group:          Development/Languages/Python
Requires:       python3-heat-agent
Requires:       python3-paunch

%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
openSUSE Build Service is sponsored by