Commit Graph

31 Commits

Author SHA1 Message Date
Lingxian Kong 61b76377fd Support getting and updating instance access info
* Added "public" and "allowed_cidrs" fields for getting instance.
* Added '--is-public/--is-private' and '--allowed-cidr' for updating.

Change-Id: Ifc919667e83573bd6c3b7aff205fe08e82667457
2020-08-11 17:35:41 +12:00
Sean McGinnis 2b8282bb1e
Use unittest.mock instead of third party mock
Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.

Change-Id: Ib83e626f51e6e01898bb7931c1660a1a548500f3
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-04-18 11:59:46 -05:00
Lingxian Kong 4d54360691 Support to create public instance
Add two params for creating instance:
'--is-public' and '--allowed-cidr'

Change-Id: I3bc69e3d56d250b562543f0de2c78c05fcaefead
Story: 2006500
Task: 36469
2019-09-11 21:40:06 +12:00
Bartosz Zurkowski d2220578ff Add detailed list for instances
Currently, listing instances only allows to get basic information about
entities. To get the details, one need to query instance "show" endpoint
for each instance separately. This is inefficient and exposes API to a
heavier load.

There are use cases in which we want to obtain detailed information
about all instances. In particular, in services integrating with Trove.
For example, Vitrage project requires this information to build vertices
and edges in the resource graph for RCA analysis.

This change extends Trove client by optional parameter allowing user  to
specify whether API should include more instance details in the
response.

Change-Id: Iecea2f711a3e23fd63167beb6cab4cecc63bcabe
Signed-off-by: Bartosz Zurkowski <b.zurkowski@samsung.com>
2018-10-12 15:28:37 +02:00
Peter Stachowski 714c6e781c Add module-instance-count command
Added a --count_only flag to the call for module instances
to return a summary of the applied instances
based on the MD5 of the module (this is most useful
for live_update modules, to see which ones haven't been
updated).

Added a new module-instance-count command.  This was done
to facilitate getting the summary, since it returns
a different result set.  It basically calls the
same python interface as module-instances, but adds
the --count_only flag.

Also added some missing tests.

Change-Id: Iea661166bf3a4f3520a590da5954aedcd0036243
Partial-Bug: #1554900
Depends-On: I4caf4a57226dd711575cde766076fa25d16792e2
2017-01-05 00:11:59 +00:00
jiansong bd8e56f0e1 Time to get rid of slave_of
Now liberty is end of life,so we can get rid of slave_of

Change-Id: I429a95018a58a92576c52e0a9bc6b1b817c408ea
2016-12-23 01:56:26 +00:00
Morgan Jones 4f3ab58687 Implement Instance Upgrade
This change includes a new "trove upgrade" CLI command and
a new "Instances.upgrade" python API method to implement
the new Instance Upgrade feature.

Change-Id: I6ec2ebb78019c014f87ba5d8cbfd284686c64f30
Implements: blueprint image-upgrade
2016-08-16 14:44:29 +00:00
Jenkins 417af237c9 Merge "Locality support for replication" 2016-06-24 20:26:05 +00:00
Morgan Jones ea0e472edd Fix troveclient to support Mistral
Mistral gets confused by Trove's (aguably wrong) inclusion
of a member called 'items' in the Pagenated object that
Trove returns as the result of 'list' client methods.

This change changes Pagenated to inherit from the 'list'
class so that the items method is not required (and has
the additional benefit of just generally being a better
implementation of a list type result).

Change-Id: I683120451f69f07f131e6fa422c082f85735b196
Closes-bug: 1585705
Depends-On: Id674ae57bfcdc5e09bde1e323a614b3a03a7cad3
2016-05-26 16:14:37 -04:00
Peter Stachowski 358dbf3c80 Locality support for replication
In order to allow replication sets to be all on the same hypervisor
(affinity) or all on different hypervisors (anti-affinity) a new
argument (locality) needed to be added to the Trove create API.

This changeset addresses the Trove client part of this feature.
A --locality flag is now available on the 'create' command and
is passed to the server for processing.

The --replica_count argument was also cleaned up in that it's not
passed on unless it is set. If --replica_of is specified, the
default is set to '1.'

DocImpact: New functionality

