+
    Û1j´'  ã                   ó~   € ^ RI t ^ RIt^ RIt^ RIHtHtHtHt  ! R R]4      t ! R R]]4      t	 ! R R]]]4      t
R# )	é    N)ÚPluginÚRedHatPluginÚDebianPluginÚUbuntuPluginc                   ój   a € ] tR t^t o RtRtR
tRtRtRt	Rt
RtRtRtRtR t. 3R ltR tR tRtV tR	# )Ú
OVNCentralz
OVN NorthdÚovn_centralÚ c                óÂ  € V P                  W4      pV P                  '       d¼   V P                  R V 2V P                  R7      pVR,          ^ 8w  g   RVR,          9  d!   V P                  RV P                   24       V# \        P
                  ! V4      pVR,          P                  R4       F-  pVP                  V4      '       g   K  V P                  W4      u # 	  V# )zls )Ú	containerÚstatusÚ
Úoutputz=Could not retrieve ovn_controller socket path from container )Ú	path_joinÚcontainer_nameÚexec_cmdÚ
_log_errorÚreÚcompileÚsplitÚmatch)ÚselfÚpathÚ
regex_nameÚ_sfileÚresÚpatternÚfilenames   &&&    Ú@/usr/lib/python3/dist-packages/sos/report/plugins/ovn_central.pyÚ
_find_sockÚOVNCentral._find_sock%   sÈ   € Ø—‘ Ó1ˆØ××ÐØ—-‘- # d V ¸×8KÑ8K�-ÓLˆCØ�8�} Ô! T°°XµÔ%>Ø—‘ð&Ø&*×&9Ñ&9Ð%:ð<ôð ˆô Ÿ*š* ZÓ0�Ø # H¥× 3Ñ 3°DÖ 9�HØ—}‘} X×.Ô.Ø#Ÿ~™~¨dÓ=Ò=ñ !:ð ˆó    c                óŠ  € V P                   '       dr   RV 2pV P                  VRRV P                   R7      pVR,          ^ 8w  d!   V P                  RV P                    24       R#  \        P                  ! VR,          4      pMI V P                  V4      p\        VR	R
R7      ;_uu_ 4       p \        P                  ! V4      p RRR4        \        P                  XR,          4       U	u. uF  p	W’9  g   K  V	NK  	  up	#   \
         d    T P                  RT 24        R# i ; i  \
         d!    T P                  RT 24        RRR4       R# i ; i  + '       g   i     L™; i  \         d#   pT P                  RT RT 24        Rp?R# Rp?ii ; iu up	i   \         d    T P                  RT R24        R# i ; i)zGet tables from schema zcat NT)ÚtimeoutÚ
foregroundr   r   z1Could not retrieve DB schema file from container r   zCannot parse JSON file ÚrzUTF-8)ÚencodingzCould not open DB schema file z: Útablesz
DB schema z has no 'tables' key)r   r   r   ÚjsonÚloadsÚ	Exceptionr   ÚopenÚloadÚIOErrorÚdictÚkeysÚAttributeError)
r   r   ÚskipÚcmdr   Ú	db_schemaÚfnameÚfileÚexÚtables
   &&&       r   Úget_tables_from_schemaÚ!OVNCentral.get_tables_from_schema6   sÃ  € à××ÐØ˜˜
Ð#ˆCØ—-‘- ¨T¸dØ*.×*=Ñ*=ð  ó ?ˆCà�8�} Ô!Ø—‘ð !-Ø-1×-@Ñ-@Ð,Að!Cô DáðÜ ŸJšJ s¨8¥}Ó5‘	ð
ØŸ™ xÓ0�Ü˜% ¨w×7Õ7¸4ð$Ü$(§I¢I¨d£O™	÷ 8ð	IÜ'+§y¡yØ˜(Õ#ô(%ó ;ñ (%˜eØ(-Ñ(9÷ �Eñ (%ñ ;ð ;øô# ô Ø—‘Ð"9¸(¸Ð DÔEÚðûô %ô $ØŸ™Ð*AÀ(ÀÐ(LÔMØ#÷ 8Ñ7ð$ú÷ 8×7ûô ô Ø—‘Ø4°X°J¸bÀÀÐEôGåûðüò
;øäô 	IØ�O‰O˜j¨¨
Ð2FÐGÕHÙð	Iús–   Á&D Â'E) Â,EÂ.D(ÃE) ÃF Ã,FÃ9FÃ?F ÄD%Ä$D%Ä(EÅEÅE) ÅEÅEÅE&	Å!E) Å&E) Å)FÅ4FÆFÆF Æ GÇGc                óL   € V'       d   V Uu. uF	  q2 RV 2NK  	  up# R# u upi )zCollect OVN database output z list N© )r   r(   Úovn_cmdr8   s   &&& r   Úadd_database_outputÚOVNCentral.add_database_outputY   s,   € çÙ;AÓB¹6°%�i˜v e WÓ-¹6ÑBÐBÙùò Cs   �!c           
     óê	  € V P                  V P                  ^,          4      '       d)   V P                  V P                  ^,          4      V n        M'V P                  V P                  ^ ,          4      V n        \        P
                  P                  R4      pR( F‚  pV P                  V P                  RV4      V P                  RV4      V P                  RV4      V P                  RV4      .4       V'       g   Kb  V P                  V P                  W4      4       K„  	  V P                  R4      '       d   V P                  R4       MV P                  R4       V P                  V P                  V P                  4      pV P                  V P                  V P                  4      pR	p. pV P                  pV R
V P                   RV R2V R
V P                    RV R2V RV R2V RV R2.pV P#                  VRV P                  ^R7       V'       g*   Rp	V P#                  V RV RV	 2RV P                  ^R7       Rp
V RV
 R2V RV
 R2V RV
 R2.pV P#                  VRV P                  ^R7       V RV
 R2V RV
 R2V RV
 R2V RV
 R2V RV
 R2.pV P#                  VRV P                  ^R7       R) Fs  pV P%                  V P                  VR4      4      '       g   K,  V P'                  V P                  VR4      4      pVP)                  V P+                  VV RV
 24      4       Ku  	  R) Fu  pV P%                  V P                  VR4      4      '       g   K,  V P'                  V P                  VR4      R.4      pVP)                  V P+                  VV RV
 24      4       Kw  	  \-        \/        V4      4      pV P#                  VRV P                  R7       R* F1  pV P%                  V4      '       g   K  V P#                  R V R!24       K3  	  V P                  R"4       V P                  R#4       \        P
                  P                  R$4      pR+ F„  pR, FP  pV P                  VV4      pV P%                  V4      '       g   K.  V P                  V4       V P1                  V4       KR  	  V'       g   Kc  V P                  V P                  VV4      4       K†  	  V P3                  R%R&7       R'# )-é   Ú
