Ошибка миграции БД при обновлении noc до релиза 22.2
При попытке перехода на 22.2 во время миграции db происходят ошибка. Деплой заканчивается аварийно. Лог события:
900819f1 root@node1:/opt/noc# ./noc migrate 2022-12-28 14:38:32,100 [noc.core.ioloop.util] Setting up asyncio event loop policy 2022-12-28 14:38:32,100 [noc.core.ioloop.util] Setting up default event loop 2022-12-28 14:38:32,114 [noc.core.dcs.base] Resolve near service postgres 2022-12-28 14:38:32,119 [noc.core.dcs.base] Resolved near service postgres to ['10.2.22.213:5432'] 2022-12-28 15:38:32,130 [noc.core.dcs.base] [mongo] Starting resolver (near=False) 2022-12-28 15:38:32,133 [noc.core.dcs.base] [mongo] Set active services to: mongo: 10.2.22.213:27017 2022-12-28 15:38:32,133 [noc.core.dcs.base] [mongo] Stopping resolver 2022-12-28 15:38:32,134 [noc.core.mongo.connection] Connecting to MongoDB {'db': 'noc', 'username': 'noc', 'password': '', 'authentication_source': 'noc', 'replicaSet': 'noc', 'readPreference': 'secondaryPreferred', 'maxIdleTimeMS': 60000, 'host': 'mongodb://noc:@10.2.22.213:27017/noc'} 2022-12-28 15:38:32,140 [migration] Migrating 2022-12-28 15:38:32,618 [noc.core.cache.base] Using cache backend: noc.core.cache.mongo.MongoCache 2022-12-28 15:38:32,778 [migration] Applying pm.0012_migrate_threshold_profile_metic_rules 2022-12-28 15:38:32,859 [noc.core.debug] UNHANDLED EXCEPTION (2022-12-28 15:38:32.807972) PROCESS: ./commands/migrate.py VERSION: 22.2.3+release-22.2.2.900819f1 BRANCH: release-22.2 CHANGESET: 900819f1 ERROR FINGERPRINT: 28afdc52-4b0f-5ba7-a38c-8c6a247a275b WORKING DIRECTORY: /opt/noc EXCEPTION: <class 'TypeError'> cannot unpack non-iterable NoneType object START OF TRACEBACK
root@node1:/opt/noc# ./noc about 22.2.3+release-22.2.2.File: pm/migrations/0012_migrate_threshold_profile_metic_rules.py (Line: 78) Function: get_window_config 71 elif "=" not in self.condition and inverse: 72 value -= 1 73 if value == clear_value: 74 return value, None, inverse 75 return value, clear_value, inverse 76 77 def get_window_config(self): 78 ==> func, config = function_map.get(self.window_func) 79 if not func: 80 return 81 return { 82 "max_window": self.window_size, 83 "min_window": self.window_size, 84 "window_config": config, Variables: self = ThresholdProfile(window_type=None, window_size=None, window_func=None, value=1000.0, condition='>=', clear_value=1000.0, clear_condition='<')
File: pm/migrations/0012_migrate_threshold_profile_metic_rules.py (Line: 196) Function: migrate 189 # Create Metric Rule and Metric Action 190 mas = {} 191 mr_bulk = [] 192 for num, (tp_id, mt) in enumerate(thresholds): 193 if tp_id not in thps: 194 continue 195 tp = thps[tp_id] 196 ==> wc = tp.get_window_config() 197 if wc and (wc["window_function"], mt) not in mas: 198 # Create Metric Action 199 mas[(mt, wc["window_function"])] = self.get_metric_action(mt, wc, num=num) 200 ma = mas[(mt, wc["window_function"])] 201 elif (mt, None) in mas: 202 ma = mas[(mt, None)] Variables: self = <noc.pm.migrations.0012_migrate_threshold_profile_metic_rules.Migration object at 0x7fee7f7ce0a0> thps = {'5c45c3717b284e0465fddc48': ThresholdProfile(window_type=None, window_size=None, window_func=None, value=1000.0, condition='>=', clear_value=1000.0, clear_condition='<'), '5c45c3717b284e0465fddc49': ThresholdProfile(window_type=None, window_size=None, window_func=None, value=1000.0, condition='>=', clear_value=1000.0, clear_condition='<')} rp = {'_id': ObjectId('5c45c3717b284e0465fddc49'), 'description': "Migrated for interface profile 'mainline' metric " "'57665cbc1645466f7f80db7b'", 'name': 'ip-00001-001', 'thresholds': [{'alarm_class': ObjectId('5956670716454642346f78dd'), 'clear_op': '<', 'clear_value': 1000.0, 'op': '>=', 'value': 1000.0}, {'alarm_class': ObjectId('5956670716454642346f78da'), 'clear_op': '<', 'clear_value': 100.0, 'op': '>=', 'value': 100.0}], 'uuid': UUID('37412d5e-8bf0-4ab3-93e7-fdb1a172797c'), 'window': None, 'window_config': None, 'window_function': None, 'window_type': None} interface_profiles = Collection(Database(MongoClient(host=['10.2.22.213:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary(), replicaset='noc', readpreference='secondaryPreferred', maxidletimems=60000), 'noc'), 'noc.interface_profiles') thresholds = defaultdict(<class 'list'>, {('5c45c3717b284e0465fddc48', ObjectId('57665cbc1645466f7f80db76')): ['noc::interface_profile::mainline::='], ('5c45c3717b284e0465fddc49', ObjectId('57665cbc1645466f7f80db7b')): ['noc::interface_profile::mainline::=']}) ip = {'_id': ObjectId('576fffd7b6aba505102831ae'), 'bi_id': 3710301568812567501, 'description': '', 'discovery_policy': 'R', 'link_events': 'A', 'mac_discovery_policy': 'e', 'metrics': [{'enable_box': False, 'enable_periodic': True, 'high_error': 1000.0, 'high_warn': 100.0, 'metric_type': ObjectId('57665cbc1645466f7f80db76'), 'threshold_profile': ObjectId('5c45c3717b284e0465fddc48')}, {'enable_box': False, 'enable_periodic': True, 'high_error': 1000.0, 'high_warn': 100.0, 'metric_type': ObjectId('57665cbc1645466f7f80db7b'), 'threshold_profile': ObjectId('5c45c3717b284e0465fddc49')}, {'enable_box': False, 'enable_periodic': True, 'metric_type': ObjectId('57665cbc1645466f7f80db7e')}, {'enable_box': False, 'enable_periodic': True, 'metric_type': ObjectId('57665cbc1645466f7f80db7d')}], 'name': 'mainline', 'status_change_notification': 1, 'status_discovery': 'e', 'weight': 20} m = {'enable_box': False, 'enable_periodic': True, 'metric_type': ObjectId('57665cbc1645466f7f80db7d')} op_id = 1 op_name = 'default' metrics = [] mas = {} mr_bulk = [] num = 0 tp_id = '5c45c3717b284e0465fddc48' mt = ObjectId('57665cbc1645466f7f80db76') tp = ThresholdProfile(window_type=None, window_size=None, window_func=None, value=1000.0, condition='>=', clear_value=1000.0, clear_condition='<')
File: core/migration/runner.py (Line: 34) Function: migrate 27 # Apply all pending migrations 28 for migration in loader.iter_plan(): 29 name = migration.get_name() 30 if name in applied: 31 continue # Already applied, skip 32 self.logger.info("Applying %s", name) 33 ts = datetime.datetime.now() 34 ==> migration.migrate() 35 delta = datetime.datetime.now() - ts 36 applied.add(name) 37 self.hist_coll.insert_one({"name": name, "ts": ts, "duration": delta.total_seconds()}) 38 self.logger.info("Done") 39 40 def get_history(self): Variables: self = <noc.core.migration.runner.MigrationRunner object at 0x7fee900a57f0> applied = {'aaa.0001_initial', 'aaa.0002_default_user', 'aaa.0003_permission', 'aaa.0004_remove_userprofile', 'aaa.0005_user_clear_fields', 'aaa.0006_user_fix_language', 'aaa.0007_user_last_login', 'aaa.0008_user_last_login_null', 'cm.0001_initial', 'cm.0002_register_vcs', 'cm.0003_access_profile', 'cm.0004_split_object', 'cm.0005_split_object_data', 'cm.0006_rpsl', 'cm.0007_last_modified', 'cm.0008_notify', 'cm.0009_access_and_notify', 'cm.0010_trap_source_ip', 'cm.0011_clean_up_config', 'cm.0012_object_notify_add_notification_group', 'cm.0013_create_notification_groups', 'cm.0014_object_notifify_drop_emails', 'cm.0015_tags', 'cm.0016_no_objectgroup', 'cm.0017_drop_config', 'crm.0001_workflow', 'crm.0002_set_bi_id', 'crm.0003_labels', 'dns.0001_initial', 'dns.0002_dnsrecordtype_is_visible', 'dns.0003_dnszonerecordtype_initial_data', 'dns.0004_register_dns', 'dns.0005_dns_server_and_type', 'dns.0006_type_bindv9', 'dns.0007_migrate_ns_list', 'dns.0008_dnsserver_provisioning', 'dns.0009_unregister_dns', 'dns.0010_dns_server_generator_name', 'dns.0011_drop_dns_server_type', 'dns.0012_dnszoneprofile_masters_and_slaves', 'dns.0013_remove_dnszoneprofile_zone_transfer_acl', 'dns.0014_dnsserver_ip', 'dns.0015_dnszonerecordtype_validate', 'dns.0016_autozones_path', 'dns.0017_dnszone_paid_till', 'dns.0018_domain_expired', 'dns.0019_dnszoneprofile_description', 'dns.0020_tags', 'dns.0021_extend_dnszone_name', 'dns.0022_notifications', 'dns.0023_rename_rr_type_is_visible', 'dns.0024_dnsserver_sync_channel', 'dns.0025_dnszone_serial', 'dns.0026_dnszonerecord_prio_ttl', 'dns.0027_dnszonerecord_migrate_prio', 'dns.0028_dnszonerecord_change_fields', 'dns.0029_dnszonerecord_set_type', 'dns.0030_remove_dnszonerecordtype', 'dns.0031_zone_templates', 'dns.0032_migrate_repo', 'dns.0033_migrate_tags', 'dns.0034_finish_tag_migration', 'dns.0035_dnsserver_drop_old_provisioning', 'dns.0036_dnszone_project', 'dns.0037_extend_dnszonerecord_label', 'dns.0038_dnsserver_sync', 'dns.0039_set_zone_sync', 'dns.0040_dnszone_type', 'dns.0041_dnszonerecord_content', 'dns.0042_labels', 'fm.0001_initial', 'fm.0002_event', 'fm.0003_event_data', 'fm.0004_priority_color', 'fm.0005_default_colors', 'fm.0006_rule_drop_event', 'fm.0007_event_repeat', 'fm.0008_enlarge_event_data_key', 'fm.0009_mib_dependency', 'fm.0010_event_class_trigger', 'fm.0011_is_builtin', 'fm.0012_update_event_classification', 'fm.0013_event_lifecycle', 'fm.0014_update_event_classification', 'fm.0015_set_event_status', 'fm.0016_event_correlation_rule', 'fm.0017_event_log', 'fm.0018_update_event_classification', 'fm.0019_eventclassificationrule_action', 'fm.0020_drop_eventclassificationrule_drop_event', 'fm.0021_event_post_processing', 'fm.0022_drop_update_event_classification', 'fm.0023_eventclassificationre_expression', 'fm.0024_event_correlation_rule', 'fm.0025_eventarchivationrule', 'fm.0026_postprocessingrule_params', 'fm.0027_sp_delete_event', 'fm.0028_change_eventarchivationrule', 'fm.0029_sp_close_event', 'fm.0030_event_indexes', 'fm.0031_rule', 'fm.0032_ingnore_event_rules', 'fm.0033_classify_event', 'fm.0034_severity_styles', 'fm.0035_triggers', 'fm.0036_refresh_config', 'fm.0037_remove_old_tables', 'fm.0038_alarm_reference', 'fm.0039_event_start_repeat', 'fm.0040_no_refresh_config', 'fm.0041_i18n', 'fm.0042_upgrade_uptime', 'fm.0043_eventtrigger_handler', 'fm.0044_set_bi_id', 'fm.0045_drop_trigger_pyrule', 'fm.0046_event_class_suppression', 'fm.0047_labels', 'fm.0048_resource_group', 'fm.0049_remove_selector_field', 'fm.0050_alarm_class_name_descriminator', 'fm.0051_alarm_class_reference', 'fm.0052_eventclass_set_bi_id', 'fm.0053_escalation_document', 'fm.0054_escalation_policy_labels', 'gis.0001_check_postgis', 'gis.0002_world_area', 'gis.0003_geodata', 'gis.0004_migrate_geodata', 'gis.0005_drop_geodata', 'gis.0006_labels', 'gis.0007_set_bi_id', 'inv.0001_subinterface_managed_object', 'inv.0002_discovery_templates', 'inv.0003_default_interface_profile', 'inv.0004_networkchart', 'inv.0005_cleanup_sub_indexes', 'inv.0006_vlan_discovery_template', 'inv.0007_ranged_chassis_macs', 'inv.0008_create_root', 'inv.0009_merge_partno', 'inv.0010_default_segment', 'inv.0011_migrate_charts', 'inv.0012_fix_scheduler_indexes', 'inv.0013_interfaceprofile_mac_discovery_policy', 'inv.0014_networksegmentprofile', 'inv.0015_set_bi_id', 'inv.0016_cleanup_metric_is_active', 'inv.0017_initial_technologies', 'inv.0018_delete_root', 'inv.0019_thresholdprofiles', 'inv.0020_object_data_scope', 'inv.0021_labels', 'inv.0022_netsegment_remove_selector', 'inv.0023_interface_classification_rule_labels', 'inv.0024_interface_profile_status_discovery', 'inv.0025_interface_hints_labels', 'inv.0026_interface_change_template', 'ip.0001_initial', 'ip.0002_plpgsql_triggers_and_functions', 'ip.0003_nocidr', 'ip.0004_default_vrf', 'ip.0005_free_ip', 'ip.0006_vrf_description', 'ip.0007_ipv4addressrange', 'ip.0008_ipv4block_vc', 'ip.0009_no_last_modified', 'ip.0010_tags', 'ip.0011_bookmarks', 'ip.0012_address_mac', 'ip.0013_ipv6_schema', 'ip.0014_ipv6_data', 'ip.0015_ipv6_cleanup', 'ip.0016_resource_state', 'ip.0017_default_state', 'ip.0018_state_not_null', 'ip.0019_drop_vrf_is_active', 'ip.0020_ipv6_transition', 'ip.0021_project', 'ip.0022_drop_project', 'ip.0023_migrate_tags', 'ip.0024_finish_tag_migration', 'ip.0025_project', 'ip.0026_prefix_ip_discovery', 'ip.0027_ip_address_index_address', 'ip.0028_ippool', 'ip.0029_ippool_name', 'ip.0030_ippool_technologies', 'ip.0031_prefixprofile', 'ip.0032_addressprofile', 'ip.0033_vrf_profile', 'ip.0034_set_bi_id', 'ip.0035_address_state', 'ip.0036_prefix_state', 'ip.0037_prefix_nullable_as', 'ip.0038_address_name', 'ip.0039_address_source', 'ip.0040_prefix_name', 'ip.0041_vrf_source', 'ip.0042_vrf_state', 'ip.0043_vrf_nullable_group', 'ip.0044_discovery_policy', 'ip.0045_vrf_vpnid', 'ip.0046_vrf_null_rd', 'ip.0047_labels', 'kb.0001_initial', 'kb.0002_kbentrypreviewlog', 'kb.0003_kb_entry_attachment', 'kb.0004_bookmarks', 'kb.0005_kb_entry_template', 'kb.0006_tags', 'kb.0007_no_category', 'kb.0008_kb_entry_tags', 'kb.0009_bookmarks_to_favorites', 'kb.0010_labels', 'main.0001_initial', 'main.0002_no_task_schedule', 'main.0003_pg_dump', 'main.0004_language', 'main.0005_init_languages', 'main.0006_database_storage', 'main.0007_mimetype', 'main.0008_default_mime_types', 'main.0009_refbook', 'main.0010_refbook_data_array', 'main.0011_audit_trail', 'main.0012_time_pattern', 'main.0013_notifications', 'main.0014_default_time_patterns', 'main.0015_notification_link', 'main.0016_user_profile', 'main.0017_initial_userprofilecontacts', 'main.0018_systemnotification', 'main.0019_unhandled_exception', 'main.0020_pyrule', 'main.0021_permission', 'main.0022_pyrule_is_builtin', 'main.0023_cleanup', 'main.0024_changes_quarantine', 'main.0025_mac_sync_notification', 'main.0026_enlarge_username', 'main.0027_style', 'main.0028_dbtrigger', 'main.0029_version_inventory_notification', 'main.0030_set_user_is_staff', 'main.0031_schedule', 'main.0032_schedule_migrate', 'main.0033_shard', 'main.0034_default_shard', 'main.0035_prefix_table', 'main.0036_profile_language', 'main.0037_template', 'main.0038_checkpoint', 'main.0039_implied_permissions', 'main.0040_profile_theme', 'main.0041_inv_prefix_discovery_notification', 'main.0042_resource_state', 'main.0043_default_resourcestates', 'main.0044_custom_field', 'main.0045_customfield_is_hidden', 'main.0046_customfield_enum', 'main.0047_default_stompaccess', 'main.0048_drop_django_tagging', 'main.0049_update_tags', 'main.0050_notification_tag', 'main.0051_profile_preview_theme', 'main.0052_audit_data', 'main.0053_pyrule_handler', 'main.0054_migrate_pyrule', 'main.0055_default_pool', 'main.0056_userprofile_heatmap', 'main.0057_ordermap', 'main.0058_set_bi_id', 'main.0059_extstorage_type', 'main.0060_create_default_labels', 'main.0061_add_mr_senders', 'main.0062_create_utility_labels', 'main.0063_migrate_filter_labels', 'main.0064_migrate_is_matching_labels', 'main.0065_message_route_settings', 'main.0066_default_mx_senders', 'maintenance.0001_drop_old_maintenance', 'maintenance.0002_auto_confirm', 'maintenance.0003_affected_objects_migrate', 'maintenance.0004_affected_objects_remove', 'peer.0001_initial', 'peer.0002_register_rconfig', 'peer.0003_default_peeringpointtype', 'peer.0004_lg_query', 'peer.0005_lg_query_default_data', 'peer.0007_peering_point_lg_url', 'peer.0008_peering_point_location', 'peer.0009_filter_name', 'peer.0010_unregister_rconfig', 'peer.0011_remove_peering_point_type', 'peer.0012_community', 'peer.0013_community_types', 'peer.0014_inet_rtr', 'peer.0015_maintainer', 'peer.0016_no_lir', 'peer.0017_default_maintainer', 'peer.0018_no_lg', 'peer.0019_no_rcmd', 'peer.0020_no_masklen', 'peer.0021_whois', 'peer.0022_default_ripe_lookups', 'peer.0023_peer_status', 'peer.0024_as_name_and_routes_maintainer', 'peer.0025_as_fields', 'peer.0026_peer_remark', 'peer.0027_maintainer_password', 'peer.0028_prefix_list_cache', 'peer.0029_peering_point_enable_provisioning', 'peer.0030_peer_backup_ip', 'peer.0031_compact_backup_peers', 'peer.0032_med', 'peer.0033_tags', 'peer.0034_drop_cache_tables', 'peer.0035_person_type', 'peer.0036_migrate_tags', 'peer.0037_finish_tag_migration', 'peer.0038_project', 'peer.0039_project_asset', 'peer.0040_peeringpoint_profile', 'peer.0041_asprofile', 'peer.0042_asn_bigint', 'peer.0043_labels', 'peer.0044_extend_description', 'phone.0001_e164', 'phone.0002_migrate_termination_groups', 'phone.0003_workflow', 'pm.0001_initial', 'pm.0002_default_storage', 'pm.0003_fix_ts_indexes', 'pm.0004_clean_pg', 'pm.0005_migrate_default_storage', 'pm.0006_migrate_local', 'pm.0007_set_has_children', 'pm.0008_set_probe_credentials', 'pm.0009_set_bi_id', 'pm.0010_set_uuid_thresholdprofile', 'pm.0011_migrate_handlers', 'project.0001_initial', 'project.0002_shape_overlay', 'project.0003_project_integration', 'project.0004_set_bi_id', 'sa.0001_initial', 'sa.0002_trigger', 'sa.0003_task_schedule', 'sa.0004_no_task', 'sa.0005_activator', 'sa.0006_default_activator', 'sa.0007_managed_object', 'sa.0008_copy_objects', 'sa.0009_snmp_community', 'sa.0010_root_object', 'sa.0011_managedobject_location', 'sa.0012_managed_object_description', 'sa.0013_rename_DES3xxx', 'sa.0014_activator_to_ip', 'sa.0015_managedobjectselector', 'sa.0016_mapreduce', 'sa.0017_object_selector_filter_activator', 'sa.0018_rename_Alcatel_AOS', 'sa.0019_rename_AddPac', 'sa.0020_save_useraccess', 'sa.0021_useraccess_selector', 'sa.0022_restore_useraccess', 'sa.0023_groupaccess', 'sa.0024_alter_useraccess', 'sa.0025_tags', 'sa.0026_no_objectgroup', 'sa.0027_reducetask_script', 'sa.0028_noc_sae_profile', 'sa.0029_managedobjectattribute', 'sa.0030_merge_EdgeCore', 'sa.0031_management_object_rules', 'sa.0032_merge_DLink', 'sa.0033_selector_by_attribute', 'sa.0034_management_object_diff_filter_rule', 'sa.0035_management_object_path_size', 'sa.0036_command_snippet', 'sa.0037_no_task_schedule', 'sa.0038_activator_shard', 'sa.0039_set_activator_shard', 'sa.0040_activator_shard_not_null', 'sa.0041_selector_shard_prefix', 'sa.0042_object_max_scripts', 'sa.0043_snippet_confirmation', 'sa.0044_snippet_permissions', 'sa.0045_snippet_ignore_errors', 'sa.0046_rename_DES2108', 'sa.0047_managedobject_vrf', 'sa.0048_sa_managedobjectprofile', 'sa.0049_default_managedobjectprofile', 'sa.0050_managedobject_profile', 'sa.0051_managedobject_set_profile', 'sa.0052_sa_managedobject_profile_not_null', 'sa.0053_managedobjectprofile_ipam_sync', 'sa.0054_object_profile_id_discovery', 'sa.0055_object_profile_topology_discovery', 'sa.0056_managedobjectselecter_filter_object_profile', 'sa.0057_managed_object_profile_rep', 'sa.0058_managed_object_profile_bfd', 'sa.0059_managed_object_profile_udld', 'sa.0060_managedobject_stencils', 'sa.0061_managedobjectprofile_ping_interval', 'sa.0062_migrate_tags', 'sa.0063_finish_tag_migration', 'sa.0064_managedobjectselector_migrate_tags', 'sa.0065_managedobjectselector_finish_tags_migration', 'sa.0066_map_task_reduce_null', 'sa.0067_activator_prefixtable', 'sa.0068_activator_drop_ip', 'sa.0069_managedobject_vcdomain', 'sa.0070_managed_object_profile_vlan', 'sa.0071_managedobjectselector_vcdomain', 'sa.0072_managedobject_set_vcdomain', 'sa.0073_objectnotification', 'sa.0074_migrate_notifications', 'sa.0075_managedobjectprofile_oam_discovery', 'sa.0076_migrate_repo', 'sa.0077_drop_repo_path', 'sa.0078_managedobjectprofile_asset_discovery', 'sa.0079_auth_profile', 'sa.0080_rename_Siemens', 'sa.0081_collector', 'sa.0082_termination_group', 'sa.0083_objectnotification_alarm_reopened', 'sa.0084_activator_caps', 'sa.0085_managedobjectprofile_check_link_interval', 'sa.0086_maptask_script_timeout', 'sa.0087_managedobjectselector_managed', 'sa.0088_fix_ttl_index', 'sa.0089_failed_log_expire', 'sa.0090_objectprofile_caps_discovery', 'sa.0091_managedobjectprofile_configdiscovery', 'sa.0092_managedobjecselector_drop_repo_path', 'sa.0093_objectprofile_level', 'sa.0094_objectprofile_uptime_discovery', 'sa.0095_managedobject_segment', 'sa.0096_managedobject_set_segment', 'sa.0097_objectprofile_interface_status_discovery', 'sa.0098_maptask_stop_time', 'sa.0099_managedobject_pool', 'sa.0100_managedobject_set_pool', 'sa.0101_managedobject_pool_not_null', 'sa.0102_managedobject_trap_source_type', 'sa.0103_objectmap_drop', 'sa.0104_managedobject_drop_activator', 'sa.0105_managed_object_profile_discovery', 'sa.0106_drop_activator', 'sa.0107_managed_object_profile_profile', 'sa.0108_managedobject_service', 'sa.0109_termination_group_tags', 'sa.0110_managedobjectprofile_tags', 'sa.0111_administrativedomain_tags', 'sa.0112_managedobject_container', 'sa.0113_managed_object_profile_metrics', 'sa.0114_managed_object_profile_card', 'sa.0115_managed_object_profile_card_title_template', 'sa.0116_managed_object_profile_nri', 'sa.0117_managed_object_profile_metrics', 'sa.0118_managed_object_profile_report_rtt', 'sa.0119_managed_object_profile_weight', 'sa.0120_managed_object_profile_clear_links', 'sa.0121_authprofile_suggest', 'sa.0122_administrativedomain_pool', 'sa.0123_managedobjectselector_pool', 'sa.0124_enlarge_administrative_domain', 'sa.0125_access_administrative_domain', 'sa.0126_managedobject_timepattern', 'sa.0127_managedobject_coordinates', 'sa.0128_managed_object_profile_sla', 'sa.0129_rename_ALS', 'sa.0130_convert_caps', 'sa.0131_managed_object_profile_ndp', 'sa.0132_managed_object_controller', 'sa.0133_managed_object_profile_cpe', 'sa.0134_managed_object_profile_cpe_profile', 'sa.0135_managed_object_cpe_id', 'sa.0136_managed_object_profile_hk', 'sa.0137_managed_object_profile_lacp', 'sa.0138_managedobject_address_index', 'sa.0139_object_data', 'sa.0140_move_object_path', 'sa.0141_managedobject_address_cust_index', 'sa.0142_sa_integration', 'sa.0143_managed_object_profile_report_attempts', 'sa.0144_managedobject_ttqueue', 'sa.0145_upload_extnrittmap', 'sa.0146_bi_id_decimal', 'sa.0147_bi_id_integer', 'sa.0148_managed_object_alarm_settings', 'sa.0149_managed_object_ping_settings', 'sa.0150_managed_object_profile', 'sa.0151_managed_object_vendor', 'sa.0152_managed_object_platform', 'sa.0153_managedobjectselector_profile', 'sa.0154_profilecheckrule_profile', 'sa.0155_actioncommands_profile', 'sa.0156_managed_object_profile_box_metrics', 'sa.0157_managed_object_cli_session', 'sa.0158_managed_object_telemetry', 'sa.0159_managed_object_cli_privelege', 'sa.0160_set_bi_id', 'sa.0161_fix_selector_fields', 'sa.0162_managedobjectprofile_mac_collect', 'sa.0163_managedobjectprofile_autosegmentation', 'sa.0164_managedobject_autosegmentation', 'sa.0165_managedobjectprofile_ip_discovery', 'sa.0166_managedobject_access_preference', 'sa.0167_managedobject_eventprocessingpolicy', 'sa.0168_managedobjectprofile_neighbor_cache', 'sa.0169_cleanup_metric_is_active', 'sa.0170_add_container_index', 'sa.0171_lowercase_stencil_filenames', 'sa.0172_managedobject_config_handlers', 'sa.0173_managedobject_handlers', 'sa.0174_managedobjectprofile_ipam', 'sa.0175_managedobjectprofile_prefix_ipam', 'sa.0176_managedobjectprofile_rename_ipam', 'sa.0177_managedobjectprofile_ipam_vpn', 'sa.0178_managedobjectprofile_nri', 'sa.0179_managedobjectprofile_config_mirror', 'sa.0180_managedobjectprofile_beef', 'sa.0181_managedobjectprofile_cpestatus', 'sa.0182_convert_terminationgroups', 'sa.0183_managedobject_resourcegroup', 'sa.0184_managedobject_migrate_termination_groups', 'sa.0185_managedobjectselector_resourcegroup', 'sa.0186_managedobjectselector_migrate_terminationgroup', 'sa.0187_cleanup_resourcegroup', 'sa.0188_managedobject_resolver', 'sa.0189_managedobject_fill_fqdn', 'sa.0190_managedobject_syslog_archive', 'sa.0191_capsprofile', 'sa.0192_thresholdprofiles', 'sa.0193_managedobjectprofile_denied_policy', 'sa.0194_managedobjectprofile_config_download', 'sa.0195_discovery_confdb', 'sa.0196_managedobjectprofile_config_fetch', 'sa.0197_managedobject_running_policy', 'sa.0198_migrate_handlers', 'sa.0199_managedobject_clear_fields', 'sa.0200_managedobjectprofile_confdb_raw_policy', 'sa.0201_managedobjectprofile_object_validation_policy', 'sa.0202_managedobjectprofile_xmac', 'sa.0203_managedobject_fm_pool', 'sa.0204_managedobjectprofile_ifdesc', 'sa.0205_managedobjectprofile_downlink_merge', 'sa.0206_managedobject_project', 'sa.0207_managedobject_shape_overlay', 'sa.0208_administrativedomain_bioseg', 'sa.0209_managedobjectprofile_periodic_alarms', 'sa.0210_managedobjectprofile_enable_interface_autocreation', 'sa.0211_managedobject_snmp_rate_limit', 'sa.0212_managedobjectprofile_cable_abduction', 'sa.0213_labels', 'sa.0214_managedobjectselector_filter_labels', 'sa.0215_service_workflow', 'sa.0216_managedobjectprofile_match_rules', 'sa.0217_managedobjectprofile_dynamic_classification_policy', 'sa.0218_command_snippet_obj_notification_resource_group', 'sa.0219_managed_object_selector_resource_group', 'sa.0220_remove_selector_field', 'sa.0221_managedobjectprofile_ping_time_expr_policy', 'sa.0222_managedobject_caps_field', 'sa.0223_managed_object_l2domain', 'sa.0224_vlan_discovery_policy', 'sa.0225_managedobject_object_data', 'sa.0226_managedobject_objectdata_migrate', 'sa.0227_managedobject_objectdata_links', 'sa.0228_managedobject_links_data', 'sa.0229_managedobjectprofile_metrics_jsonb', 'sa.0230_managedobjectprofile_mac_discovery_policy', 'sa.0231_managedobject_affected_maintenances', 'sa.0232_managedobjectprofile_trapcollector_storm', 'sa.0233_managedobject_diagnostics', 'sa.0234_auth_profile_suggests_rule', 'sa.0235_auth_profile_add_dynamic_classification', 'sa.0236_objectnotification_templates', 'sla.0001_cleanup_metric_is_active', 'sla.0002_thresholdprofiles', 'sla.0003_labels', 'sla.0004_set_bi_id', 'sla.0005_slaprobe_workflow', 'vc.0001_initial', 'vc.0002_default_vc_domain', 'vc.0003_vc_type', 'vc.0004_move_type', 'vc.0005_alter_type', 'vc.0006_vc_provisioning', 'vc.0007_new_vcdomainprovisioningconfig', 'vc.0008_vc_name', 'vc.0009_vc_filter', 'vc.0010_vcdomainprobvisioningconfig_vcfilter', 'vc.0011_vc_bind_filter', 'vc.0012_tags', 'vc.0013_vcbindfilter_afi', 'vc.0014_vc_domain_selector', 'vc.0015_vc_style', 'vc.0016_vc_project', 'vc.0017_drop_project', 'vc.0018_vc_state', 'vc.0019_vc_default_state', 'vc.0020_vc_state_not_null', 'vc.0021_migrate_tags', 'vc.0022_finish_tag_migration', 'vc.0023_vc_project', 'vc.0024_vcdomain_drop_selector', 'vc.0025_labels', 'vc.0026_vcdomainprovisioning_resource_group', 'vc.0027_remove_selector_field', 'vc.0028_create_default_vlan_profile', 'vc.0029_migrate_vc_vlan', 'vc.0030_migrate_vc_vlan_filter', 'wf.0001_default_wf', 'wf.0002_sensor_default', 'wf.0003_sensor_add_up_down_event', 'wf.0004_service_default', 'wf.0005_slaprobe_default', 'wf.0012_agent_default'} loader = <noc.core.migration.loader.MigrationLoader object at 0x7fee8c679bb0> migration = <noc.pm.migrations.0012_migrate_threshold_profile_metic_rules.Migration object at 0x7fee7f7ce0a0> name = 'pm.0012_migrate_threshold_profile_metic_rules' ts = datetime.datetime(2022, 12, 28, 15, 38, 32, 778751)
File: commands/migrate.py (Line: 24) Function: handle 17 """ 18 19 help = "migrate database" 20 21 def handle(self, *args, **options): 22 connect() 23 runner = MigrationRunner() 24 ==> runner.migrate() 25 26 27 if name == "main": 28 Command().run() Variables: self = <main.Command object at 0x7fee911b6f70> args = () options = {} runner = <noc.core.migration.runner.MigrationRunner object at 0x7fee900a57f0>
File: core/management/base.py (Line: 84) Function: run_from_argv 77 78 yappi.start() 79 try: 80 if show_usage: 81 import resource 82 83 start_usage = resource.getrusage(resource.RUSAGE_SELF) 84 ==> return self.handle(*args, **cmd_options) or 0 85 except CommandError as e: 86 self.print(str(e)) 87 return 1 88 except KeyboardInterrupt: 89 self.print("Ctrl+C") 90 return 3 Variables: self = <main.Command object at 0x7fee911b6f70> argv = [] parser = ArgumentParser(prog='noc migrate', usage=None, description=None, formatter_class=<class 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) options = Namespace() cmd_options = {} args = () loglevel = 'info' enable_profiling = False show_metrics = False show_usage = False error_report = <function error_report at 0x7fee7f6eb9d0>
END OF TRACEBACK root@node1:/opt/noc# root@node1:/opt/noc#
Используется версия noc - 22.2.3+release-22.2.2.900819f1