How To Install mom on Fedora 34

mom is Dynamically manage system resources on virtualization hosts

Introduction

In this tutorial we learn how to install mom on Fedora 34.

What is mom

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.

We can use yum or dnf to install mom on Fedora 34. In this tutorial we discuss both methods but you only need to choose one of method to install mom.

Install mom on Fedora 34 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

The output should look something like this:

Fedora 34 - x86_64                               20 kB/s | 6.6 kB     00:00
Fedora 34 openh264 (From Cisco) - x86_64        1.4 kB/s | 989  B     00:00
Fedora Modular 34 - x86_64                       68 kB/s | 6.5 kB     00:00
Fedora 34 - x86_64 - Updates                    3.5 kB/s | 6.2 kB     00:01
Fedora Modular 34 - x86_64 - Updates             17 kB/s | 5.9 kB     00:00
Metadata cache created.

After updating yum database, We can install mom using dnf by running the following command:

sudo dnf -y install mom

Install mom on Fedora 34 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

The output should look something like this:

Fedora 34 - x86_64                               20 kB/s | 6.6 kB     00:00
Fedora 34 openh264 (From Cisco) - x86_64        1.4 kB/s | 989  B     00:00
Fedora Modular 34 - x86_64                       68 kB/s | 6.5 kB     00:00
Fedora 34 - x86_64 - Updates                    3.5 kB/s | 6.2 kB     00:01
Fedora Modular 34 - x86_64 - Updates             17 kB/s | 5.9 kB     00:00
Metadata cache created.

After updating yum database, We can install mom using yum by running the following command:

sudo yum -y install mom

How To Uninstall mom on Fedora 34

To uninstall only the mom package we can use the following command:

sudo dnf remove mom

mom Package Contents on Fedora 34

