diff --git a/cloudbaseinit/tests/utils/test_dhcp.py b/cloudbaseinit/tests/utils/test_dhcp.py index bc5b281a..527ff383 100644 --- a/cloudbaseinit/tests/utils/test_dhcp.py +++ b/cloudbaseinit/tests/utils/test_dhcp.py @@ -141,6 +141,8 @@ class DHCPUtilsTests(unittest.TestCase): mock_randint.assert_called_once_with(0, 2 ** 32 - 1) mock_socket.assert_called_with(socket.AF_INET, socket.SOCK_DGRAM) + mock_socket().setsockopt.assert_called_once_with( + socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) mock_socket().bind.assert_called_once_with(('', 68)) mock_socket().settimeout.assert_called_once_with(5) mock_socket().connect.assert_called_once_with(('fake host', 67)) diff --git a/cloudbaseinit/utils/dhcp.py b/cloudbaseinit/utils/dhcp.py index 4052d1bd..e96797c3 100644 --- a/cloudbaseinit/utils/dhcp.py +++ b/cloudbaseinit/utils/dhcp.py @@ -126,6 +126,7 @@ def get_dhcp_options(dhcp_host, requested_options=[], timeout=5.0, options = None s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: _bind_dhcp_client_socket(s, max_bind_attempts, bind_retry_interval)