Merge pull request #3 from 
SecurityCompass/LIBCLOUD-556_azure_compute_driver_rebased

Support for Virtual Machine Images and handling of Temp Redirects

Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/33e0090a
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/33e0090a
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/33e0090a

Branch: refs/heads/trunk
Commit: 33e0090a7ac4ba857a7933934993fce5f77efdec
Parents: b331418 65f4a7a
Author: Matt Baldwin <[email protected]>
Authored: Fri Feb 27 09:26:12 2015 -0800
Committer: Matt Baldwin <[email protected]>
Committed: Fri Feb 27 09:26:12 2015 -0800

----------------------------------------------------------------------
 .gitignore                                      |    4 +
 .pylintrc                                       |   35 +
 .travis.yml                                     |    5 +
 CHANGES.rst                                     |  514 +++-
 README.rst                                      |   15 +-
 contrib/generate_contributor_list.py            |    4 +-
 .../generate_provider_feature_matrix_table.py   |   16 +-
 contrib/scrape-ec2-prices.py                    |  186 ++
 demos/gce_demo.py                               |    6 +-
 demos/gce_lb_demo.py                            |    2 +-
 demos/secrets.py-dist                           |    2 +-
 doap_libcloud.rdf                               |   49 +
 .../images/misc/hp_cloud_console_projects.jpg   |  Bin 0 -> 70787 bytes
 docs/_static/images/provider_logos/hpcloud.png  |  Bin 0 -> 13309 bytes
 docs/_static/images/provider_logos/outscale.png |  Bin 0 -> 8437 bytes
 .../images/provider_logos/vmware_vsphere.png    |  Bin 0 -> 71341 bytes
 docs/_static/images/provider_logos/vultr.png    |  Bin 0 -> 19142 bytes
 docs/api_docs.rst                               |    7 +
 docs/committer_guide.rst                        |   92 +-
 .../_supported_methods_block_storage.rst        |   24 +-
 .../_supported_methods_image_management.rst     |  133 +
 .../_supported_methods_key_pair_management.rst  |   16 +-
 docs/compute/_supported_methods_main.rst        |   14 +
 docs/compute/_supported_providers.rst           |  136 +-
 docs/compute/drivers/cloudsigma.rst             |    2 +-
 docs/compute/drivers/cloudstack.rst             |    2 +-
 docs/compute/drivers/ec2.rst                    |   12 +
 docs/compute/drivers/gce.rst                    |   42 +-
 docs/compute/drivers/hpcloud.rst                |   44 +
 docs/compute/drivers/kili.rst                   |   35 +
 docs/compute/drivers/openstack.rst              |   55 +-
 docs/compute/drivers/outscale_inc.rst           |   31 +
 docs/compute/drivers/outscale_sas.rst           |   31 +
 docs/compute/drivers/vsphere.rst                |   86 +
 docs/compute/drivers/vultr.rst                  |   36 +
 docs/conf.py                                    |    9 +-
 docs/development.rst                            |    6 +-
 docs/dns/_supported_methods.rst                 |    2 +
 docs/dns/_supported_providers.rst               |    2 +
 docs/dns/drivers/hostvirtual.rst                |    2 +-
 .../cloudstack/security_groups_management.py    |   10 +-
 .../ec2/create_general_purpose_ssd_volume.py    |    8 +
 .../ec2/create_provisioned_iops_volume.py       |    8 +
 docs/examples/compute/gce/gce_internal_auth.py  |    9 +
 .../compute/gce/gce_service_account_scopes.py   |   31 +
 docs/examples/compute/openstack/cloud_init.py   |   28 +
 docs/examples/compute/openstack/hpcloud.py      |    4 +-
 .../compute/openstack/hpcloud_native.py         |   13 +
 .../compute/openstack/kilicloud_native.py       |   10 +
 docs/examples/compute/openstack/tenant_name.py  |    9 +
 docs/examples/compute/vsphere/connect_host.py   |    8 +
 docs/examples/compute/vsphere/connect_url.py    |    8 +
 .../compute/vsphere/connect_url_custom_port.py  |    8 +
 .../compute/vultr/vultr_compute_simple.py       |    5 +
 .../examples/http_proxy/constructor_argument.py |    7 +
 .../http_proxy/set_http_proxy_method.py         |   19 +
 docs/index.rst                                  |    2 +
 docs/loadbalancer/drivers/elb.rst               |    4 +-
 docs/other/using-http-proxy.rst                 |   80 +
 docs/storage/drivers/google_storage.rst         |   17 +-
 docs/testing.rst                                |    2 +-
 docs/third_party_drivers.rst                    |   43 +
 docs/troubleshooting.rst                        |  177 +-
 docs/upgrade_notes.rst                          |   40 +
 example_compute.py                              |    6 +-
 example_loadbalancer.py                         |    7 +-
 example_storage.py                              |    4 +-
 libcloud/__init__.py                            |    4 +-
 libcloud/common/abiquo.py                       |    5 +-
 libcloud/common/azure.py                        |   96 +-
 libcloud/common/base.py                         |   91 +-
 libcloud/common/cloudstack.py                   |   21 +-
 libcloud/common/google.py                       |  219 +-
 libcloud/common/linode.py                       |   43 +-
 libcloud/common/openstack.py                    |  542 ++--
 libcloud/common/openstack_identity.py           | 1388 ++++++++++
 libcloud/common/types.py                        |    7 +-
 libcloud/compute/base.py                        |  149 +-
 libcloud/compute/deployment.py                  |    4 +-
 libcloud/compute/drivers/abiquo.py              |   16 +-
 libcloud/compute/drivers/azure.py               | 2389 +++++++++++-------
 libcloud/compute/drivers/brightbox.py           |   17 +-
 libcloud/compute/drivers/cloudframes.py         |    2 +-
 libcloud/compute/drivers/cloudsigma.py          |   32 +-
 libcloud/compute/drivers/cloudstack.py          | 1463 ++++++++++-
 libcloud/compute/drivers/digitalocean.py        |    2 +-
 libcloud/compute/drivers/dreamhost.py           |    2 +-
 libcloud/compute/drivers/dummy.py               |    9 +
 libcloud/compute/drivers/ec2.py                 | 2183 ++++++++++++++--
 libcloud/compute/drivers/ecp.py                 |   68 +-
 libcloud/compute/drivers/elasticstack.py        |   23 +-
 libcloud/compute/drivers/gce.py                 |  471 +++-
 libcloud/compute/drivers/gogrid.py              |    4 +-
 libcloud/compute/drivers/hostvirtual.py         |    2 +-
 libcloud/compute/drivers/hpcloud.py             |   99 +
 libcloud/compute/drivers/ibm_sce.py             |    2 +-
 libcloud/compute/drivers/joyent.py              |    7 +-
 libcloud/compute/drivers/kili.py                |   87 +
 libcloud/compute/drivers/libvirt_driver.py      |    1 +
 libcloud/compute/drivers/linode.py              |   28 +-
 libcloud/compute/drivers/nephoscale.py          |   16 +-
 libcloud/compute/drivers/opennebula.py          |    2 +-
 libcloud/compute/drivers/openstack.py           |  405 +--
 libcloud/compute/drivers/opsource.py            |   11 +-
 libcloud/compute/drivers/profitbricks.py        | 1485 +++++++++++
 libcloud/compute/drivers/rackspace.py           |    6 +-
 libcloud/compute/drivers/rimuhosting.py         |   36 +-
 libcloud/compute/drivers/softlayer.py           |  102 +-
 libcloud/compute/drivers/vsphere.py             |  552 ++++
 libcloud/compute/drivers/vultr.py               |  184 ++
 libcloud/compute/providers.py                   |   16 +-
 libcloud/compute/ssh.py                         |  134 +-
 libcloud/compute/types.py                       |   39 +-
 libcloud/data/pricing.json                      |  892 ++++---
 libcloud/dns/base.py                            |    3 +
 libcloud/dns/drivers/gandi.py                   |   12 +-
 libcloud/dns/drivers/google.py                  |  345 +++
 libcloud/dns/drivers/hostvirtual.py             |    2 +-
 libcloud/dns/drivers/rackspace.py               |   19 +-
 libcloud/dns/drivers/route53.py                 |  194 +-
 libcloud/dns/drivers/zerigo.py                  |    8 +-
 libcloud/dns/providers.py                       |    2 +-
 libcloud/dns/types.py                           |    1 +
 libcloud/httplib_ssl.py                         |  176 +-
 libcloud/loadbalancer/base.py                   |   10 +-
 libcloud/loadbalancer/drivers/gce.py            |   15 +-
 libcloud/loadbalancer/drivers/rackspace.py      |    4 +-
 libcloud/pricing.py                             |   12 +-
 libcloud/security.py                            |    5 +-
 libcloud/storage/base.py                        |   10 +-
 libcloud/storage/drivers/atmos.py               |    2 +-
 libcloud/storage/drivers/cloudfiles.py          |  163 +-
 libcloud/storage/drivers/google_storage.py      |    5 +-
 libcloud/storage/drivers/ktucloud.py            |   10 +-
 libcloud/storage/drivers/local.py               |   10 +-
 libcloud/storage/drivers/nimbus.py              |    6 +-
 libcloud/storage/drivers/s3.py                  |   23 +-
 libcloud/test/common/test_cloudstack.py         |    2 +-
 libcloud/test/common/test_google.py             |   25 +-
 libcloud/test/common/test_openstack.py          |    1 -
 libcloud/test/common/test_openstack_identity.py |  651 +++++
 ...526c_8d55_fee918758e6e_services_vmimages.xml |   23 +
 .../addNicToVirtualMachine_default.json         |    1 +
 .../createEgressFirewallRule_default.json       |    1 +
 .../cloudstack/createFirewallRule_default.json  |    1 +
 .../createFirewallRule_firewallicmp.json        |    1 +
 .../createNetworkACLList_default.json           |    1 +
 .../cloudstack/createNetworkACL_default.json    |    1 +
 .../cloudstack/createNetwork_default.json       |    1 +
 .../cloudstack/createSSHKeyPair_default.json    |    2 +-
 .../cloudstack/createSnapshot_default.json      |    1 +
 .../cloudstack/createTemplate_default.json      |    1 +
 .../fixtures/cloudstack/createVPC_default.json  |    1 +
 .../deleteEgressFirewallRule_default.json       |    1 +
 .../cloudstack/deleteFirewallRule_default.json  |    1 +
 .../cloudstack/deleteNetwork_default.json       |    1 +
 .../cloudstack/deleteSnapshot_default.json      |    1 +
 .../fixtures/cloudstack/deleteVPC_default.json  |    1 +
 .../deployVirtualMachine_deployip.json          |    1 +
 .../deployVirtualMachine_deploynetworks.json    |    1 +
 .../deployVirtualMachine_stoppedvm.json         |    1 +
 .../listEgressFirewallRules_default.json        |    1 +
 .../cloudstack/listFirewallRules_default.json   |    1 +
 .../listFirewallRules_firewallicmp.json         |    1 +
 .../cloudstack/listNetworkACLLists_default.json |    1 +
 .../cloudstack/listNetworkACLs_default.json     |    1 +
 .../listNetworkOfferings_default.json           |    1 +
 .../cloudstack/listNetworks_deployip.json       |    1 +
 .../cloudstack/listNetworks_deploynetworks.json |    1 +
 .../cloudstack/listNetworks_stoppedvm.json      |    1 +
 .../fixtures/cloudstack/listNics_default.json   |    1 +
 .../cloudstack/listOsTypes_default.json         |    1 +
 .../listPublicIpAddresses_firewallicmp.json     |    1 +
 .../cloudstack/listRouters_default.json         |    1 +
 .../listServiceOfferings_deployip.json          |    1 +
 .../listServiceOfferings_deploynetworks.json    |    1 +
 .../listServiceOfferings_stoppedvm.json         |    1 +
 .../cloudstack/listSnapshots_default.json       |    1 +
 .../cloudstack/listTemplates_deployip.json      |    1 +
 .../listTemplates_deploynetworks.json           |    1 +
 .../cloudstack/listTemplates_stoppedvm.json     |    1 +
 .../cloudstack/listVPCOfferings_default.json    |    1 +
 .../fixtures/cloudstack/listVPCs_default.json   |    1 +
 .../fixtures/cloudstack/listZones_deployip.json |    1 +
 .../cloudstack/listZones_deploynetworks.json    |    1 +
 .../cloudstack/listZones_stoppedvm.json         |    1 +
 .../cloudstack/queryAsyncJobResult_111112.json  |    1 +
 .../cloudstack/queryAsyncJobResult_1149341.json |    1 +
 .../cloudstack/queryAsyncJobResult_1149342.json |    1 +
 .../cloudstack/queryAsyncJobResult_1149343.json |    1 +
 .../cloudstack/queryAsyncJobResult_1149366.json |    1 +
 .../cloudstack/queryAsyncJobResult_1300001.json |    1 +
 .../cloudstack/queryAsyncJobResult_1300002.json |    1 +
 .../cloudstack/queryAsyncJobResult_1300003.json |    1 +
 .../queryAsyncJobResult_addnictovm.json         |   37 +
 .../queryAsyncJobResult_deleteNetwork.json      |    1 +
 .../queryAsyncJobResult_deleteVPC.json          |    1 +
 .../queryAsyncJobResult_deployvmstopped.json    |    1 +
 .../queryAsyncJobResult_deployvmwithid.json     |    1 +
 .../queryAsyncJobResult_removenic.json          |   37 +
 .../removeNicFromVirtualMachine_default.json    |    1 +
 .../elastichosts/offline_servers_info.json      |   16 +
 .../fixtures/elastichosts/servers_info.json     |   47 +-
 .../gce/aggregated_forwardingRules.json         |    1 +
 .../fixtures/gce/global_httpHealthChecks.json   |    1 +
 .../global_httpHealthChecks_lchealthcheck.json  |    1 +
 .../gce/global_snapshots_lcsnapshot.json        |    4 +-
 ...ntral1_forwardingRules_lcforwardingrule.json |    1 +
 ...entral1_targetPools_lctargetpool_sticky.json |    9 +
 .../fixtures/gce/zones_us-central1-a_disks.json |    8 +-
 .../gce/zones_us-central1-a_disks_lcdisk.json   |    6 +-
 ...a_instances_node_name_setDiskAutoDelete.json |   16 +
 ...operations_operation_volume_auto_delete.json |   16 +
 .../fixtures/linode/_avail_linodeplans.json     |  290 ++-
 .../compute/fixtures/linode/_linode_list.json   |    6 +-
 .../compute/fixtures/openstack/_v3__auth.json   |  182 ++
 .../openstack_identity/v2/v2_0_tenants.json     |   17 +
 .../openstack_identity/v3/v3_create_user.json   |   12 +
 .../openstack_identity/v3/v3_domains.json       |   18 +
 .../v3/v3_domains_default.json                  |   11 +
 .../v3/v3_domains_default_users_a_roles.json    |   16 +
 .../openstack_identity/v3/v3_projects.json      |   49 +
 .../openstack_identity/v3/v3_roles.json         |   25 +
 .../openstack_identity/v3/v3_users.json         |  131 +
 .../openstack_identity/v3/v3_users_a.json       |   18 +
 .../v3/v3_users_a_projects.json                 |    8 +
 .../openstack_identity/v3/v3_versions.json      |   58 +
 ...rs_26f7fbee_8ce1_4c28_887a_bfe8e4bb10fe.json |    5 +-
 .../openstack_v1.1/_servers_detail.json         |  163 +-
 .../fixtures/profitbricks/attach_volume.xml     |   12 +
 .../fixtures/profitbricks/create_node.xml       |   13 +
 .../fixtures/profitbricks/create_volume.xml     |   13 +
 .../fixtures/profitbricks/destroy_node.xml      |   12 +
 .../fixtures/profitbricks/destroy_volume.xml    |   12 +
 .../fixtures/profitbricks/detach_volume.xml     |   12 +
 .../profitbricks/ex_clear_datacenter.xml        |   12 +
 .../profitbricks/ex_create_datacenter.xml       |   13 +
 .../ex_create_network_interface.xml             |   13 +
 .../profitbricks/ex_describe_datacenter.xml     |   15 +
 .../ex_describe_network_interface.xml           |   26 +
 .../fixtures/profitbricks/ex_describe_node.xml  |   77 +
 .../profitbricks/ex_describe_volume.xml         |   22 +
 .../profitbricks/ex_destroy_datacenter.xml      |   10 +
 .../ex_destroy_network_interface.xml            |   12 +
 .../profitbricks/ex_list_datacenters.xml        |   19 +
 .../profitbricks/ex_list_network_interfaces.xml |   75 +
 .../fixtures/profitbricks/ex_start_node.xml     |   10 +
 .../fixtures/profitbricks/ex_stop_node.xml      |   10 +
 .../profitbricks/ex_update_datacenter.xml       |   12 +
 .../ex_update_network_interface.xml             |   12 +
 .../fixtures/profitbricks/ex_update_node.xml    |   12 +
 .../fixtures/profitbricks/ex_update_volume.xml  |   12 +
 .../fixtures/profitbricks/list_images.xml       |   43 +
 .../fixtures/profitbricks/list_nodes.xml        |  172 ++
 .../fixtures/profitbricks/list_volumes.xml      |   66 +
 .../fixtures/profitbricks/reboot_node.xml       |   10 +
 .../v3__SoftLayer_Account_getSshKeys.xml        |   63 +
 ..._SoftLayer_Security_Ssh_Key_createObject.xml |   39 +
 ..._SoftLayer_Security_Ssh_Key_deleteObject.xml |   15 +
 ...v3__SoftLayer_Security_Ssh_Key_getObject.xml |   33 +
 .../compute/fixtures/vultr/list_images.json     |    1 +
 .../compute/fixtures/vultr/list_locations.json  |    1 +
 .../test/compute/fixtures/vultr/list_nodes.json |    1 +
 .../test/compute/fixtures/vultr/list_sizes.json |    1 +
 libcloud/test/compute/test_azure.py             |  459 +++-
 libcloud/test/compute/test_cloudsigma_v2_0.py   |    4 +-
 libcloud/test/compute/test_cloudstack.py        |  426 ++++
 libcloud/test/compute/test_digitalocean.py      |    2 +
 libcloud/test/compute/test_ec2.py               |  230 +-
 libcloud/test/compute/test_elasticstack.py      |   18 +
 libcloud/test/compute/test_gce.py               |  153 +-
 libcloud/test/compute/test_gridspot.py          |    2 +-
 libcloud/test/compute/test_ibm_sce.py           |    4 +-
 libcloud/test/compute/test_linode.py            |    4 +-
 libcloud/test/compute/test_nephoscale.py        |    2 +-
 libcloud/test/compute/test_openstack.py         |  330 +--
 libcloud/test/compute/test_profitbricks.py      |  509 ++++
 libcloud/test/compute/test_softlayer.py         |   68 +-
 libcloud/test/compute/test_ssh_client.py        |   79 +-
 libcloud/test/compute/test_vcloud.py            |    7 +-
 libcloud/test/compute/test_vultr.py             |  114 +
 .../google/get_zone_does_not_exists.json        |   13 +
 .../dns/fixtures/google/managed_zones_1.json    |    1 +
 .../test/dns/fixtures/google/no_record.json     |    5 +
 libcloud/test/dns/fixtures/google/record.json   |   17 +
 .../test/dns/fixtures/google/records_list.json  |    1 +
 libcloud/test/dns/fixtures/google/zone.json     |    1 +
 .../test/dns/fixtures/google/zone_create.json   |    1 +
 .../test/dns/fixtures/google/zone_list.json     |    1 +
 libcloud/test/dns/test_google.py                |  182 ++
 libcloud/test/dns/test_rackspace.py             |    2 +-
 libcloud/test/dns/test_route53.py               |    2 +-
 libcloud/test/loadbalancer/test_gogrid.py       |    2 +-
 libcloud/test/loadbalancer/test_rackspace.py    |    2 +-
 libcloud/test/secrets.py-dist                   |    8 +-
 libcloud/test/storage/test_azure_blobs.py       |    6 +-
 libcloud/test/storage/test_cloudfiles.py        |   24 +-
 libcloud/test/storage/test_google_storage.py    |   18 +
 libcloud/test/test_connection.py                |  102 +-
 libcloud/test/test_utils.py                     |   41 +
 libcloud/utils/connection.py                    |   15 +-
 libcloud/utils/decorators.py                    |   57 +
 libcloud/utils/dist.py                          |    2 +-
 libcloud/utils/misc.py                          |    2 +-
 libcloud/utils/networking.py                    |   49 +-
 libcloud/utils/publickey.py                     |    7 +-
 libcloud/utils/py3.py                           |   39 +-
 setup.py                                        |    1 +
 tox.ini                                         |   27 +-
 309 files changed, 19108 insertions(+), 3398 deletions(-)
----------------------------------------------------------------------


Reply via email to