User Tools

Site Tools


promise:testcases

Promise Function Test

Basic test cases (for Brahmaputra)

Promise test cases - to be updated

Scenario-based test cases (for later release)

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 VMStep 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 useStep 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 capacityStep 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 capacityStep 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.
TC6 Notification of reservation changeStep 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 4 VCPUs. Indicate ‘T0+400 s’ as start time and ‘T0+3800 s’ as end time.



Step 5: Subscribe to notifications of changes affecting the reservation.
Description: use the Subscribe operation with the received reservationId in order to get notified of changes that affect the reservation.

Step 7: Reduce the quota for “Promise” limiting the amount of VCPUs to 3.
Note: In this release the created quota will be taken as the total existing capacity by Promise (to be confirmed).






Step 9: Terminate the compute resource reservation using the received reservationId.


Step 11: Restore the quota for “Promise” limiting the amount of VCPUs to 5.




Step 3: Verify successful response.
Step 4: Store the received reservationId.




Step 6: Verify successful response.



Step 8: Verify a Notification is received. The reservation is modified to 3 VCPUs.
Note: alternatively, the notification could indicate that the reservation is no longer valid.


Step 10: Verify successful response.
TC7 Cancellation of a reservationStep1: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: Cancel the reservation.
Description: use the Terminate Compute Resource Reservation operation with the receive reservationId.



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 4 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: Terminate the compute resource using the received computeId.



Step 3: Verify successful response.
Step 4: Store the received reservationId.


Step 6: Verify successful response.
Step 7: Wait T0+400+1-T1 seconds.





Step 9: Verify successful response.
Step 10: Store received computeId.


Step 12: Verify successful response.
TC8 Query of a reservationStep 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: Query the reservation.
Description: use the Query Compute Resource Reservation operation with the receive reservationId.


Step 7: 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 and verify that attributes match the ones requested in Step 2.

Step 8: Verify successful response.
TC9 Create a bulk reservation of compute capacityStep 1: Store Current Time ‘T0’.
Step 2: Create a bulk compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a computePool with 5 VCPUs. Indicate ‘T0+200 s’ as start time and ‘T0+3800 s’ as end time.


Step 5: Wait T0+200+1-T1 seconds.
Step 6: Create a compute resource that consumes resources from the previous pool reservation.
Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and indicating 2 VCPUs.


Step 9: Create a second compute resource that consumes resources from the previous pool reservation.
Description: use the Allocate Virtualised Compute Resource operation containing the received reservationId and indicating 2 VCPUs.


Step 12: Terminate the compute resource using the received computeId.


Step 14: Terminate the compute resource using the received computeId’.

Step 16: Terminate the compute resource reservation using the received reservationId.



Step 3: Verify successful response.
Step 4: Store the received reservationId.



Step 7: Verify successful response.
Step 8: Store received computeId.



Step 10: Verify successful response.
Step 11: Store received computeId’.


Step 13: Verify successful response.


Step 15: Verify successful response.

Step 17: Verify successful response.
TC10 Rejection of a reservation due to lack of resourcesStep 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: Create a second compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 4 VCPUs. Indicate ‘T0+400 s’ as start time and ‘T0+3800 s’ as end time.

Step 7: Terminate the compute resource reservation using the received reservationId.



Step 3: Verify successful response.
Step 4: Store the received reservationId.



Step 6: Verify unsuccessful response.



Step 8: Verify unsuccessful response.
TC11 Reservation of block storage for future useStep 1: Store Current Time ‘T0’.
Step 2: Create a storage resource reservation.
Description: Use the Create Storage Resource Reservation operation to reserve a storagePool of 15 GBytes. 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 block storage resource using the previous reservation.
Description: use the Allocate Virtualised Storage Resource operation containing the received reservationId and indicating 15 GBytes as storage size.

Step 10: terminate the storage resource using the received storageId.

Step 12: Terminate the storage 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 storageId.

Step 11: Verify successful response.

Step 13: Verify successful response.
TC12 Capacity Management, queryStep 1: Discover the total compute capacity.
Description: Use the Query Compute Capacity operation to find out what is the total capacity. As resource type use a compute resource with one VCPU. Specify that you are interested in the total capacity using the filter attribute.


Step 3: Create a compute resource.
Description: use the Allocate Virtualised Compute Resource operation. Indicate that the compute resource has one VCPU.


Step 6: Discover the available compute capacity.
Description: Use the Query Compute Capacity operation to find out what is the available capacity. As resource type use a compute resource with one VCPU. Specify that you are interested in the available capacity using the filter attribute.

Step 8: Discover the used compute capacity.
Description: Use the Query Compute Capacity operation to find out what is the used capacity. As resource type use a compute resource with one VCPU. Specify that you are interested in the used capacity using the filter attribute.

Step 10: terminate the compute resource using the received computeId.

Step 12: 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 15: Discover the reserved compute capacity.
Description: Use the Query Compute Capacity operation to find out what is the reserved capacity. As computeResourceType use a compute resource with one VCPU. Specify that you are interested in the reserved capacity using the filter attribute.

Step 17: Terminate the compute resource reservation using the received reservationId.



Step 2: Verify the response indicates capacity of 5 .



Step 4: Verify successful response.
Step 5: Store received computeId.



Step 7: Verify the response indicates capacity of 4.



Step 9: Verify the response indicates capacity of 1.



Step 11: Verify successful response.


Step 13: Verify successful response.
Step 14: Store the received reservationId.

Step 16: Verify the response indicates capacity of 3.




Step 18: Verify successful response.
TC13 Capacity Management, notificationStep 1: Subscribe to notifications of capacity changes.
Description: use the Subscribe operation to get notifications of changes in capacity. Use the filter attribute to specify that changes in total, available, reserved and used capacity should be notified. Specified as resource type a computeResource with 1 VCPU.


Step 4: Reduce the quota for “Promise” limiting the amount of VCPUs to 3.
Note: In this release the created quota will be taken as the total existing capacity by Promise (to be confirmed).


Step 6: Create a compute resource.
Description: use the Allocate Virtualised Compute Resource operation indicating 1 VCPU.





Step 10: Create a compute resource reservation.
Description: Use the Create Compute Resource Reservation operation to reserve a virtualizationContainer with 1 VCPU. Omit start time and end time.






Step 14: Terminate the compute resource reservation using the received reservationId.





Step 17: terminate the compute resource using the received computeId.





Step 20: Restore the quota for “Promise” to its original value 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: Verify successful response.
Step 3: Store the received subscriptionId.



Step 5: Verify a Notification is received. Verify it indicates that the total capacity equals 3 and the available capacity equals 3.


Step 7: Verify successful response.
Step 8: Store the received computeId.
Step 9: Verify a Notification is received. Verify it indicates that the available capacity equals 2 and the used capacity equals 1.


Step 11: Verify successful response.
Step 12: Store the received reservationId.
Step 13: Verify a Notification is received. Verify it indicates that the available capacity equals 1 and the reserved capacity equals 1.

Step 15: Verify successful response.
Step 16: Verify a Notification is received. Verify it indicates that the available capacity equals 2 and the reserved capacity equals 0.

Step 18: Verify successful response.
Step 19: Verify a Notification is received. Verify it indicates that the available capacity equals 3 and the used capacity equals 0.

Step 21: Verify a Notification is received. Verify it indicates that the total capacity equals 5 and the available capacity equals 5.
Last Clean-up Step 1: Remove CPU quota.
Step 2: Remove storage quota.
Step 3: Remove OpenStack project “Promise”.
promise/testcases.txt · Last modified: 2016/02/02 07:57 by Gerald Kunzmann