92 lines
2.7 KiB
RPMSpec
92 lines
2.7 KiB
RPMSpec
|
|
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
|||
|
|
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
|||
|
|
%{!?with_check: %global with_check 0}
|
|||
|
|
|
|||
|
|
%global package_version 0.5.12
|
|||
|
|
%global package_name mom
|
|||
|
|
|
|||
|
|
Name: %{package_name}
|
|||
|
|
Version: 0.5.12
|
|||
|
|
Release: 1%{?release_suffix}%{?dist}
|
|||
|
|
Summary: Dynamically manage system resources on virtualization hosts
|
|||
|
|
|
|||
|
|
Group: Applications/System
|
|||
|
|
License: GPLv2
|
|||
|
|
URL: http://www.ovirt.org
|
|||
|
|
Source: %{package_name}-%{package_version}.tar.gz
|
|||
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
|
|||
|
|
BuildArch: noarch
|
|||
|
|
BuildRequires: python-devel
|
|||
|
|
BuildRequires: python-nose
|
|||
|
|
BuildRequires: python-mock
|
|||
|
|
|
|||
|
|
Requires(post): systemd
|
|||
|
|
Requires(preun): systemd
|
|||
|
|
Requires(postun): systemd
|
|||
|
|
BuildRequires: systemd
|
|||
|
|
|
|||
|
|
# MOM makes use of libvirt by way of the python bindings to monitor and
|
|||
|
|
# interact with virtual machines.
|
|||
|
|
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
|
|||
|
|
Requires: libvirt-daemon-driver-qemu
|
|||
|
|
%else
|
|||
|
|
Requires: libvirt
|
|||
|
|
%endif
|
|||
|
|
Requires: libvirt-python
|
|||
|
|
Requires: procps
|
|||
|
|
|
|||
|
|
|
|||
|
|
%description
|
|||
|
|
MOM is a policy-driven tool that can be used to manage overcommitment on KVM
|
|||
|
|
hosts. Using libvirt, MOM keeps track of active virtual machines on a host. At
|
|||
|
|
a regular collection interval, data is gathered about the host and guests. Data
|
|||
|
|
can come from multiple sources (eg. the /proc interface, libvirt API calls, a
|
|||
|
|
client program connected to a guest, etc). Once collected, the data is
|
|||
|
|
organized for use by the policy evaluation engine. When started, MOM accepts a
|
|||
|
|
user-supplied overcommitment policy. This policy is regularly evaluated using
|
|||
|
|
the latest collected data. In response to certain conditions, the policy may
|
|||
|
|
trigger reconfiguration of the system’s overcommitment mechanisms. Currently
|
|||
|
|
MOM supports control of memory ballooning and KSM but the architecture is
|
|||
|
|
designed to accommodate new mechanisms such as cgroups.
|
|||
|
|
|
|||
|
|
%prep
|
|||
|
|
%setup -q -n %{package_name}-%{package_version}
|
|||
|
|
|
|||
|
|
%build
|
|||
|
|
%configure --docdir="%{_pkgdocdir}"
|
|||
|
|
make %{?_smp_mflags}
|
|||
|
|
|
|||
|
|
%install
|
|||
|
|
rm -rf "%{buildroot}"
|
|||
|
|
make DESTDIR="%{buildroot}" install
|
|||
|
|
|
|||
|
|
install -dm 755 %{buildroot}%{_unitdir}
|
|||
|
|
mv contrib/momd.service %{buildroot}%{_unitdir}
|
|||
|
|
install -d -m 0755 "%{buildroot}/%{_sysconfdir}"
|
|||
|
|
install -m 0644 doc/mom-balloon+ksm.conf "%{buildroot}/%{_sysconfdir}/momd.conf"
|
|||
|
|
|
|||
|
|
%check
|
|||
|
|
%if 0%{with_check}
|
|||
|
|
make check %{?_smp_mflags}
|
|||
|
|
%endif
|
|||
|
|
|
|||
|
|
%post
|
|||
|
|
%systemd_post momd.service
|
|||
|
|
|
|||
|
|
%preun
|
|||
|
|
%systemd_preun momd.service
|
|||
|
|
|
|||
|
|
%postun
|
|||
|
|
%systemd_postun_with_restart momd.service
|
|||
|
|
|
|||
|
|
%files
|
|||
|
|
%config(noreplace) %{_sysconfdir}/momd.conf
|
|||
|
|
%{_unitdir}/momd.service
|
|||
|
|
%{_sbindir}/momd
|
|||
|
|
%{python_sitelib}/mom/
|
|||
|
|
%{_pkgdocdir}/*
|
|||
|
|
|
|||
|
|
%changelog
|
|||
|
|
* Wed Mar 04 2020 Huihui Fu <huihui.fu@cs2c.com.cn> - 0.5.12-1
|
|||
|
|
- Initial package
|