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} +