| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Active/Backup Amphora manipulation tests | |||||||||||||||||||||||||
2 | Description | |||||||||||||||||||||||||
3 | Test Steps | |||||||||||||||||||||||||
4 | Step | Expected Result | ||||||||||||||||||||||||
5 | 1. Create LB objects a. Create LB in external network # openstack loadbalancer create --name LB public-subnet b. Create listener for the created LB # openstack loadbalancer listener create --name listener1 --loadbalancer LB --protocol HTTP --protocol-port 80 c. Create pool for the listener # openstack loadbalancer pool create --name pool1 --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP d. Create ICMP health monitors for the pool # loadbalancer healthmonitor create --delay 5 --max-retries 4 --timeout 10 --type PING --pool pool1 e. Add the created VMsas pool members for LB process. # openstack loadbalancer member create --subnet private-subnet --address VM_IP_ADDRESS --protocol-port 80 pool1 | 1. 2 Amphoras should be created - nova list --all-tenants. Each amphora on different Compute node. For these amps to be on different compute nodes, anti-affinity needs to be configured in the octavia.conf ! we should have a message that tells the admin to be aware that LB creation uses Port and VM quota, and uses resources | <johnsom> It seems like we should be able to do the following: <johnsom> 1. generate SSH keys <johnsom> 2. Load the public SSH key into nova as a "keypair" * tesseract has quit (Quit: ♪♫•*¨*•.¸¸♫♪♪♫•*¨*•.¸¸♫♪♪♫•*¨*•.¸¸♫♪♪♫•*¨*•.¸¸♫♪) <johnsom> 3. configure octavia.conf to use the nova "keypair" when creating load balancers. <johnsom> 4. restart o-cw <johnsom> 5. create load balancer <johnsom> If we absolutely have to have the end-user setup this pre-condition we could create a script and have the test "skip" if the known keypair is missing from nova. <johnsom> But I would hope we don't have to do that | |||||||||||||||||||||||
6 | 2. Verify Amphore internal_network interface MTU is as configured in the network. | 2. The IF MTU on the Amphora should be as configured for the neutron internal network. | ||||||||||||||||||||||||
7 | 3. Execute curl/wget requests of a large page on the servers via VIP. req='curl LB_ADDRES(or its FIP)'; for REQ in `seq 1 1 100`; do $req; done | 3. Requests should be replied and load balanced properly. | ||||||||||||||||||||||||
8 | 4. During the requests: Stop haproxy service on the amphora. Monitor the octavia logs | 4. A fail over should occur - small amount/no traffic loss should happen | ||||||||||||||||||||||||
9 | 5. Start the stopped HAproxy service | 5. Should be started properly | ||||||||||||||||||||||||
10 | 6. During the requests:: Restart Amphora VM Monitor the octavia logs | 6.A fail over should occur - small amount/no traffic loss should happen | ||||||||||||||||||||||||
11 | 7.During the requests: Restart the compute node - puprose: amphora VM should be migrated to other compute node. Monitor the octavia logs | |||||||||||||||||||||||||
12 | ||||||||||||||||||||||||||
13 | ||||||||||||||||||||||||||
14 | ||||||||||||||||||||||||||
15 | Active/backup- 1 amphora boot failure | |||||||||||||||||||||||||
16 | LB creation boot 2 amphoras. We want to examine what is the behavior when 1 of those failsDescription | |||||||||||||||||||||||||
17 | Test Steps | |||||||||||||||||||||||||
18 | Step | Expected Result | ||||||||||||||||||||||||
19 | On a setup with enough space for 1 amphora, create a LB | |||||||||||||||||||||||||
20 | Verify that 1 amphora booted properly and another failed. | |||||||||||||||||||||||||
21 | See LB status | Should be ERROR | ||||||||||||||||||||||||
22 | 1 VM should be up and another in ERROR state | Logs should explain the error state | ||||||||||||||||||||||||
23 | ||||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||
26 | Source ip LB and failover | |||||||||||||||||||||||||
27 | How to configure spare pool size , House keeping manger doc | |||||||||||||||||||||||||
28 | Step | Expected Result | ||||||||||||||||||||||||
29 | 1. Configure spare amphora pool size to 2 | |||||||||||||||||||||||||
30 | 2. Configure LB obects and session persistence a. Create LB in external network # openstack loadbalancer create --name LB public-subnet b. Create listener for the created LB # openstack loadbalancer listener create --name listener1 --loadbalancer LB --protocol HTTP --protocol-port 80 c. Create pool for the listener # openstack loadbalancer pool create --name pool1 --lb-algorithm SOURCE_IP --listener listener1 --protocol HTTP d. Create ICMP health monitors for the pool # loadbalancer healthmonitor create --delay 5 --max-retries 4 --timeout 10 --type PING --pool pool1 e. Add the created VMs as pool members for LB process. # openstack loadbalancer member create --subnet private-subnet --address VM_IP_ADDRESS --protocol-port 80 pool1 | |||||||||||||||||||||||||
31 | 3. Execute curl/wget requests of a large page on the servers via VIP. req='curl LB_ADDRES(or its FIP)'; for REQ in `seq 1 1 100`; do $req; done | |||||||||||||||||||||||||
32 | 4. During the requests stop the active Amphora to initiate fail over. | Backup amphora should become acitve Traffic should almost not be affected An amphora from the pool should become backup. the shutdown Amphora should be cleaned up(?) Session persistence should be kept (or re decided? ) | ||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | Multiple Listeners 1 pool- 1 http listener, 1 https listener. Same Http pool for both listeners. | |||||||||||||||||||||||||
36 | terminated TLS config | |||||||||||||||||||||||||
37 | Test Steps | |||||||||||||||||||||||||
38 | Step | Expected Result | ||||||||||||||||||||||||
39 | 1. Create LB objects a. Create LB in internal network (If needed create FIP and assign it to the VIP) # openstack loadbalancer create --name LB b. Create HTTP listener for the created LB # openstack loadbalancer listener create --name listenerHTTP1 --loadbalancer LB --protocol HTTP --protocol-port 80 c. Create same pool # openstack loadbalancer pool create --name pool1 --lb-algorithm SOURCE_IP --listener listenerHTTP1 --protocol HTTP d. Create HTTPS listener for the created LB and assign to existing pool # openstack loadbalancer listener create --name listenerHTTPS1 --loadbalancer LB --protocol HTTPS --protocol-port 443 --pool-id pool1 e. Create HTTP health monitors for the pool # loadbalancer healthmonitor create --delay 5 --max-retries 4 --timeout 10 --type HTTPS --pool pool1 f. Add the created VMs as pool members for LB process. openstack loadbalancer member create --subnet private-subnet --address VM_IP_ADDRESS --protocol-port 80 pool1 | |||||||||||||||||||||||||
40 | 2. Execute 1 HTTP and 1 HTTPS curl/wget request of a large page on the servers via VIP. req='curl LB_ADDRES(or its FIP):80'; for REQ in `seq 1 1 100`; do $req; done req='curl LB_ADDRES(or its FIP):443'; for REQ in `seq 1 1 100`; do $req; done | |||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | Listener and pool different protocols - Listener HTTP, pool HTTPS. | |||||||||||||||||||||||||
45 | TBD | |||||||||||||||||||||||||
46 | Step | Expected Result | ||||||||||||||||||||||||
47 | 1. Create LB objects a. Create LB in external network # openstack loadbalancer create --name LB public-subnet b. Create listener for the created LB # openstack loadbalancer listener create --name listener1 --loadbalancer LB --protocol HTTP --protocol-port 80 c. Create pool for the listener # openstack loadbalancer pool create --name pool1 --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTPS d. Create ICMP health monitors for the pool # loadbalancer healthmonitor create --delay 5 --max-retries 4 --timeout 10 --type PING --pool pool1 e. Add the created VMs as pool members for LB process. # openstack loadbalancer member create --subnet private-subnet --address VM_IP_ADDRESS --protocol-port 443 pool1 | All objects should be created successfully | ||||||||||||||||||||||||
48 | 2. Execute curl/wget requests of a large page on the servers via VIP. req='curl LB_ADDRES(or its FIP):80'; for REQ in `seq 1 1 100`; do $req; done | |||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | L7 content switching- L7 policies with l7 rules matching by hostnames/file type/path/header/cookie, and actions reject/redirect to pool/redirect to path. | |||||||||||||||||||||||||
53 | L7 content switching test cases | |||||||||||||||||||||||||
54 | Step | Expected Result | ||||||||||||||||||||||||
55 | Hostname+starts with, action reject 1. Create LB 2. Create Listener 3. Create l7policy- action reject 4. Create rule -Hostname+starts with 5. Run traffic | |||||||||||||||||||||||||
56 | Path+ends with, action redirect to URL | |||||||||||||||||||||||||
57 | File type + contains , action redirect to same protocol pool | |||||||||||||||||||||||||
58 | Header + equal to, action redirect to different protocol pool | |||||||||||||||||||||||||
59 | Cookie+regex , action reject | |||||||||||||||||||||||||
60 | Hostname+ contains, reject - the rule should not match - default pool should be configured | |||||||||||||||||||||||||
61 | Hostname+ contains, reject - the rule should not match - default pool should NOT be configured | |||||||||||||||||||||||||
62 | Policy with maximum rules - match all, redirect to pool | |||||||||||||||||||||||||
63 | Policy with maximum rules - match all except last rule , redirect to URL | |||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | amphorae upgrade (upload new glance image and tag + failover + assert image amp's using) | |||||||||||||||||||||||||
68 | steps will be provided | |||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | raise network error on the amphora and check operational_status | |||||||||||||||||||||||||
72 | steps will be provided | |||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |