Files
portfolio/migration-validation-framework/validators/__pycache__/compare.cpython-312.pyc
T

94 lines
21 KiB
Plaintext
Raw Normal View History

Ë
µ‹òi Mãó¦dZddlZddlZddlmZmZmZmZddlmZeje
«Z Gdd«Z dee
efdee
efd ee
effd
Zy) z|
Snapshot Comparison Engine
Compares two system snapshots and identifies differences,
risk levels, and validation results.
éN)ÚDictÚAnyÚListÚTuple)Údatetimec
óŠeZdZdZdZdeeefdeeefdeeeffdZdeeefdeeefd edeeeffd
Z deeefdeeefd edeeeffd Z
d eeefd
eeefdeeeffdZ deeefdeeefdeeeffdZ deeefdeeefdeeeffdZ
deeefdeeeffdZdeeefdefdZdeeefdeeeffdZdeeefd edeeeeffdZdeeefdeefdZdeeefdeeeffdZdeeefdeeeffdZdeeefdeeeffdZdeeefdeeeffd „Zy!)"ÚSnapshotComparatorz&Engine for comparing system snapshots.códddddœ|_y)ééé)ÚlowÚmediumÚhighÚcritical)Ú risk_levels)Úselfs úvalidators/compare.pyÚ__init__zSnapshotComparator.__init__sàØØØñ 
ˆÕóÚ snapshot1Ú snapshot2Úreturncóžtjd«iiiidœ}gd¢}|D]M}||jdi«vsŒ||jdi«vsŒ-|j|d|d|«}||d|<ŒO|j |d«|d<|j |d«|d<|j
|d«|d<tjd «|S)
z=Compare two snapshots and return detailed comparison results.zStarting snapshot comparison)ÚsummaryÚ differencesÚrisk_assessmentÚvalidation_results)ÚmountsÚservicesÚ
disk_usageÚdatarrrrzSnapshot comparison completed)ÚloggerÚinfoÚgetÚcompare_data_typeÚgenerate_summaryÚ assess_risksÚvalidate_changes)rrrÚ
comparisonÚ
data_typesÚ data_typers rÚcompare_snapshotsz$SnapshotComparator.compare_snapshotsä ÐØØ!Ø"$ñ 
ˆ
ò:ˆ
à Cˆ˜IŸM™M¨&°"Ó5¸)ÀyÇ}Á}ÐU[Ð]_ÓG`Ò:`Ø"×4°Y¸vÑ5FÈ ÐRXÑHYÐ[dÓe Ø7B
˜)¨)Ò Cð !%× 5Ñ 5°jÀÑ6OÓ Pˆ
ð)-×(9Ñ(9¸*À]Ñ:SÓ(Tˆ
Ð,0×+@Ñ+@ÀÈMÑAZÓ+[ˆ
Ð ÐÐrÚdata1Údata2r-cóji}t|j««}t|j««}|j|«}|D]h}i} ||vr
d| d<ddi| d<nK||vr
d| d<ddi| d<n:|||vr'|||vr |j|||||||«} n d| d<d |i| d<| sŒd| ||<Œj|S)
z3Compare a specific data type between two snapshots.ÚaddedÚstatusÚ
new_systemTÚdetailsÚremovedÚremoved_systemÚ data_missingÚmissing_data_type)ÚsetÚkeysÚunionÚcompare_system_data)
rr/r0r-rÚsystems1Úsystems2Ú all_systemsÚsystemÚ system_diffss
rr'z$SnapshotComparator.compare_data_type9sàˆ ôu—z‘z“|ÓÜu—z‘z“|ÓØ—n‘n XÓ à 3ˆˆ˜"Ø)0 ˜&Ø+7¸Ð*> ˜˜$Ø)2 ˜&Ø+;¸TÐ*B ˜  
Ñ-°)¸uÀV¹}Ñ2LØ#'×#;Ñ#;ؘf™
 ˜f™
 $ .<L Ñ*Ø/BÀIÐ.NL ÑØ&2 ˜#ð- 3ð0Ðrcóªi}|dk(r|j||«}|S|dk(r|j||«}|S|dk(r|j||«}|Sd|d<|S)z1Compare data for a specific system and data type.r r!r"Úunknown_data_typer3)Úcompare_mountsÚcompare_servicesÚcompare_disk_usage)rr/r0r-rs rr=z&SnapshotComparator.compare_system_data\àˆ à ˜Ò Ø×-¨e°UÓ;ˆKðÐð˜*Ò
