proxsync 2.0.6__tar.gz → 2.0.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {proxsync-2.0.6/proxsync.egg-info → proxsync-2.0.7}/PKG-INFO +1 -1
- {proxsync-2.0.6 → proxsync-2.0.7/proxsync.egg-info}/PKG-INFO +1 -1
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync.py +5 -5
- {proxsync-2.0.6 → proxsync-2.0.7}/pyproject.toml +1 -1
- {proxsync-2.0.6 → proxsync-2.0.7}/state_db.py +1 -1
- {proxsync-2.0.6 → proxsync-2.0.7}/MANIFEST.in +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/README.md +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/config.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pbs_sync.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/proxsync.egg-info/SOURCES.txt +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/proxsync.egg-info/dependency_links.txt +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/proxsync.egg-info/requires.txt +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/proxsync.egg-info/top_level.txt +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/__init__.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/api/__init__.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/api/serializers.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/api/urls.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/api/views.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/apps.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/choices.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/filtersets.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/forms.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/__init__.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/commands/__init__.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/commands/pve_sync.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/commands/run_scheduled_syncs.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0001_initial.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0002_pvepluginsettings.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0003_netboxmodel_timestamps.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0004_model_verbose_names.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0005_align_netboxmodel_timestamps.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0006_pbsserverconfig_and_more.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0007_rename_verbose_names_to_proxmox_sync.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0008_pbsserverconfig_sync_schedule.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0009_add_every_3h_schedule.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0010_pvedriftevent.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0011_pveclusterconfig_notify_on_sync.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0012_pvedriftevent_tags_and_index_renames.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0013_pluginsettings_log_retention.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0014_vmprovisioninglog.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0015_pvevmtasklog.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0016_pvevmtasklog_status_textfield.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/__init__.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/models.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/navigation.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/signals.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/sync/__init__.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/sync/config_bridge.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/sync/engine.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/tables.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/tasks.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/template_content.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/dashboard.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/inc/vm_sync_button.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/inc/vm_task_log_panel.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pbsserverconfig.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvebackupstatus.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pveclusterconfig.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvedriftevent.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvesyncjob.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvevmtasklog_list.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvewebhookevent.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/settings.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/vm_provisioning_combined.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/vm_provisioning_log.html +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templatetags/__init__.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templatetags/pve_sync_tags.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/urls.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/utils.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/view_helpers.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/views.py +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/setup.cfg +0 -0
- {proxsync-2.0.6 → proxsync-2.0.7}/tests/test_plugin_contracts.py +0 -0
|
@@ -1503,8 +1503,8 @@ class OptimizedPVEToNetBoxSync:
|
|
|
1503
1503
|
self._write_drift_event(vm_name, vm_id, 'disk_change', k, old_v, new_v, notified=True)
|
|
1504
1504
|
|
|
1505
1505
|
# VM 描述變更偵測
|
|
1506
|
-
current_desc = self._norm_desc(vm_config.get('description'))[:500]
|
|
1507
|
-
old_desc = self._norm_desc(last_config.get('description'))
|
|
1506
|
+
current_desc = self._norm_desc(vm_config.get('description'))[:500].strip()
|
|
1507
|
+
old_desc = self._norm_desc(last_config.get('description'))[:500].strip()
|
|
1508
1508
|
if old_desc and old_desc != current_desc:
|
|
1509
1509
|
self.stats['config_drifts_detected'] += 1
|
|
1510
1510
|
print(f"📝 VM {vm_name} 描述變更")
|
|
@@ -1804,7 +1804,7 @@ class OptimizedPVEToNetBoxSync:
|
|
|
1804
1804
|
vm_id=int(vm_id), cluster_name=self.cluster_name, config_hash=config_hash,
|
|
1805
1805
|
memory=memory, vcpus=vcpus_save, tags=tag_names,
|
|
1806
1806
|
node=node_name, primary_ip=cur_ip, vm_name=original_vm_name,
|
|
1807
|
-
description=self._norm_desc(vm_config.get('description'))[:500],
|
|
1807
|
+
description=self._norm_desc(vm_config.get('description'))[:500].strip(),
|
|
1808
1808
|
disk_summary=json.dumps(self._parse_disk_summary(vm_config)),
|
|
1809
1809
|
)
|
|
1810
1810
|
except Exception as _snap_err:
|
|
@@ -1917,7 +1917,7 @@ class OptimizedPVEToNetBoxSync:
|
|
|
1917
1917
|
vm_id=int(vm_id), cluster_name=self.cluster_name, config_hash=config_hash,
|
|
1918
1918
|
memory=memory, vcpus=vcpus_save, tags=tag_names,
|
|
1919
1919
|
node=node_name, primary_ip=primary_ip_str, vm_name=original_vm_name,
|
|
1920
|
-
description=self._norm_desc(vm_config.get('description'))[:500],
|
|
1920
|
+
description=self._norm_desc(vm_config.get('description'))[:500].strip(),
|
|
1921
1921
|
disk_summary=json.dumps(self._parse_disk_summary(vm_config)),
|
|
1922
1922
|
)
|
|
1923
1923
|
return True
|
|
@@ -1942,7 +1942,7 @@ class OptimizedPVEToNetBoxSync:
|
|
|
1942
1942
|
node=node_name,
|
|
1943
1943
|
primary_ip=_ip,
|
|
1944
1944
|
vm_name=original_vm_name,
|
|
1945
|
-
description=self._norm_desc(vm_config.get('description'))[:500],
|
|
1945
|
+
description=self._norm_desc(vm_config.get('description'))[:500].strip(),
|
|
1946
1946
|
disk_summary=json.dumps(self._parse_disk_summary(vm_config)),
|
|
1947
1947
|
)
|
|
1948
1948
|
except Exception:
|
|
@@ -529,7 +529,7 @@ def compute_config_hash(vm_config: Dict[str, Any], tags: List[str], network_inte
|
|
|
529
529
|
'ostype': vm_config.get('ostype', ''),
|
|
530
530
|
'cores': vm_config.get('cores', 1),
|
|
531
531
|
'sockets': vm_config.get('sockets', 1),
|
|
532
|
-
'description': (vm_config.get('description') or '').replace('\r\n', '\n').replace('\r', '\n').strip()[:200],
|
|
532
|
+
'description': (vm_config.get('description') or '').replace('\r\n', '\n').replace('\r', '\n').strip()[:200].strip(),
|
|
533
533
|
'tags': sorted(tags), # 排序以确保一致性
|
|
534
534
|
'networks': net_config # 添加网络接口配置
|
|
535
535
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/commands/run_scheduled_syncs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0005_align_netboxmodel_timestamps.py
RENAMED
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0006_pbsserverconfig_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0008_pbsserverconfig_sync_schedule.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0011_pveclusterconfig_notify_on_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0013_pluginsettings_log_retention.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0016_pvevmtasklog_status_textfield.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/inc/vm_sync_button.html
RENAMED
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/inc/vm_task_log_panel.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/vm_provisioning_combined.html
RENAMED
|
File without changes
|
{proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/vm_provisioning_log.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|