Partially implements: blueprint replication-cluster-locality
Change-Id: I18f242983775526a7f1e2644302ebdc0dac025cf
2016-05-02 22:18:53 +00:00
Peter Stachowski 457360c69f Client support for instance module feature
This adds support in the python API and Trove CLI
for instance module commands.  These commands include:

    - module-apply
    - module-remove
    - module-query
    - module-retrieve
    - module-list-instance

The parsing of --instance was modified to allow multiple
modules to be specified.  This was extended to 'nics' as well.

Partially Implements: blueprint module-management
Change-Id: If62f5e51d4628cc6a8b10303d5c3893b3bd5057e
2016-03-11 18:10:50 -05:00
Matt Riedemann 3c71e52b40 Revert "Time to get rid of any last vestiges of slave_of"
This reverts commit a5234f0a07

The change broke trove on stable/liberty since it's a backward
incompatible change.

To avoid capping python-troveclient<2.1.0 in
stable/liberty global-requirements, we have to revert this
change, blacklist the 2.1.0 version in g-r master and
stable/liberty, and then release 2.2.0.

And the slave_of code can't be removed until the last
supported stable branch that uses it is end of life, which
is liberty-eol. For now we keep the slave_of argument in
the instance.create method, but emit a deprecation warning
if it's specified, and we never pass it to the trove API
for the create or edit operations since the API removed
slave_of in 0c94a5bae0aacff7fde9a9742b7d526096e51767.

Change-Id: I9b3ec6c101a89f30e61fc683808506c404e5474f
Partial-Bug: #1538506
2016-03-08 20:12:31 -05:00
Doug Shelley df3afb2abc Add instance name as parameter to CLI
Allow CLI to take instance name as well as instance id for
sub-commands where instance can be specified. This commit
does not include the metadata-* commands as the backend for
that feature isn't merged. The spec will be adjusted to
reflect that they commands will be out of scope.

Affected sub-commands are:
backup-create
backup-list-instance
configuration-attach
configuration-default
configuration-detach
create (just for --replica_of)
database-create
database-delete
database-list
detach-replica
delete
resize-flavor
resize-instance
resize-volume
restart
root-enable
root-show
update
user-create
user-delete
user-grant-access
user-list
user-revoke-access
user-show
user-show-access
user-update-attributes

