/usr/share/netplan/netplan/cli/__pycache__
NameSizeModeActions
core.cpython-38.pyc12430644editdlrm
ovs.cpython-38.pyc44680644editdlrm
sriov.cpython-38.pyc122260644editdlrm
utils.cpython-38.pyc84460644editdlrm
__init__.cpython-38.pyc1330644editdlrm
Edit: /usr/share/netplan/netplan/cli/__pycache__/utils.cpython-38.pyc (8446B)
U ø)/b/&ã@süddlZddlZddlZddlZddlZddlZddlZddlZdZdZ dd„Z dd„Z dd „Z d d „Z d d „Zd-dd„Zd.dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd/dd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„ZGd+d,„d,ejƒZdS)0éNzNetworkManager.servicez+snap.network-manager.networkmanager.servicecCstj dd¡S)NZNETPLAN_GENERATE_PATHz/lib/netplan/generate)ÚosÚenvironÚget©rrú'/usr/share/netplan/netplan/cli/utils.pyÚget_generator_pathsrcCstjdddtgtjddkS)NÚ systemctlú--quietz is-enabled)Ústderrr)Ú subprocessÚcallÚNM_SNAP_SERVICE_NAMEÚDEVNULLrrrrÚis_nm_snap_enabled#srcCs,d}tƒrd}tj|g|tjtjddS)NÚnmcliznetwork-manager.nmcli©Ústdoutr )rr Ú check_callr)ÚargsZ binary_namerrrr'src Cs2ztdgƒWdSttjfk r,YdSXdS)z"Check if NetworkManager is runningZgeneralTFN)rÚOSErrorr ZSubprocessErrorrrrrÚ nm_running0s  rc Cslt d¡}tƒ}|D]R}t|dƒ>}|D]2}| |¡}|r(| tt || d¡¡ƒ¡q\q(W5QRXq|S)Nz^interface-name=(.*)$Úré) ÚreÚcompileÚsetÚopenÚmatchÚupdateÚfnmatchÚfilterÚgroup)ÚpathsZdevicesZpatÚ interfacesÚpathÚfÚlineÚmrrrÚ nm_interfaces:s   r(FcCs"tƒrt|tg|ƒSt|tg|ƒS©N)rrr ÚNM_SERVICE_NAME)ÚactionÚsyncrrrÚsystemctl_network_managerHsr-cCs:t|ƒdkr6d|g}|s"| d¡| |¡t |¡dS)Nrrz --no-block)ÚlenÚappendÚextendr r)r+Úservicesr,ZcommandrrrrPs    rcCs`tƒ}tjdddgdd}| ¡D]8}| ¡ d¡}|d ¡r"|dd kr"| |d¡q"|S) NÚ networkctlz --no-pagerz --no-legendT)Zuniversal_newlinesú réÿÿÿÿ)Z unmanagedZlinger)rr Z check_outputÚ splitlinesÚstripÚsplitÚ isnumericÚadd)r#Úoutr&ÚsrrrÚnetworkd_interfaces\s r<cCst ddg¡dS)Nr2Úreload©r rrrrrÚnetworkctl_reloadfsr?cCs&t|ƒdkr"t ddgt|ƒ¡dS)Nrr2Ú reconfigure)r.r rÚlist)r#rrrÚnetworkctl_reconfigurejs rBcCst ddd|g¡dkrdSdS)z4Return True if at least one matching unit is runningrr z is-activerTF)r r )Z unit_patternrrrÚsystemctl_is_activeosrCcCst ddg¡dS)zEReload systemd unit files from disk and re-calculate its dependenciesrz daemon-reloadNr>rrrrÚsystemctl_daemon_reloadvsrDcCs tjddd|gtjtjddS)z8Flush all IP addresses of a given interface via iproute2ZipÚaddrÚflushrN)r rr©ZifacerrrÚ ip_addr_flush{srHc Cstj d|¡}|r¢zTttj |d¡ƒ8}| ¡ ¡}|dkrZt d||¡W5QR£WdSW5QRXWn:tk r }zt  d|t |ƒ¡WY¢dSd}~XYnXz(tj  tj |dd¡¡}tj  |¡}Wn>tk r}zt d||t |ƒ¡WY¢dSd}~XYnX|S) Nz/sys/class/netZ operstateZdownz'device %s operstate is %s, not changingz$Cannot determine operstate of %s: %sZdeviceÚdriverz0Cannot replug %s: cannot read link %s/device: %s) rr$ÚjoinrÚreadr6ÚloggingÚdebugÚIOErrorÚerrorÚstrÚrealpathÚbasename)Ú interfaceZ only_downZdevdirr%ÚstateÚerIÚ driver_namerrrÚget_interface_driver_name€s$ rWcCs&t |¡ tjig¡d}| dd¡S)NrrEÚ)Ú netifacesZ ifaddressesrZAF_LINK)rSÚlinkrrrÚget_interface_macaddress—sr[cCs t ||¡Sr)©rZ fnmatchcase)rSZ match_namerrrÚis_interface_matching_namesr]cs2|}t|tƒr|g}t|ƒ‰t‡fdd„|DƒƒS)Nc3s|]}t ˆ|¡VqdSr)r\)Ú.0Úpattern©rVrrÚ ¨sÿz4is_interface_matching_driver_name..)Ú isinstancerPrWÚany)rSZ match_driverZ driver_globsrr`rÚ!is_interface_matching_driver_name¢s  þrdcCst|ƒ}| ¡| ¡kSr))r[Úlower)rSZ match_macÚ macaddressrrrÚ is_interface_matching_macaddress®srgcs®tˆtƒst‚ˆ dd¡r$ˆ d¡nd}t ||¡}t|ƒdkr`ˆ d¡r`tt‡fdd„|ƒƒ}t|ƒdkrŒˆ d¡rŒtt‡fd d„|ƒƒ}t|ƒdkr¦t  |¡dS|d S) NÚnameFÚ*rrfcst|ˆ d¡ƒS)Nrf)rgrrG©rrrÚ½óz%find_matching_iface..rIcst|ˆ d¡ƒS)NrI)rdrrGrjrrrkÁrlr) rbÚdictÚAssertionErrorrrr r.rArLÚinfo)r#rZ name_globZmatchesrrjrÚfind_matching_iface´s   rpc@sFeZdZddd„Zdd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dS)ÚNetplanCommandTFcCsª||_||_||_||_d|_d|_d|_i|_d|_d|_ t j dt j d|f|dd|_|jjdddd |s¦|jjd d d d |_|jjdddd}|j|jddS)NFz%s %srT)ÚprogÚ descriptionÚadd_helpz--debugÚ store_truezEnable debug messages)r+ÚhelpzAvailable commandsrXÚ subcommand)ÚtitleÚmetavarÚdestrvzShow this help message)rsrv)Úfunc)Ú command_idrsÚ leaf_commandÚtestingÚ_argsrMÚ commandclassÚ subcommandsrwr{ÚargparseÚArgumentParserÚsysÚargvÚparserÚ add_argumentZadd_subparsersÚ subparsersÚ add_parserÚ set_defaultsÚ print_usage)Úselfr|rsÚleafr~Zp_helprrrÚ__init__Ìs6þ ÿÿþzNetplanCommand.__init__cCs ||_dSr))r)rŒrrrrråszNetplanCommand.updatecCs>|jj|j|d\}|_|js:|js:tdtjd| ¡dS)N)rÚ namespacezYou need to specify a command©Úfile) r†Zparse_known_argsrrwr}Úprintr„r r‹)rŒÚnsrrrÚ parse_argsès zNetplanCommand.parse_argscCs8|jr|j |j¡|jr,d|jkr,| ¡| ¡dS)Nrv)r€rrr}r‹r{©rŒrrrÚ run_commandïs zNetplanCommand.run_commandcCs |jjtjdt tj¡dS)Nr)r†Z print_helpr„r ÚexitrÚEX_USAGEr•rrrr‹ùszNetplanCommand.print_usagecCs€|ƒ}i|j|<||j|d<||j|d<|jrDtj dd¡sDdS|jj|j|j|jdd}|j |j |d||j|d<dS)NÚclassÚinstanceZENABLE_TEST_COMMANDSF)rsrvrt)r{r€r†) rr~rrrrˆr‰r|rsrŠÚrun)rŒrhr€ršÚprrrÚ_add_subparser_from_classýs  ýz(NetplanCommand._add_subparser_from_classcCs@ddl}| |¡D](\}}| |¡rt|tƒr| ||¡qdS)Nr)ÚinspectZ getmembersZisclassÚ issubclassrqr)rŒZ submodulesržrhÚobjrrrÚ_import_subcommandssz"NetplanCommand._import_subcommandsN)TF) Ú__name__Ú __module__Ú __qualname__rŽrr”r–r‹rr¡rrrrrqÊs  rq)F)F)F)r„rrLr‚r rYrrr*r rrrrr(r-rr<r?rBrCrDrHrWr[r]rdrgrpZ NamespacerqrrrrÚs: