Test-VSG: Adding test scenarios for vsg.
It covers multiple scenarios related
to vcpe restarting , new configuration, connectivity to net,
vlan tagging, multiple containers being launched etc.
Change-Id: Ic63323905d31d5c11f7f876389b81a10cc1ade94
diff --git a/src/test/vsg/vsgTest.py b/src/test/vsg/vsgTest.py
index 975e11c..483b6fd 100644
--- a/src/test/vsg/vsgTest.py
+++ b/src/test/vsg/vsgTest.py
@@ -185,8 +185,608 @@
def test_vsg_for_snat(self):
pass
+ def test_vsg_for_ping_from_vsg_to_external_network(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Ensure VM created properly
+ 3.Verify login to VM success
+ 4.Do ping to external network from vSG VM
+ 5.Verify that ping gets success
+ 6.Verify ping success flows added in OvS
+ """
+ def test_vsg_for_ping_from_vcpe_to_external_network(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container inside VM
+ 3.Verify both VM and Container created properly
+ 4.Verify login to vCPE container success
+ 5.Do ping to external network from vCPE container
+ 6.Verify that ping gets success
+ 7.Verify ping success flows added in OvS
+ """
+
def test_vsg_for_dns_service(self):
- pass
+ """
+ Algo:
+ 1. Create a test client in Prod VM
+ 2. Create a vCPE container in vSG VM inside compute Node
+ 3. Ensure vSG VM and vCPE container created properly
+ 4. Enable dns service in vCPE ( if not by default )
+ 5. Send ping request from test client to valid domain address say, 'www.google'com
+ 6. Verify that dns should resolve ping should success
+ 7. Now send ping request to invalid domain address say 'www.invalidaddress'.com'
+ 8. Verify that dns resolve should fail and hence ping
+ """
+ def test_vsg_for_10_subscribers_for_same_service(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create 10 vCPE containers for 10 subscribers, in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From each of the subscriber, with same s-tag and different c-tag, send a ping to valid external public IP
+ 5.Verify that ping success for all 10 subscribers
+ """
+ def test_vsg_for_10_subscribers_for_same_service_ping_invalid_ip(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute Node
+ 2.Create 10 vCPE containers for 10 subscribers, in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From each of the subscriber, with same s-tag and different c-tag, send a ping to invalid IP
+ 5.Verify that ping fails for all 10 subscribers
+ """
+ def test_vsg_for_10_subscribers_for_same_service_ping_valid_and_invalid_ip(self):
+ """
+ Algo:
+ 1.Create a vSG VM in VM
+ 2.Create 10 vCPE containers for 10 subscribers, in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From first 5 subscribers, with same s-tag and different c-tag, send a ping to valid IP
+ 5.Verify that ping success for all 5 subscribers
+ 6.From next 5 subscribers, with same s-tag and different c-tag, send a ping to invalid IP
+ 7.Verify that ping fails for all 5 subscribers
+ """
+ def test_vsg_for_100_subscribers_for_same_service(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create 100 vCPE containers for 100 subscribers, in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From each of the subscriber, with same s-tag and different c-tag, send a ping to valid external public IP
+ 5.Verify that ping success for all 100 subscribers
+ """
+ def test_vsg_for_100_subscribers_for_same_service_ping_invalid_ip(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute Node
+ 2.Create 10 vCPE containers for 100 subscribers, in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From each of the subscriber, with same s-tag and different c-tag, send a ping to invalid IP
+ 5.Verify that ping fails for all 100 subscribers
+ """
+ def test_vsg_for_100_subscribers_for_same_service_ping_valid_and_invalid_ip(self):
+ """
+ Algo:
+ 1.Create a vSG VM in VM
+ 2.Create 10 vCPE containers for 100 subscribers, in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From first 5 subscribers, with same s-tag and different c-tag, send a ping to valid IP
+ 5.Verify that ping success for all 5 subscribers
+ 6.From next 5 subscribers, with same s-tag and different c-tag, send a ping to invalid IP
+ 7.Verify that ping fails for all 5 subscribers
+ """
+ def test_vsg_for_packet_received_with_invalid_ip_fields(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber, send a ping packet with invalid ip fields
+ 5.Verify that vSG drops the packet
+ 6.Verify ping fails
+ """
+ def test_vsg_for_packet_received_with_invalid_mac_fields(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber, send a ping packet with invalid mac fields
+ 5.Verify that vSG drops the packet
+ 6.Verify ping fails
+ """
+ def test_vsg_for_vlan_id_mismatch_in_stag(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute Node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.Send a ping request to external valid IP from subscriber, with incorrect vlan id in s-tag and valid c-tag
+ 5.Verify that ping fails as the packet drops at VM entry
+ 6.Repeat step 4 with correct s-tag
+ 7.Verify that ping success
+ """
+ def test_vsg_for_vlan_id_mismatch_in_ctag(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.Send a ping request to external valid IP from subscriber, with valid s-tag and incorrect vlan id in c-tag
+ 5.Verify that ping fails as the packet drops at vCPE container entry
+ 6.Repeat step 4 with valid s-tag and c-tag
+ 7.Verify that ping success
+ """
+ def test_vsg_for_matching_and_mismatching_vlan_id_in_stag(self):
+ """
+ Algo:
+ 1.Create two vSG VMs in compute node
+ 2.Create a vCPE container in each vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber one, send ping request with valid s and c tags
+ 5.From subscriber two, send ping request with vlan id mismatch in s-tag and valid c tags
+ 6.Verify that ping success for only subscriber one and fails for two.
+ """
+ def test_vsg_for_matching_and_mismatching_vlan_id_in_ctag(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create two vCPE containers in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber one, send ping request with valid s and c tags
+ 5.From subscriber two, send ping request with valid s-tag and vlan id mismatch in c-tag
+ 6.Verify that ping success for only subscriber one and fails for two
+ """
+ def test_vsg_for_out_of_range_vlanid_in_ctag(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber, send ping request with valid stag and vlan id in c-tag is an out of range value ( like 0,4097 )
+ 4.Verify that ping fails as the ping packets drops at vCPE container entry
+ """
+ def test_vsg_for_out_of_range_vlanid_in_stag(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 2.From subscriber, send ping request with vlan id in s-tag is an out of range value ( like 0,4097 ), with valid c-tag
+ 4.Verify that ping fails as the ping packets drops at vSG VM entry
+ """
+ def test_vsg_without_creating_vcpe_instance(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute Node
+ 2.Ensure vSG VM created properly
+ 3.Do not create vCPE container inside vSG VM
+ 4.From a subscriber, send ping to external valid IP
+ 5.Verify that ping fails as the ping packet drops at vSG VM entry itself.
+ """
+ def test_vsg_for_remove_vcpe_instance(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber, send ping request with valid s-tag and c-tag
+ 5.Verify that ping success
+ 6.Verify ping success flows in OvS switch in compute node
+ 7.Now remove the vCPE container in vSG VM
+ 8.Ensure that the container removed properly
+ 9.Repeat step 4
+ 10.Verify that now, ping fails
+ """
+ def test_vsg_for_restart_vcpe_instance(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber, send ping request with valid s-tag and c-tag
+ 5.Verify that ping success
+ 6.Verify ping success flows in OvS switch in compute node
+ 7.Now restart the vCPE container in vSG VM
+ 8.Ensure that the container came up after restart
+ 9.Repeat step 4
+ 10.Verify that now,ping gets success and flows added in OvS
+ """
+ def test_vsg_for_restart_vsg_vm(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber, send ping request with valid s-tag and c-tag
+ 5.Verify that ping success
+ 6.Verify ping success flows in OvS switch in compute node
+ 7.Now restart the vSG VM
+ 8.Ensure that the vSG comes up properly after restart
+ 9.Verify that vCPE container comes up after vSG restart
+ 10.Repeat step 4
+ 11.Verify that now,ping gets success and flows added in OvS
+ """
+ def test_vsg_for_pause_vcpe_instance(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.From subscriber, send ping request with valid s-tag and c-tag
+ 5.Verify that ping success
+ 6.Verify ping success flows in OvS switch in compute node
+ 7.Now pause vCPE container in vSG VM for a while
+ 8.Ensure that the container state is pause
+ 9.Repeat step 4
+ 10.Verify that now,ping fails now and verify flows in OvS
+ 11.Now resume the container
+ 12.Now repeat step 4 again
+ 13.Verify that now, ping gets success
+ 14.Verify ping success flows in OvS
+ """
+ def test_vsg_for_extract_all_compute_stats_from_all_vcpe_containers(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create 10 vCPE containers in VM
+ 3.Ensure vSG VM and vCPE containers created properly
+ 4.Login to all vCPE containers
+ 4.Get all compute stats from all vCPE containers
+ 5.Verify the stats # verification method need to add
+ """
+ def test_vsg_for_extract_dns_stats_from_all_vcpe_containers(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create 10 vCPE containers in VM
+ 3.Ensure vSG VM and vCPE containers created properly
+ 4.From 10 subscribers, send ping to valid and invalid dns hosts
+ 5.Verify dns resolves and ping success for valid dns hosts
+ 6.Verify ping fails for invalid dns hosts
+ 7.Verify dns host name resolve flows in OvS
+ 8.Login to all 10 vCPE containers
+ 9.Extract all dns stats
+ 10.Verify dns stats for queries sent, queries received for dns host resolve success and failed scenarios
+ """
+ def test_vsg_for_subscriber_access_two_vsg_services(self):
+ """
+ # Intention is to verify if subscriber can reach internet via two vSG VMs
+ Algo:
+ 1.Create two vSG VMs for two services in compute node
+ 2.Create one vCPE container in each VM for one subscriber
+ 3.Ensure VMs and containers created properly
+ 4.From subscriber end, send ping to public IP with stag corresponds to vSG-1 VM and ctag
+ 5.Verify ping gets success
+ 6.Verify ping success flows in OvS
+ 7.Now repeat step 4 with stag corresponds to vSG-2 VM
+ 8.Verify that ping again success
+ 9.Verify ping success flows in OvS
+ """
+ def test_vsg_for_subscriber_access_service2_if_service1_goes_down(self):
+ """
+ # Intention is to verify if subscriber can reach internet via vSG2 if vSG1 goes down
+ Algo:
+ 1.Create two vSG VMs for two services in compute node
+ 2.Create one vCPE container in each VM for one subscriber
+ 3.Ensure VMs and containers created properly
+ 4.From subscriber end, send ping to public IP with stag corresponds to vSG-1 VM and ctag
+ 5.Verify ping gets success
+ 6.Verify ping success flows in OvS
+ 7.Down the vSG-1 VM
+ 8.Now repeat step 4
+ 9.Verify that ping fails as vSG-1 is down
+ 10.Repeat step 4 with stag corresponding to vSG-2
+ 9.Verify ping success and flows added in OvS
+ """
+ def test_vsg_for_subscriber_access_service2_if_service1_goes_restart(self):
+ """
+ # Intention is to verify if subscriber can reach internet via vSG2 if vSG1 restarts
+ Algo:
+ 1.Create two vSG VMs for two services in compute node
+ 2.Create one vCPE container in each VM for one subscriber
+ 3.Ensure VMs and containers created properly
+ 4.From subscriber end, send ping to public IP with stag corresponds to vSG-1 VM and ctag
+ 5.Verify ping gets success
+ 6.Verify ping success flows added in OvS
+ 7.Now restart vSG-1 VM
+ 8.Now repeat step 4 while vSG-1 VM restarts
+ 9.Verify that ping fails as vSG-1 is restarting
+ 10.Repeat step 4 with stag corresponding to vSG-2 while vSG-1 VM restarts
+ 11.Verify ping success and flows added in OvS
+ """
+ def test_vsg_for_multiple_vcpes_in_vsg_vm_with_one_vcpe_goes_down(self):
+ """
+ # Intention is to verify if subscriber can reach internet via vSG2 if vSG1 goes down
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create two vCPE containers corresponds to two subscribers in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.From subscriber-1 end, send ping to public IP with ctag corresponds to vCPE-1 and stag
+ 5.Verify ping gets success
+ 6.Verify ping success flows added in OvS
+ 7.Now stop vCPE-1 container
+ 8.Now repeat step 4
+ 9.Verify that ping fails as vCPE-1 container is down
+ 10.Repeat step 4 with ctag corresponding to vCPE-2 container
+ 11.Verify ping success and flows added in OvS
+ """
+ def test_vsg_for_multiple_vcpes_in_vsg_vm_with_one_vcpe_restart(self):
+ """
+ # Intention is to verify if subscriber can reach internet via vSG2 if vSG1 restarts
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create two vCPE containers corresponds to two subscribers in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.From subscriber-1 end, send ping to public IP with ctag corresponds to vCPE-1 and stag
+ 5.Verify ping gets success
+ 6.Verify ping success flows added in OvS
+ 7.Now restart vCPE-1 container
+ 8.Now repeat step 4 while vCPE-1 restarts
+ 9.Verify that ping fails as vCPE-1 container is restarts
+ 10.Repeat step 4 with ctag corresponding to vCPE-2 container while vCPE-1 restarts
+ 11..Verify ping success and flows added in OvS
+ """
+ def test_vsg_for_multiple_vcpes_in_vsg_vm_with_one_vcpe_pause(self):
+ """
+ # Intention is to verify if subscriber can reach internet via vSG2 if vSG1 paused
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create two vCPE containers corresponds to two subscribers in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.From subscriber-1 end, send ping to public IP with ctag corresponds to vCPE-1 and stag
+ 5.Verify ping gets success
+ 6.Verify ping success flows added in OvS
+ 7.Now pause vCPE-1 container
+ 8.Now repeat step 4 while vCPE-1 in pause state
+ 9.Verify that ping fails as vCPE-1 container in pause state
+ 10.Repeat step 4 with ctag corresponding to vCPE-2 container while vCPE-1 in pause state
+ 11.Verify ping success and flows added in OvS
+ """
+ def test_vsg_for_multiple_vcpes_in_vsg_vm_with_one_vcpe_removed(self):
+ """
+ # Intention is to verify if subscriber can reach internet via vSG2 if vSG1 removed
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create two vCPE containers corresponds to two subscribers in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.From subscriber-1 end, send ping to public IP with ctag corresponds to vCPE-1 and stag
+ 5.Verify ping gets success
+ 6.Verify ping success flows added in OvS
+ 7.Now remove vCPE-1 container
+ 8.Now repeat step 4
+ 9.Verify that ping fails as vCPE-1 container removed
+ 10.Repeat step 4 with ctag corresponding to vCPE-2 container
+ 11.Verify ping success and flows added in OvS
+ """
+ def test_vsg_for_vcpe_instance_removed_and_added_again(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.From subscriber end, send ping to public IP
+ 5.Verify ping gets success
+ 6.Verify ping success flows added in OvS
+ 7.Now remove vCPE container in vSG VM
+ 8.Now repeat step 4
+ 9.Verify that ping fails as vCPE container removed
+ 10.Create the vCPE container again for the same subscriber
+ 11.Ensure that vCPE created now
+ 12.Now repeat step 4
+ 13.Verify ping success and flows added in OvS
+ """
+ def test_vsg_for_vsg_vm_removed_and_added_again(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.From subscriber end, send ping to public IP
+ 5.Verify ping gets success
+ 6.Verify ping success flows added in OvS
+ 7.Now remove vSG VM
+ 8.Now repeat step 4
+ 9.Verify that ping fails as vSG VM not exists
+ 10.Create the vSG VM and vCPE container in VM again
+ 11.Ensure that vSG and vCPE created
+ 12.Now repeat step 4
+ 13.Verify ping success and flows added in OvS
+ """
+
+ #Test vSG - Subscriber Configuration
+ def test_vsg_for_configuring_new_subscriber_in_vcpe(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.Configure a subscriber in XOS and assign a service id
+ 5.Set the admin privileges to the subscriber
+ 6.Verify subscriber configuration is success
+ """
+ def test_vsg_for_adding_subscriber_devices_in_vcpe(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.Configure a subscriber in XOS and assign a service id
+ 5.Verify subscriber successfully configured in vCPE
+ 6.Now add devices( Mac addresses ) under the subscriber admin group
+ 7.Verify all devices ( Macs ) added successfully
+ """
+ def test_vsg_for_removing_subscriber_devices_in_vcpe(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.Configure a subscriber in XOS and assign a service id
+ 5.Verify subscriber successfully configured
+ 6.Now add devices( Mac addresses ) under the subscriber admin group
+ 7.Verify all devices ( Macs ) added successfully
+ 8.Now remove All the added devices in XOS
+ 9.Verify all the devices removed
+ """
+ def test_vsg_for_modify_subscriber_devices_in_vcpe(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.Configure a user in XOS and assign a service id
+ 5.Verify subscriber successfully configured in vCPE.
+ 6.Now add devices( Mac addresses ) under the subscriber admin group
+ 7.Verify all devices ( Macs ) added successfully
+ 8.Now remove few devices in XOS
+ 9.Verify devices removed successfully
+ 10.Now add few additional devices in XOS under the same subscriber admin group
+ 11.Verify newly added devices successfully added
+ """
+ def test_vsg_for_vcpe_login_fails_with_incorrect_subscriber_credentials(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.Configure a subscriber in XOS and assign a service id
+ 5.Verify subscriber successfully configured
+ 6.Now add devices( Mac addresses ) under the subscriber admin group
+ 7.Verify all devices ( Macs ) added successfully
+ 8.Login vCPE with credentials with which subscriber configured
+ 9.Verify subscriber successfully logged in
+ 10.Logout and login again with incorrect credentials ( either user name or password )
+ 11.Verify login attempt to vCPE fails wtih incorrect credentials
+ """
+ def test_vsg_for_subscriber_configuration_in_vcpe_retain_after_vcpe_restart(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.Configure a subscriber in XOS and assign a service id
+ 5.Verify subscriber successfully configured
+ 6.Now add devices( Mac addresses ) under the subscriber admin group
+ 7.Verify all devices ( Macs ) added successfully
+ 8.Restart vCPE ( locate backup config path while restart )
+ 9.Verify subscriber details in vCPE after restart should be same as before the restart
+ """
+ def test_vsg_for_create_multiple_vcpe_instances_and_configure_subscriber_in_each_instance(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create 2 vCPE containers in vSG VM
+ 3.Ensure VM and containers created properly
+ 4.Configure a subscriber in XOS for each vCPE instance and assign a service id
+ 5.Verify subscribers successfully configured
+ 6.Now login vCPE-2 with subscriber-1 credentials
+ 7.Verify login fails
+ 8.Now login vCPE-1 with subscriber-2 credentials
+ 9.Verify login fails
+ 10.Now login vCPE-1 with subscriber-1 and vCPE-2 with subscriber-2 credentials
+ 11.Verify that both the subscribers able to login to their respective vCPE containers
+ """
+ def test_vsg_for_same_subscriber_can_be_configured_for_multiple_services(self):
+ """
+ Algo:
+ 1.Create 2 vSG VMs in compute node
+ 2.Create a vCPE container in each vSG VM
+ 3.Ensure VMs and containers created properly
+ 4.Configure same subscriber in XOS for each vCPE instance and assign a service id
+ 5.Verify subscriber successfully configured
+ 6.Now login vCPE-1 with subscriber credentials
+ 7.Verify login success
+ 8.Now login vCPE-2 with the same subscriber credentials
+ 9.Verify login success
+ """
+
+ #Test Example Service
+ def test_vsg_for_subcriber_avail_example_service_running_in_apache_server(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in each vSG VM
+ 3.Ensure VM and container created properly
+ 4.Configure a subscriber in XOS for the vCPE instance and assign a service id
+ 5.On-board an example service into cord pod
+ 6.Create a VM in compute node and run the example service ( Apache server )
+ 7.Configure the example service with service specific and subscriber specific messages
+ 8.Verify example service on-boarded successfully
+ 9.Verify example service running in VM
+ 10.Run a curl command from subscriber to reach example service
+ 11.Verify subscriber can successfully reach example service via vSG
+ 12.Verify that service specific and subscriber specific messages
+ """
+ def test_vsg_for_subcriber_avail_example_service_running_in_apache_server_after_service_restart(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create a vCPE container in each vSG VM
+ 3.Ensure VM and container created properly
+ 4.Configure a subscriber in XOS for the vCPE instance and assign a service id
+ 5.On-board an example service into cord pod
+ 6.Create a VM in compute node and run the example service ( Apache server )
+ 7.Configure the example service with service specific and subscriber specific messages
+ 8.Verify example service on-boarded successfully
+ 9.Verify example service running in VM
+ 10.Run a curl command from subscriber to reach example service
+ 11.Verify subscriber can successfully reach example service via vSG
+ 12.Verify that service specific and subscriber specific messages
+ 13.Restart example service running in VM
+ 14.Repeat step 10
+ 15.Verify the same results as mentioned in steps 11, 12
+ """
+
+ #vCPE Firewall Functionality
+ def test_vsg_firewall_for_creating_acl_rule_based_on_source_ip(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create vCPE container in the VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.Configure ac acl rule in vCPE to deny IP traffic from a source IP
+ 5.Bound the acl rule to WAN interface of vCPE
+ 6.Verify configuration in vCPE is success
+ 8.Verify flows added in OvS
+ """
+ def test_vsg_firewall_for_creating_acl_rule_based_on_destination_ip(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create vCPE container in the VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.Configure ac acl rule in vCPE to deny IP traffic to a destination ip
+ 5.Bound the acl rule to WAN interface of vCPE
+ 6.Verify configuration in vCPE is success
+ 8.Verify flows added in OvS
+ """
+ def test_vsg_firewall_for_acl_deny_rule_based_on_source_ip_traffic(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create vCPE container in the VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.Configure ac acl rule in vCPE to deny IP traffic from a source IP
+ 5.Bound the acl rule to WAN interface of vCPE
+ 6.From subscriber, send ping to the denied IP address
+ 7.Verify that ping fails as vCPE denies ping response
+ 8.Verify flows added in OvS
+ """
+ def test_vsg_firewall_for_acl_deny_rule_based_on_destination_ip_traffic(self):
+ """
+ Algo:
+ 1.Create a vSG VM in compute node
+ 2.Create vCPE container in the VM
+ 3.Ensure vSG VM and vCPE container created properly
+ 4.Configure ac acl rule in vCPE to deny IP traffic to a destination IP
+ 5.Bound the acl rule to WAN interface of vCPE
+ 6.From subscriber, send ping to the denied IP address
+ 7.Verify that ping fails as vCPE drops the ping request at WAN interface
+ 8.Verify flows added in OvS
+ """
def test_vsg_dnsmasq(self):
pass