[openstacksdk] openstacksdk 0.10.0 (queens)
We joyfully announce the release of: openstacksdk 0.10.0: An SDK for building applications to work with OpenStack This release is part of the queens release series. Download the package from: https://pypi.python.org/pypi/openstacksdk For more details, please see below. 0.10.0 ^^^^^^ Prelude ******* Fixed a bug where a project was always enabled upon update, unless "enabled=False" is passed explicitly. Swiftclient instantiation now provides authentication information so that long lived swiftclient objects can reauthenticate if necessary. This should be a temporary situation until swiftclient supports keystoneauth sessions at which point os-client-config will instantiate swiftclient with a keystoneauth session. This release marks the beginning of the path towards removing all of the 'python-*client' libraries as dependencies. Subsequent releases should expect to have fewer and fewer library depdencies. New Features ************ * Added a new property, 'current_user_id' which contains the id of the currently authenticated user from the token. * All get and search functions can now take a jmespath expression in their filters parameter. * Add a list_flavor_access method to list all the projects/tenants allowed to access a given flavor. * Added get_server_console method to fetch the console log from a Server. On clouds that do not expose this feature, a debug line will be logged and an empty string will be returned. * Added flag "show_all" to list_images. The behavior of Glance v2 to only show shared images if they have been accepted by the user can be confusing, and the only way to change it is to use search_images(filters=dict(member_status='all')) which isn't terribly obvious. "show_all=True" will set that flag, as well as disabling the filtering of images in "deleted" state. * Add description parameter to create_user, available on Keystone v3 * Add support for Designate recordsets resources, with the usual methods (search/list/get/create/update/delete). * Add support for Designate zones resources, with the usual methods (search/list/get/create/update/delete). * Add tags support when creating a stack, as specified by the openstack orchestration api at [1] [1]https://developer.openstack.org/api-ref/orchestration/v1/#create- stack * Add support for host aggregates and host aggregate membership. * Add support for Magnum baymodels, with the usual methods (search/list/get/create/update/delete). Due to upcoming rename in Magnum from baymodel to cluster_template, the shade functionality uses the term cluster_template. However, baymodel aliases are provided for each api call. * Add support for listing Magnum services. * Adds support to create and delete server groups. * Add update_server method to update name or description of a server. * Add the ability to update a keystone service information. This feature is not available on keystone v2.0. The new function, update_service(), allows the user to update description, name of service, service type, and enabled status. * Added methods for making new cloud connections based on the current OpenStackCloud. This should enable working more easily across projects or user accounts. * Added "group" parameter to create_server to allow booting a server into a specific server group. * Swiftclient instantiation now provides authentication information so that long lived swiftclient objects can reauthenticate if necessary. * Add support for explicit v2password auth type. * Add SSL support to VEXXHOST vendor profile. * Add zetta.io cloud vendor profile. * Add support for Cinder volume backup resources, with the usual methods (search/list/get/create/delete). * If shade has to create objects in swift to upload an image, it will now delete those objects upon successful image creation as they are no longer needed. They will also be deleted on fatal import errors. * Add a field to vendor cloud profiles to indicate active, deprecated and shutdown status. A message to the user is triggered when attempting to use cloud with either deprecated or shutdown status. * Add new APIs, OperatorCloud.get_compute_quotas(), OperatorCloud.set_compute_quotas() and OperatorCloud.delete_compute_quotas() to manage nova quotas for projects and users * get_compute_usage now has a default value for the start parameter of 2010-07-06. That was the date the OpenStack project started. It's completely impossible for someone to have Nova usage data that goes back further in time. Also, both the start and end date parameters now also accept strings which will be parsed and timezones will be properly converted to UTC which is what Nova expects. * Adds ability to add a config setting to clouds.yaml to disable fetching extra_specs from flavors. * Explicit data model contracts are now defined for Flavors, Images, Security Groups, Security Group Rules, and Servers. * Resources with data model contracts are now being returned with 'location' attribute. The location carries cloud name, region name and information about the project that owns the resource. * Added new method, delete_autocreated_image_objects that can be used to delete any leaked objects shade may have created on behalf of the user. * Added name_or_id parameter to domain operations, allowing an admin to update/delete/get by domain name. * Added support for dual stack networks where the IPv4 subnet and the IPv6 subnet have opposite public/private qualities. It is now possible to add configuration to clouds.yaml that will indicate that a network is public for v6 and private for v4, which is otherwise very difficult to correctly infer while setting server attributes like private_v4, public_v4 and public_v6. * Add new method, 'endpoint_for' which will return the raw endpoint for a given service from the current catalog. * Add new APIs, OpenStackCloud.set_server_metadata() and OpenStackCloud.delete_server_metadata() to manage metadata of existing nova compute instances * Flavors will always contain an 'extra_specs' attribute. Client cruft, such as 'links', 'HUMAN_ID', etc. has been removed. * name_or_id parameters to search/get methods now support filename- like globbing. This means search_servers('nb0*') will return all servers whose names start with 'nb0'. * Allow to retrieve the limits of a specific project * Allow to retrieve the usage of a specific project * Added a new API call, OpenStackCloud.get_object(), to download objects from swift. * add granting and revoking of roles from groups and users * The image and flavor parameters for create_server now accept name in addition to id and dict. If given as a name or id, shade will do a get_image or a get_flavor to find the matching image or flavor. If you have an id already and are not using any caching and the extra lookup is annoying, passing the id in as "dict(id='my-id')" will avoid the lookup. * Added ability to create an image from a volume. * If a cloud does not have a neutron service, it is now assumed that Nova will be the source of security groups. To handle clouds that have nova-network and do not have the security group extension, setting secgroup_source to None will prevent attempting to use them at all. If the cloud has neutron but it is not a functional source of security groups, set secgroup_source to nova. * Add support for passing Ironic microversion to the ironicclient constructor in get_legacy_client. * Added list_availability_zone_names API call. * Implement list_role_assignments for keystone v2, using roles_for_user. * Add 'all_projects' parameter to list_servers and search_servers which will tell Nova to return servers for all projects rather than just for the current project. This is only available to cloud admins. * Added a flag, 'load_yaml_config' that defaults to True. If set to false, no clouds.yaml files will be loaded. This is beneficial if os-client-config wants to be used inside of a service where end-user clouds.yaml files would make things more confusing. * Add version argument to make_rest_client and plumb version discovery through get_session_client so that versioned endpoints are properly found if unversioned are in the catalog. * create_object() now has a "metadata" parameter that can be used to create an object with metadata of each key and value pair in that dictionary * Add an update_object() function that updates the metadata of a swift object * Added a parameter to create_image 'meta' which allows for providing parameters to the API that will not have any type conversions performed. For the simple case, the existing kwargs approach to image metadata is still the best bet. * Add min_version and max_version to get_legacy_client and to get_session_endpoint. At the moment this is only really fully plumbed through for cinder, which has extra special fun around volume, volumev2 and volumev3. Min and max versions to both methods will look through the options available in the service catalog and try to return the latest one available from the span of requested versions. This means a user can say volume_api_version=None, min_version=2, max_version=3 will get an endpoint from get_session_endpoint or a Client from cinderclient that will be either v2 or v3 but not v1. In the future, min and max version for get_session_endpoint should be able to sort out appropriate endpoints via version discovery, but that does not currently exist. * Removed unneeded calls that were made when deleting servers with floating ips. * Added pagination support for volume listing. * Added nat_source flag for networks. In some more complex clouds there can not only be more than one valid network on a server that NAT can attach to, there can also be more than one valid network from which to get a NAT address. Allow flagging a network so that it can be found. * Network provider options are now accepted in create_network(). * Support added for configuring metadata about networks for a cloud in a list of dicts, rather than in the external_network and internal_network entries. The dicts support a name, a routes_externally field, a nat_destination field and a default_interface field. * Add new APIs, OperatorCloud.get_network_quotas(), OperatorCloud.set_network_quotas() and OperatorCloud.delete_network_quotas() to manage neutron quotas for projects and users * Added support for created_at, updated_at, description and revision_number attributes for floating ips. * Image dicts that are returned are now normalized across glance v1 and glance v2. Extra key/value properties are now both in the root dict and in a properties dict. Additionally, cloud and region have been added like they are for server. * Added helper method for constructing OpenStack SDK Connection objects. * server creation errors now include the server id in the Exception to allow people to clean up. * Add the *add_server_security_groups* and *remove_server_security_groups* functions to add and remove security groups from a specific server. * Added kwargs and argparse processing for session_client. * Added a "set_volume_bootable" call to allow toggling the bootable state of a volume. * Added helper method for constructing shade OpenStackCloud objects. * Implement update_stack to perform the update action on existing orchestration stacks. * get_object now supports streaming output directly to a file. * Added 'strict' mode, which is set by passing strict=True to the OpenStackCloud constructor. strict mode tells shade to only return values in resources that are part of shade's declared data model contract. * Added update_endpoint as a new function that allows the user to update a created endpoint with new values rather than deleting and recreating that endpoint. This feature only works with keystone v3, with v2 it will raise an exception stating the feature is not available. * Version discovery is now done via the keystoneauth library. shade still has one behavioral difference from default keystoneauth behavior, which is that shade will use a version it understands if it can find one even if the user has requested a different version. This change opens the door for shade to start being able to consume API microversions as needed. * Add new APIs, OperatorCloud.get_volume_quotas(), OperatorCloud.set_volume_quotas() and OperatorCloud.delete_volume_quotas() to manage cinder quotas for projects and users * Add support for listing volume types. * Add support for managing volume type access. * Adds a new pair of options to create_image_snapshot(), wait and timeout, to have the function wait until the image snapshot being created goes into an active state. * Adds a new function wait_for_image() which will wait for an image to go into an active state. * New wait_for_server() API call to wait for a server to reach ACTIVE status. Known Issues ************ * If there was only one cloud defined in clouds.yaml os-client- config was requiring the cloud parameter be passed. This is inconsistent with how the envvars cloud works which WILL work without setting the cloud parameter if it's the only cloud. * Fixed a regression when using latest os-client-config with the keystoneauth from stable/newton. Although this isn't a super common combination, the added feature that broke the interaction is really not worthy of the incompatibility, so a workaround was added. * Fixed an issue where nodepool could cause config_drive to be passed explicitly as None, which was getting directly passed through to the JSON. Also fix the same logic for key_name and scheduler_hints while we're in there. * Fixed the logic in delete_ips and added regression tests to cover it. The old logic was incorrectly looking for floating ips using port syntax. It was also not swallowing errors when it should. * Images in the cloud with a string property named "properties" caused image normalization to bomb. * Fixed an issue where glance image list pagination was being ignored, leading to truncated image lists. Upgrade Notes ************* * Cluster Templates have data model and normalization now. As a result, the detail parameter is now ignored and detailed records are always returned. * The "attach_volume" method now always returns a "volume_attachment" object. Previously, "attach_volume" would return a "volume" object if it was called with "wait=True" and a "volume_attachment" object otherwise. * shade will now only generate file hashes for glance images if both hashes are empty. If only one is given, the other will be treated as an empty string. * Removed designateclient as a dependency. All designate operations are now performed with direct REST calls using keystoneauth Adapter. * Server creation calls are now done with direct REST calls. * troveclient is no longer a hard dependency. Users who were using shade to construct a troveclient Client object should use os_client_config.make_legacy_client instead. * Nova flavor operations are now handled via REST calls instead of via novaclient. There should be no noticable difference. * Nova microversion is being requested. Since shade is not yet actively microversion aware, but has been dealing with the 2.0 structures anyway, this should not affect anyone. * magnumclient is no longer a direct dependency as magnum API calls are now made directly via REST. * All Nova interactions are done via direct REST calls. python- novaclient is no longer a direct dependency of openstack.cloud. * Removed glanceclient as a dependency. All glance operations are now performed with direct REST calls using keystoneauth Adapter. * The Profile object has been replaced with the use of CloudRegion objects from openstack.config. * The openstacksdk specific Session object has been removed. * Proxy objects are now subclasses of keystoneauth1.adapter.Adapter. * REST interactions all go through TaskManager now. * Removed swiftclient as a dependency. All swift operations are now performed with direct REST calls using keystoneauth Adapter. * Renamed bare-metal to baremetal to align with the official service type. * The block_store service object has been renamed to block_storage to align the API with the official service types. * Renamed cluster to clustering to align with the official service type. * Renamed telemetry to meter to align with the official service type. * If your cloud presents a default split IPv4/IPv6 stack with a public v6 and a private v4 address and you have the expectation that auto_ip should procure a v4 floating ip, you need to set 'force_ipv4' to True in your clouds.yaml entry for the cloud. * keystoneauth version 3.2.0 or higher is required because of version discovery. Deprecation Notes ***************** * Renamed session_client to make_rest_client. session_client will continue to be supported for backwards compatability. * external_network and internal_network are deprecated and should be replaced with the list of network dicts. * Renamed simple_client to session_client. simple_client will remain as an alias for backwards compat. Bug Fixes ********* * [bug 2001080 (https://storyboard.openstack.org/#!/story/2001080)] Project update will only update the enabled field of projects when "enabled=True" or "enabled=False" is passed explicitly. The previous behavior had "enabled=True" as the default. * Fixed caching the volume list when volumes are in use. * Fix bug where project_domain_{name,id} was set even if project_{name,id} was not set. * Fixed the volume normalization function when used with cinder v2. * The create_stack() call was fixed to call the correct iterator method and to return the updated stack object when waiting. * The create_server() API call would not use the supplied 'network' parameter if the 'nics' parameter was also supplied, even though it would be an empty list. It now uses 'network' if 'nics' is not supplied or if it is an empty list. * The returned data from a create_service() call was not being normalized. * Delete swift objects uploaded in service of uploading images at the time that the corresponding image is deleted. On some clouds, image uploads are accomplished by uploading the image to swift and then running a task-import. As shade does this action on behalf of the user, it is not reasonable to assume that the user would then be aware of or manage the swift objects shade created, which led to an ongoing leak of swift objects. * Upload swift Large Objects as Static Large Objects by default. Shade automatically uploads objects as Large Objects when they are over a segment_size threshold. It had been doing this as Dynamic Large Objects, which sound great, but which have the downside of not deleting their sub-segments when the primary object is deleted. Since nothing in the shade interface exposes that the object was segmented, the user would not know they would also need to find and delete the segments. Instead, we now upload as Static Large Objects which behave as expected and delete segments when the object is deleted. * The delete_object() method was not returning True/False, similar to other delete methods. It is now consistent with the other delete APIs. * The delete_project() API now conforms to our standard of returning True when the delete succeeds, or False when the project was not found. It would previously raise an expection if the project was not found. * delete_image used to fail with an AttributeError if an invalid image name or id was passed, rather than returning False which was the intent. This is worthy of note because it's a behavior change, but the previous behavior was a bug. * When creating a new server, the timeout was not being passed through to floating IP creation, which could also timeout. * Fix for list_networks() ignoring any filters. * Added missing dependency on futures library for python 2. The depend was missed in testing due to it having been listed in test- requirements already. * Fixed an issue where shade could report a floating IP being attached to a server erroneously due to only matching on fixed ip. Changed the lookup to match on port ids. This adds an API call in the case where the workaround is needed because of a bug in the cloud, but in most cases it should have no difference. * Fix for update_domain() where 'name' was not updatable. * Fixed magnum service_type. shade was using it as 'container' but the correct type is 'container-infra'. It's possible that on old clouds with magnum shade may now do the wrong thing. If that occurs, please file a bug. * Setting and unsetting flavor extra specs now works. This had been broken since the 1.2.0 release. * Refactor "OpenStackConfig._fix_backward_madness()" into "OpenStackConfig.magic_fixes()" that allows subclasses to inject more fixup magic into the flow during "get_one_cloud()" processing. * Fixed a bug related to neutron endpoints that did not have trailing slashes. * Fixed issue with ports not having a created_at attribute. * Role assignments were being returned as plain dicts instead of Munch objects. This has been corrected. * Reverse the order of option selction in "OpenStackConfig._validate_auth()" to prefer auth options passed in (from argparse) over those found in clouds.yaml. This allows the application to override config profile auth settings. * No longer fail in list_router_interfaces() if a router does not have the external_gateway_info key. * Keystone service descriptions were missing an attribute describing whether or not the service was enabled. A new 'enabled' boolean attribute has been added to the service data. * Fixed an issue where a section of code that was supposed to be resetting the SwiftService object was instead resetting the protective mutex around the SwiftService object leading to an exception of "__exit__" * shade now correctly does not try to attach a floating ip with auto_ip if the cloud has given a public IPv6 address and the calling context supports IPv6 routing. shade has always used this logic to determine the server 'interface_ip', but the auto floating ip was incorrectly only looking at the 'public_v4' value to determine whether the server needed additional networking. * Added requests and Babel to the direct dependencies list to work around issues with pip installation, entrypoints and transitive dependencies with conflicting exclusion ranges. Packagers of shade do not need to add these two new requirements to shade's dependency list - they are transitive depends and should be satisfied by the other things in the requirements list. Both will be removed from the list again once the python client libraries that pull them in have been removed. Other Notes *********** * HPCloud vendor profile removed due to cloud shutdown. * RunAbove vendor profile removed due to migration to OVH. * The contents of x-openstack-request-id are no longer added to object returned. Instead, they are logged to a logger named 'openstack.cloud.request_ids'. * The shade and os-client-config libraries have been merged into python-openstacksdk. * Started using reno for release notes. * Add citycloud regions for Buffalo, Frankfurt, Karlskrona and Los Angles * Add new DreamCompute cloud and deprecate DreamHost cloud Changes in openstacksdk 0.9.19..0.10.0 -------------------------------------- 56cc254 Re-enable octavia functional tests cd9bd1e Remove legacy client factory functions e068d89 Prefer links dicts for pagination 46135f9 Port wait_for_ methods to use iterate_timeout 30debb7 Add function to make CloudRegion from session 18fe7b4 Rename CloudConfig to CloudRegion 0ff395d Updated from global requirements 1c06fd3 Remove name from zuul project stanza da99fae Update for new docs PTI 5fd4ec7 Start using Connection in openstack.cloud c4acd23 Remove self argument from connect helper function d7c0f11 Add _query_mapping to identity resources 04bd6bf Allow to pass filters like domain to find_project/user 284913f Add reno for tag support on heat stacks 192bb7c Remove python-ironicclient e8de50f Make the get_service_type() overrides tolernat of no defaults 2f93b98 Add FloatingIP qos_policy_id attribute 41222cb Updated from global requirements e8a1c2e Updated from global requirements ce01cfa Add tag support to create_stack 41c5bd9 Remove -U from pip install 3892119 Add osc-tox-unit-tips jobs f31047c Shift image tests from test_operator 6d8633f Added nat_source flag for networks. bae63fc Update make_rest_client to work with version discovery 3bb4c37 Protect against p_opt not having prompt attribute be9da75 Treat clouds.yaml with one cloud like envvars 910fc10 Complete move of baremetal machine tests dd431c3 Add method to cleanup autocreated image objects c4aae34 Cleanup objects that we create on behalf of images f561bfd Remove openstack-tox-pypy jobs f8b9e82 Set empty Tag list if Network Tag API extension not supported 58bafb6 Avoid tox_install.sh for constraints support 7fb95b9 Fix py35 and pypy tox env 392e2c4 Update the shade-merge document 895db17 Stop osSDK mangling Swift metadata keys d1b242e Add pools attribute to load balancer heath monitor 1a83a53 Remove use of tox-siblings role eb9d3a5 Document current_user_id in a release note dfe2577 Remove reference to context-managers from release note 0b4ee33 Add helper property to get the current user id a446db5 Add ability to work in other auth contexts 4b8c45e Sort image update results before comparing 1a8cd84 Adds support to retrieve cinder backend pools information 4419c55 Add subnet_id property for FloatingIP bc2e1be Add block_store support single volume display image message cc53432 Remove setting of version/release from releasenotes 5fd5e77 Add cluster support force delete parameter when cluster/node delete 688fc5a Remove ansible functional tests for now 2dfe498 Updated from global requirements 3070a6e Avoid default mutable values in arguments 43eff7b Remove bogus and unneeded role from job definition c469cae Add notes about moving forward c2de39d Move task_manager and adapter up a level from cloud 4bad718 Rework config and rest layers a25f8f3 Migrate to testtools for functional tests 240f591 Support filtering servers in list_servers using arbitrary parameters d9ce1c1 Fix regression for list_router_interfaces e8b995f Handle glance image pagination links better d75d4f4 Fix magnum functional test d25b80e Add jobs for Zuul v3 c39d98c Move role normalization to normalize.py 835d655 Allow domain_id for roles 8cda430 Add method to set bootable flag on volumes b653090 Image should be optional fd9c2b5 Add group parameter to create_server e7ade19 Fix image task uploads 1fcc3e7 Temporarily disable volume and os_image functional tests a4ee1a3 Merge tox, tests and other support files 6529335 Move shade and os-client-config python content 689d9e8 Consume publish-openstack-sphinx-docs a3cd1f0 Merge shade and occ releasenotes 94ace70 Updated from global requirements eafc8be Fix requires_floating_ip 2c24e20 Record server.id in server creation exception 2c23196 Stop using openstack-doc-build 6f72637 Updates for stestr 482b313 Add support for network quota details command f29d04d Add pypi and doc publication templates 3fb4fec Updated from global requirements 35ae661 Updated from global requirements f545e8e Fix search_groups e1cafe3 Remove EndpointCreate and _project_manager ec797b6 Remove use of legacy keystone client in functional tests 25ef7bf Updated from global requirements 97b98c9 Remove keystoneclient dependency d0ca641 De-client-ify Endpoint Create 941e179 Refactor the create endpoint code f3e6225 Reorganize endpoint create code 605301f Switch to constraints version of tox job 8daf38f Convert test_baremetal_machine_patch to testscenarios 960a274 Add openstack-doc-build to shade ff70995 Switch to normal tox-py35 job 73ef1f5 Switch to using stestr b817f47 Migrate machine tests related to state transitions c821c97 Migrate machine inspection tests to requests_mock e8d37f8 Migrate additional machine tests 8cc1483 De-client-ify Endpoint Update 8afeaf6 De-client-ify List Role Assignments 179430c De-client-ify Endpoint List eb28fa5 De-client-ify List Roles for User in v2.0 8d310b7 De-client-ify Role Grant and Revoke a4f94bf De-client-ify Endpoint Delete 76caad4 De-client-ify User Password Update 4de4fb4 Begin converting baremetal node tests e768960 Remove improper exc handling in is_user_in_group e42192e De-client-ify Remove User from Group be9d046 Correct baremetal fake data model 30e0fbc De-client-ify Check User in Group b82a659 De-client-ify Add User to Group 149a9fb Use direct calls to get_<resource>_by_id ca0103a De-client-ify User Update 8b47d15 Use new keystoneauth version discovery 469cc5a Fix typo in tox.ini 371c3eb Updated from global requirements 8dc051c Updated from global requirements 78a1aa3 Add tox_install.sh to deal with upper-constraints 8887b48 Support domain_id for user operations 4695f5c Add domain_id to groups 589b765 Add handling timeout in servers cleanup function 1935528 Fix handling timeouts in volume functional tests cleanup 9888573 Connection doc add arguments 68f0947 Fix switched params 7fb83a6 Switch to _is_client_version in list_services 522f51c De-client-ify Service Delete 4cd71a1 De-client-ify Service Update b05aede Fix cleaning of Cinder volumes in functional tests bda65e7 De-client-ify Service List 3cfaa4c Add option to force delete cinder volume 20cc034 Updated from global requirements b5af1ae Updated from global requirements 89e07d9 Fix determining if IPv6 is supported when it's disabled e72a6cf Don't determine local IPv6 support if force_ip4=True 7466aae Consolidate client version checks in an utility method d8ddbcf Add functional tests for Neutron QoS policies and rules 15a83da Updated from global requirements 164501c DataCentred supports Keystone V3 and Glance V2. 4e5d46d Support to get resource by id 20ebacc Make get_server_console tests more resilient d597ee2 Update globals safely 240e259 Update the documentation link for doc migration eed1cbb Remove OSIC 697cf58 Make QoS rules required parameters to be not optional 2d54752 Use valid_kwargs decorator in QoS related functions 737f9de Add support for get details of available QoS rule type 05b0fe2 Use more specific asserts in tests 99865c9 Add Neutron QoS minimum bandwidth rule commands 420e745 Update reno for stable/pike 8c8f365 Update reno for stable/pike 1521c59 Add Neutron QoS dscp marking rule commands 1d4c124 Updated from global requirements 85d8ada Updated from global requirements a4fdee5 router: Ignore L3 HA ports when listing interfaces f66f862 Initial commit of zuulv3 jobs 623593a Manually sync with g-r 1b51cd8 Update the documentation link for doc migration 06b390a Replace six.itervalues with dict.values() d9091fb Consolidate the use of self._get_and_munchify e171aa4 De-client-ify Role Delete 2d777b9 De-client-ify Role List 8034894 De-client-ify Role Create 9b2e01d De-client-ify Group Delete b7f90dc De-client-ify Group Update 57f5c89 De-client-ify Group List 9ca7836 De-client-ify Group Create 67accb5 Updated from global requirements bf5cd53 Don't remove top-container element in the adapter 262061a Improve doc formatting a bit a134c10 Added useful links to README 806378f Add Neutron QoS bandwidth limit rule commands 9f78c54 De-client-ify Service Create a9687a8 Add debug to tox environment 20c1e82 Remove hard-coding of timeout from API d1eea7a Make sure we don't fail open on bad input to validate 10e6fbe Make sure we pass propert dicts to validate 54d6e1d Add flag to include all images in image list af0dbbd Add support for list available QoS rule types 4446ba9 Add validation of required QoS extensions in Neutron 29dd83d De-client-ify Domain Search 1bd19cc De-client-ify Domain Get cac429f De-client-ify Domain List ecd470d De-client-ify User Create ab2c4b3 Use the right variable name in userdata encoding e375362 Add searching for Neutron API extensions 67b053c Add Neutron QoS policies commands 790fffd De-client-ify Domain Update and Delete 1e1c6ac De-client-ify Domain Create 65ce1a2 switch from oslosphinx to openstackdocstheme 20b2f1f reorganize docs using the new standard layout f74902b use openstackdocstheme html context 071e342 Don't remove top-container element for flavor, zones and server groups 70d8cc3 Updated from global requirements c016f15 Don't remove top-container element for flavors and clusters 08a1546 Add query filters for find_network f4668b7 Project update to change enabled only when provided 30c8729 switch from oslosphinx to openstackdocstheme 412f0fd turn on warning-is-error in documentation build 95f44f1 rearrange existing documentation to follow the new standard layout 1069d44 Fix mismatch between port and port-id for REST call 14216dc Remove a direct mocking of _image_client bc94295 Fix image normalization when image has properties property 74522a1 Fix delete_ips on delete_server and add tests 16cd2cc Fix config_drive, scheduler_hints and key_name in create_server 6334250 Don't fail hard on 404 from neutron FIP listing 45e6899 Only search for floating ips if the server has them 2486e09 Don't try to delete fips on non-fip clouds 10beaf9 Return an empty list on FIP listing failure 410a455 Don't remove top-container element for server REST API calls 5512e46 base64 encode user_data sent to create server 3aee4f5 Remove novaclient from shade's dependencies 56524c1 Translate final nova calls to REST 56244f5 Convert remaining nova tests to requests_mock a2ec277 Convert host aggregates calls to REST f177896 Convert host aggregate tests to requests_mock b1faf5b Convert hypervisor list to REST d69b81f Convert hypervisor test to requests_mock 0ad0885 Convert Server Groups to REST 3aec23c Convert server group tests to requests_mock 611ce3d Convert FakeSecGroup to dict fb956cc Remove use of FakeServer from tests 7cd4ef0 Don't remove top-container element for user and project REST API calls b9a2c29 Convert keypairs calls to REST caa69b4 Add normalization and functional tests for keypairs c23611a Remove future document 145a0ab Add text about microversions 587b41b Convert keypairs tests to requests_mock 70365c9 Convert list_servers to REST 83c8bf5 Convert list servers tests to requests_mock c524564 Remove some unused mocks 35980c1 Break early from volume cleanup loop c431cc2 Add some release notes we forgot to add 6b32528 Retry to fetch paginated volumes if we get 404 for next link daabd8c docs: make the first example easier to understand 494d5d1 Properly expand server dicts after rebuild and update 972dcfc Migrate non-list server interactions to REST 8ed5666 Increase timeout for volume tests 4fa316b Skip pagination test for now 9353650 Fix urljoin for neutron endpoint 19cddb5 Remove py34 and pypy in tox 3bb46e4 Replace six.iteritems() with .items() 0d7fc59 Update tests for server calls that aren't list a0abee2 Convert delete server calls to REST 458b6e9 Convert delete server mocks to requests_mock c085c4c Convert get_server_by_id 36b659e RESTify create_server 6b61f18 Don't fetch extra_specs in functional tests 9cb4b1d Convert create_server mocks to request_mock e538989 Add boot from volume unit tests e657373 Cleanup volumes in functional tests in parallel 081930d De-client-ify Project Update 18f9b64 De-client-ify Project Create d3df091 De-client-ify Project Delete 9237024 De-client-ify Project List 2b48aed Don't remove top-container element for sec group REST API calls db83c23 Improve grant docs on when and how use domain arg 5d204c3 Don't remove top-container for stack and zone REST API calls ebedf17 Updated from global requirements 4fce8d9 Rename obj_to_dict and obj_list_to_dict 75ce1ea Don't remove top-container element for network REST API calls 75ce9ad Convert data from raw clients to Munch objects 40c4f3c Remove unneeded calls to shade_exceptions f01a7d4 Don't remove top-container element for volume REST API calls 766d622 Use get_discovery from keystoneauth ba36d44 De-client-ify User Ops 752d01e Add links to user list dict 5a1a3d8 Avoid keystoneclient making yet another discovery call 96c24b1 Use shade discovery for keystone 076a407 Updated from global requirements 641073b Migrate dns to new discovery method a45848d Generalize version discovery for re-use 751b0a0 Pass hints to Cinder scheduler in create_volume 10cb4f2 Remove designate client from shade's dependencies c97bac2 Do less work when deleting a server and floating ips f0fa7e7 Remove designateclient from commands related to recordsets 1a5f734 Add pagination for the list_volumes call 755890b Handle ports with no 'created_at' attribute 014d397 Update test_user_update_password to overlay clouds.yaml f0c981c Fix legacy clients helpers 6a325df Remove unused occ version tie 92a19df Remove designateclient from commands related to zones 5d987eb Add documentation about shade's use of logging e167039 Add novaclient interactions to http_debug f6c74f2 Set some logger names explicitly 58d9b2a Add logging of non-standard error message documents bf8774b Log specific error message from RetriableConnectionFailure 990cfa3 Don't pop from os.environ aad00aa Updated from global requirements 462fe81 Fix python3 issues in functional tests 9f393dc Add time reporting to Connection Retry message b194a4d Log cloud name on Connection retry issues a4bcf38 Use catalog endpoint on any errors in image version discovery ba0e945 Pick most recent rather than first fixed address 072001a Allow a user to submit start and end time as strings 12b07e1 Fix get_compute_limits error message 8d34399 Fix get_compute_usage normalization problem e3d43e7 Find private ip addr based on fip attachment 329b939 Add ability to run any tox env in python3 ee01121 Fix issue with list_volumes when pagination is used b9872da Make sure security_groups is always a list c19a797 Updated from global requirements 750e0a9 Remove direct uses of nova_client in functional tests 8235e0c Keep a singleton to support multiple get_config calls 5991a5e Updated from global requirements 892b502 Remove designateclient mock from recordset tests 4199976 Convert list_server_security_groups to REST f11edd7 Remove two unused nova tasks dbb42fc Include error message from server if one exists 9ecf600 Optimize the case of versioned image endpoint in catalog 40f66c7 Fix broken version discovery endpoints e1dfc72 Remove cinderclient from install-tips.sh a88d41e Fix tips jobs and convert Nova Floating IP calls dc77e7d Convert first ironic_client test to REST f94880c Move mocks of designate API discovery calls to base test class be0a0c9 Fix exception when using boot_from_volume for create_server a483534 Revert "Revert "Use interface not endpoint_type for keystoneclient"" 4493871 Revert "Use interface not endpoint_type for keystoneclient" 1c0a95b Move legacy client constructors to mixin 7a3acde Add ironicclient to constructors list 103bc13 Fix pep8 errors that were lurking 3f76b25 Remove cinder client 3ed9725 Make deprecated client helper method d3b653f Add 'public' as a default interface for get_mock_url ef35f02 Add super basic machine normalization d1d9ed7 Remove designateclient mock from zones tests 61141ae Remove direct calls to cinderclient fcaf06c Add "Multi Cloud with Shade" presentation 7801de7 Use REST API for volume quotas calls b6926bb Add pprint and pformat helper methods 347fe82 Add helper method to fetch service catalog 2f8285d extend security_group and _rule with project id 81239f6 Remove neutronclient from shade's dependencies 1a8cb0a Remove cinderclient mocks from quotas tests e00ff9c Fix Neutron floating IP test c43f1d8 Use REST API for volume snapshot calls ad516fb Remove usage of neutron_client from functional tests 55ef136 Enable neutron service in server create and rebuild tests 072be85 Replace neutronclient with REST API calls in FIP commands 81d39a9 Updated from global requirements b390450 Add assert_calls check testing volume calls with timeout enabled f7f54d0 Remove has_service mock from Neutron FIP tests 4b75c85 Remove cinderclient mocks from snapshot tests 2449488 Remove neutronclient mocks from floating ips tests 689d3bb Use REST API for volume attach and volume backup calls f52448d Replace neutronclient with REST API calls in ports commands f7b1eb5 Don't get ports info from unavailable neutron service a2aad70 Removing unsed fake methods and classes 77bac2b Replace neutronclient with REST API calls in quotas commands cbc233d Replace neutronclient with REST API calls in security groups commands bcc7ea6 Use REST API for volume delete and detach calls be92751 Use REST API for volume type_access and volume create f430b94 Refactor the test_create_volume_invalidates test 7abe4e9 Replace neutronclient with REST API calls in router commands 478d4ba Move REST error_messages to error_message argument 944556e Remove two lines that are leftover and broken 17ab75b Convert test_role_assignments to requests mock 05f1600 Remove neutronclient mocks from sec groups tests 2079366 Remove neutronclient mocks from quotas tests b9073b5 Remove neutronclient mocks from ports tests e81bec0 Add optional error_message to adapter.request 17debbb Fix interactions with keystoneauth from newton 8a4f997 Add in a bunch of TODOs about interface=admin a5c49cb Set interface=admin for keystonev2 keystone tests 60569b2 Add a _normalize_volume_backups method ca2f10b Use requests-mock for the volume backup tests a71bea8 Remove neutronclient mocks from router tests 8b6ae89 Replace neutronclient with REST API calls in subnet commands b964757 Define a base function to remove unneeded attributes 66e3168 Remove neutronclient mocks from subnet tests 80ebf88 Replace neutronclient with REST API calls in network commands 1c0c81f Move router related tests to separate module c214477 Updated from global requirements 65c350f Move subnet related tests to separate module cee8b6c Fix list_servers tests to not need a ton of neutron 950c450 Remove neutronclient mocks from network create tests ff2c06c Make _fix_argv() somewhat compatible with Argparse action='append' d1d6706 Remove neutronclient mocks from network exceptions tests 0a39c01 Remove neutronclient mocks from network delete tests e61a5c0 Remove neutronclient mocks from network list tests 258a6a3 Use requests-mock for the list/add/remove volume types tests 09af82b Fix create/rebuild tests to not need a ton of neutron 7a2b579 Don't do all the network stuff in the rebuild poll 5dae187 Move unit tests for list networks to test_network.py file 4f807b8 Include two transitive dependencies to work around conflicts 0bfdaf4 Use requests-mock for all the attach/detach/delete tests 5c0f3f5 Remove stray line d5396cf Strip trailing slashes in test helper method 49fe112 Clarify some variable names in glance discovery 02e6371 _discover_latest_version is private and not used afed15f Remove extra unneeded API calls 4c67e76 Change versioned_endpoint to endpoint_uri b459c8d Futureproof keystone unit tests against new occ 3b8ef1b Actually fix the app_name protection 26c834c Replace nova security groups with REST 8d94ef1 Transition nova security group tests to REST dfec0ca Remove dead ImageSnapshotCreate task 0cbed4f Pass in app_name information to keystoneauth 5adcef0 Use REST for cinder list volumes 64b28d4 Add ability to pass in user_agent dc6ed69 Upgrade list volumes tests to use requests-mock 15d64f2 Updated from global requirements 8082cdf Pass shade version info to session user_agent 9cd5bf9 Use keystone_session in _get_raw_client d5982e8 Don't fail on security_groups=None d12032d Stop defaulting container_format to ovf for vhd 049b4ce Don't run extra server info on every server in list ccf7cca Use REST for neutron floating IP list f956aed Migrate create_image_snapshot to REST aa58173 Add ability to configure extra_specs to be off 413965c Migrate server snapshot tests to requests_mock cf54ef6 Add test to validate multi _ heat stack_status 97b9ac6 Fixed stack_status.split() exception 88d8a37 Add server security groups to shade 7e92e93 Updated from global requirements c1984b6 Add bare parameter to get/list/search server b31e9aa Docs: add a note about rackspace API keys bb4eede Update tox build settings b447fa4 Take care of multiple imports and update explanation b34e06f Reenable hacking tests that already pass 7ac3c03 Enable H201 - don't throw bare exceptions fe130c6 Enable H238 - classes should be subclasses of object c9e9ef9 Fix a few minor annoyances that snuck in 0b8a6d0 Don't use project-id in catalog tests e2cbd32 Change metadata to align with team affiliation 451ec8d Remove out of date comment 8aa8688 Move futures to requirements 01ff292 Stop special-casing idenity catalog lookups c8c098b Remove python-heatclient and replace with REST 510075d Replace heatclient testing with requests_mock 1252338 Add normalization for heat stacks 8059b3c Add list_availability_zone_names method 52e68c8 Switch list_floating_ip_pools to REST 35ab23e Strip out novaclient extra attributes 76d7850 Convert floating_ip_pools unittest to requests_mock 7ef65f1 Migrate get_server_console to REST 0112f85 Migrate server console tests to requests_mock da7f7cc Fix old-style mocking of nova_client 9f2287c Accept device_id option when updating ports 204fb73 Get rid of magnumclient dependency d809981 attach_volume should always return a vol attachment. 9190527 wait_for_server: ensure we sleep a bit when waiting for server 07eca13 delete_server: make sure we sleep a bit when waiting for server deletion bd0a40e Add designateclient to constructors list 7311bf0 Convert magnum service to requests_mock 360a87f RESTify cluster template tests f32591a Add normalization for cluster templates 2f009fd Get the ball rolling on magnumclient 5586893 Use data when the request has a non-json content type f29624a Cleanup some workarounds for old OCC versions d79de9b add separate releasenotes build db45323 Update sphinx and turn on warnings-is-error 1c87c8a Convert test_identity_roles to requests mock 8ad6941 change test_endpoints to use requests mock 194e53c OVH supports qcow2 2a8d0c5 Depend on pbr>=2.0.0 a93b3e2 Convert test_services to requests_mock 134bbe7 Only do fnmatch compilation and logging once per loop 38e5eba Use interface not endpoint_type for keystoneclient b2f7cea Add support for bailing on invalid service versions dee0749 Put fnmatch code back, but safely this time 0a956c1 modify test-requirement according to requirements project c58b868 Replace keystone_client mock in test_groups 7883171 Use unicode match for name_or_id 127049f Raise a more specific exception on nova 400 errors 0ecbb22 Don't glob match name_or_id 40c416c [Fix gate]Update test requirement 7080493 Rename ClusterTemplate in OpenStackCloud docs 0613d18 Fix OpenStack and ID misspellings 56ea59b Remove service names in OpenStackCloud docs d321a14 Pass ironic microversion through from api_version 81e04fc Add ability to skip yaml loading 80709fd Convert test_object to use .register_uris 759b2b4 Convert use of .register_uri to .register_uris efc41d8 Change request_id logging to match nova format 60ce27e Actually normalize nova usage data 71322c7 Fix several concurrent shade gate issues e675587 Remove the keystoneclient auth fallback 0e039e6 Add support for overriding mistral service type cbb38f3 Add helper scripts to print version discovery info 508061a Wait for volumes to detach before deleting them 4f98c8b Add accessor method to pull URLs from the catalog 820885c Convert use of .register_uri to .register_uris ea83e73 Remove keystoneclient mocks in test_caching for users aff1f8f Remove mock of keystoneclient for test_caching for projects 76a01bf Remove mock of keystone where single projects are consumed eee55a8 Rename demo_cloud to user_cloud d2df08e Add all_projects parameter to list and search servers b0bbb8c Convert test_project to requests_mock 2fd4bda convert test_domain to use requests_mock b5fb06e Move mock utilies into base 4161e5c Convert test_users to requests_mock 068470d Add request validation to user v2 test e100a58 Convert first V3 keystone test to requests_mock 5a3ffeb Cleanup new requests_mock stuff for test_users 23cead4 First keystone test using request_mock 5eb32e5 Add test of attaching a volume at boot time 50efb43 Add support for indicating required floating IPs 93c2e17 pass -1 for boot_index of non-boot volumes 175b256 Pass task to post_task_run hook 6edafb9 Rename ENDPOINT to COMPUTE_ENDPOINT 3cb1ad4 Transition half of test_floating_ip_neutron to requests_mock 994cd99 Start switching neutron tests 7878a9d Port in log-on-failure code from zuul v3 b223649 Honor cloud.private in the check for public connectivity 7102440 Support globbing in name or id checks 5139309 Stop spamming logs with unreachable address message 1dfe5e5 Remove troveclient from the direct dependency list 28fc6b0 Move nova flavor interactions to REST 7d982af Migrate flavor usage in test_create_server to request_mock 2e79cff Migrate final flavor tests to requests_mock 7ca9d76 Move flavor cache tests to requests_mock 32d53d5 Transition nova flavor tests to requests_mock 504cb05 Add ability to create image from volume cc78a7f Use port list to find missing floating ips 16a058f Process json based on content-type 707adab Update reno for stable/ocata 02116c4 fix location of team tags in README fa0a133 Copy in needed template processing utils from heatclient 48e7eb0 Upload images to swift as application/octet-stream 14c371e Add ability to stream object directly to file e71e79c Update coding document to mention direct REST calls 3ac4915 Skip discovery for neutron a616b64 Add helper test method for registering REST calls 8c0c2db Do neutron version discovery and change one test b086290 Add raw client constructors for all the things b7ea6c7 Replace SwiftService with direct REST uploads 362af90 Fix spin-lock behavior in _iterate_timeout. 08b7ce9 Fix typo for baremetal_service_type cf2d350 Add helper script to install branch tips 3c47e25 Revert "Fix interface_key for identity clients" cc2b337 Add support for Murano 0f706a7 Basic volume_type access bedc9c5 Add OpenTelekomCloud to the vendors 0851770 Add support to task manager for async tasks 9d145e0 Added list_flavor_access. 53858f3 Remove 3.4 from tox envlist 091fde1 Use upper-constraints for tox envs 2540585 Removes unnecessary utf-8 encoding 28e2b4c Log request ids when debug logging is enabled 362c6fe Honor image_endpoint_override for image discovery 11d66e3 Rework limits normalization 68a8d51 Handle pagination for glance images 9e818c0 Add support for using the default subnetpool 228b50d Remove link to modindex 197ca1b Fix exception name typo 18916de Add failure check to node_set_provision_state fcead29 Update swift constructor to be Session aware 33548e5 Add test to verify devstack keystone config 4c1494c Make assert_calls a bit more readable 45737ab Update swift exception tests to use 416 c8a3952 Make delete_object return True and False 9e9e2e7 Switch swift calls to REST 4d9cac2 Stop using full_listing in prep for REST calls de9a519 Stop calling HEAD before DELETE for objects 29d1587 Replace mocks of swiftclient with request_mock 98f1bd5 Put in magnumclient service_type workaround a32d451 Let use_glance handle adding the entry to self.calls 0232a12 Combine list of calls with list of request assertions 7d46383 Extract helper methods and change test default to v3 f80d171 Make munch aware assertEqual test method b3b833c Extract assertion method for asserting calls made 63ead14 Change get_object_metadata to use REST 1beac18 Update test of object metadata to mock requests ea061e8 Add release notes and an error message for release 6615160 Magnum's service_type is container_infra e2d1008 Add docutils contraint on 0.13.1 to fix building 7e0fbb3 Add total image import time to debug log ace76cf Clear the exception stack when we catch and continue 0dff888 Magnum's keystone id is container-infra, not container 485a4c1 Stop double-reporting extra_data in exceptions 916ba38 Pass md5 and sha256 to create_object sanely. 8c0ea00 Convert glance parts of task test to requests_mock 532cab3 Collapse base classes in test_image 8eb6289 Skip volume backup tests on clouds without swift 65f3d49 Add new attributes to floating ips ecce721 Add test to trap for missing services a868c0a Change fixtures to use https 766297d Honor image_api_version when doing version discovery 5159813 Replace swift capabilities call with REST bef38e4 Change register_uri to use the per-method calls 06ea154 Convert test_create_image_put_v2 to requests_mock bd545ce Remove caching config from test_image 9de5c78 Move image tests from caching to image test file 24acc18 Remove glanceclient and warlock from shade dd25a3c Remove a few glance client mocks we missed 790d8d8 Change image update to REST ec2d0c2 Make available_floating_ips use normalized keys 0b47f86 Fix _neutron_available_floating_ips filtering e6691dd Stop telling users to check logs 37adf27 Plumb nat_destination through for ip_pool case acef845 Update image downloads to use direct REST 7fc5e7b Move image tasks to REST d8b26c3 Add support for limits fa4e1bd Fix interface_key for identity clients 5a54765 Tox: optimize the `docs` target 892abf0 Replace Image Create/Delete v2 PUT with REST calls 29be502 Replace Image Creation v1 with direct REST calls 6613937 Remove test of having a thundering herd 68456a1 Pull service_type directly off of the Adapter 633720c Add compute usage support 93191eb Re-add metadata to image in non-strict mode 3008683 Show team and repo badges on README 5b301ce Added documentation for delete_image() f7f4bd7 Add an e to the word therefore cb281e2 Allow server to be snapshot to be name, id or dict 27a5527 Add docstring for create_image_snapshot f0a50a6 Allow security_groups to be a scalar 48c5322 Remove stray debugging line 8025c63 Start using requests-mock for REST unit tests 7889326 Have OpenStackHTTPError inherit from HTTPError 2a6ae13 Use REST for listing images 873ad6e Create and use a Adapter wrapper for REST in TaskManager 697da6f Normalize volumes 89cea03 Expose visibility on images ccf8db1 Be specific about protected being bool 3394e23 Remove pointless and fragile unittest e2a593d Revert "Remove validate_auth_ksc" 1f9e2cd Remove validate_auth_ksc 42bd7d9 Fail up to date check on one out of sync value 2bf2729 Normalize projects 6d9552e Cache file checksums by filename and mtime f5c37ff Only generate checksums if neither is given 73e39a5 Make search_projects a special case of list_projects b175fe9 Make a private method more privater 071fb5f Add unit test to show herd protection in action 6bc9e82 Refactor out the fallback-to-router logic d02bd2c Update floating ip polling to account for DOWN status f22af7f Use floating-ip-by-router 6996f23 Don't fail on trying to delete non-existant images 958f972 Allow server-side filtering of Neutron floating IPs 9f47acc Add fuga.io to vendors ea5f8dd list_servers(): thread safety: never return bogus data. 6115b00 Depend on normalization in list_flavors 1f1f5ff Add unit tests for image and flavor normalization fa80a51 Add strict mode for trimming out non-API data dd0ee8e list_security_groups: enable server-side filtering e545865 Don't fail image create on failure of cleanup f0e9a42 Try to return working IP if we get more than one b5d65b7 Support token_endpoint as an auth_type c1129ea Add test for os_keystone_role Ansible module 4dad7b2 Document and be more explicit in normalization 3f525e0 Add support for volumev3 service type 86ade8f Normalize cloud config before osc-lib call 1ac6766 Fix a bunch of tests 422ad9c Clarify how to set SSL settings e03f54a Add external_ipv4_floating_networks 49f1f19 Logging: avoid string interpolation when not needed 0986a62 Add a devstack plugin for shade ecb317d Allow setting env variables for functional options 47068d0 Update ECS image_api_version to 1 29e62e7 Add test for os_keystone_domain Ansible module 9986646 Add abililty to find floating IP network by subnet 57f9ac9 Remove useless mocking in tests/unit/test_shade.py 261313e Fix TypeError in list_router_interfaces 78e9997 Merge nova and neutron normalize methods 9acef32 Fix a NameError exc in operatorcloud.py 0087da5 Fix some docstrings acac3b9 Fix a NameError exception in _nat_destination_port 6806fcf Implement create/get/list/delete volume backups efdffe4 Move normalize_neutron_floating_ips to _normalize e27516f Delete image if we timeout waiting for it to upload 6623be2 Revert "Split auth plugin loading into its own method" bbc8816 Add description field to create_user method d430104 Allow boolean values to pass through to glance 4bad936 Update location info to include object owner 9e72995 Move and fix security group normalization 7962efc Add location field to flavors b30ff55 Move normalize_flavors to _normalize 5171f79 Move image normalize calls to _normalize 7ed4740 Add location to server record 7f0b1de Start splitting normalize functions into a mixin 4c17e90 Make sure we're matching image status properly 42e14ba Normalize images 05cfd3b Add helper properties to generate location info 9e2004b Update simple_logging to not not log request ids by default 1653120 Add setter for session constructor 8a8a218 Enable release notes translation f484736 cloud_config:get_session_endpoint: catch Keystone EndpointNotFound 30039f0 Add simple field for disabled flavors db4bace List py35 in the default tox env list d009ea2 remove_router_interface: check subnet_id or port_id is provided 1f81bf1 Add test for os_group Ansible module afe5485 Using assertIsNone() instead of assertEqual(None, ...) 2d78f1a Update homepage with developer documentation page bd434bc List py35 in the default tox env list 0a3e056 Fix AttributeError in `get_config` eec981c modify the home-page info with the developer documentation c6d2aea Don't create envvars cloud if cloud or region are set e888d8e Add support for jmespath filter expressions 1c00116 Add libffi-dev to bindep.txt f91a754 Don't build releasenotes in normal docs build 91eb5e0 Update reno for stable/newton bda72e4 Use list_servers for polling rather than get_server_by_id 86b100e Add ability to configure Session constructor 4decd44 Fix up image and flavor by name in create_server a3c9a94 Batch calls to list_floating_ips 8b7859e Split auth plugin loading into its own method 9bbc09d Allow str for ip_version param in create_subnet f616269 Skip test creating provider network if one exists 3f226d1 Revert per-resource dogpile.cache work 87f90e6 Fix two minor bugs in generate_task_class 42885dc Go ahead and handle YAML list in region_name 5c1371b Change naming style of submitTask 2b52bcf Add prompting for KSA options 522db8e Add submit_function method to TaskManager 24a61fc Refactor TaskManager to be more generic 229f3da Poll for image to be ready for PUT protocol cf99898 Cleanup old internal/external network handling 6832f73 Support dual-stack neutron networks 4d32169 Rename _get_free_fixed_port to _nat_destination_port 1ad8c92 Log request ids dd4bd63 Detect the need for FIPs better in auto_ip 72c1cd9 Clean up vendor support list 35b6f9a Delete objname in image_delete 315a11c Move list_server cache to dogpile dcce123 Ensure per-resource caches work without global cache 2bb6ff9 Support more than one network in create_server 7b3b959 Add support for fetching console logs from servers 4e77726 Allow image and flavor by name for create_server 3dfa847 Allow object storage endpoint to return 404 for missing /info endpoint 376c497 Batch calls to list_floating_ips 1cdf951 Get the status of the ip with ip.get('status') 6b0c38d Stop getting extra flavor specs where they're useless ae705ec Change deprecated assertEquals to assertEqual c40cc19 Use cloud fixtures from the unittest base class 829ebda Add debug logging to unit test base class aa6505a Update HACKING.rst with a couple of shade specific notes 3462561 Only run flake8 on shade directory 332195f Add bindep.txt file listing distro depends 84fe775 Set physical_network to public in devstack test 17f6847 Precedence final solution 9d757b3 Add support for configuring split-stack networks 02a99fb Use "image" as argument for Glance V1 upload error path 552caf5 Honor default_interface OCC setting in create_server 6b3b497 Validate config vs reality better than length of list 53b1fc4 Base auto_ip on interface_ip not public_v4 4bdda71 Add tests to show IP inference in missed conditions 273ea8c Deal with clouds that don't have fips betterer bd3f071 Infer nova-net security groups better 3326bb7 Add update_endpoint() 71a7058 Protect cinderclient import cca0fb3 Do not instantiate logging on import acf010f Don't supplement floating ip list on clouds without 02dd6d7 Move list_ports to using dogpile.cache b02708a Create and return per-resource caches ae25137 Lay the groundwork for per-resource cache a6840f6 Pop domain-id from the config if we infer values 3f968d2 Rename baymodel to cluster_template 2556c33 Make shared an optional keyword param to create_network a98be6a Add a 'meta' passthrough parameter for glance images 8ab5855 Allow creating a floating ip on an arbitrary port 3ef3864 Add ability to upload duplicate images 600a638 Update Internap information 1a1107a Fix requirements for broken os-client-config bbd22ab Add new test with betamax for create flavors 864df79 Stop creating cloud objects in functional tests dd7f0c9 Move list_magnum_services to OperatorCloud cfa87b1 Add test for precedence rules ddfed7f Pass the argparse data into to validate_auth d71a902 Revert "Fix precedence for pass-in options" 37dcc7e Add release notes for 1.19.0 release 9c699ed Add the new DreamCompute cloud 9cdd967 Go ahead and admit that we return Munch objects 1a25bb2 Depend on python-heatclient>=1.0.0 cdea9eb Add update_server method 05b3c93 Fix precedence for pass-in options 1f7ecbc Update citycloud to list new regions 354f38a Remove discover from test-requirements 51a5eb5 Update hacking version d9e9bb7 Add support for listing a cloud as shut down 9f4805b Change operating to interacting with in README 7dd138c Add floating IPs to server dict ourselves 481be16 Add support for deprecating cloud profiles 8481c6b Treat DELETE_COMPLETE stacks as NotFound e67b306 Add support for changing metadata of compute instances 891fa1c Refactor fix magic in get_one_cloud() 5f5c925 Use keystoneauth.betamax for shade mocks 2d20407 Add network quotas support 4f36eca Reword the entries in the README a bit 7d63f12 Add shade constructor helper method d0ce33a Add reno note for create_object and update_object 6a83406 Rename session_client to make_rest_client cb2e59c Add magnum services call to shade 41ac156 Add helper method for OpenStack SDK constructor 92a3c9e Add function to update object metadata c56d8e0 incorporate unit test in test_shade.py, remove test_router.py fix tenant_id in router add functional test test_create_router_project to functional/test_router.py add unit/test_router.py add project_id to create_router 8732fa7 Add magnum baymodel calls to shade. 7128a3e Make it easier to give swift objects metadata 49ca650 Add volume quotas support 7f47eb2 Add quotas support fbe1b38 Add missing "cloud" argument to _validate_auth_ksc b1343ac Add error logging around FIP delete 74ac5db Be more precise in our detection of provider networks 58faf12 Rework delete_unattached_floating_ips function a1ab68c Make sure Ansible tests only use cirros images fb357bd Don't fail getting flavors if extra_specs is off 02e4d1d Add initial setup for magnum in shade 090a265 Workaround bad required params in troveclient 44efe9c Trivial: Remove 'MANIFEST.in' 189a604 Trivial: remove openstack/common from flake8 exclude list b0fa438 drop python3.3 support in classifier f728df5 Amend the valid fields to update on recordsets a53db2c Move cloud fixtures to independent yaml files e689108 Add support for host aggregates 068028c Add support for server groups 04774d8 Add release note doc to dev guide 31ac451 Add Designate recordsets support 700ab6f Fix formatting in readme file 40a5091 Add support for Designate zones d9455f6 Fail if FIP doens't have the requested port_id 1872af0 Add public helper method for cleaning floating ips 94dab01 Rework floating ip use test to be neutron based 63566ea Delete floating IP on nova refresh failure e91245e Retry floating ip deletion before deleting server 04fd7db Have delete_server use the timed server list cache cb579cd Document create_stack 7de80f9 delete_stack add wait argument 40b30a6 Implement update_stack fba7207 Fix string formatting e255657 Add domain_id param to project operations 59a2afd Remove get_extra parameter from get_flavor 7c32cf6 Honor floating_ip_source: nova everywhere 590e6dd Use configured overrides for internal/external 362986e Start stamping the has_service debug messages f4aa49c Consume floating_ip_source config value c6017bd Honor default_network for interface_ip af47ff1 Refactor the port search logic e734774 Allow passing nat_destination to get_active_server d9fc340 Add nat_destination filter to floating IP creation 5d42c84 Refactor guts of _find_interesting_networks 1368b7d Search subnets for gateway_ip to discover NAT dest 3f79e8d Consume config values for NAT destination 92dc7a2 Return boolean from delete_project 0f2c7fb Correct error message when domain is required 1028f5a Remove discover from test-requirements.txt d9f9c05 Add version string b472097 Add release note about the swift Large Object changes d5e0745 Delete image objects after failed upload 502a4bb Delete uploaded swift objects on image delete e0ad4ec Add option to control whether SLO or DLO is used 719c064 Upload large objects as SLOs 19bbb7b Set min_segment_size from the swift capabilities d8966d5 Don't use singleton dicts unwittingly 8601dd6 Update func tests for latest devstack flavors 5605034 Pull the network settings from the actual dict aae0b15 Fix search_domains when not passing filters bceedbc Wrap stack operations in a heat_exceptions 2ed2254 Use event_utils.poll_for_events for stack polling fdb80ad Clarify one-per-cloud network values 7c43907 Flesh out netowrk config list 9cbe9ae Follow name_or_id pattern on domain operations 74ea5ca Remove conditional blocking on server list acf9ffd Cache ports like servers 278a761 Change network info indication to a generic list e43625d Workaround multiple private network ports b99eb3f Reset network caches after network create/delete 186d57e Fix test_list_servers unit test 32c4fff Fix test_get_server_ip unit test 454d30b Remove duplicate FakeServer class from unit tests 75ee8f9 Mutex protect internal/external network detection 1853a54 Support provider networks in public network detection c7ebbbf Re-allow list of networks for FIP assignment 18e8bfb Support InsecureRequestWarning == None 5c739ce Add release notes for new create_image_snapshot() args de36427 Split waiting for images into its own method d9867f4 Add wait support to create_image_snapshot() 060ce2e Also add server interfaces for server get a9f4130 Import os module as it is referenced in line 2097 20451c3 Fix grant_role docstring bd8be72 Add default value to wait parameter b5e3cd3 Use OpenStackCloudException when _delete_server() raises 35e6af8 Always do network interface introspection 0870ffe Fix race condition in deleting volumes 8a7c609 Use direct requests for flavor extra_specs set/unset c6f0258 Fix search_projects docstring abe2505 Fix search_users docstring e41dabb Add new tasks to os_port playbook e4ba956 Deal with is_public and ephemeral in normalize_flavors d133f36 Create clouds in Functional Test base class e1f6f1c Run extra specs through TaskManager and use requests 55db0a5 Bug fix: Make set/unset of flavor specs work again e6b60d9 Refactor unit tests to construct cloud in base d725978 Add constructor param to turn on inner logging 4151feb Log inner_exception in test runs c7f8a88 Pass specific cloud to openstack_clouds function ebec668 Make get_stack fetch a single full stack ee88b23 Add environment_files to stack_create 1e738db Add normalize stack function for heat stack_list cfd62e4 Add wait_for_server API call. cb60c7e Update create_endpoint() b7b6de0 Make delete_project to call get_project a715114 Update reno for stable/mitaka cbab18b Add osic vendor profile 82697db Test v3 params on v2.0 endpoint; Add v3 unit f10f704 Add update_service() 8fda803 Use network in neutron_available_floating_ips d0709ea Allow passing project_id to create_network 543954d In the service lock, reset the service, not the lock ff82154 Bug fix: Do not fail on routers with no ext gw cf43b98 Mock glance v1 image with object not dict d72262e Use warlock in the glance v2 tests 3850774 Fixes for latest cinder and neutron clients 0f23cb8 Add debug message about file hash calculation c12d502 Pass username/password to SwiftService b4411cb Also reset swift service object at upload time 53adfb4 Invalidate volume cache when waiting for attach a9d155f Use isinstance() for result type checking 34799e9 Add test for os_server Ansible module f236869 Fix create_server() with a named network 80e7c42 os_router playbook cleanup 795750b Fix heat create_stack and delete_stack 11b834a Catch failures with particular clouds a7fe252 Allow testing against Ansible dev branch d097959 Recognize subclasses of list types 03d5659 Update the README a bit 7a4993d Allow session_client to take the same args as make_client f6bbd31 Add ability to pass just filename to create_image 11a8527 Add support for provider network options ef263d6 Remove mock testing of os-client-config for swift 35ece66 Fix formulation 7865abc Add release notes dcc9aad Add a method to download an image from glance dd1f03c Send swiftclient username/password and token 02b4b4c Add test option to use Ansible source repo 8cb0eb3 Add enabled flag to keystone service data ab8a196 Clarify Munch object usage in documentation df379be Add docs tox target 9035ade create_service() should normalize return value d052121 Prepare functional test subunit stream for collection 6619273 Use release version of Ansible for testing ef5a1b2 Modify test workaround for extra_dhcp_opts 10a9369 Remove HP and RunAbove from vendor profiles 8264e09 Added SSL support for VEXXHOST 9199c26 Fix for stable/liberty job e38eea3 granting and revoking privs to users and groups fe2558a Add support for zetta.io 42727a5 Stop ignoring v2password plugin cd9d0f3 Add release note for FIP timeout fix. ae8f4b6 Go ahead and remove final excludes b2deeef include keystonev2 role assignments c2058d5 Add release note for new get_object() API call f2ef884 Pass timeout through to floating ip creation d7ffabc Fix normalize_role_assignments() return value a2db877 Don't set project_domain if not project scoped 003f094 Remove a done todo list item 05aacf1 add the ability to get an object back from swift cfd2919 Clean up removed hacking rule from [flake8] ignore lists 72a3d64 allow for updating passwords in keystone v2 fde5cc0 Support neutron subnets without gateway IPs 2f1d184 set up release notes build 4cefd93 Save the adminPass if returned on server create 25061db Fix unit tests that validate client call arguments a8532f6 Fix a precedence problem with auth arguments 7e54967 Return empty dict instead of None for lack of file cd5f16c Pass version arg by name not position 53187f2 Allow inventory filtering by cloud name f61a487 Use _get_client in make_client helper function 9835daf Add barbicanclient support cf439dd Add range search functionality caae8ad Remove openstack-common.conf cab0469 Add IBM Public Cloud 0b270f0 Replace assertEqual(None, *) with assertIsNone in tests 3b5673c Update auth urls and identity API versions 0bc9e33 Stop hardcoding compute in simple_client 84f4656 correct rpmlint errors c53ed12 Add tests for stack search API e19c47e Fix filtering in search_stacks() a269d53 Bug fix: Cinder v2 returns bools now 59d9135 Normalize server objects 1cd3e5b Update volume API default version from v1 to v2 c514b85 Debug log a deferred keystone exception, else we mask some useful diag 9688f8e Fix README.rst, add a check for it to fit PyPI rules ecb537d Make server variable expansion optional 594e31a Use reno for release notes f3678f0 add URLs for release announcement tools 9929eb3 Have inventory use os-client-config extra_config a39fca8 Fix unittest stack status 7ee7156 Allow filtering clouds on command line 17e019a Munge region_name to '' if set to None 7be6db8 Fix some README typos 77c0365 Fix token_endpoint usage f765a16 remove python 2.6 os-client-config classifier c10566c Fix shade tests with OCC 1.13.0 8fa5570 If cloud doesn't list regions expand passed name 95a7be3 No Mutable Defaults ea85962 Add option to enable HTTP tracing 939862e Fix glance endpoints with endpoint_override 0a25cb5 Allow passing in explicit version for legacy_client 16166c0 Pass endpoint override to constructors 3a34378 Support backwards compat for _ args 22d740b Add backwards compat mapping for auth-token 8681485 Add support for querying role assignments. 88b7e64 Replace assertEqual(None, *) with assertIsNone in tests d9c283c Add inventory unit tests 837ca71 Allow arbitrary client-specific options add21aa Fix server deletes when cinder isn't available f4971b5 Pedantic spelling correction 451e513 Bug fix: create_stack() fails when waiting fb8ea73 Stack API improvements 8d5abfb Bug fix: delete_object() returns True/False 3b50573 Add wait support for ironic node [de]activate 8d868cb Improve test coverage: container/object list API 44e796a Make a new swift client prior to each image upload 47d2472 Improve test coverage: volume attach/detach API f4237a8 Add ceilometer constructor to known constructors d38af94 Bug fix: Allow name update for domains 4c8cfe4 Improve test coverage: network delete API d7e6167 Bug fix: Fix pass thru filtering in list_networks c47ec15 Consider 'in-use' a non-pending volume for caching 8696fbd Improve test coverage: private extension API f0440f8 Improve test coverage: hypervisor list 83159ae Use reno for release notes d0c70cc Add support for generalized per-region settings 1221ea7 Fix a README typo - hepler is not actually a thing 8eced67 Make client constructor optional b90f53b Updated README to clarify legacy client usage 5beaeef Add simple helper function for client construction ed2f34b Add method for registering argparse options 6aecb87 Update vexxhost to Identity v3 99602b5 Improve test coverage: list_router_interfaces API 9922cfb Change the client imports to stop shadowing 833f549 Use non-versioned cinderclient constructor ca1409e Improve test coverage: server secgroup API a5f1850 Improve test coverage: container API eea460d Make sure that cloud always has a name f16ec05 Improve test coverage: project API 0e6085f Improve test coverage: user API dcdb20d Provide a better comment for the object short-circuit 1700e19 Remove cinderclient version pin 07ac77c Add functional tests for boot from volume 026a17c Remove optional keystoneauth1 imports 372edf4 Enable running tests against RAX and IBM 2c75369 Don't double-print exception subjects 0d5e7b5 Accept objects in name_or_id parameter bd2f1cb Normalize volume objects 87309ad Fix argument sequences for boot from volume 02ac37f Make delete_server() return True/False cc92c92 Add BHS1 to OVH e1646ac Adjust conditions when enable_snat is specified c01913d Only log errors in exceptions on demand 9f43f8a Fix resource leak in test_compute 596a5d8 Clean up compute functional tests 0ea32e7 Handle cinder v2 014db17 Stop using nova client in test_compute 4c1418f Retry API calls if they get a Retryable failure 9f23d6e Fix call to shade_exceptions in update_project 7698842 Add test for os_volume Ansible module 31cdee1 Fix for min_disk/min_ram in create_image API 4c7583b Add test for os_image Ansible module b17bbcd Add support for secure.yaml file for auth info 05bd92c Fix warnings.filterwarnings call 630ce67 boot-from-volume and network params for server create 2cc6257 Do not send 'router:external' unless it is set c6c1b73 Add test for os_port Ansible module 9d7229f Allow specifying cloud name to ansible tests 27154a9 Fix a 60 second unit test 23b49f8 Make sure timeouts are floats e9d4223 Remove default values from innner method c841791 Bump os-client-config requirement 9c59002 Fix lack of parenthesis around boolean logic 10e96bc Only pass timeout to swift if we have a value ef80430 Add test for os_user_group Ansible module 72190ec Add user group assignment API 0189dd2 Add test for os_user Ansible module 4834756 Add test for os_nova_flavor Ansible module 21438f4 Stop using uuid in functional tests 26412cb Make functional object tests actually run 0aefe15 Fix name of the object-store api key 3e76af9 Refactor per-service key making e5715de Add Ansible object role 74477b6 Fix for create_object f5e1b85 Add support for legacy envvar prefixes b2bc8c5 Four minor fixes that make debugging better 633441f Add new context manager for shade exceptions, final. 1ac8530 Add ability to selectively run ansible tests cb0e913 Add Ansible testing infrastructure 506d6e8 Fix JSON schema 105ba77 Add new context manager for shade exceptions, cont. again ef0ccaa Pull server list cache setting via API a71db08 Plumb fixed_address through add_ips_to_server 397da54 Workaround a dispute between osc and neutronclient c90de1f Workaround for int value with verbose_level ce7d716 Remove unneeded workaround for ksc 59ad0ed Add default API version for magnum service f7ca875 Let os-client-config handle session creation 9df40b0 Remove designate support ae2bded Remove test reference to api_versions e557b6e Update dated project methods 4a061ca Fix incorrect variable name 89dd353 Add CRUD methods for keystone groups 13b6fba Work around a bug in keystoneclient constructor 5b99320 Return cache settings as numbers not strings 2339243 Add method to get a mounted session from config 26c8ebd Bump ironicclient depend 3b43304 Make sure cache expiration time is an int b8874ff Convert floats to string 10836ae Add new context manager for shade exceptions, cont. d373969 Don't assume pass_version_arg=False for network 059d314 Update network api version in defaults.json 588be01 Dont turn bools into strings 1bf0941 Use requestsexceptions for urllib squelching 2b45428 Use the requestsexceptions library 93d8b79 Don't warn on configured insecure certs ba3b206 Normalize domain data 5e031a5 Normalization methods should return Munch b4e7985 Fix keystone domain searching ac51f44 Normalize int config values to string 1d3128d Add new context manager for shade exceptions 234a2bf teach shade how to list_hypervisors 409134d Update ansible router playbook 6d957b0 Disable spurious urllib warnings 335ed4a Add logging module support a494b31 Add methods for getting Session and Client objects 27678e5 Update conoha's vendor profile to include SJC 796bfad Use json for in-tree cloud data 5dca987 Stop calling obj_to_dict everwhere 586dbbb Always return a munch from Tasks b5b3fba Make raw-requests calls behave like client calls b7ad03e Minor logging improvements 48c0668 Update auro to indicate move to neutron 5f2b64b Copy values in backwards_interface differently d68e819 Remove another extraneous get for create_server 7c5087d Don't wrap wrapped exception in create_server 0085eff Skip an extra unneeded server get eba0221 Fix typo in Catalyst region configs b6e9180 Don't wrap wrapped exceptions in operatorcloud.py 684b8b6 Add docs for create_server edc5fc2 Update README to not reference client passthrough 91e0148 Move ironic client attribute to correct class 6257821 Move _neutron_exceptions context manager to _utils f31b206 Fix misspelling of ironic state name. e2f0253 Timeout too aggressive for inspection tests 0f6203f Split out OpenStackCloud and OperatorCloud classes fff354e Adds volume snapshot functionality to shade fedb035 Fix the return values of create and delete volume 96839a5 Remove removal of jenkins clouds.yaml f826d93 Consume /etc/openstack/clouds.yaml 12e7868 Add logic to support baremetal inspection 80f2a21 node_set_provision_state wait/timeout support 2c63d6e Add warning suppression for keystoneauth loggers faea2f8 Suppress Rackspace SAN warnings again 0cee250 Aligned a few words in the docs 2aaba84 Sort vendor list c71ba51 Add conoha public cloud 4ae0426 Allow for templated variables in auth_url f8804bd Use assertDictEqual to test dict equality e941434 return additional detail about servers 631a8e5 expand security groups in get_hostvars_from_server f39cb4b Always pull regions from vendor profiles 8f93623 add list_server_security_groups method 7f5ae95 Add swift object and container list functionality 139a2b5 Translate task name in log message always c0f0f36 Add debug logging to iterate timeout aed2026 Change the fallback on server wait to 2 seconds fa8d018 Add entry for James Blair to .mailmap bf792d7 handle routers without an external gateway in list_router_interfaces 8cd3b51 Fix projects list/search/get interface dc45027 Remove unused parameter from create_stack 0ab8b82 Move valid_kwargs decorator to _utils 3d66d1f Add heat support 0bb5192 Abstract out the name of the name key 7aa043e Add heatclient support da2bfd7 Use OCC to create clouds in inventory 26aff17 novaclient 2.32.0 does not work against rackspace 0a1c7c8 Support private address override in inventory 76b081e Normalize user information cbc3299 Set cache information from clouds.yaml 0d22456 Make designate record methods private for now e081dcb Rely on devstack for clouds.yaml f7afb98 Rename identity_domain to domain 6afb7ad Rename designate domains to zones a398485 Replace Bunch with compatible fork Munch 862a71a Make a few IP methods private 05f3316 Push filtering down into neutron 790fac9 Clean up cache interface, add support for services 48f352d Make floating IP func tests less racey 16061f9 Make router func tests less racey 65fdacc Create neutron floating ips with server info ae5e5e0 Undecorate cache decorated methods on null cache 08f2982 Tweak create_server to use list_servers cache b06adf5 Add Rackspace LON region 1ad1e9a Add API method to list router interfaces 46525cf Handle list_servers caching more directly 7d711f2 Split the nova server active check out ed9c516 Pass wait to add_ips_to_server bcd507a Fix floating ip removal on delete server 688ca1f Document filters for get methods ee1e88b Add some more docstrings 512ca01 Validate requested region against region list f6681a8 Fix documentation around regions ec4ebbd Add an API reference to the docs 6113d03 Pass OpenStackConfig in to CloudConfig for caches c22cc1f Remove shared=False from get_internal_network 8569b81 Make attach_instance return updated volume object 05adc0b Tell git to ignore .eggs directory 1511935 Align users with list/search/get interface 3962a1c Add script to document deleting private networks baa36a8 Add create/delete for keystone roles 539c145 Accept and emit union of keystone v2/v3 service 7a347bf Use keystone v3 service type argument 801d09a Add auth hook for OpenStackClient 9b03198 Add get/list/search methods for identity roles 1a719d3 Add methods to update internal router interfaces 5dc91cf Add get_server_by_id optmization 310db38 Add option to floating ip creation to not reuse 3609cd5 Adds some lines to complete table formatting a52c61a Provide option to delete floating IP with server 8f943e1 Update python-troveclient requirement 4f65ac7 Add a private method for nodepool server vars fc5f41e Update required ironicclient version cf4effb Split get_hostvars_from_server into two eb9ce61 Invalidate image cache everytime we make a change 10a3bb1 Use the ipaddress library for ip calculations be11a20 Optimize network finding d3b17d1 Fix create_image_snapshot 379962f Add universal=1 to setup.cfg to build python 3 wheels 5a42035 Return IPv6 address for interface_ip on request 0a06226 Plumb wait and timout down to add_auto_ip 12662dd Pass parameters correctly for image snapshots 758630e Fix mis-named has_service entry 14c7fd5 Provide shortcut around has_service 950f22a Provide short-circuit for finding server networks 332e790 Update fake to match latest OCC a9d5827 Some cleanup d3c82ab Fix two typos 21ff307 Put in override for Rackspace broken neutron 7d84f10 Support passing force_ipv4 to the constructor 733c04f identity version is 2.0 137458f Dont throw exception on missing service 723b893 Handle OS_CLOUD and OS_REGION_NAME friendly-like 79637b1 Added SWITCHengines vendor file 9f0e6a8 Add functional test for private_v4 bccce18 Attempt to use glanceclient strip_version 8822b7a Fix baremetal port deletion 0ff48d2 Add router ansible test and update network role a0e1ae1 Trap exceptions in helper functions 4636dd9 Add more info to some exceptions 14831e6 Allow more complex router updates 7ccb6f8 Allow more complex router creation f3c43e8 Allow creating externally accessible networks 5105613 Handle glance v1 and v2 difference with is_public 20ac047 Get defaults for image type from occ 489314a Use the get_auth function from occ 988e305 update RST for readme so pypi looks pretty 03c1556 Add a NullHandler to all of our loggers 2e350d0 Remove many redundant debug logs 0f08964 Fix a little error with the None auth type 84904f3 Make inner_exception a private member 75954fa Add support for Catalyst as vendor 02cf7ce Just do the error logging in the base exception 5d9bb47 Store the inner exception when creating an OSCException d084ebd Start using keystoneauth for keystone sessions 7f33416 Change ignore-errors to ignore_errors 8dee656 Handle ksa opt with no deprecated field aa41f9b Fall back to keystoneclient arg processing 6d25a93 Fix typo in ovh region names 21bb2f3 Move plugin loader creation to try block 0339a9a Convert auth kwargs '-' to '_' 2906d1e Properly handle os- prefixed args in fix_args aabf143 Test kwargs passing not just argparse aef90e7 Allow configuring domain id once 54afb28 Add internap to the vendor list 2be0553 Fix typo in comment - we use ksa not ksc 093d7b0 Defer plugin validation to keystoneauth 3f76cc5 Remove an extra line b0f4161 Add Datacentred to the vendor list 2762241 Add ultimum to list of vendors d835c47 Add Enter Cloud Suite to vendors list 7bfa633 Add elastx to vendor support matrix 265abb2 Switch the image default to v2 d11d165 Update auro auth_url and region information 53b7b7a Add citycloud to the vendors list 15c6652 Return keystoneauth plugins based on auth args 9a62658 Move keystone to common identity client interface eb6ed09 Remove duplicate lines that are the same as default a51ab85 Add default version number for heat 7435437 Bump the default API version for python-ironicclient 24bff5d Update OVH public cloud information 82aea48 Avoid 2.27.0 of novaclient fb24f1d Handle empty defaults.yaml file b52d744 unregister_machine blocking logic 337a0ed Fix exception lists in functional tests e589514 Migrate neutron to the common client interface bd24a6d Remove last vestige of glanceclient being different 16b0720 Pass timeout to session, not constructors dcf079e Delete floating ip by ID instead of name ceb6a1d Move glanceclient to new common interface 2920aa0 Addition of shade unregister_machine timeout de6cb78 Initial support for ironic enroll state 2726843 Do not treat project_name and project_id the same a735e12 Add flavor access API 40fdf2b Make client constructor calls consistent e29ed75 Revert "Revert "Use the correct auth_plugin for token authentication"" 085074d Change functional testing to use clouds.yaml 0e3117c Revert "Use the correct auth_plugin for token authentication" eeae22f Add a developer coding standards doc 13a04f7 Ignore infra CI env vars dfef01a Use the correct auth_plugin for token authentication 575508d Add flavor functional tests ef756c4 Bug fix for obj_to_dict() 20b3dd1 Add log message for when IP addresses fail 1ead623 Add methods to set and unset flavor extra specs ee34c7d Listing flavors should pull all flavors b55f88b Be consistent with accessing server dict 84e3aae Throw an exception on a server without an IP 80e1fbc Be smarter finding private IP 0af29bd Clarify future changes in docs a8e8c80 Align to generic password auth-type 264fa42 Remove meta.get_server_public_ip() function 6f09b54 Document create_object b1ae223 Remove unused server functions 914d82a Fix two typos and one readablity on shade documentation 8218cb2 Pass socket timeout to swiftclient ad59fe3 Process config options via os-client-config 494cea2 Update ansible subnet test 31eabb9 Fix test_object.py test class name 6e9a52a Fix for swift servers older than 1.11.0 212ce98 Clarify floating ip use for vendors b2d1075 Add per-service endpoint overrides 5c6aefa Use disable_vendor_agent flags in create_image 856b298 Use os-client-config SSL arg processing 482d6ed Correctly pass the server ID to add_ip_from_pool 21e7628 Add initial designate read-only operations a9cf85b Always use a fixed address when attaching a floating IP to a server d6d2cbe Remove requirements.txt from tox.ini db0480e Catch leaky exceptions from create_image() b292db7 Remove py26 and py33 from tox.ini 0b69813 Rename 'endpoint_type' to 'interface' b414543 Have service name default to None e7241b4 Add flavor admin support 3891816 Remove region list from single cloud 6087135 Fix debug logging lines 62c1f2a Account for Error 396 on Rackspace 8f3a48b Fix small error in README.rst b74df46 Fix set_default() when used before config init 9ac1517 Allow use of admin tokens in keystone 5709ca8 Fix identity domain methods ab1c566 Update ansible module playbooks 7965fd2 Rework how we get domains 6523cf6 Specify the config file with environment variable 1065ea4 Add support for configuring region lists with yaml 7ad8db9 Fix "Bad floatingip request" when multiple fixed IPs are present df195a3 Add Ansible module test for subnet 8a2db7b Add Ansible module test for networks 9d3cc79 Fix rendering issue in Readme bfa1955 Add a testing framework for the Ansible modules b3197e9 Support project/tenant and domain vs. None 604c27f Add CRUD methods for Keystone domains 2ab2310 Raise exception for nova egress secgroup rule 01aecee Modify secgroup rule processing 648e4fd Make sure we are returning floating IPs in current domain 235dedc Correctly name the functional TestImage class fceb193 Locking ironic API microversion 808a50a Add Neutron/Nova Floating IP tests b12b3b6 Adding SSL arguments to glance client 50f0544 Clean up vendor data 65dd845 Add support for indicating preference for IPv6 0b09988 Remove list_keypair_dicts method 1e447b4 Do not use environment for Swift unit tests 882ad91 Add Neutron/Nova Floating IP attach/detach 5d66693 Fix available_floating_ip when using Nova network fd36850 Skip Swift functional tests if needed 2b64bbc Fix AttributeError in keystone functional tests 6f93b3a Update keypair APIs to latest standards f9c72e9 Add Neutron/Nova Floating IP delete (i.e. deallocate from project) 73c0774 Add Neutron/Nova Floating IP create (i.e. allocate to project) 735aae7 Convert ironicclient node.update() call to Task 5369ffc Convert ironicclient node.get() call to Task fdefa58 Move TestShadeOperator in a separate file 9db26ef Fix intermittent error in unit tests 2979033 Pin cinderclient b631da8 Normalize project_name aliases bbcfbc8 Add comment explaining why finding an IP is hard a998ecd Add IPv6 to the server information too af32bbb Use accessIPv4 and accessIPv6 if they're there cb1c0ea Add Neutron/Nova Floating IP list/search/get 7cde7c5 Catch all exceptions around port for ip finding ebfef54 Centralize exception management for Neutron 6367ead Fix MD5 headers regression e25936b Ensure that service values are strings 11059de Pass token and endpoint to swift os_options 6098388 Convert ironicclient node.validate() call to Task 208c084 Convert ironicclient node.list() call to Task 03967b1 Return True/False for delete methods 1550cfc Add some accessor methods to CloudConfig f6c0f80 Add delete method for security group rules 3cee02e Add get_server_external_ipv6() to meta 669af9a Refactor find_nova_addresses() 1f0171b Replace get_server_public_ip() with get_server_external_ipv4() 07f72e1 Add get_server_external_ipv4() to meta b533b09 Add more parameters to update_port() 20f86ae Improve documentation for create_port() 6f5bf9c Correct get_machine_by_mac and add test 965998c Add create method for secgroup rule 2f499ab Coalesce port values in secgroup rules 120d688 Move _utils unit testing to separate file 78a3b20 Add secgroup update API eded4b3 Add missing tests dfcccbf Add very initial support for passing in occ object de84b79 Add test to check cert and key as a tuple fd16aa7 Don't emit volume tracebacks in inventory debug 3a81f59 Return new secgroup object 8434026 Use one yaml file per vendor 9f7a506 Raise warning when a vendor profile is missing d710acc Some cleanup in the README.rst a2f2524 Add support for OVH Public Cloud 7e605f9 Add SSL documentation to README.rst 0b2a555 Port ironic client port.get_by_address() to a Task fae69e6 Port ironic client port.get() to a Task 92b4cc3 Add inventory command to shade 2c926e6 Extract logging config into a helper function 95beafe Stringify project details bc253d6 Raise a warning with conflicting SSL params b1e562c Change references of "clouds.yaml" for real file cf0bdc4 Add create method for security groups 50975f5 Add delete method for security groups 8c445b5 Switch to SwiftService for segmented uploads f02636e Add support to get a SwiftService object acc2cbd Raise a warning when using 'cloud' in config 038ddd3 Add cloud vendor files config in doc 92040ef Add port resource methods a4e9d5c Split security group list operations 988ab2a Add keystone endpoint resource methods da69297 Add Keystone service resource methods fa0a120 Rely on defaults being present fd731c1 Consume os_client_config defaults as base defaults d5d539d Remove hacking select line a0df677 Provide a helper method to get requests ssl values 2fcf053 Add design for an object interface eccbd04 Port ironic client node.list_ports() to a Task 6c3b1e5 Port ironic client port.list() to a Task dc012c3 Split list filtering into _utils 8d9cab2 Cast nova server object to dict after refetch e763e3b Split iterate_timeout into _utils 7e69d82 Cleanup OperatorCloud doc errors/warnings ba0986f Add more defaults to our defaults file b431669 Change naming in vendor doc to match vendors.py f66aad5 Add auro to list of known vendors d503f05 Add list of image params needed to disable agents cb54ac5 Update pbr version pins daab361 Add set_one_cloud method b16d6d3 Add tests for get_cloud_names 6daed95 Add flag to indicate handling of security groups 88c5e08 Don't normalize too deeply 2580c0a Add tests for cloud config comparison 9b98ee0 Add inequality method 5c60aad Add an equality method for CloudConfig 5a4f809 Capture the filename used for config f3eb3d4 Normalize all keys down to _ instead of - a5dd46a Expose method for getting a list of cloud names 353875b Set metadata headers on object create b51f9f8 Rename cloud to profile 434d51a Don't pass None as the cloud name 24385ad Always refresh glanceclient for tokens validity be3ddcd Don't cache keystone tokens as KSC does it for us 39eefc1 Make sure glance image list actually runs in Tasks f574339 Make caching work when cloud name is None 1dc1d25 Handle novaclient exception in delete_server wait 1cb9b20 Support PUT in Image v2 API 88a12a9 Make ironic use the API version system 6d654bc Catch client exceptions during list ops ef47a50 Replace ci.o.o links with docs.o.o/infra 5af9a9d Pass OS_ variables through to functional tests 5d9ab44 Improve error message on auth_plugin failure a0a36b8 Handle novaclient exceptions during delete_server 569fe40 Add floating IP pool resource methods 9bcf259 Don't error on missing certs cbdc7c7 Change overriding defaults to kwarg e71bee3 Stop leaking server objects 948aa01 Add tests for OSC usage 3328cc7 Use fakes instead of mocks for data objects 4b40133 Use appdirs for platform-independent locations 9b9e3d0 Add UnitedStack 508c240 Expose function to get defaults dict b16c49c Add default versions for trove and ironic b9cdb76 Sort defaults list for less conflicts 2f1e6c1 Only add fall through cloud as a fall through 78df129 Update images API for get/list/search interface 1981431 Rewrite extension checking methods 731cfab Update server API for get/list/search interface 33634dd Add flag to indicate where floating ips come from f6d0876 get_one_cloud should use auth merge dc8d21d Also accept .yml as a suffix cecbc2a Fix delete_server when wait=True 2e3498d Return Bunch objects instead of plain dicts 760d996 Switch tasks vs put on a boolean config flag f495ebd Enhance the OperatorCloud constructor f2a86ce Convert node_set_provision_state to task 545d3f0 Update recent Ironic exceptions f62cf08 Enhance error message in update_machine 912af15 Remove crufty lines from README 08f330d Rename get_endpoint() to get_session_endpoint() ace6d92 Update vendor support to reflect v2 non-task a417f38 Make warlock filtering match dict filtering 4d80851 Fix exception re-raise during task execution for py34 5984807 Add more tests for server metadata processing e1c2cd9 Add thread sync points to Task be87e99 Add early service fail and active check method 896f844 Add a method for getting an endpoint 2c4d909 Raise a shade exception on broken volumes 3b64ee6 Split exceptions into their own file abdb5ca Add minor OperatorCloud documentation 87000d9 Allow for int or string ID comparisons 3f8431a Add flag to trigger task interface for rackspace 7468d11 Change ironic maintenance method to align with power method 128a62f Add Ironic machine power state pass-through a540167 Update secgroup API for new get/list/search API aa092ba Fix functional tests to run against live clouds 930a8b1 Add functional tests for create_image 0a3cd47 Do not cache unsteady state images 41ef641 Add tests and invalidation for glance v2 upload 59041cc Allow complex filtering with embedded dicts 788dd1b Call super in OpenStackCloudException 4d4d555 Add Ironic maintenance state pass-through 6ac348d Add update_machine method 34c1ad9 Replace e.message with str(e) 746a1a8 Update flavor API for new get/list/search API cd2a8a6 Add a docstring to the Task class 3f1c99c Remove REST links from inventory metadata 8908ebd Have get_image_name return an image_name 3b72d6f Fix get_hostvars_from_server for volume API update e351f50 Add test for create_image with glance v1 3e3f525 Explicitly request cloud name in test_caching 10e123f Add test for caching in list_images 9605377 Test flavor cache and add invalidation 2deadb0 Fix major update_user issues 31d07b4 create_user should return the user created 457db08 Test that deleting user invalidates user cache cb66731 Use new getters in update_subnet and update_router c72204f Update volume API for new getters and dict retval f351d4f Search methods for networks, subnets and routers c408583 Update unregister_machine to use tasks a591e3e Invalidate user cache on user create 9dfa4b8 Update register_machine to use tasks 8ebba2a Add test of OperatorCloud auth_type=None 3f6f25c Allow name or ID for update_router() 9ac0ef5 Allow name or ID for update_subnet() fbe5fd0 Add test for user_cache 0fd99ac MonkeyPatch time.sleep in unit tests to avoid wait 94e392c Add patch_machine method and operator unit test substrate 5566571 Wrap ironicclient methods that leak objects 3cfc64c Basic test for meta method obj_list_to_dict fdccd14 Change Ironic node lookups to support names c28877d Add meta method obj_list_to_dict b55de0e Document vendor support information b7f38ff Reset cache default to 0 ebf2dba Add test for invalidation after delete a6cd1a9 Deprecate use of cache in list_volumes 3634823 Invalidate volume list cache when creating 0e3e496 Make cache key generator ignore cache argument 05ba6a5 Add get_subnet() method f2e943e add .venv to gitignore 825e5b5 Move region_names out of auth dict ce65022 Add runabove to vendors 5bc39ae Add image information to vexxhost account d42de63 Add API method update_subnet() 5ec5104 Add API method delete_subnet() c5d350c Add API method create_subnet() 6ec4801 Add vexxhost db39e98 Add DreamCompute to vendors list ffafb52 Allow overriding envvars as the name of the cloud 7e682d3 Put env vars into their own cloud config 2ac9258 Add keystoneclient to test-requirements 52e6766 Actually put some content into our sphinx docs 557f488 Unsteady state in volume list should prevent cache bd78c48 Test volume list caching 0478c32 Allow passing config into shade.openstack_cloud da1e06f Refactor caching to allow per-method invalidate 021c75f Add tests for caching b5bde90 Rename auth_plugin to auth_type 854efa4 Update os-client-config min version ff5444e Fix volume operations 0511982 Fix exception in update_router() 5ca933a Add API auto-generation based on docstrings 8c36014 Fix docs nit - make it clear the arg is a string 7eb7c4c Poll on the actual image showing up b03f1f3 Add delete_image call a0d0d71 Skip passing in timeout to glance if it's not set 4fbc21b Add some unit test for create_server 0a7479d Migrate API calls to task management d9f4965 Fix naming inconsistencies in rebuild_server tests fbac3c0 Add task management framework 1c756b8 Namespace caching per cloud c713eb3 Allow for passing cache class in as a parameter 5ce06cc Add 'rebuild' to shade f5c647e Let router update to specify external gw net ID 3de1b73 Create swift container if it does not exist 1bd2a10 Fix a use of in where it should be equality afd2b10 Disable warnings about old Rackspace certificates 23d38f9 Pass socket timeout to all of the Client objects ff25b8e Add methods for logical router management a517079 Add api-level timeout parameter 79a1c48 Update .gitreview for git section rename 0dc9165 Custom exception needs str representation 924be2b Add basic unit test for shade.openstack_cloud 85cac59 Small fixes found working on ansible modules 792703e Disable dogpile.cache if cache_interval is None 9869fa3 Add support for keystone projects 52a28ba Fix up and document input parameters 74b90e8 Handle image name for boot from volume 7cb9d2b Clean up race condition in functional tests 63e1630 Change dogpile cache defaults 738d215 Add initial compute functional tests to Shade e5d2782 Add cover to .gitignore 99e8540 Add cover to .gitignore d5931d4 Flesh out api version defaults 3b5a20e Handle project_name/tenant_name in the auth dict df91dcf Add two newlines to the ends of files 6fff9fe Rename auth_plugin to auth_type 55d04bf Add ironic node deployment support 4ad95b3 Align cert, key, cacert and verify with requests 5ce3b22 Add methods to create and delete networks 62616f3 Add behavior to enable ironic noauth mode 1ccad8c Add support for configuring dogpile.cache f99dc5f Fix coverage report 15cbdf7 Add more testing of vendor yaml loading e483abc More comprehensive unit tests for os-client-config 9752feb Allow keystone validation bypass for noauth usage 076e9bd Add basic unit test for config 1d0e7fd Reorder envlist to avoid the rm -fr .testrepository when running tox -epy34 acfcf55 Make image processing work for v2 5bffc4e Utilize dogpile.cache for caching 6d31937 Add support for volume attach/detach 93ce50c Do not allow to pass *-cache on init cec22cd Import from v2 instead of v1_1 637b5b2 Add unit test for meta.get_groups_from_server 47435af Add unit tests for meta module 7d39596 Add a method to create image snapshots from nova. 76c77d1 Return extra information for debugging on failures 804b2f3 Don't try to add an IP if there is one 084df16 Revamp README file 3d165ae Add hasExtension method to check cloud capabilities 2bad9da Don't compare images when image is None 23ab18e Add service_catalog property 91bc405 Remove unnecessary container creation 7e4927e Make is_object_stale() a public method 7385528 Prefer dest value when option is depricated 56b7515 Allow region_name to be None 89d1e4d Don't return the auth dict inside the loop 01d7728 Make sure we're deep-copying the auth dict 2067982 Fix broken object hashing 37069cb Adds some more swift operations 0cba0b8 Adds get_network() and list_networks function 1e572aa Add support for creating/deleting volumes eeaf473 Get auth token lazily 106e556 Pass service_name to nova_client constructor fcc1086 Create a neutron client d3daf5b Port to use keystone sessions and auth plugins 8f1ca24 Add consistent methods for returning dicts 4d1fae6 Add get_flavor method bea5220 Make get_image return None 4bb72f8 Use the "iterate timeout" idiom from nodepool 2bbcb63 Remove runtime depend on pbr 569197d Provide Rackspace service_name override 70b58cf Fix obj_to_dict type filtering c22531d Adds a method to get security group ab117cf Pull in improvements from nodepool 5342d25 Remove positional args to create_server 37cf9b8 Don't include deleted images by default 9c9de96 Add image upload support abc21aa Refactor glance version call into method a81d18d Support uploading swift objects 13a455f Debug log any time we re-raise an exception bc56088 Start keeping default versions for all services c75daaa Support keystone auth plugins in a generic way. 621a863 Replace defaults_dict with scanning env vars f0a21c8 Remove py26 support e242087 Explain obj_to_dict 88f5f26 Fix python3 unittests 65fe04d Change meta info to be an Infra project a56767a Fix flake8 errors and turn off hacking 5b3c005 Fix up copyright headers 3235321 Add better caching around volumes cdb3e37 Workflow documentation is now in infra-manual ca54d72 Corrections to readme 98d3de9 Use yaml.safe_load instead of load. 1c025d5 Throw error if a non-existent cloud is requested 4673bea Support boot from volume b348382 Make get_image work on name or id 8f1bb10 Fix a missed argument from a previous refactor 9c540a2 Add some additional server meta munging 0ed767e Map CloudConfig attributes to CloudConfig.config 313fb39 Support injecting mount-point meta info 86f2c2b Move ironic node create/delete logic into shade 54a4606 Refactor ironic commands into OperatorCloud class caa65d7 fix typo in create_server 4b1cdaa Don't die if we didn't grab a floating ip f8a5ff7 Process flavor and image names 77fce7d Stop prefixing values with slugify 0968f76 Don't access object members on a None 1faac01 Make all of the compute logic work ddb1118 Add delete and get server name a046b70 Fixed up a bunch of flake8 warnings 7fabe4b Add in server metadata routines 470f6ea Add support for argparse Namespace objects b03d6e5 Add support for command line argument processing a234518 Plumb through a small name change for args 293745e Consume project_name from os-client-config 91afaeb Handle lack of username for project_name defaults 0aa553c Handle the project/tenant nonesense more cleanly aa79645 add Ironic client b1bb75a Add cache control settings 215425f Handle no vendor clouds config files 67f1fbd Remove unused class method get_services 21e3eca Updates to use keystone session 2c2a295 Add clouds-public.yaml cb9e505 Prep for move to stackforge 7bd5ff6 Handle missing vendor key b8382c3 Make env vars lowest priority 1113d05 Handle null region e3bef24 Discover Trove API version 1277d4c Update the README file for more completeness c938bb9 Offload config to the os-client-config library 69d2a3e Get rid of extra complexity with service values 9bbb4f3 Remove babel and add pyyaml 6efe00d Port in config reading from shade edadf14 Initial Cookiecutter Commit. 64292c8 Add example code to README ccdd146 Add volumes and config file parsing 4fd77e7 Fix log invocations f18e9e8 Remove some extra lines from the README 97c316f Add the initial library code c046b39 Initial cookiecutter repo Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + .mailmap | 5 +- .stestr.conf | 3 + .testr.conf | 8 - .zuul.yaml | 241 + CONTRIBUTING.rst | 47 +- HACKING.rst | 51 +- README.rst | 137 +- SHADE-MERGE-TODO.rst | 140 + bindep.txt | 12 + devstack/plugin.sh | 54 + .../contributor/create/examples/resource/fake.py | 29 + .../create/examples/resource/fake_service.py | 13 + .../contributors/create/examples/resource/fake.py | 29 - .../create/examples/resource/fake_service.py | 13 - .../user/examples/create-server-name-or-id.py | 25 + .../user/examples/service-conditional-overrides.py | 5 + .../users/guides/clustering/profile_type.rst | 44 + .../users/resources/bare_metal/v1/chassis.rst | 12 - .../users/resources/bare_metal/v1/driver.rst | 12 - .../users/resources/bare_metal/v1/port_group.rst | 12 - .../users/resources/baremetal/v1/chassis.rst | 12 + .../users/resources/baremetal/v1/port_group.rst | 12 + .../users/resources/block_storage/v2/snapshot.rst | 21 + .../users/resources/block_storage/v2/type.rst | 13 + .../users/resources/block_storage/v2/volume.rst | 21 + .../users/resources/block_store/v2/snapshot.rst | 21 - .../users/resources/block_store/v2/volume.rst | 21 - .../users/resources/cluster/v1/build_info.rst | 12 - .../users/resources/cluster/v1/cluster_policy.rst | 13 - .../users/resources/cluster/v1/policy_type.rst | 12 - .../users/resources/cluster/v1/profile_type.rst | 12 - .../users/resources/clustering/v1/action.rst | 12 + .../users/resources/clustering/v1/build_info.rst | 12 + .../users/resources/clustering/v1/cluster.rst | 12 + .../resources/clustering/v1/cluster_policy.rst | 13 + .../users/resources/clustering/v1/policy.rst | 12 + .../users/resources/clustering/v1/policy_type.rst | 12 + .../users/resources/clustering/v1/profile.rst | 12 + .../users/resources/clustering/v1/profile_type.rst | 12 + .../users/resources/clustering/v1/receiver.rst | 12 + .../users/resources/telemetry/v2/capability.rst | 12 - .../users/resources/telemetry/v2/resource.rst | 12 - .../users/resources/telemetry/v2/statistics.rst | 12 - examples/cluster/__init__.py | 0 examples/cluster/policy.py | 73 - examples/cluster/policy_type.py | 33 - examples/cluster/profile.py | 82 - examples/cluster/profile_type.py | 33 - examples/clustering/__init__.py | 0 examples/clustering/policy.py | 73 + examples/clustering/policy_type.py | 33 + examples/clustering/profile.py | 82 + examples/clustering/profile_type.py | 33 + examples/connect.py | 30 +- extras/delete-network.sh | 14 + openstack/__init__.py | 136 + openstack/_adapter.py | 155 + openstack/_log.py | 28 + openstack/bare_metal/__init__.py | 0 openstack/bare_metal/bare_metal_service.py | 24 - openstack/bare_metal/v1/__init__.py | 0 openstack/bare_metal/v1/_proxy.py | 619 -- openstack/bare_metal/v1/chassis.py | 63 - openstack/bare_metal/v1/driver.py | 39 - openstack/bare_metal/v1/node.py | 135 - openstack/bare_metal/v1/port.py | 82 - openstack/bare_metal/v1/port_group.py | 78 - openstack/bare_metal/version.py | 31 - openstack/baremetal/__init__.py | 0 openstack/baremetal/baremetal_service.py | 24 + openstack/baremetal/v1/__init__.py | 0 openstack/baremetal/v1/_proxy.py | 619 ++ openstack/baremetal/v1/chassis.py | 63 + openstack/baremetal/v1/driver.py | 39 + openstack/baremetal/v1/node.py | 135 + openstack/baremetal/v1/port.py | 82 + openstack/baremetal/v1/port_group.py | 78 + openstack/baremetal/version.py | 31 + openstack/block_storage/__init__.py | 0 openstack/block_storage/block_storage_service.py | 24 + openstack/block_storage/v2/__init__.py | 0 openstack/block_storage/v2/_proxy.py | 197 + openstack/block_storage/v2/snapshot.py | 65 + openstack/block_storage/v2/stats.py | 34 + openstack/block_storage/v2/type.py | 35 + openstack/block_storage/v2/volume.py | 105 + openstack/block_store/__init__.py | 0 openstack/block_store/block_store_service.py | 25 - openstack/block_store/v2/__init__.py | 0 openstack/block_store/v2/_proxy.py | 189 - openstack/block_store/v2/snapshot.py | 65 - openstack/block_store/v2/type.py | 35 - openstack/block_store/v2/volume.py | 103 - openstack/cloud/__init__.py | 0 openstack/cloud/_heat/__init__.py | 0 openstack/cloud/_heat/environment_format.py | 56 + openstack/cloud/_heat/event_utils.py | 98 + openstack/cloud/_heat/template_format.py | 69 + openstack/cloud/_heat/template_utils.py | 314 + openstack/cloud/_heat/utils.py | 61 + openstack/cloud/_normalize.py | 1108 +++ openstack/cloud/_tasks.py | 110 + openstack/cloud/_utils.py | 665 ++ openstack/cloud/cmd/__init__.py | 0 openstack/cloud/cmd/inventory.py | 70 + openstack/cloud/exc.py | 43 + openstack/cloud/inventory.py | 85 + openstack/cloud/meta.py | 556 ++ openstack/cloud/openstackcloud.py | 8808 ++++++++++++++++++++ openstack/cloud/operatorcloud.py | 2597 ++++++ openstack/cluster/__init__.py | 0 openstack/cluster/cluster_service.py | 27 - openstack/cluster/v1/__init__.py | 0 openstack/cluster/v1/_proxy.py | 1138 --- openstack/cluster/v1/action.py | 73 - openstack/cluster/v1/build_info.py | 29 - openstack/cluster/v1/cluster.py | 183 - openstack/cluster/v1/cluster_attr.py | 33 - openstack/cluster/v1/cluster_policy.py | 44 - openstack/cluster/v1/event.py | 56 - openstack/cluster/v1/node.py | 169 - openstack/cluster/v1/policy.py | 66 - openstack/cluster/v1/policy_type.py | 33 - openstack/cluster/v1/profile.py | 64 - openstack/cluster/v1/profile_type.py | 33 - openstack/cluster/v1/receiver.py | 62 - openstack/cluster/v1/service.py | 39 - openstack/cluster/version.py | 31 - openstack/clustering/__init__.py | 0 openstack/clustering/clustering_service.py | 27 + openstack/clustering/v1/__init__.py | 0 openstack/clustering/v1/_proxy.py | 1153 +++ openstack/clustering/v1/action.py | 73 + openstack/clustering/v1/build_info.py | 29 + openstack/clustering/v1/cluster.py | 191 + openstack/clustering/v1/cluster_attr.py | 33 + openstack/clustering/v1/cluster_policy.py | 44 + openstack/clustering/v1/event.py | 56 + openstack/clustering/v1/node.py | 177 + openstack/clustering/v1/policy.py | 66 + openstack/clustering/v1/policy_type.py | 33 + openstack/clustering/v1/profile.py | 64 + openstack/clustering/v1/profile_type.py | 33 + openstack/clustering/v1/receiver.py | 62 + openstack/clustering/v1/service.py | 39 + openstack/clustering/version.py | 31 + openstack/compute/v2/_proxy.py | 84 +- openstack/compute/v2/keypair.py | 2 +- openstack/compute/v2/limits.py | 6 +- openstack/compute/v2/metadata.py | 2 +- openstack/compute/v2/server.py | 2 +- openstack/compute/v2/server_ip.py | 2 +- openstack/compute/v2/service.py | 2 +- openstack/config/__init__.py | 38 + openstack/config/cloud_config.py | 24 + openstack/config/cloud_region.py | 440 + openstack/config/defaults.json | 27 + openstack/config/defaults.py | 52 + openstack/config/exceptions.py | 25 + openstack/config/loader.py | 1258 +++ openstack/config/schema.json | 121 + openstack/config/vendor-schema.json | 223 + openstack/config/vendors/__init__.py | 37 + openstack/config/vendors/auro.json | 11 + openstack/config/vendors/bluebox.json | 7 + openstack/config/vendors/catalyst.json | 15 + openstack/config/vendors/citycloud.json | 19 + openstack/config/vendors/conoha.json | 14 + openstack/config/vendors/datacentred.json | 11 + openstack/config/vendors/dreamcompute.json | 11 + openstack/config/vendors/dreamhost.json | 13 + openstack/config/vendors/elastx.json | 10 + openstack/config/vendors/entercloudsuite.json | 16 + openstack/config/vendors/fuga.json | 15 + openstack/config/vendors/ibmcloud.json | 13 + openstack/config/vendors/internap.json | 17 + openstack/config/vendors/otc.json | 13 + openstack/config/vendors/ovh.json | 15 + openstack/config/vendors/rackspace.json | 29 + openstack/config/vendors/switchengines.json | 15 + openstack/config/vendors/ultimum.json | 11 + openstack/config/vendors/unitedstack.json | 16 + openstack/config/vendors/vexxhost.json | 15 + openstack/config/vendors/zetta.json | 13 + openstack/connection.py | 437 +- openstack/database/v1/instance.py | 14 +- openstack/exceptions.py | 134 +- openstack/identity/v2/extension.py | 2 +- openstack/identity/v3/_proxy.py | 8 +- openstack/identity/v3/credential.py | 4 + openstack/identity/v3/domain.py | 17 +- openstack/identity/v3/endpoint.py | 4 + openstack/identity/v3/group.py | 4 + openstack/identity/v3/project.py | 20 +- openstack/identity/v3/region.py | 4 + openstack/identity/v3/service.py | 4 + openstack/identity/v3/user.py | 7 + openstack/identity/version.py | 2 +- openstack/image/v2/_proxy.py | 17 +- openstack/image/v2/image.py | 12 +- openstack/key_manager/v1/secret.py | 6 +- openstack/load_balancer/v2/_proxy.py | 12 +- openstack/load_balancer/v2/health_monitor.py | 3 + openstack/load_balancer/v2/l7_rule.py | 11 +- openstack/message/v1/_proxy.py | 6 +- openstack/message/v1/claim.py | 2 +- openstack/message/v1/message.py | 4 +- openstack/message/v1/queue.py | 2 +- openstack/message/v2/_proxy.py | 2 +- openstack/message/v2/claim.py | 8 +- openstack/message/v2/message.py | 10 +- openstack/message/v2/queue.py | 8 +- openstack/message/v2/subscription.py | 8 +- openstack/meter/__init__.py | 0 openstack/meter/alarm/__init__.py | 0 openstack/meter/alarm/alarm_service.py | 24 + openstack/meter/alarm/v2/__init__.py | 0 openstack/meter/alarm/v2/_proxy.py | 129 + openstack/meter/alarm/v2/alarm.py | 91 + openstack/meter/alarm/v2/alarm_change.py | 52 + openstack/meter/meter_service.py | 24 + openstack/meter/v2/__init__.py | 0 openstack/meter/v2/_proxy.py | 167 + openstack/meter/v2/capability.py | 37 + openstack/meter/v2/meter.py | 42 + openstack/meter/v2/resource.py | 44 + openstack/meter/v2/sample.py | 52 + openstack/meter/v2/statistics.py | 62 + openstack/module_loader.py | 29 - openstack/network/v2/_proxy.py | 200 +- openstack/network/v2/agent.py | 8 +- openstack/network/v2/flavor.py | 4 +- openstack/network/v2/floating_ip.py | 9 +- openstack/network/v2/network.py | 2 +- openstack/network/v2/port.py | 2 +- openstack/network/v2/router.py | 18 +- openstack/network/v2/subnet.py | 2 +- openstack/network/v2/subnet_pool.py | 2 +- openstack/network/v2/tag.py | 2 +- openstack/object_store/v1/_base.py | 17 +- openstack/object_store/v1/_proxy.py | 16 +- openstack/object_store/v1/container.py | 6 +- openstack/object_store/v1/obj.py | 11 +- openstack/orchestration/v1/_proxy.py | 6 +- openstack/orchestration/v1/stack.py | 2 +- openstack/orchestration/v1/stack_files.py | 2 +- openstack/orchestration/v1/template.py | 2 +- openstack/profile.py | 35 +- openstack/proxy.py | 52 +- openstack/proxy2.py | 52 +- openstack/resource.py | 66 +- openstack/resource2.py | 228 +- openstack/service_filter.py | 2 - openstack/session.py | 352 - openstack/task_manager.py | 203 + openstack/telemetry/__init__.py | 0 openstack/telemetry/alarm/__init__.py | 0 openstack/telemetry/alarm/alarm_service.py | 24 - openstack/telemetry/alarm/v2/__init__.py | 0 openstack/telemetry/alarm/v2/_proxy.py | 129 - openstack/telemetry/alarm/v2/alarm.py | 91 - openstack/telemetry/alarm/v2/alarm_change.py | 52 - openstack/telemetry/telemetry_service.py | 24 - openstack/telemetry/v2/__init__.py | 0 openstack/telemetry/v2/_proxy.py | 167 - openstack/telemetry/v2/capability.py | 37 - openstack/telemetry/v2/meter.py | 42 - openstack/telemetry/v2/resource.py | 44 - openstack/telemetry/v2/sample.py | 52 - openstack/telemetry/v2/statistics.py | 62 - .../ansible/roles/client_config/tasks/main.yml | 7 + .../ansible/roles/keystone_domain/tasks/main.yml | 19 + .../ansible/roles/keystone_domain/vars/main.yml | 1 + .../ansible/roles/keystone_role/tasks/main.yml | 12 + .../ansible/roles/keystone_role/vars/main.yml | 1 + .../ansible/roles/security_group/tasks/main.yml | 123 + .../ansible/roles/security_group/vars/main.yml | 1 + .../functional/block_storage/v2/test_snapshot.py | 68 + .../functional/block_storage/v2/test_volume.py | 48 + .../functional/block_store/v2/test_snapshot.py | 68 - .../functional/cloud/test_cluster_templates.py | 109 + .../functional/cloud/test_floating_ip_pool.py | 50 + .../cloud/test_qos_bandwidth_limit_rule.py | 106 + .../functional/cloud/test_qos_dscp_marking_rule.py | 75 + .../cloud/test_qos_minimum_bandwidth_rule.py | 75 + .../load_balancer/v2/test_load_balancer.py | 196 +- .../functional/meter/alarm/v2/test_alarm_change.py | 44 + .../functional/network/v2/test_address_scope.py | 30 +- .../network/v2/test_agent_add_remove_network.py | 30 +- .../network/v2/test_agent_add_remove_router.py | 21 +- .../network/v2/test_auto_allocated_topology.py | 19 +- .../functional/network/v2/test_floating_ip.py | 135 +- .../network/v2/test_network_ip_availability.py | 58 +- .../network/v2/test_qos_bandwidth_limit_rule.py | 52 +- .../network/v2/test_qos_dscp_marking_rule.py | 44 +- .../network/v2/test_qos_minimum_bandwidth_rule.py | 46 +- .../functional/network/v2/test_rbac_policy.py | 44 +- .../network/v2/test_router_add_remove_interface.py | 67 +- .../functional/network/v2/test_security_group.py | 26 +- .../network/v2/test_security_group_rule.py | 42 +- .../functional/network/v2/test_service_profile.py | 30 +- .../functional/network/v2/test_subnet_pool.py | 38 +- .../functional/object_store/v1/test_account.py | 17 +- .../functional/object_store/v1/test_container.py | 26 +- .../functional/orchestration/v1/test_stack.py | 57 +- .../functional/telemetry/alarm/v2/__init__.py | 0 .../functional/telemetry/alarm/v2/test_alarm.py | 58 - .../telemetry/alarm/v2/test_alarm_change.py | 50 - .../functional/telemetry/v2/test_capability.py | 27 - .../functional/telemetry/v2/test_statistics.py | 26 - .../unit/bare_metal/test_bare_metal_service.py | 28 - .../block_storage/test_block_storage_service.py | 28 + .../unit/block_store/test_block_store_service.py | 28 - .../unit/cloud/test_create_volume_snapshot.py | 127 + .../unit/cloud/test_delete_volume_snapshot.py | 101 + .../unit/cloud/test_qos_bandwidth_limit_rule.py | 397 + .../unit/cloud/test_qos_minimum_bandwidth_rule.py | 294 + .../unit/cloud/test_server_delete_metadata.py | 75 + .../unit/load_balancer/test_health_monitor.py | 2 + .../unit/orchestration/v1/test_stack_files.py | 4 +- .../unit/telemetry/alarm/test_alarm_service.py | 28 - .../unit/telemetry/alarm/v2/test_alarm_change.py | 74 - openstack/utils.py | 56 + openstack/workflow/v2/execution.py | 3 +- openstack/workflow/v2/workflow.py | 3 +- playbooks/devstack/legacy-git.yaml | 11 + playbooks/devstack/post.yaml | 4 + playbooks/devstack/pre.yaml | 8 + playbooks/devstack/run.yaml | 3 + .../add-current-user-id-49b6463e6bcc3b31.yaml | 4 + .../add-jmespath-support-f47b7a503dbbfda1.yaml | 4 + .../add-list_flavor_access-e038253e953e6586.yaml | 4 + .../notes/add-server-console-078ed2696e5b04d9.yaml | 6 + .../add-show-all-images-flag-352748b6c3d99f3f.yaml | 9 + ...d_description_create_user-0ddc9a0ef4da840d.yaml | 3 + ...ignate_recordsets_support-69af0a6b317073e7.yaml | 4 + ...d_designate_zones_support-35fa9b8b09995b43.yaml | 4 + .../add_heat_tag_support-135aa43ba1dce3bb.yaml | 7 + ...dd_host_aggregate_support-471623faf45ec3c3.yaml | 4 + ...d_magnum_baymodel_support-e35e5aab0b14ff75.yaml | 7 + ...d_magnum_services_support-3d95f9dcc60b5573.yaml | 3 + .../add_server_group_support-dfa472e3dae7d34d.yaml | 3 + .../notes/add_update_server-8761059d6de7e68b.yaml | 3 + .../notes/add_update_service-28e590a7a7524053.yaml | 6 + .../alternate-auth-context-3939f1492a0e1355.yaml | 5 + ...-detail-cluster-templates-3eb4b5744ba327ac.yaml | 5 + .../boot-on-server-group-a80e51850db24b3d.yaml | 4 + .../notes/bug-2001080-de52ead3c5466792.yaml | 10 + .../cache-in-use-volumes-c7fa8bb378106fe3.yaml | 4 + .../catch-up-release-notes-e385fad34e9f3d6e.yaml | 22 + ...e-attach-vol-return-value-4834a1f78392abb1.yaml | 8 + ...er_volume_backups_support-6f7ceab440853833.yaml | 4 + .../notes/cinderv2-norm-fix-037189c60b43089f.yaml | 3 + .../notes/cleanup-objects-f99aeecf22ac13dd.yaml | 6 + .../cloud-profile-status-e0d29b5e2f10e95c.yaml | 6 + .../notes/compute-quotas-b07a0f24dfac8444.yaml | 3 + .../compute-usage-defaults-5f5b2936f17ff400.yaml | 9 + .../config-flavor-specs-ca712e17971482b6.yaml | 4 + .../notes/create-stack-fix-12dbb59a48ac7442.yaml | 4 + ...create_server_network_fix-c4a56b31d2850a4b.yaml | 6 + .../create_service_norm-319a97433d68fa6a.yaml | 3 + .../notes/data-model-cf50d86982646370.yaml | 8 + .../notes/default-cloud-7ee0bcb9e5dd24b9.yaml | 7 + .../notes/delete-autocreated-1839187b0aa35022.yaml | 5 + .../delete-image-objects-9d4b4e0fff36a23f.yaml | 18 + .../notes/delete-obj-return-a3ecf0415b7a2989.yaml | 5 + .../notes/delete_project-399f9b3107014dde.yaml | 5 + ...ain_operations_name_or_id-baba4cac5b67234d.yaml | 4 + .../dual-stack-networks-8a81941c97d28deb.yaml | 8 + .../endpoint-from-catalog-bad36cb0409a4e6a.yaml | 4 + ...false-not-attribute-error-49484d0fdc61f75d.yaml | 6 + .../feature-server-metadata-50caf18cec532160.yaml | 3 + .../notes/fip_timeout-035c4bb3ff92fa1f.yaml | 4 + ...pat-with-old-keystoneauth-66e11ee9d008b962.yaml | 7 + .../notes/fix-config-drive-a148b7589f7e1022.yaml | 6 + .../notes/fix-delete-ips-1d4eebf7bc4d4733.yaml | 6 + .../notes/fix-list-networks-a592725df64c306e.yaml | 3 + .../fix-missing-futures-a0617a1c1ce6e659.yaml | 5 + ...x-properties-key-conflict-2161ca1faaad6731.yaml | 4 + .../fix-supplemental-fips-c9cd58aac12eb30e.yaml | 7 + .../notes/fix-update-domain-af47b066ac52eb7f.yaml | 3 + .../notes/fixed-magnum-type-7406f0a60525f858.yaml | 6 + .../notes/flavor_fix-a53c6b326dc34a2c.yaml | 7 + .../notes/fnmatch-name-or-id-f658fe26f84086c8.yaml | 5 + .../notes/get-limits-c383c512f8e01873.yaml | 3 + releasenotes/notes/get-usage-72d249ff790d1b8f.yaml | 3 + .../notes/get_object_api-968483adb016bce1.yaml | 3 + .../glance-image-pagination-0b4dfef22b25852b.yaml | 4 + .../grant-revoke-assignments-231d3f9596a1ae75.yaml | 3 + .../image-flavor-by-name-54865b00ebbf1004.yaml | 9 + .../notes/image-from-volume-9acf7379f5995b5b.yaml | 3 + .../infer-secgroup-source-58d840aaf1a1f485.yaml | 9 + .../ironic-microversion-ba5b0f36f11196a6.yaml | 4 + .../notes/less-file-hashing-d2497337da5acbef.yaml | 5 + .../notes/list-az-names-a38c277d1192471b.yaml | 3 + ...e-assignments-keystone-v2-b127b12b4860f50c.yaml | 3 + ...list-servers-all-projects-349e6dc665ba2e8d.yaml | 6 + releasenotes/notes/load-yaml-3177efca78e5c67a.yaml | 7 + .../notes/log-request-ids-37507cb6eed9a7da.yaml | 5 + .../notes/magic-fixes-dca4ae4dac2441a8.yaml | 6 + .../notes/make-rest-client-dd3d365632a26fa0.yaml | 4 + ...-client-version-discovery-84125700f159491a.yaml | 6 + ...ject_metadata_easier.yaml-e9751723e002e06f.yaml | 5 + ...ge-shade-os-client-config-29878734ad643e33.yaml | 4 + .../notes/meta-passthrough-d695bff4f9366b65.yaml | 7 + .../min-max-legacy-version-301242466ddefa93.yaml | 15 + .../notes/multiple-updates-b48cc2f6db2e526d.yaml | 14 + .../notes/nat-source-field-7c7db2a724616d59.yaml | 6 + .../notes/net_provider-dd64b697476b7094.yaml | 3 + .../notes/network-list-e6e9dafdd8446263.yaml | 10 + .../notes/network-quotas-b98cce9ffeffdbf4.yaml | 3 + .../new-floating-attributes-213cdf5681d337e1.yaml | 4 + .../no-more-troveclient-0a4739c21432ac63.yaml | 6 + .../norm_role_assignments-a13f41768e62d40c.yaml | 4 + .../notes/normalize-images-1331bea7bfffa36a.yaml | 6 + .../nova-flavor-to-rest-0a5757e35714a690.yaml | 5 + .../nova-old-microversion-5e4b8e239ba44096.yaml | 5 + .../notes/option-precedence-1fecab21fdfb2c33.yaml | 7 + .../remove-magnumclient-875b3e513f98f57c.yaml | 4 + .../notes/remove-novaclient-3f8d4db20d5f9582.yaml | 5 + .../removed-glanceclient-105c7fba9481b9be.yaml | 9 + .../notes/removed-profile-437f3038025b0fb3.yaml | 8 + .../removed-swiftclient-aff22bfaeee5f59f.yaml | 5 + .../notes/renamed-bare-metal-b1cdbc52af14e042.yaml | 4 + .../renamed-block-store-bc5e0a7315bfeb67.yaml | 4 + .../notes/renamed-cluster-743da6d321fffcba.yaml | 4 + .../notes/renamed-telemetry-c08ae3e72afca24f.yaml | 4 + .../notes/router_ext_gw-b86582317bca8b39.yaml | 4 + .../notes/sdk-helper-41f8d815cfbcfb00.yaml | 4 + .../server-create-error-id-66c698c7e633fb8b.yaml | 4 + .../server-security-groups-840ab28c04f359de.yaml | 4 + .../service_enabled_flag-c917b305d3f2e8fd.yaml | 5 + .../notes/session-client-b581a6e5d18c8f04.yaml | 6 + .../set-bootable-volume-454a7a41e7e77d08.yaml | 4 + .../notes/shade-helper-568f8cb372eef6d9.yaml | 4 + .../notes/stack-update-5886e91fd6e423bf.yaml | 4 + .../notes/started-using-reno-242e2b0cd27f9480.yaml | 3 + .../notes/stream-to-file-91f48d6dcea399c6.yaml | 3 + .../notes/strict-mode-d493abc0c3e87945.yaml | 6 + .../notes/swift-upload-lock-d18f3d42b3a0719a.yaml | 5 + .../notes/update_endpoint-f87c1f42d0c0d1ef.yaml | 8 + .../notes/use-interface-ip-c5cb3e7c91150096.yaml | 13 + .../notes/vendor-updates-f11184ba56bb27cf.yaml | 4 + .../notes/version-discovery-a501c4e9e9869f77.yaml | 13 + .../notes/volume-quotas-5b674ee8c1f71eb6.yaml | 3 + .../notes/volume-types-a07a14ae668e7dd2.yaml | 4 + .../wait-on-image-snapshot-27cd2eacab2fabd8.yaml | 7 + .../notes/wait_for_server-8dc8446b7c673d36.yaml | 3 + ...orkaround-transitive-deps-1e7a214f3256b77e.yaml | 9 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/_templates/.placeholder | 0 releasenotes/source/conf.py | 280 + releasenotes/source/index.rst | 10 + releasenotes/source/mainline.rst | 5 + releasenotes/source/mitaka.rst | 6 + releasenotes/source/newton.rst | 6 + releasenotes/source/ocata.rst | 6 + releasenotes/source/pike.rst | 6 + releasenotes/source/unreleased.rst | 11 + requirements.txt | 22 +- setup.cfg | 6 +- test-requirements.txt | 12 +- tools/keystone_version.py | 89 + tools/nova_version.py | 56 + tox.ini | 91 +- 900 files changed, 66812 insertions(+), 12054 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index b4d574e..f131da0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,5 +5,7 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 -jsonpatch>=1.16 # BSD -six>=1.9.0 # MIT -stevedore>=1.20.0 # Apache-2.0 -os-client-config>=1.28.0 # Apache-2.0 -keystoneauth1>=3.2.0 # Apache-2.0 +PyYAML>=3.10 # MIT +appdirs>=1.3.0 # MIT License +requestsexceptions>=1.2.0 # Apache-2.0 +jsonpatch!=1.20,>=1.16 # BSD +six>=1.10.0 # MIT +os-service-types>=1.1.0 # Apache-2.0 +keystoneauth1>=3.3.0 # Apache-2.0 @@ -10,0 +13,10 @@ deprecation>=1.0 # Apache-2.0 + +munch>=2.1.0 # MIT +decorator>=3.4.0 # BSD +jmespath>=0.9.0 # MIT +ipaddress>=1.0.16;python_version<'3.3' # PSF +futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD +iso8601>=0.1.11 # MIT +netifaces>=0.10.4 # MIT + +dogpile.cache>=0.6.2 # BSD diff --git a/test-requirements.txt b/test-requirements.txt index 40cb356..4584371 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +5,0 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 -beautifulsoup4>=4.6.0 # MIT @@ -8,0 +8 @@ doc8>=0.6.0 # Apache-2.0 +extras>=1.0.0 # MIT @@ -9,0 +10 @@ fixtures>=3.0.0 # Apache-2.0/BSD +jsonschema<3.0.0,>=2.6.0 # MIT @@ -11,3 +12,2 @@ mock>=2.0.0 # BSD -openstackdocstheme>=1.17.0 # Apache-2.0 -os-testr>=1.0.0 # Apache-2.0 -requests>=2.14.2 # Apache-2.0 +python-subunit>=1.0.0 # Apache-2.0/BSD +oslotest>=1.10.0 # Apache-2.0 @@ -15 +15 @@ requests-mock>=1.1.0 # Apache-2.0 -sphinx>=1.6.2 # BSD +stestr>=1.0.0 # Apache-2.0 @@ -18 +18 @@ testscenarios>=0.4 # Apache-2.0/BSD -testtools>=1.4.0 # MIT +testtools>=2.2.0 # MIT
participants (1)
-
no-reply@openstack.org