×°uÓ=ˆKð Ðð ˜,Ò
×1°%¸Ó?ˆKðÐð%8ˆK˜Ñ ÐrÚmounts1Úmounts2cóäggggdœ}|jdg«}|jdg«}|Dcic]}|d|Œ
}}|Dcic]}|d|Œ
}}t|j««t|j««z
} t|j««t|j««z
}
| D cgc] } d| i|| ¥Œ
c} |d<|
D cgc] } d| i|| ¥Œ
c} |d<t|j««t|j««z} | D]*} || || }}
|
|k7sŒ|dj| |
|dœ«Œ,|jdi«}|jdi«}t|j««t|j««zD]4} | |vsŒ| |vsŒ
|| || }}||k7sŒ|d j| ||dœ«Œ6|Scc}wcc}wcc} wcc} w)
z&Compare mounts data between snapshots.)Ú added_mountsÚremoved_mountsÚchanged_mountsÚ
usage_changesr Ú
mountpointrKrLrM©rOÚbeforeÚafterÚusagerN©r&r:r;Úappend)rrHrIrÚ mounts_list1Ú mounts_list2Ú mounts_map1Ú mounts_map2r2r6ÚmpÚcommonÚm1Úm2Úusage1Úusage2Úu1Úu2s rrEz!SnapshotComparator.compare_mountsks)ðØ Ø Øñ 
ˆ ð—{‘{ 8¨RÓ Ø—{‘{ 8¨RÓ ð4@Ö@¨a¨Ñ Ð@Ø3?Ö@¨a¨Ñ ÐK×'¬#¨k×.>Ñ.>Ó.@Ó*AÑAˆÜk×)¬C° ×0@Ñ0@Ó0BÓ,CÑCˆàW\Ö&]ÐQS¨ °bÐ'L¸¹OÒ'LÒ&]ˆ #ØY`Ö(aÐSU¨,¸Ð)N¸kÈ"¹oÒ)NÒ(aˆ Ð[×(¬3¨{×/?Ñ/?Ó/AÓ+BÑBˆØò ˆ  _ k°"¡oˆRÐ-×4Ø"$Ø Øñ6õð ð˜W bÓØ˜W bÓäf—k‘k“mÓ$¤s¨6¯;©;«=Ó'9Ñ ˆVŠ|   Ø  V¨B¡ZBؘ“8Ø Ñ0×7Ø&(Ø"$Ø!#ñ9õð  ðÐùòGAùÚ@ùò '^ùÚ(as°
GÁ
G#Â<G(ÃG-Ú services1Ú services2c óÎggggdœ}|jdg«}|jdg«}|Dcic]}|d|Œ
}}|Dcic]}|d|Œ
}}t|j««t|j««z
} t|j««t|j««z
}
| D cgc] } d| i|| ¥Œ
c} |d<|
D cgc] } d| i|| ¥Œ
c} |d<t|j««t|j««z} | D]­} || || }}
|
jd«|jd«k7s$|
jd«|jd«k7sŒT|dj| |
jd«|
jd«d œ|jd«|jd«d œd
œ«Œ¯|Scc}wcc}wcc} wcc} w) z(Compare services data between snapshots.)Úadded_servicesÚremoved_servicesÚstatus_changesÚconfiguration_changesr!ÚnamerfrgÚ active_stateÚ sub_staterh)rkrl)rjrQrRrT)rrcrdrÚservices_list1Úservices_list2Ú
services_map1Ú
services_map2r2r6rjr\Ús1Ús2s rrFz#SnapshotComparator.compare_servicesžð!Ø "Ø Ø%'ñ 
ˆ ð z°2ÓØ z°2Ó6ˆð0>Ö>¨!˜˜6™ A™Ð>ˆ
Ð>Ø/=Ö>¨!˜˜6™ A™Ð>ˆ
ÐM×)¬C°
×0BÑ0BÓ0DÓ,EÑEˆÜm×+¬c°-×2DÑ2DÓ2FÓ.GÑGˆà[`Ö(aÐSW¨&°$Ð)N¸Ñ:MÒ)NÒ(aˆ Ð%Ø]dÖ*eÐUY¨F°DÐ+P¸MÈ$Ñ<OÒ+PÒ*eˆ Ð]×*¬S°×1CÑ1CÓ1EÓ-FÑFˆØò ˆ" (¨-¸Ñ*=ˆv‰v¯©°Ó)?Ò?À2Ç6Á6È+ÓCVÐZ\×Z`ÑZ`ÐalÓZmÓCmØÐ-× Ø/1¯v©v°nÓ/EÐTV×TZÑTZÐ[fÓTgÑhØ.0¯f©f°^Ó.DÐSU×SYÑSYÐZeÓSfÑ6õð ðÐùò+?ùÚ>ùò )bùÚ*es°
GÁ
GÂ<GÃG"r_r`có¬gggdœ}|jdg«}|jdg«}|Dcic]}|d|Œ
}}|Dcic]}|d|Œ
}}t|j««t|j««z} | D}
||
||
} } | | k7sŒ|dj|
| | dœ« t | jdd«j d««}
t | jdd«j d««}t
||
z
«d kDr|d
j|
||
z