From d671fd47d347a37a6771c0da941ae3f2686a1838 Mon Sep 17 00:00:00 2001 From: Joe LeVeque Date: Thu, 16 Mar 2017 10:18:58 -0700 Subject: [PATCH] [DHCP Relay Test]: Obtain DHCP servers and their count from minigraph (#135) --- ansible/roles/sonic-common/tasks/dhcp_relay.yml | 6 ------ .../roles/test/files/ptftests/dhcp_relay_test.py | 14 +++++--------- ansible/roles/test/tasks/dhcp_relay.yml | 1 + 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/ansible/roles/sonic-common/tasks/dhcp_relay.yml b/ansible/roles/sonic-common/tasks/dhcp_relay.yml index 583a53b734..05917db58f 100644 --- a/ansible/roles/sonic-common/tasks/dhcp_relay.yml +++ b/ansible/roles/sonic-common/tasks/dhcp_relay.yml @@ -1,9 +1,3 @@ -- name: Copy DHCP relay docker config file to device - become: true - template: src=dhcp_relay.yml.j2 - dest=/etc/sonic/dhcp_relay.yml - mode=0644 - - name: Ensure DHCP Relay container started include: sonicdocker.yml vars: diff --git a/ansible/roles/test/files/ptftests/dhcp_relay_test.py b/ansible/roles/test/files/ptftests/dhcp_relay_test.py index f5e17ec8da..d1ebf70e8f 100644 --- a/ansible/roles/test/files/ptftests/dhcp_relay_test.py +++ b/ansible/roles/test/files/ptftests/dhcp_relay_test.py @@ -91,11 +91,6 @@ class DHCPTest(DataplaneBaseTest): DHCP_LEASE_TIME_LEN = 6 LEASE_TIME = 86400 - # Number of DHCP servers relay is forwarding to - # Currently this is the number of DHCP servers specified in str.yml - # TODO: Calculate this number dynamically - NUM_DHCP_SERVERS = 48 - def __init__(self): DataplaneBaseTest.__init__(self) @@ -107,6 +102,7 @@ def setUp(self): # These are the interfaces we are injected into that link to out leaf switches self.server_port_indices = ast.literal_eval(self.test_params['leaf_port_indices']) + self.num_dhcp_servers = int(self.test_params['num_dhcp_servers']) self.server_ip = self.test_params['server_ip'] self.relay_iface_name = self.test_params['relay_iface_name'] @@ -290,8 +286,8 @@ def verify_relayed_discover(self): # Count the number of these packets received on the ports connected to our leaves discover_count = testutils.count_matched_packets_all_ports(self, masked_discover, self.server_port_indices) - self.assertTrue(discover_count == self.NUM_DHCP_SERVERS, - "Failed: Discover count of %d != %d (NUM_DHCP_SERVERS)" % (discover_count, self.NUM_DHCP_SERVERS)) + self.assertTrue(discover_count == self.num_dhcp_servers, + "Failed: Discover count of %d != %d (num_dhcp_servers)" % (discover_count, self.num_dhcp_servers)) # Simulate a DHCP server sending a DHCPOFFER message to client. # We do this by injecting a DHCPOFFER message on the link connected to one @@ -357,8 +353,8 @@ def verify_relayed_request(self): # Count the number of these packets received on the ports connected to our leaves request_count = testutils.count_matched_packets_all_ports(self, masked_request, self.server_port_indices) - self.assertTrue(request_count == self.NUM_DHCP_SERVERS, - "Failed: Request count of %d != %d (NUM_DHCP_SERVERS)" % (request_count, self.NUM_DHCP_SERVERS)) + self.assertTrue(request_count == self.num_dhcp_servers, + "Failed: Request count of %d != %d (num_dhcp_servers)" % (request_count, self.num_dhcp_servers)) # Simulate a DHCP server sending a DHCPOFFER message to client from one of our leaves def server_send_ack(self): diff --git a/ansible/roles/test/tasks/dhcp_relay.yml b/ansible/roles/test/tasks/dhcp_relay.yml index 5aa59af1af..f4931b8351 100644 --- a/ansible/roles/test/tasks/dhcp_relay.yml +++ b/ansible/roles/test/tasks/dhcp_relay.yml @@ -42,6 +42,7 @@ ptf_test_params: - client_port_index=\"{{ client_port_index }}\" - leaf_port_indices=\"{{ leaf_port_indices }}\" + - num_dhcp_servers=\"{{ dhcp_servers | length }}\" - server_ip=\"{{ dhcp_servers[0] }}\" - relay_iface_name=\"{{ minigraph_vlan_interfaces[0]['name'] }}\" - relay_iface_ip=\"{{ minigraph_vlan_interfaces[0]['addr'] }}\"