[Bug 1280522] Re: Replace assertEqual(None, *) with assertIsNone in tests
OpenStack Infra
1280522 at bugs.launchpad.net
Wed Nov 15 18:29:49 UTC 2017
Reviewed: https://review.openstack.org/518128
Committed: https://git.openstack.org/cgit/openstack/python-openstacksdk/commit/?id=535f2f48ff7003d1ec6eee014710dae9a332d9e0
Submitter: Zuul
Branch: master
commit a4ee1a3f098e97f0e6bdc0f3d20c3021d06cb343
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 4 13:06:22 2017 -0500
Merge tox, tests and other support files
Change-Id: I5a4759e36089f1f4fab0c75412c94d051d8b16a7
commit 65293358a0d3cd7055987b18e16b9be5e8a0261b
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 4 12:39:43 2017 -0500
Move shade and os-client-config python content
Make shade be openstack.cloud and os-client-config be openstack.config.
Change-Id: I1d28be82a72cc1a30d6be306257fc1f0736ed604
commit a3cd1f0faff25b6b43a80e8357b134ccd7437f99
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Sep 20 10:29:27 2017 -0500
Merge shade and occ releasenotes
Change-Id: I4d25c654ee3c298de03907b14161096a59d098db
commit 94ace709e2bf860567a0920c3f836263432862ea
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Sat Sep 16 23:21:20 2017 +0000
Updated from global requirements
Change-Id: I1bbda934cc65d508f1cece8c5adc714e9f464707
commit eafc8bed564d41f2a0c6a050e7a301241309fa59
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Sep 16 13:13:25 2017 -0500
Fix requires_floating_ip
This isn't a required piece of the config, so it might be unset. Use get
instead of [].
Change-Id: I1bbbcb4ac63a4f6d4399c0fa8881c21264a03e4b
commit 2c24e204a6d75313447298bdcd7c458fa5107ba6
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 15 10:55:43 2017 -0600
Record server.id in server creation exception
If an error happens in the initial creation, no id is returned
to the server can't be cleaned up.
Change-Id: Ieb818dcf9ded062f016a3f96342f320dc203edd0
commit 2c23196f23be244cd747c1e26c5a55c203f3e7be
Author: Paul Belanger <pabelanger at redhat.com>
Date: Fri Sep 15 12:52:57 2017 -0400
Stop using openstack-doc-build
We are in the process of moving openstack-doc-build to project-config,
stop running for now.
Change-Id: I409929a61044b397eedebe730b43b7897816141f
Signed-off-by: Paul Belanger <pabelanger at redhat.com>
commit 6f72637fb6356d39adee82a2718118156ae4a6bf
Author: Dean Troyer <dtroyer at gmail.com>
Date: Thu Sep 14 16:57:42 2017 -0500
Updates for stestr
Change-Id: I344cd6ce38d8db8fe24e1611c9c61e1ffa1b586d
commit 482b313b10149bfcb67f5c059da17f08426f7a7a
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Thu Sep 14 12:02:02 2017 -0600
Add support for network quota details command
Neutron recently introduced API call to get details
about current usage of quota by given project.
This patch adds support for this command in Shade.
Related-Bug: #1716043
Change-Id: I74682c6b2a287f54acef91686e7281f45cbe9684
commit f29d04dcf903fc6ac10f276badaff3edf3f09b7a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Sep 9 11:01:53 2017 -0500
Add pypi and doc publication templates
Change-Id: Iaa2b3742d04135a6da35f42f4a787937b9bc81eb
Depends-On: I01ea35061ba92c2e466c6269c61e640461d6da99
Depends-On: I4f1aea66fcbb623f554ded4d7ce63ff4c1168e45
commit 3fb4fec1d6ab2c72f72997533792fbe5d05936de
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Wed Sep 13 13:00:03 2017 +0000
Updated from global requirements
Change-Id: I6ecb4e80d2944bf592a2cbd41695643bc49f832d
commit 35ae661b2c6b8890d6535bd485129238e6730e4c
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Wed Sep 13 12:48:14 2017 +0000
Updated from global requirements
Change-Id: I17ac8b33f1db658ea5571ac5e954c68bf3fa3ca7
commit f545e8ebeafbfa56a1c337ab1c369e6f0be2adf0
Author: Sam Yaple <sam at yaple.net>
Date: Tue Sep 12 17:33:36 2017 -0400
Fix search_groups
Change-Id: Ibb79be4ea42994b481ff484d5ae2b0aa0a97f4db
Related-Id: I5be672c3eae5e013525cc7c0a4d73f9166f379ba
commit e1cafe3aa22809b34515340b05452ba8457dbd96
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 12 13:12:43 2017 -0600
Remove EndpointCreate and _project_manager
They're not used anymore.
Change-Id: I9858bbd4d753d16c113e7df70a5f316ccbce6493
commit ec797b62cc7404db3a70d466e2d80cc00b673b39
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 4 09:01:42 2017 -0500
Remove use of legacy keystone client in functional tests
We use it here to verify the new user account information works. We can
do the same thing by just grabbing a catalog.
Change-Id: I55c981a29f4386a53472a88c1618b390f4b64a08
commit 25ef7bf24446905e3a33083202acaeec58cb04dd
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Mon Sep 11 21:34:25 2017 +0000
Updated from global requirements
Change-Id: I3833b1f450b969e54a9869af9effe2c82a4b4a83
commit 97b98c97e779a29587e2155bbd6b1b7f7056e746
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Sep 11 14:37:32 2017 -0300
Remove keystoneclient dependency
Since all the keystone client calls have been moved to direct REST calls
to keystone server, the dependency can be removed.
If someone is getting a legacy keystone client from shade directly, they
will be warned to 'pip install keystoneclient' themselves.
Change-Id: I653dead3992be09c003aab911dda7cbf892cc9c1
commit d0ca641f8e42893cffcb98bb960cf4d98941f0a4
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Sun Sep 10 10:45:44 2017 -0300
De-client-ify Endpoint Create
Change-Id: I916dea906886955e8c7d074d5d1d69f29ff5bdf3
commit 941e179e535a2a4ba0df8387abe2d4391644b36c
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Sun Sep 10 10:45:44 2017 -0300
Refactor the create endpoint code
The code is rather complex, this patches improves its readability
Change-Id: I0b79217b89fdd636cbf8da241cd7e1af24f07371
commit f3e62250438c347424969fafe3b90a04ecf62890
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Sun Sep 10 10:17:55 2017 -0300
Reorganize endpoint create code
Group the code for v2.0 in a single if statement. Idem for v3
Change-Id: I12f9a571b33b38e9e0e75fe11c877cca4905e78c
commit 605301f99af38d388af3b0500e734c8afc2528a8
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 8 18:45:22 2017 -0500
Switch to constraints version of tox job
Change-Id: I4c874df5b0c7f6d28b4dea6b25b32aba95cf6db9
commit 8daf38fb6ace805383fae63ac60b500756decd0a
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 7 07:46:06 2017 -0500
Convert test_baremetal_machine_patch to testscenarios
We have a helper library that handles this sort of thing.
Change-Id: I58f50663ab9c026918088845cceecf78ff15d8c8
commit 960a27447c3c18ba9a68dfe91e01cc629cd3b16f
Author: Paul Belanger <pabelanger at redhat.com>
Date: Fri Sep 1 17:43:47 2017 -0400
Add openstack-doc-build to shade
Validate shade is able to build docs using openstack-doc-build with
constraints.
Change-Id: If419a417d717fe4d5a6da452adf65f63bb8d93e6
Depends-On: Ib998f83135a4fcb796a205e52c435ab29b7cab7b
Signed-off-by: Paul Belanger <pabelanger at redhat.com>
commit ff709954362cf37c21bbe5ede8c4d4ed81d64f48
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Sep 2 15:24:58 2017 -0500
Switch to normal tox-py35 job
Change-Id: Id307bd15b0c1b43ce7fba15ac5230c7d26b2a5bc
commit 73ef1f549c922759ba6c74f2bb6c0f1a4c72e6c2
Author: Matthew Treinish <mtreinish at kortar.org>
Date: Fri Aug 4 15:21:38 2017 -0400
Switch to using stestr
stestr is a fork of testrepository, designed specifically to concentrate
on being a dedicated test runner. [1] The testrepository project is
basically not active anymore and has several long standing bugs and
useablility issues. stestr is still actively maintained and fixes a
large number of those issues with testrepository.
[1] https://github.com/mtreinish/stestr
Change-Id: I9b8049fd2c78d8f90aed5a8b35c0a9b40ad8c463
commit b817f47782b05416c7b14ae67d0786b1e380d134
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Fri Sep 8 18:53:52 2017 +0000
Migrate machine tests related to state transitions
Migrating the machine tests where state transitions
occur, such as turning power on/off, maintenance mode,
hardware inspection, and general provision state changes
such as activating a node and deactivating a node.
Change-Id: I88663fecb79247d5473c47847f9c7405f447a80d
commit c821c977b937285d16adff7ba7ee154931852fdb
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Fri Sep 8 04:05:56 2017 +0000
Migrate machine inspection tests to requests_mock
Change-Id: I53bfeff53d569a8075b40e4fb1087357f7eb4da0
commit e8d37f8281192838fe5ca1b1dc86b4a69b44f061
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Thu Sep 7 06:10:27 2017 +0000
Migrate additional machine tests
Migrated a number of simpler machine tests to using rest calls,
while removing the mocked client versions of the tests.
Added additional patch_machine tests, which raised the fact that
patch method was not normalizing the data being returned.
Added normalization since those fields are not normally returned
by get_machine.
Change-Id: I1c5f4ebd06fff40da45dbcc0d6ea0f7b108ce8fa
commit 8cc1483cc153254b54d96dd615dd174e4dc3c6c5
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Sep 6 13:55:26 2017 -0300
De-client-ify Endpoint Update
Change-Id: I823414cbee3b8f38fcbddd16271ff61005eaf35d
commit 8afeaf60b164120c240b54fbbb36ccf5b73ca299
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Sep 6 10:53:43 2017 -0300
De-client-ify List Role Assignments
Change-Id: Ief3fd56ccab977399c71cd603e42b52296e2a002
commit 179430c9868321bbc91f12376f44c4e1433fa7fb
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Sep 6 07:14:38 2017 -0300
De-client-ify Endpoint List
Change-Id: If711f71ec05a03e5613cf25849c7b6a68f23eb55
commit eb28fa57510267b63d9a8647bb12e31d94539430
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Sep 6 06:46:52 2017 -0300
De-client-ify List Roles for User in v2.0
Change-Id: Ic652a38ba86594540ac4a4f5d944a8cd627d60f5
commit 8d310b7818798d828d0fac8c90553bccb26228d9
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Sep 5 20:59:55 2017 -0300
De-client-ify Role Grant and Revoke
Change-Id: Ie0a9748132ef7f417aabf976be21ec2d32085c8b
commit a4f94bf4def73704ff4947f9874845bca314239d
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Sep 5 14:51:32 2017 -0300
De-client-ify Endpoint Delete
Change-Id: Ieea67d733a20af6ecb7fde88d6af85f8b0cf2c18
commit 76caad4d420abe16895b54d40fa89462397f8240
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Sep 5 14:14:09 2017 -0300
De-client-ify User Password Update
Change-Id: Idfafc845e44c5a2eb9c6f334a1a4d7eb83c7ce2c
commit 4de4fb4a5aeb25e05f85d4696d60cd2794084348
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 5 09:46:41 2017 -0500
Begin converting baremetal node tests
Shamelessly based upon pre-existing requests mock code in
shade, with the attempt to replace the existing baremetal
client mock testing.
This updates the way we're creating the ironic_client so that it
always does discovery, which _baremetal_client will always have
to do because of how the versioned discovery document is in ironic.
It also puts in a workaround for a bug that was found in keystoneauth's
new version discovery that we should eventually take out.
Change-Id: I0e811d69c3cba50f164cb2a3a1302b88fba51308
commit e76896046dcafe3832beb19927621225e9bdecb9
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Sep 4 11:01:27 2017 -0300
Remove improper exc handling in is_user_in_group
Since we are already catching the expected exceptions for that operation
there is no need to catch Exception in that method. Also, the message
was saying "error in adding user to group", but that method is just
checking ...
Change-Id: I3b6fb28773a6c52b223bca4964dba4ccc27f9787
commit e42192e8393f01e825a8b8f5628f7813ae49c4bb
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Aug 30 18:50:42 2017 -0300
De-client-ify Remove User from Group
Change-Id: Ica1cc5e472cfc14f9afeb05db5fa82cfd8ece500
commit be9d046925ecc204bef5a69212b123ce9c3a1039
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Tue Sep 5 00:22:10 2017 +0000
Correct baremetal fake data model
In preparation for rewriting tests to use mock_requests,
we should need to correct the object naming to match
what is defined by the baremetal API.
Change-Id: I55c4c895e9fd1f09992bcc9059b7ca132af977cf
commit 30e0fbcfd77286fa25b50061637976cd94c2710f
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Aug 30 18:46:01 2017 -0300
De-client-ify Check User in Group
Change-Id: Ia4ff42cf25b3ccad54b4870cde5a5a7e7c6acad6
commit b82a659f7958d39de62e34558987086e6f02bebf
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Aug 30 18:29:15 2017 -0300
De-client-ify Add User to Group
Change-Id: If80267260c6db0440b36ac2e8ce74691eb1948da
commit 149a9fbc7841d70b9f9db1ab109eb3060a12bfff
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Thu Aug 17 12:58:03 2017 +0000
Use direct calls to get_<resource>_by_id
This commit adds a `use_direct_get` flag to the OpenStackCloud
object. The goal is to enable direct calls to the
get_<resource>_by_id methods when a UUID is passed and default
to the `list` and `search` calls otherwise.
Change-Id: I6aebfe7cb40adace0568d8f131e64d6555736712
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit ca0103a0a2e4f2772895f904b52e02cd6cd2ccc4
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Aug 30 16:56:06 2017 -0300
De-client-ify User Update
Change-Id: I2f0917eed4464944b4552972baca838be8e6866e
commit 8b47d15fd5a3f67072e82ca8fc4928f57d9c96c8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 14 10:05:19 2017 -0500
Use new keystoneauth version discovery
We can remove a ton of our logic. We still need SOME because we have a
different fallback strategy that isn't appropriate for keystoneauth
generally.
There are a couple of tests removed, since they were testing shade code
that was removed. Also it's worth noting that there are tests in
test_domain_params and test_image that are mocking the client rather
than mocking the requests and we should fix those.
Co-authored-by: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Change-Id: I78019717cdee79cab43b0d11e737327aa281fd03
commit 469cc5ae49ef4cfcaee302b95ce81dccf9faa945
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 1 08:13:22 2017 -0500
Fix typo in tox.ini
Change-Id: I320460d9226f3f4dba782047f83466c0dbbd7e56
commit 371c3ebc0ee28c5e6c0d942c6efc8b16553b80db
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Fri Sep 1 12:44:43 2017 +0000
Updated from global requirements
Change-Id: I7b1217cd50a3e3c89edcb5bda1d22cded90e9b4b
commit 8dc051ce3f0a885f2bfab748ba412e5b0239cc5d
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Fri Sep 1 12:34:00 2017 +0000
Updated from global requirements
Change-Id: I2b75a24df0ad5779ac9b2f0a87453ffcc49b3dbe
commit 78a1aa3b931b2ad7fd2820292ba4060eb6feb043
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 31 08:38:33 2017 -0500
Add tox_install.sh to deal with upper-constraints
shade is in global requirements and upper-constraints now, which means
we need to use the tox_install.sh script so that constraints don't break
install of shade itself.
Change-Id: Id286b634046519e34ac2c01461391d5bc61cd919
commit 8887b483e193cebc5b4a8df12b3325ec4e8938c5
Author: Sam Yaple <sam at yaple.net>
Date: Thu Aug 24 12:34:49 2017 -0400
Support domain_id for user operations
When using ldap you cannot list all users across all domains. You must
explicitly declare the domain you want to list.
Change-Id: I83d8e313a86a527ea4ccf83cb8c329a7123c2943
commit 4695f5c1b6960c475632e80eccce63bb4d8c39f9
Author: Sam Yaple <sam at yaple.net>
Date: Thu Aug 24 14:04:03 2017 -0400
Add domain_id to groups
When groups are hosted in ldap you must query the domain explictly to
list the groups
Change-Id: I5be672c3eae5e013525cc7c0a4d73f9166f379ba
commit 589b765574d457d2ed9f87b4fd41cf38b4634d1e
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue Aug 29 21:58:40 2017 +0200
Add handling timeout in servers cleanup function
In functional tests in method which cleans server and
volumes attached to it, there was sometimes reached timeout,
probably because one of resources stuck in "deletion" state
for longer than 180 seconds.
This patch adds handling such timeout and in such case,
try to call delete of server and each volume but without
waiting for deletion to be completed and with "force" option
in case of volumes.
Change-Id: I7a8caf2e89348ae0931a7e7e30ce2a83c4d12e5a
commit 1935528ed750b6f3d3d0be6c95a61d511d63076c
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue Aug 29 21:34:45 2017 +0200
Fix handling timeouts in volume functional tests cleanup
This patch adds handle for fixture.TimeoutException in same way
as it was done for OpenStackCloudTimeout.
It also changes cleanup function that it will not wait for
delete of volumes if volume was stuck in "deletion" state.
Delete volume with "force=True" will now be call with
"wait=False"
Change-Id: Ie6a8c7aecaf36b07247b61296d68afd923280440
commit 68f0947ba09baeb545474f0bbb808262613439d6
Author: Sam Yaple <sam at yaple.net>
Date: Fri Aug 25 21:17:51 2017 -0400
Fix switched params
Fixes a reversal of params in get_domain()
Change-Id: I3f6e763a2378f52954c9d835a233867fb46f3e56
commit 7fb83a668d73b53e84d8994a802b1e6b14ecde32
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Thu Aug 24 06:33:45 2017 -0300
Switch to _is_client_version in list_services
Change-Id: Ie7e77c4a766d01557222decdab48fb206086e57f
commit 522f51cdf60ed214f07430d0fe01e1638654322c
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jul 10 12:53:35 2017 -0400
De-client-ify Service Delete
Change-Id: I9a034bf240450574dfcc6ab8074db708002d0659
commit 4cd71a139db8745d63b12389ed2029e1e762072c
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jul 10 12:12:06 2017 -0400
De-client-ify Service Update
Change-Id: I161b680c6f165d298538ec4e13264deeb92a8453
commit b05aede84bbcb3707be1c4da0c596844ae1f2a60
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Wed Aug 23 21:34:04 2017 +0000
Fix cleaning of Cinder volumes in functional tests
There is some issue, probably with Cinder which cause sometimes
problem with removing of volumes. Such volumes stuck in "deleting"
state in Cinder.
This patch changes cleanup method from functional Cinder test that
it will not raise exception (and make test fails) if volumes will
not be cleaned properly.
In such case cleaning will try to delete volume once again with
"force=True" and will move forward if it also fails.
This change shouldn't cause any new problem with reached volumes quota
limits becasue before this patch such volumes were also not removed
properly.
Change-Id: I984f863b55b46fe6eba4a7ec31434ee4d2baa16f
commit bda65e7265247b2d20d8d18d0cbf344bee119425
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jul 10 12:19:42 2017 -0400
De-client-ify Service List
Change-Id: I22149f4dd2d63b0f3b809015f4e9633f20a0a1d0
commit 3cfaa4c63b0ff54f45da59ee48fcb9e5ea57dde5
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Thu Aug 17 21:07:54 2017 +0000
Add option to force delete cinder volume
Cinder's API gives possibility to force delete volume
which is in state 'deleting' or 'error deleting'.
This patch adds support for such force delete of volume
to shade.
Change-Id: Iffede494e5af250a6bfea98e1fbfd8014eff0b02
commit 20cc034f65a7591c85bfd3c31204c4004375800c
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Fri Aug 18 13:29:21 2017 +0000
Updated from global requirements
Change-Id: I00bdd8c84248ed6f8df6c2b5e593dfe21acc07ec
commit b5af1ae9367db42a50fa926f0f0bcd3f2ea56e9a
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Fri Aug 18 11:39:22 2017 +0000
Updated from global requirements
Change-Id: I805c30c0a522c03721a97118594030b9c8dfcd51
commit 89e07d905a94525a0813e6e467da9f5cd94a1c8d
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Wed Aug 16 20:36:01 2017 +0000
Fix determining if IPv6 is supported when it's disabled
On systems where IPv6 is completly disabled there can be
AttributeError when shade tries to determine if IPv6 is
supported or not on local system.
Now it's fixed by returning False always when AF_INET6
isn't available in netifaces.
Change-Id: I45138bd42cb63ff59b6aed85f33da11aab43aaba
Related-Bug: #2001001
commit e72a6cf6da2456c888d925b849ea544bba92f357
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Wed Aug 16 20:31:27 2017 +0000
Don't determine local IPv6 support if force_ip4=True
In case when user set in config to force usage of IPv4 shade
will not try to check if IPv6 is locally supported or not.
Change-Id: Id12df5de0de58bbe427301c8a32d4c622dfbcc99
Related-Bug: #2001001
commit 7466aaedfa202dc416fbb02b2a672fb8d94c4f92
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Aug 14 13:26:46 2017 -0400
Consolidate client version checks in an utility method
Change-Id: I8da6f940a5983ce38a4a5bdc054f203088c51c48
commit d8ddbcf749f695288a16f3488e12022c62a620e6
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun Aug 6 15:20:37 2017 +0000
Add functional tests for Neutron QoS policies and rules
This patch adds functional tests for create/list/update/delete
QoS policies and rules.
Change-Id: Iebff3309423bea1fa871612c5e824940c13926c1
commit 15a83dab9a8fa68f983903a65fb656104379da5d
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Sat Aug 12 11:50:13 2017 +0000
Updated from global requirements
Change-Id: Iad6eba535f48d0f09e5507db32399623f63a4f88
commit 164501c71570eac15c7be55d0400c400e502bc8b
Author: Sean Handley <sean.handley at gmail.com>
Date: Fri Aug 11 14:12:12 2017 +0100
DataCentred supports Keystone V3 and Glance V2.
Change-Id: Ia8c656e2c6b97c877f5028fef8a94a2c41909bc5
commit 4e5d46df7661051db37b48d84ffc5c096be63a55
Author: Rui Chen <chenrui.momo at gmail.com>
Date: Wed Aug 9 18:02:37 2017 +0800
Support to get resource by id
For finding specified resource, we list all the resources in
get_xxx(name_or_id) method, then find the result in list result loop,
that might have poor performance and slow response when there are many
resources in a project. OpenStack API support to get resource by id
directly, and part of them had been implemented in Shade, like:
get_server_by_id(), get_user_by_id(), get_volume_snapshot_by_id.
The patch aims to support more:
- flavor
- image
- volume
- network
- subnet
- port
- floatingip
- security group
- ...
Change-Id: Icb0af21c2d7e8bda07c072cc6098269304b7ab88
Closes-Bug: #1709577
commit 20ebacce1493e00410aeac4fbe0460dbc8b39817
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 10 15:56:20 2017 -0500
Make get_server_console tests more resilient
The current tests can fail if the cloud just doesn't return real
content. That's not what we want to test though - we want to test that
the shade method calls the remote method and gets a result.
Change-Id: I2238598c07d5ec51bd11ab019cf3f666ee2eaf7d
commit d597ee271e1085e10f89fa9632491b3647ed95b1
Author: Joshua Harlow <jxharlow at godaddy.com>
Date: Mon Aug 7 15:37:37 2017 -0700
Update globals safely
The right way to update these globals is to use a lock
and ensure that nobody else is updating them at the same
time. Also update a temporary dictionary before setting
the global one so that nobody sees partial updates to the
global one.
This should help fix the thread-safety of shade (and other
tooling built ontop of this library).
Change-Id: Ie0e0369d98ba6a01edcbf447378a786eec3f13f9
commit 240e2594b969fee06be5e5a38e414e6a12d5ba6e
Author: lingyongxu <lyxu at fiberhome.com>
Date: Mon Aug 7 15:10:02 2017 +0800
Update the documentation link for doc migration
This patch is proposed according to the Direction 10 of doc
migration(https://etherpad.openstack.org/p/doc-migration-tracking).
Change-Id: Ida458338d353cbd6cc0162263db25f533b0bd9fd
commit eed1cbb8cdbb9a1214277b5d38a4b75123ec14ef
Author: Andreas Jaeger <aj at suse.com>
Date: Sat Aug 5 18:52:47 2017 +0200
Remove OSIC
OSIC has been decommissioned, remove the now useless vendor data.
Change-Id: I57c6043018e96c0069c7db777b9f585cb7d535e7
Related-Change: I2d1b0710e875bd1ebc305fb5b184b68bf18f2ef7
commit 697cf58c826c56ee1599d23ec1271933e8aae54b
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Fri Aug 4 19:19:58 2017 +0000
Make QoS rules required parameters to be not optional
Some of QoS rules parameters, like max_kbps for bandwidth limit rule,
dscp_mark for dscp marking rule or min_kbps for minimum bandwidth
are not optional on Neutron's side so it shouldn't be optional in
shade client.
This commit changes them to be required in create methods.
Change-Id: I6919690d5fe024698dc76bf9808ec8ada80d2ae8
commit 2d547522572962760f2c7081e795a40694296f51
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue Aug 1 21:41:56 2017 +0000
Use valid_kwargs decorator in QoS related functions
This patch switches all QoS related functions to create/update
policies and rules to use _utils.valid_kwargs() decorator instead
of validating manually if each argument is None or not None.
Change-Id: Ieea34d653e60a97963f7030424ea0f3138c169c2
commit 737f9de574b57f33d748368415df9822a48b44c4
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue Aug 1 21:09:42 2017 +0000
Add support for get details of available QoS rule type
Neutron with QoS plugin enabled can return details about
details of support specific rule type in existing cloud.
This patch adds support for getting such details in shade.
Change-Id: I95d10f67f9d1c83eb9adb17127d9d7bba766ad6e
commit 05b0fe25ccb82b69a986a1ebda3b65506c73b5d1
Author: Béla Vancsics <vancsics at inf.u-szeged.hu>
Date: Tue Aug 1 10:17:58 2017 +0200
Use more specific asserts in tests
Instead of assertTrue and assertFalse use more specific asserts.
They are compatible with Python 2.7[1] and 3.5[2]
[1]: https://docs.python.org/2.7/library/unittest.html
[2]: https://docs.python.org/3.5/library/unittest.html
Change-Id: Ie2e117935e12b9fb56c0b6070924786f9693421e
commit 99865c9f77b9825498d60c7895c9784ffdaf70f5
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Mon Jul 31 20:46:32 2017 +0000
Add Neutron QoS minimum bandwidth rule commands
Create/Update/List/Get/Delete QoS minimum bandwidth
rules is now possible to do with shade.
Change-Id: Ibe2b28d15a9a8de58e9605330e241328c1cd242b
commit 420e7454de7a2812f3938e84ee074b479620bd46
Author: OpenStack Release Bot <infra-root at openstack.org>
Date: Fri Jul 28 21:08:43 2017 +0000
Update reno for stable/pike
Change-Id: I03e74702143f0d8ba248c12aba2c179d6cbaafdd
commit 8c8f365a9f143f2159339584f15a48bdf185b63d
Author: OpenStack Release Bot <infra-root at openstack.org>
Date: Fri Jul 28 21:04:06 2017 +0000
Update reno for stable/pike
Change-Id: Ie69ff1e5a5d3cf3a762d6915c5d596de4f919931
commit 1521c59999ad9ef8acfd3e1486a4b9f7903242c0
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun Jul 16 08:29:15 2017 +0000
Add Neutron QoS dscp marking rule commands
Create/Update/List/Get/Delete QoS DSCP marking rules is
now possible to do with shade.
Change-Id: I3b233c28c28cfa27e2d15599e34bae60bad83d75
commit 1d4c124bb1c94ce475ca494b86dd69b09cbae0b4
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Thu Jul 27 20:30:31 2017 +0000
Updated from global requirements
Change-Id: I611163aecdc4810e6fd1d7e47e60171d72db0ea3
commit 85d8adaec6ac976a4c95f0796eaaca2ff15d4f67
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Thu Jul 27 20:19:00 2017 +0000
Updated from global requirements
Change-Id: I2da0ea1c58865c47396b001f1aa66c54ece57bfb
commit a4fdee57310f9bca644e84e43787f04c5996ab98
Author: Lee Yarwood <lyarwood at redhat.com>
Date: Mon Jul 10 14:15:31 2017 +0100
router: Ignore L3 HA ports when listing interfaces
L3 HA ports do not correspond to a router interface and should be
ignored when listing these interfaces.
Change-Id: I7fb5add36af09cc22084c8c034bf9f3cd0fbb442
commit f66f86207361d733faef7fc4c4712ae828eb4821
Author: Paul Belanger <pabelanger at redhat.com>
Date: Fri Jul 14 15:37:46 2017 -0400
Initial commit of zuulv3 jobs
Here we are adding shade to zuulv3.o.o to aid in testing.
Add UPPER_CONSTRAINTS_FILE to tox whitelist of variables.
Change-Id: I4bc3bd751a80308df3b2114f95886bd104516dd2
Depends-On: Ib9f0a787998f34414c8072074113d29cdb8cdb59
Signed-off-by: Paul Belanger <pabelanger at redhat.com>
commit 623593a6933da69000967abd7b6d3e2cf7cec954
Author: Dirk Mueller <dirk at dmllr.de>
Date: Sat Jul 15 20:26:43 2017 +0200
Manually sync with g-r
Change-Id: I4298bb7c2d66632b716b0dbeae64c9dca2b3434d
commit 1b51cd83de845e4e4a5abbad22c6c94cd7a3f0f8
Author: rajat29 <rajat.sharma at nectechnologies.in>
Date: Fri Jul 21 12:26:43 2017 +0530
Update the documentation link for doc migration
Change-Id: Idd4909d94c07220425fbdce938c133d890c4be86
commit 06b390ad7c8971a8ce5bf51a05eea40b48b83d94
Author: rajat29 <rajat.sharma at nectechnologies.in>
Date: Thu Jul 20 19:05:26 2017 +0530
Replace six.itervalues with dict.values()
We should avoid using six.itervalues to achieve iterators.
We can use dict.values instead, as it willreturn iterators
in PY3 as well. And dict.items/values will more
readable.
Change-Id: I81fcf7cfdbd24784039ec2aca6a0c1f503a76502
commit d9091fb8ad63210fbdf72084d2d4a98305a45a1d
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Thu Jul 20 06:48:38 2017 -0400
Consolidate the use of self._get_and_munchify
Replace meta.get_and_munchify with self._get_and_munchify in
operatorcloud.py
Change-Id: I411a1d740ea96bd7a1ac9c3ae67d8d518bf619f7
commit e171aa4f6aeb34a830db1839ce11578b8adae379
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Jul 19 07:26:42 2017 -0400
De-client-ify Role Delete
Change-Id: I97c4e7a2cd9e6e3de9b5d03dc5b5476a9e595108
commit 2d777b911f1e26ee2d7002040099c6769e177f84
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jul 10 14:45:49 2017 -0400
De-client-ify Role List
Change-Id: I3e5a093f0d3b09b897afda7ed793a18a5732513a
commit 8034894d81e05d8a790098c02805e9931f48718d
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jul 10 13:28:00 2017 -0400
De-client-ify Role Create
Change-Id: I0b01b10907939cc93adfee9e53109893abfe62b1
commit 9b2e01d962bb1cfb3717c943a564a8d9fef48419
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Jul 19 06:33:15 2017 -0400
De-client-ify Group Delete
Change-Id: I07785bcee5cd312293ba9a3eed9aec8820378332
commit b7f90dc661636c5ea50f4d18188d45e2d71953f6
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Jul 19 06:26:03 2017 -0400
De-client-ify Group Update
Change-Id: Iff584891a07a619b57a1700351a7fe5f19ca8a57
commit 57f5c896e088c7d69a13fb26d536c8fb391c39cd
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Jul 19 06:07:06 2017 -0400
De-client-ify Group List
Change-Id: If2b1f2aa064e33629307f457b94ba52b2dc02230
commit 9ca78367fd49763c20d2dbb92def2819f366fe80
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Jul 19 06:01:32 2017 -0400
De-client-ify Group Create
Change-Id: Id7674f3aacdfa1448c243fe0e3932dc5f303e9ba
commit 67accb5b099eeab26d402d33073dd09bcedeb9b6
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Wed Jul 19 17:59:42 2017 +0000
Updated from global requirements
Change-Id: I96229428c485ca9ea9af79c3b5d5dbb43840f169
commit bf5cd53cbf79f35d4a08987bfc432e9a56489a01
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Sat Jul 15 22:37:38 2017 +0000
Don't remove top-container element in the adapter
Change-Id: I0b375b5c6f3575216cbecc59285a6980fbe14314
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 262061afd05e9fd097e11f7b073a7dd0e3f44627
Author: Akihiro Motoki <amotoki at gmail.com>
Date: Wed Jul 12 06:43:50 2017 +0000
Improve doc formatting a bit
After migrating to openstackdocstheme, some shade document became
not easy to read. This commit fixes them a bit.
- openstackdocstheme assumee only one title per page.
Use a different level of title for the title.
Otherwise, titles with the same level are not shown.
- Release notes page has a lot of sections. It leads to a long TOC
in the user guide index page.
Use maxdepth=1 explicitly for the release notes.
- Add a link to a simple example to usage.rst.
It helps users who access the user guide directly.
Change-Id: If51afa471505296b502bed3288cc9bcf30a69ba3
commit a134c10ea443ff74aa558aa7e83a651083d0d910
Author: Sorin Sbarnea <ssbarnea at redhat.com>
Date: Tue Jul 11 12:23:46 2017 +0100
Added useful links to README
Fixes #2001116
Change-Id: I43c313fffe8ff0c0e8aa583adce7676872ce357b
commit 806378f4f37f5dd421535b7961d705b0bc7f071a
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Mon Jul 10 20:45:37 2017 +0000
Add Neutron QoS bandwidth limit rule commands
Create/Update/List/Get/Delete QoS bandwidth limit rules is
now possible to do with shade.
Change-Id: Ife015dd3f9584df901462b3998a4d775374073cf
commit 9f78c543498c3c419418d3161ffe8bf5ea3d4253
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jul 10 11:38:10 2017 -0400
De-client-ify Service Create
Change-Id: Ifc71043cbb40d2888cd9c8341f135e832c553d00
commit a9687a82fc14e3e9f6ce9925d27bf5699308914d
Author: Lee Yarwood <lyarwood at redhat.com>
Date: Mon Jul 10 14:41:49 2017 +0100
Add debug to tox environment
The oslotest package distributes a shell file that may be used to assist
in debugging python code. The shell file uses testtools, and supports
debugging with pdb.
To enable debugging, run tox with the debug environment. Below are the
following ways to run it.
* tox -e debug module
* tox -e debug module.test_class
* tox -e debug module.test_class.test_method
Change-Id: If0b06dcf094682401c4b09dd72493c678ea2a6b0
commit 20c1e82fa7c639a9f88fcd1cbcc57226ca6729c1
Author: Abhijeet Kasurde <akasurde at redhat.com>
Date: Sun Jul 9 21:48:22 2017 +0530
Remove hard-coding of timeout from API
This patch adds a fix for removing hardcoding of timeout variable
in _upload_image_put method by adding method argument timeout.
Change-Id: I01ac7d590bfc4aea1adf571bd56d52048723d570
Signed-off-by: Abhijeet Kasurde <akasurde at redhat.com>
commit d1eea7a720bb14f6781ec5abadbc27fafdf85e1e
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 28 12:52:40 2017 -0500
Make sure we don't fail open on bad input to validate
Passing arbitrary dicts to validate does not validate that that's what
we're sending to the API. Put in a validation check that the keys we're
sending are the ones validate does something about.
It's possible there is another param to validate we're not listing. If
we hit a test that needs it, we can always add it.
Change-Id: I75b24f4f640b7cf6ffebff494e1627569d74755a
commit 10e6fbe44f53a0beff2a2e4d2243b3c2e7f96d8c
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 28 12:38:05 2017 -0500
Make sure we pass propert dicts to validate
In register_uris, validate takes a dict that matches the dict one
normally passes to requests_mock - that is, it can take json, headers,
etc.
Unfortunately, our fixture doesn't error when one passes a normal dict
to it thinking you're passing a json dict for it to validate.
This fixes the call sites - the associated tests need to be fixed.
Change-Id: I16f265fe41219be0f3b031eb8be26f740a65d665
commit 54d6e1d1847b0bd18e4ef1276be2b7044ab5b8f8
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jul 7 12:10:06 2017 -0500
Add flag to include all images in image list
Recent Glance v2 hides images that are shared but not accepted. The
way to see them is to send member_status=all, which is a bit low-level
for a shade user to need to know.
Add a show_all to list_images that defaults to False so that behavior
doesn't change. Don't add it to search_images, because at the
search_images level the user has the ability to pass in whatever filters
they want.
Change-Id: Ida2ea943168f5be56a60a94576bdcc6c8e1a9d24
commit af0dbbd86f671c4c33841a11a63698ace1e4869b
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Thu Jul 6 21:16:58 2017 +0000
Add support for list available QoS rule types
Neutron with QoS plugin enabled can return list of
rule types which are available in current cloud deployment.
This patch adds support for listing such available rule
types in shade.
Change-Id: I005b34b129bfe8e1ac4deb6dbeefad2ffe5ce023
commit 4446ba9920315ff57b8bd39bc2fdfaeec02d056b
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Thu Jul 6 17:46:14 2017 +0000
Add validation of required QoS extensions in Neutron
Before operations on QoS policies shade can now check if required
extensions (qos and qos-default) are available in cloud.
Change-Id: I81727e25b72580d748757ead2c9a38708160d6c5
commit 29dd83d4e0fedcc9ae36576ff3293ac4d2252d27
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Jun 27 20:54:02 2017 -0400
De-client-ify Domain Search
Change-Id: If3e2d677cbc8f936144ae1e433eb3f23540e90eb
commit 1bd19cca5cab0792c906bb1417c771ee960e10ca
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Jun 27 20:39:42 2017 -0400
De-client-ify Domain Get
Change-Id: I43dab8b2cbc9f3f9f2e34fdd7d0cec915d3abdb8
commit cac429f4a9fe940fc03dc0f06c8f79e64f95d2df
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Jun 27 19:38:53 2017 -0400
De-client-ify Domain List
Change-Id: I08332dc617fe2f77ddefa6dded86fe964b4fd1e0
commit ecd470db33bd1458a346f95355b111882073d43f
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Jun 14 21:37:00 2017 -0400
De-client-ify User Create
Change-Id: I29b8502883f6ce58e6d2dcfb72df38d6989c18f9
commit ab2c4b314fc0a58c138dd2798a947be1fd957208
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jul 5 08:56:49 2017 -0500
Use the right variable name in userdata encoding
The variable is "userdata" not "text".
Change-Id: I1fecdf088f3aba744b5060e36dcfe62674772d1b
commit e3753627042e53ecc9086736ed47ecf4b1e623ff
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue Jul 4 22:08:04 2017 +0000
Add searching for Neutron API extensions
Shade client can now check if required API extension is available
in Neutron.
Change-Id: I9ffe431b23ac8586d327489347abaa40b0c1d775
commit 67b053c7b1a640de98bc5d243d8db3db227a2dac
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun Jul 2 20:49:34 2017 +0000
Add Neutron QoS policies commands
Create/Update/List/Get/Delete QoS policies is now possible
to do with shade.
Change-Id: I127463dff9f73307aaac7ebb6927ef23599d3682
commit 790fffd37a4fa1ab584c40c0abeb56b7373d53df
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Jun 27 19:31:00 2017 -0400
De-client-ify Domain Update and Delete
Change-Id: I56e661ca38e9a94ab43ccc3c0cc45a42976eac3d
commit 1e1c6ac1d8c1bc9e994bef3610d07ed3b44b8ff9
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Jun 27 14:39:01 2017 -0400
De-client-ify Domain Create
Change-Id: I09426fd4fd374bdb64f42f3b31862dd3b898310d
commit 65ce1a22896e52ff59a23a393e3bc4227f55f006
Author: Doug Hellmann <doug at doughellmann.com>
Date: Fri Jun 30 10:14:38 2017 -0400
switch from oslosphinx to openstackdocstheme
Change-Id: I83c5856a49cdfd912eb2d62314848a4cc4905fe1
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit 20b2f1f0c0402f28b6dde1e8ff0c5416edb6d21e
Author: Doug Hellmann <doug at doughellmann.com>
Date: Fri Jun 30 10:07:41 2017 -0400
reorganize docs using the new standard layout
Move the docs around a little to allow the new templated docs.o.o site
link to things like the user and install guides in the expected location.
Change-Id: I7f3b625c04aa6cd2a7ebe5f2ce4a398cf464b1cc
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit f74902b0b9f82e221b1ae1af7f254dc2918f96b8
Author: Doug Hellmann <doug at doughellmann.com>
Date: Fri Jun 23 14:53:54 2017 -0400
use openstackdocstheme html context
Set some of the new config values and enable openstackdocstheme as an
extension so it will inject values into the page context as it writes
each documentation page. This ensures the pages link to the right bug
tracker, etc.
Change-Id: Id9cc61e81aa43f4b69883d338090716005477d0a
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit 071e3429103a027fb579399907f4976b894ffd12
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Tue Jun 27 22:15:42 2017 +0000
Don't remove top-container element for flavor, zones and server groups
Change-Id: If85a133be034b27253bd6ddd36cf8a9224ab1673
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 70d8cc39df1093a69618ba1d1a6eb41ef1842baa
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Tue Jun 27 12:07:54 2017 +0000
Updated from global requirements
Change-Id: Id6df6784e14fa6dfd4543ab54f9c2e01c87c69cf
commit c016f15867d53b7054e8d8561dd5de4d995adc3c
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Mon Jun 26 23:20:09 2017 +0000
Don't remove top-container element for flavors and clusters
Change-Id: Ie48b477a35f448bfddd561bec68f30a5eb452e97
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit f4668b7c6f0a2578ae6a96516e02ec1ff754c1b4
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Fri Jun 23 10:48:51 2017 -0400
Project update to change enabled only when provided
The project update call considers enabled=True as the default, causing
the project to always become enabled unless enabled=False is passed
explicitly.
This patch removes that default and only touches the enable field when
it is explicitly provided as enabled=False or enabled=True.
Closes-Bug: #2001080
Change-Id: I0a3b926b42be0321d06ebc370e4f51eba4150a50
commit 30c8729f782c0c13ca872260085d5b7b7c37df61
Author: Doug Hellmann <doug at doughellmann.com>
Date: Thu Jun 22 15:26:16 2017 -0400
switch from oslosphinx to openstackdocstheme
Change-Id: Ie45909df0b5a118d0200a1ee71277f4dbfe41d08
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit 412f0fdd8503d4a5b67d5ec55021fd0a9f452984
Author: Doug Hellmann <doug at doughellmann.com>
Date: Thu Jun 22 15:17:54 2017 -0400
turn on warning-is-error in documentation build
Change-Id: I18cdecec84f8dd5f11741ac1ffc35630f7eb64b8
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit 95f44f171c614cb0bb1650eb0062baea5c96f25d
Author: Doug Hellmann <doug at doughellmann.com>
Date: Thu Jun 22 15:15:52 2017 -0400
rearrange existing documentation to follow the new standard layout
Depends-On: Ia750cb049c0f53a234ea70ce1f2bbbb7a2aa9454
Change-Id: Ib68812eda4ab0ce09c6d438f9f236111d61ef38b
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit 1069d44810c57aaa3191ec77dc766001c7bd6327
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 21 04:20:35 2017 +0100
Fix mismatch between port and port-id for REST call
The old novaclient parameter is port-id, but the rest wants port.
We should really stop having so much logic in os_server.
Story: 2001075
Task: 4700
Change-Id: Ia16f8effca705e04b01fee5c2e899d90d084acb4
commit 14216dc5c9b7ab338d264d96b02db6c1f902b634
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 21 02:39:00 2017 +0100
Remove a direct mocking of _image_client
Change-Id: I21505fc5b0b043f9c32c3ee568b48db9c32ff23e
commit bc942953bc4a39c7696624dab6b59d06ad4f3298
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 21 02:15:12 2017 +0100
Fix image normalization when image has properties property
In the somewhat pathological case of an image having a property named
properties already that contains a non-dict value, image normalizaiton
becomes quite unhappy. Fix it.
Change-Id: I2ce4dd4e3b7a4a9b46ff2bf699d2c8517e1ce7ce
Story: 2001073
Task: 4697
commit 74522a1a224a5379649645ad57e916fe003638bd
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 20 16:10:01 2017 -0500
Fix delete_ips on delete_server and add tests
This codepath was basically completely untested and essentially
completely broken. Fix the break, but also add tests for it.
Also add tests for config_drive while we're in there.
Change-Id: I9f44474000213bab9e08266a376e41fecc4fbc1f
commit 16cd2cc88b19130769b6dd5b7f3c3ce8752bdb9d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 20 23:49:03 2017 +0100
Fix config_drive, scheduler_hints and key_name in create_server
We don't want to pass these if they're None. Turns out - we don't want
to pass them if they're False either.
Change-Id: I421b4e537892deead1866ddc979565e86fbcb211
commit 6334250493624aa56a7062c394442026dea5dfca
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 20 14:37:49 2017 -0500
Don't fail hard on 404 from neutron FIP listing
We do a filtered FIP listing from _delete_servers, which has exposed our
list_floating_ips method as dying hard when it can't find a match.
That's pretty inconsistent with the rest of the API - return a [] in
that case but keep logging the big error message. The user should really
mark the cloud has floating_ip_source: None if they want the error
message to go away - which is indicated in the error message.
Change-Id: I76493e7cc004831c1a0620de9fbe004fdbc39e45
commit 45e689942676f52f5a405262b41c0d60a0d681ab
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 20 14:47:24 2017 -0500
Only search for floating ips if the server has them
We have a server dict, which has an addresses dict. If the addresses
dict does not list any floating ips, then there is no need to spend the
API call to look for the fip ids needed to do the delete.
Change-Id: Iaf7583fe29bd197a59ae2728fd52d8de2ac1d411
commit 2486e09b67c20254f780a1f2cee941c4345553d1
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 20 07:44:30 2017 -0500
Don't try to delete fips on non-fip clouds
There is no need to even go through the logic. We have a flag for this.
Change-Id: I103a2f346344d7a1eed5c54b58d279f04a1f76a3
commit 10beaf9c43a19220b61b7e979f6e46f0056410c5
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 20 07:42:59 2017 -0500
Return an empty list on FIP listing failure
We don't want a 404 - we want an empty list.
Change-Id: Ia30077d4093b224485b9953c5ad9d2d7c811ec50
commit 410a4558db80874dd34352ebc2c761b18404f0a7
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Mon Jun 19 19:37:27 2017 +0000
Don't remove top-container element for server REST API calls
Change-Id: Ic44e99b95a546bbc62562634340f14033ae1e346
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 5512e46933b894d447c4b19917e1cd1cfebae6f7
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jun 19 08:17:43 2017 -0500
base64 encode user_data sent to create server
user_data is base64 encoded, which novaclient did for us previously.
Since we no longer use novaclient, we need to base64 encode it
ourselves.
Change-Id: Idf2320f43ba81b3ddc3b1c0016c7f872b5c5319b
commit 3aee4f5e6ea3ec4a49442c905a4bd43b1e7b13a9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 12:54:05 2017 -0500
Remove novaclient from shade's dependencies
All calls to nova are now done via REST. This means we can remove the
dependency.
Only two more to go ...
Change-Id: I01a0afef5986b7452fd73e04c48568ebb9817681
commit 56524c16a82f0b75cb9e576eb74982d8b19fb105
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 12:50:24 2017 -0500
Translate final nova calls to REST
Change-Id: I89e0e59ec1ed6a81843da61bd3fce49d57da7c17
commit 56244f54103c076444a1e8793fa78b6753350961
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 12:22:27 2017 -0500
Convert remaining nova tests to requests_mock
Change-Id: Iff4341f2c83493c901f5e18570f82b0b5f7f3ad5
commit a2ec277bf5f6ee63b7396894975a104401dfd284
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 12:09:45 2017 -0500
Convert host aggregates calls to REST
Change-Id: Ic250e904e1a51d659c2599591e2b4274ebc5d1c0
commit f1778968de1125f48165efb1694be4c1a951aab9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 11:51:07 2017 -0500
Convert host aggregate tests to requests_mock
Change-Id: Ia2f5ef2798c57c88a0b3735db3381e1fbc20d9fa
commit b1faf5bdd12fdd2cb08c0f08e05223f103171dcd
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 10:53:59 2017 -0500
Convert hypervisor list to REST
Change-Id: Ie08b2e2e9ef0b27e9faa27d38934e97c74c76305
commit d69b81fe00627b527a8c999bd9ce7ac9ac689d30
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 10:50:53 2017 -0500
Convert hypervisor test to requests_mock
Change-Id: Ie9acb8582ab52580c90b3511acf5e28eed2f9abf
commit 0ad08858a543d67f66e6576c49e7988c53038a28
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 10:41:20 2017 -0500
Convert Server Groups to REST
Change-Id: If779c02521d0cf07d43f19ff9a11666838e4ac3b
commit 3aec23cfd2a0477693e6684a97bfb3abbd3cd937
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 10:34:34 2017 -0500
Convert server group tests to requests_mock
Change-Id: Ic4b137073e0c662d26cac254611708b3f31734e0
commit 611ce3dca1bf7b320ab075b4f05294c1f24fd4e3
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 10:05:19 2017 -0500
Convert FakeSecGroup to dict
Change-Id: I0e0e1b87b0b32e8c015ba1f9944faf3b0e0738c1
commit fb956cce7b528eebc7332377d76c156cddcbd6ed
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 18 08:19:21 2017 -0500
Remove use of FakeServer from tests
FakeServer is a Fake of a novaclient object. Use actual json instead.
Speaking of - transform the dict through json dump/load so that it's
unicode where it's supposed to be. This makes diffs easier to make.
Change-Id: I45c1136078f604c73c1fea54a9eb52bbbc8c69b5
commit 7cd4ef000153c7c4b8b3a43910ccb2bc4439c6c5
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Sun Jun 18 00:47:12 2017 +0000
Don't remove top-container element for user and project REST API calls
Change-Id: I5d2ca9426f629014069f98ed9521556392c9d71d
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit b9a2c296e618d6ea07f8e91d995cc29885fe63c0
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 16 18:23:07 2017 -0500
Convert keypairs calls to REST
Change-Id: Iea7c8267e87c5b5beb83e9315f41a61ae714005f
commit caa69b4117ebe5f75d45adc805f67035d1d55855
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jun 17 08:46:23 2017 -0500
Add normalization and functional tests for keypairs
Keypairs didn't have functional tests, although they do have ansible
tests. Also, there was no normalization. Add both.
Change-Id: Ib6fab25cf4c88e5f9d224e831a8b5f297b263aea
commit c23611a093290b0f8882a4995cb0ab04de13888b
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 20 10:33:14 2017 -0500
Remove future document
This is a write up of an idea from several years ago which is both long
in the tooth and honestly never going to happen. Go ahead and remove it.
Change-Id: I4377cfb24c468f2333ac470a2a58fa97cf35d4bd
commit 145a0ab7a3662615a9b5df5cad28b92dfb30884a
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 20 10:29:53 2017 -0500
Add text about microversions
We aren't doing anything with microversions yet, but since we just wrote
down algorithms for version discovery, let's go ahead and talk about
how microversions should work. Also, mention that it's important to
fetch information about them as part of discovery.
Change-Id: Iadd48cd53488240e33db83797a88af689b1497dc
commit 587b41b0f6612c147fad93966369836b3e953a18
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 16 18:10:34 2017 -0500
Convert keypairs tests to requests_mock
Change-Id: I85a9d19959e750995fed20a882eb8a9cae9add64
commit 70365c9f65cc04b711f96a418aac3ae23dc2fbec
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jun 15 22:41:08 2017 -0500
Convert list_servers to REST
Change-Id: Id3e60a9df87c3ca64fcabcb5c6d30b2b0bcb0b24
commit 83c8bf5a3439c8bf732604ca0de9098af312d6b0
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jun 15 21:50:52 2017 -0500
Convert list servers tests to requests_mock
Also, found a few others that had been missed before.
Change-Id: I9dfbabd2b5318a59b91edf4d8a62ccc0ccb9baa0
commit c5245648edcd2041d1df1f94f68c5d612fda6be9
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jun 15 21:38:56 2017 -0500
Remove some unused mocks
Change-Id: I25c59933cd61eff31d02b3c763f6ebd5551d3231
commit 35980c1da8977db1cffb66975145ee5532a83fe8
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 13 21:35:02 2017 -0500
Break early from volume cleanup loop
Change-Id: I540c4d860a60810d6ae6838ec558cc48cff67cf8
commit c431cc2c4bed6b8b181fd94b6d57098b32c68c83
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 14 18:08:27 2017 -0500
Add some release notes we forgot to add
Change-Id: I05c31400e6f2e584a656c8ab422875be2d6f6bfe
commit 6b325282d3ab2f848de372a80def36b01b6ba6f4
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Fri Jun 16 18:13:15 2017 +0000
Retry to fetch paginated volumes if we get 404 for next link
When we get a volume list, it's possible for a volume to disappear
causing the pagination to bork. When that happens we retry to
get the list from scratch for 5 times. If all the attempts fail
we just return what we found.
Change-Id: Ia88d1d8a6b3558f7d5d364a9c78bbf834836d3f7
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit daabd8cb9cded99ffeef9de34321bd9439d722b8
Author: Markus Zoeller <mzoeller at de.ibm.com>
Date: Fri Jun 16 11:21:41 2017 +0200
docs: make the first example easier to understand
The very first example of the usage of shade is easier to understand
if there is also an example of the needed `clouds.yml` file. Without
it, it is unclear what the meaning of the key `mordred` means.
Change-Id: Iad3aba66b0c6344157da30f374e191d01e938b2b
commit 494d5d1e0fe2d600b43dd4ae9f7c9657a08bbc88
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 13 14:57:39 2017 -0500
Properly expand server dicts after rebuild and update
Change-Id: I60568206c6b8900560ebd4f202aaaa5cd9f0d71e
commit 972dcfcdf71feca95d166e1d9c152fcc097567fd
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 13 12:27:31 2017 -0500
Migrate non-list server interactions to REST
Change-Id: I999ea383909d01317f361ef55bee73db9fc1afbf
commit 8ed5666501966ca8a2d9bfed8b9111f612b4dddf
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Wed Jun 14 23:22:17 2017 +0000
Increase timeout for volume tests
Creating and deleting volumes is slow so tests like
test_list_volumes_pagination are often timing out
Change-Id: I87f59bdfb527326a2a90a03d524e38d632ea7377
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 4fa316b778a88c92e4fcfd57480631d45cc2df5e
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 14 14:43:13 2017 -0500
Skip pagination test for now
The pagination test, although awesome, is killing the cinder in the gate
and we're seeing an unworkable increase in timeouts.
Skip the test for now allowing us to work on fixing the test without
killing everything else.
Change-Id: If83abbad9398cb97ca7fdc1d3f6d2d5473343664
commit 9353650d1d8325bc8836980f84fa14bbfd37d746
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 14 06:28:12 2017 -0500
Fix urljoin for neutron endpoint
We just add a '/v2.0' to the catalog endpoint for neutron. However, if
the catalog endpoint does not end in a /, this can turn
https://domain.tld/neutron into https://domain.tld/v2.0 instead of
https://domain.tld/neutron/v2.0 as intended.
Change-Id: If16dc64dd9a4c9e525d042190632d0f4f0a4fb63
commit 19cddb559180ea22e26b7171f26ea692c32ee967
Author: deepakmourya <deepak.mourya at nectechnologies.in>
Date: Wed Jun 14 11:54:08 2017 +0530
Remove py34 and pypy in tox
No gate check for py34 and pypy
Change-Id: Idcc0dd485d94ab66e52e086c6d5cda268c5aea07
commit 3bb46e4f7fb01484fc1d855d58b3b02b644ea96e
Author: rajat29 <rajat.sharma at nectechnologies.in>
Date: Wed Jun 14 11:45:44 2017 +0530
Replace six.iteritems() with .items()
1.As mentioned in [1], we should avoid usingg
six.iteritems to achieve iterators. We can
use dict.items instead, as it will return
iterators in PY3 as well. And dict.items/keys
will more readable. 2.In py2, the performance
about list should be negligible, see the link [2].
[1] https://wiki.openstack.org/wiki/Python3
[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html
Change-Id: Iffdaadabccd6314643f668147f486103378a55eb
commit 0d7fc5940a566cc21965ce68efaa0ef99edc593a
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 13 14:16:35 2017 -0500
Update tests for server calls that aren't list
Change-Id: I6abe198fc690fc04b35c0a90c3c3ee7a08cfdd08
commit a0abee2c5cd48501ea73a5e661a9acd15421ded3
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 13 07:53:27 2017 -0500
Convert delete server calls to REST
Also, remove the GetServer task which was missed earlier.
Change-Id: Ic7e5bf011193efc842f68de6b038942af6f23b7d
commit 458b6e9c96c7a3e961f11be938718008cf644086
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 13 07:53:15 2017 -0500
Convert delete server mocks to requests_mock
Change-Id: I1615aa825dffbddd33e5effc014415945a694e76
commit c085c4c5f911133a9add0b50e63c1f6c85f3121f
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 13 06:56:55 2017 -0500
Convert get_server_by_id
Already did all the tests during create_server.
Change-Id: I10ade7ff0bf682691e4842e639726195253e1300
commit 36b659eed403aea3ecf8666a68524b8e0f8ef494
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jun 12 09:57:23 2017 -0500
RESTify create_server
In order to create passing tags to the nics parameter of create_server,
we need to support microversions. In order to support microversions, we
need to be using REST. Yolanda needs to pass tags to the nics parameter,
so let's go ahead and transition create_server since we want to anyway.
Tests are modified to remove an extra GET call that novaclient makes
that we don't actually need.
A follow up to this will add microversion discovery, and then will add
support for 'tags' being in the nics list.
Change-Id: I04c3b08d80cf496dabec8ce7000ca5fb679fe3b9
commit 6b61f18ea20f622029939230730048e49e523fe6
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jun 12 15:34:25 2017 -0500
Don't fetch extra_specs in functional tests
We don't need to get these with every list_flavors and they make the
logs harder to read.
Change-Id: I642f6e0f05b13b67e95ed2cefdf7230c2cda5e5c
commit 9cb4b1dcf73de64dd0cc79bbbd9b4c32878c619e
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jun 12 12:00:34 2017 -0500
Convert create_server mocks to request_mock
Next patch will convert create_server. Note: this found a few bugs in
the tests.
Change-Id: Ia1c9d3a02e52b63756f61dbff77b90dc35e45d24
commit e5389891214837b50c15987b4337a0f4678422f8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jun 12 17:28:37 2017 -0500
Add boot from volume unit tests
The boot from volume parameters are complex and we don't test them.
Change-Id: Ia4b8db8792d8343d1bc1c5525e24065f67b4646c
commit e6573737638383ba7f7b0c4021b3ceb381cf2bc2
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 13 15:25:01 2017 -0500
Cleanup volumes in functional tests in parallel
We spin up 8 volumes for pagination, but then we try to clean them up in
series. That's bad for our timeout. Let's take a page from nodepool and
just poll the list.
Change-Id: Icda01fd21dca06e459fbdd3c1cbd31441b95cd7a
commit 081930d3a925e7f0c8ed6fe9cd9d95818e3eca8a
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jun 12 21:04:55 2017 -0400
De-client-ify Project Update
Change-Id: I2c9c6ebe594268b1be78af7b1e25f110605a076d
commit 18f9b64ced1aa7d294d844976a7ddde8a58bafc0
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jun 12 18:48:28 2017 -0400
De-client-ify Project Create
Change-Id: I4003cda72ac6f4bfc083722983159409673d3098
commit d3df09107ead9d690461e9166c420b28050baadb
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jun 12 20:54:07 2017 -0400
De-client-ify Project Delete
Change-Id: I24522698dbb333edc7eec6087637a252c0f92ff1
commit 92370249542302cfd288b0843c61170659b819e6
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jun 12 17:46:11 2017 -0400
De-client-ify Project List
Change-Id: I13cb90a46ca61716b04989574483cfb4b04fa6b1
commit 2b48aed90d7f236b0a72dbc90698ae7aa30bdfcf
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Mon Jun 12 23:28:13 2017 +0000
Don't remove top-container element for sec group REST API calls
Change-Id: I81cdf17fede6414bdbbd7c7ea0a7eb5efc8aced3
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit db83c23be7d04debc3804906e12613a1616814cb
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Mon Jun 12 18:03:33 2017 -0400
Improve grant docs on when and how use domain arg
Change-Id: I76184b229d48d8bd3268c803400c2ab9d3fcab17
commit 5d204c32696456c4789985e6da503a30b118c854
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Mon Jun 12 15:56:12 2017 +0000
Don't remove top-container for stack and zone REST API calls
Change-Id: I502c7a7bcae7a7efd6541d50cc9837c04d48cb63
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit ebedf176c7e6e00cf4ae6110f2cb5ace5a8c66e9
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Sat Jun 10 21:35:01 2017 +0000
Updated from global requirements
Change-Id: I363e82513bb504ee7691c9283ab9763c40471fb6
commit 4fce8d91f401249c06db5a7d7b264588dcd547e4
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Sat Jun 10 16:07:38 2017 +0000
Rename obj_to_dict and obj_list_to_dict
Since we are actually to munch objects and not dict,
let's rename them to obj_to_munch and obj_list_to_munch.
Change-Id: Id4d77520237503bbfede89638675402d143fffcd
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 75ce1eae85c53cc517520d7208eb1091a9f7374d
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Thu Jun 8 21:53:38 2017 +0000
Don't remove top-container element for network REST API calls
Change-Id: I2cde7add2bc0c85afbcfd03992dd500ce3ec7a8c
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 75ce9ad924c9315d747529e40788a9f4ccb35138
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Fri Jun 9 13:49:05 2017 +0000
Convert data from raw clients to Munch objects
Change-Id: Ib6fcb0b18e550c75248eaf00f4a305f5882e6cdf
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 40c4f3ca15f990572e3ebeb93f484b74ac9d392b
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Thu Jun 8 17:56:32 2017 +0000
Remove unneeded calls to shade_exceptions
Change-Id: I3dce6e9a9e25e763e4daa2be0495521876a27fd4
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit f01a7d43ca3423650e9d2e0b90eea0b61dfde92f
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Thu Jun 8 13:40:35 2017 +0000
Don't remove top-container element for volume REST API calls
This is a first step in the process of removing the logic
from the shade.Adapter that removes top-container element from
the REST PAI response. The goal is to simplify the logic and
move it into the REST API calls.
Change-Id: I885ba0c8d1df8c6f33bd3e2e92d052a1614a917f
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 766d6227a39f485ae7fbcb29acd68036d0bd5bc7
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 6 16:59:00 2017 -0500
Use get_discovery from keystoneauth
If we use the get_discovery call, we'll re-use the keystoneauth cache.
This removes the last stupid extra discovery call.
While doing this, noticed the dns version discovery was wrong, but we
weren't noticing because adapter magic. Fix it.
Change-Id: I01d07554d094fffd498f21a9291710c8eb0041f6
commit ba36d445a71fb1c98168240a6a284e75154039f6
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Wed May 24 14:39:42 2017 -0700
De-client-ify User Ops
Remove keystoneclient from some user CRUD ops.
Change-Id: I95ab2b58e2895c7735cc5a65dbf401bbd7715ccf
commit 752d01eb270c24a9058060be25cc51112669df25
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 6 15:18:56 2017 -0500
Add links to user list dict
This is what keystone returns, so it's what our mock should return too.
Change-Id: I7d4b428a48d3f4779994f4ac7d41744cf74d549d
commit 5a1a3d813b89e19f3f85da1a6ac363ae759c4f53
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 6 10:40:22 2017 -0500
Avoid keystoneclient making yet another discovery call
Even with an endpoint_override set, keystoneclient will make one
discovery call if the keystoneclient.client.Client constructor is used.
Because we're not going to make that extra discovery call after we've
already made a discovery call when we do ksa calls, directly instantiate
the v2 or v3 objects ourselves. This lets us avoid the extra discovery
call so that we can remove it from our test fixtures. The discovery
call sequence now should be identical for ksa vs. ksc.
There is still an inefficiency here due to our discovery not using ksa
discovery. But we can optimize that later.
Change-Id: If7f8625745f80334b9a78d742dc4a9250a4eb72c
commit 96c24b1108f5eca3d679a6b17a29c475a433c2e5
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 6 09:39:35 2017 -0500
Use shade discovery for keystone
Use the new discovery method for identity client. HOWEVER - also use it
for ksc by setting an endpoint_override. This prevents us from having
multiple competing discovery stacks while we transition from ksc to ksa.
discovery is still less optimized. Our discovery isn't making use of the
ksa discovery cache so it double discovers identity. We'll fix that
next.
Change-Id: Ieae669c1ea1155434a642dbc89f78f85a3563567
commit 076a407eac78d1d04efa65f5ad660da6f5a3c5de
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Tue Jun 6 05:59:39 2017 +0000
Updated from global requirements
Change-Id: I5b98af79293aae245f2e37eb585ed87b9153c940
commit 641073bba93e90e4373e08e7113d7de853355ab9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 4 23:30:01 2017 -0500
Migrate dns to new discovery method
Change-Id: I66cdb189a87e94df35fbdb720c48e59f24ca51cb
commit a45848d5b97270685904653635b2bb4b248d7139
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 4 10:34:46 2017 -0500
Generalize version discovery for re-use
This will eventually all push down into keystoneauth, but for now we
need it in a few places. Let's just make one method rather than cutting
and pasting it for each service.
Change-Id: I190f3abfc403af337d671e8c420915c009964cf3
commit 751b0a0411941490e5d1be678e0a3ca4ad1b8db5
Author: Jakub Jursa <jakub.jursa1 at gmail.com>
Date: Mon Jun 5 15:16:50 2017 +0200
Pass hints to Cinder scheduler in create_volume
This commit adds support for passing 'scheduler_hints'
as kwarg in create_volume.
Change-Id: I85915fab03f2bff77a21802791f2f6a7579815f2
commit 10cb4f2d592908b74ca92cd1e61d21ab6b6dbab9
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Fri Jun 2 16:48:03 2017 +0000
Remove designate client from shade's dependencies
All calls to Designate API are now done with REST calls made
via keystoneauth1
Shade don't require python-designateclient package since now.
Change-Id: I55393dc04ec9eeaba885fee849e6466f199be479
commit c97bac299751775294e8abc5f01d1bfb7bb681cf
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jun 1 16:46:27 2017 -0500
Do less work when deleting a server and floating ips
When we delete a server with floating ips, we tell get_server to not
fetch a bare server, which does the work to fill in the network info
from neutron. Then we look in the server for the floating ip address and
look up the port it goes with.
This is not necessary.
We can tell get_server to get us a bare server, then look up floating
ips by device_id. Then just delete them.
Change-Id: I5ec04dc2a356aa20cf561866e8f43f9e28b2db21
commit f0fa7e71c00a8dbda25db704a16c4b46ae1c3f75
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Thu Jun 1 20:11:08 2017 +0000
Remove designateclient from commands related to recordsets
All commands related to recordsets, like create/update/list/get/delete
recordset are now made using keystoneauth1 client and direct REST
calls to cloud.
Change-Id: I40339ec188b75668211d87d4410e5f9b8961424f
commit 1a5f7343fd462ad703b42046823c9ac33ee2df9f
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Mon May 22 22:22:33 2017 +0000
Add pagination for the list_volumes call
This commit adds support for pagination when it is enforced
by the cinder server because the length of the volumes list
requested is longer then CONF.osapi_max_limit.
Change-Id: Ibd234e521884d4de746cb002988a5a6540c9f043
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 755890ba413a67806ceb40a9d413c95cdd233f95
Author: Sylvain Baubeau <sbaubeau at redhat.com>
Date: Thu Jun 1 16:10:27 2017 +0200
Handle ports with no 'created_at' attribute
Change-Id: I1ff4635365acd803878212787fa98c622c69a41b
commit 014d3979cfca4b9229faba7ef5bbbfea8b17031f
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 31 07:10:57 2017 -0500
Update test_user_update_password to overlay clouds.yaml
Rather than adding a bunch of v2/v3 logic, just use the demo cloud entry
in clouds.yaml but with the new user_id/password.
To make sure this works, go ahead and assign the member role to the
user, so that the project settings in the file will work too.
Change-Id: I1adc271d60c0ded25c639962d0974242009c7c9b
commit f0c981cfc4873b46710628a7de394e0a826cdd6a
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 30 08:48:19 2017 -0500
Fix legacy clients helpers
There is no method called _create_or_return_legacy_client.
Also, you have to pass a variable to a format.
Change-Id: I559416d29c34b6cfea944f405c8608714ad81508
commit 6a325df8b6423d004d91eae51a270d2ccfb8ec0a
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 30 09:52:03 2017 -0500
Remove unused occ version tie
We have a trap for old os-client-config versions so that we can use
set_session_constructor. Problem is - we don't actually use
set_session_constructor. So it's a bogus trap that's just making life
hard.
Also disable a part of test_update_user_password. Our keystone v3
devstack doesn't have a v2 endpoint anymore, and this went south.
Change-Id: I1299c6d33f301a6b1deed848737bfb561129a031
commit 92a19dfa2f545de5d56059e55a8380cad3246aee
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Fri May 26 20:57:41 2017 +0000
Remove designateclient from commands related to zones
All commands related to zones, like create/update/list/delete
zone are now made using keystoneauth1 client and direct REST
calls to cloud.
Change-Id: Id3a0fc0aa55e62832fd6fb85cafda8d55023d01f
commit 5d987eb31e8c620dd69fe11a3c3ce8458bb45332
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 25 10:18:58 2017 -0500
Add documentation about shade's use of logging
shade logs to some specific named loggers for various things. They are
defined and intentional, but are not documented. So let's document them.
Change-Id: If52553e5478d4e2f8a56f5d899e93fd2b4fe3c2d
commit e167039f581b51995de0f9bdb8562b1b799d246b
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 25 10:21:23 2017 -0500
Add novaclient interactions to http_debug
While hopefully novaclient will be gone soon, it's here now.
We set up novaclient logging in our unit tests so that we can see what's
going on. Do the same in simple_logging at least until we've gotten rid
of novaclient.
Change-Id: I105af3acbe215fb8d0cdc3dd7e5670eb4379d668
commit f6c74f25f0bd6e8cd1341701f3bc135f46691fe7
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 25 10:16:19 2017 -0500
Set some logger names explicitly
In the next patch we'll add documentation about what shade logs to what
logging facilities. To make sure that those named facilities are
maintained as part of the interface a consumer can count on, set
non-root logger names explicitly.
Also, this changes the logger name for the "waiting" messages from
shade._utils to shade.iterate_timeout. _utils is an implemenation detail
and such subject to change. The logger for it is not.
Change-Id: I2ff413062c4cc3b49872fa8fd24e5daade063187
commit 58d9b2a713544ed84a7abd68a019899d4588e47b
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 25 09:45:22 2017 -0500
Add logging of non-standard error message documents
Sometimes we get non-standard repsonses that include things like
html errors. Log them to a special logger if they are there so that
someone can opt in to seeing them.
Change-Id: Ife1ce58b0484c610d6b43a9adb39113f387eff77
commit bf8774b80970357048e1d9353383a42ebe811c2c
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 25 09:29:30 2017 -0500
Log specific error message from RetriableConnectionFailure
There are more than one error from keystoneauth that can match
RetriableConnectionFailure. We retry on all of them, but logging the
whole message can be useful for debugging.
Change-Id: I2fd3bf62a3a755281d34ff5d3624b835281604fb
commit 990cfa3ce24d0a92c7578b52ae1fea02d69f7e87
Author: Matthew Booth <mbooth at redhat.com>
Date: Thu May 25 13:26:48 2017 +0100
Don't pop from os.environ
It's rude to other users and subsequent callers.
Change-Id: I7789f381c99311bfd1c1e0a9869cbacbc96b17d6
commit aad00aa01e737b4b553c17eb22c4c5211f6767f5
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Wed May 24 23:11:29 2017 +0000
Updated from global requirements
Change-Id: I1a52a58baccd8dd3b6f04bd8baa8d20654ce366d
commit 462fe8178bc10bbef0618f608eff94c826d9934d
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 24 12:34:52 2017 -0500
Fix python3 issues in functional tests
Change-Id: I86e28616403c36672603a6ad6cb0477722da4594
commit 9f393dcbc89390a08d5f20a44cbdeb96ae9be5e4
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 24 12:24:41 2017 -0500
Add time reporting to Connection Retry message
Change-Id: I38415e88fd3415022d003f710d95131a4dc314d8
commit b194a4d58a4eec557232a5d485b45da4a2382554
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 24 11:40:58 2017 -0500
Log cloud name on Connection retry issues
It's hard in a complex environment like nodepool to know what to debug
otherwise.
Change-Id: I5885fc136c89a37ac405ce1d859a33d1c1f9cf1a
commit a4bcf38f5518579363bb5f33ef9b7c5651f44575
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 24 09:37:11 2017 -0500
Use catalog endpoint on any errors in image version discovery
If we can't do version discovery for whatever reason, just use what's in
the catalog. While we do that, try to detect what version it is so that
we can at least take the correct actions.
Change-Id: I2be381c1a0af9ee576f22b6c03b7a2e577503aed
commit ba0e9451e664743dbc5d24307ca5a3829ee3e91b
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 23 16:05:15 2017 -0500
Pick most recent rather than first fixed address
If there are multiple fixed ips for a server after nat_destination
filtering, we pick one arbitrarily. The thing we really want to do is
pick the most recent one - since it's the one with the greatest chance
of success.
Removed a test that wasn't actually testing anything.
Change-Id: I73fe5fe58269931ae9a7e52b79c3211d96e69a92
commit 072001a6289bee6594a97fe30dd5ab53bb1d9e99
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 23 09:04:25 2017 -0500
Allow a user to submit start and end time as strings
get_compute_usage currently requires a user to provide a datetime
object. That's actually fairly unfriendly. Also, it turns out if you
happen to produce one of those with timezone offset information, Nova
will return a 400 error. It's pretty easy to convert a datetime with
timezone info to a datetime in UTC without it - so do that first.
Now a user can submit a fully compliant ISO 8601 datetime with whatever
info they want and we'll make it meet nova's standards. They can also
supply a datetime if they prefer.
Also - do date parsing before project get - to avoid an API call if the
validation that doesn't need an API call fails.
Finally, supply a default for 'start' of the first day OpenStack
existed.
Change-Id: I53989d47f0d24695c19c1023e35acb315bec9eea
commit 12b07e12e2f6f43eb7dd9230d25acff2c6ac8343
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 23 08:13:19 2017 -0500
Fix get_compute_limits error message
We're currently using name_or_id in the error message whether it's there
or not.
Change-Id: Ieaddc57e52f7c26b410ebe0178e2c30f48897769
commit 8d34399714297d5eaa12ae7428bf93392e2b4108
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 23 07:55:38 2017 -0500
Fix get_compute_usage normalization problem
When we normalize an empty usage report, start and end can be empty, so
the pop() call fails. Don't fail on that.
Also, stop forcing interface=admin in operator_cloud. We stopped adding
this elsewhere already, because it turns out it's NOT actually a thing
anyone should ever do by default. (It's an old keystone v2 thing -
jamielennox says it should be avoided like the plague) Make
operator_cloud consistent. (This will still honor interface=admin if
it's in the clouds.yaml file)
Change-Id: I432dc58d60fb56ce13332443435138354d66e9e1
commit e3d43e7396d95d6cfaa4ca0113108cbef22225b6
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Mon May 22 12:10:24 2017 -0700
Find private ip addr based on fip attachment
In the case of multiple private ip addresses we previous returned the
first private ip address found. That can cause problems if that IP
address isn't valid. Since the IPs are private the only real validity
check we can use is if the private IP address has a floating IP
attaached. Update shade to return the private IP that is attached to a
floating IP when there are multiple private IPs.
Change-Id: I86807c5149dfad72948ff6832a6697b594d1f195
commit 329b939241a218e09e03cb41ad4ac8f3bec3c2f4
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri May 19 09:44:11 2017 -0500
Add ability to run any tox env in python3
To test this I ran the pep8 tox env with python3 set - and lo and behold
there was a python3 mistake in a functional test. Whoops.
Change-Id: Ia93a2a85e420d164d67abee479ad498b5e6d3167
commit ee0112182a8e4a0c01546d472bb097f85ea2d8e3
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Thu May 18 15:14:49 2017 +0000
Fix issue with list_volumes when pagination is used
Change-Id: Iecf478d8c6352744bd58cfa437d34caf0f47021b
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
Fixes: bug 2001022
commit b9872da5f0bc95ed0b0aa196517e28ebe0fb3842
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 17 12:02:31 2017 -0500
Make sure security_groups is always a list
In https://github.com/ansible/ansible/issues/24675 we see that sometimes
security_groups is coming back None. The data model in shade says it's a
list, so make sure it is one.
Change-Id: I6db45ba7c3d630812ea58353d3eaddbb98cb8c1f
commit c19a797066348f44b8f478c60c28842083cfcc7f
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Wed May 17 03:45:54 2017 +0000
Updated from global requirements
Change-Id: I245f8b4e10a57d133443683ba115274ce2332bfd
commit 750e0a98032c27e2db7d3fbce75ddb1d613dad10
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 15 18:00:50 2017 -0500
Remove direct uses of nova_client in functional tests
We use nova_client in a few places for setup/teardown - but we're solid
enough at this point to just use ourselves for these functions. We're
_pretty_ good at deleting servers consistently.
Change-Id: Ifd12488752c036e4453c308a1aa6573c57d52944
commit 8235e0ce6cff00bfa84501865a3cf48511cdf2ec
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 16 18:12:41 2017 -0500
Keep a singleton to support multiple get_config calls
We are destructive to os.environ in the OpenStackConfig constructor- so
it really should only ever be called once. Make sure get_config does
this.
Change-Id: I279bdf68408a807ec18fba634df3769c9b8fc4dc
Closes-Bug: #1691294
commit 5991a5e72214a8c7bd12e7478f91f4aaa3a05d2f
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Tue May 16 12:18:08 2017 +0000
Updated from global requirements
Change-Id: I034286a50f55350269777e13331cda536f9c8b4f
commit 892b502251c08a930d62b146df5aac6f8bfe3f5c
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Wed May 10 16:54:59 2017 +0000
Remove designateclient mock from recordset tests
Designate client mock is replaced by requests_mocks
Change-Id: I839a4d83bb53214980fd87beb79454251335721b
commit 4199976762d53583814b371f51672eb4a7a06a50
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 15 16:09:37 2017 -0500
Convert list_server_security_groups to REST
The tests for this are already covered, the call just didn't get
converted.
Change-Id: I78f91dca0ec41207c433597bcf0fc6284bed73c7
commit f11edd7fdd6196ac4a74c33679efd5bbdba96e10
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 15 16:00:18 2017 -0500
Remove two unused nova tasks
ServerConsoleGet and NovaImageList were both used but still in the file.
Change-Id: I91a609b241eed497842a2a28ed41d2b1205913ca
commit dbb42fc6ffec6dad484c1813639d5ce0643bd644
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 15 15:42:19 2017 -0500
Include error message from server if one exists
Nova includes bodies in error responses that look like this:
{
"badRequest": {
"message": "Invalid input for field/attribute fixed_address.",
"code": 400
}
}
I recently had to look at HTTP debug logs to figure out a bug. Let's
include that data in our exceptions already.
Change-Id: I4b4b4702d772739b8f930ff6a3c1ad83987fed17
commit 9ecf600397aedd54236cbbb72bc8a080ea2f7a27
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 15 11:14:27 2017 -0500
Optimize the case of versioned image endpoint in catalog
We have version discovery for glance. However, if someone asks for a
version, and it's the version that they get from the catalog, we can
skip doing a full discovery run. Do that.
Change-Id: I2c0694ffc70bf2801de1fc187ba7b38e6a1b9d09
commit 40f66c70c3703e1ffd499562a99d724cffbe2c53
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 15 10:46:21 2017 -0500
Fix broken version discovery endpoints
In the version discovery spec, it is noted that both schema and netloc
on endpoints reported by version discovery documents are known to be
able to be broken, but shade was only fixing scheme. Update the code to
do the right thing. Also, add a test to ensure that this behavior occurs
correctly. While we're in the tests for this, have the discovery call
return a 300, which is what it returns. There are no bugs in this area,
but 300 is correct so we should test it that way.
Story: 2001027
Change-Id: Id04f6f033c9277e791b602f193d1eaf6ac73047f
commit e1dfc7228da2729919b54a03825a5d1840718510
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun May 14 07:53:12 2017 -0500
Remove cinderclient from install-tips.sh
It's removed from requirements - missed it in the install-tips helper
script.
Change-Id: If798251387bdb81da980ef9e8d9869f2b0738cbe
commit a88d41e3026497cc98b0779d82fb05ee8ea4e720
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 27 18:46:04 2017 -0500
Fix tips jobs and convert Nova Floating IP calls
The script to install the git versions of the libraries wasn't working
because it wasn't installing over top of the versions already installed
by pip. So by adding an uninstall first, we ensure that the git version
is actually installed.
Also, add a pbr freeze to the end so that we can verify, and some +x so
that we can see the output of our scripts.
And: novaclient 8.0 doesn't have these calls anymore. However, the tests we
had on legacy clouds were erroneously installing the wrong version of
novaclient so we did not catch it. Doh. This has to do the tests and the
calls in the same patch because the fix to the gate job to install the
correct verison of the library exposed the fact that we had be broken
for these for a few minutes.
Depends-On: I208e8c009d0438de19cd3eb08dc45ddebb45d3e9
Change-Id: I4fd882aeb8373b94c7f6b54d97b457042b324361
commit dc77e7d6c266d0278c13cdcaf5d46b2d07faeb96
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 11 21:11:31 2017 -0400
Convert first ironic_client test to REST
Add the various plumbing and convert one test.
Also, ironicclient prepends "v1" to all of its calls (joy) so there is
an ugly transition related to version discovery coming with this one.
For now just prepend it in our mock base class. When we convert calls,
we'll have to prepend v1 at the call site until we're done with the
transition. Then we can do a followup patch that'll do discovery and
remove the v1 from the code. Gross.
Change-Id: Icfd70267910d19a7da2ae8e9b9e4f24d2077b87d
commit f94880c6d835cda4cd33e5b55f7d81d3608b8f52
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun May 14 09:34:09 2017 +0000
Move mocks of designate API discovery calls to base test class
As API discovery call has to be mocked in each Designate's
test case it's better to move it to base test class and reuse
later.
This commit moves it to tests.unit.base.RequestsMockTestCase that
it can be added to mocks in setUp() method before each test.
Change-Id: I3f00c2d51619d634e4e44f3ebf276949544c8575
commit be0a0c99f3ebcb80e7a71226557bd2a96f75af73
Author: Paul Belanger <pabelanger at redhat.com>
Date: Sat May 13 15:10:17 2017 -0400
Fix exception when using boot_from_volume for create_server
It is possible for create_server to accept a dict for image, however
_get_boot_from_volume_kwargs did expect that. This created the following exception:
Traceback (most recent call last):
File "/opt/stack/new/nodepool/nodepool/nodepool.py", line 358, in _run
self._launchNode()
File "/opt/stack/new/nodepool/nodepool/nodepool.py", line 290, in _launchNode
volume_size=self._label.volume_size)
File "/opt/stack/new/nodepool/nodepool/provider_manager.py", line 235, in createServer
return self._client.create_server(wait=False, **create_args)
File "<decorator-gen-6>", line 2, in create_server
File "/opt/stack/new/nodepool-venv/local/lib/python2.7/site-packages/shade/_utils.py", line 393, in func_wrapper
return func(*args, **kwargs)
File "/opt/stack/new/nodepool-venv/local/lib/python2.7/site-packages/shade/openstackcloud.py", line 5517, in create_server
volumes=volumes, kwargs=kwargs)
File "/opt/stack/new/nodepool-venv/local/lib/python2.7/site-packages/shade/openstackcloud.py", line 5333, in _get_boot_from_volume_kwargs
cloud=self.name, region=self.region_name))
OpenStackCloudException: Image {'id': u'1cb47019-08a4-4b9c-ae62-737b547648b6'} is not a valid image in devstack:RegionOne
Now, check if image is a dictonary, like we did in create_server. Also
add an ansible test for os_server so we additional code coverage.
Change-Id: If58cd96b0b9ce4569120d60fbceb2c23b2f7641d
Signed-off-by: Paul Belanger <pabelanger at redhat.com>
commit a483534123640eca2bcbf7c06920be3a2a01b090
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 13 08:45:26 2017 -0500
Revert "Revert "Use interface not endpoint_type for keystoneclient""
Unrevert the endpoint_type/interface patch. But this time around, put in
a check for API version 2.0 and only apply the interface arg if it's for
v3.
This reverts commit 4493871824839782846c3825c754895876f8d08e.
Change-Id: Ib347ec686d4d01788ee943c4c4f809aad06d9ccf
commit 4493871824839782846c3825c754895876f8d08e
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Wed May 3 13:11:10 2017 +0000
Revert "Use interface not endpoint_type for keystoneclient"
This reverts commit 38e5eba621e48d74c05315da2b89e6c801f4c43f.
This patch introduced a bug when using Keystone v2. With this patch, the
following works:
python -c "import os_client_config; print(os_client_config.make_client('identity', auth_url='http://localhost/identity_admin', username='admin', project_name='admin', password='testtest', identity_api_version='3').roles.list())"
But changing identity_api_version from 3 to 2.0 raises an exception.
Without this patch, both 3 and 2.0 works.
Change-Id: I8d2ad71ff51a08af1166d36805b740ea272939ed
commit 1c0a95ba8f9fda57e0a094c86393bae546f89f23
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri May 12 10:58:46 2017 -0500
Move legacy client constructors to mixin
Remove them from the main class to make them slightly less obvious.
Change-Id: I72b32d992c71777155c22b51ce4c7868e19d44c1
commit 7a3acde3ed8a68acc15596be2d297426ee357084
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri May 12 12:05:50 2017 -0500
Add ironicclient to constructors list
Change-Id: I29db3c830759a80d8ea9f0d93a213b4bae4c8b59
commit 103bc13862639e6bfe942843c095230f3d6ddf89
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri May 12 11:52:41 2017 -0500
Fix pep8 errors that were lurking
Something about how we were doing legacy client constructors
was causing pep8 to fail open. The next patch fixes that, but these are
the pep8 errors that snuck in while it wasn't working.
Change-Id: I080fd1730fcbc4cd30860963a89dad6ccf3d4f2f
commit 3f76b25798984cb3a4dabaf91ca5338782254465
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Wed May 10 14:48:05 2017 +0000
Remove cinder client
Change-Id: I585da9a60757da8020b8e1086ae8d8375a9ce364
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 3ed97257ec51c3bf42c39d5db142426f8c51dab8
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri May 12 09:45:36 2017 -0500
Make deprecated client helper method
We had a bunch of cargo-culted code inside of the deprecated
client factory methods. Make a helper method so that it's easy to mark
one as deprecated correctly as we do.
Change-Id: Iedc859876c4adc4ccdadd580c5b686e0bda798f0
commit d3b653f23cef0cb0aef45e2a322a54e0626a7336
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 11 21:09:47 2017 -0400
Add 'public' as a default interface for get_mock_url
The calls are almost always 'public'. Make it the default.
Change-Id: I0923b79d88e839aa4331afb987d27a3200b3b01f
commit ef35f02ea61a96ef025923cc3653bb67b4ef03ad
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 11 21:08:38 2017 -0400
Add super basic machine normalization
In prep for ironic_client conversion to REST, make sure we're
removing the novaclient artifacts.
Change-Id: I8ef1c5e87492310821c1a0e8ab7e2144c6a10dbc
commit d1d9ed7cd428e55a8e6b7f124a90659da739b69a
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue May 9 21:46:20 2017 +0000
Remove designateclient mock from zones tests
This patch adds also dns service to service catalog
mock used in tests.
Change-Id: Ic7ce778f58e9fd28951eb02067f6bbf86a14b0cd
commit 61141ae9cff44f20e6ad7ce8dfd71b47ef088b2c
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Mon May 8 19:23:12 2017 +0000
Remove direct calls to cinderclient
Change-Id: Iad89e4a0c13e28f545b2d164417b60ee39cb5b12
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit fcaf06c3f2d1738590c2ff81a5de45c510a341df
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun May 7 07:30:32 2017 -0500
Add "Multi Cloud with Shade" presentation
Check it out - when we write presentations in presentty, we can
add them to our docs!
First given at the 2017 Boston OpenStack Summit.
Change-Id: Ia46a6f32b6b374974fba7b620b202f8eadc774a1
commit 7801de73ed57c015758ce7b2d69f53199f3410ae
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Mon May 8 14:40:14 2017 +0000
Use REST API for volume quotas calls
Change-Id: I73c5448edbd5ba7bc36f7e709c128136916073fb
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit b6926bb8e5e07b425809beb5773aa39b64feda98
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 8 09:48:11 2017 -0400
Add pprint and pformat helper methods
Because of munch - using pprint directly is weird. Make a helper
method that does what the user expects.
Change-Id: I617b75034a59118c170895ad20b86fb8a1eab386
commit 347fe82c929bb9b8aba5aee504bbe3eaf1e8bf04
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 8 07:20:53 2017 -0400
Add helper method to fetch service catalog
Grabbing the catalog is weird. OCC should help.
Change-Id: I6e7176568311c1f0e644a8e8876f56c3e153d6e8
commit 2f8285db7211b7b59f3ddb996f40a175990edf89
Author: Christian Zunker <christian.zunker at codecentric.de>
Date: Fri May 5 10:46:57 2017 +0200
extend security_group and _rule with project id
This allows admins to manage security groups and rules across
projects.
Story: #4193
Change-Id: Iaea4d14baec377f1885bd2e00fafcc889ca1ba94
commit 81239f6742a22415492fe65873f9606b6734173d
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun May 7 22:15:15 2017 +0000
Remove neutronclient from shade's dependencies
All calls to Neutron API are now done with REST calls made
via keystoneauth1.
Shade don't require python-neutronclient package for now.
Change-Id: I0aa6f32b10986e99d6f86cad9640d9d95b5d2cef
commit 1a8cb0aac20479309cca1da71d027aa23e047d64
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Sun May 7 17:30:50 2017 +0000
Remove cinderclient mocks from quotas tests
Change-Id: Ibce1d58309cf63a23ad8fb0e9ce89fb3b3de21fe
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit e00ff9c7194e7b62c34c2a13ac5d2e73ca67cf9c
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun May 7 19:50:03 2017 +0000
Fix Neutron floating IP test
Test test_create_floating_ip_no_port was did wrong during
transition from neutronclient mocks to request_mocks. This test
expects raising error and error was raised but from wrong reason.
Now test is using proper data and exception is raised with
good reason.
Change-Id: Ic965c66c2507fe4adbd42f159c11666199208b39
commit c43f1d81e3c02e6781684097407cbc5c18806c66
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Sat May 6 20:48:52 2017 +0000
Use REST API for volume snapshot calls
Change-Id: If6fda6bcc0455d086779d134e00417d72f1f4e92
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit ad516fba6de1dd0a619083cd3ef1392f7070aaff
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun May 7 15:26:18 2017 +0000
Remove usage of neutron_client from functional tests
Neutron client was used in functional tests to add/remove
router interface and to remove external_gw from router.
Now shade can do such operations so shadeis used for that
and neutron client is no longer needed there.
Change-Id: Idf3e0329eef8c3ad6aebe7dd132f146d54f767cb
commit 55ef1369b63d5590e6b88b50d143cd259ae47aac
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun May 7 11:14:04 2017 +0000
Enable neutron service in server create and rebuild tests
Instead of mocking Neutron client calls to Neutron are now
mocked by request_mocks in tests for create and rebuild servers.
Change-Id: Ic90ad8f8468254a935e9e134348f599fa3079bba
commit 072be85da12914624f287f80dc9f57696b01e84c
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun May 7 11:06:42 2017 +0000
Replace neutronclient with REST API calls in FIP commands
All commands related to Neutron's floating IPs like
list/create/attach/detach/delete are now made via
keystoneauth
Change-Id: Ifd739bbb2fe170cea2114816830d002c55ce2e45
commit 81d39a9ea0265c72bb46238e8a9989538be735aa
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Sat May 6 19:23:35 2017 +0000
Updated from global requirements
Change-Id: I3e7455e3f1bed53cbb3e9d64351d1536c82dc650
commit b39045069fc2e562f4b7b1e36316628b0fc59e16
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Sat May 6 16:04:05 2017 +0000
Add assert_calls check testing volume calls with timeout enabled
Change-Id: I4203f0de012b3d84ece3ba7749568f39c92dcfeb
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit f7f54d0ddbc8695f7efd9b8b27a95b04a686efc5
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sat May 6 15:16:37 2017 +0000
Remove has_service mock from Neutron FIP tests
As we switched FIP related tests to use request_mocks
and Neutron is in service catalog in tests there
is no need to mock has_service() method anymore.
Additionally one useless mock of get_server() method
was also removed.
Change-Id: Idb6a8afbba7720548faefad1ab60b1bc582d1c10
commit 4b75c85e184fed7f5bbad292c5d1f11bd076a926
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Fri May 5 23:40:01 2017 +0000
Remove cinderclient mocks from snapshot tests
Change-Id: Ib753f7db64cad35bc47fb6abf20bccf41202cd2e
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 24494880f8241fee38cf75afbe4b594cd4f6dd60
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Fri May 5 23:23:08 2017 +0000
Remove neutronclient mocks from floating ips tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: I5fcdd0c07d2ec3627e73598615940b555883612a
commit 689d3bb9ddb69897238e48eb1dfb13763d2a3ec9
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Tue May 2 13:18:35 2017 +0000
Use REST API for volume attach and volume backup calls
* Also remove unneeded call to shade_exception
in the detach_volume method.
Change-Id: Ic8f63453ab11e39a28fbfe5027f95ba41c59fadc
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit f52448d8cb4af6ee46434f34c87368eca2f3544e
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue May 2 20:45:29 2017 +0000
Replace neutronclient with REST API calls in ports commands
All ports related commands to Neutron like
list/create/update/delete are now made via
keystoneauth
Change-Id: I145b9347cf0be5e459bb025f9d92958176e6e7a2
commit f7b1eb5c60f83374fa8f5e3d5bad188a7565beeb
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue May 2 20:33:34 2017 +0000
Don't get ports info from unavailable neutron service
In shade.meta._get_supplemental_addresses() Neutron API was
called to get ports list even if cloud.has_service('neutron')
returned False.
Now it's done only if Neutron service is available.
Change-Id: I30ff7a8d049ef0bac025ac21185deb50760144cf
Closes-Bug: https://storyboard.openstack.org/?#!/story/2001011
commit a2aad709fb76a46716311193868d5358c2555e3e
Author: Mike Perez <thingee at gmail.com>
Date: Tue May 2 10:07:34 2017 -0700
Removing unsed fake methods and classes
These are being mocked otherways now.
Change-Id: Ica242ff6a48508f616ca5dde90a77d588f8d2bdb
commit 77bac2b9d03c1a7a3b53cf4ae388354ffc553568
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Mon May 1 11:27:08 2017 +0000
Replace neutronclient with REST API calls in quotas commands
All quotas related commands to Neutron like
list/create/update/delete
are now made via keystoneauth
Change-Id: I5f0cb3e174c2f5453d2fe760bb39b2140fe1f201
commit cbc233d0e70fb603004c16cace3698f9ef3bbe4b
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Mon May 1 14:00:54 2017 +0000
Replace neutronclient with REST API calls in security groups commands
All security groups and security group rules related commands
to Neutron like list/create/update/delete
are now made via keystoneauth
Change-Id: I875e8780ac28cbeb46c80f67629f98a86fd57160
commit bcc7ea694ab78e0903c3a2075102afe3bb47eda2
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Mon May 1 01:42:49 2017 +0000
Use REST API for volume delete and detach calls
Change-Id: I0267899b4fb1dbb277ef969663ff82eadf465879
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit be9275178185feceaf95dd859afacec3979b8320
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Sun Apr 30 22:11:42 2017 +0000
Use REST API for volume type_access and volume create
Change-Id: Ibf3e16d7e2faab3ed9afe7e2b69216b59aceecdf
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit f430b9483eabcbf9796e0ec6ca043c94159554be
Author: Rosario Di Somma <rosario.disomma at gmail.com>
Date: Wed Apr 26 17:20:26 2017 -0700
Refactor the test_create_volume_invalidates test
Simplify the logic a little bit to make the switch
to the REST API call easier.
Change-Id: I8eee73f7d59d4def45b788be08c5170c1f6820c2
Signed-off-by: Rosario Di Somma <rosario.disomma at gmail.com>
commit 7abe4e9422d907f281c86aa09a48d8fabc3c48d3
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Thu Apr 27 11:20:25 2017 +0000
Replace neutronclient with REST API calls in router commands
All router related commands to Neutron like
list/create/update/delete/add_interface/remove_interface
are now made via keystoneauth
Change-Id: I81592285268030e4868ef6b522bc7937a31c756e
commit 478d4ba101b1c1f581ab48cb1bdf82917a928e52
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 30 10:35:57 2017 -0500
Move REST error_messages to error_message argument
The with shade_exceptions is not doing what is expected here - since it
passes OpenStackCloudException objects on unmodified. Instead, use the
new error_message parameter to continue to give friendly error messages.
Also - wow, we were mocking _compute_client for the nova extensions
tests. I believe that was become those pre-dated our use of
requests_mock. Anyway, that's super lame (and also broke because of this
patch), so it's now fixed.
Change-Id: Ia764cc76d724a8a732fa2b1209a138634a25a9e1
commit 944556e992eb21f060adb04cdf7093bc8ac4fbb9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 30 10:23:46 2017 -0500
Remove two lines that are leftover and broken
Not really sure how these crept in - they never would have made sense.
Also not sure how this codepath _worked_ in the live test I used (with
the results in IRC) - but they definitely break as they should when
triggered in unit tests.
Change-Id: Iddc69cbd325c7a3a25cde48a2b2bddb01826c0ff
commit 17ab75b0a3350bcc87673d11cce12551fcec2a77
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Tue Mar 21 16:58:29 2017 -0700
Convert test_role_assignments to requests mock
Stop mocking keystoneclient objects directly.
Change-Id: Ibb441ba7a3de50201e96310b9aca5bea628fae01
commit 05f16004187a8e1fbf42d1b164e37b5d98deef7f
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sat Apr 29 20:45:41 2017 +0000
Remove neutronclient mocks from sec groups tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: I2a9516e7d7da7f604efb7a4c747674dc761de192
commit 20793660ec0b0429c5aacaa1c5fd70c8ea8f576c
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Fri Apr 28 20:59:01 2017 +0000
Remove neutronclient mocks from quotas tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: Ic6fc4f4f29bb28cd865e39191c2ed79977500cd5
commit b9073b5698a708e82dc0cddd218cb922871fdcd5
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Fri Apr 28 20:40:26 2017 +0000
Remove neutronclient mocks from ports tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: If6cbe3c926ead8e0fbabcf602cf0ea8db9fec922
commit e81bec084a7154a8bac206eded94587dafb950b0
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 28 08:12:45 2017 -0500
Add optional error_message to adapter.request
When we make REST cals, sometimes we want to provide a more helpful
error string. Add an optional argument to the calls to allow this.
Change-Id: I797e34cda9f27c18d66a42fd5860fe572fa55ada
commit 17debbb09907b83d5781ad683f4b72c9eb1ce221
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 28 12:46:44 2017 -0500
Fix interactions with keystoneauth from newton
keystoneauth in newton did not have app_name or app_version
as Session parameters. Although it isn't a super common combination,
user agent strings aren't a reason to break something. Add a
simple workaround.
Change-Id: Ib5774389fefdbc190a4b78dd6784c8006afbb270
commit 8a4f99720f9b84f49dee9793c7712b4646485420
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 27 19:42:01 2017 -0500
Add in a bunch of TODOs about interface=admin
keystone v2 needs to use the admin interface for a set of calls. We
can't change that on a per-call basis until we're using REST - but once
we are, by golly, make it happen.
Change-Id: I8e77c1b0babb44bb44411f87b6567118a99d1aeb
commit a5c49cb0ef04b9e076546527cd03d775ab5b81ff
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 27 19:01:30 2017 -0500
Set interface=admin for keystonev2 keystone tests
Keystone v2 needs to perform admin tasks over the admin interface.
Be explicit about doing that.
Change-Id: If3352fccd244a5515af8d4f95c9992df74cfb39d
commit 60569b2fbc24c8a07c07d47b0608744e654d807d
Author: Rosario Di Somma <rosario.disomma at gmail.com>
Date: Wed Apr 26 07:40:25 2017 -0700
Add a _normalize_volume_backups method
Change-Id: I597a8a8b113ebded06efb727169998dd0ba98c2c
Signed-off-by: Rosario Di Somma <rosario.disomma at gmail.com>
commit ca2f10b2e65cddf634d5b9d6f7b252e43e4bc93b
Author: Rosario Di Somma <rosario.disomma at gmail.com>
Date: Tue Apr 25 17:27:55 2017 -0700
Use requests-mock for the volume backup tests
Change-Id: I88d7351a2fc147224542898d08e2a769a62577a0
Signed-off-by: Rosario Di Somma <rosario.disomma at gmail.com>
commit a71bea882d9157d19e829dd2cc61fe6ec48575a3
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue Apr 25 21:39:41 2017 +0000
Remove neutronclient mocks from router tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: I54769c34fef4f64150461fef47881bd400313335
commit 8b6ae89268f90e90c6b564e5fcd0615476448c88
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Tue Apr 25 12:07:00 2017 +0000
Replace neutronclient with REST API calls in subnet commands
All subnet related commands to Neutron (list/create/update/delete)
are now made via keystoneauth
Change-Id: I0e0f16f5fb9be7d288b5aa503f4fa6ad51a17aea
commit b964757de8dbf9bf0ea7d79923fd5f040816ece4
Author: Rosario Di Somma <rosario.disomma at gmail.com>
Date: Mon Apr 24 11:22:02 2017 -0700
Define a base function to remove unneeded attributes
Many of the _normalize_* methods are removing the same
attributes, let's have just define a base function that
does that.
Change-Id: I5fb9f8fdb14db0889b2f7a63415218b8774cc7bc
Signed-off-by: Rosario Di Somma <rosario.disomma at gmail.com>
commit 66e3168f954082173d0bce78df9f2c6bcf1ec29e
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Mon Apr 24 21:37:53 2017 +0000
Remove neutronclient mocks from subnet tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: Id6cf281d9a9e8f891812ad081c32272a3e7f3438
commit 80ebf88bc28be12ea4d09135fc996787b8baec2b
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sat Apr 22 19:00:52 2017 +0000
Replace neutronclient with REST API calls in network commands
All network related commands to Neutron (list/create/delete)
are now made via keystoneauth
Change-Id: Ifa179c062c164d7e48e8a09c52e554dce5ddd1cb
commit 1c0c81fe09ba69413e6b6e55d8823741dc58be47
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun Apr 23 20:19:31 2017 +0000
Move router related tests to separate module
All router tests were in common test_shade.py file.
Now all those tests are in separate test module,
like it is done for network related tests.
Change-Id: I9eee8c676280ea08b8e2c5fb70c1b63f746f4819
commit c21447733a40db1fa4a21440118295cba4176e29
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Sun Apr 23 20:41:20 2017 +0000
Updated from global requirements
Change-Id: I1318331dd1b8bae151416b35016e11e7223c34e8
commit 65c350f7847ded8cc98b6a5993d07d53ce11f53f
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun Apr 23 20:09:17 2017 +0000
Move subnet related tests to separate module
All subnet tests were in common test_shade.py file.
Now all those tests will be in separate test module,
like it is already done for network related tests.
Change-Id: Id026ba11d4ea26dc94fb3670ec93ab2f46813236
commit cee8b6c56440819d5f14ce947cfc511d4f83021d
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun Apr 23 19:58:34 2017 +0000
Fix list_servers tests to not need a ton of neutron
It was fixed for rebuild/create servers in
Ia877232b8dc167a8414f1601ea82708ff5aa2be9
but same issue was also in test_list_servers_all_projects
and this commit fixes it for this test.
Change-Id: Id901c307f1e11e2da48e41b29c363870d4c61bdf
commit 950c4500e2f2bcff370146d88f016e6ef84e56ad
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sat Apr 22 20:06:57 2017 +0000
Remove neutronclient mocks from network create tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: Ied57f41694d1c4f934439c52799f4c87794db0a5
commit ff2c06c30538edb9cb47b83f0a194f7893a7f458
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Sun Apr 23 17:42:47 2017 +0200
Make _fix_argv() somewhat compatible with Argparse action='append'
Python Argparse supports the 'append' action [1] which is super handy to allow
a user to repeat several times the same argument, each time with different
values.
This doesn't work with occ that tries to "fix argv" but raises this error:
os_client_config.exceptions.OpenStackConfigException: The following options
were given: '--foo,--foo' which contain duplicates except that one has _
and one has -. There is no sane way for us to know what you're doing.
Remove the duplicate option and try again
This patch tweak the _fix_argv() function so that it doesn't explode
if the duplicate option has no '_' not '-' in its name.
Change-Id: I4f06b6aff8d3ab1df45637399bc3a9b4b61764a9
Related-bug: #1685630
commit d1d670666ba81faed8cc7898ab0dc77ef80ac05e
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sun Apr 23 08:15:21 2017 +0000
Remove neutronclient mocks from network exceptions tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: I488de8613a2e2580f49533b319603d159f7dc832
commit 0a39c015bccebd86af331bb39709e670631b2a9e
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Sat Apr 22 20:43:00 2017 +0000
Remove neutronclient mocks from network delete tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: I71df04e886d0c08ca29fe141f41961d833138b74
commit e61a5c0418db13da8d9d13f460b9a7acccdd8b97
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Fri Apr 21 20:28:50 2017 +0000
Remove neutronclient mocks from network list tests
Neutronclient mock is replaced by mocking REST calls using
base.RequestsMockTestCase class
Change-Id: I8fd72845afa62fa5fdf351c666d23aae31757bba
commit 258a6a33ba375fbf638426fd178aae498d8e86d6
Author: Rosario Di Somma <rosario.disomma at gmail.com>
Date: Fri Apr 21 16:16:40 2017 -0700
Use requests-mock for the list/add/remove volume types tests
Change-Id: I03aac75375b0f34678f8dc0b953fb2a0cd797150
Signed-off-by: Rosario Di Somma <rosario.disomma at gmail.com>
commit 09af82b11770a4586dca8714f907bffd65dab3c2
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 21 17:44:01 2017 -0500
Fix create/rebuild tests to not need a ton of neutron
The tests are testing nova interactions, but because of _expand_server
they call neutron a bunch. This is hidden with neutronclient for some
reason - I'd look in to that more but we're deleting neutronclient
anyway.
To avoid us having to add a bunch of network mocks that are noise to the
tests, fake out has_service to return false for neutron to skip the
calls. We can then add them in on a case-by-case basis as needed.
Change-Id: Ia877232b8dc167a8414f1601ea82708ff5aa2be9
commit 7a2b5792522a14c0fc39490e407bbddddc8d7189
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 21 17:20:26 2017 -0500
Don't do all the network stuff in the rebuild poll
When we're polling for completeness during rebuild server, we do not
need to make all of the network calls to fill in network info.
If we wait for the server though, we do return the server to the user,
so fill in the info once at the end.
Change-Id: I78aaf995cb83a88fef9414c17b6bd7fca21fe3c3
commit 5dae1875ec70ef32791be41acd0a4a441b7afbd4
Author: Sławek Kapłoński <slawek at kaplonski.pl>
Date: Fri Apr 21 21:03:58 2017 +0000
Move unit tests for list networks to test_network.py file
This file is place where all tests related to networks
lives so tests for list_networks should be also there.
Change-Id: I3aa7254f66a100d269deefef725dff036488efd2
commit 4f807b8c60f32f61003d5008ed715e802f0df039
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 21 09:57:09 2017 -0500
Include two transitive dependencies to work around conflicts
For people installing released shade from pip and then trying to use it
somehow through entrypoints, 1.20.0 is currently broken because of some
transitive dependencies, ordering issues and conflicting exclusion
ranges.
While this is by no means a comprehensive or sustainable solution to the
problem, it does unbreak the end users currently broken and is not
terribly onerous. Both of these additions are tracked in g-r and both
can be removed when the dependencies that pull in conflicting ranges of
things are removed.
Change-Id: I6a4a1ab5ab109f0650873201868e0f1c4d09c564
commit 0bfdaf4e0bda20cb9aa8d2a22688eb4b55da0d6e
Author: Rosario Di Somma <rosario.disomma at gmail.com>
Date: Wed Apr 19 07:05:07 2017 -0700
Use requests-mock for all the attach/detach/delete tests
Change-Id: Ibc70e1b9565d1494e196e818274c5fcee6e8bc05
Signed-off-by: Rosario Di Somma <rosario.disomma at gmail.com>
commit 5c0f3f5a5de0a128a4a02342c83415fb73895705
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 20 10:55:57 2017 -0500
Remove stray line
Thanks Jens!
Change-Id: I88801842705dcb1374640b3178423f6f987799e4
commit d5396cf35cd5d4b792d24590375401aa1177ad0e
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 19 10:40:22 2017 -0500
Strip trailing slashes in test helper method
A recent patch by Rosario pointed out a flaw in get_mock_url. Luckily,
it's an easy fix.
Change-Id: Iff12fb36832a5757321bbcc36728b959899b45cd
commit 49fe112b85a80935065809f0c6b80b4c867caae5
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 19 07:41:21 2017 -0500
Clarify some variable names in glance discovery
I'm bad at naming things. This was unreadable. Update the variable names
so it makes sense and add a comment.
Change-Id: Iacbaeed91d71dca35c6fdd7d07999bd5956430fa
commit 02e6371b8115fb1e8c2a0d9288e49a3f9712b302
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Tue Apr 18 17:20:49 2017 -0300
_discover_latest_version is private and not used
Change-Id: I978fd77457791e2005edd1050886ce5840daf8d4
commit afed15f37130b841d6e523a468cd9d6cfcdfc791
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 18 13:57:58 2017 -0500
Remove extra unneeded API calls
The create and update calls to nova security groups return the security
group. There is no need to issue a GET.
Change-Id: I068ae5b46954d0c3b0c8be67b80f3eed1be1f55b
commit 4c67e76376569cb6f33653c4554b2f9ec514d33d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 18 11:53:55 2017 -0500
Change versioned_endpoint to endpoint_uri
In this context, the word versioned_endpoint is confusing.
Change-Id: I89b6faadbb3666e867e61d321e1cc096589589cf
commit b459c8de5cba1692db0c21e8e45d04a11d182e7e
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 18 11:30:59 2017 -0500
Futureproof keystone unit tests against new occ
We have a version of OCC coming out that fixes how keystoneclient is
constructed. The fix is good - however, it breaks a couple of places
where we're mocking to the old behavior. This will all go away once
we're done with keystoneclient-ectomy, so for now just put in a version
detection switch.
Change-Id: I9d4908ef12d40868dc207b130e3244577b9870e9
commit 3b8ef1b88abe01b9b7510d8a0cd4179e3f0e59d5
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 18 11:13:02 2017 -0500
Actually fix the app_name protection
The previous "fix" just disabled the app_name protection for python3. Go
with Jens' suggestion (the easy route) of trying, and if that doesn't
work, retrying.
Change-Id: Ie4d1091b0f1fc6e1c9d9a2c935a458ea5ce55af3
commit 26c834c10efbcb338d26ca02fabf79f704e3b6de
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 18 09:49:29 2017 -0500
Replace nova security groups with REST
One more set of things down.
Change-Id: I02f81382693e30513a3fe85c49450f84f8c3d64d
commit 8d94ef15a485ef83cda4f42ecea78758c1b228f0
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 18 05:01:48 2017 -0500
Transition nova security group tests to REST
novaclient v8 doesn't support these calls anymore. Transition them.
A few fixes in the non-test areas related to normalization. Also, we
allow users to pass in a dict to bypass server lookup, but then we
assume an object when we use it.
mocking the clients hides terible things. Yay requests_mock.
Change-Id: I39952800414058d7f8a77dfca7610bc8c1fcfd18
commit dfec0ca2afe4035c62d3f3e99b5ab973e9dbb698
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 18 04:32:29 2017 -0500
Remove dead ImageSnapshotCreate task
We removed the use of this already. Remove the task.
Change-Id: Iba30a78f591257ba7a10f90b823f95cc91bb98b6
commit 0cbed4fbafb7d9adff2f43a9dba342084aec80d6
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 12 09:59:25 2017 -0500
Pass in app_name information to keystoneauth
keystoneauth (and os-client-config) support passing through app_name
and app_version. These affect the user-agent string. Allow our users
to set app_name and app_version.
So as not to cause an os-client-config minimum bump, check the arg list
of the occ constructor and only pass in app_name/app_version if it
accepts them. (This is informative and neat, but not, you know,
essential)
Change-Id: I515f93168adf35adc2521339255369b1ccfdfe0a
commit 5adcef04eb6f42d80c93a8875a2090cfd424aad5
Author: Rosario Di Somma <rosario.disomma at gmail.com>
Date: Tue Apr 18 07:22:01 2017 -0700
Use REST for cinder list volumes
Change-Id: Ifacc5fac67f08b62886ac64652996263d6642cfd
Signed-off-by: Rosario Di Somma <rosario.disomma at gmail.com>
commit 64b28d42eda595a6fb4ee8b46d93cd61e612aae1
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 2 11:22:34 2017 -0500
Add ability to pass in user_agent
keystoneauth supports adding a user_agent info to the Session and
Adapter via app_name. Allow users to add app_name/app_name and versions as
desired. Also, add os-client-config into additional_user_agent.
As an example, once this is landed and plumbed through shade,
nodepool will set app_name='nodepool' and we'll have:
User-Agent: nodepool/0.4.0 os-client-config/1.26.1 shade/1.19.1
keystoneauth1/2.18.0 python-requests/2.13.0 CPython/2.7.12
Change-Id: I1eb4dbd2587dcbe297b5c060c3c34b68ef51ef5e
commit dc6ed6965537ab3f3bfb4666f5b82676cc7eefb8
Author: Rosario Di Somma <rosario.disomma at gmail.com>
Date: Thu Apr 13 12:04:05 2017 -0700
Upgrade list volumes tests to use requests-mock
Replace the python-cinderclient with a direct REST
call for the `list_volumes` method.
Change-Id: I2859d73a70a78236c254aa5cf8a18c3e3d93df1e
Signed-off-by: Rosario Di Somma <rosario.disomma at gmail.com>
commit 15d64f2af5d9f45ba91bc7f4f5f48402ab8c339b
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Mon Apr 17 17:11:00 2017 +0000
Updated from global requirements
Change-Id: I84c807adf93913bc411954c59040ab780e2eb04e
commit 8082cdff7129c999ab0bee3961bb6cf5369e24cf
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 13 08:59:55 2017 -0500
Pass shade version info to session user_agent
After chatting with jamielennox, the better way to deal with user agent
setting in shade is to push it onto the additional user agent stack.
Older keystoneauth doesn't have this attribute, so protect it with a
hasattr.
Change-Id: I35985c834a899a6ef3279dae25eb453d953ff70f
commit 9cd5bf900437101476e447d4e15eddf144199a23
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 13 09:06:39 2017 -0500
Use keystone_session in _get_raw_client
We're bypassing our local session object when we construct the adapter
and instead getting a raw one from occ. This becomes aparent when we try
to do things to our local one and they don't show up in the one used by
the adapter.
Change-Id: I91673527ebe1e1446dfc6efb8c495694a4a65c6b
commit d5982e8ffd75f51af1eeeb9568bf34bd9a2e482c
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 12 09:18:11 2017 -0500
Don't fail on security_groups=None
We currently put whatever is in security_groups into a list to be
friendly, but this breaks if security_groups is None. It should stay
None if it's None.
Change-Id: I571c05bf8353f2ec5ad34ed31040032f2daefd25
Story: 2000828
commit d12032d14752a7574e414ad0e089d39f34cba2ef
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 11 15:13:57 2017 -0500
Stop defaulting container_format to ovf for vhd
It turns out a basic vhd file is in bare format, not ovf - and bare is
a perfectly sensible thing for vhd files to be.
Actually, even past that, it turns out that container_format is
essentially ignored by glance, not being very useful. disk_format is the
important bit for external consumers.
Also, we grab disk_format twice.
Change-Id: Idc90a8542e1351da641e42aa67d8fa1c37b544e1
commit 049b4cef420d239210148790d7b627bfb5197435
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 6 10:26:29 2017 -0500
Don't run extra server info on every server in list
If someone is just doing a get, there is no reason to fill in the extra
information for EVERY server in the list. This makes ansible modules
especially slow.
Instead, if get_server is called, prevent list_servers from doing the
expansion and instead do it late just on the one requested.
Fixes: ansible/ansbile#23354
Change-Id: I42773b292b11f1faa26cf9193b2d0435d9455dd0
commit ccf7cca47372249f6df392670e8c1baa061278b7
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 6 09:23:40 2017 -0500
Use REST for neutron floating IP list
Wow, turns out we already had the tests fixed. How did we do that?
Change-Id: I1c26a6f817ef7e7d67ba2e560da1149bc4345fbc
commit f956aed405c2837bcef48e0e7ddd34e06ad046a5
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 2 11:14:31 2017 -0500
Migrate create_image_snapshot to REST
Change-Id: I6cb8a26bf9d6189ecc18ee7fbde44f37c131aaa8
commit aa58173f0d60a8f04318b51ff6d1490e7ee10cfb
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 2 15:53:06 2017 -0500
Add ability to configure extra_specs to be off
We fetch flavor extra_specs for each flavor for consistency with old
behavior. However, it's costly and often just simply not needed.
Query clouds.yaml for extra client settings and if "get_flavor_extra_specs" is
set to false, set the default for list_flavors to false.
Change-Id: Iaea1c41e8e0ae504cb080d7d37407de12be96fd1
commit 413965c33101197ed86b742e3f8aee1764fda323
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 2 09:11:02 2017 -0500
Migrate server snapshot tests to requests_mock
Change-Id: Ic6a489ac25688b7666a6a130f7daf43841909f30
commit cf54ef6b9203d9afcb9c9e50ab19bad73094015d
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 31 11:58:00 2017 -0500
Add test to validate multi _ heat stack_status
According to the Heat API docs, there is a status of IN_PROGRESS which
can cause the old code to fail. Add a test that sets that stack_status
so that we ensure we don't regress on splitting the stack_status.
Change-Id: Ibb1143ffd47465d1640f17bf4319425e6db1f4d1
commit 97b9ac6beb730b00201351bad4efed32cf0fc605
Author: Sorin Sbarnea <ssbarnea at redhat.com>
Date: Fri Mar 31 17:56:43 2017 +0100
Fixed stack_status.split() exception
Change-Id: Idc76dde81ee71a0a81dfb9db33627c15e878268f
Signed-off-by: Sorin Sbarnea <ssbarnea at redhat.com>
commit 88d8a37cfae9b23acfeda76b354880e68de8c96f
Author: Jamie Lennox <jamielennox at gmail.com>
Date: Wed Mar 29 11:11:59 2017 +1100
Add server security groups to shade
We need a way to add and remove security groups to a server in shade.
This will let us modify them from ansible.
Change-Id: I5602e44720485e20491cf4930605362312274b20
commit 7e92e93104cfef6a2e6271d8d81fb4f2961f0c50
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date: Thu Mar 30 14:03:25 2017 +0000
Updated from global requirements
Change-Id: I87c2f41a041ebf80a97f1f4b6100800b68f4f137
commit c1984b636ee9fc6101c28bb57723d2d490b04586
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 29 03:53:14 2017 -0500
Add bare parameter to get/list/search server
The bare parameter tells shade to skip all additional calls it makes to
fill in extra information on the server record from other services, such
as fixing the addresses dict. This is useful internally in shade where
there are times when one is getting the server dict just to get its id
so other operations, such as getting the console log or attaching
security groups, can be performed.
Change-Id: Ic9cc6e8be4f4e30f76d3abb655d9a3cf0cb9918b
commit b31e9aa777a028e34814499d6821ac1c1bfbb881
Author: Jim Rollenhagen <jim at jimrollenhagen.com>
Date: Wed Mar 29 16:54:30 2017 -0400
Docs: add a note about rackspace API keys
Some users are forced to use these instead of passwords (whether because
they use 2-factor auth or by policy). Document it so they know how.
Change-Id: I558c2e8d3e8b0fad0a96a361232f14443e82a35f
commit bb4eededb059efc42b1b0b251f21305f00bbee26
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 29 05:13:18 2017 -0500
Update tox build settings
Remove heatclient and magnumclient from install-tips
We do not consume them anymore, so do not need to install them as part
of our tips testing.
Install from pip using upper-constraints. To ensure we work with
OpenStack releases.
Change-Id: I98f39d2e2a591eb84a1ebcd033eb51e1758f1f39
commit b447fa4356c9af229f9fb49226f02711d936f390
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 25 17:22:23 2017 -0500
Take care of multiple imports and update explanation
The explanation for what's up with pep8 checks is a little different
than it used to be. Get it up to current.
Change-Id: I2c03a5aec02dd41ed5cdfb4c4082e17339ed2765
commit b34e06f81b251a405638ac0698fef7943f3d3bfc
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 25 17:12:28 2017 -0500
Reenable hacking tests that already pass
Several of the ignores are things we're already clean on. Just reenable
them.
Change-Id: Ic6ac2123ca2574a089aa2882f84cf0d4a9d47b1e
commit 7ac3c0321246816abb4fb59011dbb259590e78d4
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 15 18:21:46 2017 +0100
Enable H201 - don't throw bare exceptions
I agree - bare except is bad - it can cause ctrl-c to stop working,
which is totally evil. (I mean, unless that is the intent, in which case
it's the right thing to do. None of these cases are cases when we desire
ctrl-c to stop working)
Change-Id: Ieffa26e8da77199c9ef7238a6c9f0704fc581ba6
commit fe130c620b9eb39eb30dccf853d973b829056db3
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 15 18:19:59 2017 +0100
Enable H238 - classes should be subclasses of object
As shade is no longer an Infra project, it's no longer appropriate to
ignore hacking. Luckily, shade is mostly hacking clean anyway, so this
isn't terribly disruptive.
Change-Id: I607f1835abb328e3b4a4a33d80a1848ab11779be
commit c9e9ef9f43dce18e6cdcd528414a05b9ad78134a
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 15 18:06:28 2017 +0100
Fix a few minor annoyances that snuck in
We had the normal infra pep8 ignores marked, but follow some of them by hand
in this codebase anyway. While E12* are not valid pep8, the prevailing style
of shade is in agreement with them. While we weren't enforcing them, a few
instances snuck in. Fix them and just turn the flags on.
Change-Id: Iea2bd9a99eb8b20dd40418ac8479b809d3872de8
commit 0b8a6d0718b614522e88217b10d28363ec047a58
Author: Jamie Lennox <jamielennox at gmail.com>
Date: Wed Mar 29 11:15:34 2017 +1100
Don't use project-id in catalog tests
Nova shouldn't need the project-id in operations any more. Whether it
uses it or not will be based on the URL that comes from the catalog so
it's not going to break existing deployments that do need it.
Change-Id: I484254054377b5760a68c2792bc1391a8de48482
commit e2cbd3253e8595c50b2f07a38edb0b2fcd872525
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 28 16:10:24 2017 -0500
Change metadata to align with team affiliation
Shade is its own team now, update "author" to be OpenStack.
Note, the homepage setting does not exist until we tag a release after
the depends-on project-config patch lands. But this metadata also will
not go to PyPI until we tag a release - thus the depends-on.
Depends-On: Id3a087a41491eb8bf8eb51a0247183c6b91a297a
Change-Id: I4fc7ed2ecca0d218be7f1e1e34dcfa4c4b623d4e
commit 451ec8daadfb6702841878cac1a8d4e6012b838d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 28 10:59:32 2017 -0500
Remove out of date comment
Change-Id: I8a26f5952456a96429ff1413b90aef3091a8b5bf
commit 8aa8688ba8a578728ed5c33dc14c0eecf631225b
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 28 07:48:17 2017 -0500
Move futures to requirements
Wow. We had futures in our test-requirements so we never noticed it
wasn't in our regular requirements.
Change-Id: I6ae3434effc778524908d009627e9c0da6258f7c
commit 01ff292e078206e487751228be4a7062ba0c6048
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 27 09:16:35 2017 -0500
Stop special-casing idenity catalog lookups
We have a special case to work around a thing we're pretty sure
keystoneclient used to do but apparently doesn't do anymore. Remove the
workaround.
Co-Authored-By: Jamie Lennox <jamielennox at gmail.com>
Change-Id: I873ad91816150b593d4aef13dcd1520e8c91b22a
commit c8c098b3f5232616dccb8564b91805354c13452a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 27 09:35:34 2017 -0500
Remove python-heatclient and replace with REST
The changes in the unittests are because testtools does explicit
exception matching, not subclass matching. Also the first GET call is
actually supposed to be a 302 redirect. I do not understand why the
first form worked with heatclient.
Change-Id: I4b23304c09a1b985cc595a75587dbbc0472d450a
commit 510075d49451bfb699ec09faf2b1ac119f808f0f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Mar 26 12:18:56 2017 -0500
Replace heatclient testing with requests_mock
Change-Id: Ib5aa24911e5ffc7426ed5d3e651367cc86e03269
commit 12523389a811fc3ee15ddfaabf16e4f57ffa2980
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Mar 26 11:27:45 2017 -0500
Add normalization for heat stacks
Change-Id: I564268d910a558288e661c15e279ca7fdfcc80f3
commit 8059b3c80416297c9ebbfdf689c6c27611ff8ed7
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 27 11:32:39 2017 -0500
Add list_availability_zone_names method
Nodepool would like to do smart things with scheduling across AZs. In
order for it to that, it needs a list of them, which we can provide.
Change-Id: I9a3b97ccb797ea7a66a832b03da2bd4afd659097
commit 52e68c810a5a3a69239fa0b78b4f4a8440b3f14b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 25 09:57:03 2017 -0500
Switch list_floating_ip_pools to REST
Change-Id: I28cb3e901b81fa34f3e36f4e3ad70eb798fb3114
commit 35ab23efc8bdf7bdc97b127d7712662e596f2b69
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 25 09:55:13 2017 -0500
Strip out novaclient extra attributes
Change-Id: Iec82b2d1b2d03ddc47e19646bf13148255d92bc4
commit 76d78507fa6c40e98b732cda9d014f9713a5a9c2
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 25 09:53:02 2017 -0500
Convert floating_ip_pools unittest to requests_mock
Change-Id: I95057bb5357757767f2513eccc0e2a1a864bcdeb
commit 7ef65f109b06151391344c37017f0f73400d64c2
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 24 09:23:12 2017 -0500
Migrate get_server_console to REST
It was using an unfortunate 'feature' of shade's TaskManager ...
raw=True. Since we're migrating to REST anyway, just go ahead and do
this one.
Change-Id: Id44b89af66fbf4df202653c6f658603518537944
commit 0112f8522db493d428e3db47fb560ed2be1439c9
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 24 08:49:27 2017 -0500
Migrate server console tests to requests_mock
Change-Id: Ic585d1c7ba43a4ba65b0fcfbe03fe9445a9c6ad6
commit da7f7ccb2165b24e00eb749ad099611efafc391a
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 24 08:37:31 2017 -0500
Fix old-style mocking of nova_client
When we assign to nova_client, rather than using the decorator form, it
persists through the process lifetime, which pollutes other tests. This
shows up when you start trying to replace nova_client mocks with
requests_mock.
Change-Id: I056085c9b80868a78c95ddda0aeae11865015ad1
commit 9f2287c2df9030db1be1415b75a1a910545f0d8d
Author: Eric Lafontaine <eric.lafontaine1 at gmail.com>
Date: Wed Mar 22 15:54:59 2017 -0400
Accept device_id option when updating ports
This sets device_id as a valid kwarg so that it can be passed in when
updating ports.
Fixes ansible/ansbile#22662
Change-Id: I8d1f481e22ed5e667687b8cd793da2a31fa6a105
commit 204fb73dcdf54b7952e2ab34488a6168b7e03a2a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 20 11:12:19 2017 -0500
Get rid of magnumclient dependency
One more client library down.
Note there is a change to one of the tests. That's mainly because
testtools is not matching the exception the way an end user would. We'll
follow up on it, but it's not a real issue.
Change-Id: Ic6d7a37799e72bfb1bef7aeaf8f4894aed27dcea
commit d809981e5b967bddf46b4eed917af90bf58d78b0
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Thu Feb 16 16:01:15 2017 +0100
attach_volume should always return a vol attachment.
attach_volume method has inconsistent return value: if we pass it
wait=True, the methods returns a volume object but if we pass it
wait=False it returns a volume_attachment object.
We should always return a volume_attachment object.
Also don't try to be too clever in pre-emptively refusing to detach
a volume that we think is not attached. It prevents the following
calls, which looks good without knowing Shade internals:
server = create_server(...); volume = create_volume(...);
attach_volume(server, volume); detach_volume(server, volume)
Change-Id: Ia1da29ec6286dbbed0a77d6abcf89e95a055ac9a
commit 91905270213d034d05ced25b19f849a5ac676684
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Tue Mar 21 19:13:40 2017 +0100
wait_for_server: ensure we sleep a bit when waiting for server
If we call wait_for_server() then self._SERVER_AGE is
the 'sleeping time' between 2 calls to 'get_server'. But by default
self._SERVER_AGE is 0, so we are hitting the Nova server hard.
This patch is to make sure that we wait for some time (2sec) if
self._SERVER_AGE has not been tweaked.
Change-Id: Ib9a93e922ff2e26f90d8d2e72f5cf6589054078a
commit 07eca13c5fac9523538cbed3f9f2f1f530ea28a6
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Tue Mar 21 18:53:35 2017 +0100
delete_server: make sure we sleep a bit when waiting for server deletion
If we call delete_server(.., wait=True) then self._SERVER_AGE is
the 'sleeping time' between 2 calls to 'get_server'. But by default
self._SERVER_AGE is 0, so we are hitting the Nova server hard.
This patch is to make sure that we wait for some time (2sec) if
self._SERVER_AGE has not been tweaked.
Change-Id: I4aa7b3554348bd0b8fec3069fe8d0e3142e47bb3
commit bd0a40ecc646e9fe1d8bad7eb21abc58b1d9baaa
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 20 11:19:08 2017 -0500
Add designateclient to constructors list
We've had this mapping over in shade for a while. No sense in keeping
the fun all to ourselves.
Change-Id: Icb2b98b621cfa8cff86c534bfba8f5de2c818e95
commit 7311bf01879cf1572a368ae6237e697663c753d0
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 20 10:15:12 2017 -0500
Convert magnum service to requests_mock
Also add documentation and normalization, of which there was previously
not.
Change-Id: Ib4ba4fc748117ae4339683ae9fd4f9f958c3cc0e
commit 360a87fe1690df4f0102c5a0975fe9af3d8fe681
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 20 09:30:58 2017 -0500
RESTify cluster template tests
Change-Id: Id8d00657f714e9dee7f42fe1fc6b9e151964e1ae
commit f32591ab21bbd7395fe9f77a102c982ee733a4a1
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 20 09:18:05 2017 -0500
Add normalization for cluster templates
Every time the magic of flexible return schemas rears its ugly head, a
pony becomes a less happy pony.
It's worth noting that this changes behavior to _always_ get detailed
records. This is consistent with our other things and should not break
anyone.
Change-Id: I4932e424ec7db8b6cea014ec668b30bb29f3e1f9
commit 2f009fd4b86d45ecf4ed8db126cdef31b7872142
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 20 07:52:02 2017 -0500
Get the ball rolling on magnumclient
I think I can get this done on the plane.
Also - WOAH
Change-Id: I69aa673b1ea114999fb66e836fd23345106a06bb
commit 55868939c7995641dc0fcb1b4e405c7292312ba8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 20 11:27:12 2017 -0500
Use data when the request has a non-json content type
Using the json= argument to the request call when the content/type is not
intended to be application/json is crossing wires, and in those cases we
should call data=json.dumps(). This actually breaks older versions of
keystoneauth, which are otherwise perfectly fine. For newer, it works
either way, but maybe let's just learn to send json payloads as data in
any case where the content-type isn't application/json.
Change-Id: Ie93840625e1418eaffa442fb0d93080040d2a06d
commit f29624aced9f872e04bb0a4623c7b843b41fa4a8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 20 07:06:52 2017 -0500
Cleanup some workarounds for old OCC versions
We don't need to pass constructor objects to os-client-config -
os-client-config is quite happy to do this for us.
We do need to bump the os-client-config version, because the magnum
container workaround didn't go in until then.
Change-Id: I6a7958eaf6745e6714a0c03b7e829c29c4059b07
commit d79de9b860dbf255f3fa28692aed716e0beb8d4d
Author: Doug Hellmann <doug at doughellmann.com>
Date: Thu Mar 16 13:46:59 2017 -0400
add separate releasenotes build
Add the sphinx files needed for a separate release notes document build.
Change-Id: I176e70614051e0d830fb59b05da2248bd484e57a
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit db45323809b208cc098f2a60fd9ddf4b66790ea9
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Mar 16 12:17:51 2017 +0100
Update sphinx and turn on warnings-is-error
In order to do that, fix the warnings that are now errors.
Change-Id: I1e582a6763fc82496e4ab33f60ced193b0534f28
commit 1c87c8aa0d8310cc4dd121931a6b3e4b6c8a6171
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Tue Mar 14 15:31:38 2017 -0700
Convert test_identity_roles to requests mock
convert test_identity_roles to requests mock instead of direct client mock.
Change-Id: Ia382fa2f0c8ee8cdf9820ee35ed98f304dd4df4d
commit 8ad6941b9dec9c593de6c597143436d0d931c33c
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Fri Mar 10 15:43:34 2017 -0800
change test_endpoints to use requests mock
change test_endpoints to use requests mock.
Change-Id: I5ba1557af61512334bf85d96bfb90bbc10a7cfd3
commit 194e53c84e32d2fde851f03992788d3b95fab3e3
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Mon Mar 13 11:36:28 2017 -0700
OVH supports qcow2
OVH supports qcow2 images too. Update the docs and vendor json file to
reflect this. You can continue to use raw images just fine as well.
Change-Id: Ic7dc4c70c681947a0475bbabf5621672825dfb3c
commit 2a8d0c57b2903215f6b30d667ad33e93447a8012
Author: Thanh Ha <thanh.ha at linuxfoundation.org>
Date: Fri Mar 10 15:33:41 2017 -0500
Depend on pbr>=2.0.0
Several of shade's dependencies now require pbr>=2.0 however the cap
is preventing `pip install shade` from just working after install
completes. Update shade to also require pbr>=2.0.0.
Change-Id: I5aa5081c200d24f9f43253d409f7b80e52c8841f
Signed-off-by: Thanh Ha <thanh.ha at linuxfoundation.org>
commit a93b3e2af4461cdb0812745b7a2cf19b11ec2c47
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Fri Mar 10 11:15:21 2017 -0800
Convert test_services to requests_mock
convert tests in test_services to use requests_mock
Change-Id: I2128025cfe981288cd4f7f1538f153b9d5e60f33
commit 134bbe79c693665911f8d697e7d669064af4bac2
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 10 08:29:15 2017 -0600
Only do fnmatch compilation and logging once per loop
We don't need to compile the fnmatch regex in every loop pass - so
compile it at the top of the loop. Also, logging about a bad regex on
every loop is silly. Only log if we don't have a match at the end.
Change-Id: Iffa039237042d6a2f75aa08f2c949d508b367ec4
commit 38e5eba621e48d74c05315da2b89e6c801f4c43f
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Mar 9 09:32:15 2017 -0600
Use interface not endpoint_type for keystoneclient
keystoneclient wants the interface argument.
Change-Id: I5898d8621259256f962fc006df38049d0cb059f8
commit b2f7ceadb1a99bd0f5fb17b9298c6f962414aa9f
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Feb 28 09:07:27 2017 -0600
Add support for bailing on invalid service versions
At least for cinder for now, allow a consumer of get_legacy_client to
express the minimum version they find acceptable. This will use
cinder_client logic to figure out the version from the url.
As a follow on, expand this to all of the clients and make it support
microversions for the clients that support microversions. (Right now
it's just going to be major versions, so min_version=1 will throw an
exception if the cinder service returns a v1 endpoint.
Also, because we override the volume/volumev2/volumev3 service type
stuff, we need to do extra special logic in get_session_endpoint to try
all three in the case where do not have a configured api_version.
Change-Id: I7b6b3588fec9a6be892cf20d344667f0b9a62f0a
commit dee0749330a0c9d6b99553b97467c3b2457e5ce0
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 8 11:46:59 2017 -0600
Put fnmatch code back, but safely this time
If we do a strict equality test FIRST, then the fnmatch, then we don't
have to remove the fnmatch functionality, but we should also be able to
match normal names with wildcards in them.
This reverts commit 0ecbb22547c470fca6d50cfad2ee94e1241f83f4.
Change-Id: Ibc08cc09e0e3db2e194f1b8d0cf98c08500d87c5
commit 0a956c1d281d8ffe984fac0bd5588fad5d00a00d
Author: xhzhf <guoyongxhzhf at 163.com>
Date: Tue Feb 21 17:44:56 2017 +0800
modify test-requirement according to requirements project
the OpenStack requirements project has modify version requirement of docutils/oslosphinx.
The link is below
https://review.openstack.org/#/c/418772/
So modify test-requirement like other project
Closes-Bug: #1666149
Change-Id: I145ba596926cac0efab75fb4a1548eea338a2d5a
commit c58b86838c00bbc53461a37576dc91d23508da4c
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Wed Mar 8 12:37:33 2017 -0800
Replace keystone_client mock in test_groups
Replace keystone_client direct mocks with requests_mock in
test_groups.
Change-Id: I31fa69950488292d8765908fc193c288e9c18b20
commit 7883171eca469ab0314369d11c1e401e284ec66e
Author: Ian Wienand <iwienand at redhat.com>
Date: Fri Mar 3 15:10:31 2017 +1100
Use unicode match for name_or_id
The name_or_id field might be a unicode string. Make sure we don't
run into problems comparing it by converting all comparison objects.
This is a follow-on to Id89bbf6306adebe96c1db417a4b8b5ae51023af0 based
on/as an alternative to I546b1fbd3375861173f411a7cfdb9e1baa5e6250
Closes-Bug: 1668849
Change-Id: I4e7fa49bd8525148961f02b0e0d7b567145a68b6
Co-Authored-By: Liu Qing <liuqing at chinac.com>
commit 127049fe53ee93fa64472571f8cd0f860c79f701
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 3 08:18:20 2017 -0800
Raise a more specific exception on nova 400 errors
We may want to take some actions in nodepool, such as cache
invalidation, when we specifically get BadRequest errors. We may not,
but throwing the more specific exception doesn't hurt.
Change-Id: I748519daba2781bf83d6dc0151a1c12dd12d0e3f
commit 0ecbb22547c470fca6d50cfad2ee94e1241f83f4
Author: Ian Wienand <iwienand at redhat.com>
Date: Fri Mar 3 14:06:34 2017 +1100
Don't glob match name_or_id
I was trying to bring up a host on vexxhost using the image name
"Ubuntu 16.04.1 LTS [2017-03-02]". As described in the change,
because this gets run through fnmatch() directly it makes everything
barf as "[2017-03-02]" gets matched as an incorrect glob character
class.
This is a little tricky because all the external list_*, search_*,
get_* API functions basically pass name_or_id through directly. None
of them have ever explicitly said that you could use globbing,
although it probably would have worked. Any such use would have been
relying on implementation details of the _util functions, and I feel
like the fact it's _underscore_utils means that you probably had fair
warning not to do that. And obviously the "filters" argument is meant
for this type of filtering.
Additionally, fnmatch() says that it normalises case depending on OS
filename case-sensitivity, which seems like incorrect behaviour for
these functions which are not actually related to filenames.
Thus I believe the matching should be just be a straight string
comparison.
I have added a test for this, but we also have to remove the tests for
globbing behaviour as they are incorrect now.
Change-Id: Id89bbf6306adebe96c1db417a4b8b5ae51023af0
commit 40c416cbad77d74d7d8fb964193b309d77ecb628
Author: ricolin <rico.lin at easystack.cn>
Date: Thu Mar 2 22:26:45 2017 +0800
[Fix gate]Update test requirement
Since pbr already landed and the old version of hacking seems not
work very well with pbr>=2, we should update it to match global
requirement.
Partial-Bug: #1668848
Change-Id: I09ae994782889aae05250a8e5bf9f5b630b2d502
commit 708049351fcf13634d84e05e97eae3b0a5f0972c
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Mar 1 15:54:16 2017 -0300
Rename ClusterTemplate in OpenStackCloud docs
There is no ClusterTemplate object in shade. A
cluster template is a resource in shade as any
other, such as a project or a server, which is
returned as a dict.
This patch renames "ClusterTemplate" to "cluster
template" in order to be consistent with how shade
refers to the rest of the resources in the
OpenStackCloud docs.
In addition, it is not useful for shade users to
know ClusterTemplate is the new name for BayModel.
If shade had ever supported a BayModel resource,
it would still support it.
Change-Id: Icbf4b310c5bbfb912c902f66974e11d8cefe1e23
commit 0613d189f750a566366e694ca77511df9eadb396
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Mar 1 14:04:36 2017 -0300
Fix OpenStack and ID misspellings
Change-Id: I7d8c04268a95164f2c6e2f740d1c79499c93d3bb
commit 56ea59b13fbbfd70cd54f2742150aaab396ba80e
Author: Samuel de Medeiros Queiroz <samueldmq at gmail.com>
Date: Wed Mar 1 13:38:30 2017 -0300
Remove service names in OpenStackCloud docs
OpenStackCloud users are not necessarily admins.
They do not need to map cloud resources to the
underlying services managing them.
Change-Id: I2b52680ef620191c71e75eed4f035985c4125e3d
commit d321a14ecbe79c888e891424250c1b5bdfd2ea65
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Feb 28 11:22:30 2017 -0600
Pass ironic microversion through from api_version
If someone sets baremetal_api_version to 1.29 right now, we don't really
do anything with that information. Pass it through to the constructor
for ironicclient in get_legacy_client().
Change-Id: I470fbb8852eac7d5cb35aef549ac591d63f3636f
commit 81e04fcec6cb333a7d44124c045358c4904cf765
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Feb 27 09:34:24 2017 -0600
Add ability to skip yaml loading
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.
Change-Id: Idbc82bb931e9edf1bbcc575237c0e202e219c218
commit 80709fd9a488d83563ed5c5354cca6628c08445a
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Wed Feb 15 13:20:09 2017 -0800
Convert test_object to use .register_uris
Convert test_object tests to use .register_uris. .register_uri is
no longer used and deleted.
Change-Id: Iee156afd5ee5931ca4087a70dd92bb3b0df2f62d
commit 759b2b4845fcfe2b7865ccd4469797c980c17720
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Wed Feb 15 10:16:59 2017 -0800
Convert use of .register_uri to .register_uris
This patch converts the use of .register_uri to .register_uris for the
following files: test_image, test_project, test_meta.
Change-Id: Ibf909d4b81361fab690c5514e616870bf9274a60
commit efc41d8624becbd7835e7f17eedccecd0a29fa2f
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Feb 16 07:38:55 2017 -0600
Change request_id logging to match nova format
Nova has a very nice format for logging request_ids that is more
readable than what we were putting into the logs. Copy it. Also, stop
trying to log request ids for objects we get from python*client. They
already have loggers.
Change-Id: Ibe4bff3cf91f282920138fe1d9fe7be3198ba6e3
commit 60ce27ea81bc178783ec54a2f7771f7dd7242dda
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 15 13:39:53 2017 -0600
Actually normalize nova usage data
Turns out usage reports are empty when there is no usage - so direct
passthrough is not so much a thing. Fix it.
Change-Id: I6a2f2e737f792ba74a191d688b3380dc333e34fe
commit 71322c7bbc70e24b119d30d6f1aab02934a83583
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 15 11:05:41 2017 -0600
Fix several concurrent shade gate issues
This is a big patch because there are more than one issue happening at
the same time and we have to fix all of them to fix any of them.
Force nova microversion to 2.0
The current use of novaclient is to get the latest microversion. So far
this has not been a problem, as shade deals with different payloads
across clouds all the time. However, the latest microversion to nova
broke shade's expectations about how usage reports work. Actual
microversion support is coming soon to shade, but is too much of a task
for a gate fix. In the meantime, pin to 2.0 which is available on all of
the clouds.
Produce some debug details about nova usage objects
Capture novaclient debug logging
In chasing down the usage issue, we were missing the REST interactions
we needed to be effective in chasing down the problem. novaclient passes
its own logger to keystoneauth Session, so we needed to include it in
the debug logging setup.
Also, add a helper function to make adding things like this easier.
Consume cirros qcow2 image if it's there
The move from ami to qcow2 for cirros broke shade's finding of it as a
candidate image. Move pick_image into the base class so that we can include
add_on_exception and error messages everywhere consistently.
Add image list to debug output on failure.
When we can't find a sensible image, add the list of images to the test
output so that we can examine them.
Change-Id: Ifae65e6cdf48921eaa379b803913277affbfe22a
commit e6755872ada4978f585bdf15edf623dbcf72c4ee
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 15 10:30:12 2017 -0600
Remove the keystoneclient auth fallback
OSC doesn't use this codepath anyway (to my knowledge) and it masks
errors in exceptionally strange ways.
Change-Id: I15ec5aacb037813a98ac9ea8e9504a5d1cc90837
commit 0e039e67c2e3496628141b7b48aff2ff541096c6
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 15 09:31:12 2017 -0600
Add support for overriding mistral service type
The mistral team copied the heinous pervsion that the cinder team
propagated upon the world and appended a version to their service_type.
That's ok - there is nice copy-pastable code here we can use to prevent
users from feeling the pain.
Change-Id: Icf280f932014e4d9abeab3e944aece125988562e
commit cbb38f38bceee7977952651bd0466902c087de8d
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Feb 9 13:13:58 2017 -0600
Add helper scripts to print version discovery info
These are simple scripts I made to investigate things. Each show the
version discovery info for all of the clouds in a clouds.yaml.
Change-Id: I742a59c737c53c05851015b9734c7aa85a5466ca
commit 508061a2a04ace3036c30ab5e5b494d408deae7a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Feb 12 09:55:25 2017 -0600
Wait for volumes to detach before deleting them
In our functional tests, we keep hitting errors with deleting volumes.
It would stand to reason that the problem is that we try to delete them
too quickly after deleting the server so cinder doens't yet know they're
detached. Put in a wait loop to try to get to a state where the volume
can be deleted.
If this works, it may be worth adding a method to shade itself to expose
this - or alternatively a wait_for_detach flag to delete server that
would not return until volumes are also detached. Or to add a
"delete_volumes" flag to delete server. However, deleting volumes
involves deleting data, so maybe it's fine.
Change-Id: Ic460b6bc7f65e8761b2d765b88502ef6b5a79973
commit 4f98c8b23d82ea15151ef0ffb49f39987eb088b0
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Feb 10 09:43:18 2017 -0600
Add accessor method to pull URLs from the catalog
It's handy sometimes and the specifics of how to do so is complex.
Change-Id: I90d5c8c2709cf9d8bd76c3dbcbe171c7d75572a8
commit 820885c1a164bf01365dd1bd57fddd58dc664e56
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Mon Feb 13 14:59:49 2017 -0800
Convert use of .register_uri to .register_uris
This patch converts all use of .register_uri to .register_uris for
the following files: test_caching, test_create_server, test_domains,
test_flavors, test_floating_ip_neutron, test_users.
Change-Id: I48d90465f22bfa27e9de552e135f42967a9e21fa
commit ea83e73be05a47ea93ac1d8428c033897e480d20
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Mon Feb 13 11:55:08 2017 -0800
Remove keystoneclient mocks in test_caching for users
Remove the direct keystoneclient mocks in test_caching for user cases.
This implements "register_uris" which takes a list of dictionaries
describing the mocked URIs for ease of reading when dealing with
highly complex request mocking such as the
test_modify_user_invalidates_cache test case.
Change-Id: I75f62a7b2c6d0838dd4a4bdf10cb74e4baf4aa7e
commit aff1f8f8b6868960d5fd02923d105b5c977156b2
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Mon Feb 13 11:14:21 2017 -0800
Remove mock of keystoneclient for test_caching for projects
Update test_caching to use requests_mock instead of direct mocking
of the keystoneclient when calling keystoneclient to get projects.
Change-Id: I865d2320c28c52318c243c9a927baa71324a7311
commit 76a01bf851c437698d03dc246a28b7ebf5ff5fe2
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Sun Feb 12 14:19:23 2017 -0800
Remove mock of keystone where single projects are consumed
Any case that mocked keystoneclient for simple get of a single
project has been updated to now use requests mock. This change
required some minor adjusting to the base RequestMock test case
to make it easy to mock out for projects without needing to
duplicate a ton of code.
Change-Id: Ic19ec7ea199759a0aa69d107636fadbaf27dae5e
commit eee55a8966898f1c610c052c5aad7aed2d8d0959
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Feb 11 08:37:24 2017 -0600
Rename demo_cloud to user_cloud
The operator cloud is "operator_cloud" which is clear. Even though the
devstack user is called "demo" - the point of the non-operator cloud is
that it's an end-user connection. Rename demo to user to remove any
confusion/ambiguity. (also, it's the same number of letters so pep8
doesn't get borked)
Change-Id: Icfd2dd1687099798ed2cdf9349cc5b7d27dade58
commit d2df08ecd82da45b2cb0076978f9c3342aa1540e
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Feb 10 10:44:29 2017 -0600
Add all_projects parameter to list and search servers
It is possible to tell nova to return the servers for all of the
projects rather than just for the currently scoped project. Expose that.
Change-Id: I4308758ac1c37ee7c1e63e0f2f58699966eb8364
commit b0bbb8ca0809b60536113bbe5c280679bdc25965
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Fri Feb 10 21:13:34 2017 -0800
Convert test_project to requests_mock
Convert tests from test_project to requests_mock instead of direct
mock of keystoneclient.
Change-Id: I73fef17367dcaa7d66a3d3d3661775b880225cea
commit 2fd4bdaff149be49430878135cf62fc2fa5c3326
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Fri Feb 10 15:50:30 2017 -0800
convert test_domain to use requests_mock
convert all of the test_domain cases to use requests_mock.
Change-Id: I3f24eaaab236c136690d3314b242c1e6ae5b6720
commit b5fb06e8e4b0ca5094e3bb9b3181842512b330a1
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Fri Feb 10 14:40:17 2017 -0800
Move mock utilies into base
Move the utilities developed to mock keystoneclient calls into
base test and make more generic for other non-keystone uses.
Change-Id: I82d8cf9ff4a5f207890d01a19aee68385f3ff0a3
commit 4161e5c79aead7861ed8c4737164bad914a0fdb5
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Fri Feb 10 13:51:50 2017 -0800
Convert test_users to requests_mock
Convert the remaining tests for test_users to use requests mock.
Change-Id: I504cc3c0be883c8e5c6323cd535a04834eb97119
commit 068470d4a58908c269d482380109635d3f9cf2ce
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Feb 10 10:04:19 2017 -0600
Add request validation to user v2 test
We need to check that we are sending what we think we're sending.
Change-Id: Ib8dea57cd04582d60c7e44492daeb2f24067e4c7
commit e100a5846370de54a3a22c5010f42d65f45760be
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Thu Feb 9 15:43:22 2017 -0800
Convert first V3 keystone test to requests_mock
This introduces further cleanup needed for the first v3 test to be
converted to using requests mock and converts create_user_v3 to
use requests_mock
Change-Id: Ieb5299eb9ca774576070f8fcfe2eb583ef591fb1
commit 5a3ffeb31f674bee7f6a2668056b5f375ad2ffc5
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Thu Feb 9 14:53:29 2017 -0800
Cleanup new requests_mock stuff for test_users
Cleanup the requests_mock to be replicated for the rest of test_users
Change-Id: Ie38689adc33c3035a6f1def7d350e2a8b961a235
commit 23cead49192fce6703d263b8125be8022fb91fc3
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Thu Feb 9 12:31:58 2017 -0800
First keystone test using request_mock
Update and correct issues with shade to support use of request_mock
instead of keystoneclient. This solves issues with the catalog v2,
the discovery.json, and leans on the fixes for the test_create_user_v2.
Change-Id: I78666d44d0a2ff9f013a68c09c76d092fea3a586
commit 5eb32e562b850b4808ba63b8a1121987bcdd42d1
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Feb 7 16:51:41 2017 -0600
Add test of attaching a volume at boot time
In addition to booting from volume, we also support booting from image
and attaching a volume. Test it to make it true.
Run of this test without the previous patch fixing it:
http://logs.openstack.org/68/430468/2/check/gate-shade-dsvm-functional-neutron/51ab62a/console.html
Change-Id: Ia7a76cefa9d01909723f6df1f9055e3f73c0f703
commit 50efb434d874ca74e6c89424c43389408ab9b584
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 8 08:25:21 2017 -0600
Add support for indicating required floating IPs
Some clouds require that users add a floating IP to a server if the user
wants that server to be able to talk to things that are not on the
cloud. Some clouds do not require this and instead give servers a
directly attached IP. The only way a user can know is to boot a server,
then ask neutron for the port associated with that server, then find the
network the port came from and then try to infer whether or not that
network has the ability to route packets northbound. Of course, networks
don't actually communicate that quality directly, (router:external
doesn't mean a network routes externally, it means the network can have
a router attached to it to provide floating ips) so it's still hit and
miss.
Where we can, save the user the stress and strain of not knowing how
their cloud wants them to get an externally routable IP.
Change-Id: I1baf804ce28bc1997b2347c4648c5cc56c750ead
commit 93c2e17c8ec1280fec4473e9f583cb2b29c03073
Author: Doug Hellmann <doug at doughellmann.com>
Date: Tue Feb 7 22:35:19 2017 +0000
pass -1 for boot_index of non-boot volumes
Although the API documentation for nova [1] says to pass None to
indicate a volume that should not be used for booting, doing so produces
an error because None is not an integer. Change shade to use '-1' (to
comply with the declared string type) instead of None.
[1] http://developer.openstack.org/api-ref/compute/?expanded=create-server-detail#create-server
Change-Id: I5732575501005f4acc6320578882a079adc8be38
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit 175b256161d15916e44a62d5b3cdebacdedb84cc
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Feb 6 17:21:05 2017 -0600
Pass task to post_task_run hook
It's hard for consumers to do anything useful in post_task_run without a
copy of the task. Also - not adding this as an optional becaues the
consumer this was written for, nodepool, has not started using it yet,
and I find it VERY hard to believe anyone else will have picked up on
this.
Change-Id: Ib48fe54feb8b6ed10da3e5fa9accf985e4b22623
commit 6edafb98ea5778e42a6e5f7eaa70ca1742071336
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Feb 6 16:41:29 2017 -0600
Rename ENDPOINT to COMPUTE_ENDPOINT
Wow, there is more than one type of endpoint after all!!!
Change-Id: I1a3dd675d6ad9bfed51a3a8aa05502ed22f42203
commit 3cb1ad4683b1eee9395b52391e868235c789eb8c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Feb 4 08:51:56 2017 -0600
Transition half of test_floating_ip_neutron to requests_mock
There is too much going on here for a single patch, and my brain hurts
too.
We need to come back through and refactor test_auto_ip_pool_no_reuse.
The resources involved are all accurate (took them from a live
interaction with citycloud for verification purposes) but doing complex
tests that way is a pile of copy-pasta.
Also, found a logic error in the flow of having created a server and
then separately requested a FIP be attached to it with reuse=False. The
logic error is that the check to see if the server has a FIP already is
using a stale copy of the server dict which cannot possibly have a FIP
attached.
Change-Id: Ia38294cf48bcb46c18892605fd52da7dadaeefc8
commit 994cd9992c51764246e91a6d71e853bb9a4aa10f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Feb 4 06:55:24 2017 -0600
Start switching neutron tests
Change-Id: I87a02155de3fb8330256bc51cf4499c9e7e339a2
commit 7878a9daf60d5b65115fb930ff6ffcda3f5eb07b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Feb 4 07:32:10 2017 -0600
Port in log-on-failure code from zuul v3
Zuul v3 picked up a great technique for logging a ton of useful
information for errors but also not blowing out the subunit stream on
success.
We do it a little differently here - we don't have the need for the
flexibility in logging config that zuul has. Also, add the ability to
set an env var and print the logging even on success. (useful when
developing single tests when one wants to inspect that a success really
did what we think.
Change-Id: Ibcb9a4aa33c16450df252c5e0f32a62c5cc821bc
commit b223649239ac124a118e450882d667f6384b1daa
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 1 08:36:21 2017 -0600
Honor cloud.private in the check for public connectivity
While we don't want to do connectivity checks on private addresses most
of the time, if we've been told that we prefer private addreses to
public, then we can expect to be able to connect to those.
Change-Id: Ia81df87de7d8f4ba3d4ecc9c68906f14efffa6bc
commit 7102440687bc0c49601bfdc4e2925f731a9134da
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 1 11:09:40 2017 -0600
Support globbing in name or id checks
The ansible os_server_facts module support doing this, and a recent
change to add support for returning servers by ids there made it seem
like perhaps the functionality should get rolled up into the shade layer
and be available to everyone.
Change-Id: Ib1096d606840767ce884e6dd58a6928fee0ae6e2
commit 5139309492261927e9724dfabc0cd2157ef565c5
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 31 18:14:00 2017 -0600
Stop spamming logs with unreachable address message
We emit a helpful debug warning when we have to pick from amongst random
addresses and we couldn't choose one based on being able to reach it.
However, there are a number of addresses for a server that EXPECT to not
be reachable. We call them private addresses. Or maybe non-routable. Or
something fancier and full of more networking acronyms that I'm not cool
enough to know.
In any case, only emit the warning when we expect to be able to route to
the address and we still can't figure it out.
Change-Id: I72d6f4745fe9f4169671bc933e92871358cebbf2
commit 1dfe5e54fb71876ff21e2aade623cd6ada4ab782
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 31 13:38:08 2017 -0600
Remove troveclient from the direct dependency list
We don't even actually use troveclient in shade other than the
constructor. Make it an optional import.
Change-Id: I60b924eb8dfb48c53da0befb39cf84e6c1ea8863
commit 28fc6b02faed384337b187a13e7dc7ce01e3b318
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 31 11:33:52 2017 -0600
Move nova flavor interactions to REST
One REST call is removed because python-novaclient made an extra get
that we do not need to make.
Change-Id: Idfc72a0f353c248e5749aea926031e70dcdf4f94
commit 7d982af93e849ee75ad0c1cd24684a96188d32c3
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 31 10:07:47 2017 -0600
Migrate flavor usage in test_create_server to request_mock
Don't fix the whole tests, since it does a bunch of neutron
introspection. Also, make sure it doesn't call neutron yet. We'll get to
that when we migrate neutron calls.
Change-Id: I9faaecedb6c888119e0c1370e9c6ca1a2f6a2fb8
commit 2e79cffb982087117cd8bfb0186b999f7856dfeb
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 31 09:56:58 2017 -0600
Migrate final flavor tests to requests_mock
There were some tests in test_shade that should really be in
test_flavors. Move them there, then transition them to requests_mock. To
support the actions they need, add some additional flavors to the fake
flavor list.
Change-Id: Ide92fb0a926ba69b03132205f1467816844377d8
commit 7ca9d762f14ec5292e073b207844e66b142b255f
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 31 09:19:52 2017 -0600
Move flavor cache tests to requests_mock
Move the fake flavors from test_flavors to fakes so we can reuse them.
This also fixes two small bugs that were found. extra_specs were Munch
if fetched from nova and plain dict if they were defaulted. Also, if
there was a problem fetching extra_specs, we defaulted them to empty
list which is just plain wrong. Also, we were letting the request_ids
attribute sneak through.
Change-Id: I8ecf05580c557b21d123097e1f4be5c5664d366c
commit 32d53d58ce0190e05dc9cf8e7b414f7c950f9008
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 31 08:16:02 2017 -0600
Transition nova flavor tests to requests_mock
We had added a betamax fixture for create_flavor, but the requests_mock
approach is actually working out much better. Go ahead and replace it to
simplify the test suite a little bit.
Remove _by_flavor tests as they tested a behavior that's actually invalid but
worked in the test by happenstance.
Transition the rest of the file while we're in there.
Change-Id: Ic2457d7380a8af41ed7bf6b264cbdc2240780ff3
commit 504cb0565836376b4d271a4d8324d3684b7f39fb
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 31 12:19:07 2017 -0600
Add ability to create image from volume
OpenStack has the ability to create an image from a volume - expose it.
It should be noted that literally nothing about this API is documented,
although it is exposed in python-cinderclient and
python-openstackclient.
Change-Id: Icb06d43a63d0b120a17ce6c19807abcb3de71bcb
commit cc78a7fbad1ef7bfb71d0775280d6e891686ab7a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 23 13:21:24 2017 +0100
Use port list to find missing floating ips
It's possible for a cloud to have multiple private networks with overlapping
IP ranges. In that case, the check for missing floating ips can
erroneously match a floating ip for a different server.
Ports are actually unique, and are the foreign key between these things.
Instead of starting with list_floating_ips, start with listing the ports
for the server. In the case where OpenStack isn't broken, this will be
the same number of API calls. In the case where it is, there will be one
extra call per server, but ultimately the output will be more correct -
and the fix for the extra load on the cloud is to fix the nova/neutron
port mapping.
Also, fixed the spelling of supplemental.
Story: 2000845
Change-Id: Ie53a2a144ca2ed812d5441868917996f67b6f454
commit 16a058f16e552668d6db8d806242dd1211559a6d
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jan 26 15:09:44 2017 -0600
Process json based on content-type
OpenStack provides content-type which we can respond to. That we do not
currently provide it in our unittests is our fault. So let's provide it.
Change-Id: Ib20f4df950cbedf404c0fbe3ef4c39660eb1b70f
Depends-On: Iaef2a140e33fc48f8bfa8ff4769eded37ce152c6
commit 707adab1bc8726a7bf9c910e5bd2650bfe420ad1
Author: OpenStack Release Bot <infra-root at openstack.org>
Date: Tue Jan 31 21:04:24 2017 +0000
Update reno for stable/ocata
Change-Id: Iace25f1919632b5de8d6bf81add7ce0416a874ef
commit 02116c41ef7cbf05698cfd01d28ce276d3f4f23d
Author: Doug Hellmann <doug at doughellmann.com>
Date: Tue Jan 31 16:03:05 2017 -0500
fix location of team tags in README
Remove the extraneous title markup and move the team tag include
instructions below the main project title in the readme so it renders
more nicely.
Change-Id: Icd384c81a455a3e1a86abd1f2ef84e775e06c307
Signed-off-by: Doug Hellmann <doug at doughellmann.com>
commit fa0a133a2f477836f912ae0d34da8d799b5f4f51
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jan 21 17:31:03 2017 +0100
Copy in needed template processing utils from heatclient
There is a LOT of client-side file processing that goes on before
uploading heat templates to the cloud. Rather than reimplement it all
from scratch, copy in the relevant bits. With this done, removing
heatclient itself should be fairly easy. This will also allow us to fix
a long-standing bug, which is that heat event polling bypassed the
TaskManager since the utils make their own API calls.
Depends-On: Id608025d610de2099d7be37dcff35de33c10b9d5
Change-Id: I384f81b6198f874e78a434515123f955017e0172
commit 48e7eb06cd6467bb50b28f110800b9e9d507d41b
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 23 19:12:39 2017 +0100
Upload images to swift as application/octet-stream
To be fair, this should have been pretty obvious when we wrote it. Of
course glance images are application/octet-stream.
Also, update the comment about the swift bug, since it's not a swift bug
- it's doing exactly what we told it to do.
Change-Id: Id992ef12e017d84a01249555518c86fb20280053
commit 14c371e944eabafa213142bfe35a4932f1bf00e0
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jan 21 12:15:22 2017 +0100
Add ability to stream object directly to file
For object downloads, allow the user to specify a file to write the
content to, rather than returning it all in memory.
Change-Id: Ic926fd63a9801049e8120d7597df9961a5f9e657
commit e71e79c397385a245c319400f74aba8f06e0b295
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jan 21 16:35:21 2017 +0100
Update coding document to mention direct REST calls
Now that we've got glance and swift done and have started on neutron,
let's update the doc to tell people that it's the way forward.
Change-Id: I16f7ae58f5ae280bc4b1533f62bf3e3a09dbaeb0
commit 3ac4915109235d1456585a96af48ebef7ce669f7
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jan 21 09:34:22 2017 +0100
Skip discovery for neutron
It's a waste of energy to do discovery. We can always revert if we find
some place where it's a problem.
Change-Id: I8c15a8d775df8a19110dc9ceb6c8e5c8df8fdee0
commit a616b64402c658c09632bb8b5961878cd06b0d26
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jan 21 08:49:29 2017 +0100
Add helper test method for registering REST calls
We have a pattern in our tests where we tell requests_mock about a URI
we're going to call, then we save a list of the things we want to check
to see have been called. There is more duplicated data thre than I tend
to feel like typing. SO - make a helper method that allows us to
register a call (and optionally some things to check) and save it to the
list of things to assert at the end.
Change-Id: Ie542efd55dc61999c7bad4787427f7664c0ecfb0
commit 8c0c2db7fc75c05258d80788f29ba6cccba84fa0
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jan 21 07:58:26 2017 +0100
Do neutron version discovery and change one test
Make the neutron client perform version discovery. (Note: do we really
want to do this and not just cheat and append a v2.0 to the URL?)
More importantly, convert one of the unit tests. Note that neutronclient
doesn't seem to do version discovery itself.
Change-Id: I57a78736e48eae52f51f4d9315e117de861240e8
commit b08629040eecfa15aec8a02eab9d21a956b47425
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jan 19 09:00:30 2017 -0600
Add raw client constructors for all the things
We want to start taking new functionality in with raw REST. However,
before we point people at doing that, we kind of need for there to be
clients people can use to make REST calls.
Go ahead and add everything os-client-config has default api versions
for.
Note - we could almost certainly get fancy with some sort of
metaprogramming to avoid the copy-pasta here - but I do not think the
complexity is worth it - it's not that much pasta.
Change-Id: I4691bc7c4943136b1e3fb9a9a8981e682b42ec8a
commit b7ea6c7150cad5e17404edb5401d5eead827041d
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 29 07:37:06 2016 -1000
Replace SwiftService with direct REST uploads
SwiftService uploads large objects using a thread pool. (The pool
defaults to 5 and we're not currently configuring it larger or smaller)
Instead of using that, spin up upload threads on our own so that we can
get rid of the swiftclient depend.
A few notes:
- We're using the new async feature of the Adapter wrapper, which rate
limits at the _start_ of a REST call. This is sane as far as we can
tell, but also might not be what someone is expecting.
- We'll skip the thread pool uploader for objects that are smaller than
the default max segment size.
- In splitting the file into segments, we'd like to avoid reading all of
the segments into RAM when we don't need to - so there is a file-like
wrapper class which can be passed to requests. This implements a
read-view of a portion of the file. In a pathological case, this could
be slower due to disk seeking on the read side. However, let's go back
and deal with buffering when we have a problem - I imagine that the
REST upload will be the bottleneck long before the overhead of
interleaved disk seeks will be.
Change-Id: Id9258980d2e0782e4e3c0ac26c7f11dc4db80354
commit 362af901d00b8e46ef734a9e33e29f831fbc4a24
Author: Roberto Polli <robipolli at gmail.com>
Date: Thu Jan 19 09:21:20 2017 +0100
Fix spin-lock behavior in _iterate_timeout.
Change-Id: I95dc8f1500c954951afaf4d5c7d3b4094010d536
commit 08b7ce9331a32731533cc5158d3fa3d3bf03a0d3
Author: Andy Botting <andy at andybotting.com>
Date: Thu Jan 19 15:30:25 2017 +1100
Fix typo for baremetal_service_type
Fix a copy-and-paste error for the baremetal service.
Change-Id: Ifbef9d0ad01c57bd98f06f7f10f9d632753d8221
commit cf2d3500271469fcec692c2c96ad358e22c831c9
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 18 16:39:28 2017 -0600
Add helper script to install branch tips
shade has a functional test that intends to test shade against the
current tip of client libs. Unfortunately, what it's really doing is
installing latest release of the library into the shade virtualenv
that's used for functional testing and using tip of library for the
OpenStack install.
This is not a combo we care about.
Instead, install the library tips into the virtualenv. To do this, make
a functional-tips venv for tox, and make the post_test_hook optionally
use it.
Change-Id: Ibac2982e88439362c7af933c3a07c4d581ee6f2b
commit 3c47e251c978cf9c5e393f032c0c70d67c1dcb00
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 18 14:25:53 2017 -0600
Revert "Fix interface_key for identity clients"
This patch breaks stable/newton devstack-gate of shade.
This reverts commit fa4e1bd21db4bee2a0ee779067cdd659e647d7fc.
Change-Id: I31a7831693f567a0717a9b41c242453fb937d6d7
commit cc2b337dcd55d8d2edd53b6000f1dd128636b529
Author: Andy Botting <andy at andybotting.com>
Date: Wed Jan 18 15:54:00 2017 +1100
Add support for Murano
Add Murano support with the service name 'application-catalog'
Change-Id: I42794993b8f6208d40786e83ec80ee64a0879415
commit 0f706a7ded8ace403c5bfac0e58d3a644285a6f3
Author: Roberto Polli <robipolli at gmail.com>
Date: Fri Dec 23 13:03:07 2016 +0100
Basic volume_type access
Change-Id: I86405e7272c4101f6f03841ff65deec057fbed0b
commit bedc9c57c2f28f30bdc200f7c6edf653db4cde90
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 19 16:17:13 2016 -0500
Add OpenTelekomCloud to the vendors
Change-Id: I82fad53ad2078f58ba14e16a7199b7b730a37457
commit 0851770b0f56eb3b48e50eb8b5bd6ad8b41e882e
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Dec 25 08:41:30 2016 -0600
Add support to task manager for async tasks
In order to support replacing SwiftService, we need to be able to spin
some tasks into async threads. We'll allow for calculation of rate
limiting to match with the start of the call, but will return a Future
to the call site. This patch is followed by a patch to Nodepool to have
Nodepool's TaskManager subclass shade's TaskManager.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: Ib473ceece7169d76dd37702d66b188a841ec3f59
commit 9d145e0be29c996015f9019307aef88a553e01ad
Author: Roberto Polli <robipolli at gmail.com>
Date: Fri Dec 23 14:52:20 2016 +0100
Added list_flavor_access.
Change-Id: Ia983486ec4d587dd436e6a9c0b443be8ce1a7102
commit 53858f340eeb55cf233a56fc6f63bd60f58251b3
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jan 12 08:17:22 2017 -0500
Remove 3.4 from tox envlist
We don't support it.
Change-Id: I43c9bc965374cb8fbbe9c40f366aed31d8cf9022
commit 091fde16a38acf17e0d98db44cedc179464aa2f0
Author: avnish <avnish.pal at nectechnologies.in>
Date: Thu Jan 12 10:17:37 2017 +0530
Use upper-constraints for tox envs
Pin tox environments to upper-constraints to avoid conflicts with
library releases.
Change-Id: I17664e0794de05fb9661050018dff2a07b077826
Closes-Bug: #1628597
commit 25405851b72c608b08444578c9f256fcf653c3a9
Author: Iswarya_Vakati <v.iswarya at nectechnologies.in>
Date: Wed Jan 11 16:41:53 2017 +0530
Removes unnecessary utf-8 encoding
This patches removes unnecessary utf-8 encoding
Change-Id: Ida121eb29eb8ea1b5fb40c3eb6843c4f9cb1caff
commit 28e2b4c6943d759f67e31ebac7977ce465916a5d
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 9 09:42:00 2017 -0600
Log request ids when debug logging is enabled
If debug logging is enabled, it's fairly likely that's because a user
wants to debug things. Often times having the request id in the log is a
useful part of that.
Also, while we're in there, don't try to log information about the
object returned when there is no object to query. And log a useful
message on lists, and when we get objects from nova.
Change-Id: I02579227f3475a952006689182f6ca112fa1f7ed
commit 362c6febe24f7f95d47c7cdab964d0f249e75fd5
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 10 09:58:34 2017 -0500
Honor image_endpoint_override for image discovery
If an endpoint_override is given, we don't need to do discovery.
Clearly the user is telling us what they want. We should do that.
Change-Id: I68a534b15d20db5909179ad26c54b47c9eae8d47
commit 11d66e34e497f965348ca266ee3007afb122b1e5
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jan 5 10:33:12 2017 -0600
Rework limits normalization
There isn't good docs or a guide on what we're looking for with
normalization - so rather than nitpick a review to death, I just made a
patch. We should make a doc ...
Changes included:
- We need to be explicit about every key we're going to support. Some of
the limits keys are deprecated, so just don't return them.
- Change them all from camel case to underscore to match other
resources.
- Document them in model.rst
- Change the name from limits to compute_limits, since it's only limits
for the compute service.
- Allow usage by a normal user (it's not an admin function)
There will be a follow up patch to convert this to direct rest calls,
which will be fun due to the ability of this to work against other
projects.
Change-Id: Icfb118d4289263c0dd906f600e370242f191f708
commit 68a8d513dd0cd6c2f24642f2f02e4c61f3a863a7
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jan 6 09:51:28 2017 -0600
Handle pagination for glance images
The default glance image list pagination seems to be about 20, which
means for v2 you really need to deal with pagination every time. It also
seems that the limit parameter does _not_ allow you to get more items
than the server default, so you can't just say "limit 100000" and be
done with it.
In order to accomplish this, we need to have the adapter stop trying to
return only the image list when there are other top level keys (so the
code can read the next link) and then do a loop requesting the next
link.
To make us even happier, glance returns the next link as '/v2/images' but
we have already set the adapter to 'https://example.com/v2' due to
version discovery. Since we're setting the endpoint_override on the
adapater, it treats that as the root, leaving us with
https://example.com/v2/v2/images. To deal with that, introduce a 'raw'
adapter which is bound to whatever is in the catalog, rather than
whatever we found through version discovery.
Change-Id: I030147e0275d0c4ee89588e21b5970f7d81800d3
Story: 2000837
commit 9e818c0afdb280a374cb2418cf4a277c3867e218
Author: Paulo Matias <matias at ufscar.br>
Date: Tue Jan 3 16:30:39 2017 -0200
Add support for using the default subnetpool
Allows to pass use_default_subnetpool instead of a cidr. This is
required when adding an IPv6 subnet if BGP or prefix delegation is
enabled.
Change-Id: Icf7c212ee730d631599fba732f66679c5cd2916d
commit 228b50dea0748d3a079fd4a1c24b38699a146e34
Author: Andreas Jaeger <aj at suse.com>
Date: Wed Dec 28 16:13:26 2016 +0100
Remove link to modindex
The documentation build does not generate any module index, thus remove
the link to the page. The page
http://docs.openstack.org/infra/shade/py-modindex.html does not
exist.
Change-Id: Ibfc9f74bbebe3ad2c0d3d37eba3e65a44a602dfe
commit 197ca1b8c700223c253ada0e6d04660ce18858fa
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 22 13:44:42 2016 -0600
Fix exception name typo
Change-Id: I2ecfe8a3d614d734bee03ae9412044704887c1d0
commit 18916dea5712c1b24737b698d7182dced222a85f
Author: Andrey Shestakov <ashestakov at mirantis.com>
Date: Thu Dec 22 16:31:49 2016 +0200
Add failure check to node_set_provision_state
When 'wait' is enabled in node_set_provision_state, exception should be
raised when machine failure occurred.
Change-Id: I5cc96127b4f44fdadbe75f5df5264565d4e646c9
commit fcead29c3faa0d7f33e05cd527cbb475542d32ab
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 22 06:42:25 2016 -0600
Update swift constructor to be Session aware
python-swiftclient has Session support now! Use it, and remove a pile of
customization specific for swift.
We still need to put a few parameters in different places, but that's
no worse than glance or trove.
Change-Id: Ic51aee2bc7b535aa4b6e261fb3deb59bd921f563
commit 33548e54c0b77438446450d350d94164586d28d5
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 20 09:24:57 2016 -0600
Add test to verify devstack keystone config
Similar to the services, we also configure keystone v2 for some test.
Make sure that in the tests where we're doing that we actually end up
with keystone v2.
Change-Id: Ic8fdeae2ac82145e6a8c254c6953419e827216d3
commit 4c1494cd921ebd6258406ab2aa1d1970dd4461b4
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 19 11:39:11 2016 -0600
Make assert_calls a bit more readable
Output helpful error message about _which_ of the list of calls is
broken if something is broken. Also, use zip and enumerate to save us
having to dereference [x] all over the place.
Change-Id: I8f07d70450251c45038c8123274424e1b0097065
commit 45737abbbaa86e0b3073d09fdacd8cd1c9355a86
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 19 11:26:00 2016 -0600
Update swift exception tests to use 416
On GET queries, swift can return 416 which indicates an invalid range
was requested. This is a thing where we'll just throw the error to the
user, so makes it a good thing to test.
Change-Id: I6b4274c42b7f708d1c7707535715321bb337f97c
commit c8a3952152d9a5e7bb0d0007c94ee61f4e9db2a4
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 19 11:18:52 2016 -0600
Make delete_object return True and False
Delete methods in shade return True if they deleted something and False
if they didn't.
Change-Id: Id5b1cea3bf582783ca5bdcd865435b27855fb0a6
commit 9e9e2e702253540f28ca994f1c96f9b1fb82c8d5
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 19 09:30:15 2016 -0600
Switch swift calls to REST
Added support for calls that directly return lists to the adapter.
There are a few minor changes in the test suite. swiftclient appended
query strings differently than how requests is doing it. A comment was
adding clarifying why we're testing a 409. And the b'test body'
workaround for python3 issue we saw with request_mock and swiftclient
does not occur now, so we removed the b''.
Change-Id: I7e962f99cbab07ed1d4fea6e2c6df10776a4be80
commit 4d9cac215b577ef93d08268e00a7d98635ffd9bb
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 19 09:34:20 2016 -0600
Stop using full_listing in prep for REST calls
The full_listing parameter to swiftclient causes it to do a
batching/paging approach all the time. We can do it smarter, but for
now, just remove it so that we can do an equal logic REST conversion.
Then we'll add paging support smartly to the REST calls and always do
it.
Change-Id: I743871c5f87fba28d16b38fe23c51fd0cdd7eecb
commit de9a51958568bd7f93dcb12edebd30fcea674c51
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 19 09:03:16 2016 -0600
Stop calling HEAD before DELETE for objects
It's totally inefficient. Delete throws a 404 if the object isn't there.
There's no reason to do a HEAD first.
Change-Id: I1e7e0a37d12d15f79786e87dc87afc047495e142
commit 29d15878a7b2fe3596516a5f2e5aaa8f6554deb3
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 17 07:44:56 2016 -0600
Replace mocks of swiftclient with request_mock
The string handling around headers and swiftclient seems a little off.
Note the b'' we had to add to the public acl as well as the str() in
get_container_access and the str() around the header in test_object. The
swift docs say that headers should be unicode strings - but in 3.5 we
get bytes in some places that it seems like we should be getting
strings. The b'' and str() casting make the tests work - but I'm not
convinced that's the correct thing to do in these cases.
Change-Id: I2d7c77eaab690f578eaba80490145bc16a23222c
commit 98f1bd57de405e92eff768c6a968d32e6b41a703
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 17 07:13:19 2016 -0600
Put in magnumclient service_type workaround
Older versions of os-client-config only have an api version for
'container'. It's pretty easy to put in a workaround for that.
Change-Id: I1edaa7ee416e4cc85bffb999a0e66b9494dabc37
commit a32d451690cc21fcec505193540d9ce21e5d0a42
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 17 10:20:06 2016 -0600
Let use_glance handle adding the entry to self.calls
Change-Id: Iac4a6e6b428fac897104c25d5b139f3de40b21d7
commit 0232a12d04ca4976399fb3740414f541662108ab
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 17 09:46:03 2016 -0600
Combine list of calls with list of request assertions
It's really awkward to assert that the request to call 14 had a json
body that looks like something. Instead, it's more natural to say
"there's going to be a POST call to $url and it should have this body"
Make the assert_calls helper method also look for optional json and
headers content.
Change-Id: I12a50d46416c80b052cf30b605b2820899a1eb77
commit 7d463839d1389e87024e5dd23aac8134c33f0d00
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 17 09:07:35 2016 -0600
Extract helper methods and change test default to v3
Our unit tests default to v2, which is sad. Change that to v3. Also,
make it easy to write tests that use v2. Also, start building more
scaffolding for making requests_mock tests easier to write and grok.
Change-Id: I83e2b7c9cf91c2b3128df1a77debd47b1b5ce8c7
commit f80d1717dcc2d2137dd25760b8da627638954d60
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 17 09:06:22 2016 -0600
Make munch aware assertEqual test method
Many of our assertEqual calls use compare munches. When there is a
problem, the printout of the munch is all on one line, which makes
reading it hard. Make an assertEqual in our base class which turns
munches into dicts if they're passed in.
Change-Id: I478548c5146cd6f86b8957f527ccd3d78268156f
commit b3b833c69e23193aa28a9eef230e1775d2743ef4
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 17 07:24:30 2016 -0600
Extract assertion method for asserting calls made
The pattern of asserting a list of calls were made comes up over and
over. Let's encode it into a method.
Change-Id: I43186abbc807eab4da1b88469fe29bb7f0dd83b9
commit 63ead1466886b346db10014279e18f8af464e63e
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 16 10:41:38 2016 -0600
Change get_object_metadata to use REST
Change-Id: Ie473afecaa863bd5ee44a159a3f7e30ad943c674
commit 1beac18cd0eeab6ff36367e8e0d322235dbe478d
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 16 10:41:12 2016 -0600
Update test of object metadata to mock requests
Replace all of the swift_client mock calls with requests_mock calls.
Change-Id: I59fed67aad05d3c38add9c918f01420181d75fe9
commit ea061e8031a4b9176390820175c60f836311f2f6
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 16 08:03:01 2016 -0600
Add release notes and an error message for release
In prepping for 1.14.0, it seemed there were a couple of important
release notes missing, as well as an informative error message
in case someone installs shade fresh and then tries to use
glance_client.
Change-Id: I17b8e7d3d1f6ac8172e49f4473137f51351f7e5d
commit 6615160361f375f480ce66947957513ee3dd0134
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 15 10:07:55 2016 -0600
Magnum's service_type is container_infra
Leave container_api_version since people might be depending on it.
Also, add it to the constructors list, since we do know about it.
Change-Id: I3bcb966154ac53269614c943ad9c2675b27d62d0
commit e2d1008aed7f0d3046e1aa539c03837318c4263a
Author: Steve Martinelli <s.martinelli at gmail.com>
Date: Thu Dec 15 12:34:32 2016 -0500
Add docutils contraint on 0.13.1 to fix building
See:
http://lists.openstack.org/pipermail/openstack-dev/2016-December/108742.html
Change-Id: Id183b0d3a6339e10f2f1f4a5dc78352d5c3f27ed
commit 7e0fbb3707e1b60157a5662ada2c0c9177b9a2d7
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 15 09:29:34 2016 -0600
Add total image import time to debug log
Because the image import happens in a poll loop on tasks, there is no real
tracking of the total time elapsed. While watching logs or reading them,
it's a number that's interesting - so calculate and report it.
Change-Id: I23dfa5d8a2fe7b105389b23681effbde8c528a6d
commit ace76cfd2f450d3c8eeafb9e8153c0a00f0a2bad
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 15 09:08:31 2016 -0600
Clear the exception stack when we catch and continue
When we don't care about an exception in one of the poll loops, but then
there is a different unrelated error later on, the caught and handled
exception can linger. This is seen in output like this:
shade.exc.OpenStackCloudException: ("Image creation failed: <type
'exceptions.OSError'>", Munch({u'status': u'failure',...)) (Extra:
Munch({u'status': u'failure', ...)) (Inner Exception: (503) Server
Error: Service Unavailable for url: ...)
The 503 error is caught and skipped as a normal matter of course. Then
the task later fails and returns a status: failed, which we throw a new
exception for - but the earlier 503 error shows up in the exc_info call
so it gets reported. Since the 503 ISN'T related to the actual error
we're reporting, the output is erroenous and confusing.
Change-Id: I87b521df98435d541d62269c0987313add74d260
commit 0dff88869195c937a23071cdf89b783c116556f6
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 15 10:10:25 2016 -0600
Magnum's keystone id is container-infra, not container
Our use of 'container' as the key for magnum service detection and for
client construction has been wrong, but was missed because we failed
open on missing services.
Change-Id: I181f33388bbeb793fb8b5c47dd40188e7826cd43
commit 485a4c171bdcec337e5287410a3c45792a2df0fe
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 15 09:03:23 2016 -0600
Stop double-reporting extra_data in exceptions
We append extra_data to the args we send to Exception, but we also
append extra_data to the str output. Thing is - Exception already does
that with all the args - so we wind up with something like:
shade.exc.OpenStackCloudException: ("Image creation failed: <type
'exceptions.OSError'>", Munch({u'status': u'failure'...)) (Extra:
Munch({u'status': u'failure'...)
Also - the Munch output isn't terribly useful in the exception, so go
ahead and dict-ify it if we've passed a munch to extra_data.
Change-Id: Ie3271093fba0ac6f074e1cfd4e6a79455dc82be4
commit 916ba3812362722e836be122765531daa0e9e63d
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 15 07:11:57 2016 -0600
Pass md5 and sha256 to create_object sanely.
The logic to skip md5/sha256 calculation was flawed, as it pulled the
wrong keys from the image_kwargs. The whole idea of pulling parameters
from the image create kwargs is too clevel though. Just go ahead and
pass the values as real python parameters.
Change-Id: I516b0143d6874bd31f5050fc6bee0dc8227dfcda
commit 8c0ea00215e12ff32daad1a2664fddd14b89b838
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 13 16:06:11 2016 -0600
Convert glance parts of task test to requests_mock
Remove the mocking of _image_client and go straight for requests_mock.
It's worth noting doing this caught a bug in the POST to /tasks where we
were using data= instead of json=. Yay tests.
Also - we've added a failure in the task poll loop. The first GET for
the task status returns a 503 which is then appropriately skipped.
Change-Id: Ia50333d8a1c62b68e89f08aafe4b7e6caee8ef5a
commit 532cab320050a9d67862d68b404736335e1be02b
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 13 15:17:35 2016 -0600
Collapse base classes in test_image
Turns out we don't need a separate test class for REST and client
changes. Collapsing them means we can have mixed tests (like we already
do for testing tasks) and we can follow up with patches here to just
replace the mocks.
Change-Id: I1fd9691dea4db79fd997e231e9d46cae1885c5f7
commit 8eb62897a993c8d91f7d2fe8792ff789ab980513
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 13 12:25:12 2016 -0600
Skip volume backup tests on clouds without swift
It's also technically possible for a cloud to configure itself to use
NFS for volume backups, but it doesn't seem anyone does, and also isn't
how devstack is configured.
Change-Id: I76ada67272fb16c01888fd25904e76bf9f7e3970
commit 65f3d49cf75e4496e4420fef4c0537f9f43f35f3
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 13 07:45:12 2016 -0600
Add new attributes to floating ips
There are four attributes that show up by default in devstack installs.
They come from the timestamp and standard attributes extensions, so it's
possible they may not always be present. But we can make them always be
present.
Change-Id: I1a05ef735c24600821856c6ec36df11e981b3d36
commit ecce72199a8c9f0f333715419d572444d5b9fc90
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 12 11:09:04 2016 -0600
Add test to trap for missing services
Recently when there was an issue with the magnum devstack plugin causing
the shade gate to not have swift, we didn't notice except through the
ansible tests. That's because we have a bunch of has_service checks in
the tests themselves to deal with different configs. Unfortunately, that
makes it easy to fail open.
Put in a test, along with changes to devstack-gate jobs, to throw errors
if services do not show up that should.
Depends-On: I2433c7bced6c8ca785634056de45ddf624031509
Change-Id: I16f477c405583b315fff24929d6c7b2ca4f2eae3
commit a868c0a81bc687fc4c3be8ddade2fe8ac4aec47e
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 9 11:39:14 2016 -0600
Change fixtures to use https
It's not REAL traffic, but shade upgrades connections to https in some
places where half of the config erroneously shows http, so it's good to
have the fixtures look correct.
Change-Id: I4f47981fd114cc0bd622338174f764b374fc4047
commit 766297d010f5631c241e770b94ddff07b23538de
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 9 11:28:08 2016 -0600
Honor image_api_version when doing version discovery
We want to grab the latest version available - unless the user has
configured themselves to request a previous version. Enter Cloud Suite
is an example of a cloud that has v2 but v1 must be used for uploads.
Change-Id: I1603fd567a59b5c123ab2f84c7a9571381245e97
commit 51598130b6d56f5f371d9725b6fdd9283baf759a
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 8 18:42:27 2016 -0600
Replace swift capabilities call with REST
This is the first step of removing swiftclient.
Change-Id: I50dd5d262d8ecea02e49aeef087a13fde9604502
commit bef38e438d6c4819ffb6058d161b5a694d7e7135
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 6 17:56:13 2016 -0600
Change register_uri to use the per-method calls
Turns out register_uri('GET', *) can be written get(*). Let's have that
be our pattern.
Change-Id: Ifbe18ac398f717c8ee8d3e8d284283fb2c4b2d11
commit 06ea154ec5947611865b851a8f4f5a4e4d308222
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 6 13:21:27 2016 -0600
Convert test_create_image_put_v2 to requests_mock
Also, add a test for listing an empty list of images as well as to make
sure that an image dict gets propertly normalized when it comes through
in the request payload.
There are likely some more things we can/should assert in the request
history objects.
Co-Authored-By: Jamie Lennox <jamielennox at gmail.com>
Change-Id: Iede134002cb75cb382d07b32115d56fc50a656c6
commit bd545ceea138f03e7347ef95efae06713fba8805
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 6 12:16:19 2016 -0600
Remove caching config from test_image
The caching config isn't the actual config we need. Remove it so that
the refactor can be cleaner.
Change-Id: I6bbc17d78e49c98394e8f391192c2dbc35889ae8
commit 9de5c7806bf54ef8dcf70c0dfa6c31ea33b3d210
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 6 12:05:35 2016 -0600
Move image tests from caching to image test file
There are literally no changes to these tests. They are moved because
they are testing image code, not caching code. Next will come
refactoring them to use requests_mock instead of mocking the
_image_client itself.
Change-Id: I749db302f1612a01c726224a68193add1472b5cb
commit 24acc1888bff40fed9d51dcb2a876023cdcd1a96
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 11 19:09:19 2016 -0400
Remove glanceclient and warlock from shade
We've removed the uses - remove both from requirements.
Change-Id: Ie3f2354d2034a695ae9086f84f5d6c7f3698d90b
commit dd25a3c41603ce254bb1ba1e81e6f43b33cf6eb8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 10 10:03:10 2016 -0400
Remove a few glance client mocks we missed
Change-Id: Id4b5bc89e8829b3aebe67053b16c49abc60248c6
commit 790d8d8a82435994991bb7e9b6213cc3cc38029d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 11 19:05:54 2016 -0400
Change image update to REST
Change-Id: I036611df202c4c063db01fca27e10a3437bc5799
commit ec2d0c20d1b02cf82c407874ef697120fd2c0049
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 12 09:04:56 2016 -0600
Make available_floating_ips use normalized keys
We have an api we commit to - we should use it interally. Otherwise, if
someone provides strict=True, functionality will fail.
Change-Id: Iafc7c34df991775f22ebe8cfc845f1f974c079d7
commit 0b47f865a7030e31c5314c7cb69aa8402c5265c4
Author: Alvaro Aleman <alv2412 at googlemail.com>
Date: Sun Dec 11 16:18:17 2016 +0100
Fix _neutron_available_floating_ips filtering
Change-Id: Ibc5a730fca5a8049fd54279c0d6ced026dd90e1d
Task: 3426
Story: 2000829
commit e6691dddc4aaf20bbddb0b704218cc26d09a8d6a
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 9 12:20:52 2016 -0600
Stop telling users to check logs
End users do not have access to operator service logs. If there is a
problem creating a volume or a volume backup, telling them to check the
logs is just rude.
Change-Id: I16aeb4be16c1f43e19f24dc4dc935958a7523b9c
commit 37adf27494cf6fc014f1a1d44af1ed3ff3e67e61
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 6 09:56:59 2016 -0600
Plumb nat_destination through for ip_pool case
Currently, if ip_pool is provided to add_ips_to_server, nat_destination
is not passed along to the things that need it. Fix that. Also, while
in that, pass server to create_floating_ip so that the better neutron
FIP creation routine gets used.
Story: #2000820
Change-Id: I32fd485cb7e7064eaae35578a3643100ee85a096
commit acef8451b385b3b656915cade46e298851b6c527
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 11 09:28:51 2016 -0400
Update image downloads to use direct REST
Change-Id: Ie936fa80a961a427f86f39e498cb631ffbbc73e4
commit 7fc5e7bf1b3b886f5c1ab4263eaae536ac883ae2
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 10 10:00:53 2016 -0400
Move image tasks to REST
Change-Id: I034f48ec3814af8bcf967cc41f53e3b180283739
commit d8b26c3f5952efe6f5d272dc816fa7fcd53b11d0
Author: Arie <abregman at redhat.com>
Date: Wed Nov 9 00:43:39 2016 +0200
Add support for limits
Allow to get the limits of your project/tenant.
Change-Id: I115b2fad354a4319aece33a13b4dfdc204e4c5fb
commit fa4e1bd21db4bee2a0ee779067cdd659e647d7fc
Author: Paulo Matias <matias at ufscar.br>
Date: Wed Dec 7 18:07:37 2016 -0200
Fix interface_key for identity clients
Change-Id: I83870e8b3ee6dc7fdbb6e9d67075cc4c08646e4e
Closes-Bug: #1648212
commit 5a54765cb516e5c882c84e62efad9e5f960dad81
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Wed Dec 7 12:28:26 2016 +0100
Tox: optimize the `docs` target
No need to install runtime dependencies nor to actually install
Shade in order to generate the documentation. So just don't.
This speeds up a bit the doc generation.
Change-Id: I2264cfbcb53171b345e1a923111c48d2d063f757
commit 892abf03e226ee87d77bf7504fc20b37c3e7cee9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 9 18:24:10 2016 -0400
Replace Image Create/Delete v2 PUT with REST calls
Also, add tests to show the delete-if-failed-upload logic works.
Also, if we can't find a top-level resource in the json output, just
return the entire dict rather than throwing an exception, due to glance
PUT returning a bare dict.
Change-Id: I48fe434fe027f6a09588cc3aeeada2e83508f129
commit 29be502d23feb829f1dec24e67924ed84666c7e8
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 9 14:43:17 2016 -0400
Replace Image Creation v1 with direct REST calls
Listing/getting images is done. Tackle uploading the darned things.
Change-Id: Ia1e7fa57ef6af1213dce772b5dc06e72ca8488fe
commit 661393736462e05d74fdddf1b26119201884539b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 3 10:03:51 2016 -0600
Remove test of having a thundering herd
The important test is the following one, which tests that we prevent
thundering herds. The test that we _have_ one is subject to a race
condition where the mocks execute so quickly that we don't herd even
without the protection. But that's ok - it's ok for a herd to
accidentally not happen. So remove the test which is just false-negative
noise.
Change-Id: I10c418a2c4ba2d8d1b0b3a22516bff2a688555a7
commit 68456a1a1adda288031b11a38f566dae820e3b50
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 1 17:01:45 2016 -0600
Pull service_type directly off of the Adapter
endpoint_filter is going to be empty if we pass in an endpoint override
like we do for glance.
Change-Id: I1899c253bba11628656e82c96ce7b0629af465d1
commit 633720cb9473d40795dfb5167a52f7aacddcf93b
Author: Arie <abregman at redhat.com>
Date: Fri Nov 4 19:20:59 2016 +0200
Add compute usage support
Add the capability to get resources usage
for a project.
Change-Id: I9a6bf7edf868d6ad7d587324ec985a6e4e669f23
commit 93191ebe9b58b085cb1fde2040e450bcc2ab5ccb
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 29 08:36:03 2016 -0600
Re-add metadata to image in non-strict mode
In the old shade normalization we always made sure that properties
showed up in a field called metadata. When we reworked the normalization
recently, we missed that field. Add it back.
Change-Id: Ic39679d30b49d461feaed81ff162f3e8f4a694ac
commit 3008683d614b62a87057d6dd510716291ba407cb
Author: Flavio Percoco <flaper87 at gmail.com>
Date: Fri Nov 25 10:55:46 2016 +0100
Show team and repo badges on README
This patch adds the team's and repository's badges to the README file.
The motivation behind this is to communicate the project status and
features at first glance.
For more information about this effort, please read this email thread:
http://lists.openstack.org/pipermail/openstack-dev/2016-October/105562.html
To see an example of how this would look like check:
https://gist.github.com/0bed66f234ed59d0c6e2aa220e709950
Change-Id: I80c57e310b601d47be5b5f81c604d7d6310a60eb
commit 5b301ce95e480796469325123e25eae3cb1b4bb6
Author: Hoolio Wobbits <hooliowobbits at gmail.com>
Date: Tue Nov 22 05:09:37 2016 +0000
Added documentation for delete_image()
Change-Id: I5a89b9b5906f00970ae6f87a28bdca1b021b58e1
commit f7f4bd7e0efbfcb74788f9edf51491649f03fa65
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 21 18:54:03 2016 -0500
Add an e to the word therefore
Change-Id: I4d579e44b350f3276591c51f9d05a03b8c52a0da
commit cb281e2a6c0c36209010bf31ce15016d362d3bba
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 21 18:37:40 2016 -0500
Allow server to be snapshot to be name, id or dict
In documenting this method, it became clear we weren't telling people
what value server should have. Our tests made it look like it could be a
server name - but in fact it could actually only be a server dict or a
server id.
Make it explicitly all three, and fix the tests to not test their own
mocks. Or, if not actually fix them, at least make their examples not
blatantly wrong.
Change-Id: I64361a7a26cfa5137f9e862624fe379219f1cbb1
commit 27a55272136da70b5491747bf0f437a210a296d0
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 21 18:20:40 2016 -0500
Add docstring for create_image_snapshot
Turns out things aren't in the docs if we don't document them.
Change-Id: Id1a829f677c8460a7e82c51641cd181a04ed17c7
commit f0a50a6220cde3ecc4494429a2b6891f7ac1ad77
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 17 17:07:17 2016 -0600
Allow security_groups to be a scalar
novaclient requires a list. If a user does not provide a list, wrap
their value in a list for them. Otherwise nova tries to treat the string
as a list which, you know, doens't work.
Change-Id: Iadbf81c23a87a4e2fa32616b0737b2cfc67e9718
commit 48c5322ab07b8b64529e933c08a470936c7d6405
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Nov 16 12:09:34 2016 -0600
Remove stray debugging line
Change-Id: I3b8b21f79489cf0b5b921b06a520fe94bca26636
commit 8025c63e117720bde7bd5275dac7d89c96d42d7d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 11 21:13:28 2016 -0500
Start using requests-mock for REST unit tests
Mocking out the whole client is the wrong level. Although we'd still
like to betamax the functional tests - as we put in REST calls, let's
make the mocking of them happen at the requests level so that we test as
much of shade as we can.
Nobody look at the v2 keystone catalog. The existing clouds.yaml entry
was for a v2 cloud and I wanted to keep the patch contained to the task
at hand. We should likely do some crazy testscenarios magic at some
point to make sure _all_ the things work with both v2 and v3.
Change-Id: Ife4d95df5417d329195c737814e89d1370a0597b
commit 788932633e3a1d91982dcb9f0c63c4142d92990f
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 24 04:22:08 2016 +0200
Have OpenStackHTTPError inherit from HTTPError
We need to have the exceptions we emit be OpenStackCloudException
exceptions, because backwards compat. However, sometimes directly
dealing with the HTTPError from requests is also a cool thing, since it
has a set of information attached to it.
Make OpenStackHTTPError multi-inherit from both of them, so that users
can catch either base exception, and also so that they can get both
behavior types.
Change-Id: I0243019991fb635302921dc1feb9be5ef6369c67
commit 2a6ae13257e78b2b5c402151c164b525131a4425
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 8 10:27:52 2016 -0500
Use REST for listing images
Finally, the long awaited beginning of the removal of the client
libraries is upon us. Marvel in the wonder that is just making direct
REST calls. Allow yourself to be excited that soon we'll lose the
dependency on warlock.
Change-Id: I9d9f3b4762f9f61c5f325f9e47ea09a1261b02b3
commit 873ad6e84d52016402901fe6b6eda823d66b0e3c
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 7 12:35:10 2016 -0400
Create and use a Adapter wrapper for REST in TaskManager
Adding a TaskManager aware wrapper around Adapter gets us a natural
interface for migrating one call at a time away from python-*client and
to direct REST calls. The Adapter shares the Session with the clients,
but it returns munches and throws exceptions that match the exceptions
we're expecting outside of shade.
Also, move compute_client calls out of their own tasks
Putting compute_client calls in a Task will cause them to be doubly
enqueued. This has to be combined with this patch because otherwise the
double-invocation fails functional tests.
Change-Id: If2d42af5fde1334b3b99ec3a9bbade38b19adbee
commit 697da6fd4e90277d5291b956e04674e7e5ded11f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 13 11:25:50 2016 -0600
Normalize volumes
We had a normalization function in _utils but it was nor documented nor
did it support strict mode. Document the normalization and be more explicit
about which things we support and don't.
Change-Id: I360af3abcfd69afebd941c5d6e359a84dc956283
commit 89cea034fcf0ebb26d74b709ffb68eabdd1130fa
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 15 07:46:35 2016 -0600
Expose visibility on images
Visibility can be public, private and shared - and community is coming
in O1. Make sure that we don't lose that information in our
normalization.
Change-Id: I148547e3026fe155c911d9a51cb51d8901c83650
commit ccf8db106357ac83c2add6ab8ba316a388f2d869
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 14 11:58:53 2016 -0600
Be specific about protected being bool
Protected needs to be bool - but other values need to get cast to
string. There's no good way other than enumerating them like we did for
the other values.
There are two ways to pass in user-defined settings - via the meta param
which does not get cast to anything else and assumes the values are in
the correct type, and **kwargs which does its best to cast.
We know about protected. We can add others if needed (although the
glance docs do not list any other boolean values)
Change-Id: Ib75246441e54d675987a18b890ce847043e7a80f
commit 3394e23b41af6d736f958a6b56d676e6d904a6aa
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 14 13:28:10 2016 -0600
Remove pointless and fragile unittest
There is a change in OCC that does some weird things for unittests. It's
not a production issue. However, this pointless test doesn't mock out
things it _should_, so it breaks with incomplete auth information.
Removing it makes the world a better place.
Change-Id: I919c62b6de05f9fe92a5cdb7c3fa77ffd40d5cfc
commit e2a593d917533424c6de39774afb8566d4f81db2
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 14 13:22:49 2016 -0600
Revert "Remove validate_auth_ksc"
This reverts commit 1f9e2cd123b38a7e744fb8a784d0ee3b523de95e.
Sad as this makes me, let's revert and come back to it when we figure
out the cliff thing.
Change-Id: I0413d5e3b3d8652833a8e7942ba81926787ba3bf
commit 1f9e2cd123b38a7e744fb8a784d0ee3b523de95e
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 1 13:26:00 2016 -0500
Remove validate_auth_ksc
This was a workaround for python-openstackclient back when it was still
dependent on keystoneclient. OSC has its own workaround now, so this
should no longer be needed.
Change-Id: Ib1877b7978b7b016b394232235e887360b6bdf85
commit 42bd7d994f9015031526d3e2b5338df2969f6b9f
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 10 11:27:33 2016 -0600
Fail up to date check on one out of sync value
Make sure that if a checksum is given, it is valid.
Change-Id: Iad4a94c45f7e96800c34f1309f186aecfbe53776
commit 2bf2729bfc3c2f001785c6a921c5a6d3ecceec1e
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 10 10:08:12 2016 -0600
Normalize projects
We were returning projects un-normalized. That's no good for anybody.
Add normalization and documentation of the agreed model.
It's worth noting that because it's a project, information about project
and domain in the location dict is a bit more specific.
Change-Id: I3bbfd010883587857cf09f082124816e701fbe6f
commit 6d9552e535d33b26e6b21189e1109ca6af6f2683
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 10 11:20:12 2016 -0600
Cache file checksums by filename and mtime
The current cache only does by filename. An image could change out from
under a long-running shade process - so include mtime in the cache key.
Change-Id: Ibe649355fa123727b7b61af478e198a22b56aaae
commit f5c37ffcd4aa32da88a9afdb576d9773ea1bbfbf
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 10 11:08:36 2016 -0600
Only generate checksums if neither is given
A single checksum is sufficient for unique checking if given by the
user. If the user gives no checksums, then we might as well do both
since we're doing it in one pass.
Change-Id: Ic589d5771b6f54e6f03d4612b8e7c5a4be6bbc36
commit 73e39a5dd1c3d3276e355f2542e3e2b3a488e323
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Nov 9 17:16:54 2016 -0600
Make search_projects a special case of list_projects
As the first step in aligning list and search, make list_projects have
all the things and search just be an alias. In this case, there were
some positional arguments already in place, so it can't be a 100%
straight alias - but it can at least only have one set of logic.
As part of this, added some infrastructure for dealing with filter logic
and pushdown conditions.
Change-Id: Iff349ff26e59c9ae8022e3ee8f0987197b0eccc4
commit b175fe9feca1eaf215f7d7d234206aebfc251f09
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Nov 9 12:54:54 2016 -0600
Make a private method more privater
This is not actually necessary - but I'm about to do a few things with a
regex and this kept tripping up the regex. Might as well 'fix' it.
Change-Id: If48295bb552dcbe725c13d14467afad2ff99757b
commit 071fb5fa8a17fe82107d38c2ec8418686a42289c
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 1 07:10:55 2016 -0500
Add unit test to show herd protection in action
The discussion around the previous patch had a simple test case which
was used to show invalid and valid behavior. Turns out, that can be a
test.
Change-Id: I39550d44f4e83f803624a833a081101bad9dc545
commit 6bc9e82c8082838d3a0517d252b471a452585340
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 7 14:18:57 2016 -0600
Refactor out the fallback-to-router logic
The same chunk of logic for looking at external networks then falling
back to neutron router investigation happened in three places. Split it
into its own method to reduce duplication.
Change-Id: I154c6172e2f8d710b3fe2bea6b6fe7f4c66d3441
commit d02bd2c0d3b44602bac54828ca30e863b4e6fd19
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 22 10:36:29 2016 -0500
Update floating ip polling to account for DOWN status
The DT cloud transitions floating ips through the DOWN state as part of
normal operation. Don't ask me why. Put the check for port's not
matching after waiting for ACTIVE state to be hit, rather than before.
Also, don't throw an exception if the fip goes into DOWN while deleting.
Finally, skip adding floating ip info to a server from neutron if the
server is not in ACTIVE state, as a server is not expected to have valid
addresses when it's not in that state anyway.
Change-Id: I3020f31783f8d24cbd91942961a7c7868b51698d
commit f22af7f1b2e92d71477eabdbcbaa60905438a298
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 20 16:03:56 2016 -0500
Use floating-ip-by-router
First of all - the method needs to be named by_router, not by_subnet. No
clue what happened there. Secondly, there are several places it needs to
be referenced. Third, there are are few bugs in the original impl that
were discovered while running code against the DT cloud.
Change-Id: Ib9256a9b7bd8ebdb56f1e5048e0aaf059e878b9c
commit 6996f2329e9e0d1b3b8c090b64df8737b1495ba4
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 19 07:53:49 2016 -0500
Don't fail on trying to delete non-existant images
This currently throws an attribute exception, which is definitely not
the right choice.
Change-Id: I2e08ce9f46f4fa8ec1d42508efb16a014d485850
commit 958f97255289763b910c37307933cbe57fd484ba
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Fri Nov 4 18:59:33 2016 +0100
Allow server-side filtering of Neutron floating IPs
Neutron API allows to filter floating IPs based on some fields. This
enables server-side (efficient) filtering that Shade should leverage
when it can.
Unfortunately Nova-net (which is deprecated) doesn't support server-side
filtering when it comes to FIP, so we have to distinguish the two at
several places.
This patch also updates the `search_floating_ips` method to use
server-side filtering when appropriate.
Change-Id: I28c960091c1679ca588c0cfb3bed1881cd6b03d2
commit 9f47acc0cd0c69888b1a3d98b98fcf1a88c248a5
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Nov 5 10:26:32 2016 -0500
Add fuga.io to vendors
Change-Id: I1704b6e26a3c56b519544ad8ee6d3fd80a2a752a
commit ea5f8dd6a695b942d2e76045cec432a86f845e21
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Tue Oct 18 12:36:22 2016 +0200
list_servers(): thread safety: never return bogus data.
Shade has a caching mechanism which is good. It's okay to return stale
data, that is, to return an "old view" of the resources. It's not okay
to return an "impossible" set of data, a bogus view of the data.
If two threads call list_severs() at the same time, the first will
acquire a lock, and start the query to Nova. The second
will try to acquire, lock is held, so it will return the cached server
list, which initially is '[]'. But there could be some servers, we
just don't know at that point.
In that case, we should block to acquire the lock, instead of return
an invalid view of the list of servers.
How to repro (Python3)
1) Create a couple of Nova servers
2) Run
import os_client_config, shade, concurrent.futures
cloud = os_client_config.make_shade(cloud='devstack')
with concurrent.futures.ThreadPoolExecutor(4) as exec:
for i in range(3):
exec.submit(lambda: print(len(cloud.list_servers())))
Change-Id: I32783d291c5d3d13b2fe86cd876931e25f8c4879
commit 6115b001c7d092a1983daaeb9ab3048fdf5443c5
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 1 17:01:25 2016 -0500
Depend on normalization in list_flavors
We have a logic case in list_flavors that is easier to understand if the
normalization is applied first. So apply it first.
Change-Id: I27580ff202f71c35dd8099902411fabad005a955
commit 1f1f5ffc04d1a54217bdf9a56a4f3437ccba7880
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 1 16:16:46 2016 -0500
Add unit tests for image and flavor normalization
Also, while we're at it - it turns out we were NOT doing normalization
in any meaningful way on nova-based images. This is ok - I am completely
unaware of any clouds that do not expose the glance API any more. But we
should fix it.
Change-Id: I4a87bb9b83fcf12ad25ec211c5d13fcf34432793
commit fa80a51d0f64efc14b33409552d4231ddb244d30
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 18 06:48:19 2016 -0500
Add strict mode for trimming out non-API data
shade defaults to returning everything under the sun in every form
possible in order to ensure maximum backwards compatability - even with
systems that are not shade itself. However, passthrough fields from
somewhere else could change at any time. This patch adds an opt-in flag
that skips returning passthrough fields anywhere other than the
properties dict.
Change-Id: I7071a406965ed373e77f9592eb76975400cb426b
commit dd0ee8eb31d3ceba52cd073e23f2ba9f64213a96
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Mon Oct 31 15:10:58 2016 +0100
list_security_groups: enable server-side filtering
For instance, this allows to:
* With Nova, list all security-groups, for all tenants
* With Neutron, filter security-groups to a specific project.
And much more (basically all filtering that Nova or Neutron allows).
(Also, this review removes 2 useless setUp methods. Not related
to this commit, but it's trivial and let's save some white bears)
Change-Id: I3cc5de57d780c73faf252cdcb842e5cff08fee9b
commit e545865f8ff0ec4c9af239231ebba87e3e7592f0
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 19 15:08:00 2016 -0500
Don't fail image create on failure of cleanup
The failure that caused us to run a cleanup delete is the thing we
actually care about reporting. If the cleanup has an error, shrug and
move on to reporting the creation error.
Change-Id: If3956188214b2f627b14e4d820cf27c3080fd4dd
commit f0e9a42ac06ba682ae38bbd40ecd5bdf42f08c7c
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 24 05:20:49 2016 +0200
Try to return working IP if we get more than one
Rather than just returning the first one - if we have multiple choice,
take a quick stab at picking one if one works and one does not.
Change-Id: Ie517af9c10a2a1384f670dca5526f2b919458279
commit b5d65b74f60ce743b03b49a6c176700d658cfe98
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 24 05:40:32 2016 +0200
Support token_endpoint as an auth_type
For backwards compat with what operators have been trained to do, map
token_endpoint to admin_token for them. This has shown up a few times in
the wild. Most recently:
https://github.com/ansible/ansible-modules-core/issues/5250
Change-Id: Ie083381e7fda19e016b6425939bd3c2dc260fa9b
commit c1129ea64fd8874c49828ce49ef543c006d84431
Author: Matthew Wagoner <mwagone at us.ibm.com>
Date: Sun Oct 23 00:22:05 2016 -0400
Add test for os_keystone_role Ansible module
Change-Id: I86b18e894e750e7a7d9860d5b590c7c952722606
commit 4dad7b2e693f02da2fe9f1dc64af51b3c4f891dc
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 17 11:19:04 2016 -0500
Document and be more explicit in normalization
Put extra keys in both the root resource and in a properties dict.
Ensure data types are correct. Make sure int, float and bool values
are returned as int and bool.
Change disabled in flavor to is_disabled for consistency with other
bools we've added. There has been no release with the addition of disabled,
so changing it now is still safe.
Add locations and direct_url to images. They're optional in glance, but
that's evil.
Let image schema attribute fall through to extra properties.
Add zone to current_location.
Add readable mappings for power_state, task_state, vm_state, launched_at
and terminated_at for Servers. Also add a non-camel-cased host_id.
This is a big patch, but it's mostly just reorganizing and adding docs.
Looking at the changes to the tests and seeing that the only change is
adding zone and properties into a couple of fixtures is a good place to
start.
Change-Id: If5674c049c8dd85ca0b3483b7c2dc82b9e139bd6
commit 3f525e01798b433732139a9bff88d9360613cd71
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 20 08:41:18 2016 -0500
Add support for volumev3 service type
Words cannot begin to adequately express the disappointment and rage I
felt upon learning that the cinder team had unleashed 'volumev3' upon
the world. Woe betide us, the mere users, for wanting to use a 'volume'
endpoint and have that choice mean something. Perhaps if we beat
ourselves with leather straps while crawling for days across the country
we can remove more joy from our lives. In the meantime, until we can
fully appreciate the existential crisis of being, let's continue to work
around it in os-client-config.
Change-Id: I171e3b01497b3e3a06c3a73577f0f67e0c1e6f73
commit 86ade8f5281d2bb8b7c1637436aa8cb0c7cddb98
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Fri Oct 21 12:16:51 2016 +0200
Normalize cloud config before osc-lib call
Cloud config was passed to osc-lib before being normalized,
causing exceptions when some api versions were stil an int
where osc-lib expects a str
Change-Id: I7326114d86a4208f1489c302e8bb838dd5b8c5d6
commit 1ac6766537f6ac8f2b1c22ac726a2fb8ad9ce6dd
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 8 16:10:16 2016 -0500
Fix a bunch of tests
There is a bug in validate_auth that gets hidden by validate_auth_ksc.
These tests are the test fixes for it.
Change-Id: I80d558a1c794725ba2a87fbd87bf8fbdf6633bee
commit 422ad9ccdb8b08a223af78a1d1f48df703dd1a9d
Author: Cedric Brandily <zzelle at gmail.com>
Date: Tue Oct 18 22:20:00 2016 +0200
Clarify how to set SSL settings
This change adds an example in order to clarif how to SSL settings in
configuration files.
Change-Id: Id047f21d0a51752f46b16e3f4efbfec62cfbd5fb
commit e03f54ada63ff80ca7ef5ca77bad96513e5962ae
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Fri Oct 14 13:47:46 2016 +0200
Add external_ipv4_floating_networks
Those network not properly tagged as external, even if the
provider is "physical_network" shouldn't be part of the list of
external networks. When shade tries to get a floating ip, made
use of this list, but neutron will fail if the network is not
configured as "router:external = True"
Change-Id: I2daa02805659ee2510a9203227d662161e60d51d
commit 49f1f191df9c95972189ec9eaaa508ff78c98266
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Thu Oct 20 12:01:52 2016 +0200
Logging: avoid string interpolation when not needed
Call to `format` or '%' (basically all string formating) can be
expensive and if someone is not interested in the logs produced
by shade (log_level set to error or higher) can be avoided.
Note: this change is a bit risky given the low unit test coverage.
But the longer we wait the harder this change will be.
Change-Id: I171f4ee08e5978c7b6e3853ed4ee533682c2ffe6
commit 0986a623b7603cc85dd10d1f6a575e6bb165e651
Author: Jamie Lennox <jamielennox at gmail.com>
Date: Thu Oct 20 12:56:31 2016 +1100
Add a devstack plugin for shade
Install shade with devstack. This is really simple because there's not
really any configuration needed.
Change-Id: Ic5962bfb0e25d592d50458f32a21ac612479447c
commit ecb317d6108b12643b126a9f6e1338284ae4f610
Author: Jamie Lennox <jamielennox at gmail.com>
Date: Thu Oct 20 12:57:31 2016 +1100
Allow setting env variables for functional options
The shade functional tests are hardcoded to use the cloud configuration
that is typically provided by devstack. It turns out that shade
functional tests are a useful way to quickly test that a cloud is up and
configured.
Allow providing new values for flavor, image and cloud variables so that
the functional tests can be run on a non-devstack cloud.
Change-Id: I90ab125be77091eaf16ae16e47f4336d4ef49880
commit 47068d0abbb1018e238213af30cf7840bb2104d9
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 19 16:17:38 2016 -0500
Update ECS image_api_version to 1
Turns out they don't run v2.
Change-Id: Icd503f2b035400fbb39903b3fe2542ec14b86e93
commit 29e62e7ae25d160726ae841830f988f93c25b468
Author: Matthew Wagoner <mwagone at us.ibm.com>
Date: Wed Oct 19 09:20:26 2016 -0400
Add test for os_keystone_domain Ansible module
Change-Id: I2116de5f74c9f0fc9d08ae56fba14ea48f850167
commit 9986646a131cf618476d24be18ab22f0da9de926
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 19 07:50:56 2016 -0500
Add abililty to find floating IP network by subnet
If the cloud has a hidden public network but a visible router, it's not
possible to infer network info from metadata, but it is possible to know
that the network that the floating IP should be requested on is the one
that is in the router's external_gateway_info field.
Wrap the search in local caching and a lock to prevernt thundering herd.
It's not a thing that will need to be inferred more than once, but has
the potential to be hit on every server creation for clouds that need
this.
Change-Id: Ic98b6059e0ca5d0f1c8e6db16cc89a352c6fbbbd
commit 57f9ac9ab70f39a787e6cf6dc4cda8b9b6d89c14
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Wed Oct 19 12:39:34 2016 +0200
Remove useless mocking in tests/unit/test_shade.py
It only makes the tests run slower and it's confusing.
Change-Id: I1b4b92ddecf74648727759d4e60fc030a5c5e167
commit 261313ead974f8c48195498fe649208cff883a1d
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Wed Oct 19 11:24:35 2016 +0200
Fix TypeError in list_router_interfaces
It turns out, you can have a router object with a 'external_gateway_info'
key that is set to None. In that case, list_router_interfaces fail with
File "../shade/openstackcloud.py", line 2624, in list_router_interfaces
'external_fixed_ips' in router['external_gateway_info']):
TypeError: argument of type 'NoneType' is not iterable
How to repro
1) Create a router: neutron router-create foo
2) Run
import os_client_config, shade
cloud = os_client_config.make_shade(cloud='devstack')
router = cloud.get_router('foo')
cloud.list_router_interfaces(router, 'external')
Change-Id: I4c2894355958a7142670e186e7932048d66cfd59
commit 78e999776a78496874ccead05b91519581d0e0ed
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 17 09:47:20 2016 -0500
Merge nova and neutron normalize methods
In keeping with the other normalize methods, combine these two into a
single normalize method.
Removed a unittest that did literally nothing but was mocking out things
at a crazy level. Remind me that we should REALLY stop mocking out
anything other than the requests calls.
Depends-On: I59e9834d249ccda0beeb715a8d6271140fb144f4
Change-Id: I077f9d8c4d250d180dec9ce4aabc8f64b507b05f
commit 9acef32eeea34be91b2d25e85a752d3e30b06001
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Fri Oct 14 18:11:50 2016 +0200
Fix a NameError exc in operatorcloud.py
novaclient was not defined in this file. Only nova_exceptions is.
Also add some unit tests.
Change-Id: Id533e302ecace6316746e37f24d207319cdc1eca
commit 0087da59b2ad7e3ff1b2df3a96549461cf8fb31e
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Fri Oct 14 17:59:51 2016 +0200
Fix some docstrings
* Correct typos
* Correct parameter name
* Use """ over ''' consistently
Change-Id: Icf9c7976be1b01a61ec3abb1d6ba7991f85f6410
commit acac3b986be738c5d3eb5f6a7b7bb736b72bba6c
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Fri Oct 14 17:08:10 2016 +0200
Fix a NameError exception in _nat_destination_port
Yeah, it was burried deep but still. Added a unit test just to
quickly exercise this code path.
Change-Id: Ibec3f24483214f8af514c8be512b7c3f3840b32e
commit 6806fcfbbe0e996d7d0a6ad82663c13821fdf77d
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Fri Oct 7 16:40:09 2016 +0200
Implement create/get/list/delete volume backups
Code should me mostly straightforward. Things are done for
backups as they are done for snapshots.
Change-Id: I450356274916e9abef80f270b8a15f94fac6692b
commit efdffe4676f0b479eee78201fcff088362fe2719
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Thu Oct 13 12:44:40 2016 +0200
Move normalize_neutron_floating_ips to _normalize
Also return location, project_id and tenant_id properties for each
FIP. It helps when listing floating IPs as a cloud admin, IPs from
all tenants are returned.
Change-Id: Ie51f35451df620b250400378142ec23216113199
commit e27516fa1cb754062663b26c0ba58cd60e471d5b
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 13 17:13:45 2016 -0500
Delete image if we timeout waiting for it to upload
In other places where we have a timeout waiting for a resource creation,
we delete the half-finished resource. Do the same here.
Change-Id: I6503847a7cde39d3a624c6b0f9ffe9a6fa265a26
commit 6623be208dc009cd1667c7d5db0b9df89ea3a80f
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 12 15:05:02 2016 -0500
Revert "Split auth plugin loading into its own method"
This reverts commit 8b7859e21e64027d20f158737bbf70bbe409b847.
python-openstackclient has a subclass that defines this method with a
different signature.
Change-Id: Ie44f8efb6b93dc0d4754fb316ddb9087ce181275
commit bbc8816e70fb5e920852363460ceaa051ec774ae
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at hp.com>
Date: Mon Oct 10 10:28:59 2016 +0000
Add description field to create_user method
Change-Id: I3444502c61de3931b0bd2623373be927682ceacb
commit d4301046c0ecd9eb5d62eeedcaa9c1a9a729737c
Author: Matt Fischer <matt at mattfischer.com>
Date: Mon Oct 10 17:41:29 2016 -0600
Allow boolean values to pass through to glance
When uploading an image it is necessary to set flags such as
protected=True. Currently the code blindly converts everything to a
string leading to errors. This change will allow booleans to pass
through unmolested.
Change-Id: Ib0e230cf9c52500973ac2e7636f3dc607c1e8089
commit 4bad936afcfd3e9d29722e4b3badcebfa462c3d3
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 9 06:06:04 2016 -0500
Update location info to include object owner
Many OpenStack objects (but not all, grrr) return information about the
project that owns the resource. When we add location info to an object
record, that's the information we care about. Update current_location so
that it wraps a private method that allows explicit passing in of a
project_id to override the token's project_id. If the project_id and the
token's project_id are the same, we can continue to pull out project and
domain name information for readability.
Change-Id: I2a7e6003a2b75894907f90c9ab94244a769a892f
commit 9e72995e218a594019265785ea600d82064987c3
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 3 21:12:22 2016 -0500
Move and fix security group normalization
We've developed a different normalization pattern since we wrote the
security group stuff. Also, it wasn't returning munches. Move it over to
_normalize, add the tenant_id param to nova objects (sigh)
Change-Id: I7a7c88034a78ec218f0f87a608fb67408a849d06
commit 7962efccef46b4bc3dcf223f845904891897d3e5
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 3 20:11:48 2016 -0500
Add location field to flavors
Change-Id: I3273fe20154b4794513e6e012eeb4ced988daaf0
commit b30ff5538f6b8401f06edcbd524e7944c6870f89
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 3 20:07:06 2016 -0500
Move normalize_flavors to _normalize
Also, add a normalize_flavor - which makes two places of completely
ridiculous looking code cease looking completely ridiculous.
Change-Id: I196166a1526a01f12669ec1e5c1c4a497342fffc
commit 5171f7957bcacecde2c45f9ea81e2320294ba388
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 3 19:55:52 2016 -0500
Move image normalize calls to _normalize
Change-Id: I991bfef850f6f67c723c93e711afa91eecdde3c4
commit 7ed4740802e46323b00b3084ed44ad4f40746cb8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 3 17:09:58 2016 -0700
Add location to server record
Change-Id: Icbd8c2248ccd8e1b21cd46e7d291965a8ccec587
commit 7f0b1de2996e73585593d9b918b4e288af0e9d5a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 3 16:56:49 2016 -0700
Start splitting normalize functions into a mixin
As we add location information to all of the normalizers, we need to
pass in info from the cloud object. Ultimately, that means they need
access to cloud members, which means they're no longer really external
functions.
However, openstackcloud.py is super long as it is, so keep them in their
own place by making a base class to shove them in to.
Change-Id: I004e54fa26ea3745b96828100cb11dc5824416ac
commit 4c17e908e80727f096524e61accca2da4bd9bb4d
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 26 21:27:39 2016 -0500
Make sure we're matching image status properly
Image status is totes lower case. But we're totes matching upper. Like,
srrsly.
Change-Id: I2856671b8e08b3657d5f86102bae30b950da0921
commit 42e14bad843bc3efd2ca88a118f696459f648e80
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 26 21:26:19 2016 -0500
Normalize images
We normalize a bunch of our objects now, but image support is so old we
don't. It's also wonky and hand-picked between v1 and v2 as opposed to
being both v1 and v2 like other objects that couldn't escape epic API
breakage.
Change-Id: Ie17b9888c8f5a33231c366abebb8b505fc9592e6
commit 05cfd3ba3fdce3b91db5bf8058c2c0a2261dc76c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 2 11:20:32 2016 -0700
Add helper properties to generate location info
In a following patch we'll start adding locations to normalized dicts.
But let's just put the properties here for now.
Change-Id: Ibf448d80586a8b44d826678827967c30ddd444b6
commit 9e2004be030ad62a68d63fc9f17dffee62f065d6
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 8 10:54:53 2016 -0500
Update simple_logging to not not log request ids by default
Change-Id: Ieb64f3ed8e359b6af9da3af537e164f3211e31d6
commit 1653120803e76cf02c2f35d3bdb67e6bb1848817
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 7 11:35:50 2016 -0400
Add setter for session constructor
shade needs to be able to attach an adapter wrapper to an already
constructed CloudConfig object, so add a setter.
Change-Id: I640859b5d78d17e3c99e8ec11f1418f275e4dea2
commit 8a8a218f090ea7bbb7ce1d3afc11d8f2fda06873
Author: Andreas Jaeger <aj at suse.com>
Date: Thu Oct 6 20:41:15 2016 +0200
Enable release notes translation
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.
Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.
Change-Id: Ic34d4d11adf4aacd91a7fd682a6d15597004ff49
commit f484736b7d087115b8330ae794c101f7f8e7b926
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Thu Oct 6 16:00:46 2016 +0200
cloud_config:get_session_endpoint: catch Keystone EndpointNotFound
The docstring of the `get_session_endpoint` says ":returns: Endpoint
for the service, or None if not found" but apparently the `None` part
was forgotten.
This leads to this kind of spectacular traceback where the exception
bubles up (even through Shade):
Traceback (most recent call last):
File ".tox/run/bin/ospurge", line 11, in <module>
load_entry_point('ospurge', 'console_scripts', 'ospurge')()
File "/path/ospurge/main.py", line 154, in main
for resource in resource_manager.list():
File "/path/ospurge/resources/swift.py", line 15, in list
for container in self.cloud.list_containers():
File "/path/pkg/shade/openstackcloud.py", line 4909, in list_containers
full_listing=full_listing))
File "/path/pkg/shade/task_manager.py", line 244, in submit_task
return task.wait(raw)
File "/path/pkg/shade/task_manager.py", line 121, in wait
super(Task, self).wait()
File "/path/pkg/shade/task_manager.py", line 96, in wait
self._traceback)
File "/path/pkg/six.py", line 686, in reraise
raise value
File "/path/pkg/shade/task_manager.py", line 105, in run
self.done(self.main(client))
File "/path/pkg/shade/_tasks.py", line 549, in main
return client.swift_client.get_account(**self.args)[1]
File "/path/pkg/shade/openstackcloud.py", line 849, in swift_client
'object-store', swiftclient.client.Connection)
File "/path/pkg/shade/openstackcloud.py", line 343, in _get_client
**kwargs)
File "/path/pkg/os_client_config/cloud_config.py", line 301, in get_legacy_client
return self._get_swift_client(client_class=client_class, **kwargs)
File "/path/pkg/os_client_config/cloud_config.py", line 369, in _get_swift_client
endpoint = self.get_session_endpoint(service_key='object-store')
File "/path/pkg/os_client_config/cloud_config.py", line 253, in get_session_endpoint
region_name=self.region)
File "/path/pkg/keystoneauth1/session.py", line 765, in get_endpoint
return auth.get_endpoint(self, **kwargs)
File "/path/pkg/keystoneauth1/identity/base.py", line 216, in get_endpoint
service_name=service_name)
File "/path/pkg/positional/__init__.py", line 101, in inner
return wrapped(*args, **kwargs)
File "/path/pkg/keystoneauth1/access/service_catalog.py", line 228, in url_for
raise exceptions.EndpointNotFound(msg)
keystoneauth1.exceptions.catalog.EndpointNotFound: public endpoint for
object-store service in RegionOne region not found
Change-Id: Idbf5081117bb0a13d04a1a5cb9fd7682baaf04e5
commit 30039f04109efa2263aba6eb302a29bd8d5e8f53
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 26 14:14:15 2016 -0500
Add simple field for disabled flavors
When we were equalizing out the old silly names from the new pretty
ones, we missed disabled.
Change-Id: I4cbf5f7c27f640c566460c18951ab9030aae84e4
Depends-On: I523e0ab6e376f5ff6205b1cc1748aa6d546919cb
commit db4bace4745953cffd894640d335e095f4d7b3cc
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Tue Oct 4 19:02:50 2016 +0200
List py35 in the default tox env list
We really should run py35 tests when we run "tox" without any
arguments.
I0d6c8c8255717770c7e3297bfe5d6130e983d5b0 is going to make
the py35 job voting.
Change-Id: I8c9b459dfaf1e29e7e8321bfd34061d3d2ad5249
commit d009ea21b7b8b95b32812dd5458e44b1f2404384
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Tue Oct 4 18:51:59 2016 +0200
remove_router_interface: check subnet_id or port_id is provided
If neither subnet_id nor port_id is provided, Neutron fails
badly with a 500 error. Also according to Neutron client CLI
(neutron router-interface-delete -h) "Either a subnet or port
must be specified."
Change-Id: I1c218052e50d10020b699b254b986c23fdbf77a5
commit 1f81bf18865ab8e5a5f595968fe162c1eb183110
Author: matthew wagoner <zxkuqyb at gmail.com>
Date: Thu Sep 29 19:41:04 2016 -0400
Add test for os_group Ansible module
Change-Id: Ibfedb4089b0d4646bd6a63b68f2e83213f0df951
commit afe54856b42e23e6d74da345f4870a95f646bc99
Author: Cao Xuan Hoang <hoangcx at vn.fujitsu.com>
Date: Wed Sep 28 10:09:49 2016 +0700
Using assertIsNone() instead of assertEqual(None, ...)
Following OpenStack Style Guidelines[1]:
[H203] Unit test assertions tend to give better messages for more
specific assertions. As a result, assertIsNone(...) is preferred
over assertEqual(None, ...) and assertIs(None, ...)
[1] http://docs.openstack.org/developer/hacking/#unit-tests-and-assertraises
Change-Id: I4ce1745a90b043ea342fb157683b01f862c1bc3d
commit 2d78f1ae940d4b2810437ea3c73379413c3ef6ef
Author: Tony Xu <hhktony at gmail.com>
Date: Mon Sep 26 23:51:53 2016 +0800
Update homepage with developer documentation page
Change-Id: Id7df70e3cfaa29218c2e2badefcbc8a296d86f8d
commit bd434bc6268d7d4b872cbf17cf23a4fd5dc1a855
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Mon Sep 26 17:39:56 2016 +0200
List py35 in the default tox env list
We really should run py35 tests when we run "tox" without any
arguments.
I2a4a6ca01d7cca83f594008960c878a18ca08e8e is going to make
the py35 job voting.
Change-Id: Ibd77e39c53f00357344be8acc2949e1bc1adcc84
commit 0a3e056cce03cdb3dbd62d8eddfaa448d5a0ad5f
Author: Jordan Pittier <jordan.pittier at scality.com>
Date: Mon Sep 26 17:22:27 2016 +0200
Fix AttributeError in `get_config`
Change-Id: I52bdc44800da6c1393a69c4faf96375235ef98bb
Closes-Bug: #1627690
commit eec981c96e3c1824a547c8baa6fc5b08dba57624
Author: avnish <avnish.pal at nectechnologies.in>
Date: Tue Sep 20 11:39:00 2016 +0530
modify the home-page info with the developer documentation
Change-Id: I72a16e15e61c8e6511b96114cc74e3feb7dc6fd3
commit c6d2aeada4d9074f185f9748a81f7c651614e347
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 15 16:41:17 2016 -0500
Don't create envvars cloud if cloud or region are set
OS_CLOUD and OS_REGION_NAME are both selectors. If they are the only
values, we should not be creating an envvars cloud.
Change-Id: I1b7c8d7e3b6c300bd2c85ab482a22411370e4d5f
commit e888d8e5cd2a7bf1f1ffd4de875e8c649751157a
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Sep 7 13:51:15 2016 -0500
Add support for jmespath filter expressions
ansible upstream recently added a filter using jmespath to allow for
arbitrary querying of complex data structures. While reviewing that
patch, it seemed quite flexible and lovely. It's also apparently also
used in boto for similar reasons, so we're following a pretty well
tested solution - and since it's now a depend on ansible, the extra
depend shouldn't be too much of a burden for most folks.
Change-Id: Ia4bf455f0e32f29a6fce79c71fecce7b0ed57ea5
commit 1c00116195272da844b6db076a8aa36604fa16bb
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 6 14:25:09 2016 -0500
Add libffi-dev to bindep.txt
Change-Id: I3510bcbe140db0a57745c5ddfc6eaf7edec75ee3
commit f91a75426b877edc1f0f2e0abe4db9f40e837242
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 2 11:21:24 2016 -0500
Don't build releasenotes in normal docs build
The release notes system exists in parallel and publishes to
http://docs.openstack.org/releasenotes/os-client-config/. When we build
them in the normal doc build, it causes problems for distro packagers.
Change-Id: I6b084a1ad6836beac991d03c5f134203512150ac
commit 91eb5e062a5ea70a65edb08dd22d053b26a3d0f4
Author: Doug Hellmann <doug at doughellmann.com>
Date: Fri Sep 2 09:38:36 2016 -0400
Update reno for stable/newton
Change-Id: I829a65b2104ec3c039859dce2594b701981b1fa3
commit bda72e4adcb33d5a7e6d47fcc46626ebfab1f2f0
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 2 09:58:11 2016 -0500
Use list_servers for polling rather than get_server_by_id
Using get_server_by_id bypasses the list_server poll/cache. There is one
legit place where we should do this, but in the other places it causes
us to poll with great frequency unnecessarily.
The TaskManager test changes are just to get test discover to stop
finding then skipping the fixtures in the file.
Change-Id: I7f1e360f53d7344dfc996eb4c4813184720f8da0
commit 86b100e400ad9dbda018d4be7f97ce4582737fe7
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 1 18:08:15 2016 -0500
Add ability to configure Session constructor
Sometimes it's useful to wrapp the keystoneauth.Session object. OSC has
a KeystoneSession object that injects timing data. shade is considering
one that wraps external calls in shade's TaskManager. Allow for passing
in a callable that will return a Session.
Almost no people will want to use this - it's a super advanced kind of
thing.
Change-Id: Ib64260916695e9fbea437862cd669a4fb85ec9e4
commit 4decd44861c77348fac0fbe19e7c499fbf3cc6e0
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 1 15:47:53 2016 -0500
Fix up image and flavor by name in create_server
Nodepool has a problem with passing in {'id': image.id} which is what
the stated workaround for excess API calls is. Fix the call, and add a
functional test that should catch this.
Change-Id: I4938037decf51001ab5789ee383f6c7ed34889b1
commit a3c9a947dcb25cdb6f0cd988695da59c02ce3c8e
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 12 12:27:45 2016 -0500
Batch calls to list_floating_ips
Similar to servers and ports, we do lists of floating ips a lot. Allow
for configuration of batching actual calls to the cloud.
Change-Id: Iccbbdfca8a42b0a17855dd0bb30f0def15e1e3da
commit 8b7859e21e64027d20f158737bbf70bbe409b847
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 1 09:10:03 2016 -0500
Split auth plugin loading into its own method
In case someone wants to do validate=False at get_one_cloud time, but
still would like to get an auth plugin, having this block be its own
method is handy.
Change-Id: I26137391e67d60d8737473d3d4c6ed15dad53af1
commit 9bbc09d703554e14da8fc3ec1891578dda3c353e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Aug 31 14:08:30 2016 -0400
Allow str for ip_version param in create_subnet
The Ansible os_subnet module will send a string for ip_version
as the type is not currently enforced. Neutron currently accepts
this, but who knows about the future. Rather than break older
playbooks by enforcing type, let's just be friendly to our users
and accept strings (but they must be valid representations of ints).
Change-Id: If8db08d2e93feab3cb21001211ccff70b926ed20
commit f616269390740821ee2e8b3483e884a2d5b1a858
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Aug 31 09:28:01 2016 -0500
Skip test creating provider network if one exists
The current default in devstack-gate for neutron is to create a public
provider network using the existing physical network. That's AWESOME and
we're highly in support of it - but it breaks our test of creating a
public provider network using the existing physical network.
Detect that this is the case and skip the test if it is.
Change-Id: Iff103154aace62f713b2f7b3303f19d31b20d0a7
commit 3f226d151181fd476ee719cf2bc523f7c1fd7420
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Aug 30 09:03:49 2016 -0500
Revert per-resource dogpile.cache work
There is something extra strange going on when nodepool is running where
things return None when they shouldn't. Revert this work until we have a
chance to dig into the guts and figure it out.
Revert "Move list_server cache to dogpile"
This reverts commit 315a11cbbb9b4e9ca4ba9c9e263a4be8d70f49ef.
Revert "Ensure per-resource caches work without global cache"
This reverts commit dcce1234d4c0c8d5b1ec5a0f2ea7c6629a862acc.
Revert "Move list_ports to using dogpile.cache"
This reverts commit 02dd6d7266ff23073a5bb3dc144a4c1ec074022b.
Revert "Batch calls to list_floating_ips"
This reverts commit 376c49777f77dac677f6c16389b139f3bf57473e.
Change-Id: I2ae46e1b057c39777e56a9402a7b1bda8632eb12
commit 87f90e6ffbc754decb2ce0138b12551089c5b5e1
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 29 18:39:52 2016 -0500
Fix two minor bugs in generate_task_class
The superclass name was wrong, and then we didn't actually return from
it.
Change-Id: Id5a45b80741555bf2024b01c6edb771bd7e9b841
commit 42885dc94176eecca1619d7e9c33b5ab3d9a2c0a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 29 17:49:46 2016 -0500
Go ahead and handle YAML list in region_name
The right thing is to use "regions" as a yaml list. However, it's even
more right to be friendly to people - we emit a warning about
region_name as a list anyway.
Change-Id: Ia0b27ef8d1d52c655c2736a97bd5e59a4a2fe9d8
commit 5c1371b22655235fa6b394c89732ca5326d334b8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 22 09:15:10 2016 -0500
Change naming style of submitTask
submitTask is camel cased because it came from nodepool, where camel
case is the prevailing style and thus correct. However, in shade,
underscores are the prevailing style, so this always feels weird.
Make the method submit_task - but add an alias for submitTask to not
break any code using the old method name.
Change-Id: I782d3b914a1b66b5af20315e58568a715222fe58
commit 2b52bcf6943369fe96db3aefe2ee7473dd51b934
Author: Dean Troyer <dtroyer at gmail.com>
Date: Mon Aug 29 13:07:17 2016 -0500
Add prompting for KSA options
Teach OpenStackConfig to prompt the user for KSA plugin options
that have no value but have a prompt string defined.
* Add pw_func argument to __init__() to be used as the callback
for prompting the user. The default is None which skips the
prompt step.
* Add option_prompt() method to perform the checks for prompting,
call the callback and save the returned value. This is public
to handle cases where simply passing in a callback is insufficient
for the prompt mechanism.
Related-Bug: #1617384
Change-Id: I5faa86e94d6f71282ac270e2acfbd3016638c780
commit 522db8e6e49752da203cc3532bebc14014b6c076
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 14 11:43:05 2016 -0500
Add submit_function method to TaskManager
TaskManager operates on Tasks - which is awesome for things like shade
and nodepool where the discrete actions embodied by a task can be
pre-conceived. However, making a task class is a pretty heavy weight
operation to require for ad-hoc tasks. Luckily, Python lets us create
classes and closures. Add a method that allows someone to pass in a
callable or the name of a callable that should be found on client.
Change-Id: I416a7077bdd3427262243d8a39b6ed6b35ae4018
commit 24a61fc53d0a9dc560859bb816796431e5e00cad
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 10 09:40:56 2016 -0500
Refactor TaskManager to be more generic
The functionality that TaskManager represents could provide value to a
lot of people if we put it into the guts of keystoneauth so that a
person could do rate-limiting on all REST operations. It would also
catch some of the "hidden" operations, like fetching a token.
Also, TaskManager is a _very_ stable set of code, so moving it a little
further away shouldn't run the risk of deep/long bug chasing.
In preparation for that, we need to make the shade/nodepool things in
it be explicitly shade/nodepool things, and the base classes actually
be generic. Doing the refactoring here first reduces the complexity of a
move. Next step would be adding this version of TaskManager to ksa, then
in a subsequent patch we can remove it from shade. If we never do that,
nothing in this should hurt anything.
Change-Id: Id5c8caa924e8abbecef26d54d225bb10e9676d5d
commit 229f3daae0b9a8aba6e41eedf90eae20fcb8ecf5
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 27 08:51:44 2016 -0500
Poll for image to be ready for PUT protocol
When we use PUT to upload images, they are not actually immediately
available all the time. They can come back in a "queued" state. We need
to wait until they are ready before we return the final image. Also,
sometimes the get_image call can return None, so trap for that.
Change-Id: I5b92018b848d811148377aa0fd9881d5b5daf4c7
commit cf9989806d853032d87e55bdfaa1b91d81a1efaa
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 29 10:57:02 2016 -0500
Cleanup old internal/external network handling
We don't really need the non-ipv4/ipv6 versions of these anymore, but we
keep them for backwards compat. Pull out the processing of them and have
them instead rely on the underlying ipv4/ipv6 code.
Change-Id: I9d3ececbf5de8b2763da0716ef9bec77b8a0b11e
commit 6832f734d00f1c118068db1fbd65370ad7f5d178
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 18 17:21:56 2016 -0500
Support dual-stack neutron networks
It is totally possible for a neutron network to have a network with a
globally routable IPv6 subnet and an RFC-1918 IPv4 subnet. In fact, the
existing OSIC Cloud1 does this, and the original region of Dreamhost did
this.
The trouble is, it's not possible in a reasonable way to _infer_ this
setup, so we rely on brand-new config functions in os-client-config to
allow a user to express that a network is external for ipv4 or for ipv6.
Depends-On: I40f5165d36060643943bcb91df14e5e34cd5e3fa
Change-Id: I12c491ac31b950dde4c1ac55860043fd9d05ece8
commit 4d321698f7e66bd779526e309b11b51af690e090
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 26 10:33:07 2016 -0500
Rename _get_free_fixed_port to _nat_destination_port
The name _get_free_fixed_port is misleading. What the function actually
does is find a port attached to the server which is on a network which
has a subnet which can be a nat_destination. Such a network is referred
to in shade as a "nat_destination" network. So this then is a function
which returns a port on that network that is associated with this
server.
Change-Id: If69ad8f7c08a4df83bc00cb00801565a7473a9a5
commit 1ad8c92d0a230fb942a6dcdf8dc028d3ba782a3c
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 26 07:56:32 2016 -0500
Log request ids
We collect request ids from the cloud if they're there. Then, the
current approach is to attach them to the object - but they're ephemeral
and not actually a quality of the object - they're useful for debugging.
Instead of making an object property, log them. That way they can be
used where they're useful - ops logs for after the fact debugging.
The logger is named so that it can be explicitly controlled in a logging
config.
Change-Id: Ie5532cdc316cb00d5f15cae8b2a2f8674ae9da40
commit dd4bd638933477c87f1c5cc2c9dfe08125c35197
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 25 14:54:50 2016 -0500
Detect the need for FIPs better in auto_ip
The current logic of looking at interface_ip to see if a FIP is needed
is too simplistic and mixes two concerns. interface_ip is dependent on
the network context of the calling host, which is great - but may not be
the full story for all of the people who would want to interact with the
server.
Instead of creating a FIP if there is no interface_ip - introduce a
richer method that looks at public and private v4 addresses as well as
the existence of a FIP-able network.
Change-Id: I687375a1433d643e2f1cf18d0bbc00d0e8a0abbf
commit 72c1cd9c41b9e0862d3bde1bea84a60e41dfefd0
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 25 14:32:46 2016 -0500
Clean up vendor support list
The IBM Cloud isn't really a thing at that address yet (jumped the gun)
OSIC probably shouldn't have been added either (turns out there are like
8 OSIC clouds currently, and they're test clouds.
Also, update the location on the RegionOne clouds, and rename "Human
Name" to "Location" - which is the useful information in that column
anyway.
Change-Id: I04451836330aacc3e2b91cfbe7d7d9bba7a47346
commit 35b6f9a053928ac33f7c7593da30dc2648f87104
Author: Ian Wienand <iwienand at redhat.com>
Date: Thu Aug 25 15:51:42 2016 +1000
Delete objname in image_delete
I found this throwning an error about "name" not being defined. I
think it wants to use the objname it split out above.
Change-Id: If603edf5f9207332dc1370bdde3eb68a7c7e7511
commit 315a11cbbb9b4e9ca4ba9c9e263a4be8d70f49ef
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 22 14:40:25 2016 -0500
Move list_server cache to dogpile
We've got ports and floatingips doing caching, go ahead and move the big
boy ... servers. Deleting fun is good for the whole family!
Change-Id: I10fe3970ac102fc7818c98879b4a9cfc7bc15e76
commit dcce1234d4c0c8d5b1ec5a0f2ea7c6629a862acc
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 22 11:21:52 2016 -0500
Ensure per-resource caches work without global cache
With the move to dogpile based per-resource caches, we need to make sure
they still exist if they are configured, even if global cache isn't. To
do this, test to see if any are set, and if so, configure the global to
be FakeCache but the per-resource to be memory cache.
Change-Id: I8261b807352a4b54b19f6831b795eedc847e86ab
commit 2bb6ff9b2116449fa2bd65d70a84c464474724e3
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Aug 23 13:44:32 2016 -0500
Support more than one network in create_server
The format of nics is annoying. Network is more friendly. But network
currently only supports a single value. Fix it.
Change-Id: Iec63a244d4c2d58cf211dc07921bf5375c9e0d55
commit 7b3b95988299345d225280385dc9d17cfee11c0e
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 20 09:38:03 2016 -0500
Add support for fetching console logs from servers
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.
Change-Id: Ifb973c7d382118d3a8b6bf406cb7ed463b057180
commit 4e7772632a74f34a70890ac631bcaacd7a267df2
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Aug 14 10:00:56 2016 -0500
Allow image and flavor by name for create_server
We do a bunch of work everywhere else in shade to be friendly - but for
some reason we only accept object or id for image and flavor. Fix it.
In the unit tests, pass in a dict with an id value to avoid the need to
mock the glance client, since that's not really what we're testing in
any of those tests ... but add a test that does not do that to verify
that the glance and nova clients are used to look at image/flavor lists.
Change-Id: I1760a7464e43e19a475f6d277148a3c7e54ac468
commit 3dfa847d79246be2539694de75378d1e3a8f0664
Author: Donovan Jones <donovan at catalyst.net.nz>
Date: Tue Aug 23 15:24:09 2016 +1200
Allow object storage endpoint to return 404 for missing /info endpoint
On some clouds using radosgw to provide a swift API, requests to /info will
return a 404 rather than a 412. This patch allows the swift
get_object_capabilities function to throw an exception that sets e.http_status
to 404 or 412. This allows os_object Ansible tasks to work against such a cloud
rather than failing.
Change-Id: I65caa43909d8770496264efc472659cb5d4b9719
commit 376c49777f77dac677f6c16389b139f3bf57473e
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 12 12:27:45 2016 -0500
Batch calls to list_floating_ips
Similar to servers and ports, we do lists of floating ips a lot. Allow
for configuration of batching actual calls to the cloud.
Change-Id: I8e8d921caede5d55db2c9ff98d537e648b245970
commit 1cdf95176786190421d52abc41bb9138bb142df9
Author: JP Sullivan <jonpsull at cisco.com>
Date: Thu Dec 10 18:13:33 2015 +0000
Get the status of the ip with ip.get('status')
Ensure that there is no error if the key doesn't exist in the ip.
The API spec indicates this field should be a string and should always
exist. However, it has been reported in the wild that sometimes it's
missing. Yay for specs. If there is no status, set it to 'UNKNOWN' so
that there is at least some indication in logging for a user as to what's
going on.
Change-Id: I27a8bd35e6614ac24b8cbb1ada8c101329fd2f7f
commit 6b0c38d77995475763cb479948549de22f3db706
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Aug 14 10:09:21 2016 -0500
Stop getting extra flavor specs where they're useless
We supplement flavors with the values in extra_specs as a default.
However, there are several places where we're getting flavor objects on
behalf of the user where we know that we will not use them. Make sure
that we can plumb through the get_extra flag, and then pass it as False
in the places where getting the extra specs is just a waste of time.
Change-Id: I46d8ed5537a94a0440dd42d305221686cf1b225b
commit ae705ec87857eb8500ccbb56108a0a281d980e82
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 20 10:37:45 2016 -0500
Change deprecated assertEquals to assertEqual
It literally doesn't matter, but also getting deprecation warnings is
equally silly. Change the deprecated things to the non-deprecated one,
and then enable the check that prevents this from happening in the first
place.
Change-Id: Icd714da7ee881fad0c201e9cd56b32a4a330a431
commit c40cc1938185ad80cc2f62ca4f6e8665a11a6fbf
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 20 13:08:43 2016 -0500
Use cloud fixtures from the unittest base class
We need to do things to protect against local environment leaking into
the test fixtures when we create the cloud objects. Those things are all
done in the base unittest TestCase class, but for reasons that are hard
to fathom, we ignore that and create our own clouds in many of the
unitttest classes. This leads to problems if a user running the
unittests has cache config information in their local clouds.yaml.
Fix it.
Change-Id: I022d541d8e98bf4b6691bf0a91e3b7d20b2b7456
commit 829ebda93f45da01f54e0e6113759769b8df0141
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 20 12:21:36 2016 -0500
Add debug logging to unit test base class
Sometimes tests run long and it's hard to figure out which operation
wasn't mocked out. Enabling debug logging before the logging fixture
means that the debug logging is produced, but is still shoved into the
fixture. If you run a test via testtools.run or something similar,
you'll see both the operations and any print statements, but running
normally under testr it's all silent.
Change-Id: I38de01f6fdb57274eef93100d885f7a062e7167a
commit aa6505af09e2fe69e961cefb1e8af0b751f03455
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 20 13:30:02 2016 -0500
Update HACKING.rst with a couple of shade specific notes
Reasonable people disagree on finer points of style. However, it's
pretty well understood that being consistent within a single codebase is
more important that specific choices globally.
There are a few things worth pointing out that are true in the context
of shade which may not be true in other places, so active communication
is likely the best choice here.
Change-Id: Ib1ceb5d6f51f84fa4bc40e68e9e231a60138507d
commit 3462561c46e3cb53afa153e638741d0eb400418b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 20 10:14:06 2016 -0500
Only run flake8 on shade directory
I frequently have random test files and virtualenvs scattered in my
working directory, so tox -epep8 gets frustrating. We don't have any
files that need to be linted that are not in the shade directory - so
go ahead and explicitly limit the invocation.
Change-Id: I16d8f477ae08a1e54724991ccf4a169ae3b35369
commit 332195f19cb52a0373f581ab4fa65f4be31e8511
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Aug 21 11:12:00 2016 -0500
Add bindep.txt file listing distro depends
Turns out we don't have many. That's neat. If we list them, then
we're nice and friendly to folks.
Change-Id: I77dc2e0e48b9f7531dff51eddd4b274367f8ea2d
commit 84fe77562d8474dbe0ee4c8eb14f51452a857135
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Aug 21 08:28:18 2016 -0500
Set physical_network to public in devstack test
It seems the name of the physical network in recent devstack has
changed.
Change-Id: I29495ff4f49a61a350a1cb86f9124f3403c9468b
commit 17f6847c20bc4b8ea1c8fc48f81bf1eca4ddb0f5
Author: Dean Troyer <dtroyer at gmail.com>
Date: Sat Aug 20 16:14:36 2016 -0500
Precedence final solution
* Revert most of 'fixed_argparse change' from 1.19.1
* Create a new _validate_auth_correctly() method that contains the
logic from 1.19.0
* Create a new get_one_cloud_osc() method for use by OSC to get
the correct argument precedence without disrupting anyone else
Change-Id: Iae86cc4e267f23dbe8d010688a288db5514f329d
commit 9d757b3a9a89bdd63f56ce171b7c878ded9a4cd8
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 18 11:35:50 2016 -0500
Add support for configuring split-stack networks
Some clouds, like OSIC and v1 of DreamCompute, have a split stack
network. This means that a single Neutron Network has both an IPv4 and
an IPv6 subnet, but that the IPv4 subnet is a private/RFC-1918 and the
IPv6 subnet is a Global network. As any inferrance information is
attached to the Network, it's impossible to properly categorize IP
addresses that are on the Server in such a scenario.
Add support for ipv4 and ipv6 versions of the current routes_externally
config value, with each of them defaulting to the value of the
un-specialized routes_externally.
Change-Id: I1e87a1423d20eac31175f44f5f7b38dfcf3a11cb
commit 02a99fb3116614039740f8c6d780e88bccfdc5da
Author: Ian Wienand <iwienand at redhat.com>
Date: Tue Aug 16 14:24:34 2016 +1000
Use "image" as argument for Glance V1 upload error path
In Glance V1 the argument is "image", not "image_id", so use this on
the error path to cleanup.
Change-Id: Ie64e2911798cef17f1263d961d70f7715b2ba64b
commit 552caf5bc1f2ccc63ee7706c8205e05e36b1f1f6
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Aug 14 09:51:28 2016 -0500
Honor default_interface OCC setting in create_server
If a network has been configured as the "default_interface" in a
clouds.yaml file, then it should be used as the default value to the
nics argument in create_server. If a nics or a network argument are
given to create_server, that should, of course, win.
Change-Id: I278848f958a464daf2a5249084216b013698d62a
commit 6b3b4974cec74cf9cc55252240475dab771093ca
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Aug 14 09:31:34 2016 -0500
Validate config vs reality better than length of list
Configuration indicating that a network is external only needs to
validate in one direction. Namely, if you indicate that network a is
external, and there exists a network be that can also be inferred to be
external, that's fine. But if you indicate network a is external and we
do not find network a, that's a problem.
The previous test using list length was woefully inadequate for this
purpose.
Change-Id: I3e7ece26de23007d1b97a7b8a25c3db31b124e5f
commit 53b1fc4cdee8e460361c17f70571e883059323c1
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 12 14:34:43 2016 -0500
Base auto_ip on interface_ip not public_v4
Currently the auto_ip logic checks for a public v4 address to determine
if it should make a FIP. However, we have richer logic that provides
interface_ip that takes in to account IPv6 as well as configured choices
as to what the "default" network should be. That is what should really
be cared about - does the server have an ip that would be considered the
thing to connect to it on.
Change-Id: Ica1feb31cc3477c6336a749c88f4706efd20484f
commit 4bdda71fc55e928aa25ce511cd015abc7b8ff871
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 13 08:06:03 2016 -0500
Add tests to show IP inference in missed conditions
There was no coverage concerning floating ip detection on clouds that
didn't have floating ips at all, or even the OS-EXT-IPS extension.
Although the problem was fixed in the previous commit, add a test that
shows it. Also, add a test for Rackspace specifically, since it's
network stack is different, to ensure that shade doesn't break dealling
with Infra's gerrit server.
Change-Id: I0bad8c69fe456a171d51f477dd6a5f8fb7065f60
commit 273ea8c1ebe3cdb3f232494498781339b8ef4226
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 12 16:10:08 2016 -0500
Deal with clouds that don't have fips betterer
In the code that supplements the nova provided floating IP dict by
checking neutron, we actually don't properly account for the case where
the cloud just flat doesn't have floating ips.
Change-Id: I18ee39e8450e868a842771f2febf4daac606fee5
commit bd3f07140d4ebfa62f63d8ad170da5e43d7bbb74
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 8 11:09:24 2016 -0500
Infer nova-net security groups better
If a cloud does not have neutron, it's entirely possible to infer that
security groups should go through nova. While it's currently possible to
set secgroup_source: nova in clouds.yaml or in a vendor file, it's a
little overkill for folks who otherwise do not need to express that
level of complexity.
Change-Id: I8e4dec2cf993a47c8a0d5cb55bbf80b0fdc4dd46
commit 3326bb7706e45de2c00937a0e478012faf555ca3
Author: SamYaple <sam at yaple.net>
Date: Sun Mar 6 16:38:09 2016 +0000
Add update_endpoint()
v3 allows us to update the endpoints, we should do that.
The other endpoint calls have been validated against v3 api to do what
we want them to do. All comments regarding implementing v3 keystone
have been removed.
Change-Id: Icae8a02815b1416a60bc8c6d57ee892fbfd7ccc4
commit 71a7058a2d9764eb5fe33ae1400a18c8d1581bce
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 12 07:28:30 2016 -0500
Protect cinderclient import
Importing cinderclient breaks logging setups. Luckily, we only need it
in one function, so late-import it.
Change-Id: I86f090e8f3bbd3ac57e221df6629c6e008c99aa8
commit cca0fb3e0a1e28cef819505870f8609759b17698
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 12 06:48:19 2016 -0500
Do not instantiate logging on import
If we run setup_logging in the file context, it runs setup things for
loggers. That can cause unintended consequences in consuming programs.
Change-Id: Ibc751703b1aa37cfbd6f95adbafb97ff12b7d5e6
commit acf010f463cb583d073113f17d88864c94ef7503
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 12 07:02:11 2016 -0500
Don't supplement floating ip list on clouds without
Some clouds don't have floating ips at all. We know who they are. Don't
try to supplement them.
Change-Id: Ib4965ab53f4142811313481cb4e7a70aeeea5b48
commit 02dd6d7266ff23073a5bb3dc144a4c1ec074022b
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jul 8 11:44:05 2016 +0900
Move list_ports to using dogpile.cache
A new system is nothing without a good example. Migrate list_ports to
the async_creation_runner interface in dogpile.cache.
Change-Id: I3a26e63f736cd4fca30efe774fc96fa40b5b31c4
commit b02708a9c771f4c605614b98e0f6fa8714826e43
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jul 8 11:11:09 2016 +0900
Create and return per-resource caches
As the next step in consolidating per-resource caching, we should
actually create more than one dogpile.cache region. We should only do
that if the resource is a thing we actually are going to cache (which
means it has a list_ method) Finally, we should return it if requested,
otherwise we should return the good old self._cache global cache.
Change-Id: Id0a5f65437a8bb4b911eddf54f14369d6b79d3fd
commit ae25137e36ee044f29ca6db778acc8c77172bc43
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jul 8 10:41:41 2016 +0900
Lay the groundwork for per-resource cache
There are currently two caches, the global cache, and the per-resource
batch operation caches. The global cache is managed by dogpile. The
per-resource caches are managed by hand. However, dogpile has a mode of
operation that is precisely what we do in our batched operation
per-resource caches by hand. So set ourselves up to have and use
per-resource caches.
Step one is to make the decorator accept an argument that it'll use to
look up the cache.
Change-Id: I4fbde2f4528aeaee5c23f0e1d1e4590090acb6ba
commit a6840f69ff5644065816309776365adccf017772
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 11 08:14:39 2016 -0500
Pop domain-id from the config if we infer values
If the user specifies a project_{name,id}, then we currently infer that
a domain_{name,id} is meant to be shorthand for user_domain_{name,id} and
project_domain_{name,id}. However, in other contexts, domain_id is a
perfectly valid value to pass to the auth plugins - such as when doing
domain-scoped activities.
The problem that was uncovered by the correction of argument precedence
is that we didn't pop the domain-id out of the root config dict, so if a
user set OS_DOMAIN_ID in the environment, we were happily setting the
user and project versions, but then leaving domain_id set as well. This
then meant that when we do the pass to pull valid arguments from the
root dict to the auth dict, we also pulled in domain_id - which led to
the error:
AuthorizationFailure: Authentication cannot be scoped to multiple
targets. Pick one of: project, domain, trust or unscoped
Popping the value from the root dict causes the things to work as
documented.
Change-Id: I6d208e5ec4115d2e72d30b2fedc90a81ea754d5a
commit 3f968d22b750d414fc6f8873e666433d909df294
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Aug 10 09:50:13 2016 -0500
Rename baymodel to cluster_template
Magnum is renaming baymodel to cluster_template. Rather than releasing a
shade version with baymodel and then later switching, go ahead and
rename to cluster_template now. However, since the term isn't in wide
use yet, provide aliases.
Change-Id: Ieb1f067680f2312eacf75eed0d42edbd90c54beb
commit 2556c338595bca0a931e62bf396e479566626958
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Aug 9 07:27:50 2016 -0500
Make shared an optional keyword param to create_network
shared as a parameter can only be passed by admins.
Change-Id: I26c800f6ecba127d4ef4683a18ad2aafefa63606
Story: #2000696
commit a98be6a6662296e6fb299f408b77d5f0e082b2dd
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Aug 2 10:15:13 2016 -0500
Add a 'meta' passthrough parameter for glance images
create_image tries to do data type conversion for you so that what you
mean is correct 90% of the time. However, inferring intent is hard on
people who do know what they want.
New parameter 'meta' is a vehicle for non-converted key/value pairs.
Change-Id: I99c1a104f6eb8fe72dd4ebab5b3aac8231068eb7
commit 8ab5855870739c1d05a11ead01f545a91db3cd8d
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Aug 7 14:33:14 2016 -0500
Allow creating a floating ip on an arbitrary port
There are use cases where creating a FIP on an unbound port is a
completely legitimate thing to do. Since our floating ip process already
starts with "hey man, find me a port please" - allowing a parameter
which short-circuits that and just attaches the FIP to the given port is
not too terrible, all things considered.
Change-Id: Iee2fc2ac7b26dfa2a48b0404a035e2820befa5ba
commit 3ef3864785eeceff6dedc9b873b3fc65a909f769
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 1 16:19:33 2016 -0500
Add ability to upload duplicate images
In the basic case, avoiding re-uploading images is nice because
uploading images is a costly operation. However, there are also usecases
for uploading new images with the same name as an operator which are
quite valid. Support these by allowing for a flag that overrides the
duplicate checking logic.
Change-Id: I6a00753654d500d68750e46c5ec2423a36903552
commit 600a638e74d89af55fceaf4017f70269ae6e4f3c
Author: Mathieu Gagné <mgagne at iweb.com>
Date: Tue Aug 2 15:10:43 2016 -0400
Update Internap information
* Add sin01 and sjc01 regions
* Add support for Glance v2
Change-Id: Iaf4ad7c807a28c24040b928f65f4aadc1a234d6e
commit 1a1107ad73b01cd1d80853ddb9faec3dcef8b72b
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Aug 5 10:08:15 2016 -0400
Fix requirements for broken os-client-config
OCC 1.19.0 breaks all the things. Avoid it.
Change-Id: I721d7c937e4a7a5dd8b0d0abfae1bb696d2b2f00
commit bbd22abbe3a8527daa11fe0011c58036ab9d5a28
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Wed Apr 6 13:38:21 2016 +0200
Add new test with betamax for create flavors
Change-Id: I0aaceb7633a27356e8eaabf70cadfe5e258cedee
commit 864df79c000edf73f9e59a9317127ac4a8015632
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jul 19 12:55:00 2016 -0500
Stop creating cloud objects in functional tests
We create a demo_cloud and an operator_cloud in the base TestCase for
functional tests. We should use those. Also we should use the
BaseFunctionalTestCase class.
Change-Id: I5949e264eef9b790b7645499b3ed9fea29ca8010
commit dd7f0c9295465943739929c19b820bd44b549b85
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jul 19 09:55:31 2016 -0500
Move list_magnum_services to OperatorCloud
It requires admin credentials, thus it's an Operator task. While this
is _technically_ an API break, it's not possible for
list_magnum_services to be used by a non-admin user, so I think we're
very unlikely to break anyone.
Change-Id: If3af5f1ef702da39ac27c01f9792d11f6339c7ab
commit cfa87b1e7f3d6325c4f0ef9f4d2985948e4d99d3
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 5 06:36:14 2016 -0500
Add test for precedence rules
This should cover both the OSC and the ansible incoming use cases.
Change-Id: I3fdc83837692d31c5579d91892a387a5d1023785
commit ddfed7f2fbabd1eba3b6ac700cee065c070433a7
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 4 16:18:42 2016 -0500
Pass the argparse data into to validate_auth
We have two contradictory precedence needs that are impossible to
satisfy because we're losing knowledge of the source of data as
we build the ultimate dict of data. If we carry the argparse data
along in a separate bucket for longer, we can check to see if it's
there so that it can win, but so that in situations where kwargs
is complex and contains both a top-level and an auth dict we don't
assume that the values that are not in the auth dict came from
argparse.
By doing this, we can establish that precedence for auth args is:
- argparse
- auth dict
- top level kwargs
Change-Id: I9eca5937077f5873f7896b6745951fb8d8c4747c
commit d71a90220397f1baa80e943a37854a5be2c8726c
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 4 20:45:49 2016 +0000
Revert "Fix precedence for pass-in options"
This reverts commit 05b3c933b34e9cec9eb859a15392862918b3eb5f.
Change-Id: I07dd701ca911cd12701519d2e6d624c69baa0848
commit 37dcc7e8d874a2e5325d7e473d883c373bf694ca
Author: Dean Troyer <dtroyer at gmail.com>
Date: Wed Aug 3 10:43:15 2016 -0500
Add release notes for 1.19.0 release
Change-Id: I92ffcf611d31f7a4f11e5228022ea64864823389
commit 9c699ed3a649d7d6d1f3c9d8a13eda483f948512
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jul 9 17:36:48 2016 +0900
Add the new DreamCompute cloud
It does things the happy way - direct routing of IPv4 and IPv6. However,
it's a respin, so we're naming it dreamcompute rather than dreamhost so
that users don't get broken by the shift.
Remove dreamhost from the docs - people looking at documentation should
be using the new region.
Change-Id: I92eb38635c4389d2e9326fab038137a673497fa8
commit 9cdd967550456020d911a6806cf0fdced493787c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Feb 21 13:30:43 2016 -0800
Go ahead and admit that we return Munch objects
There was a point in time in the past where we were gung ho on using
Munch as a halfway house to get us to pure dicts. However, we released
1.0 before we could do that, so we're pretty stuck with them for the
forseeable future. That's not terrible - they're pretty low overhead and
work pretty well.
Depends-On: Ie10099430481ffa76f5a19557e3693189544df6b
Change-Id: I8b7dd2c4038db999280ec0c2c9c43fb9499e6d22
commit 1a25bb249e290bcdb5dce07cd3985fb9e31e8d7d
Author: Steve Baker <sbaker at redhat.com>
Date: Wed Aug 3 15:07:17 2016 +1200
Depend on python-heatclient>=1.0.0
The event_utils.poll_for_events function is only available from 1.0.0.
There have been reports of the ansible os_stack module failing due to
a too-old python-heatclient.
Depends-On: Ie10099430481ffa76f5a19557e3693189544df6b
Change-Id: I0843c377409b71d808a7f096f2daa28c655add3c
commit cdea9eb82770b91fe9fcdb1507b3254da928131e
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Thu Jul 21 17:55:43 2016 +0000
Add update_server method
Currently, we have no method exposing the ability from novaclient
to update a name or a description.
Change-Id: Ic372f730c0781cd12f792bd49e073bf1681dd1e2
commit 05b3c933b34e9cec9eb859a15392862918b3eb5f
Author: Dean Troyer <dtroyer at gmail.com>
Date: Tue Aug 2 21:15:49 2016 -0500
Fix precedence for pass-in options
The passed-in argparse Namespace is flat and does not have an 'auth'
dict, all of the auth options are in the top level. If the loaded
dict from clouds.yaml as an 'auth' dict, that used to totally override
any passed-in options.
This is backwards.
Make the passed-in auth options always win over clouds.yaml as this is
the only way to change/override those values from the command line.
Change-Id: Ic2752a396d45deeda19a16389437679829e0844d
commit 1f7ecbc3ff482de3ae8323fa5a62a359510e13d9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jul 9 18:23:02 2016 +0900
Update citycloud to list new regions
Frankfurt, Buffalo and Los Angeles - oh my!
Change-Id: I17d6f46de2a9af82f221b971a359d53eb471f8fa
commit 354f38ab2c42c05fc43704ddb6eb9f2ad03f8c0e
Author: Swapnil Kulkarni (coolsvap) <me at coolsvap.net>
Date: Fri Jul 22 05:02:03 2016 +0000
Remove discover from test-requirements
It's only needed for python < 2.7 which is not supported
Change-Id: I9511e1e08af8c0a5740e744252103a94e80eab43
commit 51a5eb575ecbbd8cd51d1953118d9f91f73f43da
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jul 18 14:23:41 2016 -0500
Update hacking version
There is an issue with old hacking which is causing it to fail open.
Change-Id: I744fc414bffe984a63374d6431d77e6be5a28f40
commit d9e9bb791ba169e828d6068534ee2f430f4668eb
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jul 14 10:30:49 2016 +0800
Add support for listing a cloud as shut down
We've had one vendor cloud go away in the past, and there is one
existing deprecated cloud currently. Add support for providing the
user with an informative error message in the case where they
attempt to use such a cloud.
Change-Id: I894e0c0a4786e60fce1238bb2883828e89d44b01
commit 9f4805bedbcd6bf0df4b30a9c496bb2d54a93513
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jul 14 11:05:03 2016 +0800
Change operating to interacting with in README
Just noticed that the README says "for operating OpenStack". The word
operating has very specific connotations in OpenStack world, and that is
decidedly _not_ the primary use case of shade.
Change-Id: Ic0205c82abc3b5bfd6223ea7a6ee1bd6bfb365dd
commit 7dd138c8f4c8b8761b0b50d3ce9c7c4f770f8c61
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 12 13:28:25 2016 -0500
Add floating IPs to server dict ourselves
The nova/neutron interaction as it relates to updating the network info
cache in nova apparently does not believe in an object reality and
instead prefers to think of things as unrealized quantum superpositions.
While those are great for particle physics, they make getting the
address of the server hard. It therefore follows that we should
undertake the burden of providing consistent and objective information
about the floating ip of the server ourselves, regardless of the sadness
this adds to the world.
Change-Id: I75ba0318c9a5a011b5a530d86ace275f19511f1f
commit 481be16b8b385e1fcccd34607da8a8a3f5bde69f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jul 9 17:34:11 2016 +0900
Add support for deprecating cloud profiles
We've had HP shut down their public cloud, and DreamHost has recent spun
up a new cloud with a different operational profile and auth_url that is
essentially a replacement cloud. That means people using the old
information need to do things, so we need to be able to communicate that
to them.
Add support for adding a deprecated status to a vendor profile, as well
as a verbose message explaining what the user may do to remediate.
Change-Id: I19b67d7cd71fba2d9da0e3a6adb2d229ead65396
commit 8481c6baa2becaa709e2d11b1c739cd9792851df
Author: Steve Baker <sbaker at redhat.com>
Date: Thu Jun 23 09:03:31 2016 +1200
Treat DELETE_COMPLETE stacks as NotFound
When a stack has just been deleted, fetching it may return a
DELETE_COMPLETE stack or raise a NotFound error.
Recent changes have resulted in the former happening more frequently
causing shade gate failures [1]. This commit changes get_stack to
treat a DELETE_COMPLETE stack the same as a NotFound stack.
[1] http://paste.openstack.org/show/521286/
Change-Id: I3ca0b55c1c10cf229987551c09fcce853faa3584
commit e67b306c10be6358399d0e8a71350422394477e5
Author: Mário Santos <mario.rf.santos at gmail.com>
Date: Fri May 20 16:56:20 2016 +0100
Add support for changing metadata of compute instances
Change-Id: I2301e0ab2024c51e7482ce0f05b706e8a395d676
commit 891fa1c60fc948aac158ea939c5a10bd1cab04d9
Author: Dean Troyer <dtroyer at gmail.com>
Date: Sat Jun 18 08:17:03 2016 -0500
Refactor fix magic in get_one_cloud()
Extract the magic argument fixes from get_ne_cloud() so they can be
extended or modified.
Needed by OSC in order to maintain compatibility due to the much
earlier loading of auth plugins than before. Have I mentioned
that really fouled things up for OSC?
Change-Id: I22cd890f9cbd605dcd615f82b3e65c58f52ff114
commit 5f5c925631d5f88d5f4a5d025e75c5d288850b4e
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Tue Mar 29 12:30:07 2016 +0200
Use keystoneauth.betamax for shade mocks
Instead of mocking the clients, use keystoneauth1.betamax
fixture to intercept keystoneauth.construct_session, and provide
our own recorded fixtures.
Change-Id: I7b2973b0f89b66c19d6bf10571c3c93692107aa3
commit 2d20407729454bcbfea1e34beb946bcc1a4ad348
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Fri May 20 11:05:01 2016 +0200
Add network quotas support
Add the capability to get, update and reset
to default quotas in network service.
Change-Id: I3396e5ecac1379af927f0a99a3b0c4c995dcd283
commit 4f36eca18f30953352e3fea42776e2e49d1db5fe
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 1 10:51:44 2016 +0300
Reword the entries in the README a bit
Wanted to make each section a little better, but also to start to
indicate that legacy clients should really not be your first choice.
Change-Id: I26e08d037c7b28ced22a2a0126693d7e3e779f58
commit 7d63f12eddb250542587cab8e4a2ca9088ec0fbb
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 1 10:37:58 2016 +0300
Add shade constructor helper method
We have helper factory methods for REST Client, legacy client and
OpenStack SDK all with the same interface ... we might as well have one
for shade too. It makes documenting and talking about the simple case of
all of them easy.
Change-Id: I046da85ae4a3e2a6333223921d5ae9ce3673121d
commit d0ce33abfa154cdf0a5f706d7c483cbd2e917a85
Author: Caleb Boylan <calebboylan at gmail.com>
Date: Tue May 31 12:51:05 2016 -0700
Add reno note for create_object and update_object
Change-Id: I4dfa51cad077e615cc24550b83a5d15862434c92
commit 6a834063a25852f7f6cd45d6f7331aa0f77ff4c5
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 1 10:28:51 2016 +0300
Rename session_client to make_rest_client
While writing some docs, it became clear that session_client was just a
horrible horrible name and that I'm a bad person. Rename it so that we
can make docs that make humans happy.
Also, move the REST client section of the README up a bit.
Change-Id: I1a27853e3031489da5916308a76f19bc72185d24
commit cb2e59c06ace19c4a875cf4410972dfaf9f2c189
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Fri May 6 16:42:11 2016 +0200
Add magnum services call to shade
Change-Id: I7a50be5464b4962ece8e2f13e3e93f8939e26655
commit 41ac1562b5a10f7dcbdd4131b56784763f40eb69
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 30 18:33:38 2016 -0400
Add helper method for OpenStack SDK constructor
openstacksdk already has a helper method for dealing with occ, but if a
user is already using the occ helper methods, there is no reason we
should not provide them an easy path to using the SDK.
Change-Id: I1040efb94385fdac0aa02ac960ba95089b954377
commit 92a3c9ea177a84a062873e31618ff6504f484430
Author: Caleb Boylan <calebboylan at gmail.com>
Date: Thu May 26 15:25:20 2016 -0700
Add function to update object metadata
Change-Id: Ibeff2aa7cafd62b932f81fa17449657d9d83b19e
commit c56d8e0f3858304f09469ebf8c728966ed0e810c
Author: mariojmdavid <mariojmdavid at gmail.com>
Date: Mon May 16 17:42:53 2016 +0100
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
Change-Id: Ie6775a99a84aa32b7b93bd399856972b7212d5c0
commit 8732fa7ec30d71d21f519b63c3ad687e24bcaf3c
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Tue Apr 19 21:33:21 2016 +0200
Add magnum baymodel calls to shade.
Change-Id: Icba6929d32ae2cc47ccb776e24bc8beac6b717d2
commit 7128a3e692effa4c2f742e983f73b9a64540cb8d
Author: Caleb Boylan <calebboylan at gmail.com>
Date: Thu May 26 13:01:14 2016 -0700
Make it easier to give swift objects metadata
Change-Id: Ifcc11841a7742a8418fb270974209e0a9ef783a2
commit 49ca65001565133aa20ebf525e2d05f5df99d7f4
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Fri May 20 09:28:03 2016 +0200
Add volume quotas support
Add the capability to get, update and reset to default quotas in volume service.
Change-Id: Ib5a996b90bb41c7ad01ac496a89478ea71a6bf2f
commit 7f47eb2a6407830fb5febd5c7475a271d8004411
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Thu Feb 25 22:04:51 2016 -0700
Add quotas support
Add the capability to get, update and reset to default quotas
in compute service.
Change-Id: Id814eaf25547c0272fddc43ae1d89ae613690c57
commit fbe1b382dfeab55795341fd8c0709e9a5e8517bc
Author: Alvaro Lopez Garcia <aloga at ifca.unican.es>
Date: Mon May 23 11:29:23 2016 +0200
Add missing "cloud" argument to _validate_auth_ksc
The function _validate_auth_ksc was missing a "cloud" parameter so the
exception formatting failed as it could not find that variable.
Change-Id: Ia1caaa29fcb14d6ce7c16de1f78bbcae6c24adb0
commit b1343ac6b65ac9b0423ad78c432f59cb1273f79f
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri May 20 16:06:16 2016 -0400
Add error logging around FIP delete
To help catch leaking floating IPs, let's add some logging that
might help us find out what's happening. We've been silently
throwing away exceptions from the delete API that might help us
narrow down the cause.
Change-Id: Ia54a19015725b1d10d3d36301e0aab7bae3e3f60
commit 74ac5dbf31d315875f2fc25ac3b3a6827a3c00dd
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 19 14:02:37 2016 -0500
Be more precise in our detection of provider networks
A provider network with a physical type of None is a private network,
not an externally routable network.
Change-Id: I3856147b84137d6f76d1bb24cfe86be8513e9038
commit 58faf12cc2092653685d08082f888cfa295678ba
Author: Paul Belanger <pabelanger at redhat.com>
Date: Wed May 18 19:10:45 2016 -0400
Rework delete_unattached_floating_ips function
The current version of delete_unattached_floating_ips was actually
broken. We were passing the incorrect paramaters. All 3 actually
didn't exist. So we are dropping timeout, since delete_floating_ip()
doesn't support it and changing timeout to retries.
Change-Id: If6adc4b1a020ec1edec41d996ace87634303ea02
Signed-off-by: Paul Belanger <pabelanger at redhat.com>
commit a1ab68cd2b27a70eda965ce6ae7d3b3e56a8afce
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri May 13 09:49:20 2016 -0400
Make sure Ansible tests only use cirros images
It's possible enabling OpenStack things can cause other images other
than cirros to be made available (looking at you Magnum). We should
make sure our Ansible tests only look for Cirros.
Change-Id: Iefc01f8033629937552861366b9ddaac8058b249
commit fb357bd7edec2ef72e6d655acb5f8b7e8e786a14
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 10 11:40:35 2016 -0400
Don't fail getting flavors if extra_specs is off
Clouds can turn off extra specs. They're extra - we should not fail
on getting flavors if they're not there.
Change-Id: I6352fa2d64d3e92f823004a5b9f4cbfe61f11403
commit 02e4d1dc85ff91c37af23a2660c23c95113f159c
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Mon Nov 9 18:56:19 2015 +0100
Add initial setup for magnum in shade
Start by adding the client, following same structure
as the other ones.
Change-Id: I499f9fdda08743f7b67afcc1c2f9b07df471a041
commit 090a265669940c98b84e610bbbdd10c29c3d3d02
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 9 04:59:13 2016 -0500
Workaround bad required params in troveclient
troveclient requires username and password as parameters to the Client
object, but if a Session is passed (like we do) that's not needed. A
patch has been submitted to troveclient, but until that has been
released, simply send None to both parameters.
Change-Id: Ie130a4e83cceb7cab69bfbeb559493d195ef35e1
commit 44efe9c955c0e74d47b374085d45130ac78e6a4c
Author: ChangBo Guo(gcb) <eric.guo at easystack.cn>
Date: Sat May 7 17:02:37 2016 +0800
Trivial: Remove 'MANIFEST.in'
Everything in this file is automatically generated by pbr.
There appears to be no good reason to keep it around.
Change-Id: I73eb120dedbdb6685862d26493fc178e6dee1353
commit 189a60475424e7efd41fe522d5a190f480ad1317
Author: ChangBo Guo(gcb) <eric.guo at easystack.cn>
Date: Sat May 7 16:59:20 2016 +0800
Trivial: remove openstack/common from flake8 exclude list
openstack/common was used to kepp copied files from
oslo-incubator, we don't use oslo-incubator stuff,
so remove it.
Change-Id: Id426c41e6ae277ed1f829820771d5ffc31a81166
commit b0fa4383b06af6cef748e4a4f1fdcc39265915b9
Author: ChangBo Guo(gcb) <eric.guo at easystack.cn>
Date: Sat May 7 16:56:32 2016 +0800
drop python3.3 support in classifier
We don't run python 3.3 CI jobs anymore,
so just drop it from classifier.
Change-Id: I871269ae54067aae40f5dc06affbd4354104ee91
commit f728df506cb0f79c8c97d1e4cda983aac0478e00
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Fri May 6 13:43:55 2016 +0200
Amend the valid fields to update on recordsets
Recordsets fields that can be modified are ttl, description and records.
This was probably a copy-pasta from update_zone (sorry!).
Change-Id: I1b46c5634ceedf3d0f258a8625f0adb2f1a3584a
commit a53db2c68094887f132f67de001d0e382e2a1b1b
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Wed May 4 16:50:42 2016 +0200
Move cloud fixtures to independent yaml files
Instead of hardcoding the cloud data inside the code,
move them to independent fixtures, so they are easily
reusable, and we have freedom to add more cloud fixtures
in the future.
Change-Id: I57e460684ccc203b2eb5c70019e64b81ed5f2396
commit e6891082b3e58fe7a8940a6a77408210bdf95637
Author: Tim Laszlo <tim.laszlo at gmail.com>
Date: Thu Apr 28 16:46:25 2016 -0500
Add support for host aggregates
This adds support to manage host aggregates and host aggregate
membership.
Change-Id: Iec84164c535171116dd3f97f30c5dc249bf09f0d
commit 068028cbe72cf9081925bf394d3289787a08b7f7
Author: Tim Laszlo <tim.laszlo at gmail.com>
Date: Tue May 3 15:20:02 2016 -0500
Add support for server groups
This adds support to create and delete server groups.
Change-Id: Iecf0ffabe50801ec9bd2bb9ea2dbb17ead4d7cd2
commit 04774d8f805047ea61be878c1c0a85d0f059cd99
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed May 4 09:54:26 2016 -0400
Add release note doc to dev guide
Add a section to our Coding Standards documentation that describes
the use of reno for shade release notes.
Change-Id: I87973c5b3f68727aa0cb1ccb9a82c90a8a32ebd1
commit 31ac451e129b00173966fda4e0e2aa100198a731
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Fri Apr 15 17:18:21 2016 +0200
Add Designate recordsets support
Change-Id: Ica8531c402cb10cee5aae38690ff95ebd80b21f2
commit 700ab6f28220dbd09c2bf1c917245dd212c0fb75
Author: Ilya Shakhat <ishakhat at mirantis.com>
Date: Fri Apr 22 18:00:53 2016 +0300
Fix formatting in readme file
Change-Id: Ifa37d38b3c7689f703c7129459b15a367e2aafff
commit 40a50918bdf194991f1d68c2a60df2f512a64dd3
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Wed Apr 6 15:42:19 2016 +0200
Add support for Designate zones
This is the first commit to add initial support for Designate.
Starting with zones objects, more to come.
Depends-On: Ieaddeb4a0b317f85a2161e67bc5c202cc1b01464
Change-Id: I1109f89075ed663620ecb11d18507e8a5d7351b4
commit d9455f6d8e09d4a80e2f3f03596985c598d19aa9
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 21 10:12:14 2016 -0500
Fail if FIP doens't have the requested port_id
When we create a FIP on a port, it should return with the port in
question. Also, it turns out we can wait for the floating IP to
reach ACTIVE status. Finally, our normalize method for fips was
producing inconsistent values depending on create or list - so fix that.
Change-Id: I56b4136a77dd61b6ef1832759b8169dd53aa49da
commit 1872af0884531d4bd7d9943a348f91e286551c7c
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 20 10:13:14 2016 -0500
Add public helper method for cleaning floating ips
Some things, like nodepool or utility scripts, need to be able to safely
clean floating ips, but doing so requires knowledge of whether the cloud
in question is using nova or neutron for floating ips, which shade
otherwise hides from the user. Make a helper method that allows the user
to do it on the clouds where it is safe to do automatically.
Change-Id: I93b0c7d0b0eefdfe0fb1cd4a66cdbba9baabeb09
commit 94dab0101c357e2c3b2c3cd8f417c2105a580996
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 20 10:12:37 2016 -0500
Rework floating ip use test to be neutron based
We do the if condition in a lot of places. It should be a helper method.
Also, the helper method should return the thing we test for, not the
negation of it.
Change-Id: I47b3dc79c3bfb12b57265f7008b1e7144611c1ef
commit 63566eaca7cf1ddc4a0460b9284b17fd9072551d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 19 15:36:25 2016 -0500
Delete floating IP on nova refresh failure
When we're in the middle of a "create an IP for this port of this
server" flow and that times out, not deleting the IP on the failure
causes a leak because there is no record given back to the user of the
floating IP.
Change-Id: I00f8a0f19e4a14eb364c760152b151a1043e7828
commit e91245eaa15ce35c1dde7d68a1e08834e57c158f
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Apr 18 14:36:46 2016 -0500
Retry floating ip deletion before deleting server
If we're waiting for a server to be deleted, and we've asked shade to
delete the ips associated with the server, it stands to reason that the
action should not be considered complete until both things have been
accomplished.
Unfortunately, what's going on here is that deleting a floating ip is a
synchronous event that just sometimes doesn't work. It is, however, a
quick and not very costly event, and we've been doing it before the
delete call regardless of user choice on "wait" anyway. So just add a
configurable retry.
Change-Id: Id7b81417a59c00d3daeb49bd11df0e9fe7dc3b42
commit 04fd7dbd73319ab70dfb99db5a60a0c03e6852f6
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 19 10:42:20 2016 -0500
Have delete_server use the timed server list cache
Waiting for server deletion is just as costly as waiting for creation.
Make sure that delete honors the 5-second cache if it's in use by using
get_server() instead of get_server_by_id().
Using the get_server() call identified a bug in the volume cache
invalidation that is done in the code immediately after the call, so we
fix that here too, and add a new cache_enabled attribute to allow us
to avoid an unnecessary API call.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: I70ccfffe6cbb1f46049b3525bba35c612a572ef0
commit cb579cd71aac79ea7bfa7a2cd4f9d76ae43b1f15
Author: Steve Baker <sbaker at redhat.com>
Date: Wed Apr 20 09:15:18 2016 +1200
Document create_stack
Change-Id: Ie79f513cb53be60130ce4dabff73e0463b4e1ebb
commit 7de80f972fce8e2c2db14972cab2d69b6c150efd
Author: Steve Baker <sbaker at redhat.com>
Date: Mon Apr 4 09:09:23 2016 +1200
delete_stack add wait argument
This is useful especially to ensure that the delete completed without
failures.
Change-Id: I64ce8510b9cfdd7f3dd4e67cefa5e6aeda8f67ea
commit 40b30a6178c0b2ea2cef84afc3a104adfa2f24a0
Author: Steve Baker <sbaker at redhat.com>
Date: Mon Apr 4 09:04:27 2016 +1200
Implement update_stack
This would definitely be desirable for shade users. Specifically an
ansible module should to a update_stack if the stack already exists. If
there are no changes the operation would be idempotent.
Change-Id: I833027883a4eed11f4568760d44ffec87889021f
commit fba72070e040f8bce14a90566be33c4f5b0fca96
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Apr 18 16:11:59 2016 -0400
Fix string formatting
Some strings were being formatted incorrectly with incorrect
argument names or numbers.
Change-Id: Ic893a02e587334c8838f74d34ff383470b6149c8
commit e255657cd57b1ae74933cb7e3b4481bf451a8995
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Fri Mar 11 12:46:58 2016 +0000
Add domain_id param to project operations
A domain admin should be able to make project operations
on the domain it manages, but for that it needs to specify
the domain id.
Change-Id: I3fdc72b7819206cd5effce26bda08cfe1d42d4e0
commit 59a2afd188f12ed36133bc1d3d49b0a67a39047e
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 16 16:44:42 2016 -0500
Remove get_extra parameter from get_flavor
It snuck in in a previous patch and is not really a thing.
Change-Id: I25f9d625f2491986769dfcb27aeecf94452b47b8
commit 7c32cf607fa442549e4eb573a0fe62f541ed5316
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 16 10:29:44 2016 -0500
Honor floating_ip_source: nova everywhere
We already added support for honoring the floating_ip_source flag, but
we did not add it everywhere. This led to a situation where neutron
would do the port attach and then nova would try to attach the IP.
Whoops.
Change-Id: I19adbd54e828753d9e1d5c810bc7f8ed7294c084
commit 590e6dda649c523bd20f36a867affe40a23b1d87
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 14 19:01:10 2016 -0500
Use configured overrides for internal/external
Some clouds (hi internap) have very difficult to discover internal and
external networks. They defy all of our other logic, but we have
configuation for this purpose. However, we were lettting discovery
override configuration. Boo on us.
Change-Id: I62e34b1f0f32c19acbeccd11bc2ea38a2b119951
commit 362986ed2e4b4ed8523b421a34e3d52c8a577499
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 10 13:43:17 2016 -0500
Start stamping the has_service debug messages
We don't need to report this every time the code hits it. Once is fine.
Change-Id: I5eaf7abf0608b8491a9d29980bd2de1d2f7c5b84
commit f4aa49c171b9513ce87f6f3b7481e197daadcad7
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 12 07:35:21 2016 -0500
Consume floating_ip_source config value
There are some cases where the cloud needs to use nova and not neutron
to deal with floating ips. We already have a config value for it in OCC
- maybe we should just use it.
Change-Id: Icab91c5dd3fb024875ee110b3d0168b97dc8a5d0
commit c6017bdc80b6a0efdcff8202dd7d37e4155f3733
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 12 07:28:14 2016 -0500
Honor default_network for interface_ip
When we generate the interface_ip (which is used, amongst other things,
by ansible dynamic inventory) we do our best to figure out based on
config which of the IPs a server has should be the one that the user
wants to be "the" interface. In the previous patches, we added support
for the user configuring a "default_network" for one of their networks.
If the user has done this, and the server has an IP on that network, we
should use that network for interface_ip.
Change-Id: I440916622f9dfe12f8865bb1841dd0932d3cd7d0
commit af47ff174d1415b513387bc90359fea9797756a9
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 12 17:17:47 2016 -0500
Refactor the port search logic
Trying to combine len(ports) and nat_network logic led to weird
debugging. Split the two so that we don't try to search for a network to
attach the fip to if there is only one port on the server.
Change-Id: I1bc83e34a6f66cc5a8eb7ffa66f0288919210d4d
commit e734774d1c20a0c13998a9ab3d19a7a832b7c717
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 10 13:40:15 2016 -0500
Allow passing nat_destination to get_active_server
One of the code paths in which you might want to declare the
nat_destination is if you're calling get_active_server.
Change-Id: Idefc9aae6108c2dec926909bbf8f5d72baac13de
commit d9fc340c61aa7439057340249535e934fc6106e8
Author: Arie Bregman <abregman at redhat.com>
Date: Wed Apr 6 11:50:50 2016 +0300
Add nat_destination filter to floating IP creation
In Ansible 1.9.x 'quantum_floating_ip' module you have the option
to specify 'internal_network_name'. This allows you to set the name
of the network of the port to associate with the floating ip.
In Ansible 2.x 'os_floating_ip' you can't do that. This change
should bring the 'internal_network_name' option to be supported
for Ansible 2.x version.
Change-Id: I2c04a1feb5268a3621e35ed41a6af16622509325
commit 5d42c845096f364e9a3357a4585d17228a18d72d
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Apr 4 19:54:52 2016 -0400
Refactor guts of _find_interesting_networks
_find_interesting_networks is very sadly WAY too long and ugly. A
symptom of that was the code being all squished against the 80 column
line - but honestly the problem is that the code is so deep inside of
conditionals that figuring out what's going on is a bit madenning.
Split it out into another method so that the logic of whether we need to
do things can be isolated from the logic of doing things.
Change-Id: I4d5a30e3a5abd2b2f71e49dd18eab3eeb8f02f1d
commit 1368b7dc61be5534d27e6e2830f16352beb7a5fb
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 1 13:04:24 2016 -0500
Search subnets for gateway_ip to discover NAT dest
The network that should be the target of the NAT of a floatingip should
have a subnet that has a gateway_ip. Ignore for a moment the
monumental insanity which is that data model ... that a network can have
one or more subnets, and a network_id is what a port has and is how you
describe what you want to attach to, but even with all of that the
gateway_ip is the cogent property and it's needs to be on all of the
subnets in the network. Just ignore that ... if you can.
Since that is the world we live in, we can discover which network is the
netowrk that has one or more subnets that has the gateway_ip set.
We'll still fail if there are more than one network that has a subnet
with gateway_ip set. But in that case, the config will take care of it.
Change-Id: Ib947081a6b7839e1a6f00dcbfd924cc99f19d0fd
commit 3f79e8db5387ce47dd02effb3ada4a51d465cf08
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Mar 31 16:12:15 2016 -0500
Consume config values for NAT destination
In a cloud that has multiple private networks and that requires
floating IPs for public access, it's not possible to know which private
network the floating IP should NAT to without the user providing
some configuration. os-client-config added support for expressing
such a thing in 1.17.0, so start consuming that.
Change-Id: Iee634bcdc933a4c8d793ab9b25b27d9ecd77cdcc
commit 92dc7a20890db0cee0a17943274a12115d00852d
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Apr 11 10:15:05 2016 -0400
Return boolean from delete_project
Make delete_project conform to our standard delete APIs and return
True when the delete succeeds, False when the project was not found
for deleting. It would previously raise an exception during the
attempt to delete.
Also, add some missing functional tests for projects.
Change-Id: Ie1773944b573c743a55fec202454968f1d813ec1
commit 0f2c7fb89a46e564b23685fdcb26c704e6cfb0ba
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Apr 11 09:31:47 2016 -0400
Correct error message when domain is required
The domain is required with keystone v3 when creating either a
user OR a project. The error message presented mentions only a
user, so this can be confusing when attempting to create a project.
Change-Id: I8d88d894f00b301d72494a80db1d97ee1e9c0856
commit 1028f5ad7e21520f172c9c163e6b0ef66511bc13
Author: Thomas Bechtold <tbechtold at suse.com>
Date: Mon Apr 11 10:30:24 2016 +0200
Remove discover from test-requirements.txt
discover is only needed for python 2.6 which is
no longer supported.
Change-Id: I8faeb05def94ac4adb2fe870fe141678dbd412ae
commit d9f9c05bfb377f02b6150ca50030e088d2c19df5
Author: Jamie Lennox <jamielennox at gmail.com>
Date: Mon Apr 11 16:05:27 2016 +1000
Add version string
Use PBR to add an __version__ string to os-client-config.
Change-Id: I2293b2bd0dbbe0108e805be8ba02fbba9a5ab064
commit b4720972d16932d22e86239575d30915ea23e04b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 9 09:28:50 2016 -0500
Add release note about the swift Large Object changes
We landed a few changes to swift support worthy of release notes, but
forgot to add release notes. Ooops.
Change-Id: I496f35cb01c3ee98fe102d1c63c2eaac306cfbd9
commit d5e0745fc24eba031d185b18c41e2b0eabe2b716
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 7 22:34:35 2016 -0500
Delete image objects after failed upload
In glance with PUT uploads, if the PUT fails, you're left with a
non-working image shell. There is no point to that.
Change-Id: Id47a10eab76f851202538c8b353288cb859656b8
commit 502a4bba86ad4e3b18bf81eff65a26d7233bed0c
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 7 21:04:50 2016 -0400
Delete uploaded swift objects on image delete
If shade auto-uploads swift objects for a glance upload, then shade
should auto-delete them when it deletes the image. To that end, also add
metadata to the image that records what swift container/object it
uploads as.
Change-Id: If422d33dafec58c805a0d2bb5b8746727c8761d9
commit e0ad4ece18541db9fa2c9e43afc83eb41044b469
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 7 20:38:37 2016 -0400
Add option to control whether SLO or DLO is used
It's possible someone wants to upload an object as a Dynamic Large
Object, but the previous patch to switch to Static does so
unconditionally. Add an option.
Change-Id: I6571bff4123d2bafef4d2a6f46198665bb9c21ce
commit 719c064c6dc662c2c7b18fe15c7b74c40552c662
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 7 20:09:03 2016 -0400
Upload large objects as SLOs
Swift has two type of Large Objects, Dynamic and Static. Static Objects
are properly deleted when the manifest object is deleted ... so it's
really the thing we want.
Change-Id: Ifdc0c2699fd179f3b53a0e9905364bba201f6495
commit 19bbb7bbf46b52ac993eb408c36be1847309fd79
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 8 14:20:52 2016 -0500
Set min_segment_size from the swift capabilities
Older swifts have a minimum limit on how small a segment can be in an
Large Object. This is no longer needed in current OpenStack, but is
important in old OpenStack.
Change-Id: Iff83506d276b236c2ce3b078b3fbd9533c912b07
commit d8966d556765331926af62870dac9a8816bf35e1
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 6 09:53:23 2016 -0400
Don't use singleton dicts unwittingly
filters={} is dangerous because it creates a singleton re-usable dict
that will collect data over time. The correct python pattern is to pass
None as the parameter and then do if None: set to dict.
Change-Id: I90b233dc2b5dc17cb8180aa5786865c0d98358f5
commit 8601dd68f7e4949e94f9e6074657b0e36a146855
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Apr 7 09:40:06 2016 -0400
Update func tests for latest devstack flavors
The most recent devstack adds new flavors to the existing set, so
we need to adjust some functional tests that are testing range
searches across flavors.
Note that we have a gate test that tests against stable/liberty
and that devstack still has the original m1 flavors only. So we
need to account for that in the functional tests.
Change-Id: I98ce866686f3243ef2d2800b872a9840761fbe1a
commit 5605034fc38862b19e6d2d96aa222dafc7762060
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 5 10:38:46 2016 -0400
Pull the network settings from the actual dict
Turns out self._openstack_config is not the config dict. self.config is.
Also, return names.
Change-Id: Ib2013e737b506b3a2acd7aa7b7884240c25384c5
commit aae0b15d2c5dfc400c9034a5c4cac61eaf0fc96d
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Wed Apr 6 09:08:56 2016 +0000
Fix search_domains when not passing filters
I was getting exception "Failed to list domains
(Inner Exception: ABCMeta object argument after **
must be a mapping, not NoneType) by just doing
cloud.search_domains.
Change-Id: Icd10ea3c9af8adb33ab5468193f3de713a521eaa
commit bceedbce3f85698ac4b485b6f87f6e0e3a23474f
Author: Steve Baker <sbaker at redhat.com>
Date: Mon Apr 4 09:00:36 2016 +1200
Wrap stack operations in a heat_exceptions
Heat exceptions give strings useful to the user (such as validation
errors for their templates) so we need a custom exceptions wrapper to
include those in the raised exception.
Also the message for delete_stack exceptions now includes the name_or_id
that the user passed in, which should have more meaning for them than
the stack ID.
Change-Id: I0bf0b9b249a311f76457115a5a7d2392244343f8
commit 2ed2254879c2a704c091ead551d5d12a1cd7bda7
Author: Steve Baker <sbaker at redhat.com>
Date: Mon Mar 14 10:38:28 2016 +1300
Use event_utils.poll_for_events for stack polling
Calling get_stack to poll for stack state transitions causes
unnecessary high load on heat servers so should be avoided if possible
(this is true whether get_stack lists all stacks or a fetches a single
full stack).
Heatclient has a utility function which instead polls for stack events
(with a fallback to fetching the stack when events are not
forthcoming). This function is used extensively by heat client and
the openstackclient stack commands - it would be appropriate to use it
here too.
The timeout is passed to the stack create call, meaning that the stack
will go to CREATE_FAILED if the timeout is exceeded. The default
timeout_mins is usually 60 minutes, so the client-side timeout would
never be reached anyway.
Also, the current polling approach was not filtering for
CREATE_COMPLETE so it wasn't actually waiting for anything.
This change adds functional tests which cover get_stack, create_stack
and list_stacks. test_stack_nested exercises the stack_create
environment_files file composition.
Change-Id: Ia14d47f0f51e1f8825b6de6d8dc5a12335913f55
commit fdb80ad04f5611ebc62b4c64f896448c9213a75c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 2 09:47:52 2016 -0500
Clarify one-per-cloud network values
Make it clear in the docs that default_interface and nat_destination can
each be set only once per cloud.
Change-Id: Ic862b9f4dc31580c4e192f13f100428bbec7faa2
commit 7c439073f39010ad3ac937b8c9726da0f27976b7
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 2 09:09:54 2016 -0500
Flesh out netowrk config list
Add support for indicating default_interface. Also, add some validation
and normalization code, some interface methods and, shockingly,
documentation.
Change-Id: Ib45b68894585ac02821d5d2376510fd7a8e8ee40
commit 9cbe9ae83df33e7fc67e772da5b35637e4f141c6
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Fri Mar 4 20:04:57 2016 +0000
Follow name_or_id pattern on domain operations
On pretty much all resources you can pass either a name or an ID
on CRUD operations.
This change does exactly that for domains.
Change-Id: I88da81a6a62839f4eedc362fd15cb38149b6efd8
commit 74ea5ca44eb7ae92cdf1ff46e87e47d1824cee3c
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Wed Mar 30 16:19:41 2016 -0700
Remove conditional blocking on server list
When the server list cache proceduce was imported from nodepool,
it grew this internal conditional which caused all server list
calls to block on aquiring the server list cache update lock iff
the server list cache is empty. This means that on startup, we
could have a thundering herd of threads which all insisted on
waiting for the lock because there was no cached server list. This
does not seem to be necessary, and the original nodepool logic of
always performing non-blocking acquisitions of the lock and
returning the old (possibly empty) list of servers for any thread
that did not get the lock (but will try again a few seconds later
and should receive updated data at that time) should be sufficient.
Change-Id: I5640f60da2b7789a98bea033e16695389c6062e0
commit acf9ffd4dcfa29c3112be527301b2e402191672b
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Wed Mar 30 16:04:00 2016 -0700
Cache ports like servers
This implements nearly the same caching logic for ports as servers
so that when nodepool has a lot of servers that need floating ips,
we can potentially list all of the ports and get the ports for many
servers with one API call.
If a filter is being pushed down to neutron, we will just perform
the API call rather than caching (but in the common case of searching
for a port for a server, we will no longer push down the filter
in order to allow the caching to happen).
Since we could have a caching delay, we also wait a little bit
in case we don't get a port when we expect one.
Change-Id: I66566f7a84d50b562f1303ed0e645cb41b11367e
commit 278a761df68d1e7d4d93ee2c6fb91f1a0e82e78a
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 30 16:10:04 2016 -0700
Change network info indication to a generic list
Networks can have more information than just internal or external. Notably,
if you have two private networks and you're trying to assign floating
ips, you need to know which network should be the recipient.
This should be backwards compatible with existing external_network and
internal_network options.
Change-Id: I0d469339ba00486683fcd3ce2995002fa0a576d1
commit e43625d30025a11762e1cdd9ff6973ac3ec28db6
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 30 15:18:35 2016 -0700
Workaround multiple private network ports
In the case where there are multiple private networks, don't actively
throw an error. Instead, just grab the first port and attach NAT to it.
That's not completely correct, so a follow up patch is forthcoming that
will add support to os-client-config for such a configuration value.
However, in the mean time, just grab one, because why not.
Change-Id: Ib3a49c0efc72a6de0bdd84c3fe1f34cc5f553a8c
commit b99eb3f3524f2cbefbdd3c7091f79758387b1c32
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Mar 30 09:57:36 2016 -0400
Reset network caches after network create/delete
Because we always cache the internal and external networks
(because they are queried a lot during inventory ops), we need
to make sure to reset the cache when a network is added or
deleted. Otherwise the cache will not be valid.
Change-Id: Id0ef15cd469f3b42fabcb85245853adefcdfa54f
commit 186d57e5f5d3f06ff612bfd2341f7bc67544cb1d
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Mar 30 12:35:16 2016 -0400
Fix test_list_servers unit test
This test was taking abnormally long due to the fact that it was
not mocking all the things.
Change-Id: I565e8568d3815bcf1ab7614081145f5b99cb8182
commit 32c4fff83828f814df8b5af17bc3e7353b41f4b9
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Mar 30 12:17:15 2016 -0400
Fix test_get_server_ip unit test
It turns out this unit test wasn't actually testing get_server_ip(),
and the things it wanted to test were already being tested by other
unit tests. And because it didn't do mocking properly, unlike the other
tests, it was taking a long time to run. Rework the test to be more
betterer and do correct things.
Change-Id: Ife0fa7673081c72ca766e8f78ad2d44b1d0035f8
commit 454d30b5cfda3d8effdc2a559c78ed8c6cf18ec4
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Mar 30 12:02:06 2016 -0400
Remove duplicate FakeServer class from unit tests
For some reason, we had a second FakeServer class in unit/test_meta.py,
instead of using the real fake (because real fakes are better than
fake fakes). Use the real one.
Change-Id: I32200bea83043c3495cc54aa6625df062bcb5b1c
commit 75ee8f967df00a8595c8169a1958295839aae387
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 29 11:31:35 2016 -0700
Mutex protect internal/external network detection
We have stamp variables to prevent double processing the events as a
mechanism of caching, but they're not mutex protected, so we can also
have a race-condition thundering herd potential in multi-threaded code
like nodepool. Add mutex protection around it - but just use one mutex
for the two, because we can further refactor this to make a single pass
through the network list and sort the networks from that.
Change-Id: I74d8b279105e8d9e1a2c138da90e31485e123744
commit 1853a5400132949c3e264326385500b2d9f42667
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 29 10:24:32 2016 -0700
Support provider networks in public network detection
The provider networks don't set router:external, but can also be
determined to be a thing that is the public network. We also need to
check that a thing with router:external=False doesn't have provider
network parameters set on it.
Change-Id: Ie8ee1329419bd1eee2c196f4a8624670aca1bc20
commit c7ebbbfdd3074f250baeae700929050b03e78b00
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Mar 29 10:37:58 2016 -0400
Re-allow list of networks for FIP assignment
Turns out the os_server module will send a list of network or
pool names, so we broke it with this change ID:
I0b27b50b2a6a8e5199bbeed5786b71851bb3ad3e
Change-Id: I7d957d6d94102f2657e6ee87804f86a91563bb45
commit 18e8bfbb3e92045e3ad8f90b9d12b86b7e8c350a
Author: Cedric Brandily <zzelle at gmail.com>
Date: Fri Mar 25 18:50:28 2016 +0100
Support InsecureRequestWarning == None
According to requestsexceptions implementation, InsecureRequestWarning
can reference a class or None. When InsecureRequestWarning is None,
OpenStackCloud.__init__ crashs because warnings.filterwarnings expects
a class not None as category.
This change updates shade code to support this case.
Change-Id: Iad757400e15ed6b87db267bdc522aabce9aee8c9
commit 5c739ce26ea02f1c8d2ca198d98fe72626c9d3be
Author: Matthew Treinish <mtreinish at kortar.org>
Date: Mon Mar 28 10:18:40 2016 -0400
Add release notes for new create_image_snapshot() args
This commit adds a new release note to describe the new options added
to create_image_snapshot().
Change-Id: Ic69d604c52a669af68cef1c06d5c455b27cef276
commit de364270bcacddc40b4afbe0f8402aee4c211480
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 25 14:37:02 2016 -0500
Split waiting for images into its own method
Nodepool got bit by incorrectly waiting for images. So let's copy the
wait_for_server pattern and make a wait_for_image method that knows how
to properly wait for an image to become ready.
Change-Id: Icac2606ae4d51c6fde5066e767b53a6baa14dd50
commit d9867f4922891c4cad08b7f96a96059b6667f5f2
Author: Matthew Treinish <mtreinish at kortar.org>
Date: Fri Feb 26 22:24:49 2016 -0500
Add wait support to create_image_snapshot()
When creating a snapshot from a server sometimes it is desired to make
this a synchronous operation. This is the same reasons we have a wait
on the normal image create. This commit adds the necessary args and
logic to the create_image_snapshot() to do a poll loop after the image
snapshot is issued to wait until the image becomes available for use.
Change-Id: Ief8a3f6c32b56230f0509e658b14795149647ec3
commit 060ce2e055cfceabd22a97801f4cf33c227aa6a2
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 25 09:09:38 2016 -0500
Also add server interfaces for server get
In a previous patch, we always add the network info for servers via the
server list - but we missed the output of server get.
Change-Id: I557694b3931d81a3524c781ab5dabfb5995557f5
commit a9f4130ad03f8e6421ba37cf84ea13c94285dd2f
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Fri Mar 25 18:50:46 2016 +0000
Import os module as it is referenced in line 2097
Just got failure 'os i is not defined' on method
_get_name_and_filename on an os_image Ansible play
Change-Id: I25d07860b12773217b18cc54a2396b64119cdec1
commit 20451c32d602a5984c618bfa7967a191f63074ab
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Mar 25 14:44:58 2016 -0400
Fix grant_role docstring
We do not support finding domains by name, only ID.
Change-Id: I2abf889abe1f8186e1f0deb7cd433cbc9e6f0ab1
commit bd8be72f4ef3baa23c1950c8a2667e2e0b7ce883
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Mar 24 12:12:53 2016 -0500
Add default value to wait parameter
Adding the wait param without a default broke the api for things calling
it the old way.
Change-Id: I75bbec19f06a0f85bc9cb1fbe4d4c6560dadba49
commit b5e3cd3307073d7a87514c9ce3de1692c5307bc3
Author: Jon Schlueter <jschluet at redhat.com>
Date: Wed Mar 23 15:59:40 2016 -0400
Use OpenStackCloudException when _delete_server() raises
OpenStackException does not exist
Change-Id: I9df905d6630dc7f0d1b3aec6e83c3c2b4d32dc7f
commit 35e6af88904508c6e4e33aab4af514c41e420c07
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 23 08:52:43 2016 -0500
Always do network interface introspection
We split the function that figures out what your IP is from the more API
heavy functions so that we could always apply it - and then we forgot to
always apply it.
Change-Id: Ic670a05ed5165be144912642f5ecae4ca0bc94c2
commit 0870ffe9491f3580bc38ae79578275f50c829ffd
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 22 08:25:43 2016 -0500
Fix race condition in deleting volumes
We check at the top of the delete_volume call for existence of the
volume, but then time passes and it's possible the volume does not, in
fact, exist. Catch the 404 and move on with our life.
Change-Id: I0873a238e519b08c09c2a17dba331401f7fc4bfb
commit 8a7c609352643487aa5820df052bc66043e07808
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 21 11:25:02 2016 -0500
Use direct requests for flavor extra_specs set/unset
Same with the get - we need to resort to direct REST to do set/unset.
Change-Id: Iec5b66b05bbd63071c5558782de7a67253ae209c
commit c6f02582e0102241c595e94521c4b5319289dc27
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Tue Mar 22 13:36:21 2016 +0000
Fix search_projects docstring
The method returns a list of projects, not roles
Change-Id: I8ce4c8a5ab5fa6adbba4dd3f925e0b0528dae37d
commit abe2505f70e5ce65f37e488a68498af04967c701
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Tue Mar 22 13:34:09 2016 +0000
Fix search_users docstring
The method would return a list of users, not roles
Change-Id: Ia9dd22baa2b6fc765345ce97e144a606ac450950
commit e41dabb10ce09fca4d34cc22487f9f2dbe305177
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Mar 22 08:33:30 2016 -0400
Add new tasks to os_port playbook
The allowed_address_pairs and extra_dhcp_opts parameters were
broken in Ansible. We should make sure those are tested.
NOTE: This will not pass tests until this merges and gets released:
https://github.com/ansible/ansible-modules-core/pull/3303
Change-Id: I51ceb5305109f6f1c4f1890903f117a9ed250d56
commit e4ba956a6b9956d566c249687a68cb97999e49ec
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 21 10:23:47 2016 -0500
Deal with is_public and ephemeral in normalize_flavors
There are two attributes that are provided by extensions that we should
deal with in our normalization function. novaclient provides helper
methods to make the names less suck. We should also include the suck
versions of the names though, as they are currently public parts of the
API and people might be confused if they're missing.
Change-Id: Ia2f1baf1307ec97fb0166cbb4a633852b461770b
commit d133f36b2c20cd7bfcdb2454abc276323148d0a8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 21 08:56:11 2016 -0500
Create clouds in Functional Test base class
We need to use the long-form of the OpenStackCloud constructor to enable
the internal_exception logging. In order for that not to be crazy, we
should do it in a base TestCase class. Also, that way we've got
consistently named clouds in all of the tests.
Change-Id: I42da312dbcaa8926d28e97e37d13370a544cf4bd
commit e1f6f1c9eea2d6b0bf5b32a7c16630e233ca6cdb
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 19 04:47:56 2016 -0500
Run extra specs through TaskManager and use requests
The previous fix for flavors and extra_specs made API calls that did not
get wrapped in the TaskManager. This is really novaclient's fault for
having a weird interface. Change it to call in through the api.client
interface on the flavor manager in novaclient so we can Task it.
Some clouds return the extra_specs dict in a key called
OS-FLV-WITH-EXT-SPECS:extra_specs. If that's present, just add it to the
return dict instead of making the extra API call.
There are two instances of making raw REST calls to nova via the
client.api property of novaclient. However, we have access to a proper
keystoneauth Session object we can mount properly on the compute
service, so instead of using weird internal novaclient API - let's just
use requests.
In order to support this, we need to do the request_id logic ourselves.
Luckily for us it's easier logic than in python-*client because we don't
have to deal with appending request ids since we're never in the middle
of a request chain.
Change-Id: Ia8e40d542f98f0ccc55131ca277b862cffeecb12
commit 55db0a565cebcc09c4277e44b356a2e2a7bf2fc1
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Mar 18 14:02:01 2016 -0400
Bug fix: Make set/unset of flavor specs work again
The 1.2.0 release broke the API methods to set and unset
flavor extra specs because we need the raw object, as returned
from the nova client, to make method calls to change those
values. As a result, a new 'raw' parameter was added to the
submitTask() method of TaskManager to allow us to get these
raw objects back.
Additionally, we were never displaying the 'extra_specs' for
a flavor. This, too, requires a raw object method call.
Flavors are now normalized to remove client cruft and make sure
that 'extra_specs' is always an attribute.
As if that weren't enough, we now do functional tests for these
things! What more could one ask for???
Change-Id: Ie5c132317392cf26df2c8f43e9f07d040119eca0
commit e6b60d99c8ab381f2abe0ed66af4510eff3c910f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 19 08:40:17 2016 -0500
Refactor unit tests to construct cloud in base
There is no need to construct a cloud individually in each unit test.
Further more, we can now just use the enable-inner-exception interface
introduced a few patches ago.
Change-Id: Ia45a47ec243c917ab05b5a2f95c449b9e8d1da68
commit d725978313feed9aeba8250946321d0790c57f42
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 19 08:12:45 2016 -0500
Add constructor param to turn on inner logging
Monkeypatching isn't the best interface for setting a behavior flag.
Make it more accessible by presenting it as a constructor option.
Change-Id: Icc6b87c205fff551351cad81b9d83c27fc67d2c9
commit 4151feb65c5f05771ac1e78d187b7304acd59695
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 19 06:52:51 2016 -0500
Log inner_exception in test runs
Just like in nodepool, it's useful to get the actual traceback in the
output for inner exceptions when you hit an exception in a test case.
Change-Id: I1d5723390772011a1ba290596c2b0d13e9431fcc
commit c7f8a88886ccbfa7b726babce0e8e92405ca9a57
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Fri Mar 18 21:04:31 2016 +0000
Pass specific cloud to openstack_clouds function
The openstack_clouds function gets all the clouds defined in
the clouds.yaml.
For clouds with multiple regions, it will return an OpenStackCloud
object for each one of the regions tied to the cloud.
This change allows to pass an specific cloud in case the user
wants to pull a single clouds with multiple regions from clouds.yaml.
Change-Id: I41512825cac99fae80c61b3a61248442dcd637c7
commit ebec66853033e0e953055e0a4e8fb906e7092e66
Author: Steve Baker <sbaker at redhat.com>
Date: Mon Mar 14 11:20:57 2016 +1300
Make get_stack fetch a single full stack
There is a convention in shade for get_<entity> calls to do a
list_<entities> with no server filtering then do a client-side filter
to return a single result. This approach is not appropriate for Heat
since the stacks.list call returns significantly less detail than the
stacks.get call.
A user calling get_stack will almost certainly be wanting the extra
detail provided by the proper stacks.get (for example, the stack
outputs).
This change switches to using stacks.get for the get_stack
implementation. It replaces the search_stacks call with a local
function that returns a 'list' of one full stack object.
Change-Id: I5d326d489f806709252a22360f3dbd8011fdb9c7
commit ee88b231131731a15799930d8d5bd152ce55995b
Author: Tristan Cacqueray <tdecacqu at redhat.com>
Date: Mon Feb 8 15:56:41 2016 -0500
Add environment_files to stack_create
This change adds support for Heat Stack environment files.
Change-Id: Ie6145aa5fde71d93f1df802f16ae4969df5de929
commit 1e738dbc91dd29ccac0aaa65364d353a9266c52a
Author: Mathieu Bultel <mbultel at redhat.com>
Date: Thu Feb 4 14:16:17 2016 -0500
Add normalize stack function for heat stack_list
With the stack object the _filter_list
was not able to do the:
e.get('id')
e.get('name')
Also the stack dict don't have the 'name' key,
so need to set name -> stack_name
Unit test add for get_stack and list_stacks function
Change-Id: Ia1f3c949cc01906166175a9dcd3b844bc6947e28
commit cfd62e4bbd44795cd3fafa623d43afc43b2311ce
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Mar 14 18:39:57 2016 -0400
Add wait_for_server API call.
We need to be able to wait for a server to reach active status.
This was the intended usage of get_active_server(), but it doesn't
do any waiting, which is a bummer.
Change-Id: I5be0b1cf6f1b910b6d861d81fc1083e4793b9e5f
commit cb60c7eae8f37eed89240966022bc4268e697f31
Author: SamYaple <sam at yaple.net>
Date: Sun Mar 6 16:47:15 2016 +0000
Update create_endpoint()
Using kwargs as it is used in create_endpoint() does not work if other
kwargs are needed besides the three *_url ones. This means if any new
kwargs come along this will have to be refactored anyway. More
immediately, this code cannot be used with update_endpoint() in the next
patchset leading to an inconsistency in code.
This refactor allows both create_endpoint and update_endpoint to be
consitent with eachother and, dare I say, makes this.... futureproof?
Change-Id: I79273e3dc409cf49b03cc644ea50fe143bcd53aa
commit b7b6de094b302f536f26dfe6ad4e92d62dc91066
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Fri Mar 11 23:09:47 2016 +0000
Make delete_project to call get_project
delete_project called update_project, which in turn calls get_project,
to gather the project object.
This round-trip is unnecessary, delete_project can and should
just call get_project.
Change-Id: I6d6052b924411d52ce0f3ac0cfcd4d5d62563ae3
commit a71511468ee7395040e8a0246b9cbba9b6de069f
Author: Doug Hellmann <doug at doughellmann.com>
Date: Thu Mar 10 16:17:08 2016 -0500
Update reno for stable/mitaka
Fix a few page titles at the same time
Change-Id: I68d082f1cad51bbe58deed6a7e4b0de122c22fc7
commit cbab18b0fa87cb9ddbcd8e37aa4bfffd9b582b34
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Wed Feb 10 16:05:15 2016 -0800
Add osic vendor profile
The new osic cloud is a thing. Add a vendor profile here to simplify
using it.
Change-Id: Iecd473c93cd1e1d8e2bf9a785f257a47df10351e
commit 82697db9e6cb71a776b6ecfc898346901e323d4b
Author: SamYaple <sam at yaple.net>
Date: Sun Mar 6 19:32:07 2016 +0000
Test v3 params on v2.0 endpoint; Add v3 unit
Part of the code was not being excericed resulting an invalid line of
code slipping through. "'%url' % interface" evaluates %u thinking it
is about to put in a number. This is not the case. Use .format()
instead.
Add unit test to check that section of code.
Additionally, add tests to validate v3 endpoint code
Change-Id: I116fff73ce102232c2a14acc7ee55bd660dd8be7
commit f10f704bfa30e32ab8394093b44d1358b1e90af8
Author: SamYaple <sam at yaple.net>
Date: Wed Mar 2 22:44:26 2016 +0000
Add update_service()
Services can be updated, we can even update them!
Keystone v2.0 did not allow updates, Keystone v3 does
Improve unit tests to test v3 items for service functions
Change-Id: I36b9f92f7b551451973e3681dd8814ed90614b9c
commit 8fda803d170623a0ce91f2f7c3aea2490351a821
Author: Stefan Andres <s.andres at syseleven.de>
Date: Mon Feb 15 11:56:17 2016 +0100
Use network in neutron_available_floating_ips
The old behavior takes a list of network names or id, ignores it and
picks the first external network it can find
This fix implements the actual logic of using the parameter:
* Uses the given external network, if supplied. This changes to
using only a single network instead of a list because no where
is a list supplied to the call.
* If no network is given, it takes the first external network.
(Shrews) The unit tests are also changed because they were suck.
The test for available_floating_ip() is changed to test only it's
calls and not the lower level functionality. New tests are added for
the _neutron_available_floating_ips() call, which implements the lower
level functionality and which is where this change is actually tested.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: I0b27b50b2a6a8e5199bbeed5786b71851bb3ad3e
commit d0709ead25dc5d5e19445f451e2380db004eb37f
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Thu Mar 3 22:45:52 2016 +0000
Allow passing project_id to create_network
The neutron net-create verb allows passing a tenant_id param,
allowing a cloud admin to create networks on any projects is
granted to.
This change allows passing this param, which is an admin-only
option.
Change-Id: I76285ad1f7106f9a5900f118cdc7a5012786869d
commit 543954dd056527a4ff5164d0aec3e791c89b0550
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 7 23:03:12 2016 -0500
In the service lock, reset the service, not the lock
It turns out that when you're in a context manager that has gotten the
lock, attempting to set that lock to None will fail. It's also not the
thing we actually want to do. What we WANT to do is reset the _service_
so that we'll ensure a new service object gets created.
Change-Id: Ic39ef0418dcd5c0cbbe710ac1c31e58b744f56b5
commit ff82154b90a3235e9063e2513df37dca4ed2849b
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Mar 7 14:48:20 2016 -0500
Bug fix: Do not fail on routers with no ext gw
Although I've not been able to reproduce it, some user have reported
an exception from shade in the list_router_interfaces() call when
trying to access the external_gateway_info of a router that does not
have this key set. Let's just be safe and and a check to make sure
that the key exists.
Change-Id: I949b76b2b306e5161e7ee77d6c588a77ac4c7d87
commit cf43b98e335e5bbb409e6209dada5e3c86bb8ceb
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 4 08:31:41 2016 -0600
Mock glance v1 image with object not dict
glance v1 objects are not dict like. They are just regular objects.
Making them dictlike triggers an unreal path. This also allows us to
remove the _shadeunittest logic line in obj_to_dict.
Change-Id: Iae2d926a7d8b899ef842b8cb1e898a38ed17adf7
commit d72262e207ec172a2cc04247101959297410f5c3
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 4 08:23:50 2016 -0600
Use warlock in the glance v2 tests
We were mocking what should have been a warlock object with a dict like
object. Instead of doing that, actually pull the model from glanceclient
and construct a legit warlock object in the mock so that we can make
sure our warlock morphing does the right thing. Also, warlock triggers
'smarts' about which parameters to update, so update the test to mock
out the right things.
Sadly we have to copy the task schema in, because the only place it
exists in API form is in the glance source tree.
Change-Id: I9a63bfb7a85e69e66d32cf28d0e7fe207996e1b4
commit 3850774d8f3f766487462a9bb05e68eb9c8ffe91
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Mar 3 15:19:07 2016 -0500
Fixes for latest cinder and neutron clients
In obj_to_dict, if we get a dict-like-object, we should convert that
with Munch. Otherwise, we just convert its properties and not values.
When comparing cinder things, do not compare the entire structure
since what we get from the create call can be different than what
we get from the list call. Just compare IDs.
Change-Id: Iada5ff76cf9192a2c10e117536546989633c290e
Co-Authored-By: Monty Taylor <mordred at inaugust.com>
Co-Authored-By: Sam Yaple <sam at yaple.net>
commit 0f23cb8fa2605acfde4b0c6429fcc1d7e6f221fd
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 2 09:55:40 2016 -0600
Add debug message about file hash calculation
When debugging image uploads, it can seem like shade has hung when it's
in fact calculating file hashes. Emit a debug message to indicate this
has been done.
Change-Id: Ib0fde6ad96de6b6ba31e5c0b1b2f1bb54aad6f1e
commit c12d5020b3fb4cf7d55daad6ef0729d1d2c9778f
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Mar 2 08:23:42 2016 -0600
Pass username/password to SwiftService
Similar to the change we made for swift Connection in os-client-config,
pass any username/password info we have into the swift SwiftService
object so that if it needs to re-auth it has the information.
Change-Id: Ie850b8831d0192420289960b210b7a520c8c3322
commit b4411cbadf0035cb59846d95940391d42b089e56
Author: Ian Wienand <iwienand at redhat.com>
Date: Wed Mar 2 14:39:26 2016 +1100
Also reset swift service object at upload time
When you follow through swiftclient.service.SwiftService() it ends up
creating a swift swiftclient.connection.Connection() object within it
[1].
As noted in change Ib35dd49627bc2209060848e719e3cec40dbb4f2a ; the
swift client object does not support keystone sessions, so does not
handle having an expired token (tokens for RAX, the cloud we see this
issue with in nodepool, expire after 24 hours).
This leads to a very confusing exception about "No tenant specified"
[2] which I believe is actually somewhat of a red-herring; what has
happened is that the authentication failed, the client inside the
SwiftService object doing the upload hits its retry path and we end an
authentication failure path [3] that outputs this message.
The split between what happens in a swiftclient Connection() object
versus a SwiftService() object further suggests this is the failure
point -- you use the client object to do things list
list/create/delete containers, but the SwiftService object provides
the wrappers that handle the actual upload of the objects. This
explains why we see the exception raised in the upload image path, but
not the creation of the containers to hold the image.
As with the swift client issue, the simplest way around this is to
always request a new SwiftService object when uploading a new image.
[1] http://git.openstack.org/cgit/openstack/python-swiftclient/tree/swiftclient/service.py#n226
[2] http://paste.openstack.org/show/488685/
[3] http://git.openstack.org/cgit/openstack/python-swiftclient/tree/swiftclient/client.py#n1544
Change-Id: I1c9d71ec828eb7d67045fb6bef468dc20e67292b
commit 53adfb46ea8c785a1ecfb0808fb91cf60773dc1e
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Tue Mar 1 20:26:15 2016 -0800
Invalidate volume cache when waiting for attach
We need to invalidate the volume cache when waiting for volume attach to
complete otherwise we never see the attachment complete (the cached data
is perpetually stale).
Change-Id: If875997b7fb6682ef4752852c58ea1b4cf52de91
commit a9d155fd53f19be497c3becda62a3fbb84d9c8aa
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Mar 1 15:00:58 2016 -0500
Use isinstance() for result type checking
Shade has been broken in the past by the underlying clients deciding
to change their API and return a subclass of the thing they used to
return. For this reason, let's use isinstance() instead of type().
Change-Id: I1e50d5314fb2cd7d7f8fcf77a3714704ca738672
commit 34799e9f9ebdc8b8b49e8980388b1fc377ffac43
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Feb 26 11:46:20 2016 -0500
Add test for os_server Ansible module
We haven't been able to test os_server because we haven't had a
way to reliably determine the image name (which changes from time
to time based on version) from the playbook. A stupidly clever
hack is to just grep out the name from a shell call to the openstack
client and pass that in to the playbook from the command line.
The playbook is simple for now for the initial commit. I expect new
tasks to be added to it later.
Change-Id: I3caedfd4c805126c8da1fc8bab06ccda3fd96528
commit f236869b77cb61e09b4be11aff4d88c83927e38e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Mar 1 14:18:04 2016 -0500
Fix create_server() with a named network
If 'network' was supplied to create_server() along with an empty
'nics' list, we would never attempt to find the network. The os_server
Ansible module uses the API this way. This treats an empty list the
same as if the 'nics' parameter were never supplied.
Change-Id: Idc844fab2c4c08f158c892104d065e5554ed90f3
commit 80e7c428530a73402b99223a478f9e8f1c39ac64
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Mar 1 13:49:13 2016 -0500
os_router playbook cleanup
The playbook testing os_router was not cleaning up the external
network it created.
Change-Id: I49abe439de6ed9a8d844a505e8552c779f29da03
commit 795750bfde6a4ab3be5f7f1e34fe7ea6f91c6f2b
Author: Tristan Cacqueray <tdecacqu at redhat.com>
Date: Thu Feb 4 00:26:00 2016 -0500
Fix heat create_stack and delete_stack
This change attempts to fix the create_stack and delete_stack method:
* get_stack doesn't have a cache parameter
* stacks.delete only take one parameter, the stack id
Change-Id: Idc6a4c5a3a90808db7204c7187d1a8779803e4a7
commit 11b834a2d80d30cad2c5cc08a325a5a330f348bc
Author: Joshua Hesketh <josh at nitrotech.org>
Date: Mon Feb 29 15:17:30 2016 +1100
Catch failures with particular clouds
If one cloud is unavailable list_hosts will fail and return no results
even if another cloud had a listing. Add a flag to allow users to
pull results from whichever clouds they can.
This is to allow infra to continue working across whichever clouds
are up should one fail.
Change-Id: Ic2bb2a1642dedead73d7c2e4e60ec59ae8299ef0
commit a7fe2520aea62372834092362b7cd024982d8b69
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Feb 26 12:25:39 2016 -0500
Allow testing against Ansible dev branch
Adds support for a new environment variable that will trigger
testing against the upstream, development version of Ansible.
This will help us catch breakages in Ansible that would affect
the OpenStack modules.
A new, non-voting job is expected to set this variable.
Change-Id: I7ac84487dd323ef95191fab966244da586b37cd3
commit d0979597275d514b0b1a1266f98513b99fa1639e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Feb 26 16:49:15 2016 -0500
Recognize subclasses of list types
Change-Id: I8b46d11368bf33ad073ed3b28eb2282ee70ffbe3
commit 03d5659d8b45b0450a86956147cc2d1f27be66ac
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Feb 22 06:37:13 2016 -0800
Update the README a bit
Cleaned up example references to now-not-existing HP Public Cloud. Also
added a named-cloud entry to the make_client section.
Change-Id: I398c438e22eb84d6079a5c45f068753c3bcaa216
commit 7a4993da4190d92cb2f023d84e0e9311db38f0bf
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Feb 22 06:30:31 2016 -0800
Allow session_client to take the same args as make_client
make_client is a great, simple yet flexible way to get a fully featured
Client object. simple_client is similar for Session objects, but lacks
the argparse and arbitrary kwargs that make_client - plus it has a weird
name. Since adding those two features to make_client did not make it too
confusing - do the same for simple_client. Also, rename it to
session_client (with a backwards-compat alias) and add it to the README
docs.
In the process of doing this, extract the "get me a cloud config"
functinality into an additional helper function - get_config.
Change-Id: Iadd24dfa021f870b3e5858bab8cd91fc96a373c2
commit f6bbd31dbfeb5ddfd968b8a9cdcb093a2b60d459
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Feb 21 13:49:12 2016 -0800
Add ability to pass just filename to create_image
There is a common use case of wanting to create a disk image and then
upload it to the cloud where the name of the diskimage minus the file
extension is the desired name of the image in the cloud. Support that
easily by checking to see if the user passed in a filename as the first
paramater and, if so, use it as the filename and strip the path and
extension to use as the name.
Also, document the method while we're in there.
Change-Id: Iade5f071544775864534660b544a6a01b15a2adb
commit 11a8527558fed6943b583b14dffc1c24818ce9a4
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Feb 15 16:38:12 2016 -0500
Add support for provider network options
This has been asked for by the Ansible community.
Change-Id: Ib11beb42901cdf6b5c9a5d8f8e3a2a0f2fbf382d
commit ef263d6a239ebdcdbf3317a8176702052017df3a
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Feb 19 13:39:44 2016 +0000
Remove mock testing of os-client-config for swift
This test does not test shade - it tests implementation details of
os-client-config. We test those in os-client-config.
Change-Id: I1a24e1718995b7ac508aec77c7dd351ef22cba74
commit 35ece66b4cc263816b9b28239901a5cbad61c8eb
Author: Arie Bregman <abregman at redhat.com>
Date: Thu Feb 18 14:23:12 2016 +0200
Fix formulation
Fixed the formulation for the message that appears when cloud config
couldn't be found.
Change-Id: I1a4a83fe598d4eab52713061471fab8d1c46ec91
commit 7865abc22b7289b2679f6848395d4850d544d1f0
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Wed Feb 17 11:46:57 2016 -0800
Add release notes
Catch up the release notes from the previous release to current state.
This does not catch up from the beginning of oscc's history.
Change-Id: Ic981fdfbb79cd7fc70167091bdfed281c11eff03
commit dcc9aad9c0c374f62c6152bb77d6db59dea59ea5
Author: Matthew Treinish <mtreinish at kortar.org>
Date: Wed Feb 10 19:48:48 2016 -0500
Add a method to download an image from glance
This commit adds the missing function to download image data from
glance. The get_image() call returns the metadata about an image but
there was no method to get the actual data.
Change-Id: I8797f90ea4152dfed90b3311ceca098b2807ef7e
commit dd1f03c597daf1dc422608ab8e2b0b6b78168a3f
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 10 17:37:54 2016 -0600
Send swiftclient username/password and token
For longer-lived operations, tokens can timeout and we need to get new
ones. While in theory we should be keystoneauth aware and passing around
sessions, swiftclient does not yet support this. So, instead of passing
in just a preauthtoken, also pass in credentials if we have them. However, for
plugin types that swift does not know about directly, only preauthtoken will
be used as before.
Change-Id: If724fdcd0649d9fa3b3ee7b127e49a3f77e3b767
commit 02b4b4c43fbed744ba375f62ffc5d323e363cfb6
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Feb 12 11:24:52 2016 -0500
Add test option to use Ansible source repo
This restores the ability to run the Ansible tests using Ansible
from the source repo rather than the production version from pip.
Using production will be the default, but this sets us up to add
a new job to test against the latest dev version, if we want.
Change-Id: I93cdec653dd672acfbc03576d100d19ab8595f2e
commit 8cb0eb37721985a58665c6e3e1b63b17c23c4cee
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jan 29 10:28:41 2016 -0500
Add enabled flag to keystone service data
Services can be enabled or disabled. Add this flag to the service
data structure.
Change-Id: I879811e95829176a64dc34cf7bef09c25421c062
commit ab8a1969075c80ba7b1cea9b9994d8eeedfd5f49
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Feb 5 14:11:09 2016 -0500
Clarify Munch object usage in documentation
We have pretty much settled on sticking with Munch objects for the
1.x series of shade releases. Change the documentation to note this.
Change-Id: I8b2838c3a5a40b0c74e31081bfb1ed4b0d39280f
commit df379be704fc2c1bb870dc2ab01a1e19626c754c
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Feb 5 13:51:58 2016 -0500
Add docs tox target
Add a tox target to easily build the shade documentation.
Change-Id: I38f3a39de1a34ae8709ce3b83a8fb51dd75299d3
commit 9035ade760591cf194feaa643f5278049d90bee5
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jan 29 09:45:22 2016 -0500
create_service() should normalize return value
The new service data being returned from create_service() was not
going through the normalization function.
Change-Id: I5e80e7a74f71a61d83653595b9a176d2aa9039ec
commit d052121d6dd66ffd2b0d6ed56c20ed1a1c55afd8
Author: Matthew Treinish <mtreinish at kortar.org>
Date: Thu Feb 11 15:09:31 2016 -0500
Prepare functional test subunit stream for collection
This commit fixes an issue with the functional test jobs where the
subunit stream from the test run isn't archived. This prevents both
the testr_results.html file from containing test results, and also
the eventual collection of the test results into the subunit2sql db
(when it's actually enabled for non-tempest jobs)
Change-Id: Ie16206349c59f780d786bffe5db1992cfa6a002e
commit 661927392c245607f35ac111e7c5060d41cb4484
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Feb 11 08:33:50 2016 -0500
Use release version of Ansible for testing
We were using the unreleased (from git) version of Ansible for our
Ansible test job because at the time, 2.0 had not been released. Now
that it is released, use pip to install it so that we are less likely
to get broken by development changes to Ansible.
Change-Id: Ie714f42d26569044b6a3ee761bd5fb7451833d96
commit ef5a1b20a130f052d7d272bfffe7a9def88d6c4b
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Feb 10 10:23:30 2016 -0500
Modify test workaround for extra_dhcp_opts
The neutron create API now returns extra_dhcp_opts. In older versions
it did not so it had to be removed when comparing the port definitions
between the "create" and the "get". Now we only remove it if it is not
present in the "create". This keeps it working for our keystonev2 test
job which runs against stable/liberty now.
Change-Id: I4d6a57b0f15f1868c5ba4e62a2bf248662bd8896
commit 10a9369062504cce1c4c79a1b112e619082cf6ab
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 10 11:24:10 2016 -0600
Remove HP and RunAbove from vendor profiles
HP has already shut down its public cloud. RunAbove is shutting down
17th February as part of the migration to OVH.com. Neither are therefore
valid vendors any longer.
Change-Id: I8d305ca2b1cbaf67e6711eedaa1a4c5668a42be7
commit 8264e09c69bd6c017c1716a70cec21c28919e6d1
Author: Mohammed Naser <mnaser at vexxhost.com>
Date: Wed Feb 10 11:51:37 2016 -0500
Added SSL support for VEXXHOST
VEXXHOST cloud uses SSL for Keystone and all other services,
change the auth URL to the SSL endpoint.
Change-Id: If80c76603de44d005d6af1726f34d924384bf747
commit 9199c263c9b085f6bbacb3c71a466c021f2c7871
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Feb 8 10:55:22 2016 -0500
Fix for stable/liberty job
Now that the keystone v2 job runs against stable liberty, we have
to look in a different location for the clouds.yaml file since it
was still being written to the home directory at that point.
Change-Id: I3afd99ef0d460b541d4000740ec045879c507358
commit e38eea3d8cf8e440832893548c77f9feec1bf7d2
Author: Daniel Wallace <danielwallace at gtmanfred.com>
Date: Fri Jan 15 19:36:18 2016 -0600
granting and revoking privs to users and groups
The domain and groups are dropped for keystone v2.
project is required for keystone v2
add a test that makes sure domains that don't exist raise an error
Change-Id: I3313690c0f0bbf0fcd9fe1db2e46dcd3fb6dd3d0
commit fe2558a2d5b6a2fa8c2f3f3c5472b79a7e01ba4a
Author: Steve Martinelli <stevemar at ca.ibm.com>
Date: Mon Jan 25 20:37:22 2016 -0500
Add support for zetta.io
zetta has an openstack cloud, let's add support for it.
Change-Id: I86cda3e42fff468786b2809bb367ad59241bb397
Closes-Bug: 1537959
commit 42727a5e182eade19f4007195ee9058e56ba27bc
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jan 23 13:03:55 2016 -0500
Stop ignoring v2password plugin
We have no codepaths that currently set v2password plugin by default.
However, there are some cases, such as old clouds, where a user needs
to explicitly set v2password as the auth_type to avoid version discovery
because their cloud is old enough to not support it. If the user
sets v2password, keep it and align the auth parameters the other
direction to set tenant_name and tenant_id.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: Ib9eb3ae163b79b67737d01868868187b6dee1756
commit cd9d0f3ab51662432ef21c3c2929b9ee0aa33669
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jan 25 10:48:02 2016 -0500
Add release note for FIP timeout fix.
Change-Id: I28913650828084720b83e36371c0439ffb39402b
commit ae8f4b65e3ac460b7764f2cdf9dfdcfe41ee0d22
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jan 17 09:08:27 2016 -0500
Go ahead and remove final excludes
os-client-config is clean on E125 and E123 is ignored in recent pep8 by
default. Also, even though they are not 'valid' pep8 rules, they are
actually both nice styles and consistent with how we code
os-client-config anyway.
Change-Id: I7764e1511ed580d37b9a0a8be6743a5fa50441e5
commit b2deeefc8b6b328f5a796b7860d894efea6648bf
Author: Daniel Wallace <danielwallace at gtmanfred.com>
Date: Thu Jan 21 13:26:00 2016 -0600
include keystonev2 role assignments
This will require that user is set with project possibly being None,
otherwise we would have to query over all combinations of users and
projects to find all the assignments, which I would say is unreasonable.
project is not required by keystoneclient, but based on what I was told
by someone in #openstack-keystone, it is highly discouraged to create
roles and users and assignments without the project being involved, so
we won't be allowing it.
Change-Id: Id5b7b9fb44a9dbecb7488eb8f0ef30773efed6d2
commit c2058d5fa88b33ddfd14df24d6b1c8561762c2a1
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jan 22 09:56:06 2016 -0500
Add release note for new get_object() API call
Change-Id: Ib5ed7a8f1e47756f5c9c0ba60fae9f095e55181a
commit f2ef884a8107608ae109f1b072bd6d1d0f23aa6e
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 20 08:47:30 2016 -0500
Pass timeout through to floating ip creation
When we do create server, we have a timeout from the user for the
action. However, in auto_ip, the action can also mean creating a
floating ip which can timeout of its own accord. Pass in the remaining
time.
Change-Id: Ifffdb1d9c34235f5a1fa3b382b9820a579d5c37a
commit d7ffabca74872941ef244281000d5356a2626796
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jan 21 17:31:15 2016 -0500
Fix normalize_role_assignments() return value
This function was returning plain dicts, not Munch objects, so
it was acting differently from all other normalization funtions.
Change-Id: Iaf9325d509f9c2c015f9c3fbd2d4ec6efa974429
commit a2db877b41fad494fe9daa09b5c77914638ac605
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 19 10:12:02 2016 -0500
Don't set project_domain if not project scoped
The code to expand domain_{name,id} to {user,project}_domain_{name,id}
is flawed in that it sets a project_domain_{name,id} even if a
project_{name,id} is not set. There is a valid use case for not having
a project_{name,id} - specifically getting a domain-scoped token.
In the case where we do not set a project, check for that and don't make
further assumptions that the domain input needs to be "fixed".
Closes-Bug: #1535676
Change-Id: I825fe4bc375687208bb176bb5990c23fe87c8f9d
commit 003f09412034d176c943d193ed94fc6d580d59ef
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 18 09:50:04 2016 -0500
Remove a done todo list item
The TODO comment on "make this configurable" is confusing because it is,
in fact, configurable. Remove the comment. Also, while doing that, put
the default value somewhere sane, and change the variable name to match
the config source better.
Change-Id: I52c456f29395bfa84d9504e2a59d8390ffbd451a
commit 05aacf133e8b13d825352fddd8930e9d2d3ba754
Author: Daniel Wallace <danielwallace at gtmanfred.com>
Date: Tue Jan 19 17:31:07 2016 -0600
add the ability to get an object back from swift
We allow swift to be used as a fileserver backend for saltstack, for the
salt states and pillars, so we need to be able to get the objects out of
the containers.
Change-Id: I8fc9777807f111397bc942b02421b599f6c6a358
commit cfd29196fedf41dcd61d0df6b0109dc8e43abfc8
Author: LiuNanke <nanke.liu at easystack.cn>
Date: Thu Jan 14 16:45:59 2016 +0800
Clean up removed hacking rule from [flake8] ignore lists
We bump hacking>=0.10.2, and hacking removed some rules, for
the full list of rules please see [1]. So don't need them any more.
Hacking related commits:
Remove H904 in commit b1fe19ebebe47a36b905d709467f5e82521bbd96
Remove H803 in commit f01ce4fd822546cbd52a0aedc49184bddbfe1b10
Remove H307 in commit ec4833b206c23b0b6f9c6b101c70ab925a5e9c67
Remove H305 in commit 8f1fcbdb9aa4fc61349e5e879153c722195b1233
[1]https://github.com/openstack-dev/hacking/blob/master/setup.cfg#L30
Change-Id: I24b82c1913d3d42cc5228b1db700b787623fcdc5
commit 72a3d64c1872987e0a0f78346345f66b24652b69
Author: Daniel Wallace <danielwallace at gtmanfred.com>
Date: Fri Jan 15 16:50:08 2016 -0600
allow for updating passwords in keystone v2
Perform a users.update_password before throwing away the password from
kwargs.
Change-Id: Ie478b541a7958a888274eedcd0d2a135a08132c6
commit fde5cc0749fb2062c9aa5dc60d4d051e26ab3478
Author: Hideki Saito <saito at fgrep.org>
Date: Thu Jan 14 17:38:41 2016 +0900
Support neutron subnets without gateway IPs
create_subnet() and update_subnet() allows subnets without gateway IP.
A new argument “disable_gateway_ip” controls it.
Change-Id: I527af06e09bc2e654e2af4777126cad29f8670fe
commit 2f1d184a8e6bed99d027b5ec9f8ee475e527cbdc
Author: Doug Hellmann <doug at doughellmann.com>
Date: Thu Jan 14 17:10:21 2016 +0000
set up release notes build
Add release notes build files and tox environment so the existing
release notes job has something to build from.
Change-Id: I717d4e7af438cbc94eecf32472f6d1f8213761b8
commit 4cefd93ca531d5eb2eb3783126d5185c067d5126
Author: Daniel Wallace <danielwallace at gtmanfred.com>
Date: Tue Jan 12 13:03:08 2016 -0600
Save the adminPass if returned on server create
I am using the or, because if the server returns a None in the adminPass
field, but the admin_pass is set in kwargs, we should still want that
password, but a default on the .get in python wouldn't return it cause
the key is actually set to None.
Add admin_pass to rebuild_server
Change-Id: Iff3242ef916180018c3d878942a7af14988165b7
commit 25061db5ae6ea9dc98fc26f49cdb378d94b6e190
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jan 14 15:28:58 2016 -0500
Fix unit tests that validate client call arguments
Some of our unit tests are trying to validate how the underlying
client is called. That is os-client-config's responsibility. Let's
just validate how we are calling occ's API so that we don't break
every time occ decides to change client call arguments.
Change-Id: I2ceab4b09466e3f7d3e8e6dc75587279f5eb80e4
commit a8532f6c8d221628b697ddb0d134e2a000ef61d6
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 13 13:37:14 2016 -0500
Fix a precedence problem with auth arguments
With the current code, OS_TENANT_NAME will take precednece over
--os-project-name beause OS_TENANT_NAME gets early-moved to
config['auth']['project_name'], then when the argparse value gets put
into config['project_name'] the auth fixing sees auth['project_name']
and thinks it should win.
Change-Id: I97084ea221eb963f14d98cf550a04bbd5c7d954c
commit 7e5496763522475bb07a377359d69454f1942e1b
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 4 12:56:28 2016 -0600
Return empty dict instead of None for lack of file
We return None for the file content for non-existent files as a
fallback. This is normally fine, but in the case of a person having
_only_ a secure.conf file, this means that the dictionary merge fails.
Change-Id: I61cc0a8c709ea3510428fc3dfce63dc254c07c83
commit cd5f16cc4d78fde5a812e2715ee9db430760972f
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jan 8 20:50:35 2016 -0500
Pass version arg by name not position
Everyone except neutron has a first parameter called "version" - so we
can pass it by name. For neutron, add a workaround, becuase YAY people
being different.
Change-Id: Icfd92e5e31763ffccc1ff673298f89d1888941fe
commit 53187f2a53993b7bec47cdb972e86357ef302995
Author: Spencer Krum <nibz at spencerkrum.com>
Date: Mon Jan 4 17:28:46 2016 -0800
Allow inventory filtering by cloud name
In some cases only one cloud is in scope for the ansible inventory,
this patch enables that workflow.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: Ie2a1fc91878c282daaa75e4fc8aeee19f87c3020
commit f61a487fa13c8292b9fd3ac103e1133ac05dbd26
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jan 8 20:38:35 2016 -0500
Use _get_client in make_client helper function
We have a capability to know what constructor is needed for make_client,
but we didn't plumb it in. Make sure that the only thing needed is:
os_client_config.make_client('compute')
Change-Id: I02aa1c46fa7cdfdb1409f8e1232e364b5ba48cd2
commit 9835daf9f684556c5aed4834dc086e932788f9bc
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jan 8 20:24:17 2016 -0500
Add barbicanclient support
barbicanclient is a lovely client library, so we should add support
for make_legacy_client to doing the right things constructing a Client
object.
Change-Id: Idf015b1119ef76b951c195a6498cbb7a928d6e44
commit cf439dddd80161fa65e5699ae0fbb291838483b4
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jan 7 12:02:27 2016 -0500
Add range search functionality
It can be useful to have more advanced search capability across a
data set than just exact value matching. For instance, when searching
for flavors, one may want to just say "give me the flavor(s) with the least
amount of ram" or "give me the flavor(s) with 2 or more virtual CPUs, but less
than 8GB of ram". We can accomplish this with range searching. Example:
flavors = self.range_search(self.list_flavors(),
{"vcpus": ">=2", "ram": "<8192"})
Besides the normal range operators (<, >, <=, >=), one can also use
the values "MIN" or "MAX" for minimum and maximum values:
flavors = self.range_search(self.list_flavors(), {"ram": "MIN"})
Change-Id: I706e4eee62a969888db3ea70f7052d3fb00c544e
commit caae8ad43487d5060d113d294c8d8862c7d3f788
Author: LiuNanke <nanke.liu at easystack.cn>
Date: Thu Jan 7 15:21:31 2016 +0800
Remove openstack-common.conf
We don't sync from oslo-incubator, so don't need this
file any more.
Change-Id: Ia4acc67fe38c4a27a098c4da263265ed3742b7e7
commit cab0469ec4471a5fe924d6049cbfcdf2ac0cdba4
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 5 09:08:05 2016 -0600
Add IBM Public Cloud
IBM Cloud has a public Openstack Cloud. We should support it.
Change-Id: If0bc29c41869494b2a4da944f7792cbe0f217f0e
commit 0b270f0bc9f6dd31d9c17bcc4d49d15630ee999b
Author: LiuNanke <nanke.liu at easystack.cn>
Date: Wed Jan 6 22:49:52 2016 +0800
Replace assertEqual(None, *) with assertIsNone in tests
Replace assertEqual(None, *) with assertIsNone in tests to have
more clear messages in case of failure.
There have one more place should be modified.
Change-Id: I53a8f129db0108892b8377edce2dbf19b0b95f5d
Closes-bug: #1280522
commit 3b5673ce4c8c9d54568028056300eae053828ee0
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 5 10:30:28 2016 -0600
Update auth urls and identity API versions
Most of the clouds, it turns out, support unversioned auth_url as well
as keystone v3.
Change-Id: I088d008cd2732f137c8a1bbbd9c0a43f7d382f92
commit 0bc9e33c9f978a8262453d7364143e8a02d3eded
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 6 08:43:19 2016 -0600
Stop hardcoding compute in simple_client
There's a debug leftover oops where we just passed 'compute' rather than
the service_key requested.
Change-Id: Id8c82e43ba34859426b1fdc93dcf3ab2bbde4966
commit 84f465614063145a5c6c9bb53053a20ae46c8e07
Author: Lars Kellogg-Stedman <lars at redhat.com>
Date: Mon Jan 4 20:55:44 2016 -0500
correct rpmlint errors
these are all tremendously minor changes, but they were necessary to
stop rpmlint from throwing errors (which prevents official fedora
package builds).
Change-Id: I1f08753887583a90e26435b5ad0d8f86d2b30992
commit c53ed12c323676111a959f666bb32dec301379c1
Author: Clayton O'Neill <clayton at oneill.net>
Date: Sat Dec 19 21:22:03 2015 -0500
Add tests for stack search API
The search_stacks method had a bug before because it wasn't tested, so
hopefully this will help prevent that in the future.
Change-Id: I4b4506b2120eb633893db0155c8ef626480dbaa9
commit e19c47e26eece425d110fdbf06407837a8893cf9
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Jan 5 08:03:02 2016 -0500
Fix filtering in search_stacks()
The search_stacks() call was calling _utils._filter_list() with
a parameter that was removed in a previous commit.
Change-Id: I82c3b36ec0d9885533a7be13c530ecb46285c45e
commit a269d53ed3fdb7bbcffbd1d9e89c6233a9a719d3
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Jan 5 10:08:13 2016 -0500
Bug fix: Cinder v2 returns bools now
Cinder v1 used to return strings for some boolean values in the
volume dict. Cinder v2 uses bools. Fix the volume normalization
function to recognize either, and add unit tests for it.
Change-Id: Ia8600f660d0608622d0bface25f0d1418e6972cb
commit 59d9135bab823cbeda5c0b2b8b317a009427b34a
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Dec 30 17:10:00 2015 -0600
Normalize server objects
There are a set of things we always want to do to server dicts because
they are no-cost. This is in line with how we manage other resource
dicts, so make a normalize function. However, because we need to add
cloud and region info from the cloud object, make it a member method
rather than an friend function. Then, ensure it's always called on
server related calls.
Change-Id: Ied869efcb7d83c4f1a753962ca3127ce52172a24
commit 1cd3e5bb7fd7cd72a481f5ae8bbcd0b2ab114680
Author: Yaguang Tang <yaguang at umcloud.com>
Date: Sun Dec 27 10:59:08 2015 +0800
Update volume API default version from v1 to v2
Cinder has deprecated API version v1 since Juno release, and
there is a blueprint to remove v1 API support which is in progress.
We should default to v2 API when it's there.
Closes-Bug: 1467589
Change-Id: I83aef4c681cbe342c445f02436fcd40cf1222f23
commit c514b855d1faed8947ace885bb4656da541d4d2b
Author: Doug Wiegley <doug at parksidesoftware.com>
Date: Thu Dec 31 12:32:37 2015 -0700
Debug log a deferred keystone exception, else we mask some useful diag
Change-Id: Ib1921698bb61f44193034065749b4e246a6258db
commit 9688f8ebd1ace0f338a1eabb77e1bee249e5630b
Author: Yuriy Taraday <yorik.sar at gmail.com>
Date: Thu Dec 31 15:40:58 2015 +0300
Fix README.rst, add a check for it to fit PyPI rules
README.rst doesn't appear right on PyPI currently. This commit fixes the
issue and expands "docs" environment in tox.ini to use readme tool [0]
to verify that README.rst is good for PyPI.
[0] https://github.com/pypa/readme
Change-Id: I6025bb6c661d8a4a7cd9802a1298928662278f2d
commit ecb537ddad9723226e198d36551a04a8247a4977
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 14 10:18:18 2015 -0500
Make server variable expansion optional
Sometimes people don't want lists of volumes attached and whatnot,
and with lots of hosts it can be expensive to calculate. Skip it if
it's configured to not ask for it.
Change-Id: Id739fb3bae35cd7a8a24ddd6b58cc9c050ddd5d5
commit 594e31a4c262c9ae3fe14e2e4c0fdb71a0df0747
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Dec 30 13:10:47 2015 -0600
Use reno for release notes
The OpenStack Release team has created a great release notes management
tool that integrates with Sphinx. Start using it. For reference on how
to use it, see http://docs.openstack.org/developer/reno/
Change-Id: I8153ec7861b508297a28a1916771776dee2deafe
commit f3678f03deac0230e1265a8a516a8eea11d301cf
Author: Doug Hellmann <doug at doughellmann.com>
Date: Wed Dec 30 19:06:38 2015 +0000
add URLs for release announcement tools
The release announcement scripts expects to find URLs for the bug
tracker, documentation, etc. by looking for patterns in the README.rst
file. This change adds the URLs in a format consistent with other
OpenStack projects and that works with the release announcement
generator.
Change-Id: I88151008cca91da3fed7e4c0ec6dfb641a0062b6
commit 9929eb3523c964f53a70592136627560923d2990
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 14 10:16:08 2015 -0500
Have inventory use os-client-config extra_config
There are some additional inventory behaviors that need to be configured
in clouds.yaml, which means we need to allow them to be requested by the
inventory class.
Change-Id: I6f09d73422163e54776d03ead1d83322b6fdccf5
commit a39fca8e53e7de0c4ffdeafce40902e0e6fc7073
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 25 07:56:03 2015 -0600
Fix unittest stack status
If you run unittests with a clouds.yaml available that has caching
enbaled, the heat test fails because the fake has an invalid value for
stack_status (it'll always be a string) and also the pending function
looks for the wrong name.
We should isolate unittests from calling context clouds.yaml better, but
this is a bug anyway.
Change-Id: I791df68163b9ce850df6c74eacadd91ff76348ed
commit 7ee7156254381dc5c06405105c7de42c180c779f
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Dec 30 09:46:21 2015 -0600
Allow filtering clouds on command line
Add a very basic filtering to the test command line function to allow
only printing one cloud or one cloud/region worth of config.
Change-Id: I0d09717430f41b4229f7743f8531f871b962969e
commit 17e019a08e6e8fed7da6d0de403e5525d997095b
Author: Colleen Murphy <colleen at gazlene.net>
Date: Tue Dec 29 15:22:56 2015 -0800
Munge region_name to '' if set to None
The openstack ansible module defaults to setting region_name to
None[1]. With region_name explicitly set, _get_region won't use '' as a
default and therefor has unexpected behavior if the user does not set
the region explicitly. This is apparent in bifrost[2] which does not
use any cloud config file and does not set the region explicitly. This
patch checks whether None was passed in as the region name and sets it
to '' so that it can continue processing it as though it was not set.
[1] https://github.com/ansible/ansible/blob/devel/lib/ansible/module_utils/openstack.py#L41
[2] http://paste.openstack.org/show/482831/
Change-Id: I22cce104930f74dd479e704cc1a941dc945b75de
commit 7be6db82d35a7c3402172e742bb19dfa5a95a472
Author: Tim Burke <tim.burke at gmail.com>
Date: Mon Dec 28 16:43:26 2015 -0800
Fix some README typos
Change-Id: I3ebec661d1b02da0c940cde63ab862871dca11c5
commit 77c0365ce2d42adce9352cf238fbdbc7c282222f
Author: Javier Pena <jpena at redhat.com>
Date: Wed Dec 23 11:38:40 2015 +0100
Fix token_endpoint usage
Commit 22d740b7007e1182c99370cb2629322384b17a14 broke token_endpoint
authentication for openstackclient, by unconditionally setting
auth_type to 'token' whenever a token was passed in the command line.
This change reverts the portion that always overrides the auth plugin
if there is a token passed via arguments.
Change-Id: I835c3716dd08eaca10f56682c22fdc6ac700e0fe
commit f765a16c6c84d8b4a116585676f46087e458987b
Author: Doug Hellmann <doug at doughellmann.com>
Date: Wed Dec 23 01:31:13 2015 +0000
remove python 2.6 os-client-config classifier
OpenStack projects are no longer being tested under Python 2.6, so
remove the classifier implying that this project supports 2.6.
Change-Id: Ic24f93d5f7e7ffb1eaf91617c09cc897163e88df
commit c10566cc0ab0a9415d650a93941deb9b62ecdaf7
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Dec 22 17:12:30 2015 -0500
Fix shade tests with OCC 1.13.0
The latest os-client-config, 1.13.0, breaks the shade tests as the
client instantiations are slightly different. Since I'm not sure we
can modify our tests to use against different OCC versions (there
doesn't appear to be a version attribute anywhere), I upped the
minimum requirements.txt value as well as fixed the tests for the
latest version.
Change-Id: I18292ca39789c41caea74901754d66d3301bb420
commit 8fa55700b90e335e54cd459ea8a60578e8d27fc7
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Tue Dec 22 12:28:20 2015 -0800
If cloud doesn't list regions expand passed name
Don't fail on a cloud not having regions when a region name is passed.
Instead just use the name that is given and expand it properly.
This adds test coverage for the paths through the
OpenStackConfig._get_region() method to avoid problems like this in the
future.
In order for this work to be done cleanly a small refactor of
get_regions() is done to split it into two methods, one that gets all
regions with a sane fallback default (for backward compat) and another
that returns only regions that are known in the config and None
otherwise. This allows us to switch on whether or not there are known
regions.
Change-Id: I62736ea82f365badaea5016a23d37a9f1c760927
commit 95a7be3cb6448e51d9b0995a26f55df66819d9a9
Author: Morgan Fainberg <morgan.fainberg at gmail.com>
Date: Tue Dec 22 10:40:01 2015 -0800
No Mutable Defaults
Do not have mutable defaults in functions/constructors/etc. This
is bad news since they can be changed for the entire run of the
program (and subsequent calls).
Change-Id: I756629a3edca72a4c7fbe748e2f6964a7e827e72
commit ea859622fa34c6f8e79d83aaa42d7dfb731034a7
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 21 11:58:12 2015 -0600
Add option to enable HTTP tracing
During development, it's useful sometimes to see an HTTP trace log.
That's controlled by keystoneauth in all cases, so it's easy to turn it
on. Provide a flag for people using simple_logging.
Change-Id: I2f44d6f7fd1268028eeb455341198a704edcaad4
commit 939862e55e42c5fafee9c2fec42b5f5fde8fc205
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Dec 21 11:35:56 2015 -0600
Fix glance endpoints with endpoint_override
Now that we properly pass endpoint_override all the time, we broke
glance. The reason for this is that we calculate the glance url via
glance url stripping in all cases, so the case where we did not have
a configured endpoint override was passing the wrong information to the
constructor, causing double version addition.
Change-Id: I5699b0581d0cb68fed68800c29c8a847e2606ec9
commit 0a25cb5c5059fc8f850e27a984613515ae76ee11
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 12 17:26:09 2015 -0500
Allow passing in explicit version for legacy_client
Nova (and indeed other clients with microversions, need a user to be
able to request an explicit version.
Change-Id: I5f67b7fc007b7d6123f621c5943345f88db1f84b
commit 16166c03c27fe73896a1717ad9a145a466bc0afd
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 12 13:03:41 2015 -0500
Pass endpoint override to constructors
Also, the variable name from keystoneauth is "*-endpoint-override" ...
so we need to respond to that. Respond to the old -endpoint for compat
reasons. Then let's actually pass in the value.
Change-Id: I6f413b02e0d2b167a4ee30494b2c91c67124b219
commit 3a34378f712abee2d525973815a99188c598d726
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 12 13:03:07 2015 -0500
Support backwards compat for _ args
Instead of putting tons of hidden options to allow for variations of
argparse options with _ in them, just manipulate the argv when it's
passed in to translate to - instead. (why the heck does argparse not
already do this?)
Change-Id: I5f0bd9d9a333781ad13d531b3667fff5fdac9eac
commit 22d740b7007e1182c99370cb2629322384b17a14
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Dec 12 10:53:53 2015 -0500
Add backwards compat mapping for auth-token
novaclient accepted an auth-token argument, which also triggered a token
not password based workflow. That's fine - let's map that to token, and
if we find it, change auth_type's default from password to token.
Change-Id: Ie9acece5cb3c68560ae975bfb0fb2393381b6fba
commit 86814859d0dd8a90f8a8d537b3d74b234a0bc639
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Dec 17 13:37:34 2015 -0500
Add support for querying role assignments.
When you are granting or revoking roles, you need to know what the role
assignments are. Also, the return dict for role_assignments is
exceptionally hard to query, so turn it in to a structure that makes
some sanity.
Note that role assignments don't lend themselves to use our list/search/get
standard very well. Assignments are not unique (an assignment has neither a
name nor an ID). Searching is supported via the filter push-down to the
keystone client itself.
This replaces: I963b7a07cb711d3f790715a1fe55b16d0200073d
Change-Id: I5fb96f32a2f1a5f0408938105750afcd7c5c93af
Co-Authored-By: Monty Taylor <mordred at inaugust.com>
commit 88b7e643b9637864252d9c6b715da0dced606352
Author: Shuquan Huang <huang.shuquan at 99cloud.net>
Date: Thu Dec 17 13:58:10 2015 +0800
Replace assertEqual(None, *) with assertIsNone in tests
Replace assertEqual(None, *) with assertIsNone in tests to have
more clear messages in case of failure.
Change-Id: Ia1af9f64f4f0a66c1429d81313b2c27a7c67cdd7
Closes-bug: #1280522
commit d9c283c37f350c8b1629e671f38ef447ef1bbd1f
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Dec 15 17:17:05 2015 -0500
Add inventory unit tests
Add some basic unit tests of the inventory code base.
Change-Id: I368c1c36e7b49fec1c4c06ebc82c54e9103b951c
commit 837ca712288ceffea5b54ceaeb349d6577f38360
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Nov 17 15:17:55 2015 -0500
Allow arbitrary client-specific options
There are occasionally some client-specific things that would be handy
to be able to configure about behaviors. For instance, the only config
file that ansible's openstack inventory has is clouds.yaml. Rather than
teaching os-client-config about such things, allow a pass-through config
section. Apply key normalization to _'s like other configs, and merge
the clouds and secure files so that the sections behave like other OCC
config sections.
Change-Id: If307e95006abf6e1efbbd77cfc99e5fdfed6c80a
commit add21aa9810ac1522d564791f7c4a932b79235a1
Author: Matthew Treinish <mtreinish at kortar.org>
Date: Sat Dec 12 21:15:14 2015 -0500
Fix server deletes when cinder isn't available
This commit fixes an issue when trying to delete a server and cinder
isn't available. Cinder isn't actually a required component of a cloud
and some public clouds (like vexxhost) don't deploy it, so we shouldn't
unconditionally attempt to talk to cinder without being able to handle
this case.
Change-Id: Ia1e19aad711c43fec21e2c1e5ad64b69acb561d3
commit f4971b50a6abfe1ebdca20d1da82611538d69d76
Author: Kyle Mestery <mestery at mestery.com>
Date: Mon Dec 14 09:44:30 2015 -0600
Pedantic spelling correction
Change-Id: Id1d395485c0223847194abde6a0aa658ac27741d
Signed-off-by: Kyle Mestery <mestery at mestery.com>
commit 451e51340d8be78d66a27876cd966005b5d71dcc
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Dec 14 09:06:03 2015 -0500
Bug fix: create_stack() fails when waiting
The create_stack() call had two bugs: If wait was True, it attempted
to call an iterate method that had been moved to _utils; it also did
not return the stack from the get_stack() calls.
Change-Id: I2588e3a84729a8f1b3bfcb6d401c7d51fb16832b
commit fb8ea73f27f683519dcb27ed9e83cd6e4e423379
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Dec 11 16:29:32 2015 -0500
Stack API improvements
The exception that would be raised from list_stacks() if it failed
would not have any type of error message (except the inner exception).
This could be confusing, so add some text that indicates where the
exception is being thrown. Unit tests for this method are added.
Also improve some comments in delete_stack() and add unit tests
for this method.
Change-Id: I979a2948938fc73b708c26d81599061bac7681d4
commit 8d5abfbf56a5620d1326d44dee8ffdc9dfba1c62
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Dec 11 15:45:42 2015 -0500
Bug fix: delete_object() returns True/False
Our delete APIs return True if the delete succeeded, or False if
the thing being deleted was not found. delete_object() was not doing
this, so this makes it consistent with the other delete API calls.
Also adds missing unit tests for this method.
Change-Id: I0951765193459300f08b0ab804e6ca327c6fa57d
commit 3b50573f639af48cf3b524cb12e8380b4464e274
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Sun Dec 6 17:12:10 2015 -0500
Add wait support for ironic node [de]activate
Original shade support for ironic node activation and deactivation
was without support for a wait option being passed into the helper
methods.
So the os_ironic_node module can be updated to support wait=True,
we need to add support in the activate_node and deactivate_node
methods.
Change-Id: I69eee2d254cde2fffcf0c1ac7679a623fa7f97a5
commit 8d868cb27c13d73267f7097459b7b3e05ccf3eb0
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Dec 10 10:08:43 2015 -0500
Improve test coverage: container/object list API
Add missing tests for listing containers and objects.
Change-Id: Iacbd5060f33a9f7273d7208dd400b4868602a3e4
commit 44e796a3dd48273236b586992fc870b4f81b26ed
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Wed Dec 9 17:16:41 2015 -0800
Make a new swift client prior to each image upload
Since swift clients do not support keystone sessions any client that
exists for a period of time runs the risk of having an expired token and
the OpenStackCloud object will never recreate it to reauth. Work around
this by making a new client whenever we attempt image uploads to swift.
There are other potential ways to address this. We could pass the auth
info into swift_client.get_capabilities() so that swift will reauth on
its own if it needs to. We could just always make a new swiftclient for
every swiftclient operation. We could add keystone session support to
swiftclient. This workaround is simple and uses existing APIs with shade
and os-c-c so starting with it.
Change-Id: Ib35dd49627bc2209060848e719e3cec40dbb4f2a
commit 47d2472df849d16c6e6c998e4f7dbee35a99ab76
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Dec 9 16:29:19 2015 -0500
Improve test coverage: volume attach/detach API
Add missing tests for attaching and detaching volumes to and from
servers.
Change-Id: I0fa9f9b0190cbd31d4c9b0cc6422c2f876510f77
commit f4237a809cccbbffce2233b1f283b36a9ebb75c1
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Dec 9 15:42:20 2015 -0500
Add ceilometer constructor to known constructors
In porting ospurge to use get_legacy_client, it became clear that
the ceilometer client constructor was missing. Add it.
Change-Id: I1102105b78574378c4f11064e21245b08513247b
commit d38af94bed473595155852f499c6aa56c5a33649
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Dec 8 15:18:27 2015 -0500
Bug fix: Allow name update for domains
We were not passing the 'name' argument through to the client for
updating a domain. Fix that and add tests to verify it is passed.
Also add missing domain API unit tests.
Change-Id: I62a7d6de0a4890ca9f58aaa3de5090e395baf850
commit 4c8cfe4b18bb17704d4e49af95a80d5ed04d5958
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Dec 8 14:32:54 2015 -0500
Improve test coverage: network delete API
Add missing unit tests for delete_network() API method.
Change-Id: I75ab31ddeb731d192a0266712bfb95c5f21c8acb
commit d7e616780b3768d8674875f0e40e09dc91b62951
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Dec 8 12:25:06 2015 -0500
Bug fix: Fix pass thru filtering in list_networks
The filters for list_networks() was not being passed through
to the neutron client. Actually pass the arguments and add missing
unit and functional tests to verify the behavior.
Change-Id: I653ed4c4fcbab6f36bf03cc68ffe862b6bfcd6eb
commit c47ec154578e505eba9c81a8c90ef82703c697af
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 8 13:06:56 2015 -0500
Consider 'in-use' a non-pending volume for caching
We don't cache volume list if one of the volumes is in pending state, as
otherwise we'd miss the cloud-side cache invalidation. However, active
volumes that are attached are in state "in-use" - so basically if you
had one active volume, the cache would never cache.
Change-Id: I03cbc1b814e4a5829936a22751ee81d52b83fb2e
commit 8696fbdd765cf5a9767bfb9267499c159f30b853
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Dec 8 11:07:48 2015 -0500
Improve test coverage: private extension API
Add tests for querying for Nova extensions with our
private API methods.
Change-Id: If7ab721222c0643a320a067ee4d7f8b512b83eff
commit f0440f80b766b9da74ef619a8c26757e511a6ad6
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Dec 8 10:35:41 2015 -0500
Improve test coverage: hypervisor list
The existing test for list_hypervisors() did not go deep enough
into the call stack to test the actual underlying nova client call.
Change-Id: I1d4cd9bc9424dfed6554794fa7a80db74cdac8a3
commit 83159ae486aa8a526655d68ef36b16d033de9089
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 4 11:43:07 2015 -0500
Use reno for release notes
The OpenStack Release team has created a great release notes management
tool that integrates with Sphinx. Start using it. For reference on how
to use it, see http://docs.openstack.org/developer/reno/
Change-Id: I57692d720174fedb68ab2f52d5a4c496a6d993b2
commit d0c70cc96279d2bf24f30a501b9bf572e40f8e7a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 22 10:55:46 2015 -0500
Add support for generalized per-region settings
Internap creates a public and a private network for each customer for
each region on region activation. This means there is a per-region
external network that the user may want to specify. Also, conoha has
per-region auth-urls. Per-region config is still
overridden by argparse or kwargs values.
Change-Id: Ie2f3d2ca3ccbe7e3dd674983136b42c323544997
commit 1221ea7fca67c22c455b4aeae1e09c9ad7e928a7
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 4 13:19:19 2015 -0500
Fix a README typo - hepler is not actually a thing
Change-Id: Ie8c267e75171b88bd3a1a3a684e85869e75843d7
commit 8eced67abe20160fc3f20a7c76f01baae2dd1956
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 3 13:28:00 2015 -0600
Make client constructor optional
Turns out we know the mapping of service name to constsructor, so we can
try the import for the user without actually importing. Keep the
argument though, because this method should be usable by just about any
random openstack client lib. Also, because backwards compat.
Change-Id: I7e9672e3bf61b8b7b92d55903f4596382f18b515
commit b90f53bbf45c67fd2139b3f75c8f25bff0d3cfeb
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Dec 6 21:49:29 2015 -0500
Updated README to clarify legacy client usage
Also, update it to use code-block - which makes things look much nicer.
Change-Id: I930ab63a5d159cf4cea27b4e2c4d6fd933de04fc
commit 5beaeef2c3140f84b2e5a57a789460d4db9ff766
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 3 11:26:12 2015 -0600
Add simple helper function for client construction
Often times you don't want to take advantage of all the flexibility, you
simple want the basic works-like-it-should thing. Add a warpper around
get_legacy_client to do tht one thing.
Change-Id: I086dc4a8e762d4e8e56e01cabe2386577f2ceec8
commit ed2f34b06a7d581fb5fdd9811e3f8a7f748a2ce4
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Nov 4 09:22:17 2015 -0500
Add method for registering argparse options
keystoneauth knows about a bunch of argparse options that users
from a command line will want. We do a good job of processing them
once they've been collected, but an os-client-config user doesn't
have a great way to make sure that they register all of the options,
especially when once considers that you really want to peek at the
args to see which auth plugin has been selected so that the right
arguments can be registered and displayed.
Depends-On: Ifea90b981044009c3642b268dd639a703df1ef05
Change-Id: Ic196f65f89b3ccf92ebec39564f5eaefe8a4ae4b
commit 6aecb87e7f2cb2c031bf9c89564ea0b46d387c79
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Dec 6 10:35:08 2015 -0500
Update vexxhost to Identity v3
There is a discovery URL for vexxhost for keystone v3. Also, there is a
new vexxhost domain for it. Also, vexxhost has DNS running designate v1.
And make the region list a list of one region, because there is a second
region coming soon.
Change-Id: Ie72c19976646f41c713124659e69725df59e1580
commit 99602b51835b6077aaba1601cc90660a0eda1fc1
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Dec 4 12:06:46 2015 -0500
Improve test coverage: list_router_interfaces API
Change-Id: I559e28d550a617ac759d1c7a108d3f09a4c6f75b
commit 9922cfbb3bdab398b444ae9ebbdd2892508ef4df
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 3 18:12:32 2015 -0500
Change the client imports to stop shadowing
Because sometimes the easter bunny wants to kill you, we have been
importing the client library contructor modules with a name that is
identical to the proprety we set on the class to provide the client
object. That is bad practice in any circumstance.
Since we only use those things in one and only one place, don't bother
coming up with a better alias for them - just import the module path
itself directly. Explcit good.
Change-Id: Ib0d7e616df1304277b4b9936a64793bcba8787e3
commit 833f54929b95e482bc10bf6e7f0936c8323e6c8c
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 3 18:00:33 2015 -0500
Use non-versioned cinderclient constructor
For some reason, we use the v1 constructor class rather than the
one that passes an arg.
Change-Id: I387255e09a6e5643022d7e6a9075bc24c8d61cac
commit ca1409effa18bebf3a1754d3603139f4ec6ce24c
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Dec 4 09:21:25 2015 -0500
Improve test coverage: server secgroup API
Change-Id: I4556128548dec0bfed141db4a22e35e954a46f45
commit a5f1850cbecb62d0c26940aa49c82ccd7409a087
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Dec 3 14:27:06 2015 -0500
Improve test coverage: container API
Add missing tests for creating, deleting, and updating swift
containers, and getting/setting access information.
Change-Id: I80fd73d7ba5171715d148ce7a1693f94c5b3b40a
commit eea460d5917a1536025d66ce3e2b3f9094d46e7c
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Dec 3 07:34:23 2015 -0800
Make sure that cloud always has a name
If we don't ask for a cloud, and we fall through to the envvars cloud or
the defaults cloud, the cloud that is returned winds up not being named
- even though we know what cloud it is. Set the name of the cloud we're
working with.
This is important for the next patch, where we need to peek at the
config to get some default values, but in a fallthrough case we do not
know which cloud to request.
Change-Id: Ie56e490d4384f2d680450bc956e4b7b5b8099f0e
commit f16ec0527ac1ebc8fc96486029fee7eaaf45db46
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Dec 2 14:08:41 2015 -0500
Improve test coverage: project API
Add tests for creating/deleting/updating projects in keystone
version 2 and 3.
Change-Id: I0ce7e122f40dfdcdd4b885e3c1be02ad9306e8b1
commit 0e6085fe66a5e529d64f670ec98b024cb649c5f5
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Dec 2 12:55:40 2015 -0500
Improve test coverage: user API
Add tests for creating users (keystone v2 and v3) and deleting users.
Change-Id: I20dc1ab329797c49a8144ee0b8130c03fe749d29
commit dcdb20d0f5ec0e9a3409c0d6f14d138f042129c9
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Dec 2 06:07:38 2015 -0800
Provide a better comment for the object short-circuit
A previous commit was landed over a -1 from a core reviewer that was
concerned about the terse and flippant commit message that accompanied
the commit. The substance of that objection was that there was no good
explanation for why the change was made. Indeed, that why is likely
useful for people looking at the code too, so add a more complete
comment on the code in question.
Change-Id: I1ff777393502edf4ef3ed595e47bfcf73be0e5e8
commit 1700e197c1ee0a16a1b78365e621b71a101d17d8
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Dec 1 17:53:44 2015 -0600
Remove cinderclient version pin
We had put this in because of the v2 version negotiation breaking public
clouds. That has since been fixed, and the pin here causes conflicts
with python-openstackclient.
Change-Id: I9ee2d9bfad36160ba41f65dcd657cbbca9f26050
commit 07ac77ca765df2f9cf46b0210d40ef2f96fe5586
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 29 10:41:30 2015 -0500
Add functional tests for boot from volume
Test both that we can boot from volume from a pre-existing image
with and without auto-termination. Also that manually making the volume
from the image and then booting from it also works.
Also, add a cache invalidation that testing showed to be an issue.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: Ia0f5801c17edacf8cce67c7594657e7ae41e0f18
commit 026a17c9eb9d8ebad8c56f8d1b7946bd4694519e
Author: Jamie Lennox <jamielennox at gmail.com>
Date: Wed Dec 2 11:05:29 2015 +0800
Remove optional keystoneauth1 imports
keystoneauth1 is now a hard dependency of os-client-config so there is
no way that this should not be importable.
Change-Id: I20901623e8b29f50d7ab1ed956472a4b1eda51bf
commit 372edf44efd7e028890e4623a950052a606bb123
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 29 10:03:11 2015 -0500
Enable running tests against RAX and IBM
Rackspace requires performance flavors be used for boot from volume. IBM
does not have Ubuntu or Cirros images in the cloud.
Change-Id: I95c15d92072311eb4aa0a4b7f551a95c4dc6e082
commit 2c753699ac9c3c4209d5f070855f4315ea468efa
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Nov 28 11:18:29 2015 -0500
Don't double-print exception subjects
We're creating an error message string that contains the shade message
and the underlying message AND we're passing the underlying message in
so that we append it as part of the Inner Exception string. So we wind
up with something like:
Error in creating volume: Invalid input received: 'size' parameter
must be between 75 and 1024 (HTTP 400) (Request-ID:
req-ae3f3489-997b-4038-8c9f-efbe7dd73a70) (Inner Exception: Invalid
input received: 'size' parameter must be between 75 and 1024)
Which is a bit insane. With this change, the above becomes:
Error in creating volume (Inner Exception: Invalid input received:
'size' parameter must be between 75 and 1024 (HTTP 400) (Request-ID:
req-d4da66b2-41eb-44c8-85f1-064454af5a1c))
And if the shade_exceptions context manager is invoked with no message,
the output will be:
Invalid input received: 'size' parameter must be between 75 and 1024
(HTTP 400) (Request-ID: req-d4da66b2-41eb-44c8-85f1-064454af5a1c))
Change-Id: I6bd70b70585722d2266ef08496b6860aeeab1824
commit 0d5e7b561ea4e0404157cabbcd1e6b56d633c079
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Nov 28 10:55:01 2015 -0500
Accept objects in name_or_id parameter
Let's not tell anybody about it, but if someone passes us an object
in the name_or_id slot, let's roll with it.
Change-Id: I70ea91c948c0f82185861baa22830a4954359b6f
commit bd2f1cbc6ff1195e08c84e22fe3c209d349c5649
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Nov 28 12:20:09 2015 -0500
Normalize volume objects
Cinder v1 uses "display_name" and "display_description". Cinder v2
users "name" and "description". Normalize the volume objects so that
both values work as both input and output. Having done this, the
name_key param to _filter_list is no longer needed, since it was there
to work around cinder wanting display name. In the future, if we have
another such thing (like heat) we should likely just normalize the dict
to include a name param rather than making _filter_list carry the
weight - since humans will want to get the name of the objects they work
with.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: Ia43815fd3d25ff7308e91489645bd3c459072359
commit 87309adcfc6c950c08146fe209d5903571913120
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Nov 28 10:18:18 2015 -0500
Fix argument sequences for boot from volume
When booting from volume, image always needs to equal None.
Additionally, we updated the argument structure to be
block_device_mapping_v2 but were still passing as just
block_device_mapping in one place.
Change-Id: Ia22792920f392d1accb5a96cf2b36f22aee75785
commit 02ac37fe8f58b6a969b16eb9b1b3039512ebbe41
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Nov 25 11:30:15 2015 -0500
Make delete_server() return True/False
To be consistent with our other delete API methods, make delete_server()
return True if the delete succeeded, or False if the server was not
deleted because it was not found.
This also combines the functional testing of create_server() and
delete_server() so that tests are more efficient by eliminating an
extra instance creation. This is in anticipation of adding more
tests that will create server instances and there are only so
many resources available in the test environment.
Change-Id: If1b1a3886df60fb064682caa23113f91b78a4090
commit cc92c92870be48d6eae57869c4989125fe2eb8e4
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Wed Nov 25 09:37:45 2015 -0800
Add BHS1 to OVH
Change-Id: I0ef175edccbbc3e24803d02ab6809cfe1a68e0e8
commit e1646ac1fd6663e8dd9c0d5d0c429cf932c899e8
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Nov 25 12:21:17 2015 -0500
Adjust conditions when enable_snat is specified
Some clouds barf about policy if the enable_snat attribute is
sent during router creation. Only send it if it is different
from the default (i.e., only when False).
This is a fix for:
https://github.com/ansible/ansible-modules-core/issues/2474
Change-Id: Id656029b9cf593fcb8e0771fa19c567126c565ee
commit c01913dd75d8b6fa551cee8f7cdc913a89a11536
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Nov 25 10:53:45 2015 -0500
Only log errors in exceptions on demand
Rather than error logging all of them, allow the user a mechanism
to error log the ones they care about. Also make inner_exception
public so that people can make their own choices.
Change-Id: I15973f52d3d68c24ac8ef7643a53ff0118e892cf
commit 9f43f8a793652bf4a4e7e62f06eb3c8103173778
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Nov 24 17:07:45 2015 -0500
Fix resource leak in test_compute
Depending on the time between the create_server() and
delete_server() calls, it's possible the delete does not
actually find the server we want to delete, so we leave
instances hanging around after our tests. Fix this by waiting
for the servers with wait=True to create_server().
Change-Id: I908fdb94dcf5e410597a7cd3ecc6c962f2bfbce3
commit 596a5d8b60bd0a853a6c42cf314efc7411a0e414
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Nov 24 16:44:34 2015 -0500
Clean up compute functional tests
Although the server names being created were actually unique
across tests, this change will make the test_compute.py code
more consistent with other functional test code by creating
a server name prefix string with getUniqueString(). This also
opens the door for use across new tests.
It also changes the server cleanup code to just call
delete_server() with the name of the instance for the test.
Since tests can run in parallel, we don't want to delete an
instance with a similar name out from under some other test.
Change-Id: I1b0dc3f2759f77b7d420e45b3a7a2730868e6eb0
commit 0ea32e7dc011373c61e4d79d710a09e4ae404a9e
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 15 11:34:41 2015 -0500
Handle cinder v2
It turns out that cinder v2 has a service_type of volumev2 because
nobody thought of the children. But that's ok - we actually care about
user experience around here. SO - take the sane approach and return
service_type = volumev2 if service_type == volume and volume_api_version
== 2. This way user code can all safely say "please give me the endpoint
for the volume service" and can use the api_version parameter to specify
which version they want.
We should all possess righteous indignation about this patch.
Change-Id: I15fc5ddd92345d78b6928f11a8d77cecd0427f7d
commit 014db1730c26d367dc0dc13ad75c4076ff0eb571
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Nov 24 16:33:35 2015 -0500
Stop using nova client in test_compute
The test_compute functional test code was using nova client
directly instead of the shade API. Let's avoid that.
Change-Id: Iac5650a036f006cf3d30ff44086d348cba7c303f
commit 4c1418f7b415beac59a2d9d170a5ed420f81be06
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 24 11:15:39 2015 -0500
Retry API calls if they get a Retryable failure
keystoneauth1 Session throws exceptions based on
RetriableConnectionFailure when the operation can be sanely retried.
Since we have commuication encapsulated, there is no reason to not
just retry.
We should maybe in the future allow for configuration of number of
times to retry - but let's start with one and go from there.
Change-Id: Iacc6ac3d7eecbccfa7602fefb238602cc8a66cc4
commit 9f23d6ef6718e77bbded25fe7f84b0a167adc5fd
Author: Alberto Gireud <agireud at us.ibm.com>
Date: Mon Nov 23 16:25:33 2015 -0600
Fix call to shade_exceptions in update_project
Change-Id: Ib92b68f719895c32a464f05a97ddd48ac267a46a
commit 7698842adbb31d5c5baab97d109768347c66aa5d
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Nov 23 16:30:54 2015 -0500
Add test for os_volume Ansible module
Change-Id: I2c0b537535f86d1057ec84b7d887ed0d9b4ecfc0
commit 31cdee11dd35040b051283f783e607f9ea51d710
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Nov 23 11:14:24 2015 -0500
Fix for min_disk/min_ram in create_image API
If min_disk or min_ram are passed in as keyword arguments, the
values must be integers or glance hates us even more than usual.
Change-Id: I1ed04174796e12258055840e9184aa9f8bcf3ea8
commit 4c7583b33a64bb9fcc0794b4ff83f57486c7f374
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Nov 23 09:33:39 2015 -0500
Add test for os_image Ansible module
Change-Id: I80c983e41a08df43f39376868290cf78e0085771
commit b17bbcdef9acfaf6e2b47671c9982d3378045961
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 22 13:16:44 2015 -0500
Add support for secure.yaml file for auth info
Almost nothing in clouds.yaml is secret, but the file has to be treated
as if it were because of the passwords or other secrets contained in it.
This makes it difficult to put clouds.yaml into a public or broadly
accessible config repository. Add support for having a second optional
file, secure.yaml, which can contain any value you can put in
clouds.yaml and which will be overlayed on top of clouds.yaml values.
Most people probably do not need this, but for folks with complex cloud
configs with teams of people working on them, this reduces the amount of
things that have to be managed by the privileged system.
Change-Id: I631d826588b0a0b1f36244caa7982dd42d9eb498
commit 05bd92c8a180de7404a145e9ddd88c1bdb05d40f
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Sat Nov 21 16:30:22 2015 -0500
Fix warnings.filterwarnings call
We need to use a keyword argument for the category since it is
not the second parameter to filterwarnings().
Change-Id: I0f393a742468c150e0debbc3453cf38ebc2fb58e
commit 630ce6704befd0caa5e1f25f69ceb5a8224c117c
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Nov 18 17:10:28 2015 -0500
boot-from-volume and network params for server create
Two of the more complex arguments for server creation are booting from
volume and attaching to specific networks. It's possible to add some
syntactic sugage to the constructor to make this work in a less insane
way.
Change-Id: Icdfd15c0c6ada79cee0fb15a31e1cb727869d215
commit 2cc62575e7c23c581eab7a228a7beb0abd4a79ad
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Nov 19 12:40:28 2015 -0500
Do not send 'router:external' unless it is set
There are some setups where sending 'router:external' can
produce a Forbidden error. For an example, see:
https://github.com/ansible/ansible-modules-core/issues/2435
Let's not send it unless it is explicitly set to True.
Change-Id: I59c43bf3eab09ed620cd1e8e5e445037767eb8bb
commit c6c1b7326b492f20e758e9f5f4df58bd820d9339
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Nov 19 15:36:27 2015 -0500
Add test for os_port Ansible module
Change-Id: I0ae6ada61fe7d409b6bb45f559cfee4146585efc
commit 9d7229f65b9862e27c58490921b04d7d4c388e02
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Nov 20 10:10:43 2015 -0500
Allow specifying cloud name to ansible tests
It would be *really* cool and useful and stuff to be able to run
the Ansible playbooks against more than just devstack. This change
allows that. Now you can send the -c option to the tox command line:
tox -e ansible -- -c coolcloud
Or, specific tests:
tox -e ansible -- -c coolcloud auth network
Going against devstack is still:
tox -e ansible
tox -e ansible auth network
Change-Id: I666a09aee3d283865c3813d67edfb75123057c22
commit 27154a9c14ea7c3fc03147043f8a3093b14a1a1f
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Nov 20 09:31:04 2015 -0500
Fix a 60 second unit test
The no-addresses test was waiting for delete timeout and was therefore
sticking around for 60 seconds for a sideeffect we did not care about.
Add a second get return value so that the get in delete returns without
a wait-poll loop. Also, set the list server interval to 0 so that we
done have a bunch of tests with a single 6 second wait.
Change-Id: Ia62ace386a183892f9446aee4e9d4cbbee528dec
commit 23b49f840df9c19b6ae48118187af2b3c13519d9
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 19 16:43:22 2015 -0500
Make sure timeouts are floats
timeouts passed to iterate_timeout need to be int or float. If something
goes south and a timeout gets converted to a string, this blows up.
Luckily, python is good at converting string floats to real floats.
Change-Id: I3489532f0e43e1c289ecb50c77dd80e47ac65ab2
commit e9d4223cf9a15695c890bd3981237173977d986b
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 19 17:03:02 2015 -0500
Remove default values from innner method
There are node codepaths where we want to not pass in values to
_upload_image_task - so remove the default values because they're
confusing.
Change-Id: I3575e9d7f31548aa99ef58bca15dfc8042155855
commit c84179154d90247c784ddaf76cbd84eeaeaf3cca
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Nov 20 08:54:53 2015 -0500
Bump os-client-config requirement
The 1.11.0 release of os-client-config contains a bugfix for the
swift api timeout paramter issue. Be explicit that this version
of os-client-config is required for proper operation of shade.
The 1.11.1 release contains a bugfix for the 1.11.0 release.
Change-Id: Iabcb62593143473a7459ad01122a734d4230ab77
commit 9c59002116e755d9ac7f14b11c3774c6848d4a3c
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Nov 20 12:10:16 2015 -0500
Fix lack of parenthesis around boolean logic
The legacy envvar prefix support broke a workaround for use of OS_
envvars in test cases. This is only currently a problem for shade functional
tests, but it IS a bug.
Change-Id: Ia0cbb4e2ea7ce6eeeea36533e057bd53a830d44c
commit 10e96bcb7bed2ca8eaf0185b46dbb882bd8b2b7c
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 19 17:15:08 2015 -0500
Only pass timeout to swift if we have a value
swiftclient does not have the built-in None detection that keystoneauth
has, so we have to do it ourselves.
Change-Id: I3fcf60dd2f3350045b824899ac48b02809452a4b
commit ef80430afc83b89b560dbcf4b48ac3a19eacd86a
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Nov 18 15:10:37 2015 -0500
Add test for os_user_group Ansible module
NOTE: This won't work yet until this PR is merged:
https://github.com/ansible/ansible-modules-core/pull/2492
Change-Id: I4e346e5da958c7bada78901405ca8d2887bdc023
commit 72190ec19110e35f834b0a226d0c2ac872eccb79
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Nov 18 09:45:38 2015 -0500
Add user group assignment API
Add methods for adding and removing users to/from groups and
checking for membership.
This also updates the task_manager code to look for more types
that we don't want to munchify because one of the new keystone
API methods being called returned a bool value.
This replaces Ida3cff3acdc1406c5e6d61500766a292565191fc
Change-Id: Ib34c116010312ed26b042621fcf2e7b5b774424f
commit 0189dd248a1f1f1672a3f37dd518533372fe4fc9
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Nov 16 11:40:10 2015 -0500
Add test for os_user Ansible module
This also re-orders the role names in run.yml to be in
alphabetical order.
Change-Id: Ia6c3a9b5f1cb2e9394f5a1070f6716da0e478e61
commit 4834756fd14f68cab89d630e0b9fbaa277123459
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Nov 16 10:30:26 2015 -0500
Add test for os_nova_flavor Ansible module
Change-Id: I23603d664cc4885f1900d2a36bc1647ff96f0cfa
commit 21438f412f686aa511193db511f68ef4983940c9
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Nov 16 10:14:03 2015 -0500
Stop using uuid in functional tests
Some functional tests were using the uuid library for unique
names. The testing framework provides us a method, getUniqueString(),
for just such a thing, so we should use that instead.
Change-Id: I08b8ef91b9cd467ade9fac1a73a5bd8976e207ed
commit 26412cbe83fa84c756ce635c6660282984c4fe81
Author: Caleb Boylan <calebboylan at gmail.com>
Date: Tue Nov 10 14:12:10 2015 -0800
Make functional object tests actually run
Object tests were being skipped over because we were checking for the
wrong service name. Also fixes list_containers() method.
Change-Id: Ia0b71cefb327eaaf5f641067d0c80b91c93e6c45
commit 0aefe152af40436f532e3b37ff8ab602a0af6e6f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Nov 14 12:12:39 2015 -0500
Fix name of the object-store api key
There is only one value for this, and it's not consumed in the process
of making a swift client, so the chances that anyone set it
to something else are pretty much nil. However, for completeness we
should make it the right name, as "object-store" is the service key
name for swift, not "object".
Change-Id: I395c1c44a2f50996b61dff22e07149b8dd13eda9
commit 3e76af913ae4a29ba1e4dd9fb4cf3b5ca109f79c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Nov 14 12:10:09 2015 -0500
Refactor per-service key making
The key for swift is object-store, but the key in the config dict
would be object_store_api_version, so the key concatenation would
not work. In fixing that, refactor out the creation of the keys so
that the concatenation and transformation needed always happens.
Change-Id: Ic095912bfc84f13ef8b11f312303a517289e0441
commit e5715de5f09b54da8ca181cf86d57454591fcae9
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Nov 13 16:43:23 2015 -0500
Add Ansible object role
Add an Ansible role to test os_object.
Change-Id: I86d451a9c78014aa4a0f29f7edbb9b9c52b19f4e
commit 74477b6d51f263a1b8966e82f1a51e2ec8c948d1
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Nov 13 16:00:22 2015 -0500
Fix for create_object
The swiftclient upload() API call returns a generator. We were
trashing this generator by trying to Munch-ify it. This caused
create_object() to not be happy.
Change-Id: I8d391f361778328cea9920e923584988c8048946
commit f5e1b859c8547865deb0ef8241c51ea4a00a7f97
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 12 09:43:05 2015 -0500
Add support for legacy envvar prefixes
In trying to move the legacy clients to do their config via
os-client-config, many of them had prefixes like NOVA_ or GLANCE_
in their shells. It's pretty easy to support optionally passing those
in so that the transition to OCC is less of a change and we can
treat the deprecation cycle of those features as a different topic.
Change-Id: Ic819c0790989fa034db03d83535ee7b70aaacc3a
commit b2bc8c55ff004c202e1ac252d44dd1c8e7ffad0c
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 10 10:12:55 2015 -0500
Four minor fixes that make debugging better
While running a script against all of the existing clouds, there were
a few issues that popped up. Most notably:
- get_openstack_vars would bomb out if your cloud didn't have security
groups (rax)
- nova boot has a "this is why your boot failed" field that we did not
pass on to the user
- TaskManager debug output showed the cloud but not the region, which is
confusing when you have clouds with more than one region
- The novaclient error message for when you pass in the wrong datatype
for nics is "str has no attribute get" which does not tell you that
what you did was pass in a dict when you were supposed to have passed
in a list of dicts. The problem is easy to trap for, and in more
extreme cases to provide a better error message for.
Change-Id: Ie4f7c68d0ff95e020042189937ce452e596802cf
commit 633441fbc7fe7d041695c02e60077fcd631824e9
Author: matthew wagoner <zxkuqyb at gmail.com>
Date: Thu Nov 12 12:18:30 2015 -0500
Add new context manager for shade exceptions, final.
This commit completes the work of
change Ic39b6e3efc33b7a30f298a3daca6d6c16ab4ca89
Shade has developed a common pattern within many of the API
methods where we try to avoid re-wrapping OpenStackClientException
exceptions by catching them and simply re-raising. We can eliminate
this duplicate exception handling with a context manager.
Change-Id: If236656146ecfa5a2b3eb3379efc6869829bdaa7
commit 1ac8530c25e439ae97f088930b1cea1b5f260f36
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Nov 12 15:59:45 2015 -0500
Add ability to selectively run ansible tests
Now that the Ansible module tests can be run via tox, it
might be nice to allow developers the ability to selectively
run individual module tests (accomplished via Ansible tags) from
tox.
Change-Id: I38a3040a7157a9bcf1cda76e26ab11577e9f80a6
commit cb0e9130f5acf3c703070d4c33cf159de17020fe
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Nov 9 11:24:53 2015 -0500
Add Ansible testing infrastructure
The keypair test needed adjusting so that it would work in
the gating environment, and anywhere an SSH key may not be
available.
Change-Id: Ic9bf41c2b4041911d05217ad3748e097326bac3a
commit 506d6e8ffefdda4d31e1b33686008e9e610beca2
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Nov 10 17:16:02 2015 -0500
Fix JSON schema
We incorrectly refered to things with _api_ in the name.
Change-Id: I9130ae0f72484957d0a8943eceabcd6a6bc21c91
commit 105ba778a2cacc3e46ae2fb929ac9450623ae5ec
Author: matthew wagoner <zxkuqyb at gmail.com>
Date: Mon Nov 9 11:55:13 2015 -0500
Add new context manager for shade exceptions, cont. again
This commit continues the work of
change Ic39b6e3efc33b7a30f298a3daca6d6c16ab4ca89
Shade has developed a common pattern within many of the API
methods where we try to avoid re-wrapping OpenStackClientException
exceptions by catching them and simply re-raising. We can eliminate
this duplicate exception handling with a context manager.
Change-Id: Ic714673e842847c987166fe4a7bf43965dd4d8a9
commit ef0ccaaef4e31a1fbbfef60a17ff81d24865edbb
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 9 15:50:28 2015 -0500
Pull server list cache setting via API
To ensure that we get numbers and not strings from OCC for cache
settings, we need to use the actual API for that, not direct data
introspection.
Change-Id: I457c624ebfcda6578417fb977ea3742a63507344
commit a71db08bc71308bb54ba7a715048767242434d0f
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 9 10:36:31 2015 -0500
Plumb fixed_address through add_ips_to_server
Specifying a fixed_address if you know it is somethig that the lower
level functions understand, but was left out of the argument list
for add_ips_to_server. Plumb it through.
Change-Id: Iba3456f0f45e5b0230c752a50fc3d3b29e8ade54
commit 397da54db11b5a5506c24dc9af60a34665bbd953
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 9 09:43:09 2015 -0500
Workaround a dispute between osc and neutronclient
python-openstackclient wants network_api_version to be 2. neutronclient
wants it to be 2.0. There is a patch to OSC to make it understand both,
but in the mean time, let's unbreak people.
Change-Id: I4d8f187d1302c5bcfa246e017e6c6d8af9c3f733
commit c90de1f691a27d4f434d948f1b77db02c23162a4
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 9 09:07:06 2015 -0500
Workaround for int value with verbose_level
python-openstackclient uses an int value for verbose level which the
stringification patch broke. As a quick fix, special case verbose_level,
as fixing it properly might take more than 5 minutes.
Change-Id: Ie12a40d3d3e400b3ec2103d7a58c4902fb10fc2d
Closes-Bug: #1513919
commit ce7d716ffc5867d6cb7f73cbca6bbc4470499fb9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 8 18:24:24 2015 -0500
Remove unneeded workaround for ksc
It turns out keystoneclient can take string input and does the
same transform we're doing here, it's just not documented. Remove the
workaround on our side as it's unneccesary.
Change-Id: Ie46945f7d96e3d65004cd19823b3be989e1d18a7
commit 59ad0ed00bfa485b5f0d24f5edb4e5b20cc7603a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 8 18:21:46 2015 -0500
Add default API version for magnum service
shade is adding magnum support, so we should probably grow a default
value for the container_api_version.
Change-Id: I2551f2921f10ba109ccb52301cc8ad23c5f81c46
commit f7ca875777e5f33387b84934cd5951c221e24b95
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 1 19:30:41 2015 -0500
Let os-client-config handle session creation
More things than shade need consistent Session creation, so we moved
a copy of the shade code into os-client-config to allow python-*client
to consume the same logic. Now that it's there, consume it in shade and
remove the need for shade to know/duplicate the logic.
Depends-On: Ide4c613cc143a0b8a3f36130989b57e808b2530f
Change-Id: I86cdb3cdd2710ef302520184ccfcb1605384f706
commit 9df40b00dcd8f9f99e9ada3ab2156c471fb59b26
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 5 09:46:50 2015 -0500
Remove designate support
It was broken, thus it was impossible that anyone was actually using it.
We do not have a plan for v1/v2 compat support yet, and it's a hard one.
SO - rather than leaving a broken thing in the tree which was not
possible to use, or fixing it and then having a half-baked thing which
people might actually start using, pull it out pending someone stepping
up and caring about it.
Change-Id: I390494fee8c6c7fb5ddde2ce47e7eb598ad5e08b
commit ae2bdeda71970b1478ad2aa9eee48987b2cf7199
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Sat Nov 7 12:00:51 2015 -0500
Remove test reference to api_versions
API version information comes from occ now. Update the test
to get the version from the correct location. This removes the
last reference to the old api_versions attribute after change
Ifccf7b04168ca45a91a40ace7f33346da893b8d9 merges.
This also makes sure that the version calls actually happen
with the correct 'identity' parameter.
Change-Id: I9b918fa402579fc60319644b1434841fd71ffbcf
commit e557b6e4dbc0cf43610dc2a99a55cd80e8d8a3a4
Author: Alberto Gireud <agireud at us.ibm.com>
Date: Sat Nov 7 09:05:07 2015 -0600
Update dated project methods
Change-Id: Ifccf7b04168ca45a91a40ace7f33346da893b8d9
commit 4a061caf5d0ef655bbcde33d317a9fe14a806c50
Author: Alberto Gireud <agireud at us.ibm.com>
Date: Fri Nov 6 16:40:17 2015 -0600
Fix incorrect variable name
Change-Id: I16c4b7394b943fa988c51c315f5c203fea938788
commit 89dd35301c22c46f3cc3ba4f4f07f6f047383429
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Nov 6 16:10:27 2015 -0500
Add CRUD methods for keystone groups
This replaces review Ia25b76c38c3463c963a5ac2ae1c81fcd33dc591b.
Change-Id: I9a6a28994d076f032fe27624cdb3b0fbe248acef
Co-Authored-By: Monty Taylor <mordred at inaugust.com>
commit 13b6fbabeb27a346c91a9fb3a1fb86c7adbd2779
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Nov 6 09:04:12 2015 -0500
Work around a bug in keystoneclient constructor
keystoneclient bug #1513839 means that even when you proerly pass
a Session (like we do) to the discovery constructor (what you'd be
calling if you were passing "pass_version_arg = True") ksc fails
because you didn't send a URL.
We _HAVE_ an appropriate URL that we can pull from the Session. So
until ksc learns how to pull the URL from the Session itself, do it
for them.
Change-Id: I38eb4cfa750fab5196b86989c2cd498d41bf37ac
commit 5b993208b97a459429bcb5f6fb852372c576cdaf
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Nov 6 06:39:34 2015 -0500
Return cache settings as numbers not strings
While we're at it, let's also put in some tests to ensure that we're
processing data types properly.
Change-Id: I0442d234e8422a58738612b2da114f61cc9afc5c
commit 2339243e66b676325c84693e7f8199d476199203
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 5 17:00:33 2015 -0500
Add method to get a mounted session from config
Getting a session is great, but sometimes you need a thing called
an "adapter" which takes 5 parameters which are all already contained in
the config that you used to get the session.
Change-Id: Id4e418cd04ae81540d9898f7b2e959b974f355d2
commit 26c8ebd4b49acb8d12db2498d12f591e9955d528
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 31 10:24:10 2015 +0900
Bump ironicclient depend
ironicclient 0.10.0 drops the lxml requirement. Let's set the min in
shade to that so that we make sure people don't try to install lxml.
Change-Id: I942de581e15017de9706cabd2eb759eec578565e
Depends-On: I6f0e5d7f3d97a5fb6a948d653633b067dfe258f7
commit 3b43304c73f09d7e4f19b57de7e346ec1f3a171b
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Nov 5 15:44:34 2015 -0500
Make sure cache expiration time is an int
The latest os-client-config release, 1.10.0, makes sure that all
numerical values are strings. But we need to pass an int to the
cache configure stuff.
Change-Id: I5d5e42440afd58111daeab6a5f42aa9ae7ceddf4
commit b8874ffc98488500fd4b573f7fa6196d3997e84e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Nov 5 10:26:10 2015 -0500
Convert floats to string
We do it for int values, so floats should be covered, too.
Change-Id: I1b98f7887ad421596b3bfdf2f6ad871a7d7f6bb2
commit 10836aeb85b36d3ab02794762b7089a3ab6a4928
Author: matthew wagoner <zxkuqyb at gmail.com>
Date: Wed Nov 4 11:01:41 2015 -0500
Add new context manager for shade exceptions, cont.
This commit continues the work of
change Ic39b6e3efc33b7a30f298a3daca6d6c16ab4ca89
Shade has developed a common pattern within many of the API
methods where we try to avoid re-wrapping OpenStackClientException
exceptions by catching them and simply re-raising. We can eliminate
this duplicate exception handling with a context manager.
Change-Id: Ifd97181b33ed72bb9ad5b3da1e2b92a660e12a65
commit d373969b98cd1db9188085dc2cd0b7754c687ff6
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 5 02:12:40 2015 -0500
Don't assume pass_version_arg=False for network
Excitingly, one of the places where we hard-code a workaround for
a differently behaving client is not needed. The Client in neutron
that takes a version arg is in neutronclient.neutron.client. Also,
pass the version arg as positional when we pass it, as some of the
clients (neutron) require it, and all accept it.
Change-Id: Ifcbaab782173b95a678af0b2792a1194b198b687
commit 059d314ba44fd52f16436bf104b1a476df77bbdb
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 5 02:11:23 2015 -0500
Update network api version in defaults.json
neutronclient expects 2.0, not 2 - but we'd not noticed because all
of the consumption of client constructors were bypasing the version
arg for neutron. In a follow-up patch we'll fix that, but the
value in defaults.json is just straight wrong.
Change-Id: I684c4ef063193355c6cf936d4f18576db919762b
commit 588be0126307a6b6dd0582ea546c73f05f23b919
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Nov 5 02:55:50 2015 -0500
Dont turn bools into strings
It turns out that requests does not like that.
Change-Id: I206be8107f5cfaaa7dc7f34ab0b0764e0dc3fb0d
commit 1bf09410d191b872b975634f8cf3f8847865b546
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Nov 4 18:28:41 2015 -0500
Use requestsexceptions for urllib squelching
The code to deal with this properly is quite sharable and we should
not care. Use requestsexceptions from the Infra team to handle it.
Change-Id: Ie20a3e1b2d8d18a4a76b34219cf12510cb1cda98
Depends-On: I52249b6d2fe04c49a9f4ed139d7625c890309ca8
commit 2b4542814381144dc6ac2f1afc932420c2c6c8d6
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Tue Nov 3 09:33:40 2015 -0800
Use the requestsexceptions library
Change-Id: Idf277388a006ab0d0c6071f77bce3ca6879ee562
commit 93d8b79900435e2f3b1755963e4a465cb6d4cdbf
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 3 09:13:44 2015 -0500
Don't warn on configured insecure certs
If we have to connect to bogus certs and we know this and we've
configured 'verfiy=False' meaning that we've explicitly indicated
that we want to turn off cert verification, then spamming our logs
with warnings that the certs are invalid is a bit lame. We know. We're
not happy about it - but at least one of our providers has bad certs. We
wish we had the power to change it, but we don't. We already feel bad.
STOP YELLING AT US.
Change-Id: I08d816bcc1685fc9ed3bfcf2e3e8300859059903
commit ba3b20610f52b7c3f0e0c087f03caf5a23839500
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Nov 4 15:06:12 2015 -0500
Normalize domain data
Keystone will not return a description attribute if no description
was given when creating a domain. So let's normalize the data so
all the things are there that we may expect.
Change-Id: I0fd14d512554853d5a5a052e0517f47a509a35b2
commit 5e031a592ceecf0207ebb88e637e5dcb2faab275
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Nov 4 14:52:19 2015 -0500
Normalization methods should return Munch
For the 1.0 release, we settled on returning Munch objects
rather than plain dicts. However, we didn't arrange for that
in the place where we normalize the returned data.
Change-Id: I9eca96635ddfa012d6c5cff64162de1379f355ee
commit b4e7985d6a3a11e92cb51e463a547236bef59367
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Nov 4 12:36:26 2015 -0500
Fix keystone domain searching
Domain searches is a bit different in that it pushes down the
filtering to the keystone client. This is fine, except that it
didn't work as the filters were not actually passed.
This change passes the filters, and changes the search_domains()
API to accept a 'filters' parameter to be consistent with our other
search methods. It previously accepted only keyword parameters rather
than just a filter dict.
Change-Id: I61c8591493c5d10de38a6541a9859be2950d60a6
commit ac51f4459106c10b0564747f36635779d40fadac
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Nov 4 13:33:41 2015 -0500
Normalize int config values to string
We have no things that expect actual int values. It's easy to write
ints in yaml though - so normalize them to strings.
Change-Id: I58cfdda697da9b7e030f4165ef8e60f4e9d00b66
commit 1d3128d73b52559de9ca28fcb4ccfcea1609a962
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Nov 3 17:11:37 2015 -0500
Add new context manager for shade exceptions
Shade has developed a common pattern within many of the API
methods where we try to avoid re-wrapping OpenStackClientException
exceptions by catching them and simply re-raising. We can eliminate
this duplicate exception handling with a context manager.
Change-Id: Ic39b6e3efc33b7a30f298a3daca6d6c16ab4ca89
commit 234a2bf0685754a08d27e09187cdc54fdef04558
Author: Lars Kellogg-Stedman <lars at redhat.com>
Date: Fri Oct 30 19:33:32 2015 -0400
teach shade how to list_hypervisors
adds a list_hypervisors method to shade, along with a corresponding unit
test.
Change-Id: Ia7d8f7249356f28fdbad6c513adee4176615142f
commit 409134d4d013503fc2fdfd16cda8896e4499771e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Nov 3 15:12:50 2015 -0500
Update ansible router playbook
Change-Id: Iae2cb060f8600476fd7af2ff77e99263edd67362
commit 6d957b01e55637ad4e8ce69c31cf3b3f64881c57
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 3 10:42:53 2015 -0500
Disable spurious urllib warnings
Since we can return a keystoneauth1 Session correctly, disable the
stupid warnings that are evil and never should be emitted.
Change-Id: I128e4587ab07a20c7c5da745b12e4f5d0a3ee5a7
commit 335ed4a6944ad32759ad810aa6a4da599bc358fd
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 3 10:45:20 2015 -0500
Add logging module support
The _log.py module is from shade and is just basic logging support
that does not emit warnings if the consumer does not have logging
enabled.
Change-Id: Id4639763cf488eb7cd0c27904be055a7843e287f
commit a494b31b85cf320c891260e837a69867348eca78
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 26 10:31:15 2015 +0900
Add methods for getting Session and Client objects
These come originally from the shade library, but are helpful for
things like the client libs themselves. Once one has a CloudConfig,
there is really one and only one correct way to get both a session
and a Client.
Change-Id: I1b4d4321828864fddab85a127fbf63f4c8384ab9
commit 27678e5d948296986c31705c8405f569d2c06553
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 3 08:11:53 2015 -0500
Update conoha's vendor profile to include SJC
Turns out the lon region is not really a thing.
Change-Id: Ib315c301d5f8b589006a61d2a255a6b295b1b9a5
commit 796bfad22dae30e39f678c38fc9fba4f7f96032b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jun 6 09:40:03 2015 -0400
Use json for in-tree cloud data
In preparation for sharing the default and vendor data with other
projects, potentially even non-python ones, move the data into json
format, which is slighly less exciting to read, but has more widespread
standard library support. The user-facing config file will still be in
yaml format, because that's easier on the eyes and it's expected to be
read and edited by humans.
Continue to accept yaml everywhere, because an end user may have dropped
a yaml config file into a dir somewhere, and that's fine.
Change-Id: I269d31e61da433ac20abb39acdde0f9f9fe12837
commit 5dca987851d7ccb2e42b25e768be88be1797beaa
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 1 13:02:09 2015 +0900
Stop calling obj_to_dict everwhere
Now that Task objects just return the right thing, we can strip
a ton of calls.
Change-Id: I3aac80f83ba259a358534f1c4357c4631dbd3a9f
commit 586dbbb0a4d5d6b5a87e8ceea4cf4497f9452a64
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 24 03:59:01 2015 +0900
Always return a munch from Tasks
This should let us remove a ton of calls to obj_to_dict everywhere.
Change-Id: I627b0c05a43e313cc4ff045835a7eda50bab440a
commit b5b3fbaafa3556b55a63e2b45600f43f538defff
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 2 06:36:14 2015 -0500
Make raw-requests calls behave like client calls
NovaGetUrl returns a tuple of response/body, but everything else returns
the actual object. If we're going to make raw calls, we should handle
them in such a way that the rest of the code doesn't konw the
difference. This also means that we have the opportunity to look at
response codes and throw exceptions if they aren't 200.
Change-Id: I0bab5056b5ba234f5509b56a716ce426e6a2c604
commit b7ad03eadc52c3c234005b09295af8dff33eda8e
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Nov 3 08:47:52 2015 -0500
Minor logging improvements
While testing running an inventory on a clouds.yaml with 17 clouds,
errors popped up that were opaque. These are mainly just the things
I noticed doing that.
Change-Id: If3f0dc85b7a8d5a510f9f7b561f3c49edd817908
commit 48c0668b155232137cbdcf6537caca83cb870630
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 2 12:35:11 2015 -0500
Update auro to indicate move to neutron
Auro runs neutron now. Update the config and the docs to reflect that.
Change-Id: I4d2fd12b6f3d93f9e1d201b687145f1fe022e593
commit 5f2b64bd313b2d6f5578d824537836c45763e7a5
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 2 21:44:06 2015 -0500
Copy values in backwards_interface differently
There is the world's weirdest race condition in the unit test for this
on python 3.4.
Change-Id: Idee8320f03651964600ba0822edfff04f880ea4a
commit d68e819fd7395f87fafb6a52842d43559ae43425
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Nov 2 12:08:16 2015 -0500
Remove another extraneous get for create_server
The pattern of doing a get after a create is one we've been doing in
Infra for quite a while. However, if we're going to spin off a wait
loop, there is no need for this get, as the only thing we need in the
loop is the server id - which we already have. OTOH, if we're not going
to wait, this is still a useful get to do. Lucky for us, python has a
feature know as "if" which makes expressing this easy.
Change-Id: Ida354fb8fc772325a2fcf8e4ef1dcf3841176e2b
commit 7c5087d17bce239c10f6827c26ecb7b149f3d908
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 1 11:20:16 2015 +0900
Don't wrap wrapped exception in create_server
If we've wrapped the exception because of Auth things, we don't need
to re-wrap it - it's just confusing.
Change-Id: Ia1e45f4971f4b51f28538260d64f778aecaa6f3d
commit 0085effd4024fc8f48f7aa4e41853bcbb1675b4a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 1 11:03:17 2015 +0900
Skip an extra unneeded server get
When we're attaching a floating ip, the wait loop gets the most up to
date server dict as part of waiting. In that case, there is no need to
do an additional get. If we're NOT waiting, it's also pointless to do
a single get, as it's not guaranteed to have the updated info.
Change-Id: I84bc54ce32a7d5bf10078027fdb29fab5e84bd39
commit eba0221a26f49f7b4c807f4732846ef2d42db169
Author: Xav Paice <xav at catalyst.net.nz>
Date: Tue Nov 3 12:39:57 2015 +1300
Fix typo in Catalyst region configs
Small typo making one region not useful for customers (my bad!).
Change-Id: If2680b521f92789f2621aa1249b304666fcde95b
commit b6e918089cbd561b6f9961f832ea4f4d925bfcd0
Author: matthew wagoner <zxkuqyb at gmail.com>
Date: Mon Nov 2 10:36:31 2015 -0500
Don't wrap wrapped exceptions in operatorcloud.py
Similar to change Ia1e45f4971f4b51f28538260d64f778aecaa6f3d
If we've wrapped the exception because of Auth things, we don't need
to re-wrap it - it's just confusing.
Change-Id: Iecbe4137acc2b27848b09e415df35d486f92c951
commit 684b8b69290d5df1f494a1d2979f06566800ce5f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 1 11:01:52 2015 +0900
Add docs for create_server
create_server does a lot of passthrough to nova create_server, which is
great, but means it's tough to know what you need to pass in to shade
when reading the docs. List and document the parameters that shade is
supporting. Continue to support **kwargs pass through for others that
could be used but which shade doesn't know about.
Change-Id: I97cbb50f027e58766015b768a5da9c853b8c29fe
commit edc5fc2d98b28e540de54cad313b4ce054188274
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 1 11:38:48 2015 +0900
Update README to not reference client passthrough
It's there and we support it, but we don't have to _talk_ about it.
Change-Id: Ia3419a72fa13d42a17ddc0243d7800e462a827b2
commit 91e01482c6c2eb772cd8c4c7bb9ec470dad3ca29
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Sun Nov 1 09:26:25 2015 -0500
Move ironic client attribute to correct class
The _ironic_client attribute is useful only for the OperatorCloud
class, so having it defined in OpenStackCloud is bad programming
style. Move it to where it is used.
Change-Id: I8141e1758e28a8120f0e78c9e407bb416a499166
commit 62578215183982e493dbe490faf80a50bfb77281
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Sun Nov 1 14:52:33 2015 -0500
Move _neutron_exceptions context manager to _utils
Continue with our work of moving utility methods out of OpenStackCloud
and into the _utils module.
Change-Id: I898249a7dd1a93f3a9d798008a840b44bea35927
commit f31b20623efa653f579f137b4d4abcc0b8818e50
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Sun Nov 1 13:33:06 2015 -0500
Fix misspelling of ironic state name.
Change-Id: I27f7dd4b3b07e18b94baf15079d4bf78ea2b225a
commit e2f0253547214c7f351735cce979edc475f59748
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Sun Nov 1 13:31:09 2015 -0500
Timeout too aggressive for inspection tests
The new ironic inspection tests has a timeout that appears may
be too aggressively low, which may be causing the iterator to give
up before yielding even once, on a random basis.
Change-Id: I18d447e092c74e21edcc7f90f36112d8c87ffee7
commit 0f6203f303701dee8cdda0fd4df8e3ed810de301
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Sat Oct 31 14:25:50 2015 -0400
Split out OpenStackCloud and OperatorCloud classes
Change-Id: If8a09f52313c07d12c7fe0da66f6599de3120979
commit fff354e64feed6ebd10a2684d944b143608a8645
Author: Caleb Boylan <calebboylan at gmail.com>
Date: Sat Oct 24 07:05:04 2015 -0700
Adds volume snapshot functionality to shade
Adds volume snapshot create, delete, get, and list functions
Change-Id: Ibe540f3b1932f1a703c98e580f98d0c7091c9622
commit fedb0357c44921fc3b0141264ab852d8bedbc3cf
Author: Caleb Boylan <calebboylan at gmail.com>
Date: Thu Oct 29 10:33:56 2015 -0700
Fix the return values of create and delete volume
also fixes the delete function so it uses get_volume() instead of
the volume_exists() function
Change-Id: I13e27921e105ac752e91f31f0622d6508bd110a2
commit 96839a5d5067a153bb1289852c5c933ea31230a9
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 30 11:41:26 2015 +0900
Remove removal of jenkins clouds.yaml
Once devstack stops writing out a jenkins clouds.yaml, we can stop
deleting it.
Change-Id: Ifab8af4ca08851be68bfaa00525938e15e6b5bfb
Depends-On: I036704734785958c95d2234917d7b40bd797a375
commit f826d93ad0e9f7a92e37afaba1feb93d6721125b
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 30 11:38:26 2015 +0900
Consume /etc/openstack/clouds.yaml
devstack write out clouds.yaml to /etc. Use that, rather than ~jenkins.
Also, remove the jenkins one since we edit the file.
Change-Id: Ie89fb49e760855c5eec46e44ea2f947c4852b949
commit 12e78681bc7d488228ba84b19982f27a9627aea3
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Fri Oct 2 14:59:19 2015 -0400
Add logic to support baremetal inspection
Ironic supports an inspect verb which directs ironic to boot
the node into a special firmware image in order to collect
properties from the remote node.
Change-Id: I4ba3f0cf4ad6f5466e52f5d034bb217f06eec7dd
commit 80f2a21bc05f141ca413ae30bae9f2faad919a6b
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Sun Aug 23 19:53:15 2015 -0400
node_set_provision_state wait/timeout support
Addition of wait/timeout support for node_set_provision_state to
block the method until the machine has entered the desired state.
Combined with this, node_set_provision_state will now return the
state of the machine as opposed to just passing through the default
from the ironicclient node set provision state call.
Change-Id: I3e0bfe9e4612291dc77bd683479f7f99aef50d0a
commit 2c63d6e7177a4e15ed9d7fd0a251f39df6f545ac
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 27 07:39:45 2015 +0900
Add warning suppression for keystoneauth loggers
In our simple_logging helper function, add a null logger for
keystoneauth base auth plugin to suppress the "no handler found"
warning.
Change-Id: Ie210e76142a6c3dc731e937e82f12572932f07e0
commit faea2f8abbcba0745087a4555a691439771a0ce8
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 27 07:37:10 2015 +0900
Suppress Rackspace SAN warnings again
The old warning suppression stopped working because the string
from urllib changed. Instead of using that, use the actual warning
class in the suppression.
Change-Id: Ib06516ffb5b2cc272d597e7eac959dd39e27c3a4
commit 0cee2505032bbbb5d976d00c3fc096ec1eb6c679
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 27 07:11:50 2015 +0900
Aligned a few words in the docs
We say "not supported" when the cloud doens't do something, but there
were two places where we used other words. Fix them. Also, make the
image properties a blockquote.
Change-Id: Id933f7d38d706c6fb3ed9f59ad10c2e1e2d73c43
commit 2aaba84c7c4dd71420b7881358f89ec1e061c11c
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 27 07:08:49 2015 +0900
Sort vendor list
We've got enough of them that the arbitrary sort order was a bit weird.
Sort alphabetically.
Change-Id: I6d4ec563f03d1b25bad7d8337db90007a562e97c
commit c71ba514a3827f09312e873899a39d4974bd1e4c
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 26 14:16:53 2015 +0900
Add conoha public cloud
Change-Id: I05a716bc54c98390a7cbeb352338a7c6cd7e86c3
commit 4ae04265ffc015259a2c3709b03edcfe86953833
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 26 14:11:55 2015 +0900
Allow for templated variables in auth_url
Some clouds have auth_urls per region, which means putting a static
auth_url in the config file isn't going to work. Allow {} substitutions
in the auth_url so that other elements of the auth dict can be injected.
This will not solve _everything, but it will solve all of the currently
identified issues, and should be upwardly open if we need something
more complex later.
Change-Id: I6107d0669734647cfa0bef118bdf7739949991ad
commit f8804bd4f5f9ab5a1e83ec5decfaa8474f1258b6
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 27 07:27:09 2015 +0900
Use assertDictEqual to test dict equality
Just using equals is not a consistent test, because dict ordering can
change. assertDictEqual tests that the contents of the two dicts are the
same.
Change-Id: I1b084a3fee91d73d57a6b9e6a2d0ab9c186e5572
commit e941434e4ff25153c9661919852316438f8499a8
Author: Lars Kellogg-Stedman <lars at redhat.com>
Date: Fri Oct 23 22:11:31 2015 -0400
return additional detail about servers
Introduce a new parameter `detailed` to `list_servers`,
`search_servers`, and `get_server`. When True, `list_servers` will call
`meta.get_hostvars_from_server` for each server.
This does not modify the default behavior (`detailed=False`) of these
methods.
Change-Id: I919fd2ec20515c2b13eee02a75623c6ce6d7d273
commit 631a8e53e90dcdb5fcc9131d72c3501b0b06a8d8
Author: Lars Kellogg-Stedman <lars at redhat.com>
Date: Fri Oct 23 22:09:02 2015 -0400
expand security groups in get_hostvars_from_server
Add a call to `list_server_security_groups` to
`meta.get_hostvars_from_server`. This replaces the minimal list of
security group names with detailed information that includes security
group ids.
Change-Id: I5a01b37efd5520205c6ce94f0fdc4c09f75053c2
commit f39cb4b9330307eb363b2e1707f87c9d4d5e8539
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 26 13:36:13 2015 +0900
Always pull regions from vendor profiles
Regions are special, since they're a driver for creating a cloud
config object in the first place. We weren't syncing them from
the vendor profile, so if the region wasn't set in the clouds.yaml,
region name validation (and get_all_clouds) would fail.
Change-Id: I5b8d6807a86b87a7f69f523f2fee2784389fab0a
commit 8f93623e45d3b988bcd54ec53fef148c18cc34c3
Author: Lars Kellogg-Stedman <lars at redhat.com>
Date: Fri Oct 23 22:03:14 2015 -0400
add list_server_security_groups method
this adds a new `list_server_security_groups` method that returns a list
of security groups associated with a particular server. Internally, it
calls `nova_client.servers.list_security_group(server)`.
>>> import shade
>>> c = shade.openstack_cloud()
>>> server = c.get_server(name='cirros')
>>> c.list_server_security_groups(server)
Change-Id: I63228bed4e1fb65a7a15627fbe1da31cfff2aa0e
commit 7f5ae9518850f57d2bd803f78d9e8a5f3bd7b83f
Author: Caleb Boylan <calebboylan at gmail.com>
Date: Fri Oct 23 11:39:27 2015 -0700
Add swift object and container list functionality
Change-Id: Id8b5296f6a3277360011874b5292817b63acfbac
commit 139a2b521c8cc2de57c0d95308e389a2e17bd898
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 24 03:59:46 2015 +0900
Translate task name in log message always
We translated it for 'running' but not for 'ran' which made output
very strange.
Change-Id: Idfef7fdf65798b010a52669ed5d6759878b089ff
commit c0f0f36fd854d14c42878879b128675c25dcb256
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 23 13:09:31 2015 +0900
Add debug logging to iterate timeout
Output a debug message in each iterate timeout loop that we're waiting.
It's entirely possible that this will become noise, but it's also
silencable by setting a null handler for shade._utils.
Change-Id: I908040e4bfaaa0abd3eeb254af3bfea2fc40626c
commit aed20265f8bd65cb011bb1c1232e09f14ee215ed
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 23 13:08:41 2015 +0900
Change the fallback on server wait to 2 seconds
The original iterate_timeout default was 2 seconds - but the
introduction of per-service cache timing support falls back to 0 - which
is pretty extreme. Set the fallback to 2.
Change-Id: I0163e3a3397e5a7bca22bd4bbaaca63509a072b6
commit fa8d0186608747e36f37552084240ad726653635
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 23 09:51:05 2015 +0900
Add entry for James Blair to .mailmap
Jim shows up twice in the AUTHORS file and that's silly. I mean, he's
clearly worth two people - but maybe not two AUTHORS file entries yet.
Change-Id: I4abe95250501391b0d549ae7c0b05dd5ab0d5f76
commit bf792d7ff40ed976df3e0c3012bbaa2f28b9cf8c
Author: Lars Kellogg-Stedman <lars at redhat.com>
Date: Thu Oct 22 10:54:52 2015 -0400
handle routers without an external gateway in list_router_interfaces
list_router_interfaces would fail if called on a router with no external
gateway:
File "/home/lars/.ansible/tmp/ansible-tmp-1445525437.55-149961620412652/os_router", line 343, in main
ports = cloud.list_router_interfaces(router, 'internal')
File "/usr/lib/python2.7/site-packages/shade/__init__.py", line 1922, in list_router_interfaces
ext_fixed = router['external_gateway_info']['external_fixed_ips']
TypeError: 'NoneType' object has no attribute '__getitem__'
This commit defaults `ext_fixed` to an empty list if there is no external gateway.
Change-Id: Idbcd5f005ebef47e11377e83a60d2adea7c3380b
commit 8cd3b51728af18e195fdefaca1245d4ff27fca17
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 14 01:12:47 2015 +0300
Fix projects list/search/get interface
Similar to users, projects was off in neverland. Bring it back in to the
fold so that the ansible modules can work sanely.
Change-Id: I4c3715f2de91db73b3f06c483de20f108a7d62fe
commit dc45027fec3a932c2063cf1b17d835a4dc7c3fa6
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 22 09:21:29 2015 +0900
Remove unused parameter from create_stack
We cleaned this up a little while ago, but left a bogus param.
Change-Id: I4a1031630ba839b802493f8355010b87c1bb4f69
commit 0ab8b82c6bdc764cb972e8d47660491f7aca5378
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 22 09:16:57 2015 +0900
Move valid_kwargs decorator to _utils
It's not really a public symbol.
Change-Id: Iab016b93697f1e44fd299d6bfbfc80677030102d
commit 3d66d1f9fbd5a87d5155e73d599734a03dbe7766
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jan 31 16:46:08 2015 -0500
Add heat support
A lovely human upstream in ansible submitted a heat module - which means
that it needs to be rewritten to use shade - which means we need heat
support in shade. Add it.
Change-Id: Idb0fe452698d74180a0ae96963c3d8cbca4d47e5
commit 0bb5192f0c980413cfe916208789eff767103eb2
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 13 20:35:08 2015 +0200
Abstract out the name of the name key
Heat and Cinder each have different key names for their "name" concept.
Rather than keeping a list of them, make an argument so we can override
it in the instances we need to.
Change-Id: I6ba0b69129c74e976ea6762728a940b4670f3873
commit 7aa043ec8781d9ccdb07b90fe694ae482198c022
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Sep 12 10:07:24 2015 +0200
Add heatclient support
In support of https://github.com/ansible/ansible-modules-core/pull/2036
add at least a heat client constructor.
Also, check it out - heatclient doesn't support Session auth. Until it
does, we're not going to support advanced things like overriding SSL
args.
Change-Id: I488fde4abe5abc1c58515cf77d08644b49eb5ba6
commit da2bfd7a919d8888e0d79999005c210c3e9c5118
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 21 06:11:59 2015 +0900
Use OCC to create clouds in inventory
The inventory module has lagged behind just a smidge.
Change-Id: I9207128c82b0f5f48b012231178cc835906426d5
commit 26aff17bd3aa0c3d42947ee45bdcf46bf75832ef
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 21 08:38:59 2015 +0900
novaclient 2.32.0 does not work against rackspace
shade should be clear that you should not install it.
Change-Id: I05c2b8f4b1e1403a78c0a72e7613f8697cb70218
commit 0a1c7c84a3a7ce63a531861129beef0207c3931c
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 21 06:02:27 2015 +0900
Support private address override in inventory
ansible inventory supports a command line switch --private which
overrides the clouds.yaml setting. Support passing it in.
Change-Id: I74bf98be26b605a5e9ac74ab478f421c39616d74
commit 76b081efe45f1f2ab8e09a1fd5a23d9fc54361bc
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Oct 20 16:48:00 2015 -0400
Normalize user information
We need to be consistent with the information returned about the
user across keystone versions.
Change-Id: I73890078e4c321db250c0245cad6b7c455c87ffc
commit cbc32990c9e95d89d06a9fada58fe02fc817d487
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 19 11:29:32 2015 -0400
Set cache information from clouds.yaml
With 1.9.0 of os-client-config, there are appropriate methods
on the cloud_config object which allow access to cache config settings.
Additionally, there is a documented mechanism for passing in
per-resource cache timing, for things like list_servers.
Depends-On: I352f827715821db8a69983eae0ee3e9c8c99f512
Change-Id: Iba9af1cdddf0844c885ff203f67a522dc451a3ed
commit 0d22456cba63d5915873faa593a0c05a8b47ce11
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 21 01:50:40 2015 +0900
Make designate record methods private for now
The API for designate is not something we can commit to right now. It
turns out that v1 has Domains and Records and v2 has Zones, RecordSets
and Records. Figuring out an API design that can handle both is not
going to happen before 1.0, so mark the current Record API as private
so that we can add something we can commit to later.
Change-Id: Ia2611f19d04a2d7a51d85ac99f19ed4054972085
commit e081dcbb0d11e322a33d12c0ddd30703101f5f59
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 18 21:41:34 2015 -0400
Rely on devstack for clouds.yaml
devstack makes clouds.yaml in /etc now so each project doesn't need
to copy it.
Depends-On: I21d3c2ad7a020a5ab02dc1ab532feae70b718892
Change-Id: I5010486f288f781611f8e838cf1c4089ad67ed53
commit f7afb98dfeb7c70b0ccaea673932a5f8002406a1
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 19 15:44:24 2015 -0400
Rename identity_domain to domain
Since designate renamed domains to zones (or is going to), we can
just call keystone domains "domain" without a prefix of identity.
Change-Id: I2d9b56ac53c8bf0745ada16e4419c19d82353a7a
commit 6afb7ad42f159400ebb8ad0ba77d39f18785e577
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 19 15:39:33 2015 -0400
Rename designate domains to zones
In anticipation of the Big Rename, rename domains to zones. This helps
be less conflicty with keystone.
Change-Id: I6e9ad746b0fdafae81ce76f77fa12c7ad8907bd4
Blueprint: the-big-rename
commit a398485525326c908c98ef9c93685721492f69ec
Author: Haikel Guemar <hguemar at fedoraproject.org>
Date: Mon Oct 19 18:22:43 2015 +0200
Replace Bunch with compatible fork Munch
Bunch has dead upstream, so I suggest that we replace it with Munch.
Munch is a compatible fork of Bunch with active upstream.
Change-Id: I2d272085643ec113d55bc06fa7cc4f40a9f826ed
commit 862a71a6a30b91a6ae2778c0e38e6dd276eec56a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 19 10:40:31 2015 -0400
Make a few IP methods private
We're getting close to a 1.0 release, and these methods have terrible
interfaces. They're also not used anywhere. So let's make them private
for now, and if we find a time in the future where we need to expose
them, we can do that.
Change-Id: I357dbc0c2e61a5b9f62bfbd45595992d7eb21909
commit 05f3316b74780f5d1746ae57ecfcb34e0dd65365
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 15 11:22:56 2015 -0400
Push filtering down into neutron
All of the neutron list calls support passing filters to the cloud for
server-side filtering. Make use of that so that for things like port
lists in nodepool we don't wind up listing a bazillion ports all the
time. This should reduce stress on the cloud. The number of API calls
we make will be the same, but payloads smaller.
Change-Id: Ib134c307c135aef5614f8032d965e61ca7242323
commit 790fac98542ba303274180831cbd9a03604a84e8
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 16 16:04:21 2015 -0400
Clean up cache interface, add support for services
We just added an unreleased interface method to the CloudConfig object -
but maybe that should have been more aligned with dogpile words.
SO - change the docs to reference the dogpile words and add support for
that, while keeping backwards compat support for people using max_age.
Also, do the -/_ transform on the cache config like elsewhere.
Then, while we're in there, add support for per-service cache timings.
We need this in nodepool and shade is adding support, so ability to
configure it will be important.
Change-Id: I31190a31ab0b79fc080db3611c0cd584076387d4
commit 48f352d3883bbaa1aecba3f109859f7277514b34
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Oct 16 17:06:18 2015 -0400
Make floating IP func tests less racey
The resource string should not be shared across tests. This could
cause bad things. Also, change a CIDR used in a test to something
less used.
Change-Id: I47a32b5b10ebc9096a816d2430387234fbe97cef
commit 16061f90d9a54ca348f20218ec65ba032858b259
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Oct 16 15:23:34 2015 -0400
Make router func tests less racey
Some tests were sharing the same code that created a subnet.
This could cause problems if the tests were to run concurrently.
Avoid that by making each test specify the subnet CIDR it wants.
Change-Id: I0a4f8913af8f8069fc86f168cda35495553aee09
commit 65fdaccb29d39eb6394429cb1afdd1c5c327a4a2
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 14 16:27:50 2015 -0400
Create neutron floating ips with server info
When we create a neutron floating IP with server port information,
then we don't need to do a separate attach step.
Change-Id: I7e72545465b5de3962d9721339cfe857a37f7d37
commit ae5e5e03a53e139a138c4d8570f3d25397113e25
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 7 13:29:04 2015 -0500
Undecorate cache decorated methods on null cache
If we're not actually using the cache, strip the cache decorators
from the methods because they make the call stack very difficult to
debug.
Change-Id: Icc666a4e053dc13e8fbad2c62fd7dc5d8c0ad382
commit 08f29824551e864795dca2ac84aaacd49276f333
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 12 09:42:58 2015 -0400
Tweak create_server to use list_servers cache
The wait logic wasn't using get_server, which means it was always going
to be making direct calls, which obviates the benefit of the
list_servers cache.
Change-Id: I3883e75469a821eaacde040e66f02cd16e2752e5
commit b06adf563e42798d02ee9153ccb9096fda3bac92
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 16 11:13:13 2015 -0400
Add Rackspace LON region
Change-Id: I01df6e7f0cf09d52a50e1af14cdc76db90b44320
commit 1ad1e9a688a0386052143d0a0f07d03f9f844441
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Oct 15 19:59:54 2015 -0400
Add API method to list router interfaces
Sometimes you need to list the port interfaces on a router.
This is the method for doing so.
Change-Id: Ia216b87e4b9cd7a3dd98a16148723f7dd92f2513
commit 46525cf1665fa505735a533311fa8d85c51ed1c8
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 12 09:13:52 2015 -0400
Handle list_servers caching more directly
Some of the operations in shade are more expensive than others and need
a different approach to caching. For instance, nodepool is ALWAYS
building and deleting nodes, which means that any sort of
active-invalidation scheme renders the cache unusable, while a
time-based scheme that would make sense for flavors would be massively
too long.
This is the first stab but is really only going to be step one - and is
essentially the nodepool list_servers caching approach. list_servers is
cached by hand into a local mutex-protected list and is only updated
every five seconds.
Moving forward, the cache length needs to be configurable, but that
wants to be systematic rather than specific. Also, a local thread safe
dictionary dogpile cache should be written and we should use it by
default so that shared caches like redis or consul could be used in a
distributed system.
Change-Id: I430b4beaf3b05cb255c1cf5d180af450fd6429b2
commit 7d711f21c2dc875cd78e35cacd53bb2c83340936
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 10 11:22:35 2015 -0400
Split the nova server active check out
If someone, like nodepool, wants to split the logic of requesting the
launch of a server and checking its validity, that's totally fair.
Make the "is this server ready, if so, please make sure it has network"
into its own method.
Change-Id: I6347173001af31c53a1b9210528ccd33d3c14ce4
commit ed9c516e559316442d23514d719aabe906a71ce3
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Wed Oct 14 13:40:24 2015 -0700
Pass wait to add_ips_to_server
If we are creating a server with auto_ip and waiting for it, we
should also wait for the ip, as well as the server.
Monty is working on a patch to obsolete this, but in the interim,
this works.
Change-Id: I26bc94408441edf067493b7ffd50eebd9dd95e75
commit bcd507a779bf78ddd4737a07e6813695da781f2a
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Wed Oct 14 10:27:05 2015 -0700
Fix floating ip removal on delete server
A conditional block was not sufficiently indented.
Change-Id: Ia4ab58cc476505570163f7f855fc5a679c7b8d57
commit 688ca1f3ce72eafa58c1f7a519355bcf8249728d
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 14 13:00:24 2015 -0400
Document filters for get methods
Add documentation for the filter parameter.
Change-Id: I862760181b353906dbda8785eb05cde216cc17c0
commit ee1e88b117119056e9cd29cc072f7123891df5ef
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Wed Oct 14 09:52:30 2015 -0700
Add some more docstrings
Most simple get/list methods were undocumented. Document them so
they appear in the API reference.
There are still more undocumented methods.
Change-Id: Idde33874656f7b8c1dab90e7d5df67a232c69749
commit 512ca01715683f7c46985677e7b9be8e3d7a191c
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 14 12:40:50 2015 -0400
Validate requested region against region list
We have lists of valid regions for clouds, but specifying a region
incorrectly is a common mistake (specifying dfw instead of DFW,
for instance) Throw an error early with a helpful error message.
Change-Id: I55edf20c6dddde4a4d71dad33a41d4e10448ddac
commit f6681a83192386fcf27479c820998691a43e8b79
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 14 12:32:20 2015 -0400
Fix documentation around regions
It turns out region_name is an important parameter - it's not
just another kwarg that will get passed through.
Change-Id: I5cca8d324a1dcd1355991df793fe29eedfa15dc0
commit ec4ebbdd277c2125734640f2b3cd1184c4c6bf86
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Wed Oct 14 09:27:21 2015 -0700
Add an API reference to the docs
Change-Id: I2c40965378dedd67808875eb9453ab8664f0fee8
commit 6113d037f6240666e3c958db6e83a242e7c8531d
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 14 10:18:59 2015 -0400
Pass OpenStackConfig in to CloudConfig for caches
The unit of consumption is the CloudConfig object, but the cache
settings are found only globally in the OpenStackConfig object. Pass
the OpenStackConfig object in so that a user consuming settings from
a CloudConfig can find out what the cache settings are.
Change-Id: I633e35b1d7f295581d7abed9c3957e802690614e
commit c22cc1f97286fb442d31318f97b4baec6f032e49
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Oct 14 09:32:05 2015 -0400
Remove shared=False from get_internal_network
It turns out internal networks can be shared (as in BlueBox) Removing
the shared=False from the internal network search produces correct
results.
Change-Id: I40ba45d8fc78a0d10a44503ed5b7daf91924e441
commit 8569b81501d2e9738b39caef0142154ab0c64e23
Author: Caleb Boylan <calebboylan at gmail.com>
Date: Thu Oct 8 17:48:21 2015 -0700
Make attach_instance return updated volume object
Change-Id: I0ad25017fe8be8c341bbc139f60161349a5502e2
commit 05adc0bd725c34a7f967d9afc196bcef7481b462
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Oct 12 12:54:39 2015 -0400
Tell git to ignore .eggs directory
Change-Id: I1d1ca9c7f5ddf29969f0bbc5314973c8941a4d1f
commit 151193568439b24798ccbecf108fd55d8092435d
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Oct 7 11:22:18 2015 -0400
Align users with list/search/get interface
This replaces: Ibca7240efe705c35bf7a17898caba5a4531bc858
Changes include:
- Support for the list/search/get methods.
- Fixes a bug in user create.
- Allow updating user name and some keystone v3 attributes.
- delete_user() method is aligned to return True if the
delete succeeded, False if the user was not found.
- Test all the things.
Co-Authored-By: Monty Taylor <mordred at inaugust.com>
Change-Id: I2f1296a0247ad33e5cb6b2d67559165a55592fd3
commit 3962a1c39aebdbde187ad6fba3ef59618ce51d6d
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 12 09:45:24 2015 -0400
Add script to document deleting private networks
In order to test clouds with no private networks, we need to delete
the ones made by devstack. This is how that works.
Change-Id: I6c9d4d62ea34372d53399aa2b8b27b762d53339b
commit baa36a8abb79d2c3a52d2cb7082c81f9af7fa109
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Oct 6 22:14:54 2015 -0400
Add create/delete for keystone roles
This completes the replacement of: Ifd74cbcef9dd0f3531912995da8ad7b75dd19d44
Add create and delete methods for roles. Note that there is no
update method (the review we are replacing had an update method).
This is because keystone v2 does NOT have support for this, only
v3.
Change-Id: Ib037484c38673f10bd2b2fe2df5ca87056d06e6d
commit 539c145d3ec45704a35befb9f738e2f36de61f58
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 9 10:37:28 2015 -0400
Accept and emit union of keystone v2/v3 service
Keystone v3 changed the service_type field to type. Accept and emit
both, because programmers should not have to keep up with meaningless
trivia like that.
Change-Id: I56fc0191e1058e1d37cee9ee71d606624a0133a7
commit 7a347bf7a3fec7c8bd0a76abc32756d4535ac5ee
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 8 09:30:14 2015 -0400
Use keystone v3 service type argument
In v3 this changed to be just type (completely ignoring, btw, the fact
that it's a python word)
Also, recognize keystone version in post_test_hook
Check the environment variable set in the keystone v2 job and
modify the clouds.yaml file appropriately to use v2.
Also, the parameter to delete changed from id in v2 to service in v3.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: I988848b734fa0f83d149c902850db2ad119d959a
commit 801d09a8dae6a976ddf1603a0b4ceb1bd4166731
Author: Dean Troyer <dtroyer at gmail.com>
Date: Fri Oct 9 15:18:27 2015 -0500
Add auth hook for OpenStackClient
Since os_client_config started pulling in ksa plugins we have some
duplicate behaviour with OSC. If o-c-c is going to be loading auth
plugins OSC needs a way to hook into the notch between setting config
values and actually loading the plugins in order to maintain existing
behaviours for compatibility.
It may also be desirable at some point to defer the plugin loading,
OSC did that orignally due to ksc's poor load times, ksa shouldn't
have the same problem.
Change-Id: I1e8a50e5467fd4f9151a64aa7ae140d2654f3186
commit 9b03198c8f95a4de888b2ad4e90404a96829da86
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Oct 6 13:28:49 2015 -0400
Add get/list/search methods for identity roles
This partially replaces: Ifd74cbcef9dd0f3531912995da8ad7b75dd19d44
Adds read methods for identity roles. Note that the original
code (referenced above) puts these methods in OpenStackCloud, but
this puts these methods in OperatorCloud because these methods
require admin-level privileges in keystone's policy file.
Change-Id: I896972eb08a804b5dc6cd9c87a754598a90933a5
Co-Authored-By: Haneef Ali <haneef.ali at hp.com>
Co-Authored-By: Monty Taylor <mordred at inaugust.com>
commit 1a719d3e45dea29680c866ee07624617616a8cd5
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Oct 7 17:34:56 2015 -0400
Add methods to update internal router interfaces
Adding internal interfaces to a router is a useful thing. This adds
methods that will allow a user to add and remove them as separate steps.
A possible next step will be to allow this to be done during router
creation.
Change-Id: Ieb007de3d68d5b8a972df5178c032add8e59377a
commit 5dc91cfdf94470d420d457388494227ac09a6a95
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 6 13:13:58 2015 -0400
Add get_server_by_id optmization
There are times when you know you have a server id, so doing a
list/search/filter is inefficient. Provide a get_server_by_id
method so that in those situations you can bypass searching
server lists. Also, use the method in the other places.
Change-Id: I97bd52dff0854a3b4d41b5572e7490fa4df18e1e
commit 310db3848db9c54391a518b458a07ed443086bd3
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 6 17:22:18 2015 +0100
Add option to floating ip creation to not reuse
Although reusing available floating ips is potentially a more
efficient use of resources in the cloud, it's a more expensive
amount of API calls. Additionally, if the user knows that they
are deleting floating ips with servers, then attempting to
reuse is just going to be a waste of effort.
Co-Authored-By: James E. Blair <jeblair at linux.vnet.ibm.com>
Change-Id: Ibfb7583232b03bcf29df229862f6da97170aa845
commit 3609cd59078873bc44ebbe7641889423c9f2b8cd
Author: Anita Kuno <anteaya at anteaya.info>
Date: Tue Oct 6 17:18:54 2015 -0400
Adds some lines to complete table formatting
Currently the vendor support list is mis-formatted for the last
two entries on the page. It appears that the tables don't have
lines underneath them completing the formatting.
This patch adds lines under the last two vendor entries fixing
the formatting of the tables for those entries.
Change-Id: I6327eef99059291fcce5c9493a622bec33da3824
commit a52c61a7b407b5f63dca6b779c93f06e3c830327
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 6 13:07:26 2015 +0100
Provide option to delete floating IP with server
Although the only real reason you should need a floating IP are for
the cases where you want an IP with a lifespan independent from the
server, there are clouds that are insane and require a floating IP
to be created with every server. When a person is deleting that
server, we should ensure that the floating IP is delete. However, it's
impossible to infer intent about whether the floating IP wants to stick
around, so it has to be a flag.
We will default to False because deleting things that the user did not
expect to be deleted is surprising in a bad way.
Change-Id: Id90bdc819ad8f1b04acc1b35788786d23f4e7666
commit 8f943e1afa6d532da342a9fe5e941a4461e04293
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Tue Oct 6 13:15:15 2015 -0400
Update python-troveclient requirement
Without a version defined, it is possible that an older trove
client may become installed, which may still attempt to utilize
the oslo.utils namespace.
Update the version of the troveclient library to a version after
the oslo namespace change.
Change-Id: I1e1f6043a7c82674312016aea662674675404dd8
commit 4f65ac7c905ddc2893b970855cf1cc2b1f1ccbbf
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Mon Oct 5 13:38:27 2015 -0700
Add a private method for nodepool server vars
A previous patch split the work done by get_openstack_vars into
costly and less-costly operations. Nodepool only needs the
less-costly ones. We will put that information in the shade API
in some form, but it has not been decided what form yet. In the
mean time, allow Nodepool to easily call the method to perform
the less-costly operations for now.
Change-Id: I99bec7e4a709ef6b7623414dad5f1453070380f8
commit fc5f41e6271085d274e02dbfd45b27522b7b484d
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Mon Oct 5 12:02:04 2015 -0400
Update required ironicclient version
Update the required version of ironicclient to account for use
of keystone session tokens, as the bug was not fixed in ironiclient
until 0.9.0.
Change-Id: I8b63531ea2494bcf63107477dea24a36268b8c62
commit cf4effb5f2e268787d3a9134e698633bb9b58c0f
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 5 15:40:30 2015 +0100
Split get_hostvars_from_server into two
There are really two different things going on here. One is figuring
out essential information "what IP do I use to talk to this server"
The other is fleshing out some additional information that is useful
for ansible inventories. The ansible inventory info is expensive when
that's not what you're doing and when you're not using shade-level
caching.
A follow-on patch will make the create/get/list server calls use the
new function always.
Change-Id: Ia1de78d26c708ce6fe3205a9484cb16a92360890
commit eb9ce61915df8dbe1b5ced172d0f82c7c4cac856
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 3 15:37:34 2015 -0400
Invalidate image cache everytime we make a change
The image cache is already set up to only cache a steady-state list. If
we simply poke the cache after every time we make an upload or image
change, the existing cache code will cause the cache to stay unfilled
until the new change hits steady state again. This should make turning
on cache do the correct thing.
We want to follow this up with a get bypass of the list, but this should
keep our API counts to a reasonable level.
Change-Id: I47cdfb5af1ba5c56c4005289b9d6b1ecde936978
commit 10a3bb16ce7e0171c5e91094be32e35d9ad420d6
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 3 13:39:41 2015 -0400
Use the ipaddress library for ip calculations
ipaddress is core in python3, so let's use it instead of regexes.
Change-Id: I8050cb9e50c02f47e14584396c3f1815ed71173c
commit be11a20412ff827e252c7a6f83361f5d179131a1
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 3 13:31:14 2015 -0400
Optimize network finding
clarkb was right about the port listing code being unneccesary now
that we have get_external_network. All of the logic that happens there
is also more efficient and easier to override via config. Skip doing
a second pass at ports.
Also, move floating ip finding earlier - if the server has one, that's
the IP it wants - it's the only reason to use one of those.
Change-Id: Ie09c0046aded3646a42cc9714f1fb76375e5e099
commit d3b17d14036c109e065cf112e98efea878874ff2
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Fri Oct 2 16:05:06 2015 -0700
Fix create_image_snapshot
This method from novaclient returns an image id, not an object
as was apparently assumed. Before returning, perform an image
lookup so that we can return a Bunch() object of the image.
Note that if the provider does not immediately make an image
available for lookups, this will fail and the user will have
no record of the image id. Notably, because it worked with
the image_id until the image was built, nodepool was not suceptible
to this problem. I am unsure whether there are any clouds that
might behave in this way. However, this code matches what we do
in shade with servers.
Change-Id: Icaff5d8e66a2458817fcbced16014efbc5ff33b8
commit 379962f0e8289e2db85a0eeb7b51d10cff70e67d
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 2 11:08:22 2015 -0400
Add universal=1 to setup.cfg to build python 3 wheels
os-client-config gates on python3.
Change-Id: I887ab2f2f2436e7423eab8abc23655423ee7b226
commit 5a420350db878046959006ffd5e8f3fb139bed1a
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 1 09:12:21 2015 -0400
Return IPv6 address for interface_ip on request
If the local host looks like it can route IPv6 and we have an IPv6
address, and the user has not indicated that they must use IPv4 for
some reason, return it to them in the interface_ip field. Also, always
return something in interface_ip if possible.
Change-Id: I3544280cab7abfa6b4154244f4c4588bc65c7347
Depends-On: Ib0c4c4e8b3b7b4bcee5fa3414719969274929b9a
Co-Authored-By: James E. Blair <jeblair at linux.vnet.ibm.com>
commit 0a06226863ac767c3a3915f5470646dc4f46fc54
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 1 18:13:18 2015 -0400
Plumb wait and timout down to add_auto_ip
add_ips_to_server needs to take a wait and timeout parameter so that
it can pass them down to add_auto_ip.
Change-Id: Iea0d6e2d270e2bc4df0fc649217a2f1da89ae9cc
commit 12662ddbabf89dda039b96ec01134ca3e6d12cfd
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 1 18:51:48 2015 -0400
Pass parameters correctly for image snapshots
The passthrough parameters here were just wrong. The image name is
passed as image_name and the server value is required. Also,
metadata is not taken as kwargs, it's taken as a dict.
Change-Id: Iab1c443dbbebddaba0002700304a033b8e161b65
commit 758630ed6bd9a662a3ef55b98bca13db69099531
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 1 14:10:10 2015 -0400
Fix mis-named has_service entry
Change-Id: I44ee303040cccf3432645b5b90fbdf428895d13d
commit 14c7fd560f678efbe1504b3944c0e544bd2ed13a
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 1 13:33:12 2015 -0400
Provide shortcut around has_service
Some clouds have a service in the catalog, but it does not work
(Rackspace with neutron) In other case, it exists and works, but you
know that you don't use it (Infra Nodepool does not use volumes, so
the extended info for servers in server_list does not need to look
for volumes)
OCC allows arbitrary passthrough values - so look for booleans of the
form has_{service_key} If 'has_volume' is false for a cloud, we will
not ask keystone if there is a volume service, and will instead just
return False.
Change-Id: I1d2f2a7611f4463898d73c1a2b70b9a967a9c7b6
commit 950f22a2c8816ff5e9440ae975b2ee14b3fe053d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 29 15:26:58 2015 -0500
Provide short-circuit for finding server networks
Doing a search for the networks on every server connect can be
expensive due to the port list - even with caching. Instead, allow
for a configurably overridable networks to be found once and cached
aggressively, then use that network name to match in the nova networks
dict. If that can be found, awesome, we all win.
Change-Id: Ic3345e7fb7e428227a9465bd07077e67d4f93244
commit 332e7907f7fa680631c2d71988b75ea5e17af66f
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 2 10:13:48 2015 -0400
Update fake to match latest OCC
os-client-config was returning an incorrect value which was finding its
way through into one of our fakes.
Change-Id: I1f1c59313a429be386061a81bd51990204996909
commit a9d5827a0929d5de1fc0951412f96bc031eb2409
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Fri Oct 2 12:11:50 2015 +0200
Some cleanup
Remove identity api version 2 support (default) and some cleanup
in the doc (tables properly formated)
Change-Id: I5d90723dd54905c8a67c52c6111bdf089f4346a0
commit d3c82ab42835c2bfe9817d2f8a571490153879e1
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 1 14:52:18 2015 -0400
Fix two typos
Change-Id: Idf3df94ea039f07fa958a3afadf3388221ffa2ff
commit 21ff307d130e758242a698312d6a14fc0d5b620e
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 1 13:37:13 2015 -0400
Put in override for Rackspace broken neutron
Rackspace puts neutron in the service catalog but it does not work (404s
the endpoint) While it's easy enough to try/except around network calls,
it's also a known fact and can be communicated clearly. Allow things
that want to short-circuit read the value from the config and react
accordingly.
Note: This is not a value going in to the defaults, because the fact
that this is happening at all is highly strange and hopefully something
that can be solved by collaborating on future iterations of DefCore.
However, communicating clearly that it's a known issue is helpful for a
class of users.
Change-Id: I506f4dd397608f2feb6fbda48d297d283312a169
commit 7d84f102313e61aba00d7665250ac6f628f8e8f6
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 1 10:50:27 2015 -0400
Support passing force_ipv4 to the constructor
IPv6 support is detectable, so rather than having a user opt-in to it,
provide a flag that can be provided to tell it that detected IPv6
support is lying. This should have to be set for far fewer people and
should result in transparent opt-in to IPv6 where available.
Change-Id: Ib0c4c4e8b3b7b4bcee5fa3414719969274929b9a
commit 733c04f6d381f523991c5ccfd56b9ff722111bf0
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Wed Sep 30 23:15:35 2015 +0200
identity version is 2.0
When using the defaults values from outside, we get a not so
right API version.
Change-Id: I8159dd4a26b65ad242d5ba75c4a5e0dc161704fc
commit 137458fc1cbe27cb7191f0c35f846f844322276a
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Sep 30 17:45:49 2015 -0400
Dont throw exception on missing service
We log exceptions to debug log, but checking for the existence of a
service is normal flow. Don't throw an exception when we can just
return None and have everything work without spamming logs.
Change-Id: I35f431b12c16e085c0e256cad514134066e15a39
commit 723b893f22fc3db74761dc64e5296360e5739147
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Sep 30 17:27:22 2015 -0400
Handle OS_CLOUD and OS_REGION_NAME friendly-like
If you're using os-client-config and ansible and python-openstackclient,
the envvar override support can get tricky if you've set OS_CLOUD to
select a cloud for python-openstackclient, leading you to have an empty
cloud called envvars when you were not actually trying to create one.
Special-case pull both out, treating OS_CLOUD as a default value for
get_one_cloud() and only creating an envvars cloud if OS_REGION_NAME is
not the only env var provided.
Change-Id: I2a5235c18f9be1e5dfc019888a0c187ef40074bc
commit 79637b12cfebb3ab80c781b1217755832ab069c4
Author: Simon Leinen <simon.leinen at switch.ch>
Date: Mon Sep 28 23:35:17 2015 +0200
Added SWITCHengines vendor file
Signed-off-by: Simon Leinen <simon.leinen at gmail.com>
Change-Id: Iae386787ee2b3feecb78e3f69c7ed4e279e5acce
commit 9f0e6a8a2d8b510d219ab2eb25bfb949d25897a2
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 28 13:04:08 2015 -0500
Add functional test for private_v4
private_v4 is failing in nodepool, so maybe there is a bug in shade.
Let's add a test to make sure.
Change-Id: I8b7d69605fcd1482a54c0d4088d7de464c3e8629
commit bccce1857b7c57e1f320ef7bd7299b76b18926dd
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 28 09:56:48 2015 -0500
Attempt to use glanceclient strip_version
If you pass a Session to glanceclient, you must pass a version. But if
you pass a version and the endpoint has a version things go south.
Because I can't have nice things.
Change-Id: Icbdb007dcc88965fe290ef96f61917d1f17703a9
commit 8822b7ad560fc4d9ecdd7397827f7798698b1338
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Sat Sep 26 13:19:19 2015 -0400
Fix baremetal port deletion
Shade's node deletion logic removes ports one at a time in
the requested order, however that logic has been silently failing
to the API for some time now as we're inadvertently returning the
entire port object back to the API as the port we wish to delete
instead of the port UUID.
Changed to return the port UUID value to the delete call.
Added code to unit test to ensure that correct action is taken.
Closes-Bug: #1500063
Change-Id: I01c16990dc66988fab29c41ec4b4e6094213b2ca
commit 0ff48d2b946631668645754b9c9820664a085200
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Sep 25 15:20:43 2015 -0400
Add router ansible test and update network role
Adds a new playbook for testing creating and updating a router.
Also updates network playbook for new 'external' parameter.
Change-Id: Ia0b11ebbad2d8f5701754a25267aecf1accc69ba
commit a0e1ae1b54c78fc0b108ed0e789af7421942c101
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 17 14:47:22 2015 +0200
Trap exceptions in helper functions
os-client-config can bubble up a keystoneauth1 error now since that's
where auth plugin parameter validation happens. However, consumers of
the helper functions will not be expecting such a thing as the helper
function is hiding the sequence from them.
Change-Id: I84ececc71764b3f345b0d507d419260aef720783
commit 4636dd915df1fdcee67ca969b7c17143ddd2ae2c
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Fri Sep 18 17:14:43 2015 -0700
Add more info to some exceptions
And remove accompaning redundant debug lines.
Change-Id: Ie022a11417c7535c5c9faf43abd96ad07933678a
commit 14831e613dca4f3760e6bc285ac344f7821aabea
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Sep 23 17:58:32 2015 -0400
Allow more complex router updates
There are other attributes of a router that can be updated.
Change-Id: Ia71301994122524b5d04bf788dab08a5b84ac85f
commit 7ccb6f89132e5c7629227fa6afc2a57ba70df822
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Sep 23 15:10:59 2015 -0400
Allow more complex router creation
Turns out, there are a lot of other options when creating a router.
Let's allow those. Also, functional tests are a good idea.
Change-Id: Ia9382898decec2a1d3485484e643b50785d235cf
commit f3c43e826e9069d2b726518f2780f3db6af39425
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Sep 23 12:01:19 2015 -0400
Allow creating externally accessible networks
Add an option to create_network() that lets the user create a
network that is externally accessible. By default, they will
NOT be externally accessible, since this may require special
privileges.
Change-Id: Ic9a3d05ac15399e55fa078b61fdb454ee9f56e69
commit 510561304629ca0c750aa5e0ce37510933048066
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 22 13:45:21 2015 -0500
Handle glance v1 and v2 difference with is_public
Glance v2 changed is_public=bool to visibility=(public|private)
Change-Id: I596788dde1a8d01ae8c0908f48d419ea0fc875b5
commit 20ac0479a41ae267ca6e901559c60d32ab5c258c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 20 15:53:37 2015 -0400
Get defaults for image type from occ
occ knows default image types for all the clouds. So rather than making
people provide them, let's just consume from OCC.
Change-Id: Ifd83c26599a82d9aeabf4b3380c1c5cbfc603285
commit 489314a0f5bc225004492455e0e2bb6726ad92e7
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 7 19:30:32 2015 -0500
Use the get_auth function from occ
os-client-config now knows how to turn auth parameters into
auth objects. Use that, so that we're not carrying local
logic for it.
Also, this lets us remove our ironic-specific hacks around
auth and whatnot.
Change-Id: I436b7619f09911d131f380dd103138c8ff52c0b4
Depends-On: Ia1a1a4adb4dcefed5d7607082e026ca7361f394d
commit 988e305b37e0f840ba09fdde882158641f8a1d05
Author: Steve Martinelli <stevemar at ca.ibm.com>
Date: Tue Sep 22 17:19:13 2015 -0400
update RST for readme so pypi looks pretty
Navigating to https://pypi.python.org/pypi/os-client-config results
in seeing the raw RST content of the readme file. This is likely
caused by minor RST warnings, but pypi gives up and shows it raw.
Change-Id: Ia2d6202ade5282d9aeae9bb948175aae2aa264cd
commit 03c1556a12aabfc21de60a9fac97aea7871485a3
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 22 16:03:30 2015 -0500
Add a NullHandler to all of our loggers
As a library, it's important to make sure our logging is set up to not
be confusing, but also to not to step on the toes of app developers.
https://docs.python.org/3.1/library/logging.html#configuring-logging-for-a-library
Change-Id: I312871e057ca0f64b9c5514bc94567cbdb34b4c6
commit 2e350d034cb115c4d3a3513b566aa6f048c3c07f
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Fri Sep 18 16:46:26 2015 -0700
Remove many redundant debug logs
Now that shade stores inner exceptions in the OpenStackCloudException
constructor and logs them, there is no need for logging the same
exceptions at debug level in the library.
This patch removes all such log entries that appear to add no additional
information beyond what is in the exception. Many messages remain
which add information not in the exception -- their accompanying
exceptions should be updated and then the extraneous log lines
should be removed.
Change-Id: Idcdbfa77c68260d171e78f6ada4ee5a46518061c
commit 0f089647b89817c5347e1f01335fd6aa6f9d313b
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 22 11:29:46 2015 -0500
Fix a little error with the None auth type
Ironic has a mode where it does not use auth, but we still funnel that
through the ksa admin_token type for consistency of code. The hack we
had to do that went too far and caused validate_auth to strip the fake
token we were adding.
Change-Id: Id5275ac7db1a6052db02c2286cbf88862cb1ff70
commit 84904f3f38fbc276e19e94e3ad617a5b27166d20
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Mon Sep 21 16:06:00 2015 -0700
Make inner_exception a private member
So we don't mislead anyone into thinking it's part of the public
API.
Change-Id: Ibc74eeec733bc56ba4c05c27f7e3de3c89b5f31d
commit 75954fac2f711bfed815fd4015dff48ea26492c0
Author: Xav Paice <xav at catalyst.net.nz>
Date: Tue Sep 22 09:23:12 2015 +1200
Add support for Catalyst as vendor
This adds Catalyst IT's public cloud to the list of vendors,
https://catalyst.net.nz/catalyst-cloud
Change-Id: I2d886bfc4fc94c534a55f6bad1120e474654524f
commit 02cf7cee76a4c732c6294d14a557363256d6e83a
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 18 19:12:00 2015 -0400
Just do the error logging in the base exception
We want to make an error log every time we throw an exception that
is wrapping another exception. So, just do it in the constructor.
Change-Id: Id8f1ab97d1c58787ff101ea2410fcf7c789041ed
commit 5d9bb47f0d0015533cbf547d613600f8b4b7d2d7
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Fri Sep 18 15:35:55 2015 -0700
Store the inner exception when creating an OSCException
Masking exceptions in Python is an anti-pattern. Etc.
However, since shade uses a base class of OpenStackCloudException
for all of its exceptions (and, for the worst offenders of
generalized exception masking, simply uses that exception itself),
we can store the original exception for clients to access if needed.
This does allow client exceptions to leak out of shade to its users,
but in a very controlled manner where we can make it clear that
this should not be used for flow control, but for informational
purposes.
Change-Id: I33269743a8f62b863569130aba3cc9b5a8539aa0
commit d084ebd643fb22899ee789e099db69f4f182bde7
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 14 15:04:24 2015 -0400
Start using keystoneauth for keystone sessions
This is being split out from keystoneclient. That's a happymaking.
In order to make this work, we also need to fix glance image data upload
for v2 put. It seems that the internal interface has changed. Pass the file
object and not a size. We could do the work to figure out how to do it
in two discreet steps, but I believe that would involved a chunk of
engineering on a dead interface and is not worth it.
Also, Change ignore-errors to ignore_errors
Change-Id: I816752f8f4d29e40d41622bd8a271eb5c8e5a9fb
commit 7f33416020801dfc8a444a80705ef2f491a4d066
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 21 14:41:32 2015 +0000
Change ignore-errors to ignore_errors
Needed for coverage 4.0
Change-Id: I033aaed4afa9037017190bc0b5aba7216840627d
commit 8dee656df809ed1b39b2800e35cc5ef67c31e84e
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 20 20:08:39 2015 -0400
Handle ksa opt with no deprecated field
Bad logic fallthrough causes us to die when trying to process an option
that does not have a deprecated option.
Change-Id: I613466c6146a94b66a0a6d9955cdc4a6556f44ed
commit aa41f9bfb10b6f75e1a3f7c599c8c06e7a03d389
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 18 16:54:46 2015 -0400
Fall back to keystoneclient arg processing
For things not on keystoneauth yet, we need to move things into
the auth dict using keystoneclient.
Change-Id: Ia4500cc270b775f189048ccf667d5bfdc5dfcd14
commit 6d25a939bfdfeea14e1038c240092ebaedf33145
Author: James E. Blair <jeblair at linux.vnet.ibm.com>
Date: Fri Sep 18 13:29:12 2015 -0700
Fix typo in ovh region names
Change-Id: If8dee92917d1f5c1e349f02eba7661c39dbe7d0b
commit 21bb2f347d0d52defa98726b7102c1853b558072
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 18 09:55:55 2015 +0200
Move plugin loader creation to try block
We only need the plugin loader if we're going to create an auth
plugin. Doing this when validate=False is clearly not a workable
solution, because we'll wind up validating unknown plugins.
Change-Id: Ieed44aa3ef41a14edd7529ca599a01967d517207
commit 0339a9a7f8c004b7e6df5c3d9dc49a69fcc3b357
Author: Gregory Haynes <greg at greghaynes.net>
Date: Wed Sep 16 17:22:39 2015 -0700
Convert auth kwargs '-' to '_'
When passing in kwargs to _get_one_cloud we do not dive into the auth
dict to convert '-' to '_'.
Change-Id: I8ce12370b5fd4444ba17d724e7f8036a7b0d2784
commit 2906d1e61fd6e2e1024996993e1c108966fc425f
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Wed Sep 16 16:41:58 2015 -0700
Properly handle os- prefixed args in fix_args
Prior to this any arg that started with 'os' had the 'os' prefix chomped
including the next character. This meant that any arg like 'osmosis'
would've been replaced with 'osis' which is clearly wrong. Instead we
want to treat the OpenStack prefix of 'os-' or 'os_' as the special
thing so check the next character is correct before chomping.
Change-Id: Id12a92adf63d896f7aa5c0e391abd299c4ce3331
commit aabf1431a3e23a734431f56df4a8d6ac446509b3
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 17 01:22:24 2015 +0200
Test kwargs passing not just argparse
Change-Id: Ic14365b1daec9a3f51d6a59db38604edb60865d4
commit aef90e7ec82326e63136be3ace1fa0a0590ee325
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Sep 16 12:30:12 2015 +0200
Allow configuring domain id once
In the most common case, a use has one and only one domain id that they
care about, and it's associated with their user and project. Instead of
making them set it for both user_domain_id and project_domain_id, allow
for domain_{id, name} and then fill in any missing values for
{user,project}_domain_{id,name} with the given value.
This is mainly because I wind up with config files looking like this:
user_domain_id: d0919bd5e8d74e49adf0e145807ffc38
project_domain_id: d0919bd5e8d74e49adf0e145807ffc38
Which offends my tender sensibilities.
Change-Id: I12342dfa9f1b539a3fea5dd8874c42d027c59739
commit 54afb28565cb1b24973a403f365081487a2484ec
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Sep 16 21:18:19 2015 +0200
Add internap to the vendor list
Change-Id: I4c98b72f039fd97a2c55ecbfa546fb908d1fe539
commit 2be0553eb0d168ea0dc57e098c8dcc86566b6622
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Sep 16 21:54:18 2015 +0200
Fix typo in comment - we use ksa not ksc
Change-Id: I9f35c26fc633b07442141443574ea9b7582036be
commit 093d7b085a5743d21f74da532eb45a916830022c
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 7 20:26:24 2015 -0500
Defer plugin validation to keystoneauth
keystoneauth plugin loading has parameter validation itself. Rather
than us doing it, let ksa do it.
This bubbles up a ksa exception- but I think I'm ok with that as an
interface.
Change-Id: I3e7741a1b623b133f24f321e97539883dc6cd153
commit 3f76cc5fa9d288b25b3804966568b8bd900a54c1
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 14:02:01 2015 +0200
Remove an extra line
Change-Id: I3a7f31a205b9a49e8c93f71e2a9dacacee6e2f91
commit b0f4161423d683aad2e5006ba2f9d80e858928ed
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 14:00:25 2015 +0200
Add Datacentred to the vendor list
Change-Id: Iac2a51f2351e6b46469508abadd63942829663f0
commit 2762241d7bfccf8c4bad471dfc20528d1135602d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 13:14:32 2015 +0200
Add ultimum to list of vendors
Change-Id: Ic5b5ee307b9d1eb338839a7feeeab50469316cf5
commit d835c47ad35a27bb0e90a8db42d5c943a65c6608
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 12:54:49 2015 +0200
Add Enter Cloud Suite to vendors list
Change-Id: I78e9191073e68a9d3f78ba11b47aa0b1ff816430
commit 7bfa633e86e9ccef6cd58472f6994b05f95ad032
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 11:54:22 2015 +0200
Add elastx to vendor support matrix
Change-Id: I67973f89e2da4ef550e46c32ad63a4c8e043b4d0
commit 265abb2bf6e050d9c7bf9b3e0a307dca32899c1f
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 02:13:06 2015 +0200
Switch the image default to v2
It turns out it's more common than v1. Also, ovh was inappropriately
listing glance v1.
Change-Id: Icb534bf98fd3fa1c900ed9e4dd09ea0643176ff9
commit d11d165e697871b73236025efd5e8698d0b08750
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 02:30:13 2015 +0200
Update auro auth_url and region information
Also, turns out auro is running Glance v2.
Change-Id: Iccc2e09f45192ac21001c346dab048c77a0f7813
commit 53b7b7a6d61243254974ad3c1c256809c86a27bf
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 02:09:12 2015 +0200
Add citycloud to the vendors list
Nice job with keystone v3 support.
Change-Id: Ib2b54feef5055b04740a63a3a1d4e0b967018864
commit 15c6652dc4bfc5b417bb67df0435935962d71d9c
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 7 18:55:24 2015 -0500
Return keystoneauth plugins based on auth args
We know all of the things that we need to know to return an appropriate
auth plugin from keystoneauth based on the auth parameters. This also
introduces a hard-depend on keystoneauth, which should be fine since
keystoneauth itself has a very low dependency count.
We'll also use ksa to help validate auth parameters when we're doing
the config processing.
Change-Id: Ia1a1a4adb4dcefed5d7607082e026ca7361f394d
commit 9a626589a8082a002a02530a3f480088c9dc4fa9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 15 15:58:28 2015 +0700
Move keystone to common identity client interface
It's weird that keystone is different from the other things. But let's
just let that be life.
Change-Id: I3891454b2706db2553e52f1ca3932285260f08bc
commit eb6ed09dede71a441d005d773b94411d70f1557d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 15 02:11:14 2015 +0200
Remove duplicate lines that are the same as default
Change-Id: I007802ac08a8708fbbbfa8ee8c7d79e4e2bb55f7
commit a51ab85bff1172dda04ce57021ad87041b754bb5
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Sep 12 09:54:16 2015 +0200
Add default version number for heat
Heat only has v1.
Change-Id: I31b40b7cfec0685105b8066d1cb385befae00f90
commit 743543743daa891424336ac08a3fcd02d16645ea
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Fri Aug 14 16:22:21 2015 -0400
Bump the default API version for python-ironicclient
Update the default API client version to 1.11 in order to support
node enrollment.
Additionally updating the minimum version of the python-ironicclient
library.
Change-Id: Idedbe31fe1b7f0cb9d0980625ebf84d7656f6996
commit 24bff5dca48365a767d8b6f0c38be75b2d67d6fd
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Sep 4 09:41:57 2015 -0400
Update OVH public cloud information
OVH has two regions now. Also, be clear that OVH does not use floating
ips.
Change-Id: Iabd84748cccec7da6e083b647511cba48d57bc20
commit 82aea48d1057c123f68042f2017f46b5df117f23
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Sep 3 09:53:22 2015 -0400
Avoid 2.27.0 of novaclient
There is an unfortunate set of bugs out in the wild which make
2.27.0 novaclient non-working against many existing public clouds. Fixes
are in works for 2.28.0 - for now, express that 2.27.0 should not be
used.
Change-Id: Ia6cc574c8ec8bf1290f01d5a602dd2b8ee78549d
commit fb24f1d113c03cf4d542331428e63f58a80eef71
Author: Eric Harney <eharney at redhat.com>
Date: Thu Sep 3 07:52:37 2015 -0400
Handle empty defaults.yaml file
If defaults.yaml is empty, a TypeError is thrown
because the result of yaml.load is not iterable.
Change-Id: Ic3283ebaf9dd325e4f430e70bce08c6d716f60bc
commit b52d74478127617b4d0583ce63739fdd3c4eebf4
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Tue Aug 18 12:47:38 2015 -0400
unregister_machine blocking logic
Additional logic to preemptively prevent NIC removal when a
machine is unregistered by pre-validating if a node is can be
safely deleted.
Change-Id: I55152de9d42143be3b8a4e3da00da0bc0ec88dff
commit 337a0ed8fcb74ce67f6275851c4f512f66037820
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Sep 2 07:39:44 2015 -0400
Fix exception lists in functional tests
There is a pattern in our functional tests where exceptions are
aggregated within a list and then joined within a single string.
However, the join expects them as strings, not as exception objects.
When this code is hit, it causes an exception:
TypeError: sequence item 0: expected string, OpenStackCloudException found
This change converts those exception objects to strings.
Change-Id: I0a041a61537b79c73615e5136492141da0926fee
commit e5895144ec9591d03349dc6e3066148dc4b4543d
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 15 15:56:23 2015 +0700
Migrate neutron to the common client interface
Neutron was causing issues before. So make it its own patch to isloate
it.
Change-Id: I4621afa67f4f06d3cb12d6226ee00fb6e5611759
commit bd24a6dd8efa9d35014f98b4f69426656f59c068
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 1 10:15:25 2015 -0400
Remove last vestige of glanceclient being different
There is an ongoing transition across OpenStack from endpoint_type
to interface. New glanceclient uses the new form, so we support both
and can remove the copy/pasta in the glance_client constructor.
Change-Id: I63f70a0102eb7d7982eacf28ff14642550942911
commit 16b0720e40ceba532566f9e794527305b8d299f1
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Sep 1 10:06:43 2015 -0400
Pass timeout to session, not constructors
In Session-based construction, we need to tell the Session about the
timeout.
Change-Id: Ia18940848431902c82580a6214d6d6b6e5783fb0
commit dcf079e4185b800d7c5a227ea903fa7abcecb3f4
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Sep 2 10:43:10 2015 -0400
Delete floating ip by ID instead of name
Change the cleanup function so that it does not assume that the
external address is a floating ip. Further, pass in floating ip
id to delete, rather than the IP address.
Change-Id: I2062ddd1bfea1787375961c58af284479dc0982f
commit ceb6a1d36ea197d6489d981c112ec187cf29a961
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Aug 31 15:49:49 2015 -0400
Move glanceclient to new common interface
This is awesome, because it means glance is aligning.
Except that timeout and endpoint_type are divergent. We'll add
timeout to glanceclient. We need to sweep the other libs and see
if they can accept interface.
But for now, this works.
Change-Id: I755af46a5621983a04c4e07787fd6d10333b7cc4
commit 2920aa0e823043cedaacff002f8b73c1c52da75b
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Mon Aug 17 18:35:01 2015 -0400
Addition of shade unregister_machine timeout
Adds support for setting wait and timeout values for
the removal of machines from Ironic.
Change-Id: If08ccd60e18f2f5ceabecc07a2bbc380552a9af1
commit de6cb7895001628834c098bbd5b53d71a06bcff7
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Wed Aug 12 11:21:05 2015 -0400
Initial support for ironic enroll state
Addition of logic for the ironic enroll state which will
ultimately permit a newer client library version.
Change-Id: I85fe0f2b2f0e6766928f9fb23cb1a8177779008c
commit 2726843ee54a3c9f061b9ed2451d080f459e4f38
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Aug 18 16:27:08 2015 -0700
Do not treat project_name and project_id the same
There are clouds where doing this is not working.
Change-Id: I1d2e71b2a6ad22eb5070b92448779f2e9df71e4a
commit a735e12e307acd64e363e0bee57c1b91412c0af3
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Aug 11 18:39:58 2015 +0000
Add flavor access API
Add methods to control tenant/project access to private flavors.
Change-Id: I23fc6f45095ed2b182e17192c00f74ef84afedd5
commit 40fdf2bac69823498fc1893eef15e897ae69eb1c
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jun 15 14:25:14 2015 +0300
Make client constructor calls consistent
The previous patch involved copying and pasting a bunch needlessly.
Combine the common pattern into a single factory function.
Change-Id: Ie80dd13dd4095b23d35362bc8e4ccefc8b346260
commit e29ed75a4b72ed25c7791dab8a66f3a3c86f962a
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Aug 13 09:14:01 2015 +0000
Revert "Revert "Use the correct auth_plugin for token authentication""
Name the auth type needed for using an admin token "admin_token". This
hack can be removed with keystoneclient and/or keystoneauth make a
release with the admin_token entrypoint defined.
Naming it admin_token further reduces the conflict with OSC, which
should make the patch to work around OSC having different arguments
unnecessary.
This reverts commit 0e3117cb01d201f403be72cbb1218b9eec69a541.
Change-Id: I079c7c61b2637ded73542876cb1378a0731f8631
commit 085074d6023695829b2c530ed2ec3210bb9abe9b
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Aug 12 15:49:44 2015 +0000
Change functional testing to use clouds.yaml
Using clouds.yaml, instead of sourcing openrc, we can have better
functional testing by distinquishing between an admin account
and a normal user account.
We cannot both source openrc AND use clouds.yaml as this confuses
the inventory functional tests, and is not a recommended way of
utilizing o-c-c, anyway.
In order for these test to work, a bug fix was needed in
os-client-config, so the requirements was bumped to 1.6.2
or higher.
Depends-On: I6458969b45f5534e1172b9f8ba598d7c536a59b5
Change-Id: If459afba3cf61b3c7f641c79494cd53a682666a4
commit 0e3117cb01d201f403be72cbb1218b9eec69a541
Author: lifeless <robertc at robertcollins.net>
Date: Thu Aug 13 07:09:22 2015 +0000
Revert "Use the correct auth_plugin for token authentication"
This reverts commit dfef01a7cbb9d68ad443d182e548ec58143a3a1f.
This broke the world.
Change-Id: I65d820b0da807a161eae814ea4b5413f245d7bf0
commit eeae22fb7f6e179f4371fcbf82367918df091a00
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Aug 10 09:17:02 2015 -0400
Add a developer coding standards doc
We have coding standards. Let's tell others about them.
Change-Id: I36456fa706db96ad1abb3d121f90981845065d8c
commit 13a04f76b9f13ec89a9d0aa8a7e9b064e8fa98b4
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Aug 12 19:56:51 2015 +0000
Ignore infra CI env vars
When running tests in the infra CI system, some OS_ environment
variables are defined (e.g., OS_TEST_TIMEOUT, OS_TEST_PATH,
OS_STDERR_CAPTURE, OS_STDOUT_CAPTURE) and this makes o-c-c think
that we are using environment variables for an envvar cloud. In
some rare cases, this can cause tests to fail if they expect
cloud definitions to come only from clouds.yaml. This change
ignores these CI variables.
Change-Id: I6458969b45f5534e1172b9f8ba598d7c536a59b5
commit dfef01a7cbb9d68ad443d182e548ec58143a3a1f
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Tue Aug 11 23:54:39 2015 +0100
Use the correct auth_plugin for token authentication
Use ksc_auth.token_endpoint.Token as Keystone authentication plugin if
auth_type is token_endpoint.
Change-Id: I1a6d6dfe731527d7040cfbc2404fd5cf86ba5893
commit 575508dba275b47664a98eafa4ba11e430a6d954
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Aug 7 19:15:01 2015 +0000
Add flavor functional tests
Test for creating and listing flavors.
Change-Id: I30a351424515558d5e0e71cb2d391e19bff20fe5
commit ef756c46b8f558d14d4c3baf989d4a8188233279
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Aug 7 18:52:02 2015 +0000
Bug fix for obj_to_dict()
Float values were being discarded by obj_to_dict(). Eek.
Change-Id: Ia04c74ceda02e408ae4aa5b372a6976d12591589
commit 20b3dd11763237b6fc75a637527e7d94ec303032
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Aug 7 06:40:12 2015 +1000
Add log message for when IP addresses fail
We take the action of deleting something for the user, we should tell
them.
Change-Id: I1afe1bc53c0ae76967442b93cd25693d4d8b4e89
commit 1ead623f8c06ea2adc1a6343df1e2ece27327ed8
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Aug 6 11:16:41 2015 -0400
Add methods to set and unset flavor extra specs
Extra specs cannot be set on a flavor at create time, so these
methods are needed so folks can, you know, set and unset specs.
Change-Id: Ifc62bbe6dabe5bda893e299a53c611b6002c00ba
commit ee34c7d483421842fede1f0ec280e442a9484773
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Aug 6 16:41:49 2015 +0000
Listing flavors should pull all flavors
There is a bug in list_flavors() in that we were not listing ALL
available flavors, only public ones. This fixes that bug. In order
to list only public (or private) flavors, search_flavors() should
be used with a filter on is_public.
Change-Id: I444ddde9a2ac6b66b2c427c860046bd85e216e63
commit b55f88bddc211b46fe6513ae11c2b743469a1dd6
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Aug 5 09:14:01 2015 -0400
Be consistent with accessing server dict
We had several different places where we were treating the server
dict as an object. Although it can currently be both because we use
Bunch objects for backward compatibility, we should be consistent
with treating it as a dict so that we can, hopefully, at some point
stop using Bunch objects. And also we don't want to continue to
provide bad examples.
Change-Id: I27eb467ac2e86454a86566336a55e892e7025fda
commit 84e3aae8da39142dc3acc97dd7ff2683400b34c5
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 1 10:29:23 2015 +1000
Throw an exception on a server without an IP
It's possible for a server to reach ACTIVE without getting an IP. Of
course, this server is not very useful. So, treat it as an error.
Change-Id: I1f5fd2632c33dcddaa924bf37c0896b08e568753
commit 80e1fbcd9072645c040a53cd0324e2596efa567f
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jul 29 14:13:58 2015 -0400
Be smarter finding private IP
In a neutron enabled environment, we can be more intelligent about
how we find a private IP address by looking for an IP on a network
that has `router:external` as False and `shared` as False.
Change-Id: I0029a04710ec39c997e051037cd32e671642b198
commit 0af29bda2fe3ed9ac6ff7e2237c52471ba413cd3
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Aug 4 09:08:32 2015 -0400
Clarify future changes in docs
The README was discussing future design decisions as if they were
already implemented. This can be confusing for new users. This
separates that discussion into a separate doc page and clarifies
its intentions.
Also, fix sphinx doc build warnings.
Change-Id: Ie66b60d972cae25a9805804ad17632aed0932627
commit a8e8c809eeec0f09b5d9207c29efb3c6a1f9c088
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 1 12:45:16 2015 +1000
Align to generic password auth-type
v2password can't handle v3 parameter names. But we align to those
for sanity. Ensure that a user gets the v2plugin that can handle
the auth instead of the one that can't.
Change-Id: Ie693e613fd5d0e20a4837923300502b1de02364b
commit 264fa42bfdd0af5cc4407dfe398472be74ea42b5
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jul 29 13:36:44 2015 -0400
Remove meta.get_server_public_ip() function
This method is unused and outdated. There is a public method in the
OpenStackCloud class named get_server_public_ip() that calls the
correct function in meta.py.
Change-Id: I852844a003f9d09d1579ce3509caa04cbbffd270
commit 6f09b546026b95b3034e76d198b05e2d89028694
Author: Clint Byrum <clint at fewbar.com>
Date: Tue Jul 28 22:47:56 2015 -0700
Document create_object
Change-Id: Ia9c4ffd27c1dbef1bff69aaef8100010cfe0d219
commit b1ae2233881d59a8d1187693446b2f0dd57334a4
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Jul 28 17:18:54 2015 -0400
Remove unused server functions
These functions are used neither in the Ansible modules, nor in the
nodepool code. Their existence is confusing as they serve no purpose
other than to add extra attributes to the server dict. They are
holdovers from when we still returned server objects, not dicts.
Change-Id: I06e5c2b7bfe3ba098016d5348e41e7002b361e6c
commit 914d82a33a21ea8848cef3be80bd8e3b94641cfc
Author: Atsushi SAKAI <sakaia at jp.fujitsu.com>
Date: Wed Jul 29 14:34:12 2015 +0900
Fix two typos and one readablity on shade documentation
resouce => resource
expse => expose
virtualenvwrapper => virtualenv wrapper
Change-Id: Id4dbcb4852eb2ef5dac4e0379e384c945c93a1ae
commit 8218cb261db734be64a2222136fc18fa05174602
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Mar 29 01:38:00 2015 -0400
Pass socket timeout to swiftclient
Needs a release of swiftclient containing the depended-on patch.
We're passing timeout to everyone else now, so for consistency, we
should pass it to swiftclient too.
Depends-On: I699ebb1e092aa010af678de7ba15712da6ed5315
Change-Id: I864403e0ac32f2645026dd13189a03cb9b0eeb01
commit ad59fe3a728cb12d930776aea8463a8982fd0d88
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jul 27 11:58:43 2015 -0400
Process config options via os-client-config
Assume that a cloud config object will be passed in. For compat,
create one and pass in kwargs if it's not - but based the internal
operation on the existence of a cloud_config object.
Change-Id: I31b2d851e0636c7742468aa62565295a2c5266e2
Depends-On: I8764ed68f8a38563c4242d4b50e2158e99ed4109
commit 494cea2d1cddf117252619735c433fb681e63801
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Jul 28 09:55:13 2015 -0400
Update ansible subnet test
Add a task for updating a subnet.
Change-Id: I55564f2d4a82bc4a0de23501f7d6b334fc54c973
commit 31eabb9a424c340f77039b26a8a6d3bf08589657
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jul 20 15:41:28 2015 -0400
Fix test_object.py test class name
Looks like a copy-paste error as TestShade is in test_shade.py.
Rename the test_object class to TestObject.
Change-Id: I73df0db1de2f4ca41d801bcca4dce53215faabe6
commit 6e9a52a734bfe44cc7971a4a2d8b37425013156d
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jul 20 15:34:35 2015 -0400
Fix for swift servers older than 1.11.0
Discoverable capabilities was not added to swift until 1.11.0. Some
providers are running an older version. These will return a swift
exception with an HTTP status of 412 because the URL (/info) is bad.
This change sets a default that is half the Swift default max file size.
The result is also cached as it isn't expected to change.
A separate, future change will take advantage of a newer os-client-config
which will allow setting the default value per-vendor profile.
Change-Id: I80b14cfae42fc160f42b44e4923472d14a4b9057
commit 212ce988609fafc830fcb59f42d31eacefc62565
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jul 27 12:15:46 2015 -0400
Clarify floating ip use for vendors
HP was not listed as needing a floating ip. Also, the non-floating IP
case mentions direct routing, so amend the floating IP case to mention
NAT for completeness and clarity.
Change-Id: I220c41f6c822b7b6ffb1ec11038749153ef5a6ee
commit b2d10751eaea6e1b9fe15a202a18a98d2c25c95f
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jul 27 11:48:26 2015 -0400
Add per-service endpoint overrides
Make it possible to override a service's endpoint like service_type
and service_name. This is already documented as working.
Change-Id: I8764ed68f8a38563c4242d4b50e2158e99ed4109
commit 5c6aefacc772b6e7d48654297d4512d54b18ba42
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 3 20:33:44 2015 -0400
Use disable_vendor_agent flags in create_image
By default, if you're creating an image by uploading it with glance, it
means you either made it yourself or you downloaded from somewhere like
Ubuntu or Fedora. In neither case are you likely to have special
vendor-specific agents in your image. If you DO have them, you know what
you're doing and can flip a flag.
Change-Id: I9cacfc0284f196f2f65494382ceb0d4e130f9fb2
commit 856b298175f970b3226f0cb39d78e82ed31c32ed
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 3 18:52:57 2015 -0400
Use os-client-config SSL arg processing
This logic was added to occ, so use it from there.
Change-Id: Icc224128ee397cdb50ee01fc75568a5207b8dbf7
commit 482d6ed82267de2c12e000f415aea38ee4d886db
Author: Rosario Di Somma <rosario.disomma at dreamhost.com>
Date: Thu Jul 23 12:42:57 2015 -0700
Correctly pass the server ID to add_ip_from_pool
The add_ips_to_server method is incorrectly passing the
server object to add_ip_from_pool instead of the server ID.
Change-Id: I252b585b940fd6598e6a328df4ef3041ee326249
Signed-off-by: Rosario Di Somma <rosario.disomma at dreamhost.com>
commit 21e7628882cd473be627863f047622b1502d15f7
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Mon Jun 29 16:35:07 2015 +0200
Add initial designate read-only operations
This change adds list/get operations for Designate domains and
records objects.
Change-Id: If37d07245281139c91e168c8652368d6f7a7c484
commit a9cf85b0cb8497757cce010e9d7accc2bf25ce06
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Fri Jul 17 22:10:42 2015 +0200
Always use a fixed address when attaching a floating IP to a server
When using Neutron, if the caller didn't specify a fixed_address when
assigning a floating IP to a server, automatically pick the fist IPv4 address
assigned to the fist port of the server.
This should fix the DreamHost use case: DH uses Neutron and automatically
assigns an IPv4 and an IPv6 fixed address. Even if it doesn't make sense to
attach a floating IPv4 address to a fixed IPv6 address, OpenStack returns an
error if we don't specify a fixed address when attacking a floating IP to a
server port when multiple IPs assigned to that port.
Change-Id: I4b91bf29366c4d8b5277d0d97cd9571770252961
commit d6d2cbe5e1ada67f78e7dd1bedebe8a57fcac8fe
Author: TerryHowe <terrylhowe at gmail.com>
Date: Fri Jul 17 11:26:03 2015 -0600
Remove requirements.txt from tox.ini
From lifeless: pbr reflects the package dependencies from
requirements.txt into the sdist that tox builds.
Change-Id: Iaa6026a504cc53784aad5731e9afe8b684b3ede5
commit db0480e716aebf44dc8bdaadcd83a138e4441543
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jul 17 11:17:22 2015 -0400
Catch leaky exceptions from create_image()
The create_image() method calls various other helper private methods
that do not attempt to catch the underlying client exceptions and
wrap them as OpenStackCloudException exceptions. This change will
catch all exceptions, rethrow OpenStackCloudException exceptions,
and wrap all others as OpenStackCloudException.
Change-Id: I155af0dcb6aeeb33a001a30183496bb2c227f46a
commit b292db766ff49a9d34a9b8877440add6d0253335
Author: TerryHowe <terrylhowe at gmail.com>
Date: Thu Jul 16 14:52:24 2015 -0600
Remove py26 and py33 from tox.ini
Change-Id: I79a9dceffc0432398bda70949db2e523cbbff515
commit 0b698134db7fef262304f1eb55b374dc36ce93b1
Author: TerryHowe <terrylhowe at gmail.com>
Date: Tue Jul 14 12:30:16 2015 -0600
Rename 'endpoint_type' to 'interface'
The keystone folks seem to feel that interface is a better name
than endpoint type.
Change-Id: Ibfc54e725b6dae843c07f7786f51f9fb9141c983
commit b4145438fd603aca96f196383f3aee8b0973d24c
Author: TerryHowe <terrylhowe at gmail.com>
Date: Mon Jul 13 13:51:11 2015 -0600
Have service name default to None
It seems like having service name default to service_type
would not work in a lot of situations.
Change-Id: Ia70242fad346c1681fa4abca9d604aea3ae002dd
commit e7241b4e626e4e24fd2692a9f42520a50d3b3414
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jul 6 09:30:27 2015 -0400
Add flavor admin support
Add methods to create and delete flavors to the admin interface.
Change-Id: If8a239a4d0c5db63f6fa34048f8a5f44b09fb109
commit 3891816acb6dd287f89498dd0fcb714b722f9252
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jul 16 09:09:35 2015 -0400
Remove region list from single cloud
regions is a list of regions that can be used to create more than one
CloudConfig object for each cloud/region combo. The regions field
itself makes no sense to set on each of those CloudConfigs, so do not
pass it through.
Change-Id: I76b3bb3bc4778223d72f86d01d02ce150651b3b9
commit 608713583ad3553f3cb9d456b5df8a01dcc999e5
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jul 15 16:11:13 2015 -0400
Fix debug logging lines
There were several places where the exc_info parameter to the
logging.debug() method was included inside of string.format()
methods.
Change-Id: I696e03c95c101d612174e78604f2753cf41a0d6b
commit 62c1f2a23e644d7fe0140c4062651febb2545d26
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jul 15 07:58:14 2015 -0400
Account for Error 396 on Rackspace
Error 396 doesn't have a name, or a description. It's just Error 396. It
shouldn't be judged for its failings in being descriptive, nor for the
utter lack of necessity of its existence. Instead, we should feel sorry
for it and the meaningless life it lives. You see, Error 396 is the
error that the asynchronous image importing code returns when an unknown
error is encountered and retrying is the appropriate action to take. Why
doesn't the importing worker simply retry itself? Only Cthulhu can
possibly know the answer to such a dark question, but perhaps it's for
the best. Even a meaningless life such as the one Error 396 leads is
better than no life at all. Or?
Change-Id: I848986c9616d96caaad69806ad8b4f9f10301768
commit 8f3a48ba815b7d6e69626dcde769331214e8e80d
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Wed Jul 15 01:53:39 2015 +0200
Fix small error in README.rst
Change-Id: Iba33df0c19d895be98e6f63467f6d3143fae88c0
commit b74df460a821d522d78ee76ba699bc4265efa2bc
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Jul 14 10:54:21 2015 -0400
Fix set_default() when used before config init
Using set_default() before initializing OpenStackConfig would cause
an error since the _defaults dict would still be None and not an
actual dict. This corrects that by calling get_defaults() to make
sure it is initialized properly, and also adds a warning to note
that the method is now deprecated.
Change-Id: I81803c680b614f9bee47c6f69a4efffa638dcebc
commit 9ac1517f287642bd1b2c6bddda2ab613d6b94597
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jul 7 14:01:50 2015 -0400
Allow use of admin tokens in keystone
For bootstrapping purposes, an admin uses an "admin token" which is a
statically configured secret in the keystone config file. If one has
used this, there are things one cannot do, such as query the catalog.
That's ok - because what you're doing is bootstrapping the contents of
the catalog.
In order to enable that, we need to work around the normal "just infer
the right thing from the catalog" logic, because there is no catalog.
Also - it turns out that direct use of the v2 and v3 clients allows one
to just pass in a Session, rather than needing to query the session for
the auth_url to pass in. This does not hurt the non-admin cases.
Change-Id: I7e15214a589dd3cb270f4835e074dc13cab3e529
commit 5709ca8f28d67fe648924be8c9a2562b75695134
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jul 10 15:10:25 2015 -0400
Fix identity domain methods
Some bugs made it through the review process. The delete_identity_domain()
method was calling an invalid update method. It also should only accept a
domain ID, not name, since converting from a domain name to ID would require
listing the domains (an expensive operation we are trying to avoid).
Change-Id: Iccc89f133b4122d88bc77f72d89ae6c12eff1eb9
commit ab1c566cb8afbf477492180e2cc8257817a06893
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jul 10 08:09:21 2015 -0400
Update ansible module playbooks
- Removed unnecessary variable import from subnet role.
- Add client_config role.
- Add os_auth role.
Change-Id: Ie42a4a26589807ec47cc081d72350ada11b076fe
commit 7965fd2a24c4875fdea0843dae6ed33b4ee010d1
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jul 8 10:51:38 2015 -0400
Rework how we get domains
Listing domains is very expensive and to be avoided. It's also only a
thing that really an admin is going to do.
Go directly to the API for specific domain get calls, rather than doing
a list and filter because of the cost.
Change-Id: Icfcb08fb87a37287491c69c6e2b416ec810b754b
commit 6523cf62fa369fe1909a951ac7bce465aa222c06
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jul 4 11:03:07 2015 -0400
Specify the config file with environment variable
The fine folks at ansible want to be able to specify a specific location
for the config file with an env var which seems like a perfectly
reasonable thing to allow. Inject the specified file at the beginning of
the list so that it'll be the first one found.
Change-Id: Ib1947be1c0ae812e9cb83c7b99168c05dfc6fa6a
Co-authored-by: Chris Church <chris at ninemoreminutes.com>
commit 1065ea4dbf91a1416e267223d0db96719490653b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jul 4 10:55:25 2015 -0400
Add support for configuring region lists with yaml
yaml supports encoding lists in a manner that is cleaner than comma
separated lists. While the old commas-in-region_name will still work,
add a 'regions' option that can be used to configure lists of regions.
Remove the comma-separated-list from the docs so that people don't try
to use it - even though it will work.
Change-Id: Ieb0aedb9c03fd26e644e9ba733b935f2c69daaf0
commit 7ad8db93391f75ee2ecd0361275941fd80237add
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Thu Jul 9 03:11:17 2015 +0100
Fix "Bad floatingip request" when multiple fixed IPs are present
This patch fixes the "Bad floatingip request" error raised when there
are multiple fixed address assigned to a port.
The issue is fixed using the fixed_address provided as a parameter of
_neutron_attach_ip_to_server() when updating the neutron floating IP.
Change-Id: I6bcc000912ee75c9507c3d7e790ffbe10b3b271a
commit df195a30144ed9878aa09ff4d5adec4f02fa9ace
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jul 8 15:20:51 2015 -0400
Add Ansible module test for subnet
Change-Id: Ia6303d4012cdbd8be226122cfddd46090c816cc0
commit 8a2db7ba3fe2ec923f706fe6fcbb23c25429f6cd
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jul 8 14:38:28 2015 -0400
Add Ansible module test for networks
Change-Id: I4e5a452de5952d8fa48bfa1831ac803642fc6ec5
commit 9d3cc7969b7022ac850d98321fa038a09a70f939
Author: Spencer Krum <nibz at spencerkrum.com>
Date: Wed Jul 8 10:25:51 2015 -0700
Fix rendering issue in Readme
Change-Id: If089b0331c6b40e983d81623ee3a6a541f93a45a
commit bfa1955e57b15d73f9d2e141794d53014de5b1b1
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jul 8 11:51:17 2015 -0400
Add a testing framework for the Ansible modules
Change-Id: Ifa23d5b3fd72ba40a832399cdf2956d887e11cfb
commit b3197e9fd5680578ce602f98a1cd6e85cbb109a9
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jun 11 02:59:32 2015 +0200
Support project/tenant and domain vs. None
Keystone v2 and v3 have a different enough interface that we need some
helper methods to make sure we're passing in the right things all the
time.
Change-Id: Ic2a6cde5746237842287cdd426849562d25195ba
commit 604c27fb54708e5d6abc1a462527b86ef4d9cbc3
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jun 11 00:53:47 2015 +0200
Add CRUD methods for Keystone domains
We're going to call these identity domains. I'm very tempted to call
them realms, since that's the name that would be most specific and since
Domain is clearly a thing owned by the Domain Name Service, but I'll
stop using this commit message as a rant now.
Co-Authored-By: Haneef Ali <haneef.ali at hp.com>
Change-Id: I2dd10aa7081fdb1d0bf21aa266e5a707e965f055
commit 2ab23109cb74a66b1d3108508a8c162a078e9edf
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jul 6 15:39:09 2015 -0400
Raise exception for nova egress secgroup rule
Nova does not support egress security group rules, only Neutron.
Trying to add one with the current code base simply ignores the
direction and creates an ingress rule. Not ideal.
Change-Id: I10f3d67b1f66b8c05eb36ec5cecfb530d93458aa
commit 01aeceeae988262c2c5c2de7041ff9483fe5a855
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Jun 30 16:35:55 2015 -0400
Modify secgroup rule processing
It turns out that Neutron can accept None for a rule protocol to
represent all protocols. Nova has no similar concept for a single
rule, so let's throw an exception.
Also, Neutron relaxes the rules on accepting None for both port
values to represent the full port range for TCP and UDP. For ICMP,
it is the same as -1.
Change-Id: Icc408586804e2a538399a2aa3f740b97bb4c5246
commit 648e4fd08120738cee1553c3fa2d19f48a60852a
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Tue Jun 30 00:11:09 2015 +0100
Make sure we are returning floating IPs in current domain
Make sure we are returning floating IPs in current domain when searching
for already allocated and available floating IPs.
When using a privileged user, Neutron returns all floating IPs allocated
in the cloud by default.
Nova just return floating IPs in current tenant.
This patch adds project_id parameter to
_neutron_available_floating_ips() to allow searching floating IPs in an
arbitrary tenant. If project_id is None, the current tenant id is used.
Change-Id: I4055e73ace8fa6653e154adf049ad423e976ecfe
commit 235dedcf3d3db477acda827d6583214abc3caff8
Author: Gregory Haynes <greg at greghaynes.net>
Date: Mon Jun 29 22:12:35 2015 +0000
Correctly name the functional TestImage class
This seems like a copy-pasta that got overlooked, the TestImage class
should not be named TestCompute.
Change-Id: I00e9d651936f1aacfece5f461b41c43573830715
commit fceb193f53a91fa1857dcf772ff8be5e38b14d4a
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Thu Jun 25 10:48:19 2015 -0400
Locking ironic API microversion
Due to changes related to the ironic state machine, and impending
breaking change that enroll node state will cause, we will lock the
ironic API microversion that shade utilizes to ensure consistent
user experience until shade receives sufficent updates to perform
the state transitions for the user.
Blueprint: enroll-node-state
https://blueprints.launchpad.net/ironic/+spec/enroll-node-state
Change-Id: I3332fdadcfe0759ef4ebe237a6d0bbdca4b10272
commit 808a50aa4f8d004eaefb51e303f5b6311c491e86
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Fri May 15 21:48:06 2015 +0100
Add Neutron/Nova Floating IP tests
Nova/Neutron floating IP unit and functional tests.
Some clouds out there are still running nova-network but we want to
provide support for neutron specific features and concepts like ports,
networks, subnets, etc.
This change is part of a set that adds neutron support to existing
floating IP-related functions, hiding that behind resource-oriented
methods.
For instance, at high level, end-users can now request that a public IP
is assigned to an instance without worrying about the specific service,
procedures and protocols used to provide that feature in the target
cloud.
Change-Id: Ib53923246e095283e1b470e50aeac3050b8c296e
commit b12b3b6e2294b148df0bac01d4ca44057a03f227
Author: Steve Leon <kokhang at gmail.com>
Date: Thu Jun 25 16:43:02 2015 -0700
Adding SSL arguments to glance client
I am using os_server ansible module to boot VMs. This fails in a
SSL Openstack env. It fails listing the images because it is verifying
the cert.
Change-Id: I062c0fd3adb84a758e1a1b3664bc6d225ca1e174
commit 50f05448982b5fafd9d9a7783b639dd145090a0d
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Jun 6 09:40:03 2015 -0400
Clean up vendor data
There are some clear central defaults. Call them out and don't repeat
them. Also, ran the yaml files through a flamel conversion so they're
all consistently formatted.
Change-Id: Id19116c5e8266c109cf015d097cb6cb35f1beae8
commit 65dd84515be415fe9f0c5751ecb8b6c51e3fabcb
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 26 10:58:37 2015 -0400
Add support for indicating preference for IPv6
People, such as Infra, would like to use IPv6 when it's there, but don't
want to need to write the "if ipv6, awesome, else, ipv4" code all the
time.
Change-Id: I870955863f1e8851c684dc604584c1ef3e20dd6b
commit 0b09988cba58a03cf7d351238621c8d4b37c2ece
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jun 25 10:48:47 2015 -0400
Remove list_keypair_dicts method
This is unused and unnecessary now with the update to the
keypair API.
Change-Id: I04906e0fb35ffcac0d046ba37aa52c2a3cad8b1a
commit 1e447b4e202de54c0026ae9ed2a2fa7f6d36f22e
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Thu Jun 25 10:20:04 2015 +0100
Do not use environment for Swift unit tests
Swift unit tests initialize the cloud object using
shade::openstack_cloud(). That method uses os-cloud-config to load
cloud parameters.
As a consequence, this test could use real clouds or just fail because
of unexpected values in the cloud object settings.
Change-Id: I8006913ed2edf9b5019e83c8b958d48dfdf04cb2
commit 882ad91dffdfac2945932bbbc9071646f07cdcd4
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Wed Jun 24 17:29:11 2015 +0100
Add Neutron/Nova Floating IP attach/detach
Some clouds out there are still running nova-network but we want to
provide support for neutron specific features and concepts like ports,
networks, subnets, etc.
This change is part of a set that adds neutron support to existing
floating IP-related functions, hiding that behind resource-oriented
methods.
For instance, at high level, end-users can now request that a public IP
is assigned to an instance without worrying about the specific service,
procedures and protocols used to provide that feature in the target
cloud.
Change-Id: Ibeec7354e4690f5ea69641e8367e7adea7c64ce7
commit 5d666939ba35d539ab3e512ec0b165df9f9d0ccc
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Thu Jun 25 10:03:19 2015 +0100
Fix available_floating_ip when using Nova network
When neutron is not available and there are no floating IP already
allocated to the project, available_floating_ip calls meta.obj_to_dict()
on a Bunch object.
Moreover we can save an API call as we already know the pool name.
Change-Id: I997cb0edc4fd9160b6804a29d404190526303720
commit fd36850b24ade1af62aa510850e34d473428e1f5
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Thu Jun 25 09:41:36 2015 +0100
Skip Swift functional tests if needed
Not all clouds have Swift, this patch skips functional tests for it if
the cloud used doesn't have the object service in its catalog.
A warning message is printed to inform the user object service
functional tests have been skipped.
Change-Id: Ie05d08c695f4d42d41d23d5e35e9caca03aaebb1
commit 2b64bbc7d6e8e36c10ca86ae7cf7aed78c55c9d5
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Thu Jun 25 09:39:01 2015 +0100
Fix AttributeError in keystone functional tests
OpenStack allows omitting names for services. This patch adds a check
to ensure we do not call startswith on None values.
Change-Id: Id6be1182a2226e3e53a10f6e29f674d777eae6c5
commit 6f93b3a253128191f35064f3d5e2a9d10086a99c
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jun 24 17:07:58 2015 -0400
Update keypair APIs to latest standards
This brings the keypair API interface up to our current standards:
- Stop leaking keypair objects.
- Adheres to the new get/list/search interface.
- Catches client exceptions and rethrows as OpenStackCloudException.
- Returns True/False in the delete API method.
Change-Id: I1d762898fc03765fc028943c2f792605b1ebcd1c
commit f9c72e91a6284df3e6e520a968b554f29fd54cc9
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Fri May 15 19:15:51 2015 +0100
Add Neutron/Nova Floating IP delete (i.e. deallocate from project)
Some clouds out there are still running nova-network but we want to
provide support for neutron specific features and concepts like ports,
networks, subnets, etc.
This change is part of a set that adds neutron support to existing
floating IP-related functions, hiding that behind resource-oriented
methods.
For instance, at high level, end-users can now request that a public IP
is assigned to an instance without worrying about the specific service,
procedures and protocols used to provide that feature in the target
cloud.
Change-Id: I699d65ef3f9d917e14b4046d5ee4e6763e2ecc74
commit 73c07744132ea0244181b8faef3e4df592476889
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Fri May 15 15:59:27 2015 +0100
Add Neutron/Nova Floating IP create (i.e. allocate to project)
Some clouds out there are still running nova-network but we want to
provide support for neutron specific features and concepts like ports,
networks, subnets, etc.
This change is part of a set that adds neutron support to existing
floating IP-related functions, hiding that behind resource-oriented
methods.
For instance, at high level, end-users can now request that a public IP
is assigned to an instance without worrying about the specific service,
procedures and protocols used to provide that feature in the target
cloud.
Change-Id: I2196ebf9b0131346675f90ca9fb21c3baf8d177f
commit 735aae777ede16deec7cc206d1d4e9ebdb5b7564
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jun 19 09:47:23 2015 -0400
Convert ironicclient node.update() call to Task
Changes the node.update() calls to Task calls. Also adds missing
test cases.
Change-Id: Iaa97aef01b14c348b8cf9045b928a972151b0614
commit 5369ffc3dce5cb5789fb654da2829f2de793e21a
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jun 19 09:22:12 2015 -0400
Convert ironicclient node.get() call to Task
Changes the node.get() calls to Task calls. Also adds missing
test case.
Change-Id: I94b2c2bdb4c7c8bb7b96d3aa0e0117ec3585e620
commit fdefa583ae80a62f8b03edb904fd2bdbe406159c
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Mon Jun 22 15:48:41 2015 +0100
Move TestShadeOperator in a separate file
This patch separate tests for OpenStackCloud and OperatorCloud classes.
Change-Id: I503c31cb6f15258572d85b8b82da03bee67b77f1
commit 9db26ef1e2c7a33ad01eaf2a9cd27ff1ed56be97
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Sat Jun 20 23:23:48 2015 +0100
Fix intermittent error in unit tests
After the introduction of unit tests for the _neutron_exceptions
context, unit tests fail randomly with the following error:
AttributeError: <class 'shade.OpenStackCloud'> does not have the
attribute 'mock_me'
This error is due to the wrong location of test__neutron_excetpions
tests (i.e. the TestShadeOperator class rather than the TestShade
class).
Moreover, as pointed out on IRC we can get rid of "fake" methods to test
the _neutron_exception context, just using the existing code.
Change-Id: I2cfdcfce606272fbdbdf8a463db895d3d5a4a1e3
commit 29790338f5c0fa14ae1c3b0c87f31dd1e1fc284b
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jun 22 09:42:24 2015 -0400
Pin cinderclient
cinderclient 1.2.x is broken for all public clouds tested. What's worse
is that the break exhibits as hanging until timeout because of errors in
version autonegotiation.
pin so that people aren't confused and angry.
Change-Id: Ia3896f3ac38ded6225447bd4cbd03a086e741ad0
commit b631da86fee360533111eb9993e215d6cb64f522
Author: Gregory Haynes <greg at greghaynes.net>
Date: Mon Jun 22 05:40:40 2015 +0000
Normalize project_name aliases
We arent normalizing keys before we check for project_name aliases,
therefore using hyphenated versions of the aliases fail.
Change-Id: I3e0aa9dc38bbafc3c3a205f08b65abbd4528e874
commit bbcfbc86d299536dc465e32fdba856a74c1e6cce
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 17 07:55:58 2015 -0400
Add comment explaining why finding an IP is hard
Change-Id: I1bef3397f8e0134079a2fe18a2445c3de0a3ed1d
commit a998ecdb6c2060392d919d578958a693879ddd01
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 19 10:40:05 2015 -0400
Add IPv6 to the server information too
We have things that like to use it. It would be nice if we could arrange
for them to use IPv6 if it's there.
Change-Id: I64bba5bece7f00aa600b4108bcf60f6be1d5316d
commit af32bbb474e4de8ba30a247d866502477ead631b
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 19 10:02:47 2015 -0400
Use accessIPv4 and accessIPv6 if they're there
If the cloud has been friendly enough to provide an accessIPv4
or accessIPv6, just use it.
Change-Id: Ice62e9cdfe1ce7d1ea8fc0ce84de7febaa4e6c2a
commit cb1c0eacb380771ce02f0f156f9f1687022637b7
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Wed May 13 13:02:12 2015 +0100
Add Neutron/Nova Floating IP list/search/get
Some clouds out there are still running nova-network but we want to
provide support for neutron specific features and concepts like ports,
networks, subnets, etc.
This change is part of a set that adds neutron support to existing
floating IP-related functions, hiding that behind resource-oriented
methods.
For instance, at high level, end-users can now request that a public IP
is assigned to an instance without worrying about the specific service,
procedures and protocols used to provide that feature.
Change-Id: I35c3af4b8c43af9988463785cb48c0c41abe6abe
commit 7cde7c5ad136cda8304e7edb36f8059cd4464360
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 19 09:25:13 2015 -0400
Catch all exceptions around port for ip finding
If neutron does not work, then it's going to throw inside of list_ports,
which is going to send an OpenStackCloudException through search_ports,
which is then not going to be caught by the NeutronClientException trap
here.
Change-Id: Id25ff2688de55f4b39a145185269bc7b7ccb89eb
commit ebfef54bc391bc8075a83e2cfa18c3f625374c1d
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Tue Jun 16 13:49:26 2015 +0100
Centralize exception management for Neutron
A common pattern we use is to catch OpenStack clients exceptions and
re-raise an OpenStackCloud* exceptions.
Moreover, we need to distinguish NeutronClientException with status
code 404 from other Neutron exceptions in order to handle Rax broken
catalog (i.e. falling-through and using Nova API).
This patch centralises all that.
Change-Id: Ia14083bee7988e90a9e5ce04305a8ead4511b3d3
commit 6367ead33baa35939d591b76ffa9563887d1b25b
Author: Clint Byrum <clint at fewbar.com>
Date: Thu Jun 18 09:20:58 2015 -0700
Fix MD5 headers regression
This regression was introduced when we switched to
swiftclient.service.SwiftService for uploading because of a
documentation bug. The option was listed as 'headers' but it should be
'header'.
Change-Id: Id590f624aa084af0747b93ae70b214600147ebb2
commit e25936b1a3e9af283705c982e03b2e11b6826795
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jun 18 10:46:04 2015 -0400
Ensure that service values are strings
Sometimes ints can sneak in in api version values. We never want that.
Change-Id: I730be13d3328bdee1652186021ee1579f8ef4b57
commit 11059de528e58d50c1f9c53bf89ba244e327c8f4
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Jun 18 09:01:31 2015 -0400
Pass token and endpoint to swift os_options
get_capabilities runs through a code path in swiftclient where the auth
token pieces need to be in os_options. We also need to tell swift to use
keystone auth, not swift auth.
Change-Id: I3768f40059b6f6591f67e47a3202ed17779d0fe8
commit 6098388a490c6e81f51161dd83b23fd205b34977
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jun 17 12:17:52 2015 -0400
Convert ironicclient node.validate() call to Task
Changes the node.validate() calls to Task calls. Also adds missing
test case.
Change-Id: I3db70de3ecd1faf5380f9b3201dbecc37541b994
commit 208c084a5495af2d11aecda8d58fb0d7c9a48615
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jun 17 12:02:03 2015 -0400
Convert ironicclient node.list() call to Task
Changes the node.list() calls to Task calls. Also adds missing
test case.
Change-Id: I5a7cd1a4193777d1c1f96c87efd1308a29f59b64
commit 03967b17ff5999242007db8fead832f9754bb55c
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jun 17 09:55:32 2015 -0400
Return True/False for delete methods
This changes many (not all) of our delete methods to have consistent
return values: True if the resource was deleted, False if it was not
found for deletion.
The methods being changed here either returned nothing at all, or
they raised an exception on resource not found. The ones that raised
an exception no longer raise this exception, and instead return False.
We also make sure that a debug log message is output for a delete
request that could not find the resource.
Change-Id: I0ee4654dc6f68b475179d36002fe9db713e26290
commit 1550cfce0a11eb92f2411be9c94136e01c0a185b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Jun 14 04:18:32 2015 +0300
Add some accessor methods to CloudConfig
There are some questions that people might want to ask without
necessarily digging in to the underlying dict (this came up when
noodling on openstacksdk factory functions.
Change-Id: I3d9554a5e64797794de646d4d0d61936b857f2b4
commit f6c0f808fa879024881aa7b714f05fc14175e73d
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jun 15 15:51:47 2015 -0400
Add delete method for security group rules
Adds new API method for deleting a security group rule.
This conforms to the newly agreed upon pattern of returning True
if the resource was deleted, or False if it was not found and
could not be deleted.
Change-Id: I9c66aee078fa999a85336f600f086b93640ca96e
commit 3cee02eb80d048dbc520a933ab78a925c4e7118f
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Sun Jun 14 00:52:35 2015 +0100
Add get_server_external_ipv6() to meta
This function assumes that if a server has an IPv6 address, that address
is reachable from outside the cloud
Change-Id: Ie8949a85d676fc836f90303e61e5abcd1f11cc53
commit 669af9aa6083a7de717dde47251e506c99e06295
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Sun Jun 14 00:52:06 2015 +0100
Refactor find_nova_addresses()
Current implementation of find_nova_addresses() doesn't allow to search
just IPv4 or IPv6 addresses without specifying key_name or ext_tag too.
Moreover, when using key_name it doesn't take into account ext_tag.
This patch refactors find_nova_addresses to be more "intuitive" and to
allow searching just IPv4 or IPv6 addresses.
Change-Id: I58601a8a12ede4519869c6cf2206a934c38553f3
commit 1f0171bea3d43635b02d40aaeab7ac969cfb54ee
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Sat Jun 13 15:39:04 2015 +0100
Replace get_server_public_ip() with get_server_external_ipv4()
get_server_public_ip() just returns floating IP addresses or addresses
from a network named 'public'.
get_server_external_ipv4() tries hard to find an IPv4 address reachable
from outside the cloud.
Change-Id: I8e2c856b8f913424d3c0f20b72f240e08e4b9f62
commit 07f72e19f585138994eed2a446aec53ab3b90705
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Sat Jun 6 17:49:02 2015 +0100
Add get_server_external_ipv4() to meta
It turned out we can't rely on get_server_public_ip to get an
externally reachable IP of servers because not always floating IPs
are used and not always are what the caller is looking for.
get_server_external_ipv4() tries hard to provide an IP address of the
given server that can be reached from networks that are external to
the cloud.
Unfortunately from some clouds (or for very particularly configured
servers with multiple interfaces) it could not be possible to
reliably determine those IP addresses.
Those clouds are corner cases that are not supported by
get_server_external_ipv4()
Co-Authored-By: Monty Taylor <mordred at inaugust.com>
Change-Id: I099193437d0f45cfda78923349e500e9b2e0e053
commit b533b09373386ea4615ae17797212ce04f6b78ca
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Fri Jun 12 22:15:15 2015 +0100
Add more parameters to update_port()
While writing an Ansible modules for Neutron port (os_port) it turned
out almost all the parameters passed to create_port() function can be
passed to update_port() as well.
Official Neutron API documentation only mentions 'name',
'admin_state_up', 'fixed_ips' and 'security_groups'.
This patch add all the parameters that can actually be passed to the
Neutron update_port method.
Change-Id: I0e274d882295c7435cbeda529c4f48e2cccd9a79
commit 20f86ae4b66571cfb4926d1a1495a4744b0da62f
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Fri Jun 12 22:11:45 2015 +0100
Improve documentation for create_port()
Improve documentation for the fixed_ips parameter of create_port()
Change-Id: Ie29e388a43a633e2434584b1dc3752cb83e325ae
commit 6f5bf9c60cf09ce3b7600695d4ce825285e272f9
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Fri Jun 12 09:29:52 2015 -0400
Correct get_machine_by_mac and add test
Corrected get_machine_by_mac so it is functional and added
a test in order to help prevent it from being accidently broken
at some point down the line.
Change-Id: I1c1b40f1827c9fafe8826f7b07942c2ed7c85228
commit 965998c764557f3eff59cf040aa164f8402e9e47
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jun 11 15:08:42 2015 -0400
Add create method for secgroup rule
Adds the creation method for security group rules.
Rules, as returned from Nova, are normalized to look more like Neutron
rule definitions.
Change-Id: I4b1fa8b3067997a3a87de1ca0e8c924ae0b69f2a
commit 2f499ab98b03201374b1a18cb0e1669530c7e328
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jun 11 10:37:37 2015 -0400
Coalesce port values in secgroup rules
Nova uses -1 for non-specific port values in security group rules.
Neutron rules represent these as None. We need to be consistent in
the values we return from shade, so we'll pick the Neutron way since
we make Nova rules look like Neutron rules anyway.
Change-Id: I6b58c0f9d2f9f11860eade0b6ee2d164e67914b8
commit 120d68828965d8f2992fbb4c0a474a85d94b7246
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jun 11 09:56:07 2015 -0400
Move _utils unit testing to separate file
As more functions get added to _utils, it will be easier to have
their unit tests in their own file.
Change-Id: I59ec1b044de7b3777ede5ad62de5bad041d1a6d3
commit 78a3b204a7307cab82d8032d13bf915b7370c64f
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jun 8 18:06:42 2015 -0400
Add secgroup update API
Add the update API method for security groups and tests.
Change-Id: I7ac7b13e1beabec86fd11c62c0e905fd6f4589b5
commit eded4b31970d0762119548ef76e4f60dec2376d1
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Tue Jun 9 17:49:30 2015 +0200
Add missing tests
- Test get_all_clouds returns a full list of available clouds
- Test env. variables are stripped of initial 'os_' and '-' replaced
with '_'
Change-Id: If277aade17776d57236cc0e48a46fbb04158e7ed
commit dfcccbf30b1f64b345e610e450e75e39de97dbbc
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jun 3 18:47:10 2015 -0400
Add very initial support for passing in occ object
We've got a split personality in terms of whether we should use or not
use os-client-config... except we have a hard dependency on it. Maybe we
should just use it.
Change-Id: I398cfb474791fd0ee5e15de4e0ae222c1b25b9c0
commit de84b798f9eaac831621a63198ce2366effaeabd
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Tue Jun 9 13:00:16 2015 +0200
Add test to check cert and key as a tuple
When the cert file doesn't include a key within it, a tuple with
the cert and key needs to be passed to the requests library.
Change-Id: I17534b8e7d07b3ad102cc6a6a839541c83281b8e
commit fd16aa7d830cfe0c7f467205919e4a9d3a2fed9c
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 5 13:29:55 2015 -0400
Don't emit volume tracebacks in inventory debug
It's ok if a cloud doesn't have volumes, and it's a question we can ask
of the cloud. Now, keystone tells us about it by way of throwing an
EndpointNotFound exception. But it's a normal logic exception, not a
"this is unexpected" exception. So we can handle it, log a sane error,
and move on, rather than logging the full traceback.
Change-Id: If6fc1ab0bb8247e0fdbd1920aa0b076ac1707cba
commit 3a81f596b2c8d08a77f1fdcb84c79e598d673c2e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jun 8 15:36:28 2015 -0400
Return new secgroup object
The create method for a security group had a bug in that it was
not returning the newly created security group.
This also moves the logic for normalizing the nova data into the
_utils module since it is reused.
Change-Id: I19a3063769f1fc8c7bfd1d57aae0e5b839b8189c
commit 843402653d8c05698db481c4146a67846219ae60
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Sat Jun 6 13:06:39 2015 +0200
Use one yaml file per vendor
With an increasing numbers of vendors, having all profiles in
a single file, and with dicts inside dicts inside dicts... is
getting more complicated to have a general view of what is
available.
Change-Id: I6f386829774365125d585a6ff1b6e22f4c98df2a
commit 9f7a50619a170ec9c9d702862ea617cc1b17e765
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Sat Jun 6 12:50:42 2015 +0200
Raise warning when a vendor profile is missing
Change-Id: I12f5c9d824abee4af42403a86db8bf4a8bbcac16
commit d710accb3fd95eb7e5bc108a484e3ecc78498af7
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Sat Jun 6 13:32:20 2015 +0200
Some cleanup in the README.rst
Change-Id: I9f7c6c727708a9095566bce8d4ff03837be95d07
commit a2f25244d352f3f537f602f6a4b8f0ca785c05b6
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 5 15:48:17 2015 -0400
Add support for OVH Public Cloud
Change-Id: If2b4bc34a159d1ef4180fbd5de9bbedfaa5b3e82
commit 7e605f963fe88eded0017a4fdf85ebf13b4c52c1
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Thu Jun 4 13:39:12 2015 +0200
Add SSL documentation to README.rst
Explain usage and warn avoid behavior with conflicting
cacert and verify options.
Change-Id: I25b43ba47bd0feb941b649265c6e67723a93e277
commit 0b2a5557360c1f3eda37c4cf836ac54139822533
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jun 5 14:14:44 2015 -0400
Port ironic client port.get_by_address() to a Task
This call was not yet a Task.
Change-Id: Ibc46791240fe2f3671bc5d41f0134704fdb57bf7
commit fae69e63f2196485921fe8b829da73cb9afcdc1e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Jun 5 14:06:25 2015 -0400
Port ironic client port.get() to a Task
This call was not yet a Task.
Change-Id: I3c28b9dfb03d8eca6936973ae43a01eedd6e6f8b
commit 92b4cc30d7388917a27931b35f53a2655688b3ef
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 21 10:17:18 2015 -0400
Add inventory command to shade
The ansible inventory plugin is actually really useful for general
purpose debugging of cloud metadata. Also, having this in tree means we
can test it and make sure we don't break the interface for people.
Change-Id: Ibb1463936fac9a7e959e291a3856c4f8d32898e0
commit 2c926e618c17933b29a077d48bfda2dda0131a93
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 5 10:58:57 2015 -0400
Extract logging config into a helper function
It's an error to have a library class set up logging output for you, as
this will prevent a consumer from doing what they need to do with their
logging config.
However, for simple scripts, the complexity of what needs to be done for
"normal" operation is a bit onerous.
Create a simple helper function that a user can run to set up the two
most common types of logging expected for simple scripts.
Change-Id: I81ef597712ff885d95194c6e29a45a1b2e7f86b9
commit 95beafeadd99383fc99dd8aff5bfc9ce8ece7030
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Jun 5 10:40:01 2015 -0400
Stringify project details
There are some clouds that have things like integer project names.
That's no fun when they are interperted at int, so stringify them.
Stringifying integer project ids is apparently less important, but does
not hurt.
Change-Id: Ife9ecaa28c552d589dbea9a065da0dfa483592eb
commit bc253d62b9a61575c3ba2f443b2429b5df904905
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Thu Jun 4 13:06:43 2015 +0200
Raise a warning with conflicting SSL params
Setting a cacert to check the cloud cert is useless when
changing the default verify flag to False since this will have
precedence. Raise a warning to alert the user about this
behavior.
Change-Id: I099d03fef5e8da0d6eed572613f4693604173ecd
commit b1e562c3e59f64118d184e8655c7bfe343a09cdc
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Thu Jun 4 11:21:38 2015 +0200
Change references of "clouds.yaml" for real file
The config file clouds.yaml can be located in several places, and
even the file extension can be .yml. Replace all user visible
messages making reference for that file to show the full path
of the config file used.
Change-Id: I489d87368b72dfe69b7d4e3c07ba5d5249c45667
commit cf0bdc420aea3b4d282c01cdda17d14738ff13f7
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jun 4 21:22:13 2015 -0400
Add create method for security groups
Adds the API method to create a security group, using nova or neutron.
Change-Id: I495c8272220837982b7e1f880646748a30b7d727
commit 50975f52edd0ffe656d95b67c85b466c7dce12b9
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Jun 4 15:11:20 2015 -0400
Add delete method for security groups
Adds the API method to delete a security group, using nova or neutron,
and consolidates existing and new security group tests into a new file.
Change-Id: Ib85b3ec0de8b2b42f691c3e2127adb16e8b14c99
commit 8c445b52242371d98e566bf002f48b94b7dd00b5
Author: Clint Byrum <clint at fewbar.com>
Date: Mon Jun 1 12:10:06 2015 -0700
Switch to SwiftService for segmented uploads
Swift caps individual file sizes at various levels, so we need to adapt
to this and upload in segments. swiftclient includes the SwiftService
object to do just that.
This adds a functional test to try to upload files to swift. Because
sending 5GB of nulls does take a while, we're just going to try a
segmented upload and an unsegmented one, and see how that goes.
Note that this test coverage found a missing ObjectDelete task which
has been added. We also add the ObjectCapabilities task so that we can
make sure segment_size is never higher than max_file_size.
Change-Id: I43903235576245a316ae1921505237e9298b5200
commit f02636ecb9b2bc99a31d1a3c6c5901b90436e186
Author: Clint Byrum <clint at fewbar.com>
Date: Tue Jun 2 14:34:21 2015 -0700
Add support to get a SwiftService object
This adds a property of the cloud, swift_service, for the purpose of
enabling uploads via SwiftService's more advanced segmenting
capabilities.
In writing tests, it became clear that cloud.swift_client was leaking
exceptions, which we don't want it to do, which is why we add exception
handling to that method.
Change-Id: I045266e6d5f0b6bed3100905ada6ab35fbb06987
commit acc2cbdc98a80c71be4e1f55580914b9fdf8d4ab
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Thu Jun 4 10:24:58 2015 +0200
Raise a warning when using 'cloud' in config
The former use of 'cloud' in the config file, was changed
in favor of 'profile' to avoid confusions.
Change-Id: Iba08746a06ebb397ee1d0f59d5cda41db2b86053
commit 038ddd38185ace24e96017b3d638952a397e61c6
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Thu Jun 4 09:56:33 2015 +0200
Add cloud vendor files config in doc
Although it is possible to include specific config files for
unknown vendors, this wasn't specified in the documentation.
Change-Id: Ib27277d480e373a8a083e820161e0bdb985de284
commit 92040ef08cf8329d6f7f09c1bfa2dbd9fed2a0b4
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Tue May 5 00:25:06 2015 +0100
Add port resource methods
This change adds port CRUD methods to shade.
Change-Id: I0f91dab236076511c9d35eac4d32afa31b5b9a4f
commit a4e9d5cfc0fb796b9c982a2faf8335d21af85020
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon May 4 17:26:36 2015 -0400
Split security group list operations
Security groups can come from either nova or neutron or not be
available by the vendor. This uses a new flag from os-client-config
to determine where we should get the list from. Also, a new exception
is added for features that are not supported.
This required a minimum version bump in os-client-config.
Change-Id: I4474341ebc255700a06247846c6350981437e8ae
commit 988ab2a451a5af53a46fdf94ceffb2a864dbf8b1
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Mon Apr 27 00:03:39 2015 +0100
Add keystone endpoint resource methods
This change adds keystone endpoint resource methods to
OperatorClouds instances.
Only Keystone v2 API is currently supported.
Change-Id: Idf3bd7500f5853ec329945d8c8203bd7b6aed52f
commit da6929777d2ae49dcebe1bbe730b1661b3153424
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Mon Apr 27 00:03:39 2015 +0100
Add Keystone service resource methods
This change adds keystone service resource methods to
OperatorClouds.
Only Keystone v2 API is currently supported
Change-Id: I5d0b44664a6839502d86fed8d68717b086c34a81
commit fa0a120b4f8ace0b9b77ef797bc106d5f76c0557
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 9 10:11:37 2015 -0400
Rely on defaults being present
There will always be a fleshed out defaults dict now, so don't spend a
lot of effort in dealing with one not being there.
Change-Id: I93cea42c6e35457de1f2d8d1e37ead2ff41fba3a
commit fd731c1cec9fcb839320e99aa1ad8f23494acae6
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 9 10:00:53 2015 -0400
Consume os_client_config defaults as base defaults
In 99% of invocations, os_client_config will be passing in default
values. However, if someone decides to just construct an OpenStackCloud
without going through os_client_config, there will be defaults missing.
Grab the defaults from os_client_config and use them, even if they
aren't passed in as arguments.
Change-Id: I25a1ff3eeba445f91b9bde8cd4e2d68b72b06136
commit d5d539da8141ad5557bb32c89a6bbf4d591ec830
Author: James E. Blair <jeblair at hp.com>
Date: Wed Jun 3 10:37:17 2015 -0700
Remove hacking select line
Contrary to popular belief, this does not mean "also check this".
It means "only check this and don't check anything else". So this
was testing _only_ H321.
Change-Id: I8ae173e62d57232cec1bf751004fe4213214353b
commit a0df67704ace186b18fd1ecdc220a7e56409bc6f
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 2 15:56:17 2015 -0500
Provide a helper method to get requests ssl values
There is a weird logic around the interaction between how the openstack
things all accept cacert and verify/insecure parameters and how requests
wants them. Rather than spreading the parameter combining logic across
the universe, put it here.
Note that this inverts the usual requests logic in that !verify will
override the presence of a cacert value and cause verification to NOT
occur. This is intended to become the normal mode of operation for
OpenStack clients.
Change-Id: I3c76d9a10e6e5d60a593ceefc87dafdc6857d9c6
commit 2fcf0530a6eba7ace554f5422110e81c9585a841
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 17 17:01:20 2015 -0400
Add design for an object interface
We are currently butting up against the point where the functional
interface is a bit ugly. Write up a general design for an object
interface, as well as a few other design thoughts on the library.
Change-Id: Iac675860336275ea56026fcbed27338ba80ef886
commit eccbd04f812e4a42fa9294df948613dff4591fbd
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jun 3 10:38:21 2015 -0400
Port ironic client node.list_ports() to a Task
This call was not yet a Task. Port it, and add missing tests.
Change-Id: I7195cd46e20e6653c03b88858995439bc8b3d631
commit 6c3b1e5f119b5207a11effd4258e0bcd4358d944
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Jun 3 09:56:03 2015 -0400
Port ironic client port.list() to a Task
This call was not yet a Task. Port it, and add missing tests.
Change-Id: Ifc8b81f5e21b661911ba19f12ce8848e3abee809
commit dc012c3494be300133d8ac267e420d2593acdf1a
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 28 10:31:06 2015 -0400
Split list filtering into _utils
The inventory module wants to use these. Also, they are not actually
methods - they are simple functions. Split them out for sanity.
Change-Id: Ib46f788da0f92ed49d350facc0a59cb1697f06ec
commit 8d9cab2eb9772d1d38ab8a333d8d4f6f2afbb0e3
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 2 18:03:29 2015 -0500
Cast nova server object to dict after refetch
When we assign a floating ip to a server, we re-fetch it from the cloud
so that the metadata is all correct. However, we weren't doing
obj_to_dict on it like all of the other code paths that return out of
create_server - which means that it bombs out on
get_hostvars_from_server if subsequently passed to it.
Change-Id: I3f69f525b7d57ec91f70b77cdbd62aed9816f17d
commit e763e3bb74cd62aaa8cfef3e9416d1a0d2b818ae
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 26 13:17:11 2015 -0400
Split iterate_timeout into _utils
In keeping with the theme of decomposition, move _iterate_timeout into a
file.
Change-Id: I180177e8d7dc1458ea987da7273ada485abb72d7
commit 7e69d826c4366b402eefb209af6d399b9bb95c20
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Jun 2 16:35:14 2015 -0400
Cleanup OperatorCloud doc errors/warnings
Some of the OperatorCloud method docstrings were generating sphinx
warnings, and the output just didn't look good. This cleans up the
warnings and makes things pretty.
Change-Id: I8be7acc9872d18b7ba899d75ba3dff43dc600731
commit ba0986f58ce7468bdc91380ecd1b07086fa37964
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jun 2 15:55:59 2015 -0500
Add more defaults to our defaults file
It's easier logic when we have default values for things.
Change-Id: I2d66dcee68ea95371609640677fd41cca4b0a7cf
commit b431669a6b8210668fa37751bd208b55720ba314
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 30 13:02:47 2015 -0400
Change naming in vendor doc to match vendors.py
Change-Id: I90da039d8b0551b80ec34975480e650885f59d3a
commit f66aad5ad9b3ac3476d591c71546b468ab1407d3
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 30 13:01:41 2015 -0400
Add auro to list of known vendors
Change-Id: I48d6cffdcc16bdbf4912da775fb29876007fe8db
commit d503f0594fbdc377c07e4d79ce2cb08f6226aa7d
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri May 29 07:39:20 2015 -0400
Add list of image params needed to disable agents
Some clouds have an in-instance agent to handle things like online
password resets and other such activities. When building and uploading
images, it's often advantageous to not install such an agent and instead
handle such things via config management... but doing so requires data
to be set on the image itself.
Change-Id: I5b7c9d72fd2d49890bc466d7dd22a3cb9595f670
commit cb54ac54609ec6319e8bfe91adc07a63a4c37d6c
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 23:51:14 2015 -0400
Update pbr version pins
We've released 1.0, so we should use it. Also, you want at least 0.11.
Update the hacking pin because we need new flake8 to deal with a
pkg_resources issue.
Change-Id: I62767ea281df94f67d453a14e9c8500aeb305e97
commit daab3615e2884100f88a797570c1326c8139983c
Author: Gregory Haynes <greg at greghaynes.net>
Date: Thu May 14 20:01:38 2015 +0000
Add set_one_cloud method
It is useful for clients to be able to update configuration as well.
By doing this in shade we can perform things like merging and do some
testing rather than require clients to do it.
Change-Id: Ia185847c29c10f2cc6838adf962defd80894d0db
commit b16d6d391779cc0a1bb156f0cf4468521f4e5d4e
Author: TerryHowe <terrylhowe at gmail.com>
Date: Wed May 27 14:34:27 2015 -0600
Add tests for get_cloud_names
Change-Id: I21b71657d83fb25628f230a48ddca197570a38a9
commit 6daed957c3647efb3d47d7e85065a33a74e39047
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri May 22 11:25:37 2015 -0700
Add flag to indicate handling of security groups
Security groups can be handled by either nova, neutron, or just
not be supported. This adds a flag for that. Values will be one
of 'neutron' (the default), 'nova', or None. None indicates that
security groups are not supported.
Change-Id: I81a2e10e14e53acc9ffc328771d8ef721e2fd370
commit 88c5e08599d70bde80abea45404ead57d5a17388
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 22:44:08 2015 -0400
Don't normalize too deeply
We were normalizing the entire clouds.yaml output - but the keys
underneath clouds: are names of clouds. We should not touch them.
Instead - normalize the keys of the config dict we return.
Change-Id: I792475d701d31201a9be6d54e066227d97b7ce5f
commit 2580c0aa0112d94606879c8f8864e34602ddaab8
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed May 27 16:09:49 2015 -0400
Add tests for cloud config comparison
Unit tests are good.
Change-Id: Iaad73898daf6b00839be5a134558d53b95f0dd65
commit 9b98ee0e098cc33eb976a9d5e917d10a0ad7968c
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 15:52:54 2015 -0400
Add inequality method
One method does not imply the other.
Change-Id: Ifcd39ee188d88d9490f67b5644a941d4d1c6ec38
commit 5c60aad725b0b98008ee467c5130931339c12d48
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 08:50:32 2015 -0400
Add an equality method for CloudConfig
In order to track if a config has changed, we need to be able to compare
the CloudConfig objects for equality.
Change-Id: Icdd9acede81bc5fba60d877194048e24a62c9e5d
commit 5a4f809caf2223121803debab2e6ac52bc943116
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 08:46:21 2015 -0400
Capture the filename used for config
Consumers who may want to watch for config file changes would find such
a thing interesting information.
Change-Id: I66c59c6acdbb930f013d4742d5b3cc7e35a922d4
commit f3eb3d47bc51c5c4dbf8a609c27e99cf9abaca53
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 08:14:47 2015 -0400
Normalize all keys down to _ instead of -
It's really common to use the config dict in a **kwargs context.
Therefore, normalize every key with a - to use _ instead.
Testing for this is done by changing one of the base region_name args
to be region-name.
Change-Id: Ibd834f7a70cf2285619b5499492858b21635ba57
commit a5dd46af2ede29580450ffad46ad1888cca4a9ac
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 08:04:39 2015 -0400
Expose method for getting a list of cloud names
Knowing what cloud names os-client-config found can be useful for
introspection or investigation.
Change-Id: I77ab133634236d2a7a59ea805a6d650854165030
commit 353875b55e1c527a19a23e9e52a7514e84f6e9c8
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 11:48:18 2015 -0400
Set metadata headers on object create
It's a common swift deployment pattern for an update to be a server-side
object copy, which is quite expensive. Rather than doing a second update
step, just set the headers when we upload the image.
Change-Id: Ic4f5ddddfc403f21eba5972b24a3968ae3ce0a58
commit b51f9f841651710ed088867b9047a7311e39cdea
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed May 27 08:01:40 2015 -0400
Rename cloud to profile
The cloud parameter was confusing people, especially since it was
inside of a dict that was named "clouds". profile was suggested as less
confusing, which seems fine.
Continue processing cloud as a parameter so that we don't break
anyway, but change the docs to only mention profile.
Change-Id: Idf3d089703985ecc60f23a3c780ddcab914aa678
commit 434d51aac292609162f738eea4611e2a52df8a0f
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 26 14:49:56 2015 -0400
Don't pass None as the cloud name
cloud names want to be strings. If there is no cloud name, stringify
None.
Change-Id: I4fa5bb8ac03baf464cfa00b451627f63ff847fdf
commit 24385adb7a8829885f0172e0cd3607e5dba9a594
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Tue May 26 16:05:10 2015 -0700
Always refresh glanceclient for tokens validity
Glanceclient doesn't refresh tokens on its own. Work around this by
always making a new glanceclient with a potentialy new token if the
existing token is near expiration. This adds some overhead to our use of
glance but that is preferable to having glanceclient break because its
token has expired.
Change-Id: If57531a72eb90ee7bc6e67905ddfd5bda9bb6f1b
commit be3ddcd09b7713d3651020d87a9d3295a007efd8
Author: Clark Boylan <clark.boylan at gmail.com>
Date: Tue May 26 16:01:07 2015 -0700
Don't cache keystone tokens as KSC does it for us
We don't need to keep track of what our current valid keystone token is
becauase keystone client does it for us. Instead defer to
ksc.session.get_token() to either reuse a valid token or make a new one
for us if necessary.
Change-Id: I23f90b6292f32ce9cef962bdc641c291e4d2fe4d
commit 39eefc1989ff4e51db8716dd7106967b14fee12a
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 26 18:05:57 2015 -0400
Make sure glance image list actually runs in Tasks
images.list() does not actually talk to an API. So putting it in
TaskManager actually takes an execution slot that it does not need. On
the other hand, the follow up list expansion DOES talk to the API. So
put it in the Task, since it's the evil thing.
Change-Id: I7f30ba908552fbecaedd364ecf20b19e096b03d9
commit f57433929a9d51fd7927ed43a639a1d8917695a4
Author: Clint Byrum <clint at fewbar.com>
Date: Tue May 26 11:48:21 2015 -0700
Make caching work when cloud name is None
All of the other keys are coerced to strings through some method but a
cloud name of None with no namespace produces a TypeError because
sequence 0 is not a string when joined.
Change-Id: I78d0e6daedfe3cf1a0db5f606c21af803450f018
commit 1dc1d25b8e1510e910f62a7ebb981af0298e336c
Author: Clint Byrum <clint at fewbar.com>
Date: Wed May 13 14:11:59 2015 -0700
Handle novaclient exception in delete_server wait
When a wait is requested, we poll the nova server with the ID of the
deleted server until it disappears. We might get an error on that poll,
and we should wrap that exception to avoid leaking client exceptions.
Change-Id: I6474bf37835728f70210ad29a3757a4488dfe037
commit 1cb9b2094a0a2de0afb5c14a44cabf5e2b181cbe
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun May 10 15:05:09 2015 -0400
Support PUT in Image v2 API
Not only is there a difference between put and task uploads, there is
also a difference between v1 put and v2 put. Of course there is.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: I63f8dd4279cf242da7e76018580479968bc9aaef
commit 88a12a98fbab037b01e95a92bc79f44a9e9cc25d
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 9 09:43:29 2015 -0400
Make ironic use the API version system
The other services honor settings for API versions. Make Ironic comply.
Change-Id: I736785896d6d24e18b680d07c82b9922f9d39447
commit 6d654bc7adce911d34216b2038ef0e02cc6dba1c
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri May 15 08:55:48 2015 -0400
Catch client exceptions during list ops
We were not consistently catching the underlying client exceptions
from the list operations, and just letting them escape as non-wrapped
exceptions. This corrects that.
Also, list_images() was trying to catch an OpenStackCloudException
that was never going to happen from the code in the try block.
Change-Id: Ia863ec2f988c7e90138097be15cd66fc858d1b21
commit ef47a50f72f757006d2af86a230fdb54fc9f19e6
Author: Jeremy Stanley <fungi at yuggoth.org>
Date: Thu May 14 21:38:19 2015 +0000
Replace ci.o.o links with docs.o.o/infra
The http://ci.openstack.org/ documentation site has been deprecated,
replaced by redirects to corresponding paths within
http://docs.openstack.org/infra/ where other Project Infrastructure
documentation already resides.
Change-Id: I764b134046e175905f00fb2158e9078698364029
commit 5af9a9d198e0eeb90b2604fcb4b1c9c17f985c70
Author: Clint Byrum <clint at fewbar.com>
Date: Thu May 14 10:29:51 2015 -0700
Pass OS_ variables through to functional tests
tox 2.0 isolates tests from environment variables by default now.
Once devstack emits clouds.yaml we can remove this and consume that.
Change-Id: I8e8c769bbdb3f467af0802e1d49f5ebd84663a8f
commit 5d9ab4498d7fedbb73f4c1a038bce95ad9f3c710
Author: Clint Byrum <clint at fewbar.com>
Date: Wed May 13 17:15:44 2015 -0700
Improve error message on auth_plugin failure
We should include the error always!
Change-Id: I018f554018c66967588dd7da4176066d4848d552
commit a0a36b849af1a8706872bbf598323dc0725c9bdd
Author: Clint Byrum <clint at fewbar.com>
Date: Wed May 13 13:59:56 2015 -0700
Handle novaclient exceptions during delete_server
Currently they are allowed to bubble up without being caught.
Change-Id: I0c5cf52a0315cee4a84ee4b3ff205778f461af2e
commit 569fe40caf7054048d4777883b81934056af841f
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Tue May 5 18:46:29 2015 +0100
Add floating IP pool resource methods
This change add floating IP pool resource list method.
floating IP pool is a Nova API read-only resource.
Change-Id: I1c68a696926f45e93050f441404726d92a717900
commit 9bcf25973899238132f1795fede2bb9a8376f5c8
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 12 18:48:58 2015 -0400
Don't error on missing certs
We were trying to be too helpful. The underlying libraries do the right
thing here.
Change-Id: Iba1a87fee10ba5e5f6d7ea1e70632c47fd67275c
commit cbdc7c70801d7a0bd9a6ac51e0b9b6f4dc9e7b8d
Author: Dean Troyer <dtroyer at gmail.com>
Date: Tue May 12 14:26:27 2015 -0500
Change overriding defaults to kwarg
Forcibly changing the global defaults isn't the nicest thing to do
and turns out to be a pain during tests. Make overriding defaults into
an arg to OpenStackConfig.__init__().
OSC is the only known user of set_default(), once this is released and
in global-requirements OSC an be updated then set_default() can be removed.
Change-Id: Iddbc66398e89f06f1d665d7b0ef243bc786c8e36
commit e71bee318c95b05fdf4d5e0102f7da60bde3adb5
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri May 8 15:23:55 2015 -0400
Stop leaking server objects
We should not be returning raw client objects when creating or
rebuilding a server.
The usage document is updated to indicate that access to resource
values via attribute is deprecated, and the examples in the README
now reflect dict-style access.
Change-Id: Iac38d4c0b29f867cc3cefaccf48c1c3fcd17a3d9
commit 948aa01d0c15c1728deb954b2764682705176c9c
Author: Dean Troyer <dtroyer at gmail.com>
Date: Mon May 11 17:29:42 2015 -0500
Add tests for OSC usage
OSC uses os-client-config as an intermediate handler in the
argparse-to-final-options sequence.
* Validate the expected usage of the argparse arguement to get_one_cloud().
This turned out to be a problem with the way set_defaults() was implemented
and has been withdrawn until set_defaults is re-worked as a kwarg to
OpenStackCloud.__init__()
* Validate setting the default auth_type value
Change-Id: Idae91962f05d787cecf4a59fac01e9321bc69687
commit 3328cc77da66608a1b9437299ed7d97d5edfd618
Author: Gregory Haynes <greg at greghaynes.net>
Date: Mon May 11 22:59:09 2015 +0000
Use fakes instead of mocks for data objects
We hit a nasty infinite recursion issue because we were passing mock's
to obj_to_dict which was setting the mock's attributes as attributes of
the returned Bunch objects. Really though, we should just not be turning
mock objects into Bunch's.
Change-Id: I91a69a87082b30e16545c45ef8705ef4e929d5ca
commit 4b40133e2199e11ccd5dc48c2ad60ac06d056d0a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon May 11 16:24:28 2015 -0400
Use appdirs for platform-independent locations
Cache, data and config files live rooted in different places across
different OS's. Use appdirs to find where.
Depends-On: Ic939dea11b7476ec504d2bf65854a0781b1bfb39
Change-Id: I7338ae1d0442e0c5cc1ec4ae4d619fac319a4a28
commit 9b9e3d0d329b541960c8e28f897718a62a74ddf1
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 9 21:10:13 2015 -0400
Add UnitedStack
With Keystone v3 even!
Change-Id: If9445d99ccfa5f15ca3760bee4da900f302dc698
commit 508c240f851dbfd5aa1d1223910ecb1df6a33b2a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 9 09:54:01 2015 -0400
Expose function to get defaults dict
shade needs sane defaults for some of these too, but it's entirely
legitimate to use shade without having first created an os_client_config
object. Adding a function to get a copy of the defaults dict allows it to be
consumed as a single source or truth for default values.
Change-Id: I616d9492c7e0f53c48519cc8dacf3dfbd0082e36
commit b16c49cfd6a0ee659e4493ef959e0483e93d350a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 9 09:50:33 2015 -0400
Add default versions for trove and ironic
Change-Id: Ib7af38664cfbe75c78c70693117f1193c4beb7e6
commit b9cdb7666580d81b956a045c0d10d697f0963164
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 9 09:41:36 2015 -0400
Sort defaults list for less conflicts
Change-Id: Ic27c50f745a093cc20e3f22f09698f7ae643bc83
commit 2f1e6c13bee31a7d43ef80847d764648afdb9578
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 9 08:49:59 2015 -0400
Only add fall through cloud as a fall through
We only want do define the 'openstack' cloud if there are neither
environment varaibles nor config files. We need to define it as a place
to put passed-in-parameters in the case of neither, but we don't want it
any other time.
The behavior can now be described as:
- If you have a config file, you will get the clouds listed in it
- If you have environment variable, you will get a cloud named 'envvars'
- If you have neither, you will get a cloud named 'defaults'
Change-Id: I6752c1ccecf1ef979b2603246eeaab7da360c8a4
commit 78df129bd21a1c0cdc9e3b61c9b6d508f29f26ae
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed May 6 12:03:42 2015 -0400
Update images API for get/list/search interface
Images API now conforms to the new search interface. This required
us to no longer return a dict of images keyed by image ID, but, rather,
just a list if images.
The 'exclude' argument to get_image() was not being used by either
nodepool or the Ansible modules, so this was simply removed to make
that method conform to the standard interface. However, it is still
used by the Ansible modules in get_image_id(), so that functionality
is kept intact.
Change-Id: Icf825fcb0471de4acb08b59b93a4dfcd399b4c69
commit 1981431c08f4c9fa0d206157baf55eccca17c1be
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Mon May 11 16:24:16 2015 +0100
Rewrite extension checking methods
Old implementation didn't work, was using ad-hoc caching and its name
was too generic. Moreover it exposed 2 methods that should be private
as Shade aims to hide implementation details.
This change-set gets rid of extension_cache() and has_extension()
methods and create _nova_extensions() and _has_nova_extension()
methods.
Caching is performed using _cache_on_arguments decorator.
Change-Id: I6aa3ed5a306159ba477d15810138b3a4fb5a3649
commit 731cfab0e28fb0e1090708fd0244d13d376c3018
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue May 5 15:49:28 2015 -0400
Update server API for get/list/search interface
Support the new search interface, and transform the server objects
to Bunch objects.
Change-Id: Ic8ea3e79863e11b4a00f104557966c81e2f06388
commit 33634dda7219f334c5545cb93673311c8bc99130
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu May 7 18:50:28 2015 -0400
Add flag to indicate where floating ips come from
One of the things that's not possible to discover is where floating ips
come from. You'd think that looking for a neutron endpoint would do it,
but you'd be oh-so-wrong.
Change-Id: I10a0c6f37afb409af0078cede3eac2eaa0ff4f04
commit f6d08765cd8ceb071e99453d3f17faabb5878431
Author: Gregory Haynes <greg at greghaynes.net>
Date: Thu May 7 17:58:54 2015 +0000
get_one_cloud should use auth merge
Currently, get_one_cloud does not merge the auth dictionary, which means
passing any auth value overrides all auth: values in clouds.yaml.
Change-Id: I22c33648e32cc7ce8fc163433b7c72912c28beb9
commit dc8d21db11da1c80ad13f5626bbea63fdd649628
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue May 5 14:27:40 2015 -0600
Also accept .yml as a suffix
The ansible world uses .yml suffixes, which brings people to try to use
that suffix on clouds.yaml files. It's easy enough to accept it as a
possibility.
Change-Id: Iba05eab9cf4406833afafe8143794461b656b548
commit cecbc2a4cf51064c462dd787f30bcc3a17e49769
Author: Clint Byrum <clint at fewbar.com>
Date: Wed May 6 10:24:23 2015 -0700
Fix delete_server when wait=True
Functional tests were running with wait=False, which hid that we
are not handling the expected NotFound error after delete. So we
refactor delete_server to use get_server and be much simpler. Note that
we call the ServerGet task directly since we already have the ID that we
want to make sure we deleted, no need for listing at that point.
Adding unit test coverage to help avoid these problems in the future as
well.
Change-Id: Ib78aef75a5ad3f75bc8ee2b81078d30cc2fc76db
commit 2e3498d76a09c7d3873944609e09d34c0a347b02
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue May 5 14:07:12 2015 -0400
Return Bunch objects instead of plain dicts
Bunch objects are dot-accessible dictionaries, so we can say
server.name or server['name'] equally.
Change-Id: I792c9792116824c4f8f840f961eaddc0b2060e6f
commit 760d996829979e4d2ba5c9d389961e6e375f15e9
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 30 02:45:28 2015 +0200
Switch tasks vs put on a boolean config flag
Rackspace's requirement for task-create is a choice that is orthogonal
to the v2 choice. Make that decision point clear. Also, rename the
hidden methods just so that we're clear on what's happening.
Update to a more recent version of os-client-config, since that also has
support for the task-create flag.
Depends-On: I2cdcfe302a73ebfa7f739399c1eeb3bc9f96ab3c
Change-Id: I72bb5992eeb116f1338a090d997893b9ae93050c
commit f495ebd73f45d8782198484368472ff00d35728a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun May 3 08:40:48 2015 -0400
Enhance the OperatorCloud constructor
Set the default for endpoint_type to 'admin' and expand the docstring a
smidge.
Change-Id: Iab8bafcc497bf5d4a221581158371712db5b736b
commit f2a86ce4fccdb193117d61bcac973acbe4d8a5ca
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Mon Apr 27 18:11:32 2015 -0400
Convert node_set_provision_state to task
Changed node_set_provision_state to utilize a task instead of a
direct ironicclient library API call.
Additionally added basic unit tests for activate_node,
deactivate_node, and node_set_provision_state.
Change-Id: I036f1e87310e48727ef4e402e475c77cd014e6b1
commit 545d3f0f36b372acd895b0fcba9b3bbad1f5b6bd
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Mon Apr 27 16:30:31 2015 -0400
Update recent Ironic exceptions
Update of the recent changes landed for Ironic so that the returned
exception messages are converted to a string like the other returned
exception messages in Shade.
Change-Id: I774b85692ae9adb5fa4202d1c0e3109dcb2fddf4
commit f62cf08348d27b64a7911ce47b5f709642fa2301
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Mon Apr 27 15:58:54 2015 -0400
Enhance error message in update_machine
Updated error messages through the use of try/except blocks in
update_machine in order to help a user identify what the possible
cause of a failure could be without studying the code.
Change-Id: I04db479ce1b25aadd710cde5d90fe71fa528869b
commit 912af15b522423ee8f91d8b8861c4d4a090ef793
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 2 19:27:22 2015 -0400
Remove crufty lines from README
Change-Id: Ibf36a67503aab5f3bcd3ba535da5f9f54ce9c28d
commit 08f330d98cd74871599e1ac172aa3ba22f5e4b58
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Thu Apr 30 11:06:41 2015 +0100
Rename get_endpoint() to get_session_endpoint()
In a subsequent change, we will add Keystone endpoint methods.
In that change, get_endpoint() would return an endpoint by id, as done
by other get_<resource>() methods.
This change renames get_endpoint() in OpenStackCloud with a more
appropriate name, as it returns the current session endpoints.
Change-Id: Ie91f97457fb164255d2adf4e84c1b1f729e797b0
commit ace6d92a77066a04c0ff59cce5ad95ee6906d2d1
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat May 2 18:16:40 2015 -0400
Update vendor support to reflect v2 non-task
Vexxhost and RunAbove both support v2 of glance, but do not require
the task interface. Update the erroneous information. Also, there are
two additional regions for Rackspace that we did not list. We don't
list the Rackspace LON region because it does not work like the others
and we do not know how to support it.
Change-Id: Ib155d00d1d6bf7b2e5bcf4b868c268561e198611
commit a417f3882f79ade8565890619e72c5f5b6670215
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 26 12:35:39 2015 -0400
Make warlock filtering match dict filtering
For obj_to_dict, we filter out keys that start with _ and values that
are not normal values. Do the same for our warlock conversion.
Change-Id: Idbf4303c1e4151494d1ea814be6ca5f86e76b16d
commit 4d80851fae66cb18db36b85007f19f9dbaa0aab7
Author: Davide Guerri <davide.guerri at gmail.com>
Date: Tue Apr 28 10:30:25 2015 +0100
Fix exception re-raise during task execution for py34
This is the code fragment from six (executed when the interpreter is
python 3):
def reraise(tp, value, tb=None):
if value is None:
value = tp()
if value.__traceback__ is not tb:
raise value.with_traceback(tb)
raise value
We want `raise value` or `raise value.with_traceback(tb)` to be
executed as we are invoking six.reraise with a class instance.
Change-Id: Ic0c7e14cecb1cbdcb8cae87047e20514c4d38301
commit 59848071e41c1fec76928d8285223b5c30c4ce9a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 26 10:47:57 2015 -0400
Add more tests for server metadata processing
Make sure that each of the things we do in get_hostvars_for_server is
checked as working. In walking through it, found a bug in image ids from
boot-from-volume servers.
Change-Id: If71d2cd114c5b5406a39dbb04c96b61fc7193399
commit e1c2cd973b08e4448f0711019650eaad7f180ca6
Author: Joshua Harlow <harlowja at yahoo-inc.com>
Date: Wed Apr 22 13:03:47 2015 -0700
Add thread sync points to Task
Although the default behavior of Task is to return immediately in shade,
the reason it's abstracted at all is to facilitate multi-threaded
rate-limited TaskManagers such as the one found in nodepool. In order
for those to work, we kind of need the wait conditions to actual do
something.
Change-Id: Icce9729aa2f8f31931dd9d3723d9d5d758436fa9
commit be87e99e5daa47d3935c488655fb099c30d5831a
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 24 11:21:09 2015 -0400
Add early service fail and active check method
To make things clearer - do an active check at each client instantiation
to make sure that the service exists in the catalog so that we can throw
a clear error. Also, add a method that can be used for switching on
things like "if neutron: neutron-floating-ips: else: nova-floating-ips"
that doesn't have to do a REST roundtrip to find the failure.
Change-Id: I43b32fff56e09f31bd6d6845b3bf9b5414632651
commit 896f844948c06ce26a5291eae1afa8b3c87cd0ca
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 24 10:31:03 2015 -0400
Add a method for getting an endpoint
There are a couple of different things you need to get the right
endpoint. We know them all, but the logic is spread out. Consolidate.
Also, put the silly keystone-specific logic there, rather than in
keystone_client.
Change-Id: Ide66c62fe0babddb1530b4f3472a6aeb9713917a
commit 2c4d909111f1ffe49456eafd377e5407d0b7cac0
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 22 20:00:05 2015 -0400
Raise a shade exception on broken volumes
Some clouds don't have volumes and bomb out here, which is a bad place
to bomb out. A later patch will add an active check for service
existence, but we still should catch and throw here so that we're not
leaking python-*client exceptions.
Change-Id: I1f768dcd6ad6f54fb1b5638e9486653ee07965ef
commit 3b64ee66e4b56d81ea167afd7bb4babfe2d39c02
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 24 18:32:15 2015 -0400
Split exceptions into their own file
We were getting to the point where we were making some circular depends.
Clear that up by splitting the exceptions into their own file.
We're importing * to keep the external interface in the ansible modules.
Change-Id: I1d804377c3cd4eebcc94624902f9e5ec6ebf9321
commit abdb5ca0e78cf017b1353c5e2c39d76b237e6cf2
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Apr 30 14:58:57 2015 -0400
Add minor OperatorCloud documentation
The documentation for the OperatorCloud methods with docstrings will not
be generated unless the class itself has a docstring. This adds a simple
docstring just to get the documentation generated.
Also adds a link to the CONTRIBUTING.rst doc pointing to the project
documentation.
Change-Id: I535289a938f68895c19b5e226d2e2302b566d00d
commit 87000d9f768f5ca95fea2727ea2ca0f32865d923
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Apr 30 09:36:38 2015 -0400
Allow for int or string ID comparisons
Some IDs are clearly strings (e.g., UUIDs) and some look like integers
(e.g., flavor ID of '100'). Let's make it easy for a user by allowing
for string or int. For example:
flavor = cloud.get_flavor(100)
or
flavor = cloud.get_flavor('100')
The former example using the int doesn't work, but this fixes that.
Change-Id: If201352a9917d7c8fba7b386b38fced9949f00a9
commit 3f8431a9de68b9e2fa24237f51d5497ca5da0295
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 30 02:26:34 2015 +0200
Add flag to trigger task interface for rackspace
It turns out that the task interface for upload is not implied by v2
glance api. Add a boolean flag that can be consumed elsewhere.
Change-Id: I2cdcfe302a73ebfa7f739399c1eeb3bc9f96ab3c
commit 7468d1150c55c8cf277605d6e2cac22854751061
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Wed Apr 29 16:19:43 2015 -0400
Change ironic maintenance method to align with power method
Upon obtaining a better understanding of the Ironicclient and Ironic
API interaction, along with what is actually returned, which should
be None, it makes sense to have set_machine_maintenance_state match
set_power_state in behavior.
Change-Id: I2899f290c0521e35d010dc9246b590ca9e949214
commit 128a62f2fb43e0a9def19e9d64f20f0d666c16e9
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Thu Apr 9 22:19:08 2015 -0400
Add Ironic machine power state pass-through
Adding machine power state passthrough in the form of
a _set_machine_power_state method, along with wrapper methods
set_machine_power_on, set_machine_power_off and
set_machine_power_reboot.
Tests to utilize the on, off, and reboot methods have been
which all invoke the _set_machine_power_state method.
Change-Id: I4e1ce863d5a93d81ec90ae1c244cbfef68912916
commit a540167587ccbbea16227a66170ac1d3ad68bfcb
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Apr 29 15:02:59 2015 -0400
Update secgroup API for new get/list/search API
Security group API now conforms to the new get/list/search
interface. Instead of a Nova object being returned, we now return
a dict (or list of dicts).
Change-Id: I0b84ef6065101948ffb2a0f56235bda7a071ad17
commit aa092bafd9c8ab1b19a72bf01a9a5f63ab26ee6b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Apr 26 09:21:17 2015 -0400
Fix functional tests to run against live clouds
It's possible a developer may have a test account on a live cloud,
rather than a devstack. To support this, we should not make assumptions
about content put into a cloud by devstack, but should request things we
want - such as "the smallest flavor you have".
Keep the attempt to use the cirros image to continue to support
devstack, but fall back to the first ubuntu image found, since that's
the most likely to be cached on compute hosts on public clouds.
Change-Id: I6f0336d02cf924b3657fdc42bd151d11d5e3a6be
commit 930a8b1a7c980183df5469627a734033ca39a444
Author: Clint Byrum <clint at fewbar.com>
Date: Tue Apr 28 15:27:27 2015 -0700
Add functional tests for create_image
Change-Id: Iadb70ca764fbc2c8102a988d6e03cf623b6df48d
commit 0a3cd476437e08717f3498ff93b905198407a666
Author: Clint Byrum <clint at fewbar.com>
Date: Fri Apr 24 16:47:42 2015 -0700
Do not cache unsteady state images
States that are expected to change should not be cached, as this will
just prolong any polling loops to detect the changes. This also makes
for less invalidations as we can depend on the fact that the cache will
only ever contain steady states.
Change-Id: Ie241db6311540725d24dcc6328f6f965820baf1b
commit 41ef6412909516ed5f12b2c8935b5acfebad761c
Author: Clint Byrum <clint at fewbar.com>
Date: Tue Apr 21 11:06:20 2015 -0700
Add tests and invalidation for glance v2 upload
This coverage exposed python3 incompatibilities, and also revealed that
some more caches needed invalidating both before and after update.
Change-Id: I0c9a2a435efae0e1b1ef016c46ec54f7278f97a5
commit 59041cc685f9c2e48a492f9dadaff8ee5e3ed5c9
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Apr 28 13:21:35 2015 -0400
Allow complex filtering with embedded dicts
Allow filtering of searchable data to be done with multiple levels
of dict data, rather than only simple types (string, int, etc).
Two tests are added for testing a dict within the filtering dict,
and a dict within a dict within the filtering dict (to test the
recursive aspect).
Change-Id: I17562bfe6bf5cb6a0dc48c4a693fe755200eee08
commit 788dd1be83b0d6622f96f1562934d767db27865a
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 24 12:09:33 2015 -0400
Call super in OpenStackCloudException
Python3 does not have a message attribute. Also, we should pass all of
the parameters correctly.
Change-Id: I31168bf9e5152d786ce9c0369316e4a23e0f3d0c
commit 4d4d555e9686f31c741c4cd8b0a3c12a949dad4d
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Thu Apr 9 16:50:21 2015 -0400
Add Ironic maintenance state pass-through
Adding methods to Shade to support controlling the node maintenance
state in Ironic via new methods set_machine_maintenace_state and
remove_machine_from_maintenance.
Basic tests added for both methods.
Change-Id: I50e7f55199992228c0417c98d18a6e63588cd03d
commit 6ac348dd13760d23b1d099aca6973f3333dd98f2
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Wed Apr 15 13:16:30 2015 -0400
Add update_machine method
Additional method which leverages jsonpatch to appropriately update
a machine's configuration as-necessary.
Change-Id: I401829be21484519eb4880e7108c7693c9501df8
commit 34c1ad9a6a73dacace1a33748037b4f81a04dc54
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 24 12:08:13 2015 -0400
Replace e.message with str(e)
Exception does not have a message field in python 3.
Change-Id: Ic6c6c1dd519cf30db659bac73a3210e5bf0f0933
commit 746a1a84d750574cbb8dc603ad90cd546bf86a67
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Apr 23 14:10:35 2015 -0400
Update flavor API for new get/list/search API
The flavor API methods now support the get/list/search style interface.
This required changing the format of the flavor list from a list of
{flavor_id: flavor_obj} dicts to a list of converted flavor dicts.
Change-Id: I593493c16f441470e9f210592c4baf2fa81664b5
commit cd2a8a6029af2e47d65b747db8f186a58ae28cd3
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Apr 24 09:00:42 2015 -0400
Add a docstring to the Task class
The purpose of the Task class was a bit vague, so let's add a docstring.
Change-Id: I74b65a4094f424f262d07c990e2f7ff04471664d
commit 3f1c99c032ca026dd85d726e78c56c5116ad029e
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 21 10:43:26 2015 -0400
Remove REST links from inventory metadata
In the server_vars / meta / inventory context, the links values have no
use, but they to make the data structure more chatty. Remove them so
that examining the data is more betterer.
Change-Id: Ib84e36a917b3511d59ff2b7aa6ad69712983665a
commit 8908ebd07a18697d9bae83d46e4a2a4600c29237
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 22 19:39:41 2015 -0400
Have get_image_name return an image_name
Turns out an id is not a name.
Change-Id: I5f28a52d2554ed29c9db05debbe5a0a3a7b52567
commit 3b72d6f4a7bfa97ed6ed85b54dced5571e6e8518
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Apr 23 10:47:54 2015 -0400
Fix get_hostvars_from_server for volume API update
The meta.get_hostvars_from_server() method was broken with the
latest changes to the volume APIs that now return dict instead
of an object. Converting it to a dict is no longer necessary.
Change-Id: Ic5d501cc230a16da1ed2659e62da34c66ae37e81
commit e351f5090251ae63b771f7949a0455c026448ac7
Author: Clint Byrum <clint at fewbar.com>
Date: Mon Apr 20 20:27:51 2015 -0700
Add test for create_image with glance v1
The path is different for v1 and v2 and so they will need completely
separate tests.
Change-Id: If258cb811ebc1a9210e49c97d33a5ebdf15932e1
commit 3e3f52528262fa6f29b8922a7bbc4730f5cc6fb7
Author: Clint Byrum <clint at fewbar.com>
Date: Mon Apr 20 20:22:10 2015 -0700
Explicitly request cloud name in test_caching
It's not entirely clear why, but there is some confusing interaction
going on with tests that causes tests to fail when run individually
without this change.
Change-Id: Ifc0b71656c87eacf3b8a37edafda00a7f3978b48
commit 10e123f4d56e34e4c187f6dbd24c54a9a05b689d
Author: Clint Byrum <clint at fewbar.com>
Date: Thu Apr 16 23:06:12 2015 -0700
Add test for caching in list_images
Change-Id: I7f88854b822ad560bb0a2a6aae41c32a945f5258
commit 960537738180c7df482882d35879230ae8e306cf
Author: Clint Byrum <clint at fewbar.com>
Date: Thu Apr 16 22:52:22 2015 -0700
Test flavor cache and add invalidation
Adding get_flavor_cache call so that the dogpile.cache decorator can
provide a magic invalidate method.
Change-Id: If3523430b9a9b816f72ef3aaf9100a2db17f09ad
commit 2deadb0c1b7508a8e8a9cefd26cb3847a4c92b45
Author: Clint Byrum <clint at fewbar.com>
Date: Thu Apr 16 22:36:07 2015 -0700
Fix major update_user issues
update_user didn't actually work at all, and needed porting to the
tasks system. Also it needs to invalidate the user cache to make sure
the latest list is requested.
Note that this breaks backward compatibility because defaulting the
enabled argument to True would mean we are unable to tell if the user
passed True, or left it blank. But the old method was entirely broken
anyway so we don't care at all.
Change-Id: Ief38f75b9b715cf149ada599c28cea03f99c8174
commit 31d07b49f300e385a42ca50c3ea6394eef8f2115
Author: Clint Byrum <clint at fewbar.com>
Date: Thu Apr 16 16:26:39 2015 -0700
create_user should return the user created
Otherwise callers won't know what ID their new user was assigned.
Change-Id: I3949b92aed7e1f262be43772846fc493e60f5462
commit 457db089ca9857ae995f25c677dcacc75d742f80
Author: Clint Byrum <clint at fewbar.com>
Date: Tue Apr 14 16:12:30 2015 -0700
Test that deleting user invalidates user cache
In writing tests for this, a bug was found that there was no UserDelete
task, and the old internal API no longer functions. So that bit of code
was refactored to have a better chance at working in the real world.
Change-Id: I06fad3133bb0c5f9bd23318e32eb1c538cc27c24
commit cb6673163dbe297c82b2bf2db2d96f4df3306948
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Apr 21 08:18:16 2015 -0400
Use new getters in update_subnet and update_router
Take advantage of the new style of object getters that will raise
an exception on duplicates for us.
Change-Id: I89799eeebef60adf92ffbe16b16cf6a798ecac83
commit c72204f6d1ac701148f3de3cb94d90d732aa2e88
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Apr 22 11:21:12 2015 -0400
Update volume API for new getters and dict retval
This switches the volume API to use the new get/list/search style.
Doing this necessitated that we fix another issue with the volume
API and NOT return the volume object as received from cinder, but
rather convert it to a dict using meta.obj_to_dict.
Change-Id: I81ba97d2b4fc9465e1b3538e97f5ceb9bef4f7e8
commit f351d4f65d1db65959fa4e171979254002fbb501
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Apr 17 15:00:53 2015 -0400
Search methods for networks, subnets and routers
Add get/list/search methods for network, subnet, and router
objects.
Change-Id: I3179cb88ec8a238165d629ddd23a619aae112879
commit c408583570ed9d5d823ff7766d5a2c73701a6f45
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Tue Apr 7 14:16:04 2015 -0400
Update unregister_machine to use tasks
Updated the unregister_machine to utilize tasks for the main
actions taken by the module.
Additionally, added a docstring to the method and a basic unit.
Change-Id: I738d8573b0c5f7ae693a73326ffa517d401a8c53
commit a591e3e732e9801d72aa1b697ddcfb4771703f16
Author: Clint Byrum <clint at fewbar.com>
Date: Tue Apr 14 15:49:58 2015 -0700
Invalidate user cache on user create
Change-Id: Iadca03e63c97d01d149c1c4940a7abf604c7a293
commit 9dfa4b8f946301a5742ba4fb46c5659b509cb7f5
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Tue Apr 7 12:59:08 2015 -0400
Update register_machine to use tasks
Updated register_machine to utilize tasks instead of direct calls to
the ironicclient library which resulted in additional tasks beyond
the initial MachineCreate task. Added MachinePortCreate along with
MachinePortDelete and MachineDelete as the register_machine includes
rollback functionality if port creation fails.
Additionally, as part of this, the failure handling logic has been
cleaned up in order to help ensure that all ports and nodes are
completely deleted.
Basic tests added to validate methods execute as expected.
Change-Id: Ide208ce5445bbc50c0a9bd6476bf7fe306658831
commit 8ebba2af62f7b917427fa1233ad81314f4e47102
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Thu Apr 9 14:16:08 2015 -0400
Add test of OperatorCloud auth_type=None
Ironic features a noauth mode which is intended for use in isolated
trusted environments. As this is not a normal use case for shade,
it is an increadibly important item to have a test for.
Change-Id: If86b9df238982d912105fb08dcd59c9c85b7de4a
commit 3f6f25c100b5cad760c72c3c428d39859e6ab415
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Apr 15 17:27:14 2015 +0000
Allow name or ID for update_router()
Even though the router name is an updatable value, we should still
allow specifying the name of the router to update along with the ID.
This implies that we need to error if a name is used and multiple
matches are found, since name is not a unique attribute.
Change-Id: I17535ad363f0ff19fdc0fdde9fa472c7ce263b23
commit 9ac0ef59c20e1f0a526e2fa3a528cb0a1670de4e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Apr 15 17:11:38 2015 +0000
Allow name or ID for update_subnet()
Even though the subnet name is an updatable value, we should still
allow specifying the name of the subnet to update along with the ID.
This implies that we need to error if a name is used and multiple
matches are found, since name is not a unique attribute.
Change-Id: Ie57900a3a31f470c5e411e0c9c141ede8b95e0b2
commit fbe5fd06749201f0b80ab75fe0f4f71439df6b25
Author: Clint Byrum <clint at fewbar.com>
Date: Tue Apr 14 15:38:15 2015 -0700
Add test for user_cache
Since we intend to invalidate the user_cache, and properties and caching
decorators don't play nicely, we split this into the property and a
getter which can be called explicitly.
Note that this test also uncovered a bug in user_cache, which was that
it called a non-existent task.
Change-Id: Ica04a82242cf4724155f99de5b8d3d9c356a8ec4
commit 0fd99acb5b0ef0461330daab065edef0449122e9
Author: Clint Byrum <clint at fewbar.com>
Date: Mon Apr 13 15:59:59 2015 -0700
MonkeyPatch time.sleep in unit tests to avoid wait
There's no need to wait real world seconds when there are no real
world servers at the other end of these API calls. We still do wait a
little bit of time, in case there is some reliance on actually having
called the real time.sleep, but this should feed up test running in
a loop quite a bit.
Also lowering timeout on rebuild_server as it unnecessarily sleeps
for 1 second.
Change-Id: Ic26e90af12aedbedfbe0cc468332b921516a8409
commit 94e392c822ac92ea576ce763fbf36fba677344e2
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Fri Apr 3 16:49:41 2015 -0400
Add patch_machine method and operator unit test substrate
Add method to allow machine configuration to be patched via shade in
addition to a basic unit test and the requisite substrate for unit
testing OperatorCloud methods.
Change-Id: I1095be60748186c876d6267768f8353b67200eb1
commit 55665717dab19c59b358a5f05c95048ba37f6071
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Tue Apr 14 17:01:32 2015 -0400
Wrap ironicclient methods that leak objects
Wrap calls to python-ironicclient methods that leak objects instead
of dictionaries, so dictionaries are only returned moving forward.
Change-Id: I6483ac8c0c316d1a4682e6327d7d5c90498c65f3
commit 3cfc64cf3c3da42da73e481a44023942880b8f18
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Wed Apr 15 09:29:20 2015 -0400
Basic test for meta method obj_list_to_dict
Adding a basic test that exercises obj_list_to_dict and ultimately
the obj_to_dict method
Change-Id: I06ca3528c4e9f7c2eaccab22d17c8510f5f9f40e
commit fdccd14befbb79b4563dd3f1328c4024fb53f37e
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Fri Apr 3 14:07:17 2015 -0400
Change Ironic node lookups to support names
Ironic's API has been changed to support a node being
looked up by name or UUID in the form of a general ID.
Added a get_machine method and re-mapped the
pre-existing get_machine_by_uuid method to it.
Incremented the python-ironicclient requirements version as
required to support name based ID lookups.
Change-Id: I765de8c1b0059a6667f66cd4e0695ddf08d96842
commit c28877d490a3e1c516ef3311022e10ff4631c18d
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Tue Apr 14 19:21:35 2015 -0400
Add meta method obj_list_to_dict
Turns out some data structures returned are actually lists of objects
and we need a method to facilitate the conversion of these data structures.
Change-Id: Icaea889051b75034bb48a138a2cb34c86e4a0453
commit b55de0e1637b1e9f6e424b070d13577af42d7fc6
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 14 11:23:49 2015 -0400
Document vendor support information
In the future, I'd like for this doc to be generated from the vendors.py
file, but for now, this is great.
Change-Id: Ifd0c8da5da46ba156c789f05398abcfa689f4f01
commit b7f38ff66144320116cb5ddf3aa39700dad42209
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 14 10:26:14 2015 -0400
Reset cache default to 0
None breaks the ansible inventory script.
Change-Id: Iac30cdcce3a51910e0b373521263b239f7478a15
commit ebf2dbaf7cc4ec924a0a7dc1e452f33e16ef8f2c
Author: Clint Byrum <clint at fewbar.com>
Date: Fri Apr 10 16:33:00 2015 -0700
Add test for invalidation after delete
We need to invalidate the volume list every time we add or delete.
Change-Id: I243548dc3256260ae09017fd0eef4cbe673a4901
commit a6cd1a9ae32889b3eed3077f28c82ac80b7168dc
Author: Clint Byrum <clint at fewbar.com>
Date: Fri Apr 10 16:27:14 2015 -0700
Deprecate use of cache in list_volumes
The more proactive approach is to invalidate rather than use
cache=False. In all cases, we are about to update, or have just updated,
the item that is in the cache. This will provide more liveness for other
cache users with a shared cache, and will provide less skew between our
own queries to the cache versus reality.
Change-Id: I5a41a3d21fd451f5432daa4e268b57328a9ad90f
commit 36348231abb8576511db72fb32ca97592ddaa1db
Author: Clint Byrum <clint at fewbar.com>
Date: Fri Apr 10 15:43:56 2015 -0700
Invalidate volume list cache when creating
We will handle other state-changing calls in subsequent patches.
Change-Id: Iceff1df4dbb0b5fac87326114db9a13be2ccc267
commit 0e3e496a01d861fe16e5b50cb9586d9534f19c6e
Author: Clint Byrum <clint at fewbar.com>
Date: Mon Apr 13 15:49:23 2015 -0700
Make cache key generator ignore cache argument
This argument pollutes the cache keys with cache:True, which is not
actually relevant to the data requested, and makes invalidation
complicated.
Change-Id: Idd5e20de0fff6d540fadc79a5f30c52ff0e29136
commit 05ba6a5535ef700fa9a020d63922e16c12814bda
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Apr 8 17:57:10 2015 +0000
Add get_subnet() method
Although not currently used directly within shade, users of the
shade library may need to get a subnet by name or ID.
Change-Id: I6423bb32fd7e29c1d533fa3d8a6d1ad3fab0616b
commit f2e943e178e9d46ff911f224df8954a33a15a69c
Author: TerryHowe <terrylhowe at gmail.com>
Date: Mon Apr 13 12:45:44 2015 -0600
add .venv to gitignore
Change-Id: I36856a31f7a68280f9b787e5ab9ce5ac3aa0dc60
commit 825e5b5e83385184a8472113d0d528aa770c3e95
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Apr 13 14:02:32 2015 -0400
Move region_names out of auth dict
region_name is not an auth parameter - this is just simply an error.
Change-Id: I5cc3847932d7c51288f451b4532b71f95d8c823d
commit ce6502270fb863e31c64e8e029993e9239c0d46a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Apr 13 13:04:44 2015 -0400
Add runabove to vendors
Change-Id: I319365aeb3a5a00498b37128c5c9fbaf018d88f4
commit 5bc39aea20b30df03f3ceffda697be7ece9355d3
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Apr 13 10:00:58 2015 -0400
Add image information to vexxhost account
Change-Id: I0e39c2a9828fb4fa73403158c3e58fb346ac9a10
commit d42de63d227c58279ded786b2e09a62426ab3832
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Apr 3 14:30:11 2015 +0000
Add API method update_subnet()
Add a method to update a subnet and unit tests for that.
Also corrects the message in the exception raised from
create_subnet().
Change-Id: I1ad6c3bf7787ef7e26805a8fa6ce7f55f26924d3
commit 5ec510440933f2c1014c05b9bda15a5cf03ccca2
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Apr 3 12:49:02 2015 +0000
Add API method delete_subnet()
Add a method to delete a subnet and unit tests for that.
Change-Id: Ia2901ccaf9a295ff61b525c989199ec75a8cb50e
commit c5d350c03d062af5fd4b9277accab4f4a0b64504
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Thu Apr 2 17:39:25 2015 +0000
Add API method create_subnet()
Add a method to create a subnet and associated unit tests.
Methods for deleting and updating subnets will be added separately
because large code reviews suck.
Change-Id: Id2031a129a9204f07698f1912b7e743aff5d69f1
commit 6ec480162aac7ffe4d905a89836247077c352806
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Apr 13 10:00:58 2015 -0400
Add vexxhost
vexxhost has a public cloud - we should list them in our vendors file.
Change-Id: Icf1276d59dadf50cabca3a7c2540121fb1cf7057
commit db39e9831ea600c8f7f02a5ddec2e0b8b5924de2
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 11 09:16:56 2015 -0400
Add DreamCompute to vendors list
Change-Id: I4d81e221c8105d796dcd29fcd7628738486e4b00
commit ffafb52fa7d41e7e0d4d3a44588d94dcc8dfa200
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 11 11:55:52 2015 -0400
Allow overriding envvars as the name of the cloud
For environment variables created cloud objects, it's possible someone
may not want it to be called envvars. I mean, let's be honest, I cannot
imagine why this would be important ... but people get emotional about
things. Let them name their cloud "bunnyrabbit" because that makes
people happy.
Change-Id: I0c232de7d93080ea632fb66a82b9e6d3e925c901
commit 7e682d3bf097a006ec43c16ecc96664bf4b29294
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 11 08:27:05 2015 -0400
Put env vars into their own cloud config
The semantics around mixing environment variables and config file values
are confusing at best and no reasonable usecase has been expressed as to
why doing so is desirable.
Move the logic around environment variable processing to always provide
an "envvars" cloud if any envvars are set. The cloud will only exist in
the presence of OS_ env vars.
get_one_cloud() will default to returning the envvars cloud if it
exists.
Change-Id: I6c3a54997c3278feedfdf93cc4d1e74b6235700a
Closes-Bug: #1439927
commit 2ac9258563a969283472fbde053850eccbc2fbf2
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 11 11:32:33 2015 -0400
Add keystoneclient to test-requirements
The auth parameter name validation requires keystoneclient and can't be
tested if it's not there.
While we're at it - update the current requirements to be inline with
global requirements.
Change-Id: I6da62476f3851670545143184f9f29479f1caaca
commit 52e676644415a7dd14629b3bdd467d9139850aa6
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Apr 11 08:06:29 2015 -0400
Actually put some content into our sphinx docs
The README is pretty good - get it into the main index page for the
sphinx docs so that we can publish them.
Partial-Bug: #1440814
Change-Id: Ic72b81964cab1f939f08b957dec3be969c47a32e
commit 557f488a2d16b9a5ea8f242e0dc7d66a7d5ec85f
Author: Clint Byrum <clint at fewbar.com>
Date: Fri Apr 10 15:29:39 2015 -0700
Unsteady state in volume list should prevent cache
Volumes that are in states that imply a state change should cause us to
not cache. That way we are never spinning on a cache knowing a new state
is impending. This is only the first half of the change that is needed.
We also need to invalidate the volume list cache if we change anything.
Note that the odd structure for the should_cache_fn is imposed on us by
dogpile.cache's decorator function, which requires that things be fully
defined at parse time.
Change-Id: I8a34e3d04edea6c1b8ed636609102d7d0b7c86d8
commit bd78c48d1581d7faaec5cee70039260ec3449eb6
Author: Clint Byrum <clint at fewbar.com>
Date: Fri Apr 10 14:53:31 2015 -0700
Test volume list caching
This behavior actually causes problems, but we want to make sure it is
covered before changing behaviors.
Change-Id: I5c7558a4b036d6b177bb01e8fb0582d936528c61
commit 0478c32706d71f4a0e67de3fb84828f30b432363
Author: Clint Byrum <clint at fewbar.com>
Date: Wed Apr 8 15:47:35 2015 -0700
Allow passing config into shade.openstack_cloud
For some reason one cannot pass in a pre-defined configuration into
shade.openstack_cloud. This made it very hard to use that function for
testing.
This also allows us to fully enable the caching test, since the memory
backend is now used as configured in the test.
Change-Id: I4d88537274d3163b975c6176a91a1f4617485c23
commit da1e06f6965c5fb1ed1a510074072df688645ad4
Author: Clint Byrum <clint at fewbar.com>
Date: Wed Apr 8 13:06:32 2015 -0700
Refactor caching to allow per-method invalidate
Previously dogpile caching was hidden in private functions, but this is
now how dogpile intends for the methods to be wrapped.
Unfortunately, the property decorator also seems to make it impossible
for dogpile to add the invalidate method, so properties with caching
will need a non-property equivalent method added to the API.
Change-Id: I0f10d8f7f1c6847d6122b7631306db292eaa8b8f
commit 021c75f39ebe232abd06f0033fa3e7ecb1a6bcbe
Author: Clint Byrum <clint at fewbar.com>
Date: Wed Apr 8 12:58:57 2015 -0700
Add tests for caching
Currently we don't actually test caching as it is expected to happen.
This test added coverage which found a python3 incompatibility in the
key generation function, which has been corrected.
Change-Id: Ifc7d5318350ef069c2e8f4dcc1ad96b05c2cffa2
commit b5bde90d963d4511d24bfd4967572d4c81027e32
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Apr 7 19:33:55 2015 -0400
Rename auth_plugin to auth_type
This is already auth_type in ansible and in os-client-config. We never
noticed here because it defaults to password and we never pass in
anything else and we pass it as a positional parameter. BUT - it's
broken.
Change-Id: I677a63489f818fdb46d179ebeb7f5286fb4fb0b7
commit 854efa48c6d8d739bb0183108187756338b2b429
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Apr 7 15:14:55 2015 -0400
Update os-client-config min version
The os-client-config library changed its default dogpile backend
from memory to null after 0.6.0 was released. Caching is pretty
much broken in shade, at the moment, so let's make 0.7.0 the
minimum version.
Change-Id: I640b0f50b195bd63db185a64d2a5223781f424d1
commit ff5444e75913d29c828894759bf9407faddc468e
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Apr 7 14:20:49 2015 -0400
Fix volume operations
The recent change to use Tasks has broken some volume operations.
This corrects them.
Change-Id: I29c40d978d4a5db0e8ee0daf4f4e2aa2f0ab9f66
commit 05119822dd4200ebb16cce84d16005679df6938b
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Apr 3 14:14:12 2015 +0000
Fix exception in update_router()
Correct variable used for router identification in exception message.
The 'name' is optional, so use 'router_id'.
Change-Id: I606b397019e73dd5b77695932f907d8ba31ca3dc
commit 5ca933aa7f0959f478dafeeebd2d3695d4026d0a
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 2 13:48:10 2015 -0400
Add API auto-generation based on docstrings
We've been adding docstrings, maybe we should put them into our
documentation.
Change-Id: I11ee33e1b87854403ec8b4e35f338c2c604d7fa4
commit 8c3601474b2c5aa0c52bb1f85f9dc5caa1f048ed
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Apr 2 08:36:42 2015 -0400
Fix docs nit - make it clear the arg is a string
jeblair made a good point in a previous review, there is a string
argument that the docs for made it look like you'd pass in a class.
Change-Id: Icc9449f75165a3ef8d9920b68eb23c830f8198f0
commit 7eb7c4c89a4dcf18f34bd1004b700b45f3cc10f4
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 1 11:17:31 2015 -0400
Poll on the actual image showing up
Turns out just polling on the task completion doesn't mean you actually
have the image. You also need to poll on the image becoming a thing in
glance.
Change-Id: I910ac612e6af1f5888c1820a09ee79fab012bdae
commit b03f1f3b59236370349e84c4895ee4dca18e555f
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 1 10:44:14 2015 -0400
Add delete_image call
Lo and behold! Deleting images works differently between glance v1 and
v2. Of course it does.
Change-Id: I9eb97950507d95076342ef3cb56205ff505f7fae
commit a0d0d7139007655f7d3f6efbce7f0d1ecb6ded38
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Apr 1 11:19:46 2015 -0400
Skip passing in timeout to glance if it's not set
glanceclient wants to do a float type validation, which is laudable.
However, it means we can't pass in timeout=None, and instead have to
avoid passing in the parameter if we do not have it set.
Change-Id: Ie6e144d6e3cedf5bf8846beefcfda0f3252377e6
commit 4fbc21bc61f4c46cbcdb707b07b107051993c1c6
Author: Timothy Chavez <timothy.chavez at hp.com>
Date: Thu Apr 2 01:36:00 2015 -0500
Add some unit test for create_server
Begin adding unit tests to other shade methods starting with
create_server.
Change-Id: Ie68d91ce7bc56063aa8d0001de4ff37139a35b1f
commit 0a7479d8d997c1e69ba96e30194f4105ad0f8f7f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 28 19:49:33 2015 -0400
Migrate API calls to task management
Now that we have a task management framework, make sure all of the API
calls we make go through it. The net effect on people not taking
advantage of the feature should be zero, but should allow for porting of
nodepool to shade.
Change-Id: I0f2cf912f45e76c9f5194e3b8813278b883b4adc
commit d9f4965e6221b059df810347eaf7c12fce5e9d5d
Author: Timothy Chavez <timothy.chavez at hp.com>
Date: Wed Apr 1 23:18:03 2015 -0500
Fix naming inconsistencies in rebuild_server tests
There were a handful of naming inconsistencies in the rebuild_server
tests that were corrected.
Change-Id: I6d993892b140276294b00c9d92fc107569d8e740
commit fbac3c07a2aaa97454319394435efeca2bc3b07d
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 28 19:16:09 2015 -0400
Add task management framework
Some shade clients, like nodepool, have a need to manage threads that
are doing API tasks and to manage rate limiting. That's not really a
thing that's appropriate for shade to know about, but because shade does
want to know the business logic, we need to provide a mechanism for
people to do that.
TaskManager is essentially nodepool.TaskManager except with
threading features removed and reworked to do instantaneous blocking
execution, since that's the behavior that most users will expect.
A patch will follow to move API calls to be manged by Tasks and the
shade.TaskManager. Once those are there, then nodepool can pass in its
TaskManager and the API operations in shade will naturally be managed by
the rate-limited operations in nodepool.
Co-Authored-By: James E. Blair <jeblair at openstack.org>
Change-Id: I60d25271de4009ee3f7f7684c72299fbd5d0f54f
commit 1c756b8a570e09db6d0e35da8f4b6387dda84b77
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 28 14:59:58 2015 -0400
Namespace caching per cloud
In places where we have multiple clouds, such as nodepool, if we want
to use shared or persistent caching, we need to include cloud name in
the cache so that we don't try to return rackspace flavors to hp clouds.
Change-Id: I65a7b1bf6818f6b40b42bd2fa4b560f127c5589b
commit c713eb3288fc89851df434ba9b3ddbaa84665682
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 6 08:23:40 2015 -0500
Allow for passing cache class in as a parameter
It's possible you'd want to set the cache class either as a programmatic
parameter to the constructor, or in the clouds.yaml config file.
Facilitate both.
Depends-On: I6c9eab71a88a534de7e52ad2a564450c44aacc1d
Change-Id: I9575eae869881bf6784d2d867f2f571ddbab7769
commit 5ce06cc5e999d26f1d25e90e4384baebed410ff0
Author: Timothy Chavez <timothy.chavez at hp.com>
Date: Tue Mar 3 19:37:53 2015 -0600
Add 'rebuild' to shade
Adding the ability to rebuild instances via shade. While this is not
used by nodepool currently, there is some interest in evaluating whether
or not it could be a viable replacement for the current delete /
create strategy employed by nodepool. Having rebuild in shade now will
make benchmarks a little simpler.
Change-Id: I12a00b71d248ce77e038dce1642d229587487886
commit f5c647e744773690312874a653f92752d8a7541f
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Mar 31 18:33:39 2015 +0000
Let router update to specify external gw net ID
One can also update the external gateway network ID on a router.
Let's allow that.
Change-Id: If1026c897687d285f01bcfd847bfc004fa720887
commit 3de1b739c62ff49eea2c3e8a90c2dede2341a390
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Mar 29 12:10:08 2015 -0400
Create swift container if it does not exist
In the glance v2 image upload workflow, the user is not doing things
with swift containers, swift containers are being created by shade. This
means that it's shade's responsibility to ensure that the container
exists before it attempts to upload something to it.
Change-Id: I34cfc2821819aec105947dbe70a578307e583d77
commit 1bd2a10cc010770c5f378f0a4a765c30d68422c7
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 30 18:07:46 2015 -0400
Fix a use of in where it should be equality
The pattern for most other comparisons against name_or_id are if
name_or_id in (name, id) - but in this case, because we're doing the
name exclusion parameter as well, we split them. However, we kept the
in, even though it should be testing for equality. This can cause some
failures that make people sad.
Change-Id: If33bfe5c1e32b36c27c32cfcba4c07dcf01a4e74
commit afd2b107a72a21ae1095ace92598c439a40d7b17
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Mar 29 12:27:11 2015 -0400
Disable warnings about old Rackspace certificates
Rackspace has 'old' certificates deployed that the urllib3 people don't
like. There is nothing a user can do about this - so just disable the
warnings.
Change-Id: Ib2d34c89dace491dabf6bc402d37babd93488e20
commit 23d38f9b2ea81ea6f1bff29b4b0a74ab39e1651a
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Mar 29 01:36:29 2015 -0400
Pass socket timeout to all of the Client objects
So far we've only been passing timeout to novaclient, but all of the
Client objects support it as a pass through to requests. Go ahead and
pass it.
Change-Id: I095c1240693abf024bda2315dd77f4400b24a45b
commit ff25b8eb3bff5b162fc112a694f3838928f524ec
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Tue Mar 24 19:07:31 2015 +0000
Add methods for logical router management
Adds API methods to list existing routers, create a new logical
router, update an existing router, and delete an existing logical
router by name or UUID.
It is considered an error if more than one router with the same
name exists and you attempt to delete by name.
Also... MOAR TESTS!!! ZOMG
Change-Id: Ie6ea4eb5f2322bdda07e6db87e2cdbabea492ee9
commit a517079c44ae8bb256f95a8275cb966af5fb8778
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 28 12:51:58 2015 -0400
Add api-level timeout parameter
Some of the underlying client libraries support a configurable api
timeout parameter. Add support for configuring the Cloud object to
pass those through.
Change-Id: Ibfdde8ff86db848e9ce601b4f1bb31e1237c9534
commit 79a1c489a2fa72ee26f7434dd8b443b69c403a4d
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Mar 28 11:36:44 2015 -0400
Update .gitreview for git section rename
Change-Id: I4a19b251c5fdf76ffb10387002a13336203a7b72
commit 0dc916570848d149fd92afe4f1173c7efd780273
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Mar 25 17:34:41 2015 +0000
Custom exception needs str representation
Raising an unhandled OpenStackCloudException should produce output
with the error message. This doesn't happen unless we have a string
representation for our custom exception.
Change-Id: I6b7eab28ffa9385eea9233b0053ade5e3396c9c9
commit 924be2b545a4d00b9eacc5aa1c974e8ebf407c2f
Author: Clint Byrum <clint at fewbar.com>
Date: Thu Feb 26 16:14:29 2015 -0800
Add basic unit test for shade.openstack_cloud
Just getting basic minimal surface area unit tests to help when making
changes. This exposed some python3 incompatibilities in
os-client-config, which is why the change Depends on
Ia78bd8edd17c7d2360ad958b3de734503d400774.
Change-Id: I9cf5082d01861a0b6b372728a33ce9df9ee8d300
Depends-On: Ia78bd8edd17c7d2360ad958b3de734503d400774
commit 85cac59fe245685beffa3aaf82adf861a0098557
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 6 08:10:52 2015 -0500
Small fixes found working on ansible modules
Renaming cloud to name was a bad idea - undo it. Also, for now, the
image cache needs to be invalidated when you upload an image, otherwise
everything breaks. We should do that more fine grained in the future.
Change-Id: I72da02bdb6e4c0c9378136e5794f7640f0e6b8f6
commit 792703e0168586d1393e28900b6ec7b3bba7276f
Author: Clint Byrum <clint at fewbar.com>
Date: Thu Mar 5 16:39:18 2015 -0800
Disable dogpile.cache if cache_interval is None
Since we only use the in-memory dogpile.cache, there's a real danger of
a long running process leaking indefinitely and running out of memory.
By not specifying an interval, a user will end up with a noop cache
region which does not waste memory.
Change-Id: I26887caf1f1146ece9785366724fb450db0107a4
commit 9869fa342a1e40c81277a19a3c08e20510dab260
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Feb 27 11:22:43 2015 -0500
Add support for keystone projects
Lo and behold, there are potential differences in the field in what one
has to do to manage keystone projects.
Change-Id: Iced2c5dde8a91451e2cfeed50742ed3d6fdbf2f4
commit 52a28ba7a57098adf068db6f8dc5b43a9e15e462
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Mar 1 14:38:00 2015 -0500
Fix up and document input parameters
In walking through fixing SSL parameters, it became clear that we have
several confusing or vestigal parameters. Walk through and fix them all
to make them clearer. Also - let people pass through params through the
openstack_clouds code path.
Change-Id: Idc5823ed470e3f973a23504db9d7b179396690e8
commit 74b90e8e9e9b5e11a7975c055838f7ed94949065
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 16 09:24:12 2015 -0400
Handle image name for boot from volume
OpenStack apparenty has moments where it can return the image info
as a unicode string, primarily when the server was booted from volume.
Change-Id: I40c6796ab9d0cb2bc999b0d91313e62f10b1fccf
commit 7cb9d2b46e88b8ddd3582ea229bd929c31be3832
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Mar 16 12:04:27 2015 -0400
Clean up race condition in functional tests
This could all be made much fancier - but in general, for now, kill
concurrency until we can get much richer isolation put in - and make
sure that we're only cleaning up servers that we created in the test.
Change-Id: Iea341076f55f41573ee2bb0f378c8602d21b39a2
commit 63e1630f2b44e1f867ed887ea7d66b76daca671a
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Mar 6 08:21:43 2015 -0500
Change dogpile cache defaults
Memory cache can grow unbounded, so it should really be opt in. Change
to match shade with the following defaults:
- If you specify nothing, you get null cache
- If you specify an expiration time and nothing else, you get memory
cache
- If you specify an explicit cache class, you will get that class
Change-Id: I6c9eab71a88a534de7e52ad2a564450c44aacc1d
commit 738d215661c18aa3d37dd1262d6ca28045da5a7b
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Thu Mar 12 17:18:36 2015 +0100
Add initial compute functional tests to Shade
Also, modified tox.ini to add a 'functional' stanza and
the testenv now runs only unit tests.
Change-Id: Id8a1193c829f7f3ab764c334b1f796f19f447fdd
Depends-On: I1cf58e6a4cf728c5d2a32d602d9dfae1d4dfd62c
commit e5d2782cef302dbc677ebba06f5f7f3e520b1031
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Tue Mar 10 19:00:50 2015 +0100
Add cover to .gitignore
Coverage reports in the cover directory should be ignored by git
Change-Id: I4cde6b0b8fa2fa04ce6a4c308af3c37dfcdf1b5d
commit 99e85402b660a768071bc771cb3fd8cf9babb6af
Author: Ghe Rivero <ghe.rivero at hp.com>
Date: Fri Mar 6 10:22:48 2015 +0100
Add cover to .gitignore
Cover reports in the cover directory are not ignored by git
Change-Id: If1f473a9e453c53d1ace9efd6935cf5e7fb84e50
commit d5931d4658b43b5451adc38be5d6b7f257291098
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Mar 5 08:51:18 2015 -0500
Flesh out api version defaults
openstackclient needs a bit richer support for api version defaults.
Namely, it knows what defaults it wants to have - but we need to do
defaults processing in os-client-config to get sequencing correct. So
provide an API call to set new defaults that can be used before config
processing. Also, flesh out the dict of known default values with good
defaults to match osc behavior, and add the known v1 default of HP to
the vendors.py values.
Change-Id: I45e2550af58aee616ca168d20a557077beeab007
commit 3b5a20ea037c8e01f5da2f98e9e47082cefad89e
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 3 16:09:00 2015 -0500
Handle project_name/tenant_name in the auth dict
We were doing backwards compat for project/tenant in a way that didn't
notice anything in the auth dict - which is there project/tenant info
goes. Ooops.
Change-Id: I141c1d99f31f381898bf993c4e7fcab1078f40c6
commit df91dcf111a7aeecad948481fc102bedd3fad05d
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 3 16:34:19 2015 -0500
Add two newlines to the ends of files
flake8 bites it for me on these locally.
Change-Id: I99291c64fafff423aa720da7dba030526ca0cb50
commit 6fff9fe2b41656739eca0a47d61e17e12e114f4f
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Mar 3 07:31:32 2015 -0500
Rename auth_plugin to auth_type
To match with python-openstackclient is doing, change auth_plugin to
auth_type. Since this is out in the wild already, add it to the
backwards compat matrix.
Change-Id: I36b3f18d57fa827028194f8af91ea309b53b6ee3
commit 55d04bfcff21ee74a2d4380a1d6e22d8f1ec10b2
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Tue Mar 3 11:58:45 2015 -0500
Add ironic node deployment support
Add methods required for deployment of nodes via ironic for the
under development os_ironic_node ansible module.
Change-Id: I42dcac0478706ffc7244387840cc6740fc3cfb79
commit 4ad95b33852fc99046a0d9f0ad75e2369ac747d3
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Mar 1 11:13:01 2015 -0500
Align cert, key, cacert and verify with requests
The semantics of these values are specific, and an interface we'd
carried over from the old ansible modules really just makes things more
confusing.
Requests expects that verify can either be True/False or can be the path
to a cacert bundle. That makes it very hard to do input parameter
validation in ansible. So - split that into verify which takes a boolean
and a path to a cacert bundle.
Requests also expects that cert can either be a path to a cert/key
bundle, or a tuple of two paths. I'm not really sure why it thinks
that's clever, but I don't.
Change-Id: Ie96e7afe3ef056499477b746d9262975081206d7
commit 5ce3b222ab823802aae520ba965a8db7d1bf9420
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Feb 20 15:23:14 2015 -0500
Add methods to create and delete networks
The create_network() method currently does not support admin-level
operations. This will be added real soon now.
Change-Id: I5909b3cafd9c418f953a76cfaaf5c5708ad7e945
commit 62616f3eaaff708c583919b55093410a0179c940
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Thu Feb 26 16:01:50 2015 -0500
Add behavior to enable ironic noauth mode
Added behavior to enable users to utilize the ironic functionality with noauth
mode set on the server side. This logic is utilized if the auth_plugin is
defined as: None or "None" or ''. Bumped os-client-config requirement
because this working requires the pass-through support that got added
there in 0.5.0.
Change-Id: I3f8a9e0a9952be2d24c6cb655dfed9519134102e
commit 1ccad8c41c9cab2f577e6505daab858a2c9d22b5
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Feb 26 08:57:46 2015 -0500
Add support for configuring dogpile.cache
shade has added dogpile.cache support. Since os-client-config already
supports processing global cache settings, go ahead and add support for
a couple of settings that can be used to feed dogpile.cache.
Change-Id: I4d40753b83041c8a48b5c0a6d446f9e0de68220a
commit f99dc5f293bb71185be2102ea646b07159faf0a0
Author: Clint Byrum <clint at fewbar.com>
Date: Sat Feb 28 07:45:01 2015 -0800
Fix coverage report
Coverage can't handle package names that have dashes, as it uses the
package name to look for the base module name. So we need to pass in the
base module name as it is imported.
Change-Id: I2840eea85acaee2d05cab47fb67010e002a14bc0
commit 15cbdf7947d106c472181aa2ebc67a17974f54e3
Author: Clint Byrum <clint at fewbar.com>
Date: Fri Feb 27 11:23:16 2015 -0800
Add more testing of vendor yaml loading
Adding coverage for vendor yaml loading and refactoring some tests to
make the structure for that sane.
Change-Id: I7aca0fcc0b04371f9a71e71c0224897b19cb04af
commit e483abccbb84a9dd49b266105309610ca0924fb2
Author: Clint Byrum <clint at fewbar.com>
Date: Fri Feb 27 11:23:16 2015 -0800
More comprehensive unit tests for os-client-config
This includes ensuring that yaml of a sane format can be loaded.
Change-Id: I698b3139b7e44f000d2a413d17e79914ef542a22
commit 9752febeb6abd7d975af53e95ef1aed7c7d4cb56
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Thu Feb 26 13:14:17 2015 -0500
Allow keystone validation bypass for noauth usage
To enable the eventual use of the shade library for communication
with ironic in situations where authentication is set to noauth, it
is necessary to not attempt to validate a user's credentials.
Added a check to disable authentication validation when the
auth_plugin is set to '' or 'None' or None.
Change-Id: I3807b4724ce5e204b5857c1dbf5325f0e3f4a78d
commit 076e9bd9bece61db43137eab553c1545e6701fca
Author: Clint Byrum <clint at fewbar.com>
Date: Thu Feb 26 16:12:14 2015 -0800
Add basic unit test for config
Adding this exposed some python3 compatibility issues with iteritems.
Change-Id: Ia78bd8edd17c7d2360ad958b3de734503d400774
commit 1d0e7fdc72a761e1062fddb503a032177322ae1b
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Thu Feb 26 17:08:56 2015 +0000
Reorder envlist to avoid the rm -fr .testrepository when running tox -epy34
Change-Id: Ibe34867caf97e05bc13614b3c685e8cfb0d6220a
commit acfcf5562b90312f873f595154297a6edd3834a0
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Feb 15 11:15:31 2015 -0500
Make image processing work for v2
It turns out, not only is image _uploading_ different for v1 and v2,
image metadata processing is completely different too. And, Rackspace
disallows image properties with certain prefixes, the task checking loop
can fail some times. Also, glance v2 warlock objects work differently.
Change-Id: I37ac719270bde259ab1cf59763d3b949990bf497
commit 5bffc4e07124417460ba1db295c9c521057fbe04
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Tue Feb 24 14:50:08 2015 -0800
Utilize dogpile.cache for caching
In the future we can make the backend more configurable which will help
users build more powerful things on top of shade with better caching
available to them.
Shade is caching elements like images, volumes and flavors
that are subject to change (flavor the less of them). Storing
items in a cache makes that changes to elements, like adding
or deleting, or changes of status, are not perceived by the
cache. However, the cache is still needed to improve performance
when several concurrent calls are done.
Change-Id: If072bcdbdaa2b0a021e26b1ea2211b1dfcc75880
Co-Authored-By: Clint Byrum <clint at fewbar.com>
commit 6d31937a5a67c635ce84dbc6766fac0dd91cf59f
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Fri Feb 6 11:24:18 2015 -0500
Add support for volume attach/detach
Two new API methods for volume attaching and detaching.
Change-Id: I25bca4d53fd0d77ee1c8a5344e6d6c3163955ac4
commit 93ce50c040dddf1ad91a929223342fd0cf459adb
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Fri Feb 20 14:13:30 2015 +0100
Do not allow to pass *-cache on init
Caches will be useful to query for facts once and
then store them. But allowing to pass a list
of known facts could lead in shade consuming facts
that aren't reflecting the cloud behaviour, so
removing that possibility.
Change-Id: Ib3ea94ec3d014f4fe5d4480d779056bc5722de13
commit cec22cd55ec4dfeb562d3801e58fc26f10ddd61b
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Feb 19 12:03:06 2015 -0800
Import from v2 instead of v1_1
novaclient has moved its API, because that provides tons of value.
Change import lines to match.
Change-Id: I299696fde803d619ca9408091c1ab8aa8f13ad8f
commit 637b5b264e4dc21148233a9afbbd7a3ea54e1c38
Author: Clint Byrum <clint at fewbar.com>
Date: Wed Feb 25 05:09:19 2015 -0800
Add unit test for meta.get_groups_from_server
Change-Id: I01389ff20ecc37c7368702f6e3c6e904edde40fe
commit 47435af70b41adc9b5a387c7436263b0eef8ff29
Author: Clint Byrum <clint at fewbar.com>
Date: Tue Feb 24 15:44:30 2015 -0800
Add unit tests for meta module
Just adding basic unit tests for getting server addresses.
In the process of adding these we found a few py34 failures.
Change-Id: Ifd99e3ac71c0939cc48cf2e952719fd591077e32
commit 7d39596bf60b1f5395bcc715175fcf84075ba921
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Sun Feb 22 12:48:44 2015 +0100
Add a method to create image snapshots from nova.
It encapsulate the novaclient.servers.create_image
so we do not need to access directly to the python client
library.
Change-Id: I214993210cc3b46037c482dda815450446223850
commit 76c77d1a6a53ee678f56e5f5be1b615212599e71
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Feb 16 16:47:12 2015 -0500
Return extra information for debugging on failures
When spinning up a server, it's helpful to know things about why things
went wrong.
Change-Id: I9d78f3359801378f51a19ced25b58e17bd9e629d
commit 804b2f3a4e6d0f096c868cce10003bfcdee8fddd
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Feb 15 17:00:51 2015 -0500
Don't try to add an IP if there is one
On Rackspace there is an automatic IP. The code before inappropriately
attempted to add a floating IP anyway.
Change-Id: I63fd7ec0abc06a24b1869aa35cb1084cb228e4ca
commit 084df16c9b9d36571081bb07b336fb902ebc4dad
Author: Ricardo Carrillo Cruz <ricardo.carrillo.cruz at gmail.com>
Date: Thu Feb 19 18:40:39 2015 +0100
Revamp README file
The README used only python-*client objects, thus defeating the
purpose of shade, which is about putting a facade for all those
interfaces to simplify things.
README now shows you can use shade simplified interface and also
access the underlying python-*client API objects.
Change-Id: I0c638beab615177fc6ce3704c5443a3394a87ed0
commit 3d165aee7890ca822f33e118b9fa9d1f6a0109a7
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Wed Feb 18 12:44:20 2015 +0100
Add hasExtension method to check cloud capabilities
This method will be using an extension_cache that will query
for the extensions to the cloud, then check if the extension
asked is present on the list or not.
Change-Id: I6f018d03e6314579435b042faf5d24b1f0473685
commit 2bad9dacbbd98705a7e10a520dc90162a275ce6e
Author: Yolanda Robla <yolanda.robla-mota at hp.com>
Date: Wed Feb 18 17:20:22 2015 +0100
Don't compare images when image is None
Image cache can set images to None under certain workflow,
and then we are accessing this None entry as it was
an object. Add an extra check for that.
Change-Id: Ia9b737c81ed8133ff5a6ba26f98b7f55fca095de
commit 23ab18efdf3fba068e0ebd7d32d3ad3a2813bcff
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Feb 12 08:29:12 2015 -0500
Add service_catalog property
Add a property for getting the service catalog. Although most of the
time a user should not need to grab this directly, it can be invaluable
in debugging situations - and is a public method because there is an
ansible module that wants to directly expose it.
Change-Id: If54cb94fc9a80f1dabe90b46ed2f62d8fcb8460f
commit 91bc405359d601c2eb0b9d6967af464705932b04
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Feb 11 13:28:30 2015 -0800
Remove unnecessary container creation
While putting an object, if you specify a container that does not
exist, the container will be created for you.
Change-Id: Icfb9eed1e661360e6a7610c99b3d68e439e36dc3
commit 7e4927e7b30a26cd440218acfdd798376fb3c1af
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Sun Feb 8 17:20:08 2015 -0500
Make is_object_stale() a public method
The _is_object_stale() is meant to be public, so remove the leading
underscore.
Change-Id: Ib4f3be43e563ce3109cceae14ffe69e1976fc4c8
commit 7385528671ea61617d7027fc33897ea850e7364c
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Wed Feb 11 13:09:21 2015 -0500
Prefer dest value when option is depricated
Changed logic that re-assigns depricated key names while preserving
their values, to prefer the value stored in the dest key if it
exists, instead of attempting to generate the new key name.
Change-Id: Ibe961688cdb6bd4c9b2dbd27b08c722c3c741586
commit 56b75154fb4858fad5f1d7a910d5d7fbf785ef67
Author: Julia Kreger <juliaashleykreger at gmail.com>
Date: Sun Feb 8 13:06:49 2015 -0500
Allow region_name to be None
When using the shade library with ansible playbooks and classical
environment variables for authentication, it is possible for a
region_name value to be passed in with the value of None.
When the value is set to and preserved as None, the logic later
on in the method will fail to create a config key/value entry for
region_name which is required by code later on in the method.
Modified the region_name check to not only check for the presence
of a missing region_name value, but to check to see if that value
is set to None. This allows the value to be reset preventing the
method from failing on the return call due to a missing key.
Change-Id: Id8a3edf53ac751f0c6ee4d71405a926ba90c0602
commit 89d1e4d3c4cbbe67d60c5b96cfb8ae6762737fd2
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 11 09:30:22 2015 -0500
Don't return the auth dict inside the loop
It turns out that when you're looping over a set of params to move them
into an internal dict, returning inside the loop results in processing
exactly one of them. This is not, it turns out, what you wanted.
Change-Id: If1bf0c22b758e7238846b08991f4b0d25c841583
commit 01d7728504a77bdf03d6e4aa98edd66d55fa13f0
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Feb 11 08:32:48 2015 -0500
Make sure we're deep-copying the auth dict
Having a defaults dict that has an empty dict and then does a bunch of
updates means you have ONE instance of a dict that all of the other
instances have references to.
Change-Id: Id008f7ec98ff7b392553cebca5a5b301330e67a3
commit 2067982c3d9654103ccebb0c2043c63047bb28f1
Author: Adam Gandelman <adamg at ubuntu.com>
Date: Thu Feb 5 13:41:32 2015 +0000
Fix broken object hashing
This fixes two issues around checksum accounting for objects. It properly
calls the correct hexdigest() functions when calculating hashes locally.
Also, it uses the correct swift headers that allow these to do be stored on
in the object's metadata.
Change-Id: I55ea5aff0a4712e7b9f13e912008c3c98576414a
commit 37069cb7c3b9d3102aac78f7bc10d7a32f9a62b5
Author: Adam Gandelman <adamg at ubuntu.com>
Date: Tue Jan 27 16:47:35 2015 -0800
Adds some more swift operations
This adds some more operations for swift, mostly around the ability
to set a container as public private, both during creation and after.
Change-Id: I1dbc02a61bd8642963bb6dafe62e150b023679b7
commit 0cba0b8b1263b89124ee67e8a9c07c3240afc5e5
Author: Adam Gandelman <adamg at ubuntu.com>
Date: Mon Jan 26 17:31:26 2015 -0800
Adds get_network() and list_networks function
Adds new utility functions.
Change-Id: I923b6cef5d671c5eb6bac2b1d197c034ae99f0fd
commit 1e572aaff584b8934ff19f36101d0ecc94b79ddd
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Feb 4 14:20:41 2015 -0500
Add support for creating/deleting volumes
This adds a new create_volume() method, and changes the existing
delete_volume() method that didn't actually delete anything.
Change-Id: Ic02a54bcf953c5cb124865f5e4c33cc36863aacb
commit eeaf4730292859e591df5a7d248885435f30e116
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Wed Feb 4 13:12:29 2015 -0500
Get auth token lazily
This addresses one of the comments from change ID
Ia051f7c42aa3c0793cdadd5585e07c3220d5779d where it was suggested
to get the auth token when we actually need it, and not before.
Change-Id: I3fe485796a6057280933254e28ea6718e3a24d3d
commit 106e5561c9200a45d54740137d692cd8f026f986
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 27 14:22:49 2015 -0500
Pass service_name to nova_client constructor
Rackspace breaks without a service name passed to it, because they put
two compute services in their service catalog. If we pass a service
name, then keystone session can match the right thing.
Change-Id: I300017c664559fbeabde54160e6d4867abc4ce4b
commit fcc108626bca5feefe276fc3f5a94c1740e3b8f2
Author: Adam Gandelman <adamg at ubuntu.com>
Date: Thu Jan 15 15:02:12 2015 -0800
Create a neutron client
Creates a neutron_client property using token and endpoint from
keystone session.
Change-Id: I07199a272969c53610347f3ff05e60b0b3b8d317
commit d3daf5b896c23e113a4dfb324c24af31e276a0df
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 20 21:57:21 2015 -0800
Port to use keystone sessions and auth plugins
In order to properly support the input parameters we have, we need to go
all they way in to full support for keystone plugins and session
objects.
Amazingly, this is not terribly hard to do.
Change-Id: Ia051f7c42aa3c0793cdadd5585e07c3220d5779d
commit 8f1ca24bb83f108e302e3511b9825839e3cc9538
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 20 20:15:26 2015 -0500
Add consistent methods for returning dicts
There are enough places that want dicts that we should just have API
calls for it. Several of the places want to do slightly smarter things
when doing that too.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: I08245a89e5b497b9fe50af7d3538976b1ac82257
commit 4d1fae6c792660f4c9140b7195152815af2030b0
Author: Adam Gandelman <adamg at ubuntu.com>
Date: Mon Feb 2 10:26:08 2015 -0500
Add get_flavor method
Simple utility method to get a flavor.
Change-Id: I4246e91de97710e0966780cfcb085abff56c7dc0
commit bea5220e5a22953f349df48fa202283f5bdf0273
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Feb 2 10:12:58 2015 -0500
Make get_image return None
To make it more consistent with the interface elsewhere, make get_image
return None when an Image is not found instead of throwing an exception.
Change-Id: Id420abfeb32fa5d643d78ecec72db41be05093aa
commit 4bb72f8401264d17b5b1ff9a7aa0e53235fa3c33
Author: James E. Blair <jeblair at hp.com>
Date: Wed Jan 21 15:52:37 2015 -0800
Use the "iterate timeout" idiom from nodepool
When waiting for something to happen inside of a timeout loop,
use a generator to simplify and standardize the pattern.
Change-Id: I1a49bd4ecde98bc6bbb20d64d43447f825776807
commit 2bbcb630144975d032ecc312177a11266c2ac57b
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 27 16:51:53 2015 -0500
Remove runtime depend on pbr
os-client-config is not using pbr during runtime, so the runtime
requirement for it was a lie.
Change-Id: I3ed57ec5c2b0fdf4060ef17d6df1fa801cfa14cd
commit 569197d763aec46f8fe9838e554082069c2e3cdc
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 27 14:21:18 2015 -0500
Provide Rackspace service_name override
Rackspace puts two compute services in their catalog. This means that
keystone session code cannot find the right one without a name match
override.
Change-Id: I1bc06b97261341ad01bf84ebf5a12294cd0d383c
commit 70b58cff5c43f0c66168b51fc2584af6b9dec955
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jan 26 16:45:18 2015 -0500
Fix obj_to_dict type filtering
Commit 88f5f2661ee2ba31056251b4cdf91949fca0a031 fixed the python 3
unit tests, but broke obj_to_dict() because client classes were no
longer being filtered out (like nova's ServerManager class). Trying
to remove these by using inspect.isclass() does not work as it does
not recognize these types as classes (perhaps b/c they are being
serialized?). This change reverts to the old style behaviour, but
uses the six class to fix python3 compatibility.
Change-Id: Ief7bba30d983f67cd28d886cd1d3dfd2a45e957d
commit c22531d54bff23ebfd995a9a7795b0f86d33d7d7
Author: Adam Gandelman <adamg at ubuntu.com>
Date: Thu Jan 15 18:28:18 2015 -0800
Adds a method to get security group
Adds a method to get security group by name or id
Change-Id: Ifaecf75490f45e636f00b4e7b1c02fb6af09e50e
commit ab117cfebac692343bf5929bc5d52ab3093b7e0d
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 12 17:09:43 2015 -0800
Pull in improvements from nodepool
As part of starting to hack on using shade in nodepool, a few
inconsistencies with the compute stack in shade became clear ... fix
them up.
Change-Id: If3b1301fce8c2c7592258de2381dacfa082f8e49
commit 5342d25cace4b8c37c1c3b4328e77dbdd1e7342e
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 12 14:12:54 2015 -0800
Remove positional args to create_server
There's no good compelling reason to have them, and it just makes other
places ugly and harder to use.
Change-Id: I0c137c55d7f5b76f343d09f26abe926b2c44b147
commit 37cf9b8597b132ec0437fff357f02edd9aef741a
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 12 12:59:07 2015 -0800
Don't include deleted images by default
Since this is an end-user consumption library, don't put images
that are invalid in the list of images when the user asks for images.
An API call option is provided to disable this filtering.
Co-Authored-By: David Shrewsbury <shrewsbury.dave at gmail.com>
Change-Id: I331b2d14199eab72f108b939ac4fbe0363565814
commit 9c9de96e963824530e5c7a827465d51e2bf1ab1a
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 7 11:37:24 2015 -0500
Add image upload support
There are at least 2 known mechanisms in the wild for uploading images
to public glance endpoints that are completely different. Based on which
version of the API we're running switch between them seamlessly. Note
that the wait parameter isn't going to do anything for v1 because it's a
sync call - maybe we should throw an error if someone tries to leave if
set to false?
Change-Id: Ifccf8aaa6cd7793a1b827914e7da4b2b82248544
commit abc21aaf7656147fa58c49ebccff91a3b8aaf3aa
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 7 10:08:06 2015 -0500
Refactor glance version call into method
In order to switch behavior between glance v1 and glance v2 image
uploading, it needs to be possible to get the version in other places
other than just client initialization.
Change-Id: I1c7bcc9948c6ff7de5d4e14ce31b26e83328d5b8
commit a81d18dd0e21f4c19f7a9f2cb916a03a140daaa3
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 6 13:08:47 2015 -0500
Support uploading swift objects
In addition to just needing to be able to upload swift objects into
containers, we should be able to sanely interact with swift on general
principle.
Change-Id: I844ea7a26005e72ab037fe733681058944e847fa
commit 13a455f1181bef0dfea95aa1728f7f8ba5ba32f7
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 12 10:10:36 2015 -0800
Debug log any time we re-raise an exception
We're masking exceptions on purpose, which is evil of course - but the
reason is that they wind up being part of the API - and the
python-*client-ness of a particulate exception is largely an
implementation detail that might change. Eventually we want to have
better exceptions across the board - but make sure that we don't lose
the ability to debug the exceptions when they happen.
Change-Id: I8a972e6608e33088234d67ea24886c782a80e3b4
commit bc5608837f7d144f2f480c45c9b5499fca22098e
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 20 22:04:10 2015 -0800
Start keeping default versions for all services
It turns out we need to do the evil glance dance for almost everything.
Change-Id: Ic0ad77ba0627bd4be88bdf0136aa04c2ba43afe6
commit c75daaa1f9f0881cae63337e0d9799555f569c06
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 20 19:07:08 2015 -0800
Support keystone auth plugins in a generic way.
Basically, if keystoneclient is available, validate arguments into
the auth dict. If it's not - we should probably be talking about what
possible use this library has - but it should degrade cleanly and treat
everything as passthrough.
Change-Id: Ia31039d5c724eba22d053a004eefeaf6857f500d
commit 621a8636f505dd5c091a7fa8155ea79dc36b1b41
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Jan 20 18:04:21 2015 -0800
Replace defaults_dict with scanning env vars
All of the OS_ env vars start with OS_. Also, because of keystoneclient
auth plugins, we have no idea which ones we need. Instead of positively
identifying them - just grab them all - since they're all base layer and
can be overridden by everything else anyway.
Change-Id: I633f5e7d27c0a6a5c9b25f53cb99fe05b63c78ae
commit f0a21c8f220450def5eee23beb17dda63712447f
Author: David Shrewsbury <shrewsbury.dave at gmail.com>
Date: Mon Jan 12 19:34:52 2015 -0500
Remove py26 support
The code will not pass on py26 testing, but who cares about py26
anymore anyway.
Change-Id: I3009a01b392ade130f0802b3a995565d46c46b0f
commit e24208741361fc167d21f1624dba761453771a51
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Jan 12 17:14:03 2015 -0800
Explain obj_to_dict
It's entirely possile that the reason for the existence of this function
may not be immediately apparent.
Change-Id: Ia6839740d676ca99d919af732ede3a5982f5d864
commit 88f5f2661ee2ba31056251b4cdf91949fca0a031
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 7 20:08:04 2015 -0500
Fix python3 unittests
Turns out basestring and types.NoneType go away in python3 - so just do
the logic a different way.
Change-Id: Ic447e1f3bdf3eac7335995edd4d20b15820f78f0
commit 65fe04d5c2bbe4d66c3ba9ea43467ec38316eaa0
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 7 13:03:32 2015 -0500
Change meta info to be an Infra project
commit a56767a865baeeb0174c03e80809467edaaca2e0
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 7 12:59:34 2015 -0500
Fix flake8 errors and turn off hacking
commit 5b3c005aae0a4792458ba4b51b4bf9080a12c386
Author: Monty Taylor <mordred at inaugust.com>
Date: Wed Jan 7 12:31:15 2015 -0500
Fix up copyright headers
commit 3235321c01ad38e8ff3b170eac587cd8a175db3c
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Dec 12 17:28:13 2014 +0000
Add better caching around volumes
commit cdb3e37ccd079d10ca8fca334623a72fd260b726
Author: Jeremy Stanley <fungi at yuggoth.org>
Date: Fri Dec 5 03:30:46 2014 +0000
Workflow documentation is now in infra-manual
Replace URLs for workflow documentation to appropriate parts of the
OpenStack Project Infrastructure Manual.
Change-Id: I97d11d3a24a374c9212cd29f49472e199b1c8bc0
commit ca54d7290000f77c5382e227a7cf6e631a151174
Author: Jeremy Stanley <fungi at yuggoth.org>
Date: Mon Nov 24 17:10:43 2014 +0000
Corrections to readme
* README.rst: Remove docs and bugs links since the project is not
currently publishing/consuming these anywhere that I can find. Also
correct the source URL.
Change-Id: I2b7002f7ea301a2c03a2e41e904de0c91a14831a
commit 98d3de9f08886950dec4006fdce1b1d467a724d2
Author: Alex Gaynor <alex.gaynor at gmail.com>
Date: Sun Nov 9 08:18:42 2014 -0300
Use yaml.safe_load instead of load.
yaml.load will execute arbitrary code.
Also use context managers to ensure files are closed
Change-Id: I704baa7916ee834c12821009d8e3029b1b8fa340
commit 1c025d548f63b613c198f47065bde8cf43655fb3
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Nov 2 13:44:36 2014 +0100
Throw error if a non-existent cloud is requested
The error messages when a bogus cloud is requested are very confusing.
(They'll be things like "no auth url provided") Instead, be explicit
on the problem.
Change-Id: Idf68d1db7e5fccd712283775eb4d636d78ae5fc7
commit 4673bea22d7d481a79f62949e2fd8eb97e78cdb3
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 30 21:16:18 2014 +0100
Support boot from volume
The outbound interface for this is CRAZY
commit b3483829b581b92b55afa18bb4cc44615794f03e
Author: Monty Taylor <mordred at inaugust.com>
Date: Thu Oct 30 20:33:48 2014 +0100
Make get_image work on name or id
There is no reason to make the user specify. It's simple, while we're
looping through images, if the id is an exact match, bingo - it's the
image. If it's not, but the name is and matches the other rules, bingo.
Everything else is stupid.
commit 8f1bb101ea688456de7dcd269dc885558aaea383
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 26 15:04:43 2014 -0700
Fix a missed argument from a previous refactor
Region name support got changed a little while ago, and a call that
should now be a keyword argument style stayed as a positional ... which
means that we lost region name support for clouds with more than one
region. (it treated all of them like the first region)
Change-Id: I666758a775b8fc8e03b7e9ddd3aa494c13505612
commit 9c540a224da10f26a8579140a8a85587c9407bb1
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 25 18:52:05 2014 -0700
Add some additional server meta munging
commit 0ed767e20937a62ed2f190c6645673236b11237a
Author: Dean Troyer <dtroyer at gmail.com>
Date: Sun Oct 12 20:06:14 2014 -0500
Map CloudConfig attributes to CloudConfig.config
Treat the CloudConfig object as if it has the config attributes directly.
And add some simple tests.
This makes it easier to replace an argparse.Namespace() object with a
CloudConfig object. It also might make initialization of some of the
default attributes unnecessary. An example of this usage is in
https://review.openstack.org/#/c/129795/1/openstackclient/shell.py
Change-Id: I00ced540cf94742e8cb738f8f0767445ffeb4bfe
commit 313fb397d516146164bc2c28cbadc95dad9be6a2
Author: Monty Taylor <mordred at inaugust.com>
Date: Tue Oct 14 21:43:50 2014 -0700
Support injecting mount-point meta info
Volumes need to know where they're going to be mounted. But really,
it's not the volume that needs to know that - it's the user associating
volumes and servers. Make it something that can be injected into server
metadata.
commit 86f2c2b7a935a8f25cbf34b5328a2103d1571a61
Author: Devananda van der Veen <devananda.vdv at gmail.com>
Date: Tue Oct 14 09:06:14 2014 -0700
Move ironic node create/delete logic into shade
Move the logic around sanely registering and unregistering nodes,
along with the associated NICs, out of shade-ansible and into shade.
commit 54a460673fa1b0135836290c508fb2cc89871cdf
Author: Devananda van der Veen <devananda.vdv at gmail.com>
Date: Tue Oct 14 02:08:07 2014 -0700
Refactor ironic commands into OperatorCloud class
commit caa65d79e9612587e00ebe2bfedaede1e17daabf
Author: Devananda van der Veen <devananda.vdv at gmail.com>
Date: Tue Oct 14 02:07:34 2014 -0700
fix typo in create_server
commit 4b1cdaa318a244a2afbf1c267dbfadf9dc6624e3
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 13 16:06:54 2014 -0700
Don't die if we didn't grab a floating ip
commit f8a5ff706d2a0d02ef9e41dcb7a152007af83c99
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 13 14:01:13 2014 -0700
Process flavor and image names
commit 77fce7d0aa06e9cfe96f0ac91dd7c11b7b5d0887
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 13 13:44:56 2014 -0700
Stop prefixing values with slugify
We're going to namespace this stuff properly so that we can have
add_host inject things into the inventory properly.
commit 0968f7694b139f28b00b99deafc2100e4e67aa66
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 13 13:40:32 2014 -0700
Don't access object members on a None
commit 1faac01ba5acc7e726919f036acad715dd8882a7
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Oct 13 13:02:25 2014 -0700
Make all of the compute logic work
commit ddb1118af2145f386cf769944bc7738c9e6c88ab
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 12 15:13:19 2014 -0700
Add delete and get server name
commit a046b708d15e61f99ee840db1a2d2f960e0e9886
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 12 13:07:35 2014 -0700
Fixed up a bunch of flake8 warnings
commit 7fabe4bc11fbb2fd4115ec17fd1d869105d5324b
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Oct 12 12:59:43 2014 -0700
Add in server metadata routines
commit 470f6ea9358ac6cd6a05a96805d06c3cf8501d97
Author: Dean Troyer <dtroyer at gmail.com>
Date: Sat Oct 11 14:55:30 2014 -0500
Add support for argparse Namespace objects
The Namespace objects returned by argparse contain all defined options
even if they are unspecified and default to None or ''. Also it
is not iterable. Change all that to add only the options presented
to argparse to the cloud_config.
Change-Id: Ia22fad60c81ab0b2878b404c0c8608d903ca964b
commit b03d6e59b93cea29df30f286db02701e2e77effa
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 11 09:41:48 2014 -0700
Add support for command line argument processing
Now takes the ability to pass in a dict of key/value pairs, probably
from a command line processing thing like argparse, and to overlay them
on the config that came from the files or env vars.
Change-Id: I830699476e2340389979b34704c0dfbfe97a1e08
commit a23451831ee7601fee3aba519125f028bbc1c9d9
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Oct 11 10:33:38 2014 -0700
Plumb through a small name change for args
We want to be able to sanely and safely passthrough args lists from
consumers. "name" is a very common thing to want to also be in a
consuming args list, whereas "cloud" is clearly something we own.
commit 293745e7d75b28e8b803291672bf9b9dce938fde
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 10 16:39:47 2014 -0700
Consume project_name from os-client-config
It's always project_name now.
commit 91afaeb4aeb811b28d27b9eaf3887235a841f680
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 10 16:09:16 2014 -0700
Handle lack of username for project_name defaults
It's possible that there will not be a value in username, so we can't
use it as a blind default.
Change-Id: Iae93b9ec0e691c7b2174a0138c5455e36ad77ad7
commit 0aa553c4735963f06e69ada0ba8568f6fff4701d
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 10 15:18:55 2014 -0700
Handle the project/tenant nonesense more cleanly
devstack clouds are more strict that public ones, so it's more important
to get project_name vs. project_id correct. Solve it with brute force.
Change-Id: I957b19c23266d379834361ab6a5b3b2dc5d15d3d
commit aa7964512b34d5d6c48d5da7067a9bf14a8cb24c
Author: Devananda van der Veen <devananda.vdv at gmail.com>
Date: Thu Oct 9 15:45:44 2014 -0700
add Ironic client
commit b1bb75a69b491b26048fd18c40a7ac87043ea93c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 28 11:18:31 2014 -0700
Add cache control settings
Things need to do local caching, which means they need to control
some settings about that. Add simple cache settings support.
Change-Id: I7b56cc25ebe7a803816d95b79d0329f8e42025ba
commit 215425f421cb4b831f1a294d73a25a14f301c1f4
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 28 11:49:13 2014 -0700
Handle no vendor clouds config files
Change-Id: If0ab1db3df8ba3a2880473f2287ae3f85c84d9d5
commit 67f1fbd22ed5d0558a92c49c5114a292d1f0cc01
Author: Monty Taylor <mordred at inaugust.com>
Date: Fri Oct 10 15:24:15 2014 -0700
Remove unused class method get_services
Change-Id: Id133bc3c39b97a4489e75c3d38df601f999e8f3a
commit 21e3ecaf5b43e949fb92c2a9d8b72fe90cf4d47c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 28 12:09:33 2014 -0700
Updates to use keystone session
commit 2c2a2953771d6599cbb3b65500c1f55eb44cafe9
Author: Dean Troyer <dtroyer at gmail.com>
Date: Mon Sep 22 19:54:57 2014 -0500
Add clouds-public.yaml
Put vendor config outside of the code in clouds-public.yaml. Fall back to
vendors.py if clouds-public.yaml not found.
The search follows the same rules as clouds.yaml, the file is the same
format except the top-level key is 'public-clouds'. Typically only auth_url
and region_name are populated.
commit cb9e5059f6f9557fc9d62e12f4237719fb172e64
Author: Monty Taylor <mordred at inaugust.com>
Date: Mon Sep 22 09:01:40 2014 -0700
Prep for move to stackforge
commit 7bd5ff625f9c845e1199878caf15ed128a31bb52
Author: Dean Troyer <dtroyer at gmail.com>
Date: Sun Sep 21 22:16:02 2014 -0500
Handle missing vendor key
Continue on if the configured vendor config is not present
commit b8382c349687b09e15f92cde9d0099fea5252657
Author: Dean Troyer <dtroyer at gmail.com>
Date: Sun Sep 21 20:44:44 2014 -0500
Make env vars lowest priority
When working with multiple tools the project CLIs only know about options
and environment variables. When selecting a cloud config that includes
a section from vendors.py environment vars overwrite that data if they
are defined. The priority order should be:
* command line args
* cloud config selection
* environment variables
commit 1113d0523d1f35af11ac17112a6ac7cd2a1a085a
Author: Dean Troyer <dtroyer at gmail.com>
Date: Sun Sep 21 18:28:15 2014 -0500
Handle null region
Not all clouds define/require region_name to be set
commit e3bef24a4b7fbe8ab1c49b6af08aa175ecb41644
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 21 17:49:01 2014 -0700
Discover Trove API version
commit 1277d4cfc58a0c4e7338e29ada0df9631d62da21
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 21 14:33:07 2014 -0700
Update the README file for more completeness
commit c938bb9dbe3dcc5c9476e3d257bfde76e6093964
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 21 14:22:10 2014 -0700
Offload config to the os-client-config library
Also, while we're at it, add initial trove support.
commit 69d2a3e0ad97a20cec498ab87c81af5e11e5c79c
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 21 14:17:38 2014 -0700
Get rid of extra complexity with service values
We don't need to enumerate the service types - we can simply match
at consumption time on patterns.
commit 9bbb4f30f49eb157d31a9aa1c37aca3004656009
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 21 12:20:55 2014 -0700
Remove babel and add pyyaml
commit 6efe00dbf3959ebfbb49045f357823da0b94c3e0
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 21 12:16:20 2014 -0700
Port in config reading from shade
commit edadf145f3846c95b7faf48c4543bbd15765231f
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Sep 20 16:16:13 2014 -0700
Initial Cookiecutter Commit.
commit 64292c803109a748e23b60e7a26aa10b619e0b94
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 7 17:55:48 2014 -0700
Add example code to README
commit ccdd146a82b42883f27eae97cf13f9f9b957aba8
Author: Monty Taylor <mordred at inaugust.com>
Date: Sun Sep 7 17:53:31 2014 -0700
Add volumes and config file parsing
commit 4fd77e77cd5ff3f57fd05baee153457f4efa4e45
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Sep 6 17:51:56 2014 -0700
Fix log invocations
commit f18e9e867efd8288eeeed2622ad1d8ad75a51c28
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 30 17:50:38 2014 -0700
Remove some extra lines from the README
They are misleading - making it seem like docs are there.
commit 97c316f0cc6c309041f19a8db253f8d130a4c4ad
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 30 17:41:36 2014 -0700
Add the initial library code
This is the first workable piece of library code.
commit c046b39e791b16a927dee61c57b9526d97ca6fb2
Author: Monty Taylor <mordred at inaugust.com>
Date: Sat Aug 30 16:55:05 2014 -0700
Initial cookiecutter repo
** Bug watch added: github.com/ansible/ansible/issues #24675
https://github.com/ansible/ansible/issues/24675
** Bug watch added: github.com/ansible/ansible-modules-core/issues #5250
https://github.com/ansible/ansible-modules-core/issues/5250
** Bug watch added: github.com/ansible/ansible-modules-core/issues #2474
https://github.com/ansible/ansible-modules-core/issues/2474
** Bug watch added: github.com/ansible/ansible-modules-core/issues #2435
https://github.com/ansible/ansible-modules-core/issues/2435
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to designate in Ubuntu.
https://bugs.launchpad.net/bugs/1280522
Title:
Replace assertEqual(None, *) with assertIsNone in tests
Status in Anchor:
Fix Released
Status in anvil:
New
Status in bifrost:
Fix Released
Status in Blazar:
Fix Released
Status in Cinder:
Fix Released
Status in congress:
Fix Released
Status in Designate:
Fix Released
Status in dox:
New
Status in DragonFlow:
New
Status in OpenStack Backup/Restore and DR (Freezer):
New
Status in Glance:
Fix Released
Status in glance_store:
Fix Released
Status in heat-cfntools:
Fix Released
Status in Heat Translator:
Fix Released
Status in Ironic:
Fix Released
Status in ironic-python-agent:
Fix Released
Status in OpenStack Identity (keystone):
Fix Released
Status in keystoneauth:
Fix Released
Status in kolla-mesos:
Fix Released
Status in Manila:
Fix Released
Status in networking-brocade:
New
Status in networking-cisco:
Fix Released
Status in OpenStack Compute (nova):
Fix Released
Status in octavia:
Fix Released
Status in ooi:
Fix Released
Status in os-brick:
Fix Released
Status in os-client-config:
Fix Released
Status in oslo.messaging:
Fix Released
Status in python-barbicanclient:
Fix Released
Status in python-ceilometerclient:
Fix Released
Status in python-cinderclient:
Fix Released
Status in python-congressclient:
Fix Released
Status in python-cueclient:
Fix Released
Status in python-designateclient:
Fix Released
Status in Glance Client:
Fix Released
Status in python-heatclient:
Fix Released
Status in python-ironicclient:
Fix Released
Status in python-manilaclient:
Fix Released
Status in python-openstackclient:
Fix Released
Status in OpenStack SDK:
Fix Released
Status in python-swiftclient:
Fix Released
Status in python-troveclient:
Fix Released
Status in Python client library for Zaqar:
Fix Released
Status in Quark: Money Reinvented:
New
Status in Sahara:
Fix Released
Status in OpenStack Search (Searchlight):
Fix Released
Status in Solum:
Fix Released
Status in Stackalytics:
Fix Released
Status in OpenStack Object Storage (swift):
Invalid
Status in taskflow:
Fix Released
Status in tempest:
Fix Released
Status in OpenStack DBaaS (Trove):
Fix Released
Status in tuskar:
Fix Released
Status in watcher:
Fix Released
Status in zaqar:
Fix Released
Status in Zun:
Fix Released
Status in designate package in Ubuntu:
Fix Released
Status in python-tuskarclient package in Ubuntu:
Fix Committed
Bug description:
Replace assertEqual(None, *) with assertIsNone in tests to have
more clear messages in case of failure.
To manage notifications about this bug go to:
https://bugs.launchpad.net/anchor/+bug/1280522/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list