Project

General

Profile

Bug #41993

Updated by Volker Theile over 4 years ago

Issue https://tracker.ceph.com/issues/41648 has modified the response object, but the corresponding QA tests have unit test has not been adapted. 

 <pre> 
 2019-09-23 08:35:02,883.883 INFO:__main__:test_list_disabled_module (tasks.mgr.dashboard.test_mgr_module.MgrModuleTest) ... FAIL 
 2019-09-23 08:35:02,884.884 INFO:__main__:Running ['./bin/ceph', 'log', 'Ended test tasks.mgr.dashboard.test_mgr_module.MgrModuleTest.test_list_disabled_module'] 
 2019-09-23 08:35:03,839.839 INFO:__main__:Stopped test: test_list_disabled_module (tasks.mgr.dashboard.test_mgr_module.MgrModuleTest) in 3.126064s 
 2019-09-23 08:35:03,840.840 INFO:__main__: 
 2019-09-23 08:35:03,840.840 INFO:__main__:====================================================================== 
 2019-09-23 08:35:03,840.840 INFO:__main__:FAIL: test_list_disabled_module (tasks.mgr.dashboard.test_mgr_module.MgrModuleTest) 
 2019-09-23 08:35:03,840.840 INFO:__main__:---------------------------------------------------------------------- 
 2019-09-23 08:35:03,841.841 INFO:__main__:Traceback (most recent call last): 
 2019-09-23 08:35:03,841.841 INFO:__main__:    File "/home/jenkins-build/build/workspace/ceph-dashboard-pr-backend/qa/tasks/mgr/dashboard/test_mgr_module.py", line 60, in test_list_disabled_module 
 2019-09-23 08:35:03,841.841 INFO:__main__:      'tags': JList(str) 
 2019-09-23 08:35:03,841.841 INFO:__main__:    File "/home/jenkins-build/build/workspace/ceph-dashboard-pr-backend/qa/tasks/mgr/dashboard/helper.py", line 337, in assertSchema 
 2019-09-23 08:35:03,841.841 INFO:__main__:      self.assertEqual(data, str(e)) 
 2019-09-23 08:35:03,841.841 INFO:__main__:AssertionError: [{u'enabled': False, u'always_on': False, u'name': u'ansible', u'options': {u'ca_bundle': {u'default_value': u'', u'long_desc': u'', u'name': u'ca_bundle', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'server_location': {u'default_value': u'', u'long_desc': u'', u'name': u'server_location', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'verify_server': {u'default_value': True, u'long_desc': u'', u'name': u'verify_server', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}}}, {u'enabled': True, u'always_on': True, u'name': u'balancer', u'options': {u'min_score': {u'default_value': 0.0, u'long_desc': u'', u'name': u'min_score', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'float', u'tags': [], u'desc': u'minimum score, below which no optimization is attempted'}, u'upmap_max_deviation': {u'default_value': 0.01, u'long_desc': u'If the ratio between the fullest and least-full OSD is below this value then we stop trying to optimize placement.', u'name': u'upmap_max_deviation', u'level': u'advanced', u'max': 1.0, u'min': 0.0, u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'float', u'tags': [], u'desc': u'deviation below which no optimization is attempted'}, u'pool_ids': {u'default_value': u'', u'long_desc': u'', u'name': u'pool_ids', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'pools which the automatic balancing will be limited to'}, u'sleep_interval': {u'default_value': 60, u'long_desc': u'', u'name': u'sleep_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'how frequently to wake up and attempt optimization'}, u'end_weekday': {u'default_value': 7, u'long_desc': u'0 or 7 = Sunday, 1 = Monday, etc.', u'name': u'end_weekday', u'level': u'advanced', u'max': 7, u'min': 0, u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'uint', u'tags': [], u'desc': u'Restrict automatic balancing to days of the week earlier than this'}, u'crush_compat_metrics': {u'default_value': u'pgs,objects,bytes', u'long_desc': u'Value is a list of one or more of "pgs", "objects", or "bytes", and indicates which metrics to use to balance utilization.', u'name': u'crush_compat_metrics', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'metrics with which to calculate OSD utilization'}, u'begin_weekday': {u'default_value': 0, u'long_desc': u'0 or 7 = Sunday, 1 = Monday, etc.', u'name': u'begin_weekday', u'level': u'advanced', u'max': 7, u'min': 0, u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'uint', u'tags': [], u'desc': u'Restrict automatic balancing to this day of the week or later'}, u'upmap_max_iterations': {u'default_value': 10, u'long_desc': u'', u'name': u'upmap_max_iterations', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'uint', u'tags': [], u'desc': u'maximum upmap optimization iterations'}, u'end_time': {u'default_value': u'2400', u'long_desc': u'This is a time of day in the format HHMM.', u'name': u'end_time', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'ending time of day to automatically balance'}, u'crush_compat_step': {u'default_value': 0.5, u'long_desc': u'.99 is very aggressive, .01 is less aggressive', u'name': u'crush_compat_step', u'level': u'advanced', u'max': 0.999, u'min': 0.001, u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'float', u'tags': [], u'desc': u'aggressiveness of optimization'}, u'begin_time': {u'default_value': u'0000', u'long_desc': u'This is a time of day in the format HHMM.', u'name': u'begin_time', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'beginning time of day to automatically balance'}, u'active': {u'default_value': False, u'long_desc': u'', u'name': u'active', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u'automatically balance PGs across cluster'}, u'crush_compat_max_iterations': {u'default_value': 25, u'long_desc': u'', u'name': u'crush_compat_max_iterations', u'level': u'advanced', u'max': 250, u'min': 1, u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'uint', u'tags': [], u'desc': u'maximum number of iterations to attempt optimization'}, u'mode': {u'default_value': u'none', u'long_desc': u'', u'name': u'mode', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [u'crush-compat', u'none', u'upmap'], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'Balancer mode'}}}, {u'enabled': True, u'always_on': True, u'name': u'crash', u'options': {u'retain_interval': {u'default_value': 31536000, u'long_desc': u'', u'name': u'retain_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'how long to retain crashes before pruning them'}, u'warn_recent_interval': {u'default_value': 1209600, u'long_desc': u'', u'name': u'warn_recent_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'time interval in which to warn about recent crashes'}}}, {u'enabled': True, u'always_on': False, u'name': u'dashboard', u'options': {u'FEATURE_TOGGLE_cephfs': {u'default_value': True, u'long_desc': u'', u'name': u'FEATURE_TOGGLE_cephfs', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'FEATURE_TOGGLE_rbd': {u'default_value': True, u'long_desc': u'', u'name': u'FEATURE_TOGGLE_rbd', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'AUDIT_API_ENABLED': {u'default_value': u'False', u'long_desc': u'', u'name': u'AUDIT_API_ENABLED', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'RGW_API_SECRET_KEY': {u'default_value': u'', u'long_desc': u'', u'name': u'RGW_API_SECRET_KEY', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'ENABLE_BROWSABLE_API': {u'default_value': u'True', u'long_desc': u'', u'name': u'ENABLE_BROWSABLE_API', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'crt_file': {u'default_value': u'', u'long_desc': u'', u'name': u'crt_file', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'PROMETHEUS_API_HOST': {u'default_value': u'', u'long_desc': u'', u'name': u'PROMETHEUS_API_HOST', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'REST_REQUESTS_TIMEOUT': {u'default_value': u'45', u'long_desc': u'', u'name': u'REST_REQUESTS_TIMEOUT', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'ISCSI_API_SSL_VERIFICATION': {u'default_value': u'True', u'long_desc': u'', u'name': u'ISCSI_API_SSL_VERIFICATION', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'GRAFANA_API_USERNAME': {u'default_value': u'admin', u'long_desc': u'', u'name': u'GRAFANA_API_USERNAME', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'standby_behaviour': {u'default_value': u'redirect', u'long_desc': u'', u'name': u'standby_behaviour', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [u'error', u'redirect'], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'GRAFANA_API_PASSWORD': {u'default_value': u'admin', u'long_desc': u'', u'name': u'GRAFANA_API_PASSWORD', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'url_prefix': {u'default_value': u'', u'long_desc': u'', u'name': u'url_prefix', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'RGW_API_ADMIN_RESOURCE': {u'default_value': u'admin', u'long_desc': u'', u'name': u'RGW_API_ADMIN_RESOURCE', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'RGW_API_PORT': {u'default_value': u'80', u'long_desc': u'', u'name': u'RGW_API_PORT', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'GRAFANA_API_URL': {u'default_value': u'', u'long_desc': u'', u'name': u'GRAFANA_API_URL', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'ALERTMANAGER_API_HOST': {u'default_value': u'', u'long_desc': u'', u'name': u'ALERTMANAGER_API_HOST', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'FEATURE_TOGGLE_iscsi': {u'default_value': True, u'long_desc': u'', u'name': u'FEATURE_TOGGLE_iscsi', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'server_port': {u'default_value': 8080, u'long_desc': u'', u'name': u'server_port', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u''}, u'GANESHA_CLUSTERS_RADOS_POOL_NAMESPACE': {u'default_value': u'', u'long_desc': u'', u'name': u'GANESHA_CLUSTERS_RADOS_POOL_NAMESPACE', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'RGW_API_ACCESS_KEY': {u'default_value': u'', u'long_desc': u'', u'name': u'RGW_API_ACCESS_KEY', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'AUDIT_API_LOG_PAYLOAD': {u'default_value': u'True', u'long_desc': u'', u'name': u'AUDIT_API_LOG_PAYLOAD', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'RGW_API_HOST': {u'default_value': u'', u'long_desc': u'', u'name': u'RGW_API_HOST', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'RGW_API_SCHEME': {u'default_value': u'http', u'long_desc': u'', u'name': u'RGW_API_SCHEME', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'username': {u'default_value': u'', u'long_desc': u'', u'name': u'username', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'RGW_API_SSL_VERIFY': {u'default_value': u'True', u'long_desc': u'', u'name': u'RGW_API_SSL_VERIFY', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'RGW_API_USER_ID': {u'default_value': u'', u'long_desc': u'', u'name': u'RGW_API_USER_ID', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'jwt_token_ttl': {u'default_value': 28800, u'long_desc': u'', u'name': u'jwt_token_ttl', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u''}, u'FEATURE_TOGGLE_rgw': {u'default_value': True, u'long_desc': u'', u'name': u'FEATURE_TOGGLE_rgw', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'GRAFANA_UPDATE_DASHBOARDS': {u'default_value': u'False', u'long_desc': u'', u'name': u'GRAFANA_UPDATE_DASHBOARDS', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'ssl': {u'default_value': True, u'long_desc': u'', u'name': u'ssl', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'standby_error_status_code': {u'default_value': 500, u'long_desc': u'', u'name': u'standby_error_status_code', u'level': u'advanced', u'max': 599, u'min': 400, u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u''}, u'password': {u'default_value': u'', u'long_desc': u'', u'name': u'password', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'ssl_server_port': {u'default_value': 8443, u'long_desc': u'', u'name': u'ssl_server_port', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u''}, u'server_addr': {u'default_value': u'::', u'long_desc': u'', u'name': u'server_addr', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'FEATURE_TOGGLE_mirroring': {u'default_value': True, u'long_desc': u'', u'name': u'FEATURE_TOGGLE_mirroring', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'key_file': {u'default_value': u'', u'long_desc': u'', u'name': u'key_file', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': False, u'always_on': False, u'name': u'deepsea', u'options': {u'salt_api_username': {u'default_value': u'', u'long_desc': u'', u'name': u'salt_api_username', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'salt_api_password': {u'default_value': u'', u'long_desc': u'', u'name': u'salt_api_password', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'salt_api_eauth': {u'default_value': u'sharedsecret', u'long_desc': u'', u'name': u'salt_api_eauth', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'salt_api_url': {u'default_value': u'', u'long_desc': u'', u'name': u'salt_api_url', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': True, u'always_on': True, u'name': u'devicehealth', u'options': {u'pool_name': {u'default_value': u'device_health_metrics', u'long_desc': u'', u'name': u'pool_name', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'name of pool in which to store device health metrics'}, u'self_heal': {u'default_value': True, u'long_desc': u'', u'name': u'self_heal', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u'preemptively heal cluster around devices that may fail'}, u'sleep_interval': {u'default_value': 600, u'long_desc': u'', u'name': u'sleep_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'how frequently to wake up and check device health'}, u'scrape_frequency': {u'default_value': 86400, u'long_desc': u'', u'name': u'scrape_frequency', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'how frequently to scrape device health metrics'}, u'enable_monitoring': {u'default_value': False, u'long_desc': u'', u'name': u'enable_monitoring', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u'monitor device health metrics'}, u'retention_period': {u'default_value': 15552000, u'long_desc': u'', u'name': u'retention_period', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'how long to retain device health metrics'}, u'mark_out_threshold': {u'default_value': 2419200, u'long_desc': u'', u'name': u'mark_out_threshold', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'automatically mark OSD if it may fail before this long'}, u'warn_threshold': {u'default_value': 7257600, u'long_desc': u'', u'name': u'warn_threshold', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'raise health warning if OSD may fail before this long'}}}, {u'enabled': False, u'always_on': False, u'name': u'diskprediction_cloud', u'options': {u'diskprediction_server': {u'default_value': u'', u'long_desc': u'', u'name': u'diskprediction_server', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_cert_context': {u'default_value': u'', u'long_desc': u'', u'name': u'diskprediction_cert_context', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_default_authority': {u'default_value': u'localhost', u'long_desc': u'', u'name': u'diskprediction_default_authority', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'sleep_interval': {u'default_value': u'600', u'long_desc': u'', u'name': u'sleep_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_retrieve_prediction_interval': {u'default_value': u'43200', u'long_desc': u'', u'name': u'diskprediction_retrieve_prediction_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_upload_smart_interval': {u'default_value': u'43200', u'long_desc': u'', u'name': u'diskprediction_upload_smart_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_user': {u'default_value': u'', u'long_desc': u'', u'name': u'diskprediction_user', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_upload_metrics_interval': {u'default_value': u'600', u'long_desc': u'', u'name': u'diskprediction_upload_metrics_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_password': {u'default_value': u'', u'long_desc': u'', u'name': u'diskprediction_password', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_port': {u'default_value': u'31400', u'long_desc': u'', u'name': u'diskprediction_port', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'diskprediction_ssl_target_name_override': {u'default_value': u'localhost', u'long_desc': u'', u'name': u'diskprediction_ssl_target_name_override', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': False, u'always_on': False, u'name': u'diskprediction_local', u'options': {u'predict_interval': {u'default_value': u'86400', u'long_desc': u'', u'name': u'predict_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'sleep_interval': {u'default_value': u'600', u'long_desc': u'', u'name': u'sleep_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': False, u'always_on': False, u'name': u'hello', u'options': {u'foo': {u'default_value': u'a', u'long_desc': u'', u'name': u'foo', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [u'a', u'b', u'c'], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'place': {u'default_value': u'world', u'long_desc': u'', u'name': u'place', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'a place in the world'}, u'emphatic': {u'default_value': True, u'long_desc': u'', u'name': u'emphatic', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u'whether to say it loudly'}}}, {u'enabled': False, u'always_on': False, u'name': u'influx', u'options': {u'username': {u'default_value': u'', u'long_desc': u'', u'name': u'username', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'hostname': {u'default_value': u'', u'long_desc': u'', u'name': u'hostname', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'database': {u'default_value': u'ceph', u'long_desc': u'', u'name': u'database', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'interval': {u'default_value': u'30', u'long_desc': u'', u'name': u'interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'batch_size': {u'default_value': u'5000', u'long_desc': u'', u'name': u'batch_size', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'ssl': {u'default_value': u'false', u'long_desc': u'', u'name': u'ssl', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'verify_ssl': {u'default_value': u'true', u'long_desc': u'', u'name': u'verify_ssl', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'threads': {u'default_value': u'5', u'long_desc': u'', u'name': u'threads', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'password': {u'default_value': u'', u'long_desc': u'', u'name': u'password', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'port': {u'default_value': u'8086', u'long_desc': u'', u'name': u'port', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': False, u'always_on': False, u'name': u'insights', u'options': {}}, {u'enabled': False, u'always_on': False, u'name': u'iostat', u'options': {}}, {u'enabled': False, u'always_on': False, u'name': u'k8sevents', u'options': {}}, {u'enabled': False, u'always_on': False, u'name': u'localpool', u'options': {u'failure_domain': {u'default_value': u'host', u'long_desc': u'', u'name': u'failure_domain', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'failure domain for any created local pool'}, u'subtree': {u'default_value': u'rack', u'long_desc': u'', u'name': u'subtree', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'CRUSH level for which to create a local pool'}, u'min_size': {u'default_value': u'', u'long_desc': u'', u'name': u'min_size', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u'default min_size for any created local pool'}, u'prefix': {u'default_value': u'', u'long_desc': u'', u'name': u'prefix', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u'name prefix for any created local pool'}, u'pg_num': {u'default_value': 128, u'long_desc': u'', u'name': u'pg_num', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u'default pg_num for any created local pool'}, u'num_rep': {u'default_value': 3, u'long_desc': u'', u'name': u'num_rep', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u'default replica count for any created local pool'}}}, {u'enabled': True, u'always_on': True, u'name': u'orchestrator_cli', u'options': {u'orchestrator': {u'default_value': u'', u'long_desc': u'', u'name': u'orchestrator', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': False, u'always_on': False, u'name': u'osd_perf_query', u'options': {}}, {u'enabled': True, u'always_on': True, u'name': u'pg_autoscaler', u'options': {u'sleep_interval': {u'default_value': u'60', u'long_desc': u'', u'name': u'sleep_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': True, u'always_on': True, u'name': u'progress', u'options': {u'persist_interval': {u'default_value': 5, u'long_desc': u'', u'name': u'persist_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u'how frequently to persist completed events'}, u'max_completed_events': {u'default_value': 50, u'long_desc': u'', u'name': u'max_completed_events', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 1, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u'number of past completed events to remember'}}}, {u'enabled': False, u'always_on': False, u'name': u'prometheus', u'options': {u'rbd_stats_pools_refresh_interval': {u'default_value': u'', u'long_desc': u'', u'name': u'rbd_stats_pools_refresh_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'rbd_stats_pools': {u'default_value': u'', u'long_desc': u'', u'name': u'rbd_stats_pools', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'server_addr': {u'default_value': u'', u'long_desc': u'', u'name': u'server_addr', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'server_port': {u'default_value': u'', u'long_desc': u'', u'name': u'server_port', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'scrape_interval': {u'default_value': u'', u'long_desc': u'', u'name': u'scrape_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': True, u'always_on': True, u'name': u'rbd_support', u'options': {}}, {u'enabled': True, u'always_on': False, u'name': u'restful', u'options': {u'key_file': {u'default_value': u'', u'long_desc': u'', u'name': u'key_file', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'server_addr': {u'default_value': u'', u'long_desc': u'', u'name': u'server_addr', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'server_port': {u'default_value': u'', u'long_desc': u'', u'name': u'server_port', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': False, u'always_on': False, u'name': u'rook', u'options': {}}, {u'enabled': False, u'always_on': False, u'name': u'ssh', u'options': {u'inventory_cache_timeout_min': {u'default_value': u'', u'long_desc': u'', u'name': u'inventory_cache_timeout_min', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'ssh_config_file': {u'default_value': u'', u'long_desc': u'', u'name': u'ssh_config_file', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': True, u'always_on': True, u'name': u'status', u'options': {}}, {u'enabled': False, u'always_on': False, u'name': u'telegraf', u'options': {u'interval': {u'default_value': 15, u'long_desc': u'', u'name': u'interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u''}, u'address': {u'default_value': u'unixgram:///tmp/telegraf.sock', u'long_desc': u'', u'name': u'address', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}}}, {u'enabled': True, u'always_on': True, u'name': u'telemetry', u'options': {u'channel_crash': {u'default_value': True, u'long_desc': u'', u'name': u'channel_crash', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'channel_basic': {u'default_value': True, u'long_desc': u'', u'name': u'channel_basic', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u'Share basic cluster information (size, version)'}, u'description': {u'default_value': u'', u'long_desc': u'', u'name': u'description', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'url': {u'default_value': u'https://telemetry.ceph.com/report', u'long_desc': u'', u'name': u'url', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'channel_device': {u'default_value': True, u'long_desc': u'', u'name': u'channel_device', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'interval': {u'default_value': 24, u'long_desc': u'', u'name': u'interval', u'level': u'advanced', u'max': u'', u'min': 8, u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u''}, u'enabled': {u'default_value': False, u'long_desc': u'', u'name': u'enabled', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'channel_ident': {u'default_value': False, u'long_desc': u'', u'name': u'channel_ident', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}, u'contact': {u'default_value': u'', u'long_desc': u'', u'name': u'contact', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'proxy': {u'default_value': u'', u'long_desc': u'', u'name': u'proxy', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'last_opt_revision': {u'default_value': 1, u'long_desc': u'', u'name': u'last_opt_revision', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u''}, u'organization': {u'default_value': u'', u'long_desc': u'', u'name': u'organization', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'leaderboard': {u'default_value': False, u'long_desc': u'', u'name': u'leaderboard', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'bool', u'tags': [], u'desc': u''}}}, {u'enabled': False, u'always_on': False, u'name': u'test_orchestrator', u'options': {}}, {u'enabled': True, u'always_on': True, u'name': u'volumes', u'options': {}}, {u'enabled': False, u'always_on': False, u'name': u'zabbix', u'options': {u'discovery_interval': {u'default_value': u'100', u'long_desc': u'', u'name': u'discovery_interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'zabbix_sender': {u'default_value': u'/usr/bin/zabbix_sender', u'long_desc': u'', u'name': u'zabbix_sender', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'interval': {u'default_value': 60, u'long_desc': u'', u'name': u'interval', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'secs', u'tags': [], u'desc': u''}, u'zabbix_host': {u'default_value': u'', u'long_desc': u'', u'name': u'zabbix_host', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'identifier': {u'default_value': u'', u'long_desc': u'', u'name': u'identifier', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'str', u'tags': [], u'desc': u''}, u'zabbix_port': {u'default_value': 10051, u'long_desc': u'', u'name': u'zabbix_port', u'level': u'advanced', u'max': u'', u'min': u'', u'enum_allowed': [], u'flags': 0, u'see_also': [], u'type': u'int', u'tags': [], u'desc': u''}}}] != "In `input[0]`: unknown keys: set([u'always_on'])" 
 2019-09-23 08:35:03,842.842 INFO:__main__: 
 2019-09-23 08:35:03,842.842 INFO:__main__:---------------------------------------------------------------------- 
 2019-09-23 08:35:03,842.842 INFO:__main__:Ran 64 tests in 783.980s 
 2019-09-23 08:35:03,843.843 INFO:__main__: 
 2019-09-23 08:35:03,843.843 INFO:__main__:FAILED (failures=1) 
 </pre>

Back