diff --git a/changelog/62168.changed b/changelog/62168.changed new file mode 100644 index 00000000000..564579b4ba7 --- /dev/null +++ b/changelog/62168.changed @@ -0,0 +1 @@ +Disabled FQDNs grains on macOS by default diff --git a/salt/config/__init__.py b/salt/config/__init__.py index c0cd4014b5e..58a3ff8584a 100644 --- a/salt/config/__init__.py +++ b/salt/config/__init__.py @@ -65,6 +65,12 @@ elif salt.utils.platform.is_proxy(): _DFLT_FQDNS_GRAINS = False _MASTER_TRIES = 1 _MASTER_USER = salt.utils.user.get_user() +elif salt.utils.platform.is_darwin(): + _DFLT_IPC_MODE = "ipc" + # fqdn resolution can be very slow on macOS, see issue #62168 + _DFLT_FQDNS_GRAINS = False + _MASTER_TRIES = 1 + _MASTER_USER = salt.utils.user.get_user() else: _DFLT_IPC_MODE = "ipc" _DFLT_FQDNS_GRAINS = False diff --git a/salt/grains/core.py b/salt/grains/core.py index 2a211c93155..f4361a69361 100644 --- a/salt/grains/core.py +++ b/salt/grains/core.py @@ -2806,6 +2806,7 @@ def fqdns(): or salt.utils.platform.is_sunos() or salt.utils.platform.is_aix() or salt.utils.platform.is_junos() + or salt.utils.platform.is_darwin() else True, ): opt = __salt__["network.fqdns"]() diff --git a/tests/pytests/unit/grains/test_core.py b/tests/pytests/unit/grains/test_core.py index 010635a0db2..993c7239508 100644 --- a/tests/pytests/unit/grains/test_core.py +++ b/tests/pytests/unit/grains/test_core.py @@ -2144,8 +2144,8 @@ def test_enable_fqdns_without_patching(): "salt.grains.core.__salt__", {"network.fqdns": MagicMock(return_value="my.fake.domain")}, ): - # fqdns is disabled by default on Windows - if salt.utils.platform.is_windows(): + # fqdns is disabled by default on Windows and macOS + if salt.utils.platform.is_windows() or salt.utils.platform.is_darwin(): assert core.fqdns() == {"fqdns": []} else: assert core.fqdns() == "my.fake.domain"