Merge remote-tracking branch 'upstream/trunk' into trunk
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/a9c23061 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/a9c23061 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/a9c23061 Branch: refs/heads/trunk Commit: a9c23061555b89d5da482b193f8fd85d49c710c7 Parents: 9dadf46 defff8a Author: Juan Font Alonso <juanfontalo...@gmail.com> Authored: Wed May 25 15:58:32 2016 +0200 Committer: Juan Font Alonso <juanfontalo...@gmail.com> Committed: Wed May 25 15:58:32 2016 +0200 ---------------------------------------------------------------------- .travis.yml | 38 + CHANGES.rst | 183 ++- PULL_REQUEST_TEMPLATE.md | 24 + README.rst | 3 + contrib/apply-patch.ps1 | 9 + .../generate_provider_feature_matrix_table.py | 20 +- contrib/scrape-ec2-prices.py | 9 +- demos/gce_demo.py | 110 +- doap_libcloud.rdf | 16 +- docs/backup/_supported_providers.rst | 14 +- docs/committer_guide.rst | 11 +- .../_supported_methods_block_storage.rst | 40 +- .../_supported_methods_image_management.rst | 40 +- .../_supported_methods_key_pair_management.rst | 40 +- docs/compute/_supported_methods_main.rst | 40 +- docs/compute/_supported_providers.rst | 156 +- docs/compute/drivers/aliyun_ecs.rst | 101 ++ docs/container/_supported_providers.rst | 16 +- docs/dns/_supported_methods.rst | 60 +- docs/dns/_supported_providers.rst | 60 +- docs/dns/drivers/buddyns.rst | 23 + docs/dns/drivers/luadns.rst | 25 + docs/dns/drivers/nfsn.rst | 25 + docs/dns/drivers/powerdns.rst | 43 + .../compute/ecs/ex_list_security_groups.py | 15 + docs/examples/compute/ecs/list_images.py | 15 + docs/examples/compute/ecs/list_locations.py | 14 + docs/examples/compute/ecs/list_sizes.py | 15 + docs/examples/compute/ecs/manage_nodes.py | 56 + .../compute/ecs/manage_volumes_and_snapshots.py | 26 + docs/examples/dns/buddyns/instantiate_driver.py | 5 + docs/examples/dns/luadns/instantiate_driver.py | 5 + docs/examples/dns/nfsn/instantiate_driver.py | 5 + .../examples/dns/powerdns/instantiate_driver.py | 13 + docs/faq.rst | 2 +- docs/loadbalancer/_supported_methods.rst | 6 +- docs/loadbalancer/_supported_providers.rst | 32 +- docs/other/ssl-certificate-validation.rst | 1 + docs/other/working-with-oo-apis.rst | 7 +- docs/storage/_supported_methods_cdn.rst | 8 +- docs/storage/_supported_methods_main.rst | 10 +- docs/storage/_supported_providers.rst | 52 +- docs/upgrade_notes.rst | 9 + example_aliyun_ecs.py | 79 + example_aliyun_oss.py | 82 + example_aliyun_slb.py | 55 + libcloud/__init__.py | 2 +- libcloud/backup/base.py | 12 +- libcloud/backup/drivers/dimensiondata.py | 130 +- libcloud/backup/drivers/ebs.py | 15 +- libcloud/backup/providers.py | 9 +- libcloud/backup/types.py | 8 +- libcloud/common/abiquo.py | 2 +- libcloud/common/aliyun.py | 239 +++ libcloud/common/aws.py | 4 +- libcloud/common/azure.py | 1 + libcloud/common/base.py | 55 +- libcloud/common/buddyns.py | 77 + libcloud/common/cloudsigma.py | 10 + libcloud/common/dimensiondata.py | 302 +++- libcloud/common/dnspod.py | 78 + libcloud/common/durabledns.py | 2 + libcloud/common/gandi.py | 1 + libcloud/common/gogrid.py | 3 + libcloud/common/google.py | 8 +- libcloud/common/liquidweb.py | 4 +- libcloud/common/luadns.py | 69 + libcloud/common/nfsn.py | 114 ++ libcloud/common/nsone.py | 62 + libcloud/common/openstack.py | 27 +- libcloud/common/openstack_identity.py | 29 +- libcloud/common/providers.py | 107 ++ libcloud/common/runabove.py | 1 + libcloud/common/worldwidedns.py | 7 +- libcloud/common/xmlrpc.py | 1 + libcloud/common/zonomi.py | 2 + libcloud/compute/base.py | 2 +- libcloud/compute/drivers/abiquo.py | 5 +- libcloud/compute/drivers/bluebox.py | 1 - libcloud/compute/drivers/bsnl.py | 3 - libcloud/compute/drivers/cloudstack.py | 11 +- libcloud/compute/drivers/dimensiondata.py | 1095 +++++++++++-- libcloud/compute/drivers/ec2.py | 129 +- libcloud/compute/drivers/ecs.py | 1533 ++++++++++++++++++ libcloud/compute/drivers/gce.py | 508 +++++- libcloud/compute/drivers/openstack.py | 43 +- libcloud/compute/drivers/profitbricks.py | 22 +- libcloud/compute/drivers/rimuhosting.py | 2 +- libcloud/compute/drivers/vcl.py | 2 +- libcloud/compute/drivers/vcloud.py | 38 + libcloud/compute/providers.py | 75 +- libcloud/compute/types.py | 210 ++- libcloud/container/drivers/docker.py | 9 +- libcloud/container/drivers/kubernetes.py | 23 +- libcloud/container/providers.py | 9 +- libcloud/container/types.py | 8 +- libcloud/data/pricing.json | 971 ++++++----- libcloud/dns/base.py | 2 +- libcloud/dns/drivers/buddyns.py | 153 ++ libcloud/dns/drivers/cloudflare.py | 1 + libcloud/dns/drivers/dnspod.py | 347 ++++ libcloud/dns/drivers/durabledns.py | 2 +- libcloud/dns/drivers/gandi.py | 14 +- libcloud/dns/drivers/godaddy.py | 26 +- libcloud/dns/drivers/google.py | 1 + libcloud/dns/drivers/liquidweb.py | 7 +- libcloud/dns/drivers/luadns.py | 293 ++++ libcloud/dns/drivers/nfsn.py | 198 +++ libcloud/dns/drivers/nsone.py | 359 ++++ libcloud/dns/drivers/pointdns.py | 2 +- libcloud/dns/drivers/powerdns.py | 460 ++++++ libcloud/dns/drivers/rackspace.py | 40 +- libcloud/dns/drivers/softlayer.py | 2 + libcloud/dns/drivers/worldwidedns.py | 2 +- libcloud/dns/providers.py | 29 +- libcloud/dns/types.py | 74 +- libcloud/httplib_ssl.py | 2 + libcloud/loadbalancer/drivers/dimensiondata.py | 22 +- libcloud/loadbalancer/drivers/rackspace.py | 10 +- libcloud/loadbalancer/drivers/slb.py | 831 ++++++++++ libcloud/loadbalancer/providers.py | 19 +- libcloud/loadbalancer/types.py | 27 +- libcloud/pricing.py | 8 +- libcloud/security.py | 3 + libcloud/storage/drivers/azure_blobs.py | 9 +- libcloud/storage/drivers/backblaze_b2.py | 137 +- libcloud/storage/drivers/cloudfiles.py | 30 +- libcloud/storage/drivers/oss.py | 1071 ++++++++++++ libcloud/storage/drivers/rgw.py | 121 ++ libcloud/storage/drivers/s3.py | 2 +- libcloud/storage/providers.py | 26 +- libcloud/storage/types.py | 81 +- libcloud/test/__init__.py | 10 +- .../dimensiondata/_remove_backup_client.xml | 7 + .../_remove_backup_client_FAIL.xml | 7 + ...745_4d8a_9cbc_8dabe5a7d0e4_server_server.xml | 49 - ...76_c76d_4d7c_b39d_3b72be0384c8_cancelJob.xml | 7 + ...6d_4d7c_b39d_3b72be0384c8_cancelJob_FAIL.xml | 7 + ...c_b39d_3b72be0384c8_remove_backup_client.xml | 7 - ...d_3b72be0384c8_remove_backup_client_BUSY.xml | 7 - .../fixtures/dimensiondata/server_server.xml | 49 + ...ver_e75ead52_692f_4314_8725_c8a4f4d13a87.xml | 27 + ...ad52_692f_4314_8725_c8a4f4d13a87_DEFAULT.xml | 27 + libcloud/test/backup/test_dimensiondata.py | 160 +- libcloud/test/common/test_aliyun.py | 60 + libcloud/test/common/test_aws.py | 15 + libcloud/test/common/test_base.py | 15 + libcloud/test/common/test_base_driver.py | 70 + libcloud/test/common/test_nfsn.py | 81 + libcloud/test/common/test_openstack_identity.py | 23 + ...8a_9cbc_8dabe5a7d0e4_image_customerImage.xml | 50 - ...745_4d8a_9cbc_8dabe5a7d0e4_image_osImage.xml | 34 - ...c_8dabe5a7d0e4_infrastructure_datacenter.xml | 188 --- ...abe5a7d0e4_infrastructure_datacenter_NA9.xml | 54 - ...bc_8dabe5a7d0e4_network_addPublicIpBlock.xml | 7 - ..._8dabe5a7d0e4_network_createFirewallRule.xml | 8 - ..._9cbc_8dabe5a7d0e4_network_createNatRule.xml | 9 - ..._8dabe5a7d0e4_network_deleteFirewallRule.xml | 8 - ..._9cbc_8dabe5a7d0e4_network_deleteNatRule.xml | 8 - ...8dabe5a7d0e4_network_deleteNetworkDomain.xml | 8 - ...d8a_9cbc_8dabe5a7d0e4_network_deleteVlan.xml | 8 - ...8dabe5a7d0e4_network_deployNetworkDomain.xml | 8 - ...d8a_9cbc_8dabe5a7d0e4_network_deployVlan.xml | 9 - ...bc_8dabe5a7d0e4_network_editFirewallRule.xml | 8 - ...c_8dabe5a7d0e4_network_editNetworkDomain.xml | 7 - ..._4d8a_9cbc_8dabe5a7d0e4_network_editVlan.xml | 7 - ...d8a_9cbc_8dabe5a7d0e4_network_expandVlan.xml | 8 - ...a_9cbc_8dabe5a7d0e4_network_firewallRule.xml | 210 --- ...ule_d0a20f59_77b9_4f28_a63b_e58496b73a6c.xml | 18 - ...5_4d8a_9cbc_8dabe5a7d0e4_network_natRule.xml | 21 - ...ule_2187a636_7ebb_49a1_a2ff_5d617f496dce.xml | 9 - ..._9cbc_8dabe5a7d0e4_network_networkDomain.xml | 43 - ...ain_8cdfd607_f429_4df6_9352_162cfc0891be.xml | 9 - ..._9cbc_8dabe5a7d0e4_network_publicIpBlock.xml | 10 - ...ock_4487241a_f0ca_11e3_9315_d4bed9b167ba.xml | 8 - ...ock_9945dc4a_bdce_11e4_8c14_b8ca3a5d9ef8.xml | 8 - ...8dabe5a7d0e4_network_removePublicIpBlock.xml | 8 - ...2745_4d8a_9cbc_8dabe5a7d0e4_network_vlan.xml | 25 - ...lan_0e56433f_d808_4669_821d_812769517ff8.xml | 14 - ...9cbc_8dabe5a7d0e4_report_usageMonitoring.xml | 8 - ...745_4d8a_9cbc_8dabe5a7d0e4_server_addNic.xml | 9 - ...a7d0e4_server_changeServerMonitoringPlan.xml | 8 - ...8a_9cbc_8dabe5a7d0e4_server_deleteServer.xml | 9 - ...5a7d0e4_server_deleteServer_RESOURCEBUSY.xml | 8 - ...8a_9cbc_8dabe5a7d0e4_server_deployServer.xml | 8 - ...be5a7d0e4_server_disableServerMonitoring.xml | 8 - ...abe5a7d0e4_server_enableServerMonitoring.xml | 8 - ..._9cbc_8dabe5a7d0e4_server_powerOffServer.xml | 8 - ...5a7d0e4_server_powerOffServer_INPROGRESS.xml | 8 - ...8a_9cbc_8dabe5a7d0e4_server_rebootServer.xml | 8 - ...5a7d0e4_server_rebootServer_RESOURCEBUSY.xml | 7 - ...bc_8dabe5a7d0e4_server_reconfigureServer.xml | 5 - ..._4d8a_9cbc_8dabe5a7d0e4_server_removeNic.xml | 9 - ...d8a_9cbc_8dabe5a7d0e4_server_resetServer.xml | 8 - ...745_4d8a_9cbc_8dabe5a7d0e4_server_server.xml | 49 - ...4d8a_9cbc_8dabe5a7d0e4_server_server_NA3.xml | 50 - ...ver_e75ead52_692f_4314_8725_c8a4f4d13a87.xml | 27 - ...cbc_8dabe5a7d0e4_server_server_paginated.xml | 50 - ..._9cbc_8dabe5a7d0e4_server_shutdownServer.xml | 8 - ...5a7d0e4_server_shutdownServer_INPROGRESS.xml | 8 - ...d8a_9cbc_8dabe5a7d0e4_server_startServer.xml | 8 - ...abe5a7d0e4_server_startServer_INPROGRESS.xml | 8 - ...bc_8dabe5a7d0e4_server_updateVmwareTools.xml | 8 - .../dimensiondata/image_customerImage.xml | 50 + ...age_2ffa36c8_1848_49eb_b4fa_9d908775f68c.xml | 17 + ...age_5234e5c7_01de_4411_8b6e_baeb8d91cf5d.xml | 17 + .../image_customerImage_BAD_REQUEST.xml | 6 + .../fixtures/dimensiondata/image_osImage.xml | 34 + ...age_6b4fb0c7_a57b_4f58_b59c_9958f94f971a.xml | 11 + .../dimensiondata/image_osImage_BAD_REQUEST.xml | 6 + ...age_c14b1a46_2428_44c1_9c1a_b20e6418d08c.xml | 12 + .../dimensiondata/infrastructure_datacenter.xml | 188 +++ .../infrastructure_datacenter_NA9.xml | 54 + .../dimensiondata/network_addPublicIpBlock.xml | 7 + .../network_createFirewallRule.xml | 8 + .../dimensiondata/network_createNatRule.xml | 9 + .../network_deleteFirewallRule.xml | 8 + .../dimensiondata/network_deleteNatRule.xml | 8 + .../network_deleteNetworkDomain.xml | 8 + .../dimensiondata/network_deleteVlan.xml | 8 + .../network_deployNetworkDomain.xml | 8 + .../dimensiondata/network_deployVlan.xml | 9 + .../dimensiondata/network_editFirewallRule.xml | 8 + .../dimensiondata/network_editNetworkDomain.xml | 7 + .../fixtures/dimensiondata/network_editVlan.xml | 7 + .../dimensiondata/network_expandVlan.xml | 8 + .../dimensiondata/network_firewallRule.xml | 35 + ...ule_d0a20f59_77b9_4f28_a63b_e58496b73a6c.xml | 18 + .../fixtures/dimensiondata/network_natRule.xml | 21 + ...ule_2187a636_7ebb_49a1_a2ff_5d617f496dce.xml | 9 + .../dimensiondata/network_networkDomain.xml | 43 + ...ain_8cdfd607_f429_4df6_9352_162cfc0891be.xml | 9 + .../dimensiondata/network_publicIpBlock.xml | 10 + ...ock_4487241a_f0ca_11e3_9315_d4bed9b167ba.xml | 8 + ...ock_9945dc4a_bdce_11e4_8c14_b8ca3a5d9ef8.xml | 8 + .../network_removePublicIpBlock.xml | 8 + .../fixtures/dimensiondata/network_vlan.xml | 25 + ...lan_0e56433f_d808_4669_821d_812769517ff8.xml | 14 + ...cbc_8dabe5a7d0e4_antiAffinityRule_create.xml | 11 + ...dabe5a7d0e4_antiAffinityRule_create_FAIL.xml | 7 + ...cbc_8dabe5a7d0e4_antiAffinityRule_delete.xml | 7 + ...dabe5a7d0e4_antiAffinityRule_delete_FAIL.xml | 7 + .../dimensiondata/report_usageMonitoring.xml | 8 + .../fixtures/dimensiondata/server_addDisk.xml | 9 + .../fixtures/dimensiondata/server_addNic.xml | 9 + .../server_antiAffinityRule_list.xml | 42 + .../server_antiAffinityRule_list_PAGINATED.xml | 42 + .../server_changeServerMonitoringPlan.xml | 8 + .../dimensiondata/server_cleanServer.xml | 9 + .../dimensiondata/server_deleteServer.xml | 9 + .../server_deleteServer_RESOURCEBUSY.xml | 8 + .../dimensiondata/server_deployServer.xml | 8 + .../server_disableServerMonitoring.xml | 8 + .../server_enableServerMonitoring.xml | 8 + .../dimensiondata/server_powerOffServer.xml | 8 + .../server_powerOffServer_INPROGRESS.xml | 8 + .../dimensiondata/server_rebootServer.xml | 8 + .../server_rebootServer_RESOURCEBUSY.xml | 7 + .../dimensiondata/server_reconfigureServer.xml | 5 + .../dimensiondata/server_removeDisk.xml | 6 + .../fixtures/dimensiondata/server_removeNic.xml | 9 + .../dimensiondata/server_resetServer.xml | 8 + .../fixtures/dimensiondata/server_server.xml | 176 ++ .../dimensiondata/server_server_NA3.xml | 50 + ...ver_e75ead52_692f_4314_8725_c8a4f4d13a87.xml | 27 + .../dimensiondata/server_server_paginated.xml | 50 + .../dimensiondata/server_shutdownServer.xml | 8 + .../server_shutdownServer_INPROGRESS.xml | 8 + .../dimensiondata/server_startServer.xml | 8 + .../server_startServer_INPROGRESS.xml | 8 + .../dimensiondata/server_updateVmwareTools.xml | 8 + .../fixtures/dimensiondata/tag_applyTags.xml | 6 + .../dimensiondata/tag_applyTags_BADREQUEST.xml | 6 + .../fixtures/dimensiondata/tag_createTagKey.xml | 7 + .../tag_createTagKey_BADREQUEST.xml | 6 + .../fixtures/dimensiondata/tag_deleteTagKey.xml | 6 + .../tag_deleteTagKey_BADREQUEST.xml | 6 + .../fixtures/dimensiondata/tag_editTagKey.xml | 6 + .../dimensiondata/tag_editTagKey_BADREQUEST.xml | 6 + .../fixtures/dimensiondata/tag_removeTag.xml | 6 + .../dimensiondata/tag_removeTag_BADREQUEST.xml | 6 + ...Key_5ab77f5f_5aa9_426f_8459_4eab34e03d54.xml | 6 + ...f_5aa9_426f_8459_4eab34e03d54_BADREQUEST.xml | 6 + .../fixtures/dimensiondata/tag_tagKey_list.xml | 19 + .../dimensiondata/tag_tagKey_list_SINGLE.xml | 8 + .../fixtures/dimensiondata/tag_tag_list.xml | 36 + .../test/compute/fixtures/ecs/attach_disk.xml | 4 + .../test/compute/fixtures/ecs/copy_image.xml | 5 + .../test/compute/fixtures/ecs/create_disk.xml | 5 + .../test/compute/fixtures/ecs/create_image.xml | 5 + .../compute/fixtures/ecs/create_instance.xml | 5 + .../ecs/create_node_describe_instances.xml | 56 + .../compute/fixtures/ecs/create_snapshot.xml | 5 + .../ecs/create_volume_describe_disks.xml | 36 + .../test/compute/fixtures/ecs/delete_disk.xml | 4 + .../test/compute/fixtures/ecs/delete_image.xml | 4 + .../compute/fixtures/ecs/delete_instance.xml | 4 + .../compute/fixtures/ecs/delete_snapshot.xml | 4 + .../compute/fixtures/ecs/describe_disks.xml | 62 + .../compute/fixtures/ecs/describe_images.xml | 41 + .../fixtures/ecs/describe_instance_types.xml | 18 + .../compute/fixtures/ecs/describe_instances.xml | 56 + .../compute/fixtures/ecs/describe_regions.xml | 42 + .../fixtures/ecs/describe_security_groups.xml | 18 + .../compute/fixtures/ecs/describe_snapshots.xml | 25 + .../compute/fixtures/ecs/describe_zones.xml | 42 + .../ecs/destroy_node_describe_instances.xml | 56 + .../ecs/destroy_volume_describe_disks.xml | 36 + .../test/compute/fixtures/ecs/detach_disk.xml | 4 + .../ecs/detach_volume_describe_disks.xml | 36 + .../fixtures/ecs/get_image_describe_images.xml | 10 + .../fixtures/ecs/pages_describe_images.xml | 41 + .../ecs/pages_describe_images_page2.xml | 41 + .../compute/fixtures/ecs/reboot_instance.xml | 4 + .../ecs/reboot_node_describe_instances.xml | 56 + .../compute/fixtures/ecs/start_instance.xml | 4 + .../test/compute/fixtures/ecs/stop_instance.xml | 4 + .../ecs/stop_node_describe_instances.xml | 56 + .../fixtures/gce/aggregated_subnetworks.json | 66 + .../gce/global_images_family_notfound.json | 13 + .../compute/fixtures/gce/global_networks.json | 75 +- .../fixtures/gce/global_networks_cf.json | 14 + .../gce/global_networks_custom_network.json | 14 + ...on_regions_us-central1_subnetworks_post.json | 15 + ...oreos-cloud_global_images_family_coreos.json | 17 + .../fixtures/gce/regions_asia-east1.json | 65 + .../fixtures/gce/regions_europe-west1.json | 64 + .../fixtures/gce/regions_us-central1.json | 65 + .../gce/regions_us-central1_subnetworks.json | 18 + ...entral1_subnetworks_cf_972cf02e6ad49112.json | 11 + .../regions_us-central1_subnetworks_post.json | 14 + .../compute/fixtures/gce/regions_us-east1.json | 64 + .../fixtures/gce/zones_asia-east1-b.json | 10 + ...es_us-central1-a_instances_sn-node-name.json | 49 + .../compute/fixtures/gce/zones_us-east1-b.json | 10 + ...nes_us_central1_a_instances_custom_node.json | 48 + ...l1_a_instances_node_name_setMachineType.json | 15 + ...a_instances_stopped_node_setMachineType.json | 15 + ...1_a_operations_operation_setMachineType.json | 15 + ...ons_operation_setMachineType_notstopped.json | 26 + .../openstack_v1.1/_servers_detail.json | 22 + libcloud/test/compute/test_cloudstack.py | 16 + libcloud/test/compute/test_dimensiondata.py | 1257 ++++++++++++-- libcloud/test/compute/test_ec2.py | 60 +- libcloud/test/compute/test_ecs.py | 912 +++++++++++ libcloud/test/compute/test_gce.py | 345 +++- libcloud/test/compute/test_openstack.py | 15 +- libcloud/test/compute/test_rackspace.py | 8 +- libcloud/test/compute/test_ssh_client.py | 4 +- libcloud/test/compute/test_vcloud.py | 4 + .../fixtures/buddyns/create_zone_success.json | 8 + .../fixtures/buddyns/delete_zone_success.json | 0 .../dns/fixtures/buddyns/empty_zones_list.json | 1 + .../dns/fixtures/buddyns/get_zone_success.json | 7 + .../test/dns/fixtures/buddyns/list_zones.json | 18 + .../fixtures/buddyns/zone_already_exists.json | 3 + .../fixtures/buddyns/zone_does_not_exist.json | 1 + .../fixtures/dnspod/create_zone_success.json | 12 + .../delete_record_record_does_not_exist.json | 1 + .../fixtures/dnspod/delete_record_success.json | 0 .../fixtures/dnspod/delete_zone_success.json | 0 .../dns/fixtures/dnspod/empty_zones_list.json | 1 + .../test/dns/fixtures/dnspod/get_record.json | 26 + .../dns/fixtures/dnspod/get_zone_success.json | 28 + .../test/dns/fixtures/dnspod/list_records.json | 93 ++ .../test/dns/fixtures/dnspod/list_zones.json | 42 + .../fixtures/dnspod/record_already_exists.json | 8 + .../fixtures/dnspod/zone_already_exists.json | 1 + .../fixtures/dnspod/zone_does_not_exist.json | 1 + .../test/dns/fixtures/gandi/list_records.xml | 26 + .../fixtures/luadns/create_record_success.json | 10 + .../fixtures/luadns/create_zone_success.json | 10 + .../fixtures/luadns/delete_record_success.json | 0 .../fixtures/luadns/delete_zone_success.json | 0 .../dns/fixtures/luadns/empty_records_list.json | 1 + .../dns/fixtures/luadns/empty_zones_list.json | 1 + .../test/dns/fixtures/luadns/get_record.json | 10 + libcloud/test/dns/fixtures/luadns/get_zone.json | 42 + .../fixtures/luadns/record_does_not_exist.json | 1 + .../test/dns/fixtures/luadns/records_list.json | 22 + .../fixtures/luadns/zone_already_exists.json | 4 + .../fixtures/luadns/zone_does_not_exist.json | 1 + .../test/dns/fixtures/luadns/zones_list.json | 22 + .../test/dns/fixtures/nfsn/list_one_record.json | 9 + .../test/dns/fixtures/nfsn/list_records.json | 16 + .../dns/fixtures/nfsn/list_records_created.json | 23 + .../dns/fixtures/nfsn/record_not_removed.json | 4 + .../test/dns/fixtures/nfsn/zone_not_found.json | 4 + .../dns/fixtures/nsone/create_zone_success.json | 38 + .../fixtures/nsone/delete_record_success.json | 0 .../dns/fixtures/nsone/delete_zone_success.json | 0 .../dns/fixtures/nsone/empty_zones_list.json | 1 + .../dns/fixtures/nsone/get_record_success.json | 117 ++ .../dns/fixtures/nsone/get_zone_success.json | 48 + .../dns/fixtures/nsone/list_records_empty.json | 24 + .../test/dns/fixtures/nsone/list_zones.json | 40 + .../fixtures/nsone/record_does_not_exist.json | 1 + .../dns/fixtures/nsone/zone_already_exists.json | 1 + .../dns/fixtures/nsone/zone_does_not_exist.json | 1 + .../dns/fixtures/powerdns/list_records.json | 49 + .../test/dns/fixtures/powerdns/list_zones.json | 30 + libcloud/test/dns/test_buddyns.py | 155 ++ libcloud/test/dns/test_dnspod.py | 266 +++ libcloud/test/dns/test_gandi.py | 10 +- libcloud/test/dns/test_luadns.py | 306 ++++ libcloud/test/dns/test_nfsn.py | 148 ++ libcloud/test/dns/test_nsone.py | 259 +++ libcloud/test/dns/test_powerdns.py | 190 +++ libcloud/test/dns/test_rackspace.py | 15 +- ...be5a7d0e4_networkDomainVip_addPoolMember.xml | 9 - ...8dabe5a7d0e4_networkDomainVip_createNode.xml | 8 - ...8dabe5a7d0e4_networkDomainVip_createPool.xml | 9 - ...4_networkDomainVip_createVirtualListener.xml | 11 - ...e4_networkDomainVip_defaultHealthMonitor.xml | 35 - ...abe5a7d0e4_networkDomainVip_defaultIrule.xml | 47 - ...tworkDomainVip_defaultPersistenceProfile.xml | 47 - ...8dabe5a7d0e4_networkDomainVip_deleteNode.xml | 9 - ...8dabe5a7d0e4_networkDomainVip_deletePool.xml | 9 - ...4_networkDomainVip_deleteVirtualListener.xml | 9 - ...c_8dabe5a7d0e4_networkDomainVip_editNode.xml | 8 - ...c_8dabe5a7d0e4_networkDomainVip_editPool.xml | 9 - ...e5a7d0e4_networkDomainVip_editPoolMember.xml | 8 - ..._9cbc_8dabe5a7d0e4_networkDomainVip_node.xml | 29 - ...ode_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml | 13 - ..._9cbc_8dabe5a7d0e4_networkDomainVip_pool.xml | 37 - ...8dabe5a7d0e4_networkDomainVip_poolMember.xml | 29 - ...ber_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml | 13 - ...ool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml | 17 - ...a7d0e4_networkDomainVip_removePoolMember.xml | 7 - ...5a7d0e4_networkDomainVip_virtualListener.xml | 51 - ...ner_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml | 44 - .../networkDomainVip_addPoolMember.xml | 9 + .../networkDomainVip_createNode.xml | 8 + .../networkDomainVip_createPool.xml | 9 + .../networkDomainVip_createVirtualListener.xml | 11 + .../networkDomainVip_defaultHealthMonitor.xml | 35 + .../networkDomainVip_defaultIrule.xml | 47 + ...tworkDomainVip_defaultPersistenceProfile.xml | 47 + .../networkDomainVip_deleteNode.xml | 9 + .../networkDomainVip_deletePool.xml | 9 + .../networkDomainVip_deleteVirtualListener.xml | 9 + .../dimensiondata/networkDomainVip_editNode.xml | 8 + .../dimensiondata/networkDomainVip_editPool.xml | 9 + .../networkDomainVip_editPoolMember.xml | 8 + .../dimensiondata/networkDomainVip_node.xml | 29 + ...ode_34de6ed6_46a4_4dae_a753_2f8d3840c6f9.xml | 13 + .../dimensiondata/networkDomainVip_pool.xml | 37 + .../networkDomainVip_poolMember.xml | 29 + ...ber_3dd806a2_c2c8_4c0c_9a4f_5219ea9266c0.xml | 13 + ...ool_4d360b1f_bc2c_4ab7_9884_1f03ba2768f7.xml | 17 + .../networkDomainVip_removePoolMember.xml | 7 + .../networkDomainVip_virtualListener.xml | 51 + ...ner_6115469d_a8bb_445b_bb23_d23b5283f2b9.xml | 44 + .../fixtures/slb/add_backend_servers.xml | 11 + .../fixtures/slb/create_load_balancer.xml | 10 + .../slb/create_load_balancer_http_listener.xml | 4 + .../fixtures/slb/delete_load_balancer.xml | 4 + .../fixtures/slb/delete_server_certificate.xml | 4 + .../slb/describe_load_balancer_attribute.xml | 38 + .../fixtures/slb/describe_load_balancers.xml | 20 + .../slb/describe_server_certificates.xml | 15 + .../fixtures/slb/remove_backend_servers.xml | 11 + .../slb/set_server_certificate_name.xml | 4 + .../slb/start_load_balancer_listener.xml | 4 + .../fixtures/slb/upload_server_certificate.xml | 7 + .../test/loadbalancer/test_dimensiondata.py | 88 +- libcloud/test/loadbalancer/test_rackspace.py | 3 +- libcloud/test/loadbalancer/test_slb.py | 566 +++++++ libcloud/test/secrets.py-dist | 7 + .../fixtures/oss/complete_multipart_upload.xml | 7 + .../oss/ex_iterate_multipart_uploads_p1.xml | 22 + .../oss/ex_iterate_multipart_uploads_p2.xml | 17 + .../fixtures/oss/initiate_multipart_upload.xml | 6 + .../fixtures/oss/list_container_objects.xml | 33 + .../oss/list_container_objects_chinese.xml | 32 + .../oss/list_container_objects_empty.xml | 9 + .../oss/list_container_objects_prefix.xml | 33 + .../storage/fixtures/oss/list_containers.xml | 19 + .../fixtures/oss/list_containers_empty.xml | 9 + libcloud/test/storage/test_backblaze_b2.py | 25 + libcloud/test/storage/test_cloudfiles.py | 11 +- libcloud/test/storage/test_oss.py | 881 ++++++++++ libcloud/test/storage/test_rgw.py | 99 ++ libcloud/test/storage/test_s3.py | 6 +- libcloud/test/test_httplib_ssl.py | 10 + libcloud/utils/escape.py | 22 + libcloud/utils/misc.py | 49 +- libcloud/utils/py3.py | 13 +- requirements-tests.txt | 2 + tox.ini | 46 +- 490 files changed, 21004 insertions(+), 3678 deletions(-) ----------------------------------------------------------------------