This is an old revision of the document!
Promise Function Test
Test cases for Promise (work in progress): test_cases.docx
etherpad to discuss test cases
Test ID | Title | Test steps actions | Test steps results |
---|---|---|---|
TC0 | Pre-conditions | Step 0. Create an OpenStack project called “Promise”. Step 1. Create a quota for “Promise” limiting the amount of VCPUs to 5. Note: In this release the created quota will be taken as the total existing capacity by Promise (to be confirmed). Step 2: Create a block storage quota for “Promise” limiting the amount of block storage to 20 GBytes. | |
TC1 | Reservation of a VM for immediate use followed by allocation | Step 1: Create a compute resource reservation. Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 3 VCPUs. Omit start time and end time. Step 4: Create a compute resource using the previous reservation. Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the reservation. Step 7: Terminate the compute resource using the received computeId. Step 9: Terminate the compute resource reservation using the received reservationId. | Step 2: Verify successful response. Step 3: Store the received reservationId. Step 5: Verify successful response. Step 6: Store received computeId. Step 8: Verify successful response. Step 10: Verify successful response. |
TC2 | Reservation of a VM followed by denial of service to another user and by allocation of reserved VM | Step 1: Create a compute resource reservation. Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 5 VCPUs. Omit start time and end time. Step 4: Create a compute resource without using the previous reservation. Description: use the Allocate Virtualised Compute Resource operation not containing the received reservationId. Note: the operation shall be sent as a user of the created “Promise” project in order to be constrained by the quota. This is a limitation of Promise in this release. Step 6: Create a compute resource using the previous reservation. Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the reservation. Step 9: Terminate the compute resource using the received computeId. Step 11: Terminate the compute resource reservation using the received reservationId. | Step 2: Verify successful response. Step 3: Store the received reservationId. Step 5: Verify unsuccessful response. Step 7: Verify successful response. Step 8: Store received computeId. Step 10: Verify successful response. Step 12: Verify successful response. |
TC3 | Reservation of a VM for future use | Step 1: Store Current Time ‘T0’. Step 2: Create a compute resource reservation. Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 3 VCPUs. Indicate ‘T0+200 s’ as start time and ‘T0+3800 s’ as end time. Step 5: Store Current Time ‘T1’. Step 6: Wait T0+200+1-T1 seconds. Step 7: Create a compute resource using the previous reservation. Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the reservation. Step 10: Terminate the compute resource using the received computeId. Step 12: Terminate the compute resource reservation using the received reservationId. | Step 3: Verify successful response. Step 4: Store the received reservationId. Step 8: Verify successful response. Step 9: Store received computeId. Step 11: Verify successful response. Step 13: Verify successful response. |
TC4 | Update of an outstanding reservation, increase capacity | Step 1:Step 1: Store Current Time ‘T0’. Step 2: Create a compute resource reservation. Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 3 VCPUs. Indicate ‘T0+300 s’ as start time and ‘T0+3800 s’ as end time. Step 5: Update the reservation adding one more VCPU. Description: Use the Update Compute Resource Reservation operation to modify the number of VCPUs to 4. Use the received reservationID. Step 7: Store Current Time ‘T1’. Step 8: Wait T0+300+1-T1 seconds. Step 9: Create a compute resource using the previous reservation. Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the updated reservation, i.e. 4 VCPUs. Step 12: terminate the compute resource using the received computeId. Step 14: Terminate the compute resource reservation using the received reservationId. | Step 3: Verify successful response. Step 4: Store the received reservationId. Step 6: Verify successful response. Step 10: Verify successful response. Step 11: Store received computeId. Step 13: Verify successful response. Step 15: Verify successful response. |
TC5 | Update of an outstanding reservation, decrease capacity | Step 1: Store Current Time ‘T0’. Step 2: Create a compute resource reservation. Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 3 VCPUs. Indicate ‘T0+400 s’ as start time and ‘T0+3800 s’ as end time. Step 5: Update the reservation reducing the number of VCPUs to 2. Description: Use the Update Compute Resource Reservation operation to modify the number of VCPUs to 2. Use the received ReservationID. Step 7: Wait T0+400+1-T1 seconds. Step 8: Create a compute resource without using the previous reservation. Description: use the Allocate Virtualised Compute Resource operation not containing the received reservationId to create a VM with 3 VCPUs. Note: the operation shall be sent as a user of the created “Promise” project in order to be constrained by the quota. This is a limitation of Promise in this release. Step 11: Store Current Time ‘T1’. Step 12: Wait T0+400+1-T1 seconds. Step 13: Create a compute resource using the previous reservation. Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and the compute resource’s attributes matching the ones used in the updated reservation, i.e. 2 VCPUs. Step 16: terminate the compute resource using the received computeId. Step 18: terminate the compute resource using the received computeId’. Step 20: Terminate the compute resource reservation using the received reservationId. | Step 3: Verify successful response. Step 4: Store the received reservationId. Step 6: Verify successful response. Step 9: Verify successful response. Step 10: Store received computeId. Step 14: Verify successful response. Step 15: Store received computeId’. Step 17: Verify successful response. Step 19: Verify successful response. Step 21: Verify successful response. |