MOON
Server: Apache
System: Linux server2.shieldcogroup.com 3.10.0-1160.119.1.el7.tuxcare.els12.x86_64 #1 SMP Fri Nov 8 05:49:38 UTC 2024 x86_64
User: jacom (1029)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyo
�
��ic@s�ddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZddlm
Z
yddlmZWnek
r�eZnXd�Zd	�Zd
efd��YZd�ZdS(
i����N(twraps(tchain(tFULL_VERSION(t_call(tget_messages(tJSONDecodeErrorcCstjjd�S(s�
    Check if the current process is running inside a container

    :return: True if the process is running inside a container, False otherwise
    s/run/host/container-manager(tostpathtexists(((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pytruns_in_containerscsT�fd��g|j�D](\}}�||�D]}|^q5q}t|�S(s3 Flatten nested dicts and lists into a single dict cs�t|t�rFgt|�j�D] \}}|d||f^q"St|t�r�tgt|�D])\}}�|dt|�|�^qe�S||fgS(Nt.(t
isinstancetdictt
_flattenedtitemstlistRt	enumeratetstr(tkeytvaluetktvti(texpand(sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyRs
7@(RR(tdRRtitemR((RsJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyR
s;t_BreadCrumbscBsGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCs�i|d6|j�d6gd6djgtjD]'}d|krF|ndj|�^q.�d6td6tjj�j�dd	6tjj�j�dd
6dd6dd
6t	�d6dd6t
d6|_dS(Ntactivitytpackagestleapp_file_changest s"{}"texecutedtsuccesstZtactivity_startedtactivity_endedtt	source_ost	target_ostenvtrun_idtversion(t
_get_packagestjointsystargvtformattTruetdatetimetutcnowt	isoformatRRt_crumbs(tselfRR((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyt__init__(s
A
cCst|jd<dS(NR (tFalseR3(R4((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pytfail8scCs�tjjd�sdtjjd�s(dSytjd�Wqdtk
r`}|jdkraqaqdXnyttdd��U}tj	t
ig|D]$}|jdd�d
kr�|^q�d
6�|dd�WdQX|j�Wntk
r�nXdS(Ns/etc/rhsm/factss	/etc/rhsmis/etc/rhsm/facts/leapp.factstwRR$t
preupgradetupgradetleapptindenti(R9R:(
RRtisdirRtmkdirtOSErrorterrnotopentjsontdumpR
tgett_commit_rhsm_facts(R4t
activitiestetfR((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyt_save_rhsm_facts;s"

(
cCsWt�r
dSdddg}yt|d�d��Wntttfk
rRnXdS(Ns/usr/sbin/subscription-managertfactss--updatecSsdS(N(tNone(txty((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyt<lambda>Xs(R	RR?t
ValueErrort	TypeError(R4tcmd((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyRESs	cCsDtjjdd�|jd<|jdj|j��td |jd�}tj|p^igdjdi�jdd	��jd
idd6dd6�}d
j	|�|jd<dj	|�|jd<t
j
j�j�d|jd<d�tjj
�D�|jd<ytdd��}|jd�igd6}yItj|�}t|t�r}t|jdd�t�r}|}q}nWntk
r�nX|dj|j�|jd�|j�tj||dddt�|jd�tjjdd�dkr|j|d�nWdQXWn!tk
r?tjjd�nXdS(!NtLEAPP_EXECUTION_IDsN/AR(Rt	IPUConfigitmessagetdatas{}R)ttargettsources!Red Hat Enterprise Linux {target}R&s!Red Hat Enterprise Linux {source}R%R!R#cSs.i|]$\}}|jd�r||�qS(tLEAPP_(t
startswith(t.0RR((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pys
<dictcomp>fs	R's/etc/migration-resultssa+RFR<it	sort_keyss
tLEAPP_NO_RHSM_FACTSt0t1s3WARNING: Could not write to /etc/migration-results
(RS(RtenvironRDR3textendt_verify_leapp_pkgsRRBtloadsR.R0R1R2RRAtseektloadRRRKRRtappendttruncateRCR/twriteRIR?R,tstderr(R4tmessagestversionstcrumbstdoctcontent((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pytsave]s:%)  






cCs�dddg}t|d�d��}|jdd�dkr�|jdd�r�gg|djd�D]*}|j�rh|j�jd	d
�^qhD]"}i|dd6|d
d6^q�SngS(
Ns	/bin/bashs-csMrpm -qa --queryformat="%{nevra} %{SIGPGP:pgpsig}
" | grep -Ee "leapp|snactor"cSsdS(N(RK(RLRM((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyRNst	exit_codeitstdouts
Ritnevrat	signature(RRDRKtsplittstrip(R4RQtrestlinett((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyR*}skcCstjjd�sgStjjd�jd�}dddj|d|d�g}t|d�d��}|jd	d�dkr|jd
d�rgg|d
jd�D]*}|j�r�|j�jdd�^q�D]"}i|dd
6|dd6^q�SngS(NtLEAPP_IPU_IN_PROGRESSttos	/bin/bashs-cs%rpm -V leapp leapp-upgrade-el{}toel{}iicSsdS(N(RK(RLRM((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyRN�sRoRps
Rtresultt	file_name(RR_RDRsR.RRKRt(R4tupg_pathRQRuRvRw((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyRa�s#k(	t__name__t
__module__R5R7RIRERnR*Ra(((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyR's				
	 		cst���fd��}|S(s�
    Ensures that `/etc/migration-results` gets produced on every invocation of `leapp upgrade` & `leapp preupgrade`

    Every execution of the upgrade will have their own entry in the /etc/migration-results file.
    For a user flow like: leapp preupgrade && leapp upgrade && reboot there should be 5 new entries in the file:

    1. leapp preupgrade
    2. leapp upgrade (Source OS)
    3. leapp upgrade (Initram Phase - Until including RPM transaction)
    4. leapp upgrade (Initram Phase - Post RPM Transaction)
    5. leapp upgrade (Target OS - First Boot)

    Depending on future design changes of the IPU Worklow, the output may vary.
    cs�td�j�}zmy�d|||�SWnOtk
r`}|jdkrZ|j�n�ntk
r}|j��nXWd|j�XdS(NRtbreadcrumbsi(RR}t
SystemExittcodeR7t
BaseExceptionRn(targstkwargsRRG(RH(sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pytwrapper�s


(R(RHR�((RHsJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pytproduces_breadcrumbs�s(R0RBRR,t	functoolsRt	itertoolsRR;Rtleapp.libraries.stdlib.callRtleapp.utils.auditRtjson.decoderRtImportErrorROR	R
tobjectRR�(((sJ/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/breadcrumbs.pyt<module>s 

			l