671 lines
15 KiB
ReStructuredText
671 lines
15 KiB
ReStructuredText
System
|
|
======
|
|
|
|
|
|
Set up for system tests
|
|
-----------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_setup_system
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Deploy environment with 3 controllers and 1 Compute node. Nova Compute instances are running on controllers and compute-vmware nodes. It is a config for all system tests.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Log in to the Fuel web UI with pre-installed NSX-T plugin.
|
|
2. Create new environment with the following parameters:
|
|
* Compute: KVM, QEMU with vCenter
|
|
* Networking: Neutron with NSX-T plugin
|
|
* Storage: default
|
|
* Additional services: default
|
|
3. Add nodes with following roles:
|
|
* Controller
|
|
* Compute-vmware
|
|
* Compute
|
|
* Compute
|
|
4. Configure interfaces on nodes.
|
|
5. Configure network settings.
|
|
6. Enable and configure NSX-T plugin.
|
|
7. Configure VMware vCenter Settings. Add 2 vSphere clusters, configure Nova Compute instances on controller and compute-vmware.
|
|
8. Verify networks.
|
|
9. Deploy cluster.
|
|
10. Run OSTF.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
Cluster should be deployed and all OSTF test cases should pass.
|
|
|
|
|
|
Check connectivity from VMs to public network
|
|
---------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_public_network_availability
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Verifies that public network is available.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Launch two instances in default network. Instances should belong to different az (nova and vcenter).
|
|
4. Send ping from each instance to 8.8.8.8.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
Pings should get a response.
|
|
|
|
|
|
Check abilities to create and terminate networks on NSX
|
|
-------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_manage_networks
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Check ability to create/delete networks and attach/detach it to router.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Create two private networks net_01 and net_02.
|
|
4. Launch 1 instance in each network. Instances should belong to different az (nova and vcenter).
|
|
5. Check that instances can't communicate with each other.
|
|
6. Attach (add interface) both networks to default router.
|
|
7. Check that instances can communicate with each other via router.
|
|
8. Detach (delete interface) both networks from default router.
|
|
9. Check that instances can't communicate with each other.
|
|
10. Delete created instances.
|
|
11. Delete created networks.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
No errors.
|
|
|
|
|
|
Check abilities to bind port on NSX to VM, disable and enable this port
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_manage_ports
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Verifies that system can not manipulate with port (plugin limitation).
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Launch two instances in default network. Instances should belong to different az (nova and vcenter).
|
|
4. Check that instances can communicate with each other.
|
|
5. Disable port attached to instance in nova az.
|
|
6. Check that instances can't communicate with each other.
|
|
7. Enable port attached to instance in nova az.
|
|
8. Check that instances can communicate with each other.
|
|
9. Disable port attached to instance in vcenter az.
|
|
10. Check that instances can't communicate with each other.
|
|
11. Enable port attached to instance in vcenter az.
|
|
12. Check that instances can communicate with each other.
|
|
13. Delete created instances.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
NSX-T plugin should be able to manage admin state of ports.
|
|
|
|
|
|
Check abilities to assign multiple vNIC to a single VM
|
|
------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_multiple_vnics
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Check abilities to assign multiple vNICs to a single VM.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Add two private networks (net01 and net02).
|
|
4. Add one subnet (net01_subnet01: 192.168.101.0/24, net02_subnet01, 192.168.101.0/24) to each network.
|
|
NOTE: We have a constraint about network interfaces. One of subnets should have gateway and another should not. So disable gateway on that subnet.
|
|
5. Launch instance VM_1 with image TestVM-VMDK and flavor m1.tiny in vcenter az.
|
|
6. Launch instance VM_2 with image TestVM and flavor m1.tiny in nova az.
|
|
7. Check abilities to assign multiple vNIC net01 and net02 to VM_1.
|
|
8. Check abilities to assign multiple vNIC net01 and net02 to VM_2.
|
|
9. Send icmp ping from VM_1 to VM_2 and vice versa.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
VM_1 and VM_2 should be attached to multiple vNIC net01 and net02. Pings should get a response.
|
|
|
|
|
|
Check connectivity between VMs attached to different networks with a router between them
|
|
----------------------------------------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_connectivity_diff_networks
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Test verifies that there is a connection between networks connected through the router.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Add two private networks (net01 and net02).
|
|
4. Add one subnet (net01_subnet01: 192.168.101.0/24, net02_subnet01, 192.168.101.0/24) to each network. Disable gateway for all subnets.
|
|
5. Launch 1 instance in each network. Instances should belong to different az (nova and vcenter).
|
|
6. Create new router (Router_01), set gateway and add interface to external network.
|
|
7. Enable gateway on subnets. Attach private networks to created router.
|
|
8. Verify that VMs of different networks should communicate between each other.
|
|
9. Add one more router (Router_02), set gateway and add interface to external network.
|
|
10. Detach net_02 from Router_01 and attach it to Router_02.
|
|
11. Assign floating IPs for all created VMs.
|
|
12. Check that default security group allow the ICMP.
|
|
13. Verify that VMs of different networks should communicate between each other by FIPs.
|
|
14. Delete instances.
|
|
15. Detach created networks from routers.
|
|
16. Delete created networks.
|
|
17. Delete created routers.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
NSX-T plugin should be able to create/delete routers and assign floating ip on instances.
|
|
|
|
|
|
Check abilities to create and delete security group
|
|
---------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_manage_secgroups
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Verifies that creation and removing security group works fine.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Create new security group with default rules.
|
|
4. Add ingress rule for ICMP protocol.
|
|
5. Launch two instances in default network. Instances should belong to different az (nova and vcenter).
|
|
6. Attach created security group to instances.
|
|
7. Check that instances can ping each other.
|
|
8. Delete ingress rule for ICMP protocol.
|
|
9. Check that instances can't ping each other.
|
|
10. Delete instances.
|
|
11. Delete security group.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
NSX-T plugin should be able to create/delete security groups and add/delete rules.
|
|
|
|
|
|
Check isolation between VMs in different tenants
|
|
------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_different_tenants
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Verifies isolation in different tenants.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Create new tenant with new user.
|
|
4. Activate new project.
|
|
5. Create network with subnet.
|
|
6. Create router, set gateway and add interface.
|
|
7. Launch instance and associate floating ip with vm.
|
|
8. Activate default tenant.
|
|
9. Launch instance (use the default network) and associate floating ip with vm.
|
|
10. Check that default security group allow ingress icmp traffic.
|
|
11. Send icmp ping between instances in different tenants via floating ip.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
Instances on different tenants can communicate between each other only via floating ip.
|
|
|
|
|
|
Check connectivity between VMs with same ip in different tenants
|
|
----------------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_same_ip_different_tenants
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Verifies connectivity with same IP in different tenants.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
advanced
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Create 2 non-admin tenants 'test_1' and 'test_2' with common admin user.
|
|
4. Activate project 'test_1'.
|
|
5. Create network 'net1' and subnet 'subnet1' with CIDR 10.0.0.0/24
|
|
6. Create router 'router1' and attach 'net1' to it.
|
|
7. Create security group 'SG_1' and add rule that allows ingress icmp traffic
|
|
8. Launch two instances (VM_1 and VM_2) in created network with created security group. Instances should belong to different az (nova and vcenter).
|
|
9. Assign floating IPs for created VMs.
|
|
10. Activate project 'test_2'.
|
|
11. Create network 'net2' and subnet 'subnet2' with CIDR 10.0.0.0/24
|
|
12. Create router 'router2' and attach 'net2' to it.
|
|
13. Create security group 'SG_2' and add rule that allows ingress icmp traffic
|
|
14. Launch two instances (VM_3 and VM_4) in created network with created security group. Instances should belong to different az (nova and vcenter).
|
|
15. Assign floating IPs for created VMs.
|
|
16. Verify that VMs with same ip on different tenants communicate between each other by FIPs. Send icmp ping from VM_1 to VM_3, VM_2 to VM_4 and vice versa.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
Pings should get a response.
|
|
|
|
|
|
Verify that only the associated MAC and IP addresses can communicate on the logical port
|
|
----------------------------------------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_bind_mac_ip_on_port
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Verify that only the associated MAC and IP addresses can communicate on the logical port.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Log in to Horizon Dashboard.
|
|
3. Launch two instances in default network. Instances should belong to different az (nova and vcenter).
|
|
4. Verify that traffic can be successfully sent from and received on the MAC and IP address associated with the logical port.
|
|
5. Configure a new IP address from the subnet not like original one on the instance associated with the logical port.
|
|
* ifconfig eth0 down
|
|
* ifconfig eth0 192.168.99.14 netmask 255.255.255.0
|
|
* ifconfig eth0 up
|
|
6. Confirm that the instance cannot communicate with that IP address.
|
|
7. Revert IP address. Configure a new MAC address on the instance associated with the logical port.
|
|
* ifconfig eth0 down
|
|
* ifconfig eth0 hw ether 00:80:48:BA:d1:30
|
|
* ifconfig eth0 up
|
|
8. Confirm that the instance cannot communicate with that MAC address and the original IP address.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
Instance should not communicate with new ip and mac addresses but it should communicate with old IP.
|
|
|
|
|
|
Check creation instance in the one group simultaneously
|
|
-------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_batch_instance_creation
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Verifies that system could create and delete several instances simultaneously.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Navigate to Project -> Compute -> Instances
|
|
3. Launch 5 instance VM_1 simultaneously with image TestVM-VMDK and flavor m1.tiny in vcenter az in default net_04.
|
|
4. All instance should be created without any error.
|
|
5. Launch 5 instance VM_2 simultaneously with image TestVM and flavor m1.tiny in nova az in default net_04.
|
|
6. All instance should be created without any error.
|
|
7. Check connection between VMs (ping, ssh)
|
|
8. Delete all VMs from horizon simultaneously.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
All instance should be created and deleted without any error.
|
|
|
|
|
|
Verify that instances could be launched on enabled compute host
|
|
---------------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_manage_compute_hosts
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Check instance creation on enabled cluster.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests.
|
|
2. Disable one of compute host in each availability zone (vcenter and nova).
|
|
3. Create several instances in both az.
|
|
4. Check that instances were created on enabled compute hosts.
|
|
5. Disable second compute host and enable first one in each availability zone (vcenter and nova).
|
|
6. Create several instances in both az.
|
|
7. Check that instances were created on enabled compute hosts.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
All instances were created on enabled compute hosts.
|
|
|
|
|
|
Fuel create mirror and update core repos on cluster with NSX-T plugin
|
|
---------------------------------------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_update_core_repos
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Fuel create mirror and update core repos in cluster with NSX-T plugin
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Set up for system tests
|
|
2. Log into controller node via Fuel CLI and get PIDs of services which were launched by plugin and store them:
|
|
`ps ax | grep neutron-server`
|
|
3. Launch the following command on the Fuel Master node:
|
|
`fuel-mirror create -P ubuntu -G mos ubuntu`
|
|
4. Run the command below on the Fuel Master node:
|
|
`fuel-mirror apply -P ubuntu -G mos ubuntu --env <env_id> --replace`
|
|
5. Run the command below on the Fuel Master node:
|
|
`fuel --env <env_id> node --node-id <node_ids_separeted_by_coma> --tasks setup_repositories`
|
|
And wait until task is done.
|
|
6. Log into controller node and check plugins services are alive and their PID are not changed.
|
|
7. Check all nodes remain in ready status.
|
|
8. Rerun OSTF.
|
|
|
|
Expected result
|
|
###############
|
|
|
|
Cluster (nodes) should remain in ready state.
|
|
OSTF tests should be passed on rerun.
|
|
|
|
|
|
Configuration with multiple NSX managers
|
|
----------------------------------------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_multiple_nsx_managers
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
NSX-T plugin can configure several NSX managers at once.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
core
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Create cluster.
|
|
Prepare 2 NSX managers.
|
|
2. Configure plugin.
|
|
3. Set comma separated list of NSX managers.
|
|
nsx_api_managers = 1.2.3.4,1.2.3.5
|
|
4. Deploy cluster.
|
|
5. Run OSTF.
|
|
6. Power off the first NSX manager.
|
|
7. Run OSTF.
|
|
8. Power off the second NSX manager.
|
|
Power on the first NSX manager.
|
|
9. Run OSTF.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
|
|
OSTF tests should be passed.
|
|
|
|
|
|
Deploy HOT
|
|
----------
|
|
|
|
|
|
ID
|
|
##
|
|
|
|
nsxt_hot
|
|
|
|
|
|
Description
|
|
###########
|
|
|
|
Template creates flavor, net, security group, instance.
|
|
|
|
|
|
Complexity
|
|
##########
|
|
|
|
smoke
|
|
|
|
|
|
Steps
|
|
#####
|
|
|
|
1. Deploy cluster with NSX.
|
|
2. Copy nsxt_stack.yaml to controller on which heat will be run.
|
|
3. On controller node run command::
|
|
|
|
. ./openrc
|
|
heat stack-create -f nsxt_stack.yaml teststack
|
|
|
|
4. Wait for complete creation of stack.
|
|
5. Check that created instance is operable.
|
|
|
|
|
|
Expected result
|
|
###############
|
|
All objects related to stack should be successfully created.
|