...
All tests are written keeping regions in mind. Null value have been passed for region. To get the endpoint it was making call to describeRegions, which is not supported by Cloudstack so code changes have been made for that.
A new project cloudsatck-query-ec2 have been created in jclouds. These The changes are in ec2 project. These changes are on repo in cloudstack-ec2-queryapi branch and in cloudstack-query-ec2 project .
In summary 13 34 API calls in tests scenarios are passing. Some failing/skipped ones are dependent on failed tests which are expected to pass once the failed test is ok. The APIs which are passing are as follows
- describeImages
- describeInstances
- describeAddresses
- createVolume
- describeVolumes
- describeSnapshots
- describeAvailabilityZones
- createKeyPair
- describeKeyPairs
- deleteKeyPair
- createSecurityGroup
- deleteSecurityGroup
- describeSecurityGroups
These tests are failing or skipped(dependent on failed tests)
- authorizeSecurityGroupIngress
- revokeSecurityGroupIngress
- createSnapshot
- createVolumeFromSnapshot
- deleteVolumeattachVolume
- detachVolume
- runInstances
- terminateInstances
- deleteSnapshot
...
The API calls which are working fine with jclouds parser after my changes
- attachVolume
- detachVolume
- StopInstances
- StartInstances
- RebootInstances
- DescribeInstanceAttribute
- CreateImage
- DeregisterImage
- DescribeImageAttribute
- ModifyImageAttribute
- ResetImageAttribute
- RegisterImage
- ImportKeyPair
- AllocateAddress
- AssociateAddress
- DisassociateAddress
- ReleaseAddress
These tests are failing or skipped(dependent on failed tests) on jclouds as some API call is broken in jclouds
- authorizeSecurityGroupIngress
- revokeSecurityGroupIngress
These tests are not implemented in jclouds
- ModifyImageAttribute
- GetPassword
- createTags
- describeTags
- deleteTags
- ImportKeyPair
Below things are in following format
...
- testDescribeImages It expects two images(normal one and ebs one) so its expectation has been changed to one image.
- describeImagesInRegion Here describeImages API call is made without any parameters. This test checks whether images in response are not null and correct in number.
- describeImagesInRegion (imageid) This call is made with parameter imageid. Test checks whether response contains only one image with the image id as imageid. describeImagesInRegion (imageid)
CloudStackQueryEC2InstanceClientLiveTest
- testDescribeInstancesNo change
- describeInstancesInRegion Here describeInstances API call is made without any parameters. This test checks whether instnaces in response are not null and are greater than or equal to 0.
CloudStackQueryEC2ElasticIPAddressClientLiveTest
- testDescribeAddresses No Change
- describeAddressesInRegion Here describeAddresses API call is made without any parameters. This test checks whether public IP pairs in response are not null .
- describeAddressesInRegion(publicIp) If above call return result greater than 0 then make describeAddresses API call with parameter publicIp. It checks whether response contains the single pair with with public IP piblicIp.
CloudStackQueryEC2ElasticBlockStoreClientLiveTest
- *testCreateVolumeInAvailabilityZone *have to change result size to 2( as some test not cleaned up the created volume, work in progress)
- createVolumeInAvailabilityZone(zone, size) Here createVolume API call is made with parameters zone and size. It checks whether response is not null and zone of volume is zone
- describeVolumesInRegion(volumeid) Here describeVolumes API call is made with parameters volumeid. It checks whether result in response is not null and volume id is volumeid
- *testDescribeSnapshots *no change
- describeSnapshotsInRegion Here describeSnapshots API call is made without any parameters. This test checks whether snapshots in response are not null.
- describeSnapshotsInRegion(snapshotid) This call is made with parameter snapshotid. Test checks whether response contains only one snapshot with the snapshot id as snapshotid.
- testDescribeVolumes command is working fine
- describeVolumesInRegion Here describeImages API call is made without any parameters. This test checks whether response is parsed correctly.
CloudStackQueryEC2AvailabilityZoneAndRegionClientLiveTest
- testDescribeAvailabilityZones no change
- describeAvailabilityZonesInRegion Here describeAvailabilityZones API call is made without any parameters. This test checks whether Availability Zones in response are not null and correct in number.
- describeAvailabilityZonesInRegion(zoneid) This call is made with parameter zoneid. Test checks whether response contains only one zone with the zone id as zoneid.
CloudStackQueryEC2KeyPairClientLiveTest
- *testCreateKeyPair *have to remove one delete keypair call as this was deleting non-existent keypair.
- createKeyPairInRegion(keyName) Here createKeyPair API call is made with parameter keyName. This test checks whether result in response is not null. It also checks whether various parameters of key Pair are not null. Parameters checked are keyMaterial, SHA1 of private Key and keyName.
- describeKeyPairsInRegion(keyName) Here describeKeyPairs API call is called with parameter keyName. It checks whether response contains the single pair with with key pair name as keyname.
- deleteKeyPairInRegion(keyName) Here deleteKeyPair API call is made with parameter keyName. It checks whether response is parsed correctly by jclouds
- testDescribeKeyPairschanges related to region
- describeKeyPairsInRegion Here describeKeyPairs API call is made without any parameters. This test checks whether Key Paiirs in response are not null .
- describeKeyPairsInRegion(keyName) If above call return result greater than 0 then make describeKeyPairs API call with parameter keyName. It checks whether response contains the single pair with with key pair name as keyname.
CloudStackQueryEC2SecurityGroupClientLiveTest
- testCreateSecurityGroup *testCreateSecurityGroup *have to remove one delete security group call as this was deleting non-existent security group.
- createSecurityGroupInRegion(groupName, groupDescription) Here createSecurityGroup API call is made with parameters groupName and groupDescription. It checks whether response is not null and and group is created with parameters passed correctly.
- deleteSecurityGroupInRegion(groupName) Here deleteSecurityGroup API call is made with parameter groupName. It checks whether response is parsed correctly by jclouds
- *testDescribe *changes related to region
- describeSecurityGroupsInRegion Here describeSecurityGroups API call is made without any parameters. This test checks whether security groups in response are not null.
- describeSecurityGroupsInRegion(groupName) If above call return result greater than 0 then make describeSecurityGroups API call with parameter groupName. It checks whether response contains the single security group with with name groupName.
Tests which are failing
CloudStackQueryEC2AMIClientLiveTest
...
API Calls which are not called in any tests
...
- StartInstances
- RebootInstances
- DescribeInstanceAttribute
- CreateImage
- DeregisterImage
- DescribeImageAttribute
- ModifyImageAttribute
- ResetImageAttribute
- RegisterImage
- ImportKeyPair
- AllocateAddress
- AssociateAddress
- DisassociateAddress
- ReleaseAddress
- GetPassword
...