From a2d336de2a2275b6abd6e7933347af72363bcc03 Mon Sep 17 00:00:00 2001 From: Amrith Kumar Date: Mon, 19 Sep 2016 08:26:24 -0400 Subject: [PATCH] improve pylint; generate errors and config in sorted order Since the config is not in a deterministic order makes it hard to compare two config's and see what changed. Personally, I'm not positive I understand this use-case; i.e. you have an existing config file, you save it, and then rebuild and then diff the two files. I'd have thought you'd just run check and the output of the tool was the diff. I however do see the value in sorting the file so that when someone submits a change that includes a change to the config, reviewers can see more easily what the change is doing. Similarly, the output from pylint (errors) are generated one file at a time and os.walk makes no guarantee of deterministic order. So we should collect all errors (across all files) and then print an ordered list for human consumption. The intent is also to make pylint voting soon (in master). the changes to contributing.rst and tox.ini are to make that easier. The config file has also been sorted in place. This change was motivated by an email exchange with Peter so I am marking him as a co-conspirator. The line numbers were removed from the tools/trove-pylint.config file as these would change whenever the line numbers in the file changed (since they are currently not being used in the comparison; they can be re-added if deemed necessary at the cost of having every 'rebuild' run create a different file). The tools/trove-pylint.config was regenerated as well, since the remaining two errors seem to be innocuous: ERROR: trove/taskmanager/manager.py 392: E1101 no-member, Manager.upgrade: Instance of 'BuiltInstance' has no 'upgrade' member (new method introduced by instance upgrade; other BuiltInstance member errors are already ignored.) and ERROR: trove/guestagent/datastore/experimental/postgresql/service/ access.py 80: E1101 no-member, PgSqlAccess.list_access: Instance ofi 'PgSqlAccess' has no '_find_user' member (this is due to the fact that PostgreSQL is spread over multiple files and pylint should cease to complain once https://review.openstack.org/#/c/346082/ lands.) Change-Id: I910c738d3845b7749e57910f76523150ec5a5bff Closes-Bug: #1625158 Closes-Bug: #1625245 Co-Authored-By: Peter Stachowski --- CONTRIBUTING.rst | 62 +- tools/trove-pylint.README | 22 +- tools/trove-pylint.config | 3652 +++++++++++++++---------------------- tools/trove-pylint.py | 42 +- tox.ini | 3 +- 5 files changed, 1560 insertions(+), 2221 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index a9864b8b59..68abe04cf5 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -46,7 +46,6 @@ The Trove project encourages the guidelines (below). * It is your opinion that the change, as proposed, should be considered for merging. - - A rating of 0 on a code review is indicated if: * The reason why you believe that the proposed change needs @@ -71,8 +70,9 @@ The Trove project encourages the guidelines (below). * The subject matter of the change (not the commit message) violates some well understood OpenStack procedure(s), * The change contains content that is demonstrably inappropriate, - * The test cases do not exercise the change(s) being proposed. - + * The test cases do not exercise the change(s) being proposed, + * The change causes a failure in the pylint job (see pylint + section below). Some other reviewing guidelines: @@ -89,6 +89,7 @@ Other references: - https://wiki.openstack.org/wiki/GitCommitMessages - http://docs.openstack.org/developer/hacking/ - https://review.openstack.org/#/c/116176/ + - trove-pylint readme file in tools/trove-pylint.README Approving changes ----------------- @@ -152,6 +153,61 @@ The generated documentation is found:: api-ref/html/index.html +Trove PyLint Failures +===================== + +The Trove project uses trove-pylint (tools/trove-pylint) in the gate +and this job is intended to help catch coding errors that sometimes +may not get caught in a code review, or by the automated tests. + +The gate-trove-tox-pylint jobs are run by the CI, and these invoke the +command in tools/trove-pylint. + +The tool can produce false-positive notifications and therefore +supports a mechanism to provide a list of errors that are to be +ignored. + +Before submitting a change, please do run + +.. code-block:: bash + + $ tox -e pylint + +on your development environment. If this fails, you will have to +resolve all the errors before you can commit the code. + +This means you either must fix the problem being identified, or +regenerate the list of ignored errors and submit that as part of your +review. + +To regenerate the list of ignored errors, you run the command(s): + +.. code-block:: bash + + $ tox -e pylint rebuild + +Warning: trove-pylint is very sensitive to the version(s) of pylint +and astroid that are installed on your system and for this reason, a +tox environment is provided that will mimic the environment that +pylint will encouter in the gate. + +Pre-commit checklist +==================== + +Before commiting code to Gerrit for review, please at least do the +following on your development system and ensure that they pass. + +.. code-block:: bash + + $ tox -e pep8 + $ tox -e py27 + $ tox -e py34 + $ tox -e pylint + +If you are unable to get these to pass locally, it is a waste of the +CI resources to push up a change for review. + + Testing ======= diff --git a/tools/trove-pylint.README b/tools/trove-pylint.README index 52baa98490..b7811b108d 100644 --- a/tools/trove-pylint.README +++ b/tools/trove-pylint.README @@ -94,6 +94,10 @@ You can check your code for errors by simply running: tox -e pylint +or explicitly as: + + tox -e pylint check + The equivalent result can be obtained by running the command: tools/trove-pylint.py @@ -102,10 +106,14 @@ or tools/trove-pylint.py check +Running the tool directly may require installing addition pip +modules on your machine (such as pylint), so using 'tox' is the +preferred method. + For example, here is the result from such a run. - $ tools/trove-pylint.py check + $ tox -e pylint check ERROR: trove/common/extensions.py 575: E1003 bad-super-call, \ TroveExtensionMiddleware.__init__: Bad first argument \ 'ExtensionMiddleware' given to super() @@ -114,7 +122,7 @@ For example, here is the result from such a run. I wish to ignore this error and keep going. To do this, I rebuild the list of errors to ignore as follows. - $ tools/trove-pylint.py rebuild + $ tox -e pylint rebuild Rebuild completed. 367 files processed, 177 exceptions recorded. This caused the tool to add the following two things to the config file. @@ -123,29 +131,27 @@ This caused the tool to add the following two things to the config file. "trove/common/extensions.py", "E1003", "Bad first argument 'ExtensionMiddleware' given to super()", - "575", "TroveExtensionMiddleware.__init__" ], [ "trove/common/extensions.py", "bad-super-call", "Bad first argument 'ExtensionMiddleware' given to super()", - "575", "TroveExtensionMiddleware.__init__" ], With that done, I can recheck as shown below. - $ tools/trove-pylint.py check + $ tox -e pylint Check succeeded. 367 files processed You can review the errors that are being currently ignored by reading the file tools/trove-pylint.config. If you want to fix some of these errors, identify the configuration(s) -that are causing those errors to be ignored and re-run the check. Once -you see that the errors are in fact being reported by the tool, go -ahead and fix the problem(s) and retest. +that are causing those errors to be ignored, remove them and re-run the +check. Once you see that the errors are in fact being reported by the +tool, go ahead and fix the problem(s) and retest. Known issues ------------ diff --git a/tools/trove-pylint.config b/tools/trove-pylint.config index b899ba25e8..444e9dcc56 100644 --- a/tools/trove-pylint.config +++ b/tools/trove-pylint.config @@ -1,2504 +1,1766 @@ { + "always_error_messages": [ + "Undefined variable '_'", + "Undefined variable '_LC'", + "Undefined variable '_LE'", + "Undefined variable '_LI'", + "Undefined variable '_LW'" + ], + "folder": "trove", + "ignored_codes": [], "ignored_file_code_messages": [ [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", + "trove/backup/models.py", "E1101", - "Instance of 'Table' has no 'drop_column' member", - "40", - "downgrade" + "Class 'DBBackup' has no 'deleted' member", + "Backup.list" ], [ - "trove/common/extensions.py", + "trove/backup/models.py", "E1101", - "Module 'lxml.etree' has no 'tostring' member", - "505", - "ExtensionsXMLSerializer._to_xml" + "Class 'DBBackup' has no 'id' member", + "Backup.running" + ], + [ + "trove/backup/models.py", + "E1101", + "Class 'DBBackup' has no 'instance_id' member", + "Backup.fail_for_instance" + ], + [ + "trove/backup/models.py", + "E1101", + "Class 'DBBackup' has no 'instance_id' member", + "Backup.running" + ], + [ + "trove/backup/models.py", + "E1101", + "Class 'DBBackup' has no 'state' member", + "Backup.fail_for_instance" + ], + [ + "trove/backup/models.py", + "E1101", + "Class 'DBBackup' has no 'state' member", + "Backup.running" + ], + [ + "trove/backup/models.py", + "E1101", + "Class 'DBBackup' has no 'tenant_id' member", + "Backup.list" + ], + [ + "trove/backup/models.py", + "E1101", + "Class 'DBBackup' has no 'updated' member", + "Backup._paginate" + ], + [ + "trove/backup/models.py", + "E1101", + "Class 'DBDatastoreVersion' has no 'datastore_id' member", + "Backup.list" + ], + [ + "trove/backup/models.py", + "E1101", + "Instance of 'BuiltInstance' has no 'validate_can_perform_action' member", + "Backup.create._create_resources" + ], + [ + "trove/backup/models.py", + "E1101", + "Instance of 'DBBackup' has no 'checksum' member", + "DBBackup.check_swift_object_exist" + ], + [ + "trove/backup/models.py", + "E1101", + "Instance of 'DBBackup' has no 'datastore_version_id' member", + "DBBackup.datastore" + ], + [ + "trove/backup/models.py", + "E1101", + "Instance of 'DBBackup' has no 'datastore_version_id' member", + "DBBackup.datastore_version" + ], + [ + "trove/backup/models.py", + "E1101", + "Instance of 'DBBackup' has no 'id' member", + "DBBackup.check_swift_object_exist" ], [ "trove/backup/models.py", "E1101", "Instance of 'DBBackup' has no 'location' member", - "343", "DBBackup.check_swift_object_exist" ], [ - "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", + "trove/backup/models.py", "E1101", - "Instance of 'Popen' has no 'stdin' member", - "73", - "PgDump._execute_postgres_restore" + "Instance of 'DBBackup' has no 'location' member", + "DBBackup.filename" ], [ - "trove/module/models.py", + "trove/backup/models.py", "E1101", - "Class 'DBModule' has no 'datastore_id' member", - "102", - "Modules.add_datastore_filter" + "Instance of 'DBBackup' has no 'state' member", + "DBBackup.is_done" ], [ - "trove/guestagent/strategies/restore/base.py", - "no-member", - "Instance of 'Popen' has no 'stdin' member", - "88", - "RestoreRunner._unpack" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "39", - "downgrade" - ], - [ - "trove/quota/quota.py", - "no-member", - "Class 'Enum' has no 'ROLLEDBACK' member", - "218", - "DbQuotaDriver.rollback" - ], - [ - "trove/module/models.py", + "trove/backup/models.py", "E1101", - "Class 'DBModule' has no 'datastore_version_id' member", - "107", - "Modules.add_ds_version_filter" + "Instance of 'DBBackup' has no 'state' member", + "DBBackup.is_done_successfuly" ], [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "60", - "upgrade" - ], - [ - "trove/guestagent/strategies/restore/base.py", - "no-member", - "Instance of 'Popen' has no 'stdin' member", - "90", - "RestoreRunner._unpack" - ], - [ - "trove/taskmanager/manager.py", + "trove/backup/models.py", "E1101", - "Instance of 'BuiltInstance' has no 'restart' member", - "80", - "Manager.restart" + "Instance of 'DBBackup' has no 'state' member", + "DBBackup.is_running" ], [ - "trove/extensions/security_group/models.py", + "trove/backup/models.py", "no-member", - "Instance of 'SecurityGroupRule' has no 'id' member", - "178", - "SecurityGroupRule.delete" + "Class 'DBBackup' has no 'deleted' member", + "Backup.list" ], [ - "trove/taskmanager/models.py", - "E1123", - "Unexpected keyword argument 'recover_func' in method call", - "1672", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/taskmanager/models.py", + "trove/backup/models.py", "no-member", - "Instance of 'ResizeActionBase' has no '_assert_nova_action_was_successful' member", - "1826", - "ResizeActionBase._perform_nova_action" + "Class 'DBBackup' has no 'id' member", + "Backup.running" ], [ - "trove/module/models.py", - "E1101", - "Class 'DBModule' has no 'tenant_id' member", - "67", - "Modules.load" + "trove/backup/models.py", + "no-member", + "Class 'DBBackup' has no 'instance_id' member", + "Backup.fail_for_instance" ], [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "33", - "upgrade" + "trove/backup/models.py", + "no-member", + "Class 'DBBackup' has no 'instance_id' member", + "Backup.running" + ], + [ + "trove/backup/models.py", + "no-member", + "Class 'DBBackup' has no 'state' member", + "Backup.fail_for_instance" ], [ "trove/backup/models.py", "no-member", "Class 'DBBackup' has no 'state' member", - "140", "Backup.running" ], [ - "trove/module/models.py", - "E1101", - "Class 'DBModule' has no 'id' member", - "126", - "Modules.load_by_ids" + "trove/backup/models.py", + "no-member", + "Class 'DBBackup' has no 'tenant_id' member", + "Backup.list" ], [ - "trove/module/models.py", - "E1101", - "Class 'DBModule' has no 'tenant_id' member", - "96", - "Modules.add_tenant_filter" + "trove/backup/models.py", + "no-member", + "Class 'DBBackup' has no 'updated' member", + "Backup._paginate" + ], + [ + "trove/backup/models.py", + "no-member", + "Class 'DBDatastoreVersion' has no 'datastore_id' member", + "Backup.list" ], [ "trove/backup/models.py", "no-member", "Instance of 'BuiltInstance' has no 'validate_can_perform_action' member", - "73", "Backup.create._create_resources" ], [ - "trove/configuration/models.py", - "E1101", - "Instance of 'DBConfigurationParameter' has no 'configuration_key' member", - "238", - "DBConfigurationParameter.__hash__" - ], - [ - "trove/taskmanager/manager.py", + "trove/backup/models.py", "no-member", - "Instance of 'BuiltInstance' has no 'restart' member", - "80", - "Manager.restart" + "Instance of 'DBBackup' has no 'checksum' member", + "DBBackup.check_swift_object_exist" ], [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "trove/backup/models.py", "no-member", - "Instance of 'Table' has no 'drop_column' member", - "80", - "downgrade" + "Instance of 'DBBackup' has no 'datastore_version_id' member", + "DBBackup.datastore" ], [ - "trove/extensions/security_group/models.py", + "trove/backup/models.py", "no-member", - "Instance of 'SecurityGroupRule' has no 'group_id' member", - "171", - "SecurityGroupRule.get_security_group" + "Instance of 'DBBackup' has no 'datastore_version_id' member", + "DBBackup.datastore_version" ], [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "92", - "downgrade" + "trove/backup/models.py", + "no-member", + "Instance of 'DBBackup' has no 'id' member", + "DBBackup.check_swift_object_exist" + ], + [ + "trove/backup/models.py", + "no-member", + "Instance of 'DBBackup' has no 'location' member", + "DBBackup.check_swift_object_exist" ], [ "trove/backup/models.py", "no-member", "Instance of 'DBBackup' has no 'location' member", - "324", "DBBackup.filename" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "44", - "upgrade" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'BuiltInstance' has no 'migrate' member", - "251", - "Manager.migrate" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "no-member", - "Instance of 'Popen' has no 'stdout' member", - "136", - "BackupRunner.read" - ], - [ - "trove/module/models.py", - "E1101", - "Class 'DBModule' has no 'datastore_version_id' member", - "108", - "Modules.add_ds_version_filter" - ], [ "trove/backup/models.py", "no-member", "Instance of 'DBBackup' has no 'state' member", - "312", "DBBackup.is_done" ], [ - "trove/common/extensions.py", + "trove/backup/models.py", "no-member", - "Module 'lxml.etree' has no 'Element' member", - "479", - "ExtensionsXMLSerializer.index" - ], - [ - "trove/taskmanager/models.py", - "E1101", - "Instance of 'str' has no 'render' member", - "735", - "FreshInstanceTasks._create_server_volume_heat" - ], - [ - "trove/extensions/common/service.py", - "no-member", - "Instance of 'DefaultRootController' has no '_find_root_user' member", - "97", - "DefaultRootController.root_delete" - ], - [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'id' member", - "126", - "Modules.load_by_ids" + "Instance of 'DBBackup' has no 'state' member", + "DBBackup.is_done_successfuly" ], [ "trove/backup/models.py", "no-member", - "Instance of 'DBBackup' has no 'location' member", - "343", - "DBBackup.check_swift_object_exist" + "Instance of 'DBBackup' has no 'state' member", + "DBBackup.is_running" ], [ - "trove/taskmanager/manager.py", + "trove/cmd/manage.py", + "E1101", + "Class 'Commands' has no 'has' member", + "Commands.params_of" + ], + [ + "trove/cmd/manage.py", "no-member", - "Instance of 'BuiltInstance' has no 'unassign_configuration' member", - "388", - "Manager.unassign_configuration" - ], - [ - "trove/common/extensions.py", - "E1101", - "Module 'lxml.etree' has no 'Element' member", - "492", - "ExtensionsXMLSerializer._populate_ext" - ], - [ - "trove/guestagent/datastore/experimental/cassandra/service.py", - "no-name-in-module", - "No name 'NoHostAvailable' in module 'cassandra.cluster'", - "22", - null - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "63", - "downgrade" - ], - [ - "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", - "no-member", - "Instance of 'Popen' has no 'stdin' member", - "71", - "PgDump._execute_postgres_restore" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'location' member", - "325", - "DBBackup.filename" + "Class 'Commands' has no 'has' member", + "Commands.params_of" ], [ "trove/common/extensions.py", "E1003", "Bad first argument 'ExtensionMiddleware' given to super()", - "575", "TroveExtensionMiddleware.__init__" ], [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'datastore_id' member", - "102", - "Modules.add_datastore_filter" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "trove/common/extensions.py", "E1101", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "125", - "PgSqlConfig.start_db_with_conf_changes" + "Module 'lxml.etree' has no 'Element' member", + "ExtensionsXMLSerializer._populate_ext" ], [ - "trove/backup/models.py", + "trove/common/extensions.py", "E1101", - "Class 'DBBackup' has no 'state' member", - "248", - "Backup.fail_for_instance" + "Module 'lxml.etree' has no 'Element' member", + "ExtensionsXMLSerializer.index" ], [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "trove/common/extensions.py", "E1101", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "102", - "PgSqlConfig.update_overrides" + "Module 'lxml.etree' has no 'Element' member", + "ExtensionsXMLSerializer.show" ], [ - "trove/common/wsgi.py", - "E0102", - "class already defined line 43", - "152", - "Router" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", + "trove/common/extensions.py", "E1101", - "Instance of 'Table' has no 'create_column' member", - "27", - "upgrade" + "Module 'lxml.etree' has no 'SubElement' member", + "ExtensionsXMLSerializer._populate_ext" ], [ - "trove/cmd/fakemode.py", - "E0602", - "Undefined variable 'os'", - "37", - "main" - ], - [ - "trove/taskmanager/manager.py", + "trove/common/extensions.py", "E1101", - "Instance of 'BuiltInstance' has no 'resize_flavor' member", - "68", - "Manager.resize_flavor" + "Module 'lxml.etree' has no 'SubElement' member", + "ExtensionsXMLSerializer.index" ], [ - "trove/extensions/common/service.py", + "trove/common/extensions.py", "E1101", - "Instance of 'DefaultRootController' has no '_find_root_user' member", - "97", - "DefaultRootController.root_delete" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'BuiltInstance' has no 'resize_flavor' member", - "68", - "Manager.resize_flavor" - ], - [ - "trove/common/utils.py", - "invalid-slice-index", - "Slice index is not an int, None, or instance with __index__", - "162", - "MethodInspector.optional_args" - ], - [ - "trove/configuration/models.py", - "E1101", - "Instance of 'DBConfiguration' has no 'datastore_version_id' member", - "228", - "DBConfiguration.datastore_version" - ], - [ - "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", - "no-member", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "67", - "PgDump._execute_postgres_restore" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "E1101", - "Instance of 'Popen' has no 'pid' member", - "86", - "BackupRunner.__exit__" - ], - [ - "trove/taskmanager/models.py", - "E1101", - "Instance of 'ResizeActionBase' has no '_assert_nova_action_was_successful' member", - "1826", - "ResizeActionBase._perform_nova_action" - ], - [ - "trove/module/models.py", - "E1101", - "Class 'DBModule' has no 'tenant_id' member", - "68", - "Modules.load" - ], - [ - "trove/guestagent/strategies/restore/base.py", - "E1101", - "Instance of 'Popen' has no 'stdin' member", - "90", - "RestoreRunner._unpack" - ], - [ - "trove/dns/designate/driver.py", - "E1101", - "Instance of 'Client' has no 'records' member", - "138", - "DesignateDriver._get_records" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'location' member", - "324", - "DBBackup.filename" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "49", - "downgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "28", - "upgrade" - ], - [ - "trove/extensions/security_group/models.py", - "no-member", - "Instance of 'SecurityGroup' has no 'id' member", - "101", - "SecurityGroup.get_rules" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "E1101", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "198", - "PgSqlConfig.enable_backups" - ], - [ - "trove/instance/service.py", - "E1101", - "Instance of 'BuiltInstance' has no 'get_default_configuration_template' member", - "395", - "InstanceController.configuration" + "Module 'lxml.etree' has no 'tostring' member", + "ExtensionsXMLSerializer._to_xml" ], [ "trove/common/extensions.py", "bad-super-call", "Bad first argument 'ExtensionMiddleware' given to super()", - "575", "TroveExtensionMiddleware.__init__" ], - [ - "trove/guestagent/strategies/restore/base.py", - "E1101", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "85", - "RestoreRunner._unpack" - ], - [ - "trove/common/utils.py", - "invalid-slice-index", - "Slice index is not an int, None, or instance with __index__", - "158", - "MethodInspector.required_args" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "32", - "upgrade" - ], - [ - "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", - "E1101", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "68", - "PgDump._execute_postgres_restore" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "48", - "upgrade" - ], - [ - "trove/extensions/mgmt/instances/service.py", - "no-member", - "Instance of 'BuiltInstance' has no 'rpc_ping' member", - "214", - "MgmtInstanceController.rpc_ping" - ], - [ - "trove/dns/designate/driver.py", - "no-member", - "Instance of 'Client' has no 'domains' member", - "122", - "DesignateDriver.get_dns_zones" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "82", - "downgrade" - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'BuiltInstance' has no 'reboot' member", - "74", - "Manager.reboot" - ], - [ - "trove/common/models.py", - "E1101", - "Instance of 'ModelBase' has no 'id' member", - "69", - "ModelBase.__eq__" - ], - [ - "trove/guestagent/datastore/experimental/cassandra/service.py", - "E0611", - "No name 'NoHostAvailable' in module 'cassandra.cluster'", - "22", - null - ], - [ - "trove/dns/designate/driver.py", - "no-member", - "Instance of 'Client' has no 'records' member", - "96", - "DesignateDriver.create_entry" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "no-member", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "100", - "PgSqlConfig.update_overrides" - ], - [ - "trove/guestagent/strategies/restore/base.py", - "E1101", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "84", - "RestoreRunner._unpack" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", - "no-value-for-parameter", - "No value for argument 'dml' in method call", - "28", - "upgrade" - ], [ "trove/common/extensions.py", "no-member", "Module 'lxml.etree' has no 'Element' member", - "474", + "ExtensionsXMLSerializer._populate_ext" + ], + [ + "trove/common/extensions.py", + "no-member", + "Module 'lxml.etree' has no 'Element' member", + "ExtensionsXMLSerializer.index" + ], + [ + "trove/common/extensions.py", + "no-member", + "Module 'lxml.etree' has no 'Element' member", "ExtensionsXMLSerializer.show" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "49", - "downgrade" - ], - [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'datastore_id' member", - "101", - "Modules.add_datastore_filter" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'state' member", - "312", - "DBBackup.is_done" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'state' member", - "316", - "DBBackup.is_done_successfuly" - ], - [ - "trove/backup/models.py", - "no-member", - "Class 'DBBackup' has no 'instance_id' member", - "139", - "Backup.running" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "E1101", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "100", - "PgSqlConfig.update_overrides" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "37", - "downgrade" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/access.py", - "no-member", - "Instance of 'PgSqlAccess' has no 'user_exists' member", - "81", - "PgSqlAccess.list_access" - ], - [ - "trove/guestagent/datastore/experimental/redis/service.py", - "bad-except-order", - "Bad except clauses order (ConnectionError is an ancestor class of BusyLoadingError)", - "61", - "RedisAppStatus._get_actual_db_status" - ], - [ - "trove/db/sqlalchemy/migration.py", - "no-value-for-parameter", - "No value for argument 'repo_path' in function call", - "91", - "version_control" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "44", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "39", - "downgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "40", - "downgrade" - ], - [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'tenant_id' member", - "68", - "Modules.load" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "48", - "upgrade" - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'FreshInstance' has no 'wait_for_instance' member", - "362", - "Manager._create_instance" - ], - [ - "trove/taskmanager/models.py", - "unexpected-keyword-arg", - "Unexpected keyword argument 'recover_func' in method call", - "1677", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/taskmanager/models.py", - "E1101", - "Instance of 'ResizeActionBase' has no '_record_action_success' member", - "1850", - "ResizeActionBase._perform_nova_action" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/access.py", - "E1101", - "Instance of 'PgSqlAccess' has no 'user_exists' member", - "81", - "PgSqlAccess.list_access" - ], - [ - "trove/cmd/manage.py", - "no-member", - "Class 'Commands' has no 'has' member", - "122", - "Commands.params_of" - ], - [ - "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", - "no-member", - "Instance of 'Popen' has no 'stdin' member", - "73", - "PgDump._execute_postgres_restore" - ], - [ - "trove/common/single_tenant_remote.py", - "no-name-in-module", - "No name 'v1_1' in module 'novaclient'", - "22", - null - ], - [ - "trove/quota/quota.py", - "E1101", - "Class 'Enum' has no 'RESERVED' member", - "186", - "DbQuotaDriver.reserve" - ], - [ - "trove/taskmanager/models.py", - "E1101", - "Instance of 'ResizeActionBase' has no '_start_datastore' member", - "1752", - "ResizeActionBase._assert_datastore_is_ok" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "60", - "upgrade" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'state' member", - "316", - "DBBackup.is_done_successfuly" - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'BuiltInstance' has no 'resize_volume' member", - "62", - "Manager.resize_volume" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "no-member", - "Instance of 'Popen' has no 'pid' member", - "86", - "BackupRunner.__exit__" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "59", - "upgrade" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'location' member", - "320", - "DBBackup.filename" - ], - [ - "trove/backup/models.py", - "E1101", - "Class 'DBBackup' has no 'deleted' member", - "195", - "Backup.list" - ], - [ - "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", - "no-member", - "Instance of 'PgBaseBackup' has no 'pgsql_restore_cmd' member", - "137", - "PgBaseBackup.write_recovery_file" - ], - [ - "trove/extensions/security_group/models.py", - "E1101", - "Instance of 'SecurityGroupRule' has no 'id' member", - "178", - "SecurityGroupRule.delete" - ], - [ - "trove/guestagent/strategies/restore/base.py", - "E1101", - "Instance of 'Popen' has no 'stdin' member", - "88", - "RestoreRunner._unpack" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "E1101", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "220", - "PgSqlConfig.enable_backups" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "58", - "upgrade" - ], - [ - "trove/instance/models.py", - "no-member", - "Class 'InstanceStatus' has no 'LOGGING' member", - "306", - "SimpleInstance.status" - ], - [ - "trove/dns/designate/driver.py", - "E1101", - "Instance of 'Client' has no 'records' member", - "107", - "DesignateDriver.delete_entry" - ], - [ - "trove/extensions/mgmt/instances/service.py", - "E1101", - "Instance of 'BuiltInstance' has no 'get_hwinfo' member", - "186", - "MgmtInstanceController.hwinfo" - ], - [ - "trove/taskmanager/models.py", - "no-member", - "Instance of 'ResizeActionBase' has no '_start_datastore' member", - "1752", - "ResizeActionBase._assert_datastore_is_ok" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "40", - "downgrade" - ], - [ - "trove/backup/models.py", - "no-member", - "Class 'DBBackup' has no 'state' member", - "248", - "Backup.fail_for_instance" - ], - [ - "trove/common/single_tenant_remote.py", - "E0611", - "No name 'v1_1' in module 'novaclient'", - "22", - null - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'BuiltInstance' has no 'update_overrides' member", - "383", - "Manager.update_overrides" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'checksum' member", - "355", - "DBBackup.check_swift_object_exist" - ], - [ - "trove/dns/designate/driver.py", - "no-member", - "Instance of 'Client' has no 'records' member", - "107", - "DesignateDriver.delete_entry" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'state' member", - "308", - "DBBackup.is_running" - ], - [ - "trove/extensions/security_group/models.py", - "E1101", - "Instance of 'SecurityGroupRule' has no 'group_id' member", - "171", - "SecurityGroupRule.get_security_group" - ], - [ - "trove/backup/models.py", - "E1101", - "Class 'DBBackup' has no 'instance_id' member", - "247", - "Backup.fail_for_instance" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "27", - "upgrade" - ], - [ - "trove/taskmanager/models.py", - "unexpected-keyword-arg", - "Unexpected keyword argument 'recover_func' in method call", - "1678", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/taskmanager/models.py", - "E1123", - "Unexpected keyword argument 'recover_func' in method call", - "1678", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "77", - "downgrade" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'state' member", - "308", - "DBBackup.is_running" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "no-member", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "220", - "PgSqlConfig.enable_backups" - ], - [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'tenant_id' member", - "67", - "Modules.load" - ], - [ - "trove/extensions/mgmt/instances/service.py", - "E1101", - "Instance of 'BuiltInstance' has no 'get_diagnostics' member", - "200", - "MgmtInstanceController.diagnostics" - ], [ "trove/common/extensions.py", "no-member", "Module 'lxml.etree' has no 'SubElement' member", - "481", - "ExtensionsXMLSerializer.index" - ], - [ - "trove/guestagent/datastore/experimental/cassandra/service.py", - "E1101", - "Instance of 'list' has no 'split' member", - "635", - "CassandraApp.get_seeds" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'datastore_version_id' member", - "337", - "DBBackup.datastore_version" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "30", - "upgrade" - ], - [ - "trove/common/models.py", - "no-member", - "Instance of 'ModelBase' has no 'id' member", - "69", - "ModelBase.__eq__" - ], - [ - "trove/quota/quota.py", - "no-member", - "Class 'Enum' has no 'COMMITTED' member", - "204", - "DbQuotaDriver.commit" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "50", - "downgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "82", - "downgrade" - ], - [ - "trove/guestagent/datastore/experimental/redis/service.py", - "E0701", - "Bad except clauses order (ConnectionError is an ancestor class of BusyLoadingError)", - "61", - "RedisAppStatus._get_actual_db_status" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'BuiltInstance' has no 'reboot' member", - "74", - "Manager.reboot" - ], - [ - "trove/extensions/security_group/models.py", - "no-member", - "Instance of 'SecurityGroupInstanceAssociation' has no 'security_group_id' member", - "191", - "SecurityGroupInstanceAssociation.get_security_group" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "63", - "downgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "28", - "upgrade" - ], - [ - "trove/instance/service.py", - "no-member", - "Instance of 'BuiltInstance' has no 'get_default_configuration_template' member", - "395", - "InstanceController.configuration" - ], - [ - "trove/taskmanager/models.py", - "E1123", - "Unexpected keyword argument 'recover_func' in method call", - "1674", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/common/strategies/cluster/experimental/mongodb/api.py", - "E1101", - "Instance of 'API' has no 'mongodb_add_shard_cluster' member", - "300", - "MongoDbCluster.add_shard" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'BuiltInstance' has no 'resize_volume' member", - "62", - "Manager.resize_volume" - ], - [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'datastore_version_id' member", - "108", - "Modules.add_ds_version_filter" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "no-value-for-parameter", - "No value for argument 'dml' in method call", - "83", - "downgrade" - ], - [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'tenant_id' member", - "97", - "Modules.add_tenant_filter" - ], - [ - "trove/taskmanager/models.py", - "unexpected-keyword-arg", - "Unexpected keyword argument 'recover_func' in method call", - "1679", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "no-member", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "64", - "BackupRunner._run" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'FreshInstance' has no 'create_instance' member", - "353", - "Manager._create_instance" - ], - [ - "trove/datastore/models.py", - "E1101", - "Class 'DBDatastoreVersion' has no 'active' member", - "376", - "Datastores.load" - ], - [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'datastore_version_id' member", - "107", - "Modules.add_ds_version_filter" - ], - [ - "trove/extensions/security_group/models.py", - "E1101", - "Instance of 'SecurityGroup' has no 'id' member", - "101", - "SecurityGroup.get_rules" - ], - [ - "trove/guestagent/strategies/restore/base.py", - "no-member", - "Instance of 'RestoreRunner' has no 'base_restore_cmd' member", - "61", - "RestoreRunner.__init__" - ], - [ - "trove/quota/quota.py", - "no-member", - "Class 'Enum' has no 'RESERVED' member", - "186", - "DbQuotaDriver.reserve" - ], - [ - "trove/backup/models.py", - "no-member", - "Class 'DBBackup' has no 'id' member", - "144", - "Backup.running" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "E1101", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "65", - "BackupRunner._run" - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'FreshInstance' has no 'create_instance' member", - "353", - "Manager._create_instance" - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'FreshInstance' has no 'create_instance' member", - "310", - "Manager._create_replication_slave" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "no-member", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "198", - "PgSqlConfig.enable_backups" - ], - [ - "trove/taskmanager/models.py", - "E1123", - "Unexpected keyword argument 'recover_func' in method call", - "1677", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'location' member", - "320", - "DBBackup.filename" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "29", - "upgrade" - ], - [ - "trove/taskmanager/models.py", - "E1101", - "Instance of 'BuiltInstance' has no 'get_replication_snapshot' member", - "568", - "FreshInstanceTasks.get_replication_master_snapshot" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "44", - "downgrade" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'FreshInstance' has no 'wait_for_instance' member", - "362", - "Manager._create_instance" + "ExtensionsXMLSerializer._populate_ext" ], [ "trove/common/extensions.py", - "E1101", - "Module 'lxml.etree' has no 'Element' member", - "479", + "no-member", + "Module 'lxml.etree' has no 'SubElement' member", "ExtensionsXMLSerializer.index" ], - [ - "trove/guestagent/datastore/experimental/cassandra/service.py", - "no-name-in-module", - "No name 'Cluster' in module 'cassandra.cluster'", - "21", - null - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "27", - "upgrade" - ], - [ - "trove/common/wsgi.py", - "function-redefined", - "class already defined line 43", - "152", - "Router" - ], - [ - "trove/backup/models.py", - "E1101", - "Class 'DBBackup' has no 'state' member", - "140", - "Backup.running" - ], - [ - "trove/common/strategies/cluster/experimental/mongodb/api.py", - "E1101", - "Instance of 'API' has no 'get_key' member", - "277", - "MongoDbCluster.add_shard" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'FreshInstance' has no 'create_instance' member", - "310", - "Manager._create_replication_slave" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "80", - "downgrade" - ], - [ - "trove/common/strategies/cluster/experimental/mongodb/api.py", - "no-member", - "Instance of 'API' has no 'mongodb_add_shard_cluster' member", - "300", - "MongoDbCluster.add_shard" - ], - [ - "trove/common/models.py", - "E1101", - "Instance of 'ModelBase' has no 'id' member", - "77", - "ModelBase.__hash__" - ], [ "trove/common/extensions.py", "no-member", "Module 'lxml.etree' has no 'tostring' member", - "505", "ExtensionsXMLSerializer._to_xml" ], + [ + "trove/common/models.py", + "E1101", + "Instance of 'ModelBase' has no 'id' member", + "ModelBase.__eq__" + ], + [ + "trove/common/models.py", + "E1101", + "Instance of 'ModelBase' has no 'id' member", + "ModelBase.__hash__" + ], + [ + "trove/common/models.py", + "no-member", + "Instance of 'ModelBase' has no 'id' member", + "ModelBase.__eq__" + ], + [ + "trove/common/models.py", + "no-member", + "Instance of 'ModelBase' has no 'id' member", + "ModelBase.__hash__" + ], + [ + "trove/common/single_tenant_remote.py", + "E0611", + "No name 'v1_1' in module 'novaclient'", + null + ], + [ + "trove/common/single_tenant_remote.py", + "no-name-in-module", + "No name 'v1_1' in module 'novaclient'", + null + ], + [ + "trove/common/strategies/cluster/experimental/mongodb/api.py", + "E1101", + "Instance of 'API' has no 'get_key' member", + "MongoDbCluster.add_shard" + ], + [ + "trove/common/strategies/cluster/experimental/mongodb/api.py", + "E1101", + "Instance of 'API' has no 'mongodb_add_shard_cluster' member", + "MongoDbCluster.add_shard" + ], + [ + "trove/common/strategies/cluster/experimental/mongodb/api.py", + "no-member", + "Instance of 'API' has no 'get_key' member", + "MongoDbCluster.add_shard" + ], + [ + "trove/common/strategies/cluster/experimental/mongodb/api.py", + "no-member", + "Instance of 'API' has no 'mongodb_add_shard_cluster' member", + "MongoDbCluster.add_shard" + ], + [ + "trove/common/utils.py", + "E1127", + "Slice index is not an int, None, or instance with __index__", + "MethodInspector.optional_args" + ], + [ + "trove/common/utils.py", + "E1127", + "Slice index is not an int, None, or instance with __index__", + "MethodInspector.required_args" + ], + [ + "trove/common/utils.py", + "invalid-slice-index", + "Slice index is not an int, None, or instance with __index__", + "MethodInspector.optional_args" + ], + [ + "trove/common/utils.py", + "invalid-slice-index", + "Slice index is not an int, None, or instance with __index__", + "MethodInspector.required_args" + ], + [ + "trove/common/wsgi.py", + "E0102", + "class already defined line 43", + "Router" + ], + [ + "trove/common/wsgi.py", + "E0102", + "class already defined line 46", + "JSONDictSerializer" + ], + [ + "trove/common/wsgi.py", + "function-redefined", + "class already defined line 43", + "Router" + ], + [ + "trove/common/wsgi.py", + "function-redefined", + "class already defined line 46", + "JSONDictSerializer" + ], [ "trove/configuration/models.py", "E1101", "Instance of 'DBConfiguration' has no 'datastore_version_id' member", - "220", "DBConfiguration.datastore" ], [ - "trove/backup/models.py", + "trove/configuration/models.py", "E1101", - "Instance of 'DBBackup' has no 'datastore_version_id' member", - "337", - "DBBackup.datastore_version" + "Instance of 'DBConfiguration' has no 'datastore_version_id' member", + "DBConfiguration.datastore_version" + ], + [ + "trove/configuration/models.py", + "E1101", + "Instance of 'DBConfigurationParameter' has no 'configuration_key' member", + "DBConfigurationParameter.__hash__" + ], + [ + "trove/configuration/models.py", + "no-member", + "Instance of 'DBConfiguration' has no 'datastore_version_id' member", + "DBConfiguration.datastore" + ], + [ + "trove/configuration/models.py", + "no-member", + "Instance of 'DBConfiguration' has no 'datastore_version_id' member", + "DBConfiguration.datastore_version" + ], + [ + "trove/configuration/models.py", + "no-member", + "Instance of 'DBConfigurationParameter' has no 'configuration_key' member", + "DBConfigurationParameter.__hash__" + ], + [ + "trove/configuration/service.py", + "E1101", + "Instance of 'BuiltInstance' has no 'update_overrides' member", + "ConfigurationsController._refresh_on_all_instances" + ], + [ + "trove/configuration/service.py", + "no-member", + "Instance of 'BuiltInstance' has no 'update_overrides' member", + "ConfigurationsController._refresh_on_all_instances" + ], + [ + "trove/datastore/models.py", + "E1101", + "Class 'DBDatastoreVersion' has no 'active' member", + "Datastores.load" + ], + [ + "trove/datastore/models.py", + "E1101", + "Instance of 'BaseCapability' has no 'name' member", + "BaseCapability.__repr__" + ], + [ + "trove/datastore/models.py", + "no-member", + "Class 'DBDatastoreVersion' has no 'active' member", + "Datastores.load" + ], + [ + "trove/datastore/models.py", + "no-member", + "Instance of 'BaseCapability' has no 'name' member", + "BaseCapability.__repr__" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" ], [ "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", "E1101", "Instance of 'Table' has no 'create_column' member", - "28", "upgrade" ], [ - "trove/guestagent/strategies/backup/base.py", - "no-member", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "65", - "BackupRunner._run" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/process.py", - "no-member", - "Instance of 'PgSqlProcess' has no 'set_guest_log_status' member", - "57", - "PgSqlProcess.restart" - ], - [ - "trove/dns/designate/driver.py", - "E1101", - "Instance of 'Client' has no 'records' member", - "96", - "DesignateDriver.create_entry" - ], - [ - "trove/taskmanager/models.py", - "E1123", - "Unexpected keyword argument 'recover_func' in method call", - "1673", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/configuration/models.py", - "no-member", - "Instance of 'DBConfiguration' has no 'datastore_version_id' member", - "220", - "DBConfiguration.datastore" - ], - [ - "trove/configuration/models.py", - "no-member", - "Instance of 'DBConfiguration' has no 'datastore_version_id' member", - "228", - "DBConfiguration.datastore_version" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", + "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", "E1101", "Instance of 'Table' has no 'drop_column' member", - "37", "downgrade" ], [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'BuiltInstance' has no 'detach_replica' member", - "87", - "Manager.detach_replica" + "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" ], [ - "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", + "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", "no-member", "Instance of 'Table' has no 'drop_column' member", - "50", "downgrade" ], [ - "trove/guestagent/strategies/backup/base.py", + "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", "E1101", - "Instance of 'Popen' has no 'pid' member", - "67", - "BackupRunner._run" + "Instance of 'Table' has no 'create_column' member", + "upgrade" ], [ - "trove/backup/models.py", + "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", "E1101", - "Instance of 'DBBackup' has no 'datastore_version_id' member", - "331", - "DBBackup.datastore" + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", + "E1120", + "No value for argument 'dml' in method call", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" ], [ "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", "no-member", "Instance of 'Table' has no 'drop_column' member", - "36", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", + "no-value-for-parameter", + "No value for argument 'dml' in method call", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "E1120", + "No value for argument 'dml' in method call", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", + "no-value-for-parameter", + "No value for argument 'dml' in method call", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", "downgrade" ], [ "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", "E1101", "Instance of 'Table' has no 'drop_column' member", - "59", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", "downgrade" ], [ "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", "E1101", "Instance of 'Table' has no 'create_column' member", - "31", "upgrade" ], [ - "trove/guestagent/strategies/restore/base.py", - "no-member", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "85", - "RestoreRunner._unpack" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", + "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", + "E1101", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", + "no-member", + "Instance of 'Table' has no 'drop_column' member", + "downgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", + "E1101", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", "E1101", "Instance of 'Table' has no 'drop_column' member", - "43", "downgrade" ], + [ + "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", + "no-member", + "Instance of 'Table' has no 'create_column' member", + "upgrade" + ], [ "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", "no-member", "Instance of 'Table' has no 'drop_column' member", - "92", "downgrade" ], [ - "trove/backup/models.py", + "trove/db/sqlalchemy/migration.py", + "E0611", + "No name 'exceptions' in module 'migrate.versioning'", + null + ], + [ + "trove/db/sqlalchemy/migration.py", + "E1120", + "No value for argument 'repo_path' in function call", + "version_control" + ], + [ + "trove/db/sqlalchemy/migration.py", + "no-name-in-module", + "No name 'exceptions' in module 'migrate.versioning'", + null + ], + [ + "trove/db/sqlalchemy/migration.py", + "no-value-for-parameter", + "No value for argument 'repo_path' in function call", + "version_control" + ], + [ + "trove/dns/designate/driver.py", "E1101", - "Instance of 'DBBackup' has no 'id' member", - "357", - "DBBackup.check_swift_object_exist" + "Instance of 'Client' has no 'domains' member", + "DesignateDriver.get_dns_zones" + ], + [ + "trove/dns/designate/driver.py", + "E1101", + "Instance of 'Client' has no 'records' member", + "DesignateDriver._get_records" + ], + [ + "trove/dns/designate/driver.py", + "E1101", + "Instance of 'Client' has no 'records' member", + "DesignateDriver.create_entry" + ], + [ + "trove/dns/designate/driver.py", + "E1101", + "Instance of 'Client' has no 'records' member", + "DesignateDriver.delete_entry" + ], + [ + "trove/dns/designate/driver.py", + "no-member", + "Instance of 'Client' has no 'domains' member", + "DesignateDriver.get_dns_zones" + ], + [ + "trove/dns/designate/driver.py", + "no-member", + "Instance of 'Client' has no 'records' member", + "DesignateDriver._get_records" + ], + [ + "trove/dns/designate/driver.py", + "no-member", + "Instance of 'Client' has no 'records' member", + "DesignateDriver.create_entry" + ], + [ + "trove/dns/designate/driver.py", + "no-member", + "Instance of 'Client' has no 'records' member", + "DesignateDriver.delete_entry" + ], + [ + "trove/extensions/common/service.py", + "E1101", + "Instance of 'DefaultRootController' has no '_find_root_user' member", + "DefaultRootController.root_delete" + ], + [ + "trove/extensions/common/service.py", + "no-member", + "Instance of 'DefaultRootController' has no '_find_root_user' member", + "DefaultRootController.root_delete" + ], + [ + "trove/extensions/mgmt/instances/service.py", + "E1101", + "Instance of 'BuiltInstance' has no 'get_diagnostics' member", + "MgmtInstanceController.diagnostics" + ], + [ + "trove/extensions/mgmt/instances/service.py", + "E1101", + "Instance of 'BuiltInstance' has no 'get_hwinfo' member", + "MgmtInstanceController.hwinfo" + ], + [ + "trove/extensions/mgmt/instances/service.py", + "E1101", + "Instance of 'BuiltInstance' has no 'rpc_ping' member", + "MgmtInstanceController.rpc_ping" + ], + [ + "trove/extensions/mgmt/instances/service.py", + "no-member", + "Instance of 'BuiltInstance' has no 'get_diagnostics' member", + "MgmtInstanceController.diagnostics" + ], + [ + "trove/extensions/mgmt/instances/service.py", + "no-member", + "Instance of 'BuiltInstance' has no 'get_hwinfo' member", + "MgmtInstanceController.hwinfo" + ], + [ + "trove/extensions/mgmt/instances/service.py", + "no-member", + "Instance of 'BuiltInstance' has no 'rpc_ping' member", + "MgmtInstanceController.rpc_ping" + ], + [ + "trove/extensions/security_group/models.py", + "E1101", + "Instance of 'SecurityGroup' has no 'id' member", + "SecurityGroup.delete" + ], + [ + "trove/extensions/security_group/models.py", + "E1101", + "Instance of 'SecurityGroup' has no 'id' member", + "SecurityGroup.get_rules" + ], + [ + "trove/extensions/security_group/models.py", + "E1101", + "Instance of 'SecurityGroup' has no 'id' member", + "SecurityGroup.instance_id" + ], + [ + "trove/extensions/security_group/models.py", + "E1101", + "Instance of 'SecurityGroupInstanceAssociation' has no 'security_group_id' member", + "SecurityGroupInstanceAssociation.get_security_group" + ], + [ + "trove/extensions/security_group/models.py", + "E1101", + "Instance of 'SecurityGroupRule' has no 'group_id' member", + "SecurityGroupRule.get_security_group" + ], + [ + "trove/extensions/security_group/models.py", + "E1101", + "Instance of 'SecurityGroupRule' has no 'id' member", + "SecurityGroupRule.delete" + ], + [ + "trove/extensions/security_group/models.py", + "no-member", + "Instance of 'SecurityGroup' has no 'id' member", + "SecurityGroup.delete" + ], + [ + "trove/extensions/security_group/models.py", + "no-member", + "Instance of 'SecurityGroup' has no 'id' member", + "SecurityGroup.get_rules" + ], + [ + "trove/extensions/security_group/models.py", + "no-member", + "Instance of 'SecurityGroup' has no 'id' member", + "SecurityGroup.instance_id" + ], + [ + "trove/extensions/security_group/models.py", + "no-member", + "Instance of 'SecurityGroupInstanceAssociation' has no 'security_group_id' member", + "SecurityGroupInstanceAssociation.get_security_group" + ], + [ + "trove/extensions/security_group/models.py", + "no-member", + "Instance of 'SecurityGroupRule' has no 'group_id' member", + "SecurityGroupRule.get_security_group" + ], + [ + "trove/extensions/security_group/models.py", + "no-member", + "Instance of 'SecurityGroupRule' has no 'id' member", + "SecurityGroupRule.delete" + ], + [ + "trove/guestagent/datastore/experimental/cassandra/service.py", + "E0611", + "No name 'Cluster' in module 'cassandra.cluster'", + null + ], + [ + "trove/guestagent/datastore/experimental/cassandra/service.py", + "E0611", + "No name 'NoHostAvailable' in module 'cassandra.cluster'", + null + ], + [ + "trove/guestagent/datastore/experimental/cassandra/service.py", + "E1101", + "Instance of 'list' has no 'split' member", + "CassandraApp.get_seeds" + ], + [ + "trove/guestagent/datastore/experimental/cassandra/service.py", + "no-member", + "Instance of 'list' has no 'split' member", + "CassandraApp.get_seeds" + ], + [ + "trove/guestagent/datastore/experimental/cassandra/service.py", + "no-name-in-module", + "No name 'Cluster' in module 'cassandra.cluster'", + null + ], + [ + "trove/guestagent/datastore/experimental/cassandra/service.py", + "no-name-in-module", + "No name 'NoHostAvailable' in module 'cassandra.cluster'", + null + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/access.py", + "E1101", + "Instance of 'PgSqlAccess' has no '_find_user' member", + "PgSqlAccess.list_access" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/access.py", + "no-member", + "Instance of 'PgSqlAccess' has no '_find_user' member", + "PgSqlAccess.list_access" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "E1101", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.apply_initial_guestagent_configuration" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "E1101", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.disable_backups" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "E1101", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.disable_debugging" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "E1101", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.enable_backups" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "E1101", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.enable_debugging" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "E1101", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.reset_configuration" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "E1101", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.start_db_with_conf_changes" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "E1101", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.update_overrides" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "no-member", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.apply_initial_guestagent_configuration" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "no-member", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.disable_backups" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "no-member", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.disable_debugging" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "no-member", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.enable_backups" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "no-member", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.enable_debugging" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "no-member", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.reset_configuration" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "no-member", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.start_db_with_conf_changes" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "no-member", + "Instance of 'PgSqlConfig' has no 'configuration_manager' member", + "PgSqlConfig.update_overrides" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/process.py", + "E1101", + "Instance of 'PgSqlProcess' has no 'set_guest_log_status' member", + "PgSqlProcess.restart" + ], + [ + "trove/guestagent/datastore/experimental/postgresql/service/process.py", + "no-member", + "Instance of 'PgSqlProcess' has no 'set_guest_log_status' member", + "PgSqlProcess.restart" + ], + [ + "trove/guestagent/datastore/experimental/redis/service.py", + "E0701", + "Bad except clauses order (ConnectionError is an ancestor class of BusyLoadingError)", + "RedisAppStatus._get_actual_db_status" + ], + [ + "trove/guestagent/datastore/experimental/redis/service.py", + "bad-except-order", + "Bad except clauses order (ConnectionError is an ancestor class of BusyLoadingError)", + "RedisAppStatus._get_actual_db_status" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "E1101", + "Instance of 'Popen' has no 'pid' member", + "BackupRunner.__exit__" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "E1101", + "Instance of 'Popen' has no 'pid' member", + "BackupRunner._run" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "E1101", + "Instance of 'Popen' has no 'stdout' member", + "BackupRunner.read" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "E1101", + "Instance of 'Popen' has no 'terminate' member", + "BackupRunner.__exit__" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "E1101", + "Module 'eventlet.green.subprocess' has no 'PIPE' member", + "BackupRunner._run" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "no-member", + "Instance of 'Popen' has no 'pid' member", + "BackupRunner.__exit__" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "no-member", + "Instance of 'Popen' has no 'pid' member", + "BackupRunner._run" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "no-member", + "Instance of 'Popen' has no 'stdout' member", + "BackupRunner.read" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "no-member", + "Instance of 'Popen' has no 'terminate' member", + "BackupRunner.__exit__" + ], + [ + "trove/guestagent/strategies/backup/base.py", + "no-member", + "Module 'eventlet.green.subprocess' has no 'PIPE' member", + "BackupRunner._run" + ], + [ + "trove/guestagent/strategies/restore/base.py", + "E1101", + "Instance of 'Popen' has no 'stdin' member", + "RestoreRunner._unpack" ], [ "trove/guestagent/strategies/restore/base.py", "E1101", "Instance of 'RestoreRunner' has no 'base_restore_cmd' member", - "61", + "RestoreRunner.__init__" + ], + [ + "trove/guestagent/strategies/restore/base.py", + "E1101", + "Module 'eventlet.green.subprocess' has no 'PIPE' member", + "RestoreRunner._unpack" + ], + [ + "trove/guestagent/strategies/restore/base.py", + "no-member", + "Instance of 'Popen' has no 'stdin' member", + "RestoreRunner._unpack" + ], + [ + "trove/guestagent/strategies/restore/base.py", + "no-member", + "Instance of 'RestoreRunner' has no 'base_restore_cmd' member", "RestoreRunner.__init__" ], [ "trove/guestagent/strategies/restore/base.py", "no-member", "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "84", "RestoreRunner._unpack" ], - [ - "trove/taskmanager/models.py", - "no-member", - "Instance of 'BuiltInstance' has no 'backup_required_for_replication' member", - "510", - "FreshInstanceTasks.get_replication_master_snapshot" - ], - [ - "trove/module/models.py", - "no-member", - "Class 'DBModule' has no 'tenant_id' member", - "96", - "Modules.add_tenant_filter" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "E1120", - "No value for argument 'dml' in method call", - "83", - "downgrade" - ], - [ - "trove/datastore/models.py", - "no-member", - "Class 'DBDatastoreVersion' has no 'active' member", - "376", - "Datastores.load" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "43", - "downgrade" - ], - [ - "trove/backup/models.py", - "no-member", - "Class 'DBBackup' has no 'instance_id' member", - "247", - "Backup.fail_for_instance" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "34", - "downgrade" - ], - [ - "trove/configuration/service.py", - "no-member", - "Instance of 'BuiltInstance' has no 'update_overrides' member", - "210", - "ConfigurationsController._refresh_on_all_instances" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'id' member", - "351", - "DBBackup.check_swift_object_exist" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "61", - "upgrade" - ], [ "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", "E1101", "Instance of 'PgBaseBackup' has no 'pgsql_restore_cmd' member", - "137", "PgBaseBackup.write_recovery_file" ], - [ - "trove/configuration/models.py", - "no-member", - "Instance of 'DBConfigurationParameter' has no 'configuration_key' member", - "238", - "DBConfigurationParameter.__hash__" - ], [ "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", - "no-member", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "68", + "E1101", + "Instance of 'Popen' has no 'stdin' member", "PgDump._execute_postgres_restore" ], - [ - "trove/quota/quota.py", - "E1101", - "Class 'Enum' has no 'COMMITTED' member", - "204", - "DbQuotaDriver.commit" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "40", - "downgrade" - ], - [ - "trove/quota/quota.py", - "E1101", - "Class 'Enum' has no 'ROLLEDBACK' member", - "218", - "DbQuotaDriver.rollback" - ], - [ - "trove/datastore/models.py", - "E1101", - "Instance of 'BaseCapability' has no 'name' member", - "161", - "BaseCapability.__repr__" - ], - [ - "trove/cmd/manage.py", - "E1101", - "Class 'Commands' has no 'has' member", - "122", - "Commands.params_of" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'location' member", - "321", - "DBBackup.filename" - ], - [ - "trove/common/strategies/cluster/experimental/mongodb/api.py", - "no-member", - "Instance of 'API' has no 'get_key' member", - "277", - "MongoDbCluster.add_shard" - ], [ "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", "E1101", "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "67", "PgDump._execute_postgres_restore" ], [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", + "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", "no-member", - "Instance of 'Table' has no 'create_column' member", - "29", - "upgrade" + "Instance of 'PgBaseBackup' has no 'pgsql_restore_cmd' member", + "PgBaseBackup.write_recovery_file" ], [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", + "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", + "no-member", + "Instance of 'Popen' has no 'stdin' member", + "PgDump._execute_postgres_restore" + ], + [ + "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", + "no-member", + "Module 'eventlet.green.subprocess' has no 'PIPE' member", + "PgDump._execute_postgres_restore" + ], + [ + "trove/instance/models.py", "E1101", - "Instance of 'Table' has no 'drop_column' member", - "39", - "downgrade" + "Class 'InstanceStatus' has no 'LOGGING' member", + "SimpleInstance.status" ], [ - "trove/db/sqlalchemy/migration.py", - "no-name-in-module", - "No name 'exceptions' in module 'migrate.versioning'", - "22", - null - ], - [ - "trove/taskmanager/manager.py", + "trove/instance/models.py", "no-member", - "Instance of 'BuiltInstance' has no 'detach_replica' member", - "87", - "Manager.detach_replica" + "Class 'InstanceStatus' has no 'LOGGING' member", + "SimpleInstance.status" ], [ - "trove/cmd/fakemode.py", - "E0602", - "Undefined variable 'CONF'", - "42", - "main" - ], - [ - "trove/backup/models.py", - "no-member", - "Class 'DBDatastoreVersion' has no 'datastore_id' member", - "198", - "Backup.list" - ], - [ - "trove/backup/models.py", + "trove/instance/service.py", "E1101", - "Class 'DBBackup' has no 'id' member", - "144", - "Backup.running" + "Instance of 'BuiltInstance' has no 'get_default_configuration_template' member", + "InstanceController.configuration" ], [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "E1101", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "118", - "PgSqlConfig.reset_configuration" - ], - [ - "trove/backup/models.py", + "trove/instance/service.py", "no-member", - "Class 'DBBackup' has no 'updated' member", - "173", - "Backup._paginate" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "no-member", - "Instance of 'Popen' has no 'terminate' member", - "87", - "BackupRunner.__exit__" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "59", - "downgrade" - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'BuiltInstance' has no 'migrate' member", - "251", - "Manager.migrate" - ], - [ - "trove/db/sqlalchemy/migration.py", - "E0611", - "No name 'exceptions' in module 'migrate.versioning'", - "22", - null - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "35", - "downgrade" - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'BuiltInstance' has no 'create_backup' member", - "272", - "Manager.create_backup" - ], - [ - "trove/common/models.py", - "no-member", - "Instance of 'ModelBase' has no 'id' member", - "77", - "ModelBase.__hash__" - ], - [ - "trove/extensions/mgmt/instances/service.py", - "no-member", - "Instance of 'BuiltInstance' has no 'get_diagnostics' member", - "200", - "MgmtInstanceController.diagnostics" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'FreshInstance' has no 'get_replication_master_snapshot' member", - "305", - "Manager._create_replication_slave" - ], - [ - "trove/common/utils.py", - "E1127", - "Slice index is not an int, None, or instance with __index__", - "162", - "MethodInspector.optional_args" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "93", - "downgrade" - ], - [ - "trove/taskmanager/manager.py", - "E1101", - "Instance of 'BuiltInstance' has no 'unassign_configuration' member", - "388", - "Manager.unassign_configuration" - ], - [ - "trove/extensions/mgmt/instances/service.py", - "E1101", - "Instance of 'BuiltInstance' has no 'rpc_ping' member", - "214", - "MgmtInstanceController.rpc_ping" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "no-member", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "102", - "PgSqlConfig.update_overrides" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "91", - "downgrade" - ], - [ - "trove/cmd/fakemode.py", - "undefined-variable", - "Undefined variable 'os'", - "37", - "main" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "56", - "upgrade" - ], - [ - "trove/dns/designate/driver.py", - "E1101", - "Instance of 'Client' has no 'domains' member", - "122", - "DesignateDriver.get_dns_zones" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'id' member", - "357", - "DBBackup.check_swift_object_exist" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "39", - "downgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "58", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", - "E1120", - "No value for argument 'dml' in method call", - "28", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "28", - "upgrade" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'location' member", - "325", - "DBBackup.filename" - ], - [ - "trove/taskmanager/models.py", - "unexpected-keyword-arg", - "Unexpected keyword argument 'recover_func' in method call", - "1672", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "27", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "30", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "56", - "upgrade" - ], - [ - "trove/common/extensions.py", - "E1101", - "Module 'lxml.etree' has no 'Element' member", - "474", - "ExtensionsXMLSerializer.show" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'checksum' member", - "355", - "DBBackup.check_swift_object_exist" - ], - [ - "trove/extensions/security_group/models.py", - "E1101", - "Instance of 'SecurityGroupInstanceAssociation' has no 'security_group_id' member", - "191", - "SecurityGroupInstanceAssociation.get_security_group" + "Instance of 'BuiltInstance' has no 'get_default_configuration_template' member", + "InstanceController.configuration" ], [ "trove/module/models.py", "E1101", "Class 'DBModule' has no 'datastore_id' member", - "101", "Modules.add_datastore_filter" ], [ - "trove/backup/models.py", + "trove/module/models.py", + "E1101", + "Class 'DBModule' has no 'datastore_version_id' member", + "Modules.add_ds_version_filter" + ], + [ + "trove/module/models.py", + "E1101", + "Class 'DBModule' has no 'id' member", + "Modules.load_by_ids" + ], + [ + "trove/module/models.py", + "E1101", + "Class 'DBModule' has no 'tenant_id' member", + "Modules.add_tenant_filter" + ], + [ + "trove/module/models.py", + "E1101", + "Class 'DBModule' has no 'tenant_id' member", + "Modules.load" + ], + [ + "trove/module/models.py", "no-member", - "Instance of 'DBBackup' has no 'datastore_version_id' member", - "331", - "DBBackup.datastore" + "Class 'DBModule' has no 'datastore_id' member", + "Modules.add_datastore_filter" ], [ - "trove/db/sqlalchemy/migration.py", - "E1120", - "No value for argument 'repo_path' in function call", - "91", - "version_control" + "trove/module/models.py", + "no-member", + "Class 'DBModule' has no 'datastore_version_id' member", + "Modules.add_ds_version_filter" ], [ - "trove/backup/models.py", + "trove/module/models.py", + "no-member", + "Class 'DBModule' has no 'id' member", + "Modules.load_by_ids" + ], + [ + "trove/module/models.py", + "no-member", + "Class 'DBModule' has no 'tenant_id' member", + "Modules.add_tenant_filter" + ], + [ + "trove/module/models.py", + "no-member", + "Class 'DBModule' has no 'tenant_id' member", + "Modules.load" + ], + [ + "trove/quota/quota.py", "E1101", - "Instance of 'DBBackup' has no 'location' member", - "347", - "DBBackup.check_swift_object_exist" + "Class 'Enum' has no 'COMMITTED' member", + "DbQuotaDriver.commit" ], [ - "trove/backup/models.py", + "trove/quota/quota.py", "E1101", - "Instance of 'DBBackup' has no 'datastore_version_id' member", - "339", - "DBBackup.datastore_version" + "Class 'Enum' has no 'RESERVED' member", + "DbQuotaDriver.reserve" + ], + [ + "trove/quota/quota.py", + "E1101", + "Class 'Enum' has no 'ROLLEDBACK' member", + "DbQuotaDriver.rollback" + ], + [ + "trove/quota/quota.py", + "no-member", + "Class 'Enum' has no 'COMMITTED' member", + "DbQuotaDriver.commit" + ], + [ + "trove/quota/quota.py", + "no-member", + "Class 'Enum' has no 'RESERVED' member", + "DbQuotaDriver.reserve" + ], + [ + "trove/quota/quota.py", + "no-member", + "Class 'Enum' has no 'ROLLEDBACK' member", + "DbQuotaDriver.rollback" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'create_backup' member", + "Manager.create_backup" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'detach_replica' member", + "Manager.detach_replica" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'migrate' member", + "Manager.migrate" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'reboot' member", + "Manager.reboot" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'resize_flavor' member", + "Manager.resize_flavor" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'resize_volume' member", + "Manager.resize_volume" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'restart' member", + "Manager.restart" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'unassign_configuration' member", + "Manager.unassign_configuration" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'update_overrides' member", + "Manager.update_overrides" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'BuiltInstance' has no 'upgrade' member", + "Manager.upgrade" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'FreshInstance' has no 'create_instance' member", + "Manager._create_instance" + ], + [ + "trove/taskmanager/manager.py", + "E1101", + "Instance of 'FreshInstance' has no 'create_instance' member", + "Manager._create_replication_slave" ], [ "trove/taskmanager/manager.py", "E1101", "Instance of 'FreshInstance' has no 'get_replication_master_snapshot' member", - "305", "Manager._create_replication_slave" ], [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", + "trove/taskmanager/manager.py", "E1101", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "143", - "PgSqlConfig.apply_initial_guestagent_configuration" + "Instance of 'FreshInstance' has no 'wait_for_instance' member", + "Manager._create_instance" ], [ - "trove/extensions/security_group/models.py", + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'create_backup' member", + "Manager.create_backup" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'detach_replica' member", + "Manager.detach_replica" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'migrate' member", + "Manager.migrate" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'reboot' member", + "Manager.reboot" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'resize_flavor' member", + "Manager.resize_flavor" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'resize_volume' member", + "Manager.resize_volume" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'restart' member", + "Manager.restart" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'unassign_configuration' member", + "Manager.unassign_configuration" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'update_overrides' member", + "Manager.update_overrides" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'BuiltInstance' has no 'upgrade' member", + "Manager.upgrade" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'FreshInstance' has no 'create_instance' member", + "Manager._create_instance" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'FreshInstance' has no 'create_instance' member", + "Manager._create_replication_slave" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'FreshInstance' has no 'get_replication_master_snapshot' member", + "Manager._create_replication_slave" + ], + [ + "trove/taskmanager/manager.py", + "no-member", + "Instance of 'FreshInstance' has no 'wait_for_instance' member", + "Manager._create_instance" + ], + [ + "trove/taskmanager/models.py", "E1101", - "Instance of 'SecurityGroup' has no 'id' member", - "49", - "SecurityGroup.instance_id" + "Instance of 'BuiltInstance' has no 'backup_required_for_replication' member", + "FreshInstanceTasks.get_replication_master_snapshot" + ], + [ + "trove/taskmanager/models.py", + "E1101", + "Instance of 'BuiltInstance' has no 'get_replication_snapshot' member", + "FreshInstanceTasks.get_replication_master_snapshot" + ], + [ + "trove/taskmanager/models.py", + "E1101", + "Instance of 'ResizeActionBase' has no '_assert_nova_action_was_successful' member", + "ResizeActionBase._perform_nova_action" + ], + [ + "trove/taskmanager/models.py", + "E1101", + "Instance of 'ResizeActionBase' has no '_initiate_nova_action' member", + "ResizeActionBase._perform_nova_action" + ], + [ + "trove/taskmanager/models.py", + "E1101", + "Instance of 'ResizeActionBase' has no '_record_action_success' member", + "ResizeActionBase._perform_nova_action" + ], + [ + "trove/taskmanager/models.py", + "E1101", + "Instance of 'ResizeActionBase' has no '_start_datastore' member", + "ResizeActionBase._assert_datastore_is_ok" + ], + [ + "trove/taskmanager/models.py", + "E1101", + "Instance of 'str' has no 'render' member", + "FreshInstanceTasks._create_server_volume_heat" + ], + [ + "trove/taskmanager/models.py", + "E1123", + "Unexpected keyword argument 'recover_func' in method call", + "ResizeVolumeAction._resize_active_volume" + ], + [ + "trove/taskmanager/models.py", + "no-member", + "Instance of 'BuiltInstance' has no 'backup_required_for_replication' member", + "FreshInstanceTasks.get_replication_master_snapshot" + ], + [ + "trove/taskmanager/models.py", + "no-member", + "Instance of 'BuiltInstance' has no 'get_replication_snapshot' member", + "FreshInstanceTasks.get_replication_master_snapshot" + ], + [ + "trove/taskmanager/models.py", + "no-member", + "Instance of 'ResizeActionBase' has no '_assert_nova_action_was_successful' member", + "ResizeActionBase._perform_nova_action" ], [ "trove/taskmanager/models.py", "no-member", "Instance of 'ResizeActionBase' has no '_initiate_nova_action' member", - "1818", "ResizeActionBase._perform_nova_action" ], [ "trove/taskmanager/models.py", "no-member", "Instance of 'ResizeActionBase' has no '_record_action_success' member", - "1850", "ResizeActionBase._perform_nova_action" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "36", - "downgrade" - ], - [ - "trove/extensions/mgmt/instances/service.py", - "no-member", - "Instance of 'BuiltInstance' has no 'get_hwinfo' member", - "186", - "MgmtInstanceController.hwinfo" - ], - [ - "trove/taskmanager/models.py", - "unexpected-keyword-arg", - "Unexpected keyword argument 'recover_func' in method call", - "1673", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "29", - "upgrade" - ], - [ - "trove/cmd/fakemode.py", - "undefined-variable", - "Undefined variable 'CONF'", - "42", - "main" - ], - [ - "trove/backup/models.py", - "E1101", - "Class 'DBBackup' has no 'instance_id' member", - "139", - "Backup.running" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/process.py", - "E1101", - "Instance of 'PgSqlProcess' has no 'set_guest_log_status' member", - "57", - "PgSqlProcess.restart" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "no-member", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "143", - "PgSqlConfig.apply_initial_guestagent_configuration" - ], [ "trove/taskmanager/models.py", "no-member", - "Instance of 'BuiltInstance' has no 'get_replication_snapshot' member", - "568", - "FreshInstanceTasks.get_replication_master_snapshot" - ], - [ - "trove/extensions/security_group/models.py", - "no-member", - "Instance of 'SecurityGroup' has no 'id' member", - "49", - "SecurityGroup.instance_id" - ], - [ - "trove/instance/models.py", - "E1101", - "Class 'InstanceStatus' has no 'LOGGING' member", - "306", - "SimpleInstance.status" - ], - [ - "trove/backup/models.py", - "no-member", - "Class 'DBBackup' has no 'deleted' member", - "195", - "Backup.list" - ], - [ - "trove/guestagent/datastore/experimental/cassandra/service.py", - "E0611", - "No name 'Cluster' in module 'cassandra.cluster'", - "21", - null - ], - [ - "trove/common/utils.py", - "E1127", - "Slice index is not an int, None, or instance with __index__", - "158", - "MethodInspector.required_args" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "no-member", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "118", - "PgSqlConfig.reset_configuration" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "33", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "60", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "31", - "upgrade" - ], - [ - "trove/backup/models.py", - "no-member", - "Class 'DBBackup' has no 'tenant_id' member", - "194", - "Backup.list" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'BuiltInstance' has no 'create_backup' member", - "272", - "Manager.create_backup" - ], - [ - "trove/common/extensions.py", - "no-member", - "Module 'lxml.etree' has no 'SubElement' member", - "496", - "ExtensionsXMLSerializer._populate_ext" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "34", - "downgrade" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "E1101", - "Instance of 'Popen' has no 'stdout' member", - "136", - "BackupRunner.read" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'BuiltInstance' has no 'validate_can_perform_action' member", - "73", - "Backup.create._create_resources" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "59", - "upgrade" - ], - [ - "trove/taskmanager/models.py", - "E1101", - "Instance of 'BuiltInstance' has no 'backup_required_for_replication' member", - "510", - "FreshInstanceTasks.get_replication_master_snapshot" - ], - [ - "trove/taskmanager/models.py", - "E1123", - "Unexpected keyword argument 'recover_func' in method call", - "1679", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/datastore/models.py", - "no-member", - "Instance of 'BaseCapability' has no 'name' member", - "161", - "BaseCapability.__repr__" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "no-member", - "Instance of 'Popen' has no 'pid' member", - "67", - "BackupRunner._run" - ], - [ - "trove/guestagent/strategies/restore/experimental/postgresql_impl.py", - "E1101", - "Instance of 'Popen' has no 'stdin' member", - "71", - "PgDump._execute_postgres_restore" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "E1101", - "Instance of 'Popen' has no 'terminate' member", - "87", - "BackupRunner.__exit__" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "91", - "downgrade" - ], - [ - "trove/common/extensions.py", - "E1101", - "Module 'lxml.etree' has no 'SubElement' member", - "496", - "ExtensionsXMLSerializer._populate_ext" - ], - [ - "trove/common/extensions.py", - "E1101", - "Module 'lxml.etree' has no 'SubElement' member", - "481", - "ExtensionsXMLSerializer.index" - ], - [ - "trove/taskmanager/models.py", - "unexpected-keyword-arg", - "Unexpected keyword argument 'recover_func' in method call", - "1674", - "ResizeVolumeAction._resize_active_volume" - ], - [ - "trove/module/models.py", - "E1101", - "Class 'DBModule' has no 'tenant_id' member", - "97", - "Modules.add_tenant_filter" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "93", - "downgrade" - ], - [ - "trove/extensions/security_group/models.py", - "no-member", - "Instance of 'SecurityGroup' has no 'id' member", - "111", - "SecurityGroup.delete" + "Instance of 'ResizeActionBase' has no '_start_datastore' member", + "ResizeActionBase._assert_datastore_is_ok" ], [ "trove/taskmanager/models.py", "no-member", "Instance of 'str' has no 'render' member", - "735", "FreshInstanceTasks._create_server_volume_heat" ], - [ - "trove/backup/models.py", - "E1101", - "Class 'DBBackup' has no 'updated' member", - "173", - "Backup._paginate" - ], - [ - "trove/backup/models.py", - "E1101", - "Class 'DBDatastoreVersion' has no 'datastore_id' member", - "198", - "Backup.list" - ], - [ - "trove/common/wsgi.py", - "function-redefined", - "class already defined line 46", - "658", - "JSONDictSerializer" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "29", - "upgrade" - ], - [ - "trove/guestagent/datastore/experimental/cassandra/service.py", - "no-member", - "Instance of 'list' has no 'split' member", - "635", - "CassandraApp.get_seeds" - ], - [ - "trove/extensions/security_group/models.py", - "E1101", - "Instance of 'SecurityGroup' has no 'id' member", - "111", - "SecurityGroup.delete" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "31", - "upgrade" - ], - [ - "trove/configuration/service.py", - "E1101", - "Instance of 'BuiltInstance' has no 'update_overrides' member", - "210", - "ConfigurationsController._refresh_on_all_instances" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "77", - "downgrade" - ], - [ - "trove/backup/models.py", - "E1101", - "Instance of 'DBBackup' has no 'id' member", - "351", - "DBBackup.check_swift_object_exist" - ], - [ - "trove/guestagent/datastore/experimental/postgresql/service/config.py", - "no-member", - "Instance of 'PgSqlConfig' has no 'configuration_manager' member", - "125", - "PgSqlConfig.start_db_with_conf_changes" - ], - [ - "trove/dns/designate/driver.py", - "no-member", - "Instance of 'Client' has no 'records' member", - "138", - "DesignateDriver._get_records" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "28", - "upgrade" - ], - [ - "trove/backup/models.py", - "E1101", - "Class 'DBBackup' has no 'tenant_id' member", - "194", - "Backup.list" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "44", - "downgrade" - ], [ "trove/taskmanager/models.py", - "E1101", - "Instance of 'ResizeActionBase' has no '_initiate_nova_action' member", - "1818", - "ResizeActionBase._perform_nova_action" - ], - [ - "trove/taskmanager/manager.py", - "no-member", - "Instance of 'BuiltInstance' has no 'update_overrides' member", - "383", - "Manager.update_overrides" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'location' member", - "321", - "DBBackup.filename" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "61", - "upgrade" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'location' member", - "347", - "DBBackup.check_swift_object_exist" - ], - [ - "trove/guestagent/strategies/backup/base.py", - "E1101", - "Module 'eventlet.green.subprocess' has no 'PIPE' member", - "64", - "BackupRunner._run" - ], - [ - "trove/backup/models.py", - "no-member", - "Instance of 'DBBackup' has no 'datastore_version_id' member", - "339", - "DBBackup.datastore_version" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "60", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "35", - "downgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "31", - "upgrade" - ], - [ - "trove/common/wsgi.py", - "E0102", - "class already defined line 46", - "658", - "JSONDictSerializer" - ], - [ - "trove/common/extensions.py", - "no-member", - "Module 'lxml.etree' has no 'Element' member", - "492", - "ExtensionsXMLSerializer._populate_ext" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "32", - "upgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "28", - "upgrade" + "unexpected-keyword-arg", + "Unexpected keyword argument 'recover_func' in method call", + "ResizeVolumeAction._resize_active_volume" ] ], - "ignored_messages": [], + "ignored_file_codes": [], + "ignored_file_messages": [], "ignored_files": [ "trove/tests" ], - "ignored_codes": [], - "always_error_messages": [ - "Undefined variable '_'", - "Undefined variable '_LE'", - "Undefined variable '_LI'", - "Undefined variable '_LW'", - "Undefined variable '_LC'" - ], - "folder": "trove", + "ignored_messages": [], "include": [ "*.py" ], "options": [ "--rcfile=./pylintrc", "-E" - ], - "ignored_file_codes": [], - "ignored_file_messages": [] + ] } \ No newline at end of file diff --git a/tools/trove-pylint.py b/tools/trove-pylint.py index 6406f8e736..c2d7f3dc51 100755 --- a/tools/trove-pylint.py +++ b/tools/trove-pylint.py @@ -16,8 +16,10 @@ from __future__ import print_function import fnmatch import json +from collections import OrderedDict import os import re +import six import sys from pylint import lint @@ -56,12 +58,24 @@ class Config(object): self.config = self.default_config + def sort_config(self): + sorted_config = OrderedDict() + for key in sorted(self.config.keys()): + value = self.get(key) + if isinstance(value, list) and not isinstance(value, + six.string_types): + sorted_config[key] = sorted(value) + else: + sorted_config[key] = value + + return sorted_config + def save(self, filename=DEFAULT_CONFIG_FILE): if os.path.isfile(filename): os.rename(filename, "%s~" % filename) with open(filename, 'w') as fp: - json.dump(self.config, fp, encoding="utf-8", + json.dump(self.sort_config(), fp, encoding="utf-8", indent=2, separators=(',', ': ')) def load(self, filename=DEFAULT_CONFIG_FILE): @@ -130,7 +144,7 @@ class Config(object): [filename, codename] in self.config['ignored_file_codes']): return True - fcm_ignore1 = [filename, codename, message] + fcm_ignore1 = [filename, code, message] fcm_ignore2 = [filename, codename, message] for fcm in self.config['ignored_file_code_messages']: if fcm_ignore1 == [fcm[0], fcm[1], fcm[2]]: @@ -166,9 +180,9 @@ class Config(object): _c.add((f, m)) self.config['ignored_file_messages'] = list(_c) - def ignore_file_code_message(self, f, c, m, l, fn): + def ignore_file_code_message(self, f, c, m, fn): _c = set(self.config['ignored_file_code_messages']) - _c.add((f, c, m, l, fn)) + _c.add((f, c, m, fn)) self.config['ignored_file_code_messages'] = list(_c) def main(): @@ -230,6 +244,7 @@ class LintRunner(object): files_with_errors = 0 errors_recorded = 0 exceptions_recorded = 0 + all_exceptions = [] for (root, dirs, files) in os.walk(self.config.get('folder')): # if we shouldn't even bother about this part of the @@ -262,26 +277,27 @@ class LintRunner(object): # what we do with this exception depents on the # kind of exception, and the mode if self.config.is_always_error(e[5]): - print("ERROR: %s %s: %s %s, %s: %s" % - (e[0], e[1], e[2], e[3], e[4], e[5])) + all_exceptions.append(e) errors_recorded += 1 file_had_errors += 1 elif mode == MODE_REBUILD: # parameters to ignore_file_code_message are - # filename, code, message, linenumber, and function - self.config.ignore_file_code_message(e[0], e[2], e[-1], e[1], e[4]) - self.config.ignore_file_code_message(e[0], e[3], e[-1], e[1], e[4]) + # filename, code, message and function + self.config.ignore_file_code_message(e[0], e[2], e[-1], e[4]) + self.config.ignore_file_code_message(e[0], e[3], e[-1], e[4]) exceptions_recorded += 1 elif mode == MODE_CHECK: - print("ERROR: %s %s: %s %s, %s: %s" % - (e[0], e[1], e[2], e[3], e[4], e[5])) + all_exceptions.append(e) errors_recorded += 1 file_had_errors += 1 - if file_had_errors: files_with_errors += 1 + for e in sorted(all_exceptions): + print("ERROR: %s %s: %s %s, %s: %s" % + (e[0], e[1], e[2], e[3], e[4], e[5])) + return (files_processed, files_with_errors, errors_recorded, exceptions_recorded) @@ -333,7 +349,5 @@ def rebuild(): def initialize(): exit(LintRunner().initialize()) - if __name__ == "__main__": main() - diff --git a/tox.ini b/tox.ini index 0bdd4c66b8..bee483d75a 100644 --- a/tox.ini +++ b/tox.ini @@ -96,4 +96,5 @@ commands = sphinx-build -a -E -W -d install-guide/build/doctrees -b html install deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = {[testenv]commands} - python tools/trove-pylint.py check + python tools/trove-pylint.py {posargs:check} +