Unit tests were added to test passing in an instance object
for the affected sub-commands. A new set of unit tests were
added for databases.py (doesn't look like any existed before).

Change-Id: I5554a7d423990ff9cb24437a893d90d212b022b1
blueprint: add-instance-name-to-cli
2014-12-08 14:29:06 -05:00
amcrn 6852bdcefc Clusters troveclient Implementation
adds clusters support to the troveclient.

Co-Authored-By: Ranjitha Vemula <rvemula@ebaysf.com>
Co-Authored-By: Michael Yu <michayu@ebaysf.com>
Co-Authored-By: Mat Lowery <mlowery@ebaysf.com>

Partially implements: blueprint clustering

Change-Id: I6ed2c4c79a17fcf8f14c587cab6a8ec3acaf319f
2014-09-02 16:38:56 -07:00
Greg Lucas 837569d96b Add new command: detach-replica
Add new command to detach a replica from its replication
source.

Partially Implements: blueprint replication-v1
Co-Authored-By: Nikhil Manchanda <SlickNik@gmail.com>
Change-Id: Ieca67f042c6bcb33f2a4de1acbb330d3eefc0600
2014-08-26 15:17:09 -04:00
Jenkins 21646a49dc Merge "Allow users the ability to update the instance name" 2014-05-27 11:28:01 +00:00
Sushil Kumar 8bc695bd70 Enabled F821, H306, H402, and H404 flake8 rule
Reasons:
- F821 is disabled.
- H306 is disabled.
- H402 is disabled.
- H404 is disabled.

Changes:
- Updates tox.ini to enable F821, H306, H402 and H404 rules.
- Updates code for F821, H306, H402 and H404 violation.

Change-Id: I772270bb833ac774e080fc63e330d6b333f23de2
2014-05-09 08:54:39 +00:00
Iccha Sethi 84de6ee1a0 Allow users the ability to update the instance name
Implements: blueprint update-instance-name

This review provides the user the ability to update the instance
name or/and configuration using the trove client.

Change-Id: If404d4d47c83ca36d7a08ed2a8f1f8dddb7ed677
2014-05-08 11:08:48 -05:00
Jenkins 24281a1ab5 Merge "Replace assertEqual(None, *) with assertIsNone in tests" 2014-03-03 09:45:19 +00:00
He Yongli 59ec2bb433 Remove vim header
No need to set tabstop tons of times, this can be set in your vimrc
file instead.

More disucssion:
http://openstack.10931.n7.nabble.com/Remove-vim-modelines-td21780.html

Change-Id: I45766d91f0c0b3622bbdc7dc5517497c87ebee8c
Closes-Bug: #1229324
2014-02-16 13:08:07 +08:00
llg8212 ae837cf057 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: Ifbb144e26b62790d8b8ba9b5c3eea7d04844ee19
Closes-Bug:#1280522
2014-02-15 12:56:54 +08:00
Craig Vyvial 8bc981aba5 adds support for configurations management
Reason:
Adding configuration group support for the python-troveclient

Changes:
adding configuration api calls
adding the compat client for tests and xml
added the shell cmds for the configurations in the client
made the path to datastore/version/parameters
added unit tests

partially implements blueprint configuration-management

Change-Id: Ifc0b4077c93a805898b4cd157e33172f64e85b55
2014-02-05 16:34:27 -06:00
Andrey Shestakov b62c7da0a9 Add Neutron support
Currently create instance doesnt work in OS installation with Neutron.
To get it work, additional parameter 'nics' should be specified
in Nova 'create' call.
This change allows user to pass 'nics' parameter when create instance.

Syntax to specify '--nic' parameter is same as in novaclient.
--nic <net-id=net-uuid,v4-fixed-ip=ip-addr,port-id=port-uuid>
This parameter can be specified multiple times, to attach multiple
network interfaces to instance.

Closes-Bug: #1257838

Change-Id: I76fb0d99512b1ee70441c924835a900ba0b7acd1
2014-01-29 19:42:39 +02:00
Robert Myers fba4941fd2 Adding pagination support for backups
* add a _pagination method to base Manager
* switched existing paginated list to use the new method
* removed description from backup list and added updated

Implements: blueprint paginate-backup-list

Change-Id: If33c55a35bae8ebd6ed654af5ce6dfd7f9e40096
2013-12-11 10:15:50 -06:00
Denis Makogon 69c865695f Ignore fewer PEP8/flake8 rules
Reasons:
- code should be pythonicaly clean,
  that is why number of ignored rules should reduced

Changes:
- E125, F811, H102, H103, F201, H23,
  H302, F841, H301, H702, H703 rules are now enabled

Change-Id: Ibf4025162244d3c2f1278b49a76ec1527a729042
2013-12-10 18:49:20 +02:00
Andrey Shestakov 8e4bfa723d Support datastore types
implements blueprint db-type-version

Change-Id: I5dec99c44393c04d86c1a8e19c0b3ca59329fd87
2013-10-31 00:02:02 +02:00
Michael Basnight af4d4ed4f7 Fixing copyright and license headers
* Added HP copyrights as appropriate

Change-Id: If4f30b0caf03b16f5fb4f54185ba80d9fa41d0b0
2013-10-22 11:21:33 -07:00
Andrey Shestakov 6a2592ac48 Removed underscores from the end of some variables
Change-Id: Iff664cef5ec580de6a33db1503a6e567701418a3
2013-10-15 00:52:53 +03:00
Michael Basnight fd43cbd73b Massive refactoring to the troveclient
The new client adheres to the standards of the other clients
now. It prints out tables, uses ENVVAR's for auth, no longer
stores pickled json in a login token, uses openstack common,
and moves the cli operations into a v1 module for the future
of trove when it has a v2 api.

Please note for compatibility, the troveclient.compat module
has the old cli. In order to deploy it, amend the setup.cfg
to include the compat module.

implements blueprint cli-compliance-upgrade

Change-Id: Ie69d9dbc75ce90496da316244c97acca1877a327
2013-10-09 19:21:08 -07:00
Nikhil Manchanda 87329ef2ad Removed instance reset_password from python-troveclient
The reset_password operation no longer exists and needs to be removed
from python-troveclient.

Change-Id: Ic162ef6deb86716fa12fa5541699f602c246563e
Fixes: bug 1199507
2013-08-20 13:55:24 -07:00
Michael Basnight 9916c8f273 Rename from reddwarf to trove.
Implements Blueprint reddwarf-trove-rename

Change-Id: Ib2d694c7466887ca297bea4250eca17cdc06b7bf
2013-06-21 20:15:23 +00:00