From 3d2529cadd503d842c821a1014417f9470824732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Tue, 19 Dec 2023 15:17:53 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 python-apache-libcloud revision fd329ab74c68a1d57ce941e98db9fc75 --- .gitattributes | 23 + apache-libcloud-3.8.0.tar.gz | 3 + apache-libcloud-3.8.0.tar.gz.asc | 19 + ec2_create_node.patch | 24 + gce_image_projects.patch | 39 + python-apache-libcloud.changes | 1394 ++++++++++++++++++++++ python-apache-libcloud.keyring | 1912 ++++++++++++++++++++++++++++++ python-apache-libcloud.spec | 117 ++ 8 files changed, 3531 insertions(+) create mode 100644 .gitattributes create mode 100644 apache-libcloud-3.8.0.tar.gz create mode 100644 apache-libcloud-3.8.0.tar.gz.asc create mode 100644 ec2_create_node.patch create mode 100644 gce_image_projects.patch create mode 100644 python-apache-libcloud.changes create mode 100644 python-apache-libcloud.keyring create mode 100644 python-apache-libcloud.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/apache-libcloud-3.8.0.tar.gz b/apache-libcloud-3.8.0.tar.gz new file mode 100644 index 0000000..208fb8b --- /dev/null +++ b/apache-libcloud-3.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75bf4c0b123bc225e24ca95fca1c35be30b19e6bb85feea781404d43c4276c91 +size 2457665 diff --git a/apache-libcloud-3.8.0.tar.gz.asc b/apache-libcloud-3.8.0.tar.gz.asc new file mode 100644 index 0000000..22b25e5 --- /dev/null +++ b/apache-libcloud-3.8.0.tar.gz.asc @@ -0,0 +1,19 @@ +-----BEGIN PGP SIGNATURE----- + +iQKlBAABCgCPFiEEmXgo3GL3Wc6hidZeLAdUss4GkvMFAmTP0UZfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk5 +NzgyOERDNjJGNzU5Q0VBMTg5RDY1RTJDMDc1NEIyQ0UwNjkyRjMRHHRvbWF6QGFw +YWNoZS5vcmcACgkQLAdUss4GkvOzOg//WBt4g+CvH3qfi2ChvLHSuzjNxszgTnvB +bVkDsvqJNQlZPEQ+a5l/ZLgRYr7L2trOvqqzVBjEmCq8I0u3GYlOwiBRfmEKLKXO +jRlrMME9swRJJ9KS1slaT9vAuZ5RB8wyzAsJfT45QFXLGpgSW3pGQ9KpX0ZBvvCc +FvWZqBR3wCtc7mcq4e6kj/6pR93WszeTmkZC57JFiAQclhxd0/wPecDKOSZT0ro3 +vXvN6Bm5m0NOIx8zAQpyPprT3EIHXp3FiBTPzqwZQVtcPsx5upjswMknEBlj2L9G +JhOh3Emq29byWKtM/++dF1QCICieCmDcW/4Bk1kyslXyloC2SeiBhr1u4gdL6tlO +L5Z1zcLjl8McCWVBbTjNbn9H92t3TPozgSVx2+e4Zsb0T5XirQL2iwCfoZAscjrX +DrvbY9bzSvrjz1EDoxqp3/oN8nUeHMVd7eQfx4aOnr1cAWROlRNSHx2p1De8Gamx +7nbyaFsdJSwIeTn6CtJ6vpWzqtwWdBYlJrOkhv33ElPD+KhHUsv92utE809weCfY +PdFruz8Hu2FvIOiqJQD7sMSfo+FWz22kKzz/Sv0TqL4qIjfoMyFYQ/i0Y5vUdWcM +CzGXc154x/njmZYApK5EYS9F1b94LOIrHfZgQHVIXmeojQnwEGevvjLPbleOnC9N +v4k0idgyEns= +=RMm3 +-----END PGP SIGNATURE----- diff --git a/ec2_create_node.patch b/ec2_create_node.patch new file mode 100644 index 0000000..344d9cb --- /dev/null +++ b/ec2_create_node.patch @@ -0,0 +1,24 @@ +Index: apache-libcloud-3.5.1/libcloud/compute/drivers/ec2.py +=================================================================== +--- apache-libcloud-3.5.1.orig/libcloud/compute/drivers/ec2.py ++++ apache-libcloud-3.5.1/libcloud/compute/drivers/ec2.py +@@ -1622,12 +1622,18 @@ class BaseEC2NodeDriver(NodeDriver): + on-demand price will be used. + :type ex_spot_max_price: ``float`` + """ ++ ++ try: ++ instance_type = size.id ++ except AttributeError: ++ instance_type = size ++ + params = { + "Action": "RunInstances", + "ImageId": image.id, + "MinCount": str(ex_mincount), + "MaxCount": str(ex_maxcount), +- "InstanceType": size.id, ++ "InstanceType": instance_type, + } + + if ex_terminate_on_shutdown: diff --git a/gce_image_projects.patch b/gce_image_projects.patch new file mode 100644 index 0000000..95cd051 --- /dev/null +++ b/gce_image_projects.patch @@ -0,0 +1,39 @@ +Index: apache-libcloud-3.5.1/libcloud/compute/drivers/gce.py +=================================================================== +--- apache-libcloud-3.5.1.orig/libcloud/compute/drivers/gce.py ++++ apache-libcloud-3.5.1/libcloud/compute/drivers/gce.py +@@ -1981,12 +1981,19 @@ class GCENodeDriver(NodeDriver): + "debian-cloud": ["debian-8", "debian-9", "debian-10"], + "opensuse-cloud": ["opensuse-leap"], + "rhel-cloud": ["rhel-6", "rhel-7", "rhel-8"], +- "suse-cloud": ["sles-11", "sles-12", "sles-15"], ++ "suse-cloud": ["sles-12", "sles-15"], + "suse-byos-cloud": [ + "sles-11-byos", + "sles-12-byos", ++ "sles-15-byos", ++ "sles-12-sp1-sap-byos", + "sles-12-sp2-sap-byos", + "sles-12-sp3-sap-byos", ++ "sles-12-sp4-sap-byos", ++ "sles-12-sp5-sap-byos", ++ "sles-15-sap-byos", ++ "sles-15-sp1-sap-byos", ++ "sles-15-sp1-chost-byos", + "suse-manager-proxy-byos", + "suse-manager-server-byos", + ], +@@ -1994,7 +2001,13 @@ class GCENodeDriver(NodeDriver): + "sles-12-sp2-sap", + "sles-12-sp3-sap", + "sles-12-sp4-sap", ++ "sles-12-sp5-sap", + "sles-15-sap", ++ "sles-15-sp1-sap", ++ ], ++ "suse-sap-cal-cloud": [ ++ "sles-12-sp1-sapcal", ++ "sles-12-sp3-sapcal", + ], + "ubuntu-os-cloud": [ + "ubuntu-1404-lts", diff --git a/python-apache-libcloud.changes b/python-apache-libcloud.changes new file mode 100644 index 0000000..752e080 --- /dev/null +++ b/python-apache-libcloud.changes @@ -0,0 +1,1394 @@ +------------------------------------------------------------------- +Tue Sep 26 00:00:00 PM CEST 2023 - ecsosa + +- Update to 3.8.0 + * Compute + - Remove obsolete compute driver where the provider is either + dead or not offering those services anymore: Bluebox, + bsnlcloud, Cloudwatt, Enomaly, ElasticHosts, ElasticStack, + GoGrid, Gridspot, HostVirtual, Joyent, Med-1, Nephoscale, + 1on1, ProfitBricks, ServerLove, SkaliCloud, Softlayer, Voxel. + (#1743, #1852) + - [Outscale] Fix list_nodes() and list_volumes() method. (#1877) + - [Azure ARM] Implement pagination in the list_nodes() method. + This fixes a bug which would result in sometimes not all the + nodes being returned. (#1824, #1850) + - [Azure ARM] Implement pagination in the list_volumes() method. + This fixes a bug which would result in sometimes not all the + volumes nodes being returned. (#1891) + - [Azure ARM] Bump DISK_API_VERSION from 2018-06-01 to 2023-01-02 + to support premium v2 SSDs. (#1904) + - [AWS EC2] Add support for the following new arguments to the + ex_register_image() method: * boot_mode - control bios vs + uefi boot * tpm_support - enable a tpm * uefi_data - provide + NV UEFI vars * imds_support - require IMDSv2. (#1906) + * Storage + - Optimize read_in_chunks() function implementation. + - This should result in large performance speedups and lower memory + usage when uploading or downloading a large file with a mismatching chunk size. + - Keep in mind that this only affects code paths where the function + is called with fill_size=True argument + (such as in the S3 driver, etc). (#1847) + - [Aliyun OSS] Fix upload_object() function. (#1796) + - [S3] Support all available storage classes. Previously only + "standard" and "reduced_redundancy" were supported. (#1875) + - [CloudFiles] Fix get_endpoint_url() throwing an exception when + being used with use_internal_url=True argument. (#1883, #1884) + - [CloudFiles] Update OpenStack connection handling code to only + re-connect in case connection details (scheme, host, port) have changed. + - This should result in significant performance improvements when + downloading objects since the underlying HTTP connection will + be properly re-used. (#1885, #1886) + - [Backblaze B2] Fix a bug which would result in an exception + when passing extra={"meta_data": {}} argument to the + upload_object() method. (#1916) + * Other + - Move Python tooling (pytest, bandit, pylint, mypy, coverage) + config options from separate config files into single + pyproject.yaml config files. + - NOTE: This change only affects development process and nothing + else. (#1901) + - Fix minor typos in the code using codespell package and enforce + this check as part of our GHA CI system. (#1923) + - Indicate we also support Python 3.12 (beta). (#1920) + - Remove unused libcloud.security.SSL_VERSION constant / module + level variable. This variable has been unused and had no affect + on the behavior since we switched to the requests library for + making HTTP(s) requests in 2016. + - Packaging related metadata has been migrated from setup.py to + pyproject.yaml file. (#1929) + - Deprecated and unsafe setup.py test convenience alias for + running tests using pytest has been removed in favor of + running pytest directly. (#1929) + - Script for building release artifacts has been updated to + utilize build Python package to build release artifacts + (sdist + wheel) in an isolated environment. (#1929) + +------------------------------------------------------------------- +Mon Jul 3 11:38:42 UTC 2023 - ecsosa +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Tue May 9 10:36:53 UTC 2023 - Daniel Garcia + +- Disable broken tests because python-requests-mock and urllib3 + compatibility, gh#jamielennox/requests-mock#228 + +------------------------------------------------------------------- +Sat Jan 28 12:27:20 UTC 2023 - Dirk Müller + +- update to 3.7.0: + * Support for Python 3.6 which has been EOL for more than a year now has + been removed. + * [CloudSigma] Update API URLs for US locations. + * [GCP] Fix OAuth2 desktop client login. + * [Amazon S3] Add support for ``af-south-1`` region. + * Also run unit tests under Python 3.11 on CI/CD and indicate we also + support Python 3.11. + +------------------------------------------------------------------- +Thu Oct 27 21:29:07 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 3.6.1 + * [OpenStack] Fix OpenStack Identitiy bug when auth url contains a path. + (GITHUB-1717, GITHUB-1718) [Dimitris Galanis - @dimgal1] + * Update EC2 price scraping script to utilize official pricing API endpoint. + Pricing file has also been updated to include latest EC2 pricing data. + Complete raw pricing data file size has grown by ~1 MB (from ~2 MB to ~3 MB). + By default when requesting pricing data we only cache pricing data in memory for used / requested drivers so a slight memory + increase due to the pricing file size increase will only affect users who utilize pricing related functionality in the EC2 driver. + (GITHUB-1715) [Eis D. Zaster - @Eis-D-Z] + Compute + * [EC2] Update list_images() method to better handle scenario when an image doesn't contain creationDate attribute + (previously the code would throw if an image without creationDate was encountered). + Reported by Juan Marcos Caicedo Mejía - @juanmarcosdev. + (GITHUB-1700, GITHUB-1701) [Tomaz Muraus - @Kami] + * [Azure ARM] Allow user to create volume / disks in specific zone by passing ex_zones argument to the create_volume() method. + Also add new ex_sku_name and remove ex_account_type argument from that method. + Also change DISK_API_VERSION version from 2016-04-30-preview to 2018-06-01. This is needed to be able to support those changes. + Code has been updated to handle slightly different response format for the volume API operations. + * (GITHUB-1736) [Palash Gandhi - @palashgandhi] + * [GCE] Add improved support for retrieving GCE image pricing data using libcloud.pricing.get_image_price("gce_images", ...) method. + * Existing way of retrieving image pricing using libcloud.pricing.get_pricing("compute", "gce_images") method continues to work. + (GITHUB-1699) [Eis D. Zaster - @Eis-D-Z] + * [Azure ARM] Add new ex_create_additional_capabilities() method which allows user to set capabilities on a stopped node. + This allows users to utilize ultra SSDs and similar. + * Also add support for new ex_iops and ex_throughput argument to the create_volume() method. + (GITHUB-1744) [John Wren Kennedy - @jwk404] + Storage + * [Azure Blobs] Fix get_container() method and make sure Container etag extra attribute contains the correct scheme (https or http), depending on the used endpoint. + (GITHUB-1703, GITHUB-1712) [@KatiRG] + * [Azure Blobs] Fix list_containers()` method and make sure Container etag extra attribute doesn't contain unncessary double quotes + around the value ("0x8CFBAB7B5B82D8E" -> 0x8CFBAB7B5B82D8E). + (GITHUB-1712) [Tomaz Muraus - @Kami] + * [OVH] Add new driver for OVH Storage based on the S3 compatible storage endpoints. + * (GITHUB-1732) [Olivier Picquenot - @pcqnt] + Other / Development ~~~~~-------------- + * All the imports in the code have been re-organized / sorted using the isort library. + * Going forward, consistent import ordering will be automatically enforced using isort check on the CI. + * Developers can run the isort check locally using tox -e command. + (GITHUB-1761) [Tomaz Muraus - @Kami] + * Fix black config (pyproject.toml) and ensure max line length is correctly set to 100 characters everywhere. + * Also re-format code with this fixed / updated config option. + (GITHUB-1761) [Tomaz Muraus - @Kami] + * Code has been reformatted using pyupgrade and Python 3.6 higher compatible syntax. + (GITHUB-1765) [Tomaz Muraus - @Kami] + +------------------------------------------------------------------- +Wed Sep 7 03:23:41 UTC 2022 - Yogalakshmi Arunachalam + +- Removed patch skip-some-tests-for-older-paramiko-versions.patch, mock.patch + Both the patches are already applied + +------------------------------------------------------------------- +Wed Sep 7 02:58:46 UTC 2022 - Yogalakshmi Arunachalam + +- update to 3.6.0 + Compute + * [OpenStack] Fix error attaching/detaching a Floating IP to an OpenStack node when + ex_force_microversion is set with 2.44 or newer microversion. + * (GITHUB-1674) [Miguel Caballer - @micafer] + * [OpenStack] Error in volume api calls if microversion is set in OpenStack. In previous + version if ex_force_microversion is set, it is assumed to set it to the compute service. + Now if only a version is set 2.67, compute service is assumed but it can be also set the service name volume 3.21. + * (GITHUB-1675) [Miguel Caballer - @micafer] + * [OpenStack] Fix error creating and getting node in OpenStack when ex_force_microversion is set to a version newer than 2.47. + * (GITHUB-1672) [Miguel Caballer - @micafer] + * [EC2] Add support for new af-south-1 region. (GITHUB-1688) [Balazs Baranyi - @balazsbaranyi] + * [SSH] Update deploy node and ParamikoSSHClient related code so it works with paramiko >= 2.9.0 + and older OpenSSH server versions which doesn't support SHA-2 variants of RSA key verification algorithm. + * paramiko v2.9.0 introduced a change to prefer SHA-2 variants of RSA key verification algorithm. + With this version paramiko would fail to connect to older OpenSSH servers which don't support this + algorithm (e.g. default setup on Ubuntu 14.04) and throw authentication error. + * The code has been updated to be backward compatible. It first tries to connect to the server + using default preferred algorithm values and in case this fails, it will fall back to the old approach + with SHA-2 variants disabled. + * This functionality can be disabled by setting LIBCLOUD_PARAMIKO_SHA2_BACKWARD_COMPATIBILITY``environment + variable to ``false. + * For security reasons (to prevent possible downgrade attacks and similar) you are encouraged to do that + in case you know you won't be connecting to any old OpenSSH servers. [Tomaz Muraus] + Storage + * [Google Storage] Fix public objects retrieval. In some scenarios, Google doesn't return etag header in the + response (e.g. for gzip content encoding). The code has been updated to take this into account and not + throw if the header is not present. + * (GITHUB-1682, GITHUB-1683) [Veith Röthlingshöfer - @RunOrVeith] + * [Azure Blobs] Add support for authenticating with Azure AD by passing auth_type="azureAd" argument to the driver constructor. + * (GITHUB-1663) [Brooke White - @brookewhite9] + DNS + * [GoDaddy] Fix list_zones() method so it doesn't throw if an item is missing expires attribute. (GITHUB-1681) [Dave Grenier - @livegrenier] + Container + * [Kubernetes] Various improvements in the driver - implement list methods for nodes, services, deployments, + node/pod metrics, add more fields to Pods and Containers, rename clusters to namespaces, add type annotations. + * (GITHUB-1667) [Dimitris Galanis - @dimgal1] + Other + * Test code has been updated to utilize stdlib unittest.mock module instead of 3rd party PyPi mock package. + * (GITHUG-1684) Reported by @pgajdos. + +------------------------------------------------------------------- +Fri May 13 11:21:00 UTC 2022 - Markéta Machová + +- update to 3.5.1 + * Support for Python 3.5 which has been EOL for more than a year now has been removed. + * [EC2] Add support for new ap-east-1 region. + * [OpenStack] OpenStack: Move floating IP functions to use network service instead of nova. + * [OpenStack] Avoid raising exception if ip is not found. + * [GCE] Allow credentials argument which is provided to the driver constructor. + * [Local Storage] Objects returned by the list_container_objects() method are now returned sorted in the ascending order based on the object name. + * Also run unit tests under Python 3.10 + Pyjion on CI/CD. +- added upstream patch mock.patch and drop mock requirement +- rebase all other patches + +------------------------------------------------------------------- +Thu Dec 9 10:39:35 UTC 2021 - pgajdos@suse.com + +- pytest-runner is not required for build + +------------------------------------------------------------------- +Mon Nov 15 20:38:49 UTC 2021 - Andreas Stieger + +- update to 3.4.1: + * fix a regresion preventing installation under Python 3.5 + * revert requests minimum version required + +------------------------------------------------------------------- +Sun Nov 14 09:55:57 UTC 2021 - Andreas Stieger + +- update to 3.4.0: + * Improvements and more flexibility in the failed HTTP requests + retrying code + * Various improvements to the Equinix Metal compute driver + * Improvements and updates to the Outscale, Vultr, CloudSigma and + OpenStack compute drivers + * Support for authenticating via API tokens to the CloudFlare DNS + driver + * Support for using external cache for OpenStack auth tokens +- add upstream signing key and validate source signature + +------------------------------------------------------------------- +Mon Feb 1 09:05:36 UTC 2021 - Pablo Suárez Hernández + +- Skip "OvhTests::test_list_nodes_invalid_region" compute test when building + RPM package since this tests requires internet connection. + +------------------------------------------------------------------- +Fri Jan 29 17:15:50 UTC 2021 - Pablo Suárez Hernández + +- Update to 3.3.1: + + * Compute + + [EC2] Fix a regression introduced in v3.3.0 which would break EC2 driver for some regions because the driver would incorrectly try to use signature version 2 for all the regions whereas some newer regions require signature version 4 to be used. + + If you are unable to upgrade, you can use the following workaround, as long as you only use code which supports / works with authentication signature algorithm version 4: + + import libcloud.common.aws + libcloud.common.aws.DEFAULT_SIGNATURE_VERSION = "4" + + # Instantiate affected driver here... + + Reported by @olegrtecno. (GITHUB-1545, GITHUB-1546) + + + [EC2] Allow user to override which signature algorithm version is used for authentication by passing signature_version keyword argument to the EC2 driver constructor. (GITHUB-1546) + + * Storage + + [Google Cloud Storage] Fix a bug and make sure we also correctly handle scenario in get_object() method when the object size is returned in x-goog-stored-content-length and not content-length header. @RunOrVeith. (GITHUB-1544, GITHUB-1547) + + [Google Cloud Storage] Update get_object() method and ensure object.size attribute is an integer and not a string. This way it’s consistent with list_objects() method. (GITHUB-1547) + +------------------------------------------------------------------- +Fri Jan 29 16:59:59 UTC 2021 - Pablo Suárez Hernández + +- Update to 3.3.0: + + * Common + + Fix a bug which would cause some prepared requests with empty bodies to be chunked which would cause some of the provider APIs such as OpenStack to return HTTP 400 errors. (GITHUB-1487, GITHUB-1488) [Michael Spagon - @mspagon] + + Optimize various code imports (remove unnecessary imports, make some lazy, etc.), so now importing most of the modules is around ~20-40% faster (~70 vs ~140 ms) and in some cases such as EC2 driver even more. + + Now majority of the import time is spent in importing requests library. (GITHUB-1519) [Tomaz Muraus] + + libcloud.pricing.get_size_price() function has been updated so it only caches pricing data in memory for the requested drivers. + + Advertise Python 3.9 support in setup.py. + + * Compute + + [GCE] Fix ex_set_image_labels method using incorrect API path. (GITHUB-1485) [Poul Petersen - @petersen-poul] + + [OpenStack] Fix error setting ex_force_XXX_url without setting ex_force_base_url. (GITHUB-1492) [Miguel Caballer - @micafer] + + [EC2] Update supported EC2 regions and instance sizes and add support for eu-north-1 region. (GITHUB-1486) [Arturo Noha - @r2ronoha] + + [Ovh] Add support for multiple regions to the driver. User can select a region (location) by passing location argument to the driver constructor (e.g. location=ca). (GITHUB-1494) [Dan Hunsaker - @danhunsaker] + + [GCE] Add support for creating nodes without a service account associated with them. Now when an empty list is passed for ex_service_accounts argument, VM will be created without service account attached. + + [VSphere] Add new VMware VSphere driver which utilizes pyvmomi library and works under Python 3. + + [OpenStack] Enable to get Quota Set detail. (GITHUB-1495) [Miguel Caballer - @micafer] + + [OpenStack] Add ex_get_size_extra_specs function to OpenStack driver. (GITHUB-1517) [Miguel Caballer - @micafer] + + [OpenStack] Enable to get Neutron Quota details in OpenStack driver. (GITHUB-1514) [Miguel Caballer - @micafer] + + [DigitalOcean] _node_node method now ensures image and size attributes are also set correctly and populated on the Node object. (GITHUB-1507, GITHUB-1508) [@sergerdn] + + [Vultr] Make sure private_ips attribute on the Node object is correctly populated when listing nodes. Also add additional values to the node.extra dictionary. (GITHUB-1506) [@sergerdn] + + [EC2] Optimize EC2 driver imports and move all the large constant files to separate modules in libcloud/compute/constants/ec2_*.py files. + + [Packet / Equinix Metal] Packet driver has been renamed to Equinix Metal. If your code uses Packet.net driver, you need to update it as per example in Upgrade Notes documentation section. (GITHUB-1511) [Dimitris Galanis - @dimgal1] + + [OutScale] Add various extension methods to the driver. For information on available extenion methods, please refer to the driver documentation. (GITHUB-1499) [@tgn-outscale] + + [Linode] Add support for Linode’s API v4. (GITHUB-1504) [Dimitris Galanis - @dimgal1] + + * Storage + + Deprecated lockfile library which is used by the Local Storage driver has been replaced with fasteners library. [Tomaz Muraus - @Kami] + + [S3] Add support for us-gov-east-1 region. (GITHUB-1509, GITHUB-1510) [Andy Spohn - @spohnan] + + [DigitalOcean Spaces] Add support for sfo2 regon. (GITHUB-1525) [Cristian Rasch - @cristianrasch] + + [MinIO] Add new driver for MinIO object storage (https://min.io). (GITHUB-1528, GITHUB-1454) [Tomaz Muraus - @Kami] + + [S3] Update S3 and other drivers which are based on the S3 one (Google Storage, RGW, MinIO) to correctly throw ContainerAlreadyExistsError if container creation fails because container with this name already exists. + + Add new libcloud.common.base.ALLOW_PATH_DOUBLE_SLASHES module level variable. + + * DNS + + [Common] Fix a bug with the header value returned by the export_zone_to_bind_format method containing an invalid timestamp (value for the minute part of the timestamp was wrong and contained month number instead of the minutes value). (GITHUB-1500) [Tomaz Muraus - @Kami] + + [CloudFlare DNS] Add support for creating SSHFP records. (GITHUB-1512, GITHUB-1513) [Will Hughes - @insertjokehere] + + [DigitalOcean] Update driver and make sure request data is sent as part of HTTP request body on POST and PUT operations (previously it was sent as part of query params). (GITHUB-1505) [Andrew Starr-Bochicchio - @andrewsomething] + + [AuroraDNS] Throw correct exception on 403 authorization failed API error. (GITHUB-1521, GITHUB-1522) [Freek Dijkstra - @macfreek] + + [Linode] Add support for Linode’s API v4. (GITHUB-1504) [Dimitris Galanis - @dimgal1] + + [CloudFlare] Update driver so it correctly throws RecordAlreadyExists error on various error responses which represent this error. [Tomaz Muraus - @Kami] + +------------------------------------------------------------------- +Tue Nov 3 13:31:18 UTC 2020 - Pablo Suárez Hernández + +- Fix bcond macros on SPEC file to properly manage Python 2 and Python 3 builds. + +------------------------------------------------------------------- +Fri Oct 30 12:47:57 UTC 2020 - Pablo Suárez Hernández + +- Skip conflictive 'ParamikoSSHClientTests.test_key_file_non_pem_format_error' test + since our SLE python-paramiko package already has OpenSSH support on version < 2.7.0 + +------------------------------------------------------------------- +Fri Oct 30 09:26:42 UTC 2020 - Pablo Suárez Hernández + +- Add pyOpenSSL as build dependency to allow tests to pass on SLE15 family + +------------------------------------------------------------------- +Wed Oct 28 13:45:19 UTC 2020 - Pablo Suárez Hernández + +- Do not build Python2 subpackage since 3.2.0 does not support Python2 +- Adjust skipped SSH unit tests when paramiko <= 2.7.0 + +- Add: + * skip-some-tests-for-older-paramiko-versions.patch + +------------------------------------------------------------------- +Wed Oct 21 01:17:39 UTC 2020 - Steve Kowalik + +- Update to 3.2.0: + * [OpenStack] Add ex_get_network() to the OpenStack driver to make it possible to retrieve a single network by using the ID. + * [OpenStack] Fix pagination in the list_images() method and make sure method returns all the images, even if the result is spread across multiple pages. + * [GCE] Add script for scraping GCE pricing data and improve price addition in _to_node_size method. (GITHUB-1468) [Eis D. Zaster - @Eis-D-Z] + * [AWS EC2] Update script for scraping AWS EC2 pricing and update EC2 pricing data. (GITHUB-1469) [Eis D. Zaster - @Eis-D-Z] + * [Deployment] Add new wait_period argument to the deploy_node method and default it to 5 seconds. + * [Azure ARM] Add script for scraping Azure ARM instance pricing data. (GITHUB-1470) [Eis D. Zaster - @Eis-D-Z] + * [Deployment] Make FileDeployment class much faster and more efficient when working with large files or when running multiple FileDeployment steps on a single node. + * [Deployment] Add __repr__() and __str__() methods to all the Deployment classes. [Tomaz Muraus - @Kami] + * [Deployment] New keep_alive and use_compression arguments have been added to the ParamikoSSHClient class constructor. + * [Deployment] Update ParamikoSSHClient.put() method so it returns a correct path when commands are being executed on a Windows machine. + * [Outscale] Add a new driver for the Outscale provider. Existing Outscale driver utilizes the EC2 compatible API and this one utilizes native Outscale API. (GITHUB-1476) [Tio Gobin - @tgn-outscale] + * [KubeVirt] Add new methods for managing services which allows users to expose ports for the VMs (ex_list_services, ex_create_service, ex_delete_service). (GITHUB-1478) [Eis D. Zaster - @Eis-D-Z] + * [LXD] Add new methods for managing network and storage pool capabilities and include other improvements in some of the existing methods. (GITHUB-1477) [Eis D. Zaster - @Eis-D-Z] + * [DigitalOcean] Add location argument to the list_sizes() method. + * Fix deploy_node() so an exception is not thrown if any of the output (stdout / stderr) produced by the deployment script contains a non-valid utf-8 character. + * Add new timeout argument to ScriptDeployment and ScriptFileDeployment class constructor. + * [GiG G8] Fix retry functionality when creating port forwards and add support for automatically refresing the JWT auth token inside the connection class if it's about to expire in 60 seconds or less. (GITHUB-1465) [Jo De Boeck - @grimpy] + * [Azure ARM] Update create_node so an exception is thrown if user passes ex_use_managed_disks=False, but doesn't provide a value for the ex_storage_account argument. (GITHUB-1448) [@antoinebourayne] + * [AWS S3] Make sure driver works correctly for objects with ~ in the name. + * [CloudFlare] Update driver to include the whole error chain the thrown exception message field. + * [Gandi Live] Don't throw if extra['rrset_ttl'] argument is not passed to the create_record method. (GITHUB-1463) [Tomaz Muraus] + +------------------------------------------------------------------- +Wed May 27 04:46:47 UTC 2020 - Steve Kowalik + +- Update to v3.0.0: + * Make sure auth_user_info variable on the OpenStack identify connection class is populated when using auth version 3.x_password and 3.x_oidc_access_token. + * [OpenStack] Update OpenStack identity driver so a custom project can be selected using domain_name keyword argument containing a project id. + * [GCE] Update create_node() method so it throws an exception if node location can't be inferred and location is not specified by the user ( either by passing datacenter constructor argument or by passing location argument to the method). + * [GCE] Update ex_get_disktype method so it works if zone argument is not set. (GITHUB-1443) [Tomaz Muraus] + * [GiG G8] Add new driver for GiG G8 provider (https://gig.tech/). (GITHUB-1437) [Jo De Boeck - @grimpy] + * [OpenStack] Fix auto assignment of volume device when using device name auto in the attach_volume method. (GITHUB-1444) [Joshua Hesketh - @jhesketh] + * [Kamatera] Add new driver for Kamatera provider (https://www.kamatera.com). (GITHUB-1442) [Ori Hoch - @OriHoch] + * Add new download_object_range and download_object_range_as_stream methods for downloading part of the object content (aka range downloads) to the base storage API. + * [Google Storage] Update the driver so it supports service account HMAC credentials. + * [Kubernetes] Add support for the client certificate and static token based authentication to the driver. (GITHUB-1421) [Tomaz Muraus] + * Add support for Ed25519 private keys for deploy_node() functionality when using paramiko >= 2.2.0. (GITHUB-1445) [Tomaz Muraus - @Kami] + * Fix deploy_node() so it correctly propagates an exception is a private key which is used is password protected, but no password is specified. + * Allow user to specify password for encrypted keys by passing ssh_key_password argument to the deploy_node() method. + * Fix deploy_node() method so we don't retry on fatal SSHCommandTimeoutError exception (exception which is thrown when a command which is running on remote host times out). (GITHUB-1445) [Tomaz Muraus - @Kami] + * Add new stdout and stderr attribute to SSHCommandTimeoutError class. + * [OpenStack] Fix auto assignment of volume device when using device name auto in the attach_volume method. (GITHUB-1444) [Joshua Hesketh - @jhesketh] +- Refresh patches gce_image_projects.patch and ec2_create_node.patch. + +------------------------------------------------------------------- +Thu Mar 12 11:00:06 UTC 2020 - Tomáš Chvátal + +- Fix build without python2 + +------------------------------------------------------------------- +Thu Mar 5 18:45:41 UTC 2020 - Niels Abspoel + +- update to 2.8.1 + for the changelog see: + https://libcloud.readthedocs.io/en/stable/changelog.html#changes-in-apache-libcloud-v2-8-1 + +------------------------------------------------------------------- +Fri Feb 21 19:48:04 UTC 2020 - Sean Marlow + +- Add gce_image_projects.patch to update the current list of SUSE + image projects in GCE. + +------------------------------------------------------------------- +Thu Feb 20 18:19:46 UTC 2020 - James Fehlig + +- Stop building for python2 + +------------------------------------------------------------------- +Thu Jan 16 17:28:20 UTC 2020 - Marketa Calabkova + +- update to 2.8.0 + * Distribution now includes py.typed file which signals mypy that + this package contains type annotations + * Fix get_driver() bug / regression not working if the provider + argument was a string and not a Provider ENUM. + +------------------------------------------------------------------- +Fri Dec 13 13:31:28 UTC 2019 - Thomas Bechtold + +- update to 2.7.0: + - Test code with Python 3.8 and advertise that we also support Python 3.8. + - [OpenStack] Fix OpenStack project scoped token authentication. The driver + constructors now accept ``ex_tenant_domain_id`` argument which tells + authentication service which domain id to use for the scoped authentication + token. (GITHUB-1367) + - Introduce type annotations for the base compute API methods. This means you + can now leverage mypy to type check (with some limitations) your code which + utilizes Libcloud compute API standard API methods. + - [Azure ARM] Fix ``attach_volume`` method and allow maximum of 64 disks to be + added when LUN is not specified. Previously there was a bug and only a + maximum of 63 disks could be added. + - New ``start_node`` and ``stop_node`` methods have been added to the base + Libcloud compute API NodeDriver class. + - [GCE] Add new ``ex_set_volume_labels`` method for managing volume labels to + the driver. + - [EC2] Add support for new ``inf1.*`` instance types. + - [S3] Update S3 driver so a single driver class can be used for different + regions. + - [S3] Add missing ``eu-north-1`` region to the S3 driver. (GITHUB-1370) + - [S3] Add missing regions (eu-west-3, ap-northeast-3, me-south-1) to the driver. + - [S3] Update the driver to throw more user-friendly error message if user is + using driver for a region X, but trying to upload / download object to / from + a region Y. + +------------------------------------------------------------------- +Wed Sep 18 11:12:52 UTC 2019 - Tomáš Chvátal + +- Update to 2.6.0: + * Many various cloud fixes and tweaks for future python releases + * See CHANGES.rst + +------------------------------------------------------------------- +Thu May 16 23:34:03 UTC 2019 - ranand@suse.com + +- Skip failing ElasticContainerDriverTestCase, with invalid URL + +------------------------------------------------------------------- +Mon Feb 25 09:28:39 UTC 2019 - John Vandenberg + +- Activate test suite, deselecting one set of tests which ssh to localhost +- Remove image_projects.patch merged upstream +- Add Suggests for optional dependencies paramiko, lockfile, libvirt-python + and pysphere +- Add example code to %doc +- Update to v2.4.0 + * Refuse installation with Python 2.6 and Python 3.3 + * Support Python 3.7 + * Cleanup various Python files + * Allow running tests with http_proxy set + * Common + + Document openstack_connection_kwargs method + + Handle missing user email in OpenStackIdentityUser + * Compute + + [ARM] Support OS disk size definition on node creation + + [Digital Ocean] Support floating IPs + + [Digital Ocean] Support attach/detach for floating IPs + + [Digital Ocean] Add ex_get_node_details + + [Digital Ocean] Add tags extra attribute to create_node + + [Dimension Data] Fix IndexError in list_images + + [EC2] Add AWS eu-west-3 (Paris) region + + [EC2] Add description to ex_authorize_security_group_ingress + + [EC2] Added script to automatically get EC2 instance sizes + + [EC2] Update instance sizes + + [EC2] Accept tags when create a snapshot + + [GCE] Expand Firewall options coverage + + [GCE] Expand network and subnetwork options coverage + + [GCE] Extend ex_create_address to allow internal ip creation + + [GCE] Allow shared VPC in managed instance group creation + + [GCE] Support disk_size parameter for boot disk when creating instance + + [GCE] Update public image projects list + + [GCE] Fix _find_zone_or_region for >500 instances + + [GCE] Allow routing_mode=None in ex_create_network + + [OpenStack] Implement Glance Image API v2 + + [OpenStack] Fix spelling in ex_files description + + [OpenStack v2] Allow listing image members + + [OpenStack v2] Allow creating and accepting image members + + [OpenStack v2] Fix image members methods + + [OpenStack] Fix API doc for delete_floating_ip + + [OpenStack] Implement port attaching/detaching + + [OpenStack] Add methods for getting and creating ports + + [OpenStack] Add get_user method + + [OpenStack] Add ex_list_subnets to OpenStack_2_NodeDriver + + [OpenStack] The OpenStack_2_NodeDriver uses two connections + + [OpenStack] The OpenStack_2_NodeDriver /v2.0/networks instead of /os-networks + + [Scaleway] New Scaleway driver + + [Scaleway] Update Scaleway default API host + * DNS + + [Google Cloud DNS] Document driver instantiation + * Storage + + Update docstring for storage provider class + + [Azure Blob Storage] Allow filtering lists by prefix + + [Azure Blob Storage] Update driver documentation + + [Azure Blob Storage] Fix upload/download streams + + [Azure Blob Storage] Fix PageBlob headers + + [S3] Guess s3 upload content type + + [S3] Add Amazon S3 (cn-northwest-1) Storage Driver + * Other + + Fixed spelling in 2.0 changes documentation + + +------------------------------------------------------------------- +Fri Sep 28 20:00:44 UTC 2018 - Sean Marlow + +- Add ec2_create_node.patch to allow for instance type strings + in create_node method. + +------------------------------------------------------------------- +Tue Aug 14 17:57:22 UTC 2018 - sean.marlow@suse.com + +- Cleanup RPM warnings. +- Add image_projects.patch with updated list of latest image + projects. + +------------------------------------------------------------------- +Wed Jun 6 13:14:09 UTC 2018 - jengelh@inai.de + +- Use noun phrase in summary. + +------------------------------------------------------------------- +Thu May 10 15:44:58 UTC 2018 - toddrme2178@gmail.com + +- Make sure ssl is available + +------------------------------------------------------------------- +Wed May 2 15:33:17 UTC 2018 - tchvatal@suse.com + +- Version update to 2.3.0: + * For the changes see CHANGES.rst as it is too long + * many various bugfixes +- Drop no longer applying patch fix-backports-usage.patch + +------------------------------------------------------------------- +Sat Sep 30 13:29:33 UTC 2017 - mc@suse.com + +- fix build on SLE12 by using python-backports +- reduce warnings + +------------------------------------------------------------------- +Tue May 16 16:37:05 UTC 2017 - jmatejek@suse.com + +- convert to singlespec +- update requires +- update source url + +------------------------------------------------------------------- +Sun Apr 30 20:51:53 UTC 2017 - aboe76@gmail.com + +- Updated to apache libcloud 2.0.0 +for the changelog see: +https://github.com/apache/libcloud/blob/trunk/CHANGES.rst#changes-in-apache-libcloud-200 + +------------------------------------------------------------------- +Tue Oct 18 20:49:14 UTC 2016 - aboe76@gmail.com + +- Updated to apache libcloud 1.3.0 +for the changelog see: +https://github.com/apache/libcloud/blob/trunk/CHANGES.rst#changes-in-apache-libcloud-130 + +------------------------------------------------------------------- +Wed Jan 20 20:58:45 UTC 2016 - aboe76@gmail.com + +- Updated to apache libcloud 0.20.1 +- General: + - Introduction of container based drivers for Docker, Rkt and Container-as-a-service providers + (LIBCLOUD-781, GITHUB-666) [Anthony Shaw] + - Introduce a new libcloud.backup API for Backup as a Service projects and products. + (GITHUB-621) [Anthony Shaw] + - Also retry failed HTTP(s) requests upon transient “read operation timed out” SSL error. + (GITHUB-556, LIBCLOUD-728) [Scott Kruger] + - Throw a more user-friendly exception if a client fails to establish SSL / TLS connection + with a server because of an unsupported SSL / TLS version. (GITHUB-682) [Tomaz Muraus] +- Compute: + - Add ap-northeast-2 region to EC2 driver (South Korea) (GITHUB-681) [Anthony Shaw] + - Added Added volume type to EC2 volume extra to EC2 driver. (GITHUB-680) [Gennadiy Stas] + - Add LazyObject class that provides lazy-loading, see GCELicense for usage (LIBCLOUD-786, + GITHUB-665) [Scott Crunkleton] + - Added t2.nano instance type to EC2 Compute driver (GITHUB-663) [Anthony Shaw] + - Support for passing the image ID as a string instead of an instance of image when creating + nodes in Dimension Data driver. (GITHUB-664) [Anthony Shaw] +- DNS: + - Add support for ‘health checks’ in Aurora DNS driver (GITHUB-672) [Wido den Hollander] + - Make sure ttl attribute is correctly parsed and added to the Record extra dictionary. + (GITHUB-675) [Wido den Hollander] + - Improve unit tests of Aurora DNS driver (GITHUB-679) [Wido den Hollander] + + +------------------------------------------------------------------- +Thu Dec 17 21:35:16 UTC 2015 - aboe76@gmail.com + +- Updated to apache libcloud 0.20.0 + - new requirement: python-backports.ssl_match_hostname +for the changelog see: +https://libcloud.readthedocs.org/en/latest/changelog.html#changes-with-apache-libcloud-0-20-0 + +------------------------------------------------------------------- +Sun Nov 1 20:21:47 UTC 2015 - aboe76@gmail.com + +- Updated to apache libcloud 0.19.0 +for the changelog see: +https://github.com/apache/libcloud/blob/trunk/CHANGES.rst#changes-with-apache-libcloud-0190 + +------------------------------------------------------------------- +Thu Aug 13 19:59:56 UTC 2015 - aboe76@gmail.com + +- Updated to apache libcloud 0.18.0 + +for the changelog see: +https://github.com/apache/libcloud/blob/v0.18.0/CHANGES.rst#changes-with-apache-libcloud-0180 + +------------------------------------------------------------------- +Wed Feb 18 19:28:50 UTC 2015 - aboe76@gmail.com + +- Updated to Apache Libcloud 0.17.0 +- skipped 0.16.0 but the changes are listed here also. +- General: + - Use match_hostname function from backports.ssl_match_hostname package to verify the SSL certificate hostname instead of relying on our own logic. (GITHUB-374) [Alex Gaynor] + - Add new OpenStackIdentity_3_0_Connection class for working with OpenStack Identity (Keystone) service API v3. [Tomaz Muraus] + - Add support for prettifying JSON or XML response body which is printed to a file like object when using LIBCLOUD_DEBUG environment variable. This option can be enabled by setting LIBCLOUD_DEBUG_PRETTY_PRINT_RESPONSE environment variable. [Tomaz Muraus] + - Add support for using an HTTP proxy for outgoing HTTP and HTTPS requests. [Tomaz Muraus, Philip Kershaw] +- Compute: + - GCE driver updated to include ex_stop_node() and ex_start_node() methods. (GITHUB-442) [Eric Johnson] + - GCE driver now raises ResourceNotFoundError when the specified image is not found in any image project. Previously, this would return None but now raises the not-found exception instead. This fixes a bug where returning None caused ex_delete_image to raise an AttributeError. (GITHUB-441) [Eric Johnson] + - GCE driver update to support JSON format Service Account files and a PY3 fix from Siim Põder for LIBCLOUD-627. (LIBCLOUD-627, LIBCLOUD-657, GITHUB-438) [Eric Johnson] + - GCE driver fixed for missing param on ex_add_access_config. (GITHUB-435) [Peter Mooshammer] + - GCE driver support for HTTP load-balancer resources. (LIBCLOUD-605, GITHUB-429) [Lee Verberne] + - GCE driver updated to make better use of GCEDiskTypes. (GITHUB-428) [Eric Johnson] + - GCE driver list_images() now returns all non-deprecated images by default. (LIBCLOUD-602, GITHUB-423) [Eric Johnson] + - Improve GCE API coverage for create_node(). (GITHUB-419) [Eric Johnson] + - GCE Licenses added to the GCE driver. (GITHUB-420) [Eric Johnson] + - GCE Projects support common instance metadata and usage export buckets. (GITHUB-409) [Eric Johnson] + - Improvements to TargetPool resource in GCE driver. (GITHUB-414) [Eric Johnson] + - Adding TargetInstances resource to GCE driver. (GITHUB-393) [Eric Johnson] + - Adding DiskTypes resource to GCE driver. (GITHUB-391) [Eric Johnson] + - Fix boot disk auto_delete in GCE driver. (GITHUB-412) [Igor Bogomazov] + - Add Routes to GCE driver. (GITHUB-410) [Eric Johnson] + - Add missing ubuntu-os-cloud images to the GCE driver. (LIBCLOUD-632, GITHUB-385) [Borja Martin] + - Add new us-east-2 and us-east-3 region to the Joyent driver. (GITHUB-386) [ZuluPro] + - Add missing t2. instance types to the us-west-1 region in the EC2 driver. (GITHUB-388) [Matt Lehman] + - Add option to expunge VM on destroy in CloudStack driver. (GITHUB-382) [Roeland Kuipers] + - Add extra attribute in list_images for CloudStack driver. (GITHUB-389) [Loic Lambiel] + - Add ex_security_group_ids argument to the create_node method in the EC2 driver. This way users can launch VPC nodes with security groups. (GITHUB-373) [Itxaka Serrano] + - Add description argument to GCE Network. (GITHUB-397) [Eric Johnson] + - GCE: Improve MachineType (size) coverage of GCE API. (GITHUB-396) [Eric Johnson] + - GCE: Improved Images coverage. (GITHUB-395) [Eric Johnson] + - GCE: Support for global IP addresses. (GITHUB-390, GITHUB-394) [Eric Johnson] + - GCE: Add missing snapshot attributes. (GITHUB-401) [Eric Johnson] + - AWS: Set proper disk size in c3.X instance types. (GITHUB-405) [Itxaka Serrano] + - Fix a bug with handling of the ex_keyname argument in the Softlayer driver. (GITHUB-416, LIBCLOUD-647) [Dustin Oberloh] + - Update CloudSigma region list (remove Las Vegas, NV region and add new San Jose, CA and Miami, FL region). (GITHUB-417) [Viktor Petersson] + - Add ex_get_node method to the Joyent driver. (GITHUB-421) [ZuluPro] + - Add support for placement group management to the EC2 driver. (GITHUB-418) [Mikhail Ovsyannikov] + - Add new tok02 region to the Softlayer driver. (GITHUB-436, LIBCLOUD-656) [Dustin Oberloh] + - Add new Honolulu, HI endpoint to the CloudSigma driver. (GITHUB-439) [Stephen D. Spencer] + - Fix a bug with config_drive attribute in the OpenStack driver. New versions of OpenStack now return a boolean and not a string. (GITHUB-433) [quilombo] + - Add support for Abiquo API v3.x, remove support for now obsolete API v2.x. (GITHUB-433, LIBCLOUD-652) [David Freedman] + - Allow rootdisksize parameter in create_node CloudStack driver (GITHUB-440, LIBCLOUD-658) [Loic Lambiel] + - Fix an issue with LIBCLOUD_DEBUG not working correctly with the Linode driver. [Tomaz Muraus, Juan Carlos Moreno] (LIBCLOUD-598, GITHUB-342) + - Add new driver for VMware vSphere (http://www.vmware.com/products/vsphere/) based clouds. [Tomaz Muraus] + - Add two new default node states - NodeState.SUSPENDED and NodeState.ERROR. [Tomaz Muraus] + - Fix to join networks properly in deploy_node in the CloudStack driver. (LIBCLOUD-593, GITUHB-336) [Atsushi Sasaki] + - Create CloudStackFirewallRule class and corresponding methods. (LIBCLOUD-594, GITHUB-337) [Atsushi Sasaki] + - Add support for SSD disks to Google Compute driver. (GITHUB-339) [Eric Johnson] + - Add utility get_regions and get_service_names methods to the OpenStackServiceCatalog class. [Andrew Mann, Tomaz Muraus] + - Fix a bug in ex_get_console_output in the EC2 driver which would cause an exception to be thrown if there was no console output for a particular node. + Reported by Chris DeRamus. [Tomaz Muraus] + - Add ip_address parameter in CloudStack driver create_node method. (GITHUB-346) [Roeland Kuipers] + - Fix ParamikoSSHClient.run and deploy_node method to work correctly under Python 3. (GITHUB-347) [Eddy Reyes] + - Update OpenStack driver to map more node states to states recognized by Libcloud. [Chris DeRamus] + - Fix a bug with ex_metadata argument handling in the Google Compute Engine driver create_node method. (LIBCLOUD-544, GITHUB-349, GITHUB-353) [Raphael Theberge] + - Add SSH key pair management methods to the Softlayer driver. (GITHUB-321, GITHUB-354) [Itxaka Serrano] + - Correctly categorize node IP addresses into public and private when dealing with OpenStack floating IPs. [Andrew Mann] + - Add new t2 instance types to the EC2 driver. [Tomaz Muraus] + - Add support for Amazon GovCloud to the EC2 driver (us-gov-west-1 region). [Chris DeRamus] + - Allow user to pass "gp2" for "ex_volume_type" argument to the create_volume method in the EC2 driver. + Reported by Xavier Barbosa. [Tomaz Muraus, Xavier Barbosa] + - Add new driver for ProfitBricks provider. (LIBCLOUD-589, GITHUB-352) [Matt Baldwin] + - Various improvements and bugs fixes in the GCE driver. For a list, see https://github.com/apache/libcloud/pull/360/commits (GITHUB-360) [Evgeny Egorochkin] + - Allow user to specify virtualization type when registering an EC2 image by passing virtualization_type argument to the ex_register_image method. (GITHUB-361) [Andy Grimm] + - Add ex_create_image method to the GCE driver. (GITHUB-358, LIBCLOUD-611) [Katriel Traum] + - Add some methods to CloudStack driver: create_volume_snapshot, list_snapshots, destroy_volume_snapshot create_snapshot_template, ex_list_os_types) (GITHUB-363, LIBCLOUD-616) [Oleg Suharev] + - Added VPC support and Egress Firewall rule support fo CloudStack (GITHUB-363) [Jeroen de Korte] + - Add additional attributes to the extra dictionary of OpenStack StorageVolume object. (GITHUB-366) [Gertjan Oude Lohuis] + - Fix create_volume method in the OpenStack driver to return a created volume object (instance of StorageVolume) on success, instead of a boolean indicating operation success. (GITHUB-365) [Gertjan Oude Lohuis] + - Add optional project parameters for ex_list_networks() to CloudStack driver (GITHUB-367, LIBCLOUD-615) [Rene Moser] + - CLOUDSTACK: option to start VM in a STOPPED state (GITHUB-368) [Roeland Kuipers] + - Support "config_drive" in the OpenStack driver. Allow users to pass ex_config_drive argument to the create_node and ex_rebuild_node method. (GITHUB-370) [Nirmal Ranganathan] + - Add support for service scopes to the create_node method in the GCE driver. (LIBCLOUD-578, GITHUB-373) [Eric Johnson] + - Update GCE driver to allow for authentication with internal metadata service. (LIBCLOUD-625, LIBCLOUD-276, GITHUB-276) [Eric Johnson] + - Fix a bug in Elasticstack node creation method where it would raise exceptions because of missing data in a response, and also fix pulling the IP from the proper data item. (GITHUB-325) [Michael Bennett] + - Fix a bug which prevented user to connect and instantiate multiple EC2 driver instances for different regions at the same time. (GITHUB-325) [Michael Bennett] + - Add methods in CloudStack driver to manage mutiple nics per vm. (GITHUB-369) [Roeland Kuipers] + - Implements VPC network ACLs for CloudStack driver. (GITHUB-371) [Jeroen de Korte] +- Storage: + - Allow user to pass headers argument to the upload_object and upload_object_via_stream method. + This way user can specify CORS headers with the drivers which support that. (GITHUB-403, GITHUB-404) [Peter Schmidt] + - Fix upload_object_via_stream so it works correctly under Python 3.x if user manually passes an iterator to the method. + Also improve how reading a file in chunks works with drivers which support chunked encoding - always try to fill a chunk with CHUNK_SIZE bytes instead of directly streaming the chunk which iterator returns. + Previously, if iterator returned 1 byte in one iteration, we would directly send this as a single chunk to the API. (GITHUB-408, LIBCLOUD-639) [Peter Schmidt] + - Fix a bug with CDN requests in the CloudFiles driver. [Tomaz Muraus] + - Fix a bug with not being able to specify meta_data / tags when uploading an object using Google Storage driver. (LIBCLOUD-612, GITHUB-356) [Stefan Friesel] +- Loadbalancer: + - Updates to CloudStack driver. (GITHUB-434) [Jeroen de Korte] + - Allow user to specify session affinity algorithm in the GCE driver by passing ex_session_affinity argument to the create_balancer method. (LIBCLOUD-595, GITHUB-341) [Lee Verberne, Eric Johnson] +- DNS: + - New driver for Softlayer DNS service. (GITHUB-413, LIBCLOUD-640) [Vanč Levstik] + - Fix a bug with ex_create_multi_value_record method in the Route53 driver only returning a single record. (GITHUB-431, LIBCLOUD-650) [Itxaka Serrano] + - Various fixes in the Google DNS driver. (GITHUB-378) [Franck Cuny] + +------------------------------------------------------------------- +Mon Jul 21 21:21:48 UTC 2014 - aboe76@gmail.com +- Updated to Apache Libcloud 0.15.1 +- Compute: + - Allow user to limit a list of subnets which are returned by passing subnet_ids and filters argument to the ex_list_subnets + method in the EC2 driver. (LIBCLOUD-571, GITHUB-306) [Lior Goikhburg] + - Allow user to limit a list of internet gateways which are returned by passing gateway_ids and filters argument to the + ex_list_internet_gateways method in the EC2 driver. (LIBCLOUD-572, GITHUB-307) [Lior Goikhburg] + - Allow user to filter which nodes are returned by passing ex_filters argument to the list_nodes method in the EC2 driver. + (LIBCLOUD-580, GITHUB-320) [Lior Goikhburg] + - Add network_association_id to ex_list_public_ips and CloudstackAddress object (GITHUB-327) [Roeland Kuipers] + - Allow user to specify admin password by passing ex_admin_pass argument to the create_node method in the Openstack driver. + (GITHUB-315) [Marcus Devich] + - Fix a possible race condition in deploy_node which would occur if node is online and can be accessed via SSH, but the + SSH key we want to use hasn’t been installed yet. + Previously, we would immediately throw if we can connect, but the SSH key hasn’t been installed yet. (GITHUB-331) [David Gay] + Propagate an exception in deploy_node method if user specified an invalid path to the private key file. Previously + this exception was silently swallowed and ignored. [Tomaz Muraus] +- DNS: + - Include a better message in the exception which is thrown when a request in the Rackspace driver ends up in an ERROR state. [Tomaz Muraus] + +------------------------------------------------------------------- +Wed Jun 25 20:26:39 UTC 2014 - aboe76@gmail.com +- Updated to Apache LibCloud 0.15.0 +- Package: + - New requirement python-lxml +- general: + - Use lxml library (if available) for parsing XML. This should substantially reduce parsing time and memory usage for large XML responses (e.g. retrieving all the available images in the EC2 driver). [Andrew Mann] + - Use –head flag instead of -X HEAD when logging curl lines for HEAD requests in debug mode. + Reported by Brian Metzler. (LIBCLOUD-552) [Tomaz Muraus] + - Fix Python 3 compatibility bugs in the following functions: + - import_key_pair_from_string in the EC2 driver + - publickey._to_md5_fingerprint + - publickey.get_pubkey_ssh2_fingerprint + (GITHUB-301) [Csaba Hoch] + - Update CA_CERTS_PATH to also look for CA cert bundle which comes with openssl Homebrew formula on OS x (/usr/local/etc/openssl/cert.pem). (GITHUB-309) [Pedro Romano] + - Update Google drivers to allow simultaneous authornization for all the supported Google Services. (GITHUB-302) [Eric Johnson] +- Compute: + - Fix create_key_pair method which was not returning private key. (LIBCLOUD-566) [Sebastien Goasguen] + - Map “Stopped” node state in the CloudStack driver to NodeState.STOPPED instead of NodeState.TERMINATED, “Stopping” to NodeState.PENDING instead of NodeState.TERMINATED and “Expunging” to NodeState.PENDING instead of NodeState.TERMINATED. (GITHUB-246) [Chris DeRamus, Tomaz Muraus] + - Add ex_create_tags and ex_delete_tags method to the CloudStack driver. (LIBCLOUD-514, GITHUB-248) [Chris DeRamus] + - Add new G2 instances to the EC2 driver. [Tomaz Muraus] + - Add support for multiple API versions to the Eucalyptus driver and allows user to pass “api_version” argument to the driver constructor. (LIBCLOUD-516, GITHUB-249) [Chris DeRamus] + - Map “Powered Off” state in the vCloud driver from “TERMINATED” to “STOPPED”. (GITHUB-251) [Ash Berlin] + - Add ex_rename_node method to the DigitalOcean driver. (GITHUB-252) [Rahul Ranjan] + - Improve error parsing in the DigitalOcean driver. + Reported by Deni Bertovic. [Tomaz Muraus] + - Add extension methods for the VPC internet gateway management to the EC2 driver. (LIBCLOUD-525, GITHUB-255) [Chris DeRamus] + - Add CloudStackProject class to the CloudStack driver and add option to select project and disk offering on node creation. (LIBCLOUD-526, GITHUB-257) [Jim Divine] + - Fix IP address handling in the OpenStack driver. (LIBCLOUD-503, GITHUB-235) [Markos Gogoulos] + - Ad new ex_delete_image and ex_deprecate_image method to the GCE driver. (GITHUB-260) [Franck Cuny] + - Ad new ex_copy_image method to the GCE driver. (GITHUB-258) [Franck Cuny] + - Ad new ex_set_volume_auto_delete method to the GCE driver. (GITHUB-264) [Franck Cuny] + - Add ex_revoke_security_group_ingress method to the CloudStack driver. [Chris DeRamus, Tomaz Muraus] + - Allow user to pass ex_ebs_optimized argument to the create_node method in the EC2 driver. (GITHUB-272) [zerthimon] + - Add “deprecated” attribute to the Node object in the Google Compute Engine driver. (GITHUB-276) [Chris / bassdread] + - Update Softlayer driver to use “fullyQualifiedDomainName” instead of “hostname” attribute for the node name. (GITHUB-280) [RoelVanNyen] + - Allow user to specify target tags using target_tags attribute when creating a firewall rule in the GCE driver. (GITHUB-278) [zerthimon] + - Add new standard API for image management and initial implementation for the EC2 and Rackspace driver. (GITHUB-277) [Matt Lehman] + - Allow user to specify “displayname” attribute when creating a CloudStack node by passing “ex_displayname” argument to the method. + - Also allow “name” argument to be empty (None). This way CloudStack automatically uses Node’s UUID for the name. (GITHUB-289) [Jeff Moody] + - Deprecate “key” argument in the SSHClient class in favor of new “key_files” argument. + - Also add a new “key_material” argument. This argument can contain raw string version of a private key. + Note 1: “key_files” and “key_material” arguments are mutually exclusive. Note 2: “key_material” argument is not supported in the ShellOutSSHClient. + Use node id attribute instead of the name for the “lconfig” label in the Linode driver. This way the label is never longer than 48 characters. (GITHUB-287) [earthgecko] + - Add a new driver for Outscale SAS and Outscale INC cloud (http://www.outscale.com). (GITHUB-285, GITHUB-293, LIBCLOUD-536, LIBCLOUD-553) [Benoit Canet] + - Add new driver for HP Public Cloud (Helion) available via Provider.HPCLOUD constant. [Tomaz Muraus] + - Allow user to specify availability zone when creating an OpenStack node by passing “ex_availability_zone” argument to the create_node method. Note: This will only work if the OpenStack installation is running availability zones extension. (GITHUB-295, LIBCLOUD-555) [syndicut] + - Allow user to pass filters to ex_list_networks method in the EC2 driver. (GITHUB-294) [zerthimon] + - Allow user to retrieve container images using ex_get_image method in the Google Compute Engine driver. (GITHUB-299, LIBCLOUD-562) [Magnus Andersson] + - Add new driver for Kili public cloud (http://kili.io/) [Tomaz Muraus] + - Add “timeout” argument to the ParamikoSSHClient.run method. If this argument is specified and the command passed to run method doesn’t finish in the defined timeout, SSHCommandTimeoutError is throw and the connection to the remote server is closed. + Note #1: If timed out happens, this functionality doesn’t guarantee that the underlying command will be stopped / killed. The way it works it simply closes a connect to the remote server. [Tomaz Muraus] + Note #2: “timeout” argument is only available in the Paramiko SSH client. + - Make “cidrs_ips” argument in the ex_authorize_security_group_egress method in the EC2 driver mandatory. (GITHUB-301) [Csaba Hoch] + - Add extension methods for manging floating IPs (ex_get_floating_ip, ex_create_floating_ip, ex_delete_floating_ip) to the Openstack 1.1 driver. (GITHUB-301) [Csaba Hoch] + - Fix bug in RimuHosting driver which caused driver not to work when the provider returned compressed (gzip’ed) response. (LIBCLOUD-569, GITHUB-303) [amastracci] + - Fix issue with overwriting the server memory values in the RimuHosting driver. (GUTHUB-308) [Dustin Oberloh] + - Add ex_all_tenants argument to the list_nodes method in the OpenStack driver. (GITHUB-312) [LIBCLOUD-575, Zak Estrada] + - Add support for network management for advanced zones (ex_list_network_offerings, ex_create_network, ex_delete_network) in the CloudStack driver. (GITHUB-316) [Roeland Kuipers] + - Add extension methods for routes and route table management to the EC2 driver (ex_list_route_tables, ex_create_route_table, ex_delete_route_table, ex_associate_route_table, ex_dissociate_route_table, ex_replace_route_table_association, ex_create_route, ex_delete_route, ex_replace_route) (LIBCLOUD-574, GITHUB-313) [Lior Goikhburg] + - Fix ex_list_snapshots for HP Helion OpenStack based driver. [Tomaz Muraus] + - Allow user to specify volume type and number of IOPS when creating a new volume in the EC2 driver by passing ex_volume_type and ex_iops argument to the create_volume method. [Tomaz Muraus] + - Fix ex_unpause_node method in the OpenStack driver. (GITHUB-317) [Pablo Orduña] + - Allow user to launch EC2 node in a specific VPC subnet by passing ex_subnet argument to the create_node method. (GITHUB-318) [Lior Goikhburg] +- Storage: + - Fix container name encoding in the iterate_container_objects and get_container_cdn_url method in the CloudFiles driver. Previously, those methods would throw an exception if user passed in a container name which contained a whitespace. + Reported by Brian Metzler. (LIBCLOUD-552) [Tomaz MUraus] + - Fix a bug in the OpenStack Swift driver which prevented the driver to work with installations where region names in the service catalog werent upper case. (LIBCLOUD-576, GITHUB-311) [Zak Estrada] +- Load Balancer: + - Add extension methods for policy managagement to the ELB driver. (LIBCLOUD-522, GITHUB-253) [Rahul Ranjan] +- DNS: + - Fix update_record method in the Route56 driver so it works correctly for records with multiple values. [Tomaz Muraus] + - Add ex_create_multi_value_record method to the Route53 driver which allows user to create a record with multiple values with a single call. [Tomaz Muraus] + - Add new driver for Google DNS. (GITHUB-269) [Franck Cuny] + +------------------------------------------------------------------- +Sun Feb 9 08:22:46 UTC 2014 - aboe76@gmail.com + +- Changes with Apache Libcloud 0.14.1 +- Compute: + - Add new m3.medium and m3.large instance information to the EC2 driver. [Tomaz Muraus] + - Add a new driver for CloudSigma API v2.0. [Tomaz Muraus] + - Add “volume_id” attribute to the Node “extra” dictionary in the EC2 driver. Also fix the value of the “device” extra attribute in the StorageVolume object. (LIBCLOUD-501) [Oleg Suharev] + - Add the following extension methods to the OpenStack driver: ex_pause_node, ex_unpause_node, ex_suspend_node, ex_resume_node. (LIBCLOUD-505, GITHUB-238) [Chris DeRamus] + - Add ex_limits method to the CloudStack driver. (LIBCLOUD-507, GITHUB-240) [Chris DeRamus] + - Add “extra” dictionary to the CloudStackNode object and include more attributes in the “extra” dictionary of the network and volume object. (LIBCLOUD-506, GITHUB-239) [Chris DeRamus] + - Add ex_register_image method to the EC2 driver. (LIBCLOUD-508, GITHUB-241) [Chris DeRamus] + - Add methods for managing volume snapshots to the OpenStack driver. (LIBCLOUD-512, GITHUB-245) [Chris DeRamus] +- Load Balancer: + - Fix a bug in the ex_targetpool_add_node and ex_targetpool_remove_node method in the GCE driver. [Rick Wright] +- Storage: + - Allow user to use an internal endpoint in the CloudFiles driver by passing “use_internal_url” argument to the driver constructor. (GITHUB-229, GITHUB-231) [John Obelenus] +- DNS: + - Add PTR to the supported record types in the Rackspace driver. [Tomaz Muraus] + - Fix Zerigo driver to set Record.name attribute for records which refer to the bare domain to “None” instead of an empty string. [Tomaz Muraus] + - For consistency with other drivers, update Rackspace driver to set Record.name attribute for the records which refer to the bare domain to “None” instead of setting them to FQDN. [Tomaz Muraus] + - Update Rackspace driver to support paginating through zones and records. (GITHUB-230) [Roy Wellington] + - Update Route53 driver so it supports handling records with multiple values (e.g. MX). (LIBCLOUD-504, GITHUB-237) [Chris DeRamus] + - Update Route53 driver to better handle SRV records. [Tomaz Muraus] + - Update Route53 driver, make sure “ttl” attribute in the Record extra dictionary is always an int. [Tomaz Muraus] + +------------------------------------------------------------------- +Sat Jan 25 20:31:09 UTC 2014 - aboe76@gmail.com + +- Big release 0.14.0 +- General: + - If the file exists, read pricing data from ~/.libcloud/pricing.json by default. + If the file doesn’t exist, fall back to the old behavior and use pricing data + which is bundled with the release. [Tomaz Muraus] + - Add libcloud.pricing.download_pricing_file function for downloading and + updating the pricing file. [Tomaz Muraus] + - Fix libcloud.utils.py3.urlquote so it works with unicode strings + under Python 2. (LIBCLOUD-429) [Michael Farrell] +- Compute: + - Refactor Rackspace driver classes and make them easier to use. + Now there are two Rackspace provider constants - Provider.RACKSPACE which represents + new next-gen OpenStack servers and Provider.RACKSPACE_FIRST_GEN + which represents old first-gen cloud servers. + + Note: This change is backward incompatible. + For more information on those changes and how to update your code, + please visit “Upgrade Notes” documentation page - http://s.apache.org/lc0140un [Tomaz Muraus] + + - Deprecate the following EC2 provider constants: + EC2_US_EAST, EC2_EU, EC2_EU_WEST, EC2_AP_SOUTHEAST, + EC2_AP_NORTHEAST, EC2_US_WEST_OREGON, EC2_SA_EAST, + EC2_SA_EAST and replace it with a new EC2 constant. + Driver referenced by this new constant now takes a “region” argument which + dictates to which region to connect. + + Note: Deprecated constants will continue to work until the next major release. + For more information on those changes and how to update your code, + please visit “Upgrade Notes” documentation page - http://s.apache.org/lc0140un [Tomaz Muraus] + + - Add support for volume related functions to OpenNebula driver. (LIBCLOUD-354) [Emanuele Rocca] + - Add methods for managing storage volumes to the OpenStack driver. (LIBCLOUD-353) [Bernard Kerckenaere] + - Add new driver for Google Compute Engine (LIBCLOUD-266, LIBCLOUD-386) [Rick Wright] + - Fix create_node “features” metadata and update affected drivers. (LIBCLOUD-367) [John Carr] + - Update EC2 driver to accept the auth kwarg (it will accept NodeAuthSSH objects and + automatically import a public key that is not already uploaded to the EC2 keyring). + (Follow on from LIBCLOUD-367). [John Carr] + - Unify extension argument names for assigning a node to security groups in EC2 and OpenStack driver. + Argument in the EC2 driver has been renamed from ex_securitygroup to ex_security_groups. + For backward compatibility reasons, old argument will continue to work until the next major release. + (LIBCLOUD-375) [Tomaz Muraus] + - Add ex_import_keypair_from_string and ex_import_keypair method to the CloudStack driver. + (LIBCLOUD-380) [Sebastien Goasguen] + - Add support for managing floating IP addresses to the OpenStack driver. (LIBCLOUD-382) [Ivan Kusalic] + - Add extension methods for handling port forwarding to the CloudStack driver, + rename CloudStackForwardingRule class to CloudStackIPForwardingRule. (LIBCLOUD-348, LIBCLOUD-381) [sebastien goasguen] + - Hook up deploy_node functionality in the CloudStack driver and unify extension arguments + for handling security groups. (LIBCLOUD-388) [sebastien goasguen] + - Allow user to pass “args” argument to the ScriptDeployment and ScriptFileDeployment class. + This argument tells which command line arguments get passed to the ScriptDeployment script. (LIBCLOUD-394) + + Note: This change is backward incompatible. + For more information on how this affects your code and how to update it, + visit “Upgrade Notes” documentation page - http://s.apache.org/lc0140un [Tomaz Muraus] + + - Allow user to specify IAM profile to use when creating an EC2 node. (LIBCLOUD-403) [Xavier Barbosa] + - Add support for keypair management to the OpenStack driver. (LIBCLOUD-392) [L. Schaub] + - Allow user to specify disk partitioning mode using ex_disk_config argument in the OpenStack based drivers. + (LIBCLOUD-402) [Brian Curtin] + - Add new driver for NephoScale provider (http://nephoscale.com/). (LIBCLOUD-404) [Markos Gogoulos] + - Update network related extension methods so they work correctly with both, OpenStack and Rackspace driver. + (LIBCLOUD-368) [Tomaz Muraus] + - Add tests for networking functionality in the OpenStack and Rackspace driver. [Tomaz Muraus] + - Allow user to pass all supported extension arguments to ex_rebuild_server method in the OpenStack driver. + (LIBCLOUD-408) [Dave King] + - Add pricing information for Rackspace Cloud Sydney region. [Tomaz Muraus] + - Update EC2 instance type map and pricing data. High Storage instances are now also available in + Sydney and Singapore region. [Tomaz Muraus] + - Add new methods for managing storage volumes and snapshots to the EC2 driver (list_volumes, + list_snapshots, destroy_volume_snapshot, create_volume_snapshot) (LIBCLOUD-409) [Oleg Suharev] + - Add the following new extension methods to EC2 driver: ex_destroy_image, ex_modify_instance_attributes, + ex_delete_keypair. (LIBCLOUD-409) [Oleg Suharev] + - Allow user to specify a port range when creating a port forwarding rule. (LIBCLOUD-409) [Oleg Suharev] + - Align Joyent driver with other drivers and deprecate “location” argument in the driver constructor + in favor of “region” argument. + + Note: Deprecated argument will continue to work until the next major release. [Tomaz Muraus] + + - Deprecate the following ElasticHosts provider constants: + ELASTICHOSTS_UK1, ELASTICHOSTS_UK2, ELASTICHOSTS_US1, ELASTICHOSTS_US2, ELASTICHOSTS_US3, + ELASTICHOSTS_CA1, ELASTICHOSTS_AU1, ELASTICHOSTS_CN1 and replace it with a new ELASTICHOSTS constant. + Driver referenced by this new constant now takes a “region” argument which dictates to which region to connect. + + Note: Deprecated constants will continue to work until the next major release. For more information on those changes and + how to update your code, please visit “Upgrade Notes” + documentation page - http://s.apache.org/lc0140un (LIBCLOUD-383) [Michael Bennett, Tomaz Muraus] + + - Add log statements to our ParamikoSSHClient wrapper. This should make debugging deployment issues easier. + (LIBCLOUD-414) [Tomaz Muraus] + - Add new “NodeState.STOPPED” node state. Update HostVirual and EC2 driver to also recognize this new state. + (LIBCLOUD-296) [Jayy Vis] + - Add new Hong Kong endpoint to Rackspace driver. [Brian Curtin] + - Fix ex_delete_keypair method in the EC2 driver. (LIBCLOUD-415) [Oleg Suharev] + - Add the following new extension methods for elastic IP management to the EC2 driver: + ex_allocate_address, ex_disassociate_address, ex_release_address. (LIBCLOUD-417) [Patrick Armstrong] + - For consistency and accuracy, rename “ex_associate_addresses” method in the EC2 driver to + “ex_associate_address_with_node”. + + Note: Old method will continue to work until the next major release. [Tomaz Muraus] + + - Add new driver for CloudFrames (http://www.cloudfounders.com/CloudFrames) provider. (LIBCLOUD-358) [Bernard Kerckenaere] + - Update default kernel versions which are used when creating a Linode server. + Old default kernel versions: + x86 - 2.6.18.8-x86_64-linode1 + x86_64 - 2.6.39.1-linode34 + New default kernel versions: + x86 - 3.9.3-x86-linode52 + x86_64 - 3.9.3-x86_64-linode33 + (LIBCLOUD-424) [Tomaz Muraus, Jon Chen] + - Disable cache busting functionality in the OpenStack and Rackspace next-gen driver and enable it + only for Rackspace first-gen driver. [Tomaz Muraus] + - Update Google Compute Engine driver to v1beta16. [Rick Wright] + - Modify auth_url variable in the OpenStack drivers so it works more like users would expect it to. + Previously path specified in the auth_url was ignored and only protocol, hostname and port were used. + Now user can provide a full url for the auth_url variable and the path provided in the url is also used. + [DaeMyung Kang, Tomaz Muraus] + - Allow user to associate arbitrary key/value pairs with a node by passing “ex_metadata” argument + (dictionary) to create_node method in the EC2 driver. Those values are associated with a node using + tags functionality. (LIBCLOUD-395) [Ivan Kusalic] + - Add “ex_get_metadata” method to EC2 and OpenStack driver. This method reads metadata dictionary + from the Node object. (LIBCLOUD-395) [Ivan Kusalic] + + - Multiple improvements in the Softlayer driver: + - Map “INITIATING” node state to NodeState.PENDING + - If node is launching remap “halted” state to “pending” + - Add more node sizes + - Add ex_stop_node and ex_start_node method + - Update tests response fixtures + (LIBCLOUD-416) [Markos Gogoulos] + + - Modify list_sizes method in the KT UCloud driver to work, even if the item doesn’t have ‘diskofferingid’ + attribute. (LIBCLOUD-435) [DaeMyung Kang] + - Add new c3 instance types to the EC2 driver. [Tomaz Muraus] + - Fix an issue with the ex_list_keypairs and ex_list_security_groups method in the CloudStack driver + which caused an exception to be thrown if the API returned no keypairs / security groups. + (LIBCLOUD-438) [Carlos Reategui, Tomaz Muraus] + - Fix a bug in the OpenStack based drivers with not correctly checking if the auth token has expired + before re-using it. (LIBCLOUD-428) + Reported by Michael Farrell. [Tomaz Muraus, Michael Farrell] +- Storage + - Deprecate CLOUDFILES_US and CLOUDFILES_UK provider constant and replace it with a new CLOUDFILES constant. + Driver referenced by this new constant takes a “region” keyword argument which can be one + of ‘ord’, ‘dfw’, ‘iad’, ‘syd’, ‘lon’. + + Note: Deprecated constants will continue to work until the next major release. + For more information on this change, please visit “Upgrade Notes” + documentation section - http://s.apache.org/lc0140un [Tomaz Muraus] + + - Allow users to filter objects starting with a prefix by passing ex_prefix argument to the list_ + container_objects method in the S3, Google Storage and CloudFiles driver. (LIBCLOUD-369) [Stefan Friesel] + - Fix an issue with mutating connectionCls.host attribute in the Azure driver. This bug prevented user + from having multiple Azure drivers with different keys instantiated at the same time. (LIBCLOUD-399) [Olivier Grisel] + - Add a new driver for KT UCloud based on the OpenStack Swift driver. (LIBCLOUD-431). [DaeMyung Kang] + +- Load Balancer: + - Deprecate RACKSPACE_US and RACKSPACE_UK provider constant and replace it with a new RACKSPACE constant. + Driver referenced by this new constant takes a “region” keyword argument which can be one of the + following: ‘ord’, ‘dfw’, ‘iad’, ‘syd’, ‘lon’. + + Note: Deprecated constants will continue to work until the next major release. + For more information on this change, please visit “Upgrade Notes” + documentation section - http://s.apache.org/lc0140un [Tomaz Muraus] + + - Add new driver for Google Compute Engine (LIBCLOUD-386) [Rick Wright] + - Add new Hong Kong endpoint to Rackspace driver. [Brian Curtin] + +- DNS: + - Deprecate RACKSPACE_US and RACKSPACE_UK provider constant and replace it with a new RACKSPACE constant. + Driver referenced by this new constant takes a “region” keyword argument which can be one of the + following: ‘us’, ‘uk’. + + Note: Deprecated constants will continue to work until the next major release. + For more information on this change, please visit “Upgrade Notes” + documentation section - http://s.apache.org/lc0140un [Tomaz Muraus] + + - Use string instead of integer for RecordType ENUM value. + + Note: If you directly use an integer instead of RecordType ENUM class you need to update your code to + use the RecordType ENUM otherwise the code won’t work. For more information on how to do that, + see “Upgrade Notes” documentation section - http://s.apache.org/lc0140un [Tomaz Muraus] + + - Add “export_zone_to_bind_format” and export_zone_to_bind_zone_file method which allows users to + export Libcloud Zone to BIND zone format. (LIBCLOUD-398) [Tomaz Muraus] + - Update issue with inexistent zone / record handling in the get_zone and get_record + method in the Linode driver. Those issues were related to changes in the Linode API. (LIBCLOUD-425) [Jon Chen] + +------------------------------------------------------------------- +Thu Jan 2 19:52:40 UTC 2014 - aboe76@gmail.com + +- Updated to 0.13.3 (bnc#857209) +- Security fix release, for destroying nodes on digitalOcean + 'data_scrub' method is always invoked + +------------------------------------------------------------------- +Thu Oct 24 10:58:45 UTC 2013 - speilicke@suse.com + +- Require python-setuptools instead of distribute (upstreams merged) + +------------------------------------------------------------------- +Sun Sep 22 13:37:35 UTC 2013 - aboe76@gmail.com + +- Updated to 0.13.2 +- General: + - Don't sent Content-Length: 0 header with POST and PUT request if "raw" + mode is used. This fixes a regression which could cause broken behavior + in some storage driver when uploading a file from disk. +- Compute: + - Added Ubuntu Linux 12.04 image to ElasticHost driver image list. + (LIBCLOUD-364) + - Update ElasticHosts driver to store drive UUID in the node 'extra' field. + (LIBCLOUD-357) +- Storage: + - Store last_modified timestamp in the Object extra dictionary in the S3 + driver. (LIBCLOUD-373) +- Load Balancer: + - Expose CloudStack driver directly through the Provider.CLOUDSTACK + constant. +- DNS: + - Modify Zerigo driver to include record TTL in the record 'extra' attribute + if a record has a TTL set. + - Modify values in the Record 'extra' dictionary attribute in the Zerigo DNS + driver to be set to None instead of an empty string ('') if a value for + the provided key is not set. + +------------------------------------------------------------------- +Thu Sep 5 10:20:33 UTC 2013 - aboe76@gmail.com + +- Updated to 0.13.1 +- General Changes: + - Fix a regression introduced in 0.13.0 and make sure to include + Content-Length 0 with PUT and POST requests. +- Compute Changes: + - Fix a bug in the ElasticHosts driver and check for right HTTP status + code when determining drive imaging success. + - Update Opsource driver to include node public ip address (if available). +- Storage Chagnes: + - Fix a regression with calling encode_container_name instead of + encode_object_name on object name in get_object method. + - Ensure that AWS S3 multipart upload works for small iterators. + +------------------------------------------------------------------- +Mon Jul 1 18:30:05 UTC 2013 - aboe76@gmail.com + +- Updated to 0.13.0 +- General changes: + - Add homebrew curl-ca-bundle path to CA_CERTS_PATH. + - Modify OpenStackAuthConnection and change auth_token_expires attribute to + be a datetime object instead of a string. + - Modify OpenStackAuthConnection to support re-using of the existing auth + token if it's still valid instead of re-authenticating on every + authenticate() call. + - Modify base Connection class to not send Content-Length header if body is + not provided. + - Add the new error class ProviderError and modify InvalidCredsError to + inherit from it. +- compute changes: + - Fix destroy_node method in the experimental libvirt driver. + - Add ex_start_node method to the Joyent driver. + - Fix Python 3 compatibility issue in the ScriptFileDeployment class. + - Add ex_set_metadata_entry and ex_get_metadata method to the VCloud driver. + - Various improvements and bug-fixes in the VCloud driver. + - Add ex_set_metadata_entry and ex_get_metadata method to the VCloud driver. + - Modify list_sizes method in the OpenStack driver to include + OpenStackNodeSize object which includes 'vcpus' attribute which holds + a number of virtual CPUs for this size. + - For consistency rename "ex_describe_keypairs" method in the EC2 driver to + "ex_describe_keypair". + - Modify "ex_describe_keypair" method to return key fingerprint in the + return value. + - Populate private_ips attribute in the CloudStack drive when returning + a Node object from the create_node method. + - Allow user to pass extra arguments via "extra_args" argument which are + then passed to the "deployVirtualMachine" call in the CloudStack driver + create_node method. + - Update Gandi driver to handle new billing model. + - Fix a bug in the Linode driver and remove extra newline which is added + when generating a random root password in create_node. + - Add extension methods for managing keypairs to the CloudStack driver. + - Add extension methods for managing security groups to the CloudStack + driver. + - Add extension methods for starting and stoping the node to the + CloudStack driver. + - Fix old _wait_until_running method. + - Fix a bug in the GoGrid driver get_uuid method. + - Various bug fixes and improvements in the HostVirtual driver. + - Fix a bug with deploy_node not respecting 'timeout' kwarg. + - Modify create_node method in CloudStack driver to return an instance of + CloudStackNode and add a new "expunging" node state. + - Update API endpoint hostnames in the ElasticHost driver and use hostnames + which return a valid SSL certificate. + - Add a driver for Rackspace's new datacenter in Sydney, Australia. + - Add ex_list_networks method and missing tests for list_templates to the + CloudStack driver. + - Correctly throw InvalidCredsError if user passes invalid credentials to + the DigitalOcean driver. +- storage changes: + - Fix an issue with double encoding the container name in the CloudFiles + driver upload_object method. + Also properly encode container and object name used in the HTTP request + in the get_container and get_object method. +- load balancer changes: + - Add ex_list_current_usage method to the Rackspace driver. + +------------------------------------------------------------------- +Tue May 7 17:56:01 UTC 2013 - aboe76@gmail.com + +- Updated to 0.12.4 +- Fix a regression in Softlayer driver caused by the xmlrpclib changes. +- Allow user to pass alternate ssh usernames to deploy_node +- Fix a bug in EC2 list_locations method - 'name' attribute didn't contain a + the right value. +- Add new ScriptFileDeployment deployment class which reads deploy script from + file. +- Add support for API version 5.1 to the vCloud driver and accept any value + which is a multiple of four for ex_vm_memory kwarg in create_node method. +- Fix a regression with removed ex_force_service_region constructor kwarg in + the CloudFiles driver. +------------------------------------------------------------------- +Mon Apr 15 05:41:09 UTC 2013 - aboe76@gmail.com + +- Updated to 0.12.3 +- Fix Python 3.x related regressions +- Fix a regression introduced with recent xmlrpiclib changes which broke all + the Gandi.net drivers +- Improve deploy code to work correctly if the ssh user doesn't have access + to the /root directory. +- Improve public and private IP address handling in OpenStack 1.1 driver. +- Add new driver for DigitalOcean provider +- Fix a regression in ParamikoSSHClient +- Allow user to specify 'priority' extra argument when creating a MX or SRV + record. + +------------------------------------------------------------------- +Tue Feb 19 20:21:50 UTC 2013 - aboe76@gmail.com + +- updated to 0.12.1 +- Changes with Apache Libcloud 0.12.1: + - Deprecate LazyList method of iteration over large paginated collections + and use a new, more efficient generator based approach which doesn't + require the iterator to be pre-exhausted and buffering all of the values + in memory. + + Existing list_* methods which previously used LazyList class are + preserving the old behavior and new iterate_* methods which use a new + generator based approach have been added. (LIBCLOUD-254) + [Mahendra M] + + - Replace old ENUM style provider constants and replace them with a string + version. + This change allows users to dynamically register new drivers using a new + set_driver method. (LIBCLOUD-255) + [Mahendra M] + + - Allow user to explicitly specify which CA file is used for verifying + the server certificate by setting 'SSL_CERT_FILE' environment variable. + + Note: When this variable is specified, the specified path is the only + CA file which is used to verifying the server certificate. (LIBCLOUD-283) + [Tomaz Muraus, Erinn Looney-Triggs] + + - Add a common module (libcloud.common.xmlrpc) for handling XML-RPC + requests using Libcloud http layer. + + Also refactor existing drivers which use xmlrpclib directly (VCL, Gandi, + Softlayer) to use this module. + + This change allows drivers to support LIBCLOUD_DEBUG and SSL certificate + validation functionality. Previously they have bypassed Libcloud http + layer so this functionality was not available. (LIBCLOUD-288) + [John Carr] + + - Fix string interpolation bug in __repr__ methods in the IBM SCE driver. + (LIBCLOUD-242) + [Tomaz Muraus] + + - Fix test failures which happened in Python 3.3 due to: + - hash randomization + - changes in xml.etree module + - changes in xmlrpc module + (LIBCLOUD-245) + [Tomaz Muraus] + + - Improvements and additions in vCloud driver: + - Expose generic query method (ex_query) + - Provide functionality to get and set control access for vApps. This way + created vApps can be shared between users/groups or everyone. + (LIBCLOUD-251) + [Michal Galet] + + - Update EC2 pricing data to reflect new, lower prices - + http://aws.typepad.com/aws/2012/10/new-ec2-second-generation-standard-instances-and-price-reductions-1.html + [Tomaz Muraus] + + - Update EC2 instance size to reflect new m3 instance types. Also refactor + the code to make it easier to maintain. + [Tomaz Muraus] + + - Add a new driver for HostVirtual (http://www.vr.org) provider. + (LIBCLOUD-249) + [Dinesh Bhoopathy] + + - Fix a bug where a numeric instead of a string value was used for the + content-length header in VCloud driver. (LIBCLOUD-256) + [Brian DeGeeter, Tomaz Muraus] + + - Add a new driver for new Asia Pacific (Sydney) EC2 region. + [Tomaz Muraus] + + - Add support for managing security groups to the OpenStack driver. This + patch adds the following extension methods: + - ex_list_security_groups, ex_get_node_security_groups methods + - ex_create_security_group, ex_delete_security_group + - ex_create_security_group_rule, ex_delete_security_group_rule + (LIBCLOUD-253) + [L. Schaub] + + - Modify ElasticStack driver class to pass 'vnc auto' instead of + 'vnc:ip auto' argument to the API when creating a server. + It looks like 'vnc:ip' has been replaced with 'vnc'. + [Rick Copeland, Tomaz Muraus] + + - Add new EC2 instance type - High Storage Eight Extra Large Instance + (hs1.8xlarge). + [Tomaz Muraus] + + - Map 'shutting-down' node state in EC2 driver to UNKNOWN. Previously + it was mapped to TERMINATED. (LIBCLOUD-280) + + Note: This change is backward incompatible which means you need to update + your code if you rely on the old behavior. + [Tomaz Muraus, Marcin Kuzminski] + + - Change _wait_until_running method so it supports waiting on multiple nodes + and make it public (wait_until_running). (LIBCLOUD-274) + [Nick Bailey] + + - Add new EC2 instance type - High Memory Cluster Eight Extra Large. + (cr1.8xlarge). + [Tomaz Muraus] + + - Add new driver for Abiquo provider - http://www.abiquo.com (LIBCLOUD-250). + [Jaume Devesa] + + - Allow user to pass 'ex_blockdevicemappings' kwarg to the EC2 driver + 'create_node' method. (LIBCLOUD-282) + [Joe Miller, Tomaz Muraus] + + - Improve error handling in the Brightbox driver. + [Tomaz Muraus] + + - Fix the ScriptDeployment step to work correctly if user provides a + relative path for the script argument. (LIBCLOUD-278) + [Jaume Devesa] + + - Fix Softlayer driver and make sure all the code is up to date and works + with the latest version of the actual Softlayer deployment (v3). + (LIBCLOUD-287) + [Kevin McDonald] + + - Update EC2 driver, m3 instance types are now available in all the regions + except Brazil. + + Also update pricing to reflect new (decreased) prices. + [Tomaz Muraus] + + - Minor improvements in the HostVirtual driver and add new ex_get_node and + ex_build_node extension method. (LIBCLOUD-249) + [Dinesh Bhoopathy] + + - Add ex_destroy_image method to IBM SCE driver. (LIBCLOUD-291) + [Perry Zou] + + - Add the following new regions to the ElasticHosts driver: sjc-c, syd-v, + hkg-e. (LIBCLOUD-293) + [Tomaz Muraus] + + - Fix create_node in OpenStack driver to work correctly if 'adminPass' + attribute is not present in the response. + [Gavin McCance, Tomaz Muraus] + + - Allow users to filter images returned by the list_images method in the EC2 + driver by providing ex_image_ids argument. (LIBCLOUD-294) + [Chris Psaltis, Joseph Hall] + + - Add support for OpenNebula 3.8. (LIBCLOUD-295) + [Guillaume ZITTA] + + - Add a new local storage driver. + (LIBCLOUD-252, LIBCLOUD-258, LIBCLOUD-265, LIBCLOUD-273) + [Mahendra M] + + - Fix a bug which caused the connection to not be closed when using Python + 2.6 and calling get_object on an object which doesn't exist in the S3 + driver. (LIBCLOUD-257) + [John Carr] + + - Add a new generator based method for listing / iterating over the + containers (iterate_containers). (LIBCLOUD-261) + [Mahendra M] + + - Add ex_purge_object_from_cdn method to the CloudFiles driver. + (LIBCLOUD-267) + [Tomaz Muraus] + + - Support for multipart uploads and other improvements in the S3 driver + so it can more easily be re-used with other implementations (e.g. Google + Storage, etc.). + + Also default to a multipart upload when using upload_object_via_stream. + This methods is more efficient compared to old approach because it only + requires buffering a single multipart chunk (5 MB) in memory. + (LIBCLOUD-269) + [Mahendra M] + + - Add new driver for Windows Azure Storage with support for block and page + blobs. (LIBCLOUD-80) + [Mahendra M] + + - Update 'if type' checks in the update_record methods to behave correctly + if users passes in RecordType.A with a value of 0 - if type is not None. + (LIBCLOUD-247) + [Tomaz Muraus] + + - New driver for HostVirtual provider (www.vr.org). (LIBCLOUD-249) + [Dinesh Bhoopathy] + + - Finish Amazon Route53 driver. (LIBCLOUD-132) + [John Carr] + + - Add new driver for Gandi provider (https://www.gandi.net). (LIBCLOUD-281) + [John Carr] + + - Add new driver for AWS Elastic Load Balancing service. (LIBCLOUD-169) + [John Carr] + +------------------------------------------------------------------- +Wed Jan 30 21:04:12 UTC 2013 - aboe76@gmail.com + +- Updated spec file copyright to Suse + +------------------------------------------------------------------- +Mon Jan 28 15:10:05 UTC 2013 - toddrme2178@gmail.com + +- Cleanup spec file +- Fix rpmlint errors +- Rename package to match spec file + +------------------------------------------------------------------- +Tue Jan 22 19:44:56 UTC 2013 - aboe76@gmail.com + +- initial upload version 0.11.4 + diff --git a/python-apache-libcloud.keyring b/python-apache-libcloud.keyring new file mode 100644 index 0000000..50442ee --- /dev/null +++ b/python-apache-libcloud.keyring @@ -0,0 +1,1912 @@ +This file contains the PGP keys of various developers that work on +Apache Libcloud. + +Please don't use these keys for email unless you have asked the owner +because some keys are only used for code signing. + +Please realize that this file itself or the public key servers may be +compromised. You are encouraged to validate the authenticity of these keys in +an out-of-band manner. For information about our validation and signing +policies, please read http://httpd.apache.org/dev/verification.html. + +Apache users: pgp < KEYS +Apache developers: + (pgpk -ll && pgpk -xa ) >> this file. + or + (gpg --fingerprint --list-sigs + && gpg --armor --export ) >> this file. + +Apache developers: please ensure that your key is also available via the +PGP keyservers (such as pgpkeys.mit.edu). + +pub 1024D/42721F00 2004-01-17 + Key fingerprint = 39F6 691A 0ECF 0C50 E8BB 849C F788 75F6 4272 1F00 +uid Paul Querna +sig 3 42721F00 2004-01-17 Paul Querna +sig 3 75A67692 2006-02-23 [User ID not found] +sig 873CF1AD 2004-11-19 [User ID not found] +sig 83E6AE0D 2005-07-19 [User ID not found] +sig D92DD85C 2005-08-15 [User ID not found] +sig 0AE9C4BF 2006-05-08 [User ID not found] +sig D0FFFCCB 2006-08-02 [User ID not found] +sig 1331F35B 2007-08-18 [User ID not found] +sig 2 9284C452 2004-11-23 [User ID not found] +sig 2 E4136392 2004-12-11 [User ID not found] +sig 2 11DF87E9 2005-01-10 [User ID not found] +sig 2 CA064FC2 2005-04-14 [User ID not found] +sig 3 298BC7D0 2004-11-16 [User ID not found] +sig 3 E04F9A89 2004-11-17 Roy T. Fielding +sig 3 12BFE79A 2004-11-22 [User ID not found] +sig 3 2C312D2F 2004-11-23 [User ID not found] +sig 3 302DA568 2004-11-23 [User ID not found] +sig 3 D1AA8962 2004-11-24 [User ID not found] +sig 3 1C43D850 2004-11-29 [User ID not found] +sig 3 16A8D3AB 2004-12-14 [User ID not found] +sig 3 23CB7A2A 2004-12-26 [User ID not found] +sig 3 168936A2 2005-08-15 [User ID not found] +sig 3 451CB76D 2006-04-13 [User ID not found] +sig 3 311A3DE5 2008-04-11 [User ID not found] +sig 3 42721F00 2004-01-17 Paul Querna +sig 3 42721F00 2008-12-07 Paul Querna +sig 3 A99F75DD 2004-11-23 [User ID not found] +sig 3 EC140B81 2004-11-16 [User ID not found] +sig X CA57AD7C 2006-05-24 [User ID not found] +sig X CA57AD7C 2006-06-06 [User ID not found] +sig X CA57AD7C 2006-07-03 [User ID not found] +sig X CA57AD7C 2006-07-17 [User ID not found] +sig X CA57AD7C 2006-07-30 [User ID not found] +sig X CA57AD7C 2006-08-12 [User ID not found] +sig X CA57AD7C 2006-08-26 [User ID not found] +sig X CA57AD7C 2006-09-08 [User ID not found] +sig X CA57AD7C 2006-09-21 [User ID not found] +sig X CA57AD7C 2006-10-31 [User ID not found] +sig X CA57AD7C 2006-12-10 [User ID not found] +sig X CA57AD7C 2007-01-05 [User ID not found] +sig X CA57AD7C 2007-06-09 [User ID not found] +sig X CA57AD7C 2007-11-07 [User ID not found] +sig 3 42721F00 2004-07-10 Paul Querna +sig 3 42721F00 2004-07-10 Paul Querna +sig 3 42721F00 2004-07-10 Paul Querna +sig X CA57AD7C 2007-07-25 [User ID not found] +sig X CA57AD7C 2007-08-07 [User ID not found] +sig X CA57AD7C 2007-11-20 [User ID not found] +sig X CA57AD7C 2007-12-01 [User ID not found] +sig X CA57AD7C 2007-12-15 [User ID not found] +sig B55D9977 2010-01-26 [User ID not found] +sig 3F0A04B6 2010-01-26 Geoff Greer (AngryParsley) +sig 5D7BBC5A 2010-01-26 Leif Hedstrom (CODE SIGNING KEY) +uid Paul Querna +sig 3 42721F00 2008-12-07 Paul Querna +sig 83E6AE0D 2005-07-19 [User ID not found] +sig D92DD85C 2005-08-15 [User ID not found] +sig 0AE9C4BF 2006-05-08 [User ID not found] +sig D0FFFCCB 2006-08-02 [User ID not found] +sig 1331F35B 2007-08-18 [User ID not found] +sig 2 9284C452 2004-11-23 [User ID not found] +sig 2 E4136392 2004-12-11 [User ID not found] +sig 2 11DF87E9 2005-01-10 [User ID not found] +sig 2 CA064FC2 2005-04-14 [User ID not found] +sig 3 298BC7D0 2004-11-16 [User ID not found] +sig 3 E04F9A89 2004-11-17 Roy T. Fielding +sig 3 12BFE79A 2004-11-22 [User ID not found] +sig 3 2C312D2F 2004-11-23 [User ID not found] +sig 3 302DA568 2004-11-23 [User ID not found] +sig 3 D1AA8962 2004-11-24 [User ID not found] +sig 3 1C43D850 2004-11-29 [User ID not found] +sig 3 23CB7A2A 2004-12-26 [User ID not found] +sig 3 168936A2 2005-08-15 [User ID not found] +sig 3 75A67692 2006-02-23 [User ID not found] +sig 3 451CB76D 2006-04-13 [User ID not found] +sig 3 311A3DE5 2008-04-11 [User ID not found] +sig 3 A99F75DD 2004-11-23 [User ID not found] +sig 3 EC140B81 2004-11-16 [User ID not found] +sig 3 42721F00 2004-07-10 Paul Querna +sig B55D9977 2010-01-26 [User ID not found] +sig 3F0A04B6 2010-01-26 Geoff Greer (AngryParsley) +sig 5D7BBC5A 2010-01-26 Leif Hedstrom (CODE SIGNING KEY) +uid Paul Querna +sig 3 42721F00 2004-07-10 Paul Querna +sig 83E6AE0D 2005-07-19 [User ID not found] +sig D92DD85C 2005-08-15 [User ID not found] +sig 0AE9C4BF 2006-05-08 [User ID not found] +sig 1331F35B 2007-08-18 [User ID not found] +sig 2 9284C452 2004-11-23 [User ID not found] +sig 2 E4136392 2004-12-11 [User ID not found] +sig 2 11DF87E9 2005-01-10 [User ID not found] +sig 2 CA064FC2 2005-04-14 [User ID not found] +sig 3 298BC7D0 2004-11-16 [User ID not found] +sig 3 E04F9A89 2004-11-17 Roy T. Fielding +sig 3 12BFE79A 2004-11-22 [User ID not found] +sig 3 2C312D2F 2004-11-23 [User ID not found] +sig 3 302DA568 2004-11-23 [User ID not found] +sig 3 D1AA8962 2004-11-24 [User ID not found] +sig 3 1C43D850 2004-11-29 [User ID not found] +sig 3 23CB7A2A 2004-12-26 [User ID not found] +sig 3 168936A2 2005-08-15 [User ID not found] +sig 3 75A67692 2006-02-23 [User ID not found] +sig 3 451CB76D 2006-04-13 [User ID not found] +sig 3 311A3DE5 2008-04-11 [User ID not found] +sig 3 A99F75DD 2004-11-23 [User ID not found] +sig 3 EC140B81 2004-11-16 [User ID not found] +sig B55D9977 2010-01-26 [User ID not found] +sig 3F0A04B6 2010-01-26 Geoff Greer (AngryParsley) +sig 5D7BBC5A 2010-01-26 Leif Hedstrom (CODE SIGNING KEY) +uid Paul Querna +sig 3 42721F00 2004-07-10 Paul Querna +sig 83E6AE0D 2005-07-19 [User ID not found] +sig D92DD85C 2005-08-15 [User ID not found] +sig 0AE9C4BF 2006-05-08 [User ID not found] +sig 1331F35B 2007-08-18 [User ID not found] +sig 2 9284C452 2004-11-23 [User ID not found] +sig 2 E4136392 2004-12-11 [User ID not found] +sig 2 11DF87E9 2005-01-10 [User ID not found] +sig 2 CA064FC2 2005-04-14 [User ID not found] +sig 3 298BC7D0 2004-11-16 [User ID not found] +sig 3 E04F9A89 2004-11-17 Roy T. Fielding +sig 3 12BFE79A 2004-11-22 [User ID not found] +sig 3 2C312D2F 2004-11-23 [User ID not found] +sig 3 302DA568 2004-11-23 [User ID not found] +sig 3 D1AA8962 2004-11-24 [User ID not found] +sig 3 1C43D850 2004-11-29 [User ID not found] +sig 3 23CB7A2A 2004-12-26 [User ID not found] +sig 3 168936A2 2005-08-15 [User ID not found] +sig 3 75A67692 2006-02-23 [User ID not found] +sig 3 451CB76D 2006-04-13 [User ID not found] +sig 3 451CB76D 2006-04-13 [User ID not found] +sig 3 311A3DE5 2008-04-11 [User ID not found] +sig 3 A99F75DD 2004-11-23 [User ID not found] +sig 3 EC140B81 2004-11-16 [User ID not found] +sig B55D9977 2010-01-26 [User ID not found] +sig 3F0A04B6 2010-01-26 Geoff Greer (AngryParsley) +sig 5D7BBC5A 2010-01-26 Leif Hedstrom (CODE SIGNING KEY) +uid Paul Querna (cloudkick) +sig 3 42721F00 2009-09-21 Paul Querna +sig B55D9977 2010-01-26 [User ID not found] +sig 3F0A04B6 2010-01-26 Geoff Greer (AngryParsley) +sig 5D7BBC5A 2010-01-26 Leif Hedstrom (CODE SIGNING KEY) +sub 2048g/7A2BE310 2004-01-17 +sig 42721F00 2004-01-17 Paul Querna + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.10 (Darwin) + +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 +kLhc0FU2kQhhtC9QYXVsIFF1ZXJuYSAoY2xvdWRraWNrKSA8cHF1ZXJuYUBjbG91 +ZGtpY2suY29tPohgBBMRAgAgBQJKt81aAhsDBgsJCAcDAgQVAggDBBYCAwECHgEC +F4AACgkQ94h19kJyHwDZYACfRbA0hrZpdOU8s7XDAmXCvMItUgMAniv6R19ZJRCK +klh2Z/rWoPovmnGIiQIcBBABAgAGBQJLX2TJAAoJEBk/GAq1XZl3DwUQALh6JgaH +d7Y5l04zZbndeKp/Qqy4ONt7q5OCB/Zo6mERSF8NHWPBQhdwL7/tVeOqjdWOOO+Z +a2B1z/njPtYbUMRWtQw3Yx/Sbyhmus5nBgFpxRaw/amOIEBbplRfgJjn94OAzRNO +vxYdEE4tabvhT9chV5bjfWop/yFrWOcenS/F4NiRQZv1QKmzwTtDkmI2HucpcVzP +LHVzZMuk7rDveB6xsTXvrj+helTtNnvobqcCWuVQSeKoOTZ8XVlnlRXKbXZ04z3n +SuFGfdb66gUedTB826xBq3WV1UanDfvokwvYR4mm4pmnanfVEp7up4eugkbu71NX +kw1NfO94ZYeEfxJJALT/G4STSXTFxgbQd/wL7S25AbGupJM4d1j25gCq4bH289/n +etPnFmcsfLo7anF35N4a/BK8APMgjjN4UX0MjmA/364rbXEuqhHoWCtb5RX2t/l3 ++hyJl2B/8qK7fSd9NiQLSdXKQLXX+u7P2P3/vp2miphMSJGAboF0dJ0UwO5oL/GO +3K7z/klUR711r7xbN0VFB1cUO7/MPPzeCEJfB3OHc844/0ZEXemu3zvGhELnkuHP +eh2MStFE9Z+SITJzZuLg/6LonrYbUeA6ney4TKhH32eJGasW8zX9Qzz8RjZmUsZS +aEKET1E+V5QxwTEVNFImZkfvsYAXObBFoMzBiQIcBBABAgAGBQJLX2+nAAoJEFVr +v/A/CgS2J84QAKDAPXMCtnxfSJSKKFKeFcGBZwhpu6yssoQ/2qsWhYtIhgdUFd+3 +p+v9ZwLEt8qd5Ua9e5UnSQSi6RjxeP24lLH/td+X9OQgXak333w8e888YGgObIv0 +B9+btlG05e6g0abNMvcVj4LYW+tEnnCYkYFwqlFsjRuAYUUT63rqIuB2LbdIdCN4 +ms/wJh3qtNazpMkQooXWbmKeZiHbivwaTsUQ9fgDyox7G6uZHXn3nZPPyTkV+aIm +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 +=Yasz +----END PGP PUBLIC KEY BLOCK----- +pub 4096R/CE0692F3 2011-01-14 + Key fingerprint = 9978 28DC 62F7 59CE A189 D65E 2C07 54B2 CE06 92F3 +uid Tomaz Muraus +sig F59D25F0 2011-05-14 [User ID not found] +sig 2F6059E7 2011-05-17 [User ID not found] +sig 3 CE0692F3 2011-05-14 Tomaz Muraus +sig D84E41AE 2011-05-16 [User ID not found] +uid Tomaz Muraus +sig 3 CE0692F3 2011-01-14 Tomaz Muraus +sig F59D25F0 2011-05-14 [User ID not found] +sig 4E24517C 2011-05-16 [User ID not found] +sig 2F6059E7 2011-05-17 [User ID not found] +sig D84E41AE 2011-05-16 [User ID not found] +uid Tomaz Muraus +sig F59D25F0 2011-05-14 [User ID not found] +sig 4E24517C 2011-05-16 [User ID not found] +sig 2F6059E7 2011-05-17 [User ID not found] +sig 3 CE0692F3 2011-02-02 Tomaz Muraus +sig D84E41AE 2011-05-16 [User ID not found] +sub 4096R/2CDD492F 2011-01-14 +sig CE0692F3 2011-01-14 Tomaz Muraus + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.11 (GNU/Linux) + +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 +t/Jtbvuwva2T+u+E31nFo/+yLQfWB/9WFA== +=7uuy +-----END PGP PUBLIC KEY BLOCK----- +pub 4096R/0xB18F226B8F89EB84 2014-05-27 +uid [ unknown] Sebastien Goasguen (CODE SIGNING KEY) +sig 3 0xB18F226B8F89EB84 2014-05-27 Sebastien Goasguen (CODE SIGNING KEY) +sig 0x2C0754B2CE0692F3 2014-05-27 Tomaz Muraus +sub 4096R/0x12C0B30EE0D497CA 2014-05-27 +sig 0xB18F226B8F89EB84 2014-05-27 Sebastien Goasguen (CODE SIGNING KEY) + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.22 (GNU/Linux) + +mQINBFOEhD4BEAC0BzIQJOTAVm3qIL6OF95lPXsZT8ZaLloGSfjv7/dnY6lLPU05 +F5RB+u79ufTtZG+95YGEWsiLPcNHJzkPlyOzUG9RlzXBk3usjeM6EqVSNBkb4NdD +0+aqRlzmUqNocdT6WatcmzQmiSjSxqMVb5UoayhHp80EZ6XwXrAPbEhh7ZBj6Dub +FxRc8GHHtKaV/fK/PY4PcThGTF7XPAjZfqvrVwWawT0MCkCnX39h92OPh9UF2OEJ +/d1WHPTj9T9YrviaLLB51NrCj6xPAO4VMdmv6f5XAxE3zM11Zki0Xbtwq00kvs8D +ZFqlCrFjzvwJKLsRJkqcmc1g0gjB/U5xk9kCw8oZyCCb6mBNWIhOqozrmIq5lVJI +DNQ1x7ylAao1ORIv5YTdR6/k+g7yKrGKQuaySoR8RPHHaZbzsNYsruYh97JBdx0b +qj0YOIHSlMUP50Rx8bFaCJ84lzlrQ++53XzSLsPOSvuTOv9m//ipomp7qbUOV1A6 +AUID3ZzNLnAPlu3sDgiq9LRC0s+G+I5hLGmi3V4CyD1s3RmpiDpEUvu7h0IAwHkD +RHf/MQBjl3t32AJq2SNMWx82rin8WydOwk4r7TIQtne+Y5wHN5rvU03y2GcdBz4f +yb3r4vCpLw/VGw/bguk1ybHM+swQ4dyuQbmjx0ESGqOsCkq/m9VEhEPwAQARAQAB +tDlTZWJhc3RpZW4gR29hc2d1ZW4gKENPREUgU0lHTklORyBLRVkpIDxzZWJnb2FA +YXBhY2hlLm9yZz6JAjcEEwEKACEFAlOEhD4CGwMFCwkIBwMFFQoJCAsFFgIDAQAC +HgECF4AACgkQsY8ia4+J64T2ug//az/KnIG9D8PVslWAYnmxHXC4kzgvj9SZB8Xl +Oxle+/47bIkLywLX0jcWYUOiHI/KiS/jPRzQbh8+FmBLrlmbXJsRJJoRG48JyBJ4 +1hVc8kYHHywfHnihzhcVi80aQrWXFEzMQw71t3PoYLjfUFAynxqlNqdlGkb8cy2C +5NKXfcBcr0y/s26sbFcbktz+Ao+3DhJIrK4iNp+0Pu/5nAC+FggLcOU/x9+cteiC +5zS/uyHPQSfjjAvxEwQmTMOblO6WUk5mpgt/mPYpIDcI9PXnqLH5R8xo1ZauHl/P +y4tn2BpIeGq1V3UiNuIRwKKPqoyRCsLmtKHMAblHlDuiWyfInGGOiHyJlj0eSdUF +nFjcGmywOqJwZsrAcLdJmFSJGZ50IDesJaj+4HPssXWarqT1o9DDw/bEfx2bzDOI +iI9g3eeMbYeuUhtvRGCqFMz3n0IY5VzsyCzIoCnjXAZXMRl7gl5i63DNUMHTyf1w +fggY86ZVdpuWtYGwGmD8tDQOZNOF1ed1GJj3oX1qGDkaBeyOykV5MR18UR6eaxCE +lcuNqGdOphJQl48YBBye2JK9oyWgRFbabeSVP53TEFFif8sm0XViQhW+8ycdB8sU +mj5p4IjASmuMyAvQOmR1S5Uv6eDkO7kLCPiGDDbTTdoOQqQGD9zDmskQ/ajs/U+V ++H3577GJAhwEEAEIAAYFAlOEiG4ACgkQLAdUss4GkvNSAQ//YXCgKpTZcImgjQ/2 +Ddgs5kQladtFeKC32twRADRsqlAfx6ry2FNqyOq0/B7iOWYgsAzksE/poe+9bphX +pVpqDWq1EC8sGRLv8GJFrV7I0eKjAwe60xq2KvAIJEIEcYmL6W5oHmPcjZx6B/oV +hwn7hQy7KSiehvd8yjCpSURStzmh6JD8B+J+uiNlKkKTbbIEZdlflyELPb6M6KFR +PGn6xwXCl7TqWCuJY0o/1l0b2HGuK6yGPbv8+7JyOQ7Z/3BGFDM7Bto8mXNdnw/r +BNBpfosRcPGnRiAy1wgQVoED0/nr8VZyZCK5ZmanStZOV8YPVo+wsLaqGd/4VO9J +0KKIYfY7YhYwipOsfvdOT+OIxVFk8oqybFYqEh/UOeQwxun2w1DQDMwC4a+qIsnd +O5w1k8Y99Sxnh6+1JZRFWXecq3p4yjsM6Gw6zZHL7kvk4EPC1jLEUbLmBSAHtYDd +o0lVGEpUqzJgn4Jv5GSmIrq8/p1sIw8oLg/P+l2XAmNOIHQnafonILy2siZyYnuk +AqiPzvSgEysZyhKYC9X6HHBlPPJS/y3CFVHB2gY37Q685ngDpkEeoK5nDgF8g6Mo +8VS9Zb9frffc4dbp0ySawhnKftWlUvnuWrYjUaFycocYOtr3XeK40zyMqrH1oESl +nLtZ9QNj1UzYE1cPNC1SrV9dO6m5Ag0EU4SEPgEQAMtGxu/DyXUCn8reeWz3HDTh +vN2pn970l2RAr+x3BLCaJkbGNCIL5RC67rmHmyvX06HbtIGCGH6KgXRdqKSGLFwG +1pLHGHGD0rmX67ni8F6xviQWpiyMuV3iPzlcXrPuglrl4TGeMPcdyJul/FD0JmhI +5jnlLnFPifQEeidI6r/U9cfdQetqWUcXHXRwi5p6mZ5BmKuis+b/SYmAMfdi6Vhz +uXH5XeYqIH+kdFMt+V0hcUVVDlOROlJ9oxazmL3MZ46+KBvSNgr0rYLL3vjJgpmO +wHHZ30DsDWYP6/kuC38i9cytbtnwnVcivnsI50fEEAfMQMm/2522iUoVqxv1nA23 +OEQWcAe1faiJRlgyUr13wa89AUdY7b7nc4pv7ZV4KE+DyneGmNu0L2oC+vtfM93s +qq7lSIH/w/vO0dsudb+P8nZDnnJJpVOBzxjBIMr4Iv7CtStCgoZqgr3FZ52pb+ay +RjfMXENj16ssVSNe8P/KqbiSxNU4+TUETlCGfGlQhlR5IYIijYcYMo8gHGnTKKx0 +rA2LDX6RJ071xArZxo2Zhaa8YFxMhasQZoMl23k2YLSGfVKoKy1ZoCnn/dZ9RiZ1 +IZrw9gQnyahVLsIfYTcTjaSfIukzIW8tSQOOryIoAdu/dpzR8PFSI7TIbwM0bUmh +h8+x82O3qV7re2HNRHijABEBAAGJAh8EGAEKAAkFAlOEhD4CGwwACgkQsY8ia4+J +64ThkhAAlohHspPz7fFXxTpsKYXoTHrivleJ+diE8Ddfec1pL71V87SWYZIwV4iF +PpvI7pdP7c9bwIZtxj+xVof1SDkWI+9dcQvDPEHvlRl5tKFKY0wzs3dklQj4+mTt +XIcho/rw/nQK2q4rT8Zx51o1c30SVNRpP66czz+gQ34CPBO+iZAa0NW1eVOkmUsC +j4LMoIyn5aNy+HIwq0joug1+5TocfvtvNgjwScEzYQlE2gU42StvoqO9wWuiTkbb +/K5NFg1rFpqqrfQJbzg53i0SNMjWHTDBulgOmzSXQ+ViR2c7JCTr1nE5QVQ0ZOft +HcmChq99sNLYJA3N680N2yMQbLNVW7KtSYE4B8ANOkYzaRY5mFLuxtiaKMUjUCLW +cvuNMH63gkAVHjBTLWXjVCMHsXv43qBSVdsanVIzEKFbmcLQx6CsQ0tSQioS6HMM +HU3GslDVOPDh5LmhaCWOsEVExdkj4v6AFpC/4haPHp/1HsA3TN3fdPKvIXvsPFxZ +SrfpzvTxhrrCc/oqz7VRr0yDP6TVtik1F7oVUt8RtRMi8vIYyM3n6j6NWIS554FZ +sMAKMESQdB1CLYlZORx/zXUCgeVOlADgxfJVvBQmQKlpUOTQJTcvsFm/JgK1oiKz +FH/uTIOnhuRRPbXBs3IOtR44nYr1r6mwJUAo/sXmDtg66VwL9d4= +=N/Wc +-----END PGP PUBLIC KEY BLOCK----- +pub 4096R/666AD0AB 2014-08-22 + Key fingerprint = 09E4 73B1 D4F6 725C 4AE4 FCD5 C9FE AACD 666A D0AB +uid Eric Johnson +sig 3 666AD0AB 2014-08-22 Eric Johnson +sig A74B06BF 2014-08-31 Barry Warsaw +sig 2 384559DB 2014-08-30 Joseph Bisch +sig 85EE3E0E 2014-08-25 Dmitry Borodaenko +sig CB4D38A9 2014-08-25 Dmitry Borodaenko +sig 2 2EBA364F 2014-09-05 Ryan Tandy +sig AB4AFD3F 2014-09-06 Josue Ortega (debian gpg) +sig A79679CC 2014-09-07 Jimmy Kaplowitz +sig DA3D0358 2014-09-08 Brian Gupta +sig E0B7D6BE 2014-09-11 Ren Mayorga +sig 82789C97 2014-10-15 Costas Drogos (Konstantinos Drongos) +uid [jpeg image of size 22587] +sig 3 666AD0AB 2014-12-04 Eric Johnson +uid Eric Johnson +sig 3 666AD0AB 2014-08-22 Eric Johnson +sig A74B06BF 2014-08-31 Barry Warsaw +sig 2 384559DB 2014-08-30 Joseph Bisch +sig 85EE3E0E 2014-08-25 Dmitry Borodaenko +sig 2 2EBA364F 2014-09-05 Ryan Tandy +sig AB4AFD3F 2014-09-06 Josue Ortega (debian gpg) +sig A79679CC 2014-09-07 Jimmy Kaplowitz +sig DA3D0358 2014-09-08 Brian Gupta +sig E0B7D6BE 2014-09-11 Ren Mayorga +sig 82789C97 2014-10-15 Costas Drogos (Konstantinos Drongos) +uid Eric Johnson +sig 3 666AD0AB 2014-12-04 Eric Johnson +sub 4096R/2E446D4D 2014-08-22 +sig 666AD0AB 2014-08-22 Eric Johnson + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 +Comment: GPGTools - https://gpgtools.org + +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 +AAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3 +dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRi +WFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2 +aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxy +VFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHly +aWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAA +AAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIu +MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAA +AAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAA +AA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAA +AAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4x +IERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMg +NjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u +ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3 +aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAA +AAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8A +AAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0A +MgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQA +qQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUB +KwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB +2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwC +tgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oD +xwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4F +DQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsG +jAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII +RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicK +PQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwM +dQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO +7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwR +qhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsU +rRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX +9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2Mb +ihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4f +aR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2Yj +lCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9wo +DSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs +1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox +8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3 +YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9 +Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdD +OkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJ +qUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQ +cVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RX +klfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1f +D19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm +6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRv +Hm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3 +s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeA +qIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ +/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02T +tpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd +0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+Co +UqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKz +OLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+ +hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnK +OMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHW +VdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi +2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070Dv +zPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9 +Kf26/kv+3P9t////4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUA +AAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAA +AABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAANygAwAEAAAA +AQAAANwAAAAA/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsL +DQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0L +DRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU +FBQU/8AAEQgA3ADcAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgME +BQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQy +gZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RV +VldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqy +s7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E +AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQE +AAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEX +GBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKD +hIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW +19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A8uaw82ERyKc9OlV/ +K+wAAArg8V6hdeEiV80KNh/iFc1q+kBd8bqVbpnFfd0asZaHgTptI5O5ePUkZORn +07GofC0Z03Wkhli80SOABjnPYitC2097S/WNwAjNjca6TRdLsf7cs5LhwAsgbcnP +Q16cpL2bRxxT5kfS2g+EIb7Q7WWS38s7AxU9jWR4x+GGm61aO4ixKo4OOQa6jS9c +tV0JWa68wL9189RWxYzR3dqu8grJ0b/Gvz1ynTk2tD6tKMlY+X9Q+Gp0yORXYlQe +uO1cdqHhRFlZiPKK8/WvqTxZpUOz92uWz1HINeYeI/DsV/EzbPIkGRnsa9CniJPV +nJOinseBan4eLSOA20k5DCuX1rRb6KHIQtH0JHBr1bVbN7GYxyJlQfvjpWbfsJU2 +mNSp46V6cJto4HCzPKtFsi0hUjAPY9a6SPS1Dbwvyheo9a3j4eWGTdEoC5yeKsLZ +GLOV+UivWopHDU0OHu5ZYZ2TJUHoKUTSblDEjPf0rorvQluZA6fOpP5GmXGhSKBt +GRXeqeuhz8yM+3tySMturoREsdpjFUdN0mVZyJRgdQasX83lRMAenFelRjbU46sr +syb6dIXwOWqaytJbohj948/SoYbcXUy7uTnpXUwWK2MayqCeMHFenSV9zlqSUVoU +NE0iSS6djwAcAmup0HS2N45kwUTqeuKjtCpwsP3pR3rotE0aaKVwQxVxgY7mu23K +jzK1V630Lnl/Y3SYYQNwSPSsnWnS9Kqo3seue1do+krLaJG4ChVwSaxLvS4bCFyp +L4B59TXBP3jKjNLUraBoiJbGZ06D5celaM1vNfRiNQqIfl4FXtFJhsI4goc4yc1N +c3LWysBFggfeHSnG0QnJyZHYWcNoxWVsxRrwW6e9TP5JHlwjfNIfl9zXknjf4hDV +5X0fT5f9HU4uZwfv/wCyD6VJ4C+I6+Hb62t9Rjlu9PjP7ufJZ4v971X9RXzL4qwN +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 +=Emdy +-----END PGP PUBLIC KEY BLOCK----- +pub 2048R/1CE85744 2015-12-09 + Key fingerprint = 3ACB B408 6C01 F737 6628 088C AB4A 19AE 1CE8 5744 +uid Anthony Shaw +sig 3 1CE85744 2015-12-09 Anthony Shaw +sub 2048R/48C92487 2015-12-09 +sig 1CE85744 2015-12-09 Anthony Shaw + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQENBFZoC5wBCADP1mhtXgmrnqoZkhPexuObbWC1pn6tCk1j4+n6NWn+QUO8ooaF +ccKhTmHX7j3HPGdMEiR8w94+CW8zeIR6Gn+rEc6d9jUPshXK/NwYipdUSVnsNvu6 +O8hBdTn30+13KnwZTcofTb2Q9LpAt5jnNVQ+UQqliuxJG6UpPH0HGpYtA9pHobFw +8UDiPHQugU9R35LW4bIxTRD5/GgYB+TZmpZ44ECAyXCnuX3m4zu2glbsrYPAdlkA +5H2O6SyrEa3OkGzoLgQOFNRX1hwZDNc/aKQyomowa6+1aXA/LKqRCtRVrfXPcoC/ +P3OdqfY+Wqc6xWUhiVlxEnxkAzS3XmaVsiq5ABEBAAG0JUFudGhvbnkgU2hhdyA8 +YW50aG9ueXNoYXdAYXBhY2hlLm9yZz6JATgEEwECACIFAlZoC5wCGwMGCwkIBwMC +BhUIAgkKCwQWAgMBAh4BAheAAAoJEKtKGa4c6FdE5coH/3IX5twNFvTDnpjqSrIw +R8d6WvQmnVinvux1DyCiSY7KU1VA+kISFuSXAebNEahD9oebi+mPxtqbmX+xJa8p +q+oNJ2JfK5Svvkl4f69D0gC91mED4HacLneKrXILb2voDxJSuVDbARS+ITM9xHCm +2XZ9fOw9BJINlrJFHsqtWrdLFyDudR1/DYxDjF8vmEW1pnXqbjBBAkRpjMyEtk7U +JLqYWfEH8uxOve2vibktoe0jIahJnaCbE6pigptmq+xN0YX4mKhe/3iXZHXPedSX +UJqFDoe5YCx0n+3pF5LB6TIBoMqfIO273z9QoMGrblOqjVjNtMNxnufM7qgTUo0v +LAe5AQ0EVmgLnAEIAMp5PZ8FU3DtLUYqcIPCf16VsTymfkfj6BZFEzNw3l/e3bMu +f5P854lJsT87mFlf3l438DdoIIfAnE7JMbCt1fiQ3ZQAf30sYu0sKTGxwEGD+9J3 +NSx3uccrt3ykM4luqWlTkCv/Ju9Lal3cnKNF98IPA5+nnnXGcGjD9kYI1svBP2DQ +ZQDrLGfwYB60tHLT5vXHoiLqstoVEGrPxlMUI7mxroNLkZJ4dZwT/jL8nQtzG5NO +Z9p0cRbLe7RPijBsbPUtL1tN8RSP7Qc4SbRwhzkHo0XT7YR4zzHLEVG/fDxzQBy1 +tdMh0nzouMxelJKAdRSZp5oKRlIa1TptbzEf1WEAEQEAAYkBHwQYAQIACQUCVmgL +nAIbDAAKCRCrShmuHOhXREIvCAC0adIxa1di1CRdtN64xHakrhviEgLRGNXt/q7y +TuO1bnWqzdYjZr/NNM2sJzKs39pDVwHzUcD1p/oHmpEdzkv2clmGG0LV1EFXivQ+ +NI9N1Fpk2wHlSHXzMkQIbw6GsqkfXZwMeumzQDvTvqj0F7xdYc1yJ0lCf6EnYydJ +bF8ZuWPQDXs1kGKMzp1P3ig9NT5SaTwCWbCA9u69cwY99f0VNGcCd1EIvF/sxnIx +CSGf7RjTz8tgauWdldK2BnGgI4HcEhWYwAzABBFe/lR5cnWq6tBZQk6tqpvfezAX +PbUNJBh9s13TfudSXN1AWEEGfFOtzbj0PMJ/YDNazd17PLk9 +=45i2 +-----END PGP PUBLIC KEY BLOCK----- +pub 4096R/0x6A61AF8545413203 2016-11-13 + Key fingerprint = 3554 2BB9 C0C0 1D5E 5478 BADE 6A61 AF85 4541 3203 +uid [ unknown] Quentin Pradet +sig 3 0x6A61AF8545413203 2016-11-13 Quentin Pradet +sig 0x2C0754B2CE0692F3 2018-10-29 Tomaz Muraus +uid [ unknown] Quentin Pradet +sig 3 0x6A61AF8545413203 2016-11-13 Quentin Pradet +sig 0x2C0754B2CE0692F3 2018-10-29 Tomaz Muraus +uid [ unknown] Quentin Pradet +sig 3 0x6A61AF8545413203 2017-09-25 Quentin Pradet +sig 0x2C0754B2CE0692F3 2018-10-29 Tomaz Muraus +sub 2048R/0x3670C29018161504 2016-11-13 [expires: 2024-11-11] +sig 0x6A61AF8545413203 2016-11-13 Quentin Pradet +sub 2048R/0xE328ACB1EC7E57C2 2016-11-13 [expires: 2024-11-11] +sig 0x6A61AF8545413203 2016-11-13 Quentin Pradet + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +xoCEep5WBCdnai/8Cwy6UfVroiULmbAPwzOKiA== +=1bMz +-----END PGP PUBLIC KEY BLOCK----- diff --git a/python-apache-libcloud.spec b/python-apache-libcloud.spec new file mode 100644 index 0000000..8344db7 --- /dev/null +++ b/python-apache-libcloud.spec @@ -0,0 +1,117 @@ +# +# spec file for package python-apache-libcloud +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-apache-libcloud +Version: 3.8.0 +Release: 0 +Summary: Abstraction over multiple cloud provider APIs +License: Apache-2.0 +Group: Development/Languages/Python +URL: https://libcloud.apache.org +Source0: https://downloads.apache.org/libcloud/apache-libcloud-%{version}.tar.gz +Source1: https://downloads.apache.org/libcloud/apache-libcloud-%{version}.tar.gz.asc +# https://libcloud.apache.org/downloads.html#package-verification-guide +Source2: https://www.apache.org/dist/libcloud/KEYS#/%{name}.keyring +Patch1: gce_image_projects.patch +Patch2: ec2_create_node.patch +BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module fasteners} +BuildRequires: %{python_module libvirt-python} +BuildRequires: %{python_module lxml} +BuildRequires: %{python_module paramiko} +BuildRequires: %{python_module pyOpenSSL} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module requests-mock} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module typing} +BuildRequires: %{python_module xml} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-lxml +Requires: python-requests +Requires: python-typing +Suggests: python-libvirt-python +Suggests: python-fastners +Suggests: python-paramiko +Suggests: python-pysphere +BuildArch: noarch +%python_subpackages + +%description +Apache Libcloud is a standard Python library that abstracts away +differences among multiple cloud provider APIs. + +%prep +%setup -q -n apache-libcloud-%{version} +%autopatch -p1 +sed -i '/^#!/d' demos/gce_demo.py +chmod a-x demos/gce_demo.py +# Setup tests +cp libcloud/test/secrets.py-dist libcloud/test/secrets.py + +%build +%python_build + +%install +%python_install +find %{buildroot} -name '*.DS_Store' -delete +find %{buildroot} -name '*.json' -size 0 -delete +find %{buildroot} -name '*.pem' -size 0 -delete +%python_expand rm -r %{buildroot}%{$python_sitelib}/libcloud/test +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +# Skip OvhTests::test_list_nodes_invalid_region which tries to reach OVH servers +donttest="test_consume_stderr_chunk_contains_part_of_multi_byte_utf8_character" +donttest+=" or test_consume_stdout_chunk_contains_part_of_multi_byte_utf8_character" +donttest+=" or test_consume_stdout_chunk_contains_non_utf8_character" +donttest+=" or test_consume_stderr_chunk_contains_non_utf8_character" +# Skip test_key_file_non_pem_format_error since OpenSSH support is backported for SLE python-paramiko < 2.7.0 +donttest+=" or test_key_file_non_pem_format_error" +# Skip ShellOutSSHClientTests tests which attempt to ssh to localhost +donttest+=" or ShellOutSSHClientTests" +# Note these four extra py3 failures are undesirable and should be fixed: fail in s390 and ppc64 +donttest+=" or ElasticContainerDriverTestCase" +donttest+=" or test_list_nodes_invalid_region" +donttest+=" or test_connection_timeout_raised" +donttest+=" or test_retry_on_all_default_retry_exception_classes" + +# Skip tests broken because requests-mock incompatibility with urllib3 >= 2.0.0 +# gh#jamielennox/requests-mock#228 +donttest+=" or test_openstack.py" +donttest+=" or test_rackspace.py" +donttest+=" or test_scaleway.py" +donttest+=" or test_vcloud.py" +donttest+=" or test_vultr_v2.py" +donttest+=" or test_aurora.py" +donttest+=" or test_azure_blobs.py" +donttest+=" or test_cloudfiles.py" +donttest+=" or test_google_storage.py" +donttest+=" or test_oss.py" +donttest+=" or test_ovh.py" +donttest+=" or test_s3.py" + +%pytest -k "not ($donttest)" + +%files %{python_files} +%license LICENSE +%doc CHANGES.rst README.rst demos/ example_*.py +%{python_sitelib}/* + +%changelog