/usr/share/netplan/netplan/cli/commands/__pycache__
NameSizeModeActions
apply.cpython-38.pyc91460644editdlrm
generate.cpython-38.pyc20170644editdlrm
get.cpython-38.pyc22130644editdlrm
info.cpython-38.pyc17510644editdlrm
ip.cpython-38.pyc46330644editdlrm
migrate.cpython-38.pyc106360644editdlrm
set.cpython-38.pyc55720644editdlrm
sriov_rebind.cpython-38.pyc17010644editdlrm
try_command.cpython-38.pyc58770644editdlrm
__init__.cpython-38.pyc8160644editdlrm
Edit: /usr/share/netplan/netplan/cli/commands/__pycache__/try_command.cpython-38.pyc (5877B)
U )/b@sdZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m m Z ddl mZddlZdZGddde jZdS)znetplan try command lineN) ConfigManager) NetplanApplyxcsxeZdZfddZeddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZZS) NetplanTrycsZtjddddd|_d|_d|_d|_d|_tj dd|_ tj |j dd d |_ dS) NtryzLTry to apply a new netplan config to running system, with automatic rollbackT) command_id descriptionleafFZDBUS_TEST_NETPLAN_ROOT/runnetplanznetplan-try.ready)super__init__configuration_changednew_interfaces_config_manager t_settingstosenvironget_rootdirpathjoin_netplan_try_stampself __class__6/usr/share/netplan/netplan/cli/commands/try_command.pyr(szNetplanTry.__init__cCs|jst|_|jSN)rrrrrr config_manager5szNetplanTry.config_managercCs"tj|jrt|jdSdS)NTF)rrisfilerremoverrrr clear_ready_stamp;s zNetplanTry.clear_ready_stampcCs*tj|jddddt|jddS)Nz /run/netplaniT)modeexist_okw)rmakedirsropenrcloserrrr touch_ready_stampAszNetplanTry.touch_ready_stampcCsP|jjddd|jjdttdd|jjddd|j|_||dS) Nz --config-filezGApply the config file in argument in addition to current configuration.)helpz --timeoutz=Maximum number of seconds to wait for the user's confirmation)typedefaultr-z--statez0Directory containing previous YAML configuration)parser add_argumentintDEFAULT_INPUT_TIMEOUT command_tryfunc parse_args run_commandrrrr r EszNetplanTry.runc CsV|sttjzztj }t j ||_|j|jttj|jttj|j||tjddd|jd||jj|jdWnt j jk rtd|Yn^t j jk rtdYn@t k r$}z td|td|W5d}~XYnXW5|jr@|j|j|| XdS)NTF run_generatesync exit_on_error state_dir)timeoutz Reverting.z Configuration accepted.z An error occurred: %s)! is_revertablesysexitr EX_CONFIGrresetrcleanupr%stdinfilenor terminalZTerminalZsavesignalSIGINT_signal_handlerSIGUSR1backupsetupr command_applystater,Zget_confirmation_inputr= InputRejectedprintrevert InputAccepted Exception)rfderrr r4Ss4     zNetplanTry.command_trycCs d}|jrd}|jj|ddS)NFT)backup_config_dir) config_filer"rK)rrVrrr rKxszNetplanTry.backupcCsd|jrZtjddd}tj|jd}t}tj|d||}|j |j|id|_ dS)Nr etcr z.yamlz {}.{}.yamlT) rWrrrbasenamerstriptimeformatr"addr)rZdest_dirZ dest_nameZ dest_suffixZ dest_pathrrr rL~szNetplanTry.setupcCs^t}tj|dd}t|tjd|dd|j t j ddd|dt |dS)NrXr z /etc/netplanT) dirs_exist_okFr8) tempfilemkdtemprrrr)shutilcopytreer"rQrrMrmtree)rtempdirZconfdirrrr rQs  zNetplanTry.revertcCs|jdSr!)r"rCrrrr rCszNetplanTry.cleanupcCsg}|jr||j|jj|d|jj|_td|jg}i}||jj ||jj | D]&\}}|rld|krld}|||fql|r|D]\}}t d||qt ddSdS) a  Check if the configuration is revertable, if it doesn't contain bits that we know are likely to render the system unstable if we apply it, or if we revert. Returns True if the parsed config is "revertable", meaning that we can actually rely on backends to re-apply /all/ of the relevant configuration to interfaces when their config changes. Returns False if the parsed config contains options that are known to not cleanly revert via the backend. ) extra_configzNew interfaces: {} parameterszBreverting custom parameters for bridges and bonds is not supportedz{}: {}zL Please carefully review the configuration and use 'netplan apply' directly.FT) rWappendr"parserloggingdebugr\updatebridgesbondsitemsrP)rreZrevert_unsupportedZ multi_ifaceifnamesettingsreasonrrr r>s(    zNetplanTry.is_revertablecCs*|tjkrtjn|jr&tjdSr!)rGrJr rFrRrrO)rsigframerrr rIs  zNetplanTry._signal_handler)__name__ __module__ __qualname__rpropertyr"r%r,r r4rKrLrQrCr>rI __classcell__rrrr r&s  %  -r)__doc__rr[rarGr?r_rinetplan.configmanagerrnetplan.cli.utilscliutilsnetplan.cli.commands.applyrZnetplan.terminalr r3NetplanCommandrrrrr s