/etc/momd.conf
/usr/lib/python3.9/site-packages/mom
/usr/lib/python3.9/site-packages/mom/Collectors
/usr/lib/python3.9/site-packages/mom/Collectors/Collector.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestBalloon.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestBalloonOptional.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestCpuTune.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestIoTune.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestIoTuneOptional.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestMemory.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestMemoryOptional.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestNetworkDaemon.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestQemuAgent.py
/usr/lib/python3.9/site-packages/mom/Collectors/GuestQemuProc.py
/usr/lib/python3.9/site-packages/mom/Collectors/HostCpu.py
/usr/lib/python3.9/site-packages/mom/Collectors/HostKSM.py
/usr/lib/python3.9/site-packages/mom/Collectors/HostMemory.py
/usr/lib/python3.9/site-packages/mom/Collectors/HostTime.py
/usr/lib/python3.9/site-packages/mom/Collectors/QemuGuestAgentClient.py
/usr/lib/python3.9/site-packages/mom/Collectors/__init__.py
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/Collector.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/Collector.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestBalloon.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestBalloon.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestBalloonOptional.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestBalloonOptional.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestCpuTune.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestCpuTune.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestIoTune.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestIoTune.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestIoTuneOptional.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestIoTuneOptional.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestMemory.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestMemory.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestMemoryOptional.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestMemoryOptional.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestNetworkDaemon.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestNetworkDaemon.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestQemuAgent.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestQemuAgent.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestQemuProc.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/GuestQemuProc.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/HostCpu.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/HostCpu.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/HostKSM.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/HostKSM.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/HostMemory.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/HostMemory.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/HostTime.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/HostTime.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/QemuGuestAgentClient.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/QemuGuestAgentClient.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Collectors/__pycache__/__init__.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Controllers
/usr/lib/python3.9/site-packages/mom/Controllers/Balloon.py
/usr/lib/python3.9/site-packages/mom/Controllers/CpuTune.py
/usr/lib/python3.9/site-packages/mom/Controllers/IoTune.py
/usr/lib/python3.9/site-packages/mom/Controllers/KSM.py
/usr/lib/python3.9/site-packages/mom/Controllers/__init__.py
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/Balloon.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/Balloon.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/CpuTune.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/CpuTune.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/IoTune.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/IoTune.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/KSM.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/KSM.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Controllers/__pycache__/__init__.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Entity.py
/usr/lib/python3.9/site-packages/mom/GuestManager.py
/usr/lib/python3.9/site-packages/mom/GuestMonitor.py
/usr/lib/python3.9/site-packages/mom/HostMonitor.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/HypervisorInterface.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__init__.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/HypervisorInterface.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/HypervisorInterface.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/__init__.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/libvirtInterface.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/libvirtInterface.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmCommon.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmCommon.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmInterface.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmInterface.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmRpcBase.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmRpcBase.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmjsonrpcInterface.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmjsonrpcInterface.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmjsonrpcbulkInterface.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmjsonrpcbulkInterface.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmjsonrpcclientInterface.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmjsonrpcclientInterface.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmxmlrpcInterface.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmxmlrpcInterface.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmxmlrpcbulkInterface.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/__pycache__/vdsmxmlrpcbulkInterface.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/libvirtInterface.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/vdsmCommon.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/vdsmInterface.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/vdsmRpcBase.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/vdsmjsonrpcInterface.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/vdsmjsonrpcbulkInterface.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/vdsmjsonrpcclientInterface.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/vdsmxmlrpcInterface.py
/usr/lib/python3.9/site-packages/mom/HypervisorInterfaces/vdsmxmlrpcbulkInterface.py
/usr/lib/python3.9/site-packages/mom/LogUtils.py
/usr/lib/python3.9/site-packages/mom/MOMFuncs.py
/usr/lib/python3.9/site-packages/mom/Monitor.py
/usr/lib/python3.9/site-packages/mom/Plotter.py
/usr/lib/python3.9/site-packages/mom/Policy
/usr/lib/python3.9/site-packages/mom/Policy/Parser.py
/usr/lib/python3.9/site-packages/mom/Policy/Policy.py
/usr/lib/python3.9/site-packages/mom/Policy/__init__.py
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__/Parser.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__/Parser.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__/Policy.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__/Policy.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__/__init__.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__/spark.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/Policy/__pycache__/spark.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/Policy/spark.py
/usr/lib/python3.9/site-packages/mom/PolicyEngine.py
/usr/lib/python3.9/site-packages/mom/RPCServer.py
/usr/lib/python3.9/site-packages/mom/__init__.py
/usr/lib/python3.9/site-packages/mom/__pycache__
/usr/lib/python3.9/site-packages/mom/__pycache__/Entity.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/Entity.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/GuestManager.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/GuestManager.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/GuestMonitor.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/GuestMonitor.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/HostMonitor.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/HostMonitor.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/LogUtils.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/LogUtils.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/MOMFuncs.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/MOMFuncs.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/Monitor.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/Monitor.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/Plotter.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/Plotter.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/PolicyEngine.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/PolicyEngine.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/RPCServer.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/RPCServer.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/__init__.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/optional.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/optional.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/unixrpc.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/__pycache__/unixrpc.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/debug
/usr/lib/python3.9/site-packages/mom/debug/StackDumper.py
/usr/lib/python3.9/site-packages/mom/debug/__init__.py
/usr/lib/python3.9/site-packages/mom/debug/__pycache__
/usr/lib/python3.9/site-packages/mom/debug/__pycache__/StackDumper.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/debug/__pycache__/StackDumper.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/debug/__pycache__/__init__.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/mom/debug/__pycache__/__init__.cpython-39.pyc
/usr/lib/python3.9/site-packages/mom/optional.py
/usr/lib/python3.9/site-packages/mom/unixrpc.py
/usr/lib/systemd/system/momd.service
/usr/sbin/momd
/usr/share/doc/mom
/usr/share/doc/mom/README
/usr/share/doc/mom/examples
/usr/share/doc/mom/examples/balloon-qos.rules
/usr/share/doc/mom/examples/balloon.rules
/usr/share/doc/mom/examples/ksm.rules
/usr/share/doc/mom/examples/mom-balloon+ksm.conf
/usr/share/doc/mom/examples/mom-balloon.conf
/usr/share/licenses/mom
/usr/share/licenses/mom/COPYING

References

Summary

In this tutorial we learn how to install mom on Fedora 34 using yum and dnf.