Align mocking pattern for test case

Mock sys.stderr/sys.stdout with mock.patch()

In novaclient/tests/test_shell.py, ShellTest.shell(), it is another
case that should be aligned. But it may induce test error if changed.
So, let's keep it as is.

Close-Bug #1237093

Change-Id: I8908dc1593dbbbaf2813cc8fb034be32972140a0
Add --insecure to curl output if required

Change-Id: I5762f6659a6687b86c94a6e371ccc7509d1e26f9
Quote URL in curl output to handle query params

Copy and pasting the generated curl output into a shell doesn't
work when the URL includes an ampersand, as the URL isn't quoted.

This simplifies the logic in client.http_log_req to be able to
output the URL and method separately and quote the URL.

Change-Id: I1e497886ea9334771ab91e657e7c1121d89f7f33
Nova aggregate-details should be more human friendly

'nova aggregate-details' shows Hosts, Availability Zone
and Metadata in the python unicode notation.

Change-Id: If0028347146439994265c60c429af05dd67912f9
Closes-Bug: #1132961
Merge "Align mocking pattern for test case"
Merge "Add --insecure to curl output if required"
Merge "Quote URL in curl output to handle query params"
Merge "Nova aggregate-details should be more human friendly"
Adds locking to completion caches

Previously, completion caches were not thread-safe and multiple
threads could not make calls to python-novaclient simultaneously.
With locking, the completion caches are now thread-safe.

Closes-Bug: #1213958
Change-Id: I201c2ed0f1eb09b1c2a74de96119cbae9ed6f4b0
Print security groups as a human readable list

Convert the security group list into a list that is more suitable for
printing.

Change-Id: I411d9256145986fad7659a9377494e29a6d70ced
Update mailmap for Joe Gordon

Update mailmap to reflect that I am committing from a new email address.

Change-Id: Ibf03482768a639c4c2fe57fca045daaab0233688
Revert "Nova aggregate-details should be more human friendly"

This reverts commit 6374ee04a378b8a970f9e429d66eb37c969bbf7b.

Change-Id: Ib27cc6722ea7cc8cb9b133360b3ecb246a0e4a14
Flatten hypervisor-show dictionary for printing

Flatten the nested dicts so that hypervisor information can be more
easily used at the command line.

Change-Id: I5dfcf9d10f917a63bde09f0b5a691784a5e8f02b
Closes-bug: #1243512
Merge "Update mailmap for Joe Gordon"
Merge "Adds locking to completion caches"
Fix single H234 Bug to make Hacking 0.8 pass

Jenkins patch I96b53ce825ca0f940596f53058b8e3c80463ac3c introduces
hacking 0.8, this fix the one bug.

Change-Id: Ib4ee60b4de32c59cb3552091f0ce50f366fe0879
Change "project" to "project_id" in cloudpipe-create

The CLI was stating that the name of the project should be used, but the
parameter needs to be the project_id.

Change-Id: If0908a1b72c526f6436432ff18599423f89f7d1f
Discrepancy between README.rst and nova help

1) --version in README should be --os-compute-api-version

2) NOVA_URL should be OS_AUTH_URL

Change-Id: Ib8989e6923e2073bcc31d2a17d346eb436effdc8
Closes-Bug: 1250842
Merge "Print security groups as a human readable list"
Merge "Flatten hypervisor-show dictionary for printing"