The repo is Python 3 now, so update hacking to version 2.0 which
supports Python 3.
Fix problems found.
Change-Id: I81cf5e317bb2f791888e75d87cfd27dfdd2b5f96
--profile argument can be loaded from OS_PROFILE environment variables
to avoid repeating --profile in client commands.
Co-Authored-By: Hieu LE <hieulq@vn.fujitsu.com>
Change-Id: I67fa2538a10788ac6942995b440c22facb81fc68
Increase Test coverage from 80% to 84%.
Removed unused code of SecretsHelper.
Change-Id: I7bf81f44defde984c8201423447d4071682a8c99
Partially-Implements: magnumclient-ut-coverage
My mistake in OSprofiler help when copy some code from novaclient
Correct nit in: I85f766f636f754fc6ad8e28e3df2793cd02a618e
Change-Id: I195d1a02e7c4f10858caf61a1857537ad8dff189
Make "magnum cluster-create" and "magnum cluster-template-create"
accept name as a positional like the other magnum subcommands.
Implements: blueprint positional-name
Change-Id: Ie505ef8ea7e4c13ed2795cde826b9822d094aaeb
This will help with the following flake8 failure:
magnumclient/shell.py:544:1: C901 'OpenStackMagnumShell.main' is too complex (20)
def main(self, argv):
^
Change-Id: Id1def3850112d689d151951f587f58e20fc0b22d
Partially-Implements: blueprint positional-name
Add OSprofiler support in Magnum Client
Co-Authored-By: Hieu LE <hieulq@vn.fujitsu.com>
Change-Id: I85f766f636f754fc6ad8e28e3df2793cd02a618e
Depends-On: I7d68995aab81d365433950aada078ef1fcd5469b
Implements: blueprint osprofiler-support-in-magnum
Currently only few help messages are marked for translation.
With this patch all the help messages are marked for
translation so that they can be tracked by Zanata bot.
Change-Id: I025e94f5148b32ba2cdcb1fa7ee2219d27da68a1
Closes-Bug: #1653053
Implements parameter deprecation for magnum client via decorator
in cliutils.py and additional logic in magnumclient/shell.py.
Logic in shell creates mutual exclusive (mutex) groups in argparse
to enable parameter checking for required and unrequired parameters
specifically to check for old parameters that are being deprecated
in favor of newer ones.
Change-Id: Ic72c876e556070a066b1693a119a389301dfa259
Implements: blueprint rename-id-parameter-names
This patch adds 'OpenStack-API-Version' header for each
requests.
Change-Id: I49310f1b53447ce00e78e26661cc895ce4f1c4e5
Implements: blueprint api-versioning
Use os-client-config[1] to process options and get the Session from
keystoneauth1. This adds support for reading clouds.yaml
files and supporting the OS_CLOUD env var for selecting named clouds
from a list of them.
[1]: https://github.com/openstack/os-client-config
Closes-Bug: #1599747
Change-Id: I23a6e80648e67c0b652693cd146bd9e94ad4fb23
OS_TENANT_NAME and OS_TENANT_ID are legacy variables.
so OS_PROJECT_NAME and OS_PROJECT_ID should be supported.
Change-Id: Ibdfa0e14d80313b8087670ccd0bd9bdbf5ba364d
Closes-Bug: #1591027
After this patch [1], Magnum is no longer the "Container Service", it
became the "Container Infrastructure Management Service". Based on the
decision, this patch proposed to rename Magnum service type from
"container" to "container-infra". The old service type will be
deprecated and eventually not supported.
There is another patch [2] on Magnum server side for the renaming.
This patch should land first, then the server patch.
[1] https://review.openstack.org/#/c/311476/
[2] https://review.openstack.org/#/c/319300/
Change-Id: I55205ff2b304678d2b53bbd4d66403078c6baac8
Closes-Bug: #1584251
Apiclient[1] and cliutils[2] is removed form Oslo incubator, we should keep
the local copy by ourself.
1. copy openstack/common/apiclient to common/apiclient
2. only keep base, auth, exceptions from apiclient, others are unused
3. copy openstack/common/cliutils.py to common/cliutils.py
4. update all magnumclient.openstack.common.* users to use
magnumclient.common.*
This is the first step to delete openstack common modules.
[1] Change: I2020d73fa9cedb3b3b87c1d8dbc8d437857ec7c2
[2] Change: Ibc5a8f11c6e5c308cec15a60eeb07a898254f9b7
Partial-Bug: #1545957
Change-Id: Ide3814d87ecdf3255868bf3b78fdceb58bd14295
This commit fixes two issues, which make the client work with Python
3.4 and still being compatible with Python 2.7. The first issue is,
that the command line args somehow become a Map instead of list in
Python 3.4. I fixed it by explicitly making argv (sys.argv) a list.
The second issue is in the httpclient.py, where the values of a http
response are of type byte, which cannot be joined by join method of
string. I fixed it by decoding byte to utf-8 string. Additional if
statement satisfies wrong Python 3.4 test behavior.
Change-Id: Ifaf03cbc5512dcbe82cfc37bc0c8471ffdbc7018
Closes-Bug: #1535821
Adds insecure option and associated MAGNUMCLIENT_INSECURE environment
variable for skipping SSL certificate verifcation in the client.
Change-Id: I0396453e8315c5f24703161457c91f7640827b8d
Endpoint types does not get set as when the shell creates the client
object the endpoint_type is not passed.
This causes the client to default the endpoint type to 'public'.
This change passes endpoint_type from the shell to the client.
Change-Id: I12afb072174d25152223a77601546ed26b5e5b62
Closes-Bug: 1535396
Currently the varible is MAGNUM_ENDPOINT_TYPE rather than
OS_ENDPOINT_TYPE. This should be changed to match the rest of Openstack.
Change-Id: Ifdbf37ff12858cf26678f53e1967fb005d55574d
Closes-Bug: 1535400
Since oslo-incubator is no longer maintained[1] after
90ae25e38915cc502d9e9c52d59e8fb668a72ae1. We should cleanup
the deprecated code.
This patch do the following cleanup actions:
1. Use magnumclient.i18n instead of
magnumclient.openstack.common._i18n.
2. Use magnumclient.exceptions instead of the deprecated
magnumclient.openstack.common.apiclient.exceptions[2].
[1] http://lists.openstack.org/pipermail/openstack-dev/2015-November/
079343.html
[2] https://github.com/openstack/python-magnumclient/blob/master/
magnumclient/openstack/common/apiclient/exceptions.py#L25
Change-Id: I6fae1f84d211d661bb363e43167cdf8b6b06fd4d
Partial-Bug: #1529316
v1 shell has many sub command. It is difficult to add more test
and functions. Actually we have forgotten to add some tests for
these sub-commands.
This patch splits these.
Change-Id: I6b80b621311442df987e6ff031e8c77cf4bb7095
Closes-Bug: #1515109
Python 3.4 changed some of the output from argparse and the
handling of default func and command behaviour; this patch
deals with both < and >= 3.4 behaviour.
Change-Id: I27983f7b06fc16aeedb98a4b36f7ff9a451706ec
Closes-Bug: 1496805
The Oslo libraries have moved all of their code out of the 'oslo'
namespace package into per-library packages. The namespace package was
retained during kilo for backwards compatibility, but will be removed by
the liberty-2 milestone. This change removes the use of the namespace
package, replacing it with the new package names.
The patches in the libraries will be put on hold until application
patches have landed, or L2, whichever comes first. At that point, new
versions of the libraries without namespace packages will be released as
a major version update.
Please merge this patch, or an equivalent, before L2 to avoid problems
with those library releases.
Blueprint: remove-namespace-packages
https://blueprints.launchpad.net/oslo-incubator/+spec/remove-namespace-packages
Change-Id: Id26264ad0b002ab21e60431a2fd39fcecf76c490
This changes enables keystone region support using:
* an option: --os-region-name=<region-name>
* an env variable: OS_REGION_NAME=<region-name>
DocImpact
Closes-Bug: #1436774
Change-Id: I1f82d437f05c2d96ed7ed12d22906efd00edbacb
When server return a failure response, magnumclient will use the python
logging library to log the status. The library will attempt to log the
failure by finding a log handler to do the actual logging tasks. If there
is no log handler, no message will be logged and the error message below
will be printed.
No handlers could be found for logger "magnumclient.common.httpclient"
In before, magnumclient did not add any log handler on non-debug mode,
which is a bug. This commit is for fixing that. It should be mentioned
that there is another commit 5b59253667a12a1b592d967bbcaa1f1adda559d3
(which has been reverted by 442e08b2895ad7eae29ce8ee7ffa0e4ba445f36c)
for addressing the same problem. However, this commit is a better fix since
it calls function basicConfig to add a default handler to root logger,
which ensure that there is always a handler globally.
Related-Bug: 1410444
Related-Bug: 1410507
Related-Bug: 1410510
Change-Id: I1697ff2d4fb47cdabf8da19ba862abcaed3a44ee
It is better taht we can change the folder of api to v1 for
magnumclient in case we have v2, v3 ... vx in future.
Change-Id: If59c77e5d1c184c65f1e73ddd43fd89fcdcba18e