OVS_RUNDIRú/var/lib/openvswitch/ovnz/usr/local/var/run/openvswitchz/run/openvswitch/ú!/var/snap/microovn/common/run/ovnÚall_logsz/var/log/ovn/z/var/log/ovn/*.logzcluster/statuszovs-appctl -t Ú z OVN_Northboundz OVN_Southboundzovn-appctl -t z statusz connection-statusT)r%   r   r$   zdebug/chassis-features-listz--no-leader-onlyz
ovn-nbctl z showz get-sslz get-connectionz
ovn-sbctl z lflow-listz! --columns=_uuid list MAC_Bindingzovn-nb.ovsschemazovn-sb.ovsschemaÚLogical_Flow)r%   r   zopenssl x509 -in z -noout -datesz/etc/sysconfig/ovn-northdz"/etc/ovn/ovn-northd-db-params.confÚ	OVS_DBDIRz
ovn-northd)ÚunitsN)zovnnb_db.pidzovnsb_db.pidzovn-northd.pid)z/usr/share/openvswitchz/usr/share/ovnz /snap/microovn/current/share/ovn)z/etc/ovn/ovn-central.crtz/etc/ovn/cert_host)zovnnb_db.dbzovnsb_db.db)rC   z/usr/local/etc/openvswitchz/etc/openvswitchz/var/lib/openvswitchz/var/lib/ovn/etcz/var/lib/ovnz)/var/snap/microovn/common/data/central/db)Úcontainer_existsÚ
containersÚget_container_by_namer   ÚosÚenvironÚgetÚadd_copy_specr   Ú
get_optionr    Ú
ovn_socketÚovn_controller_sock_regexÚovn_northd_sock_regexÚpfxÚovn_nbdb_socketÚovn_sbdb_socketÚadd_cmd_outputÚpath_existsr9   Úextendr>   ÚlistÚsetÚadd_dir_listingÚadd_journal)r   Ú
ovs_rundirÚpidfileÚovn_controller_socketÚnorthd_socketÚcsÚcmdsrU   Úappctl_cmdsÚdflÚnoloÚ
nbctl_cmdsÚ
sbctl_cmdsr   Ú	nb_tablesÚ	sb_tablesÚ	ovs_dbdirÚdbfileÚ
dbfilepaths   &                  r   ÚsetupÚOVNCentral.setup_   s(  € à× Ñ  §¡°Õ!3×4Ò4Ø"&×"<Ñ"<Ø—‘ Õ"ó#$ˆDÕð #'×"<Ñ"<Ø—‘ Õ"ó#$ˆDÔô —Z‘Z—^‘^ LÓ1ˆ
ÛIˆGØ×ÑØ—‘Ð9¸7ÓCØ—‘Ð?ÀÓIØ—‘Ð2°GÓ<Ø—‘ÐBÀGÓLð	 ô ÷ ‰zØ×"Ñ" 4§>¡>°*Ó#FÖGñ Jð �?‰?˜:×&Ò&Ø×Ñ˜Õ/à×ÑÐ3Ô4à $§¡Ø�O‰O˜T×;Ñ;ó!=Ðð Ÿ™¨¯©Ø(,×(BÑ(BóDˆð ˆØˆØ�h‰hˆð ˆe�> $×"6Ñ"6Ð!7°q¸¸¸OÐLØˆe�> $×"6Ñ"6Ð!7°q¸¸¸OÐLØˆe�> - °Ð8Øˆe�>Ð"7Ð!8Ð8JÐKð	
ˆð 	×Ñ˜K°DØ&*×&9Ñ&9À2ð 	ô 	G÷ Ø/ˆCØ×Ñ 3 % ~°m°_ÀAÀcÀUÐ KØ+/Ø*.×*=Ñ*=Àrð  ô Kð
 "ˆàˆe�:˜d˜V 5Ð)Øˆe�:˜d˜V 8Ð,Øˆe�:˜d˜V ?Ð3ð
ˆ
ð 	×Ñ˜J°4Ø&*×&9Ñ&9À2ð 	ô 	Gð ˆe�:˜d˜V 5Ð)Øˆe�:˜d˜V ;Ð/Øˆe�:˜d˜V 8Ð,Øˆe�:˜d˜V ?Ð3Øˆe�:˜d˜VÐ#DÐEð
ˆ
ð 	×Ñ˜J°4Ø&*×&9Ñ&9À2ð 	ô 	Gó9ˆDà×Ñ §¡¨tÐ5GÓ H×IÔIØ ×7Ñ7¸¿¹ØÐ,ó9.ó /�	à—‘˜D×4Ñ4°YØ8;°u¸JÀtÀfÐ5MóOö Pñ9ó9ˆDà×Ñ §¡¨tÐ5GÓ H×IÔIØ ×7Ñ7¸¿¹ØÐ,ó9.Ø0>Ð/?óA�	à—‘˜D×4Ñ4°YØ8;°u¸JÀtÀfÐ5MóOö Pñ9ô ”C˜“I‹ˆØ×ÑØ˜T¨T×-@Ñ-@ð 	ô 	
ó
 GˆDØ×Ñ ×%Ô%Ø×#Ñ#Ø& t f¨NÐ;öñ Gð 	×ÑÐ6Ô7à×ÑÐ?Ô@ä—J‘J—N‘N ;Ó/ˆ	Û4ˆFó�ð "Ÿ^™^¨D°&Ó9�
Ø×#Ñ# J×/Ô/Ø×&Ñ& zÔ2Ø×(Ñ(¨Ö4ñ÷ ‰yØ×"Ñ" 4§>¡>°)¸VÓ#DÖEñ! 5ð$ 	×Ñ˜|ÐÖ,r"   )r   N)ÚnetworkÚvirt)zovn-dbs-bundle.*Úovn_cluster_north_db_server)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
short_descÚplugin_nameÚprofilesrK   r   rV   rW   rR   rS   rT   rU   r    r9   r>   ro   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s_   ø‡ € à€JØ€KØ"€HØD€JØ€NØ€OØ€OØ€JØ "ÐØÐØ
€Còð" 57ô !òF÷C-ð C-r"   r   c                   ó.   € ] tR t^åtRtRtRtRtRtRt	Rt
R# )	ÚRedHatOVNCentralz!/var/run/openvswitch/ovnnb_db.ctlz!/var/run/openvswitch/ovnsb_db.ctlz/var/run/openvswitchúovn-controller.*.ctlúovn-northd.*.ctlr<   N)zopenvswitch-ovn-centralzovn.*-central)rt   ru   rv   rw   ÚpackagesrV   rW   rR   rS   rT   r{   r<   r"   r   r   r   å   s"   † à=€HØ9€OØ9€OØ'€JØ 6ÐØ.Ôr"   r   c                   ó>   a a€ ] tR t^ït oRtV 3R ltRtRtRtVt	V ;t
# )ÚDebianOVNCentralc                óê   <€ V P                  R 4      '       d8   RV n        V P                   R2V n        V P                   R2V n        RV n        MRV n        RV n        RV n        \
        SV `  4        R# )	z/snap/bin/microovnrD   z/ovnnb_db.ctlz/ovnsb_db.ctlz	microovn.z/var/run/ovnz/var/run/ovn/ovnnb_db.ctlz/var/run/ovn/ovnsb_db.ctlN)rY   rR   rV   rW   rU   Úsuperro   )r   Ú	__class__s   &€r   ro   ÚDebianOVNCentral.setupó   sk   ø€ Ø×ÑÐ0×1Ò1ØAˆDŒOØ&*§o¡oÐ%6°mÐ#DˆDÔ Ø&*§o¡oÐ%6°mÐ#DˆDÔ Ø"ˆD�Hà,ˆDŒOØ#>ˆDÔ Ø#>ˆDÔ Ü‰‰Žr"   r€   r�   )rV   rW   rR   rU   )zovn-centralÚmicroovn)rt   ru   rv   rw   r‚   ro   rS   rT   r{   r|   Ú__classcell__)r‡   r}   s   @@r   r„   r„   ï   s    ù‡ € à,€Hõ
ð !7ÐØ.×Ðr"   r„   )r)   rM   r   Úsos.report.pluginsr   r   r   r   r   r   r„   r<   r"   r   Ú<module>rŒ      sG   ðó Û 	Û 	÷ó ôK-�ô K-ô\/�z <ô /ô/�z <°ö /r"   