Blob Blame History Raw
diff --git a/cloudinit/distros/rhel.py b/cloudinit/distros/rhel.py
index aa55838..0d47693 100644
--- a/cloudinit/distros/rhel.py
+++ b/cloudinit/distros/rhel.py
@@ -190,13 +190,17 @@ class Distro(distros.Distro):
         if pkgs is None:
             pkgs = []
 
-        cmd = ['yum']
-        # If enabled, then yum will be tolerant of errors on the command line
-        # with regard to packages.
-        # For example: if you request to install foo, bar and baz and baz is
-        # installed; yum won't error out complaining that baz is already
-        # installed.
-        cmd.append("-t")
+        if os.path.isfile('/usr/bin/dnf'):
+            LOG.debug('Using dnf for package management')
+            cmd = ['dnf']
+        else:
+            LOG.debug('Using yum for package management')
+            # If enabled, then yum will be tolerant of errors on the command line
+            # with regard to packages.
+            # For example: if you request to install foo, bar and baz and baz is
+            # installed; yum won't error out complaining that baz is already
+            # installed.
+            cmd = ['yum', '-t']
         # Determines whether or not yum prompts for confirmation
         # of critical actions. We don't want to prompt...
         cmd.append("-y")