/snap/core22/2437/usr/share/subiquity/subiquitycore/controllers/__pycache__
NameSizeModeActions
network.cpython-310.pyc202020644editdlrm
__init__.cpython-310.pyc1510644editdlrm
Edit: /snap/core22/2437/usr/share/subiquity/subiquitycore/controllers/__pycache__/network.cpython-310.pyc (20202B)
o K^Z@s8ddlZddlZddlZddlZddlZddlmZddlZddlm Z m Z ddl m Z ddl mZddlmZddlmZmZmZmZmZddlmZdd lmZdd lmZdd lmZdd lm Z dd l!m"Z"ddl#m$Z$m%Z%e&dZ'Gddde Z(dZ)GdddeZ*GdddZ+Gddde*ee+Z,dS)N)Optional)IFF_UPNetworkEventReceiver)SingleInstanceTask) with_context) write_file) BondConfig DHCPState NetDevAction StaticConfig WLANConfig)netplan)BaseController) CoreChannels) TuiController)StretchyOverlay) NetworkView) arun_command run_commandz subiquitycore.controller.networkcs<eZdZddZddZddZddZfd d ZZS) SubiquityNetworkEventReceivercCs||_|j|_t|_dSN) controllermodelsetdefault_routes)selfrr9/usr/share/subiquity/subiquitycore/controllers/network.py__init__6s z&SubiquityNetworkEventReceiver.__init__cCs*|j||}|dur|j|dSdSr)rnew_linkr)rifindexlinknetdevrrrr;sz&SubiquityNetworkEventReceiver.new_linkcCsL|j|}||jvr|j||j|j|dur$|j|dSdSr)rdel_linkrremoverupdate_default_routes)rr r"rrrr#@s   z&SubiquityNetworkEventReceiver.del_linkcCsb|j|}|dur dSt|jdd}|t@s)||jvr)|j||j|j|j|dS)Nflagsr) r update_linkgetattrinforrr$rr%)rr r"r&rrrr'Hs  z)SubiquityNetworkEventReceiver.update_linkcst|||ddkrdS|ddkrdS|d}|dks#|dkr*|j|n|dkr9||jvr9|j|td |j|j|jdS) Ndstdefaulttabler NEWCHANGEDELzdefault routes %s) super route_changeraddr$logdebugrr%)ractiondatar  __class__rrr2Rs   z*SubiquityNetworkEventReceiver.route_change) __name__ __module__ __qualname__rrr#r'r2 __classcell__rrr8rr5s  ra network: version: 2 ethernets: "all-en": match: name: "en*" addresses: - 10.0.2.15/24 gateway4: 10.0.2.2 nameservers: addresses: - 8.8.8.8 - 8.4.8.4 search: - foo - bar "all-eth": match: name: "eth*" dhcp4: true wifis: "wlsp4": dhcp4: true access-points: "some-ap": password: password cseZdZdZdZfddZddZddZd d Zd d Z d dZ ddZ e ddZ dLddZddZddZddZedddd d!d"Zd#ed$ed%ed&dfd'd(Zd#ed$ed&dfd)d*Zd#ed$ed&dfd+d,Zd#ed-efd.d/Zd#efd0d1Zd2eed3ed4ed&dfd5d6Zd#ed&efd7d8Zd#ed9e d&dfd:d;Z!d#ed&dfdd?Z%e#j$d@dAZ&e#j$dBdCZ'e#j$dDdEZ(e#j$dFdGZ)e#j$dHdIZ*e#j$dJdKZ+Z,S)MBaseNetworkControllernetwork/cst|t|j|_|jjrPtj |jj |_ |j }tj |}tj|r1ddl}||t|t|d }|tWdn1sKwY|d|_t||_dS)NrwF)r1rr _apply_configapply_config_taskoptsdry_runospathabspath output_baseroot netplan_pathdirnameexistsshutilrmtreemakedirsopenwritedefault_netplanparse_netplan_configs _watchingrnetwork_event_receiver)rapprK netplan_dirrNfpr8rrrs        zBaseNetworkController.__init__cCs|j|jdSr)rrTrJrrrrrTsz+BaseNetworkController.parse_netplan_configscCs*g|_|jj|j\|_|_|dSr)_observer_handlesrWprober probe_networkrVobserver _observer_fdsstart_watchingrZrrrstarts zBaseNetworkController.startcCs2|jsdSt}|jD]}||q d|_dSNF)rUasyncioget_event_loopr_ remove_readerrloopfdrrr stop_watchings    z#BaseNetworkController.stop_watchingcCs8|jrdSt}|jD] }|||j|q d|_dS)NT)rUrcrdr_ add_reader _data_readyrfrrrr`s   z$BaseNetworkController.start_watchingcCsRtgd}|jdkr!td|t}|d|jdS|j |dS)N)udevadmsettlez-t0rz*waiting 0.1 to let udev event queue settle皙?) r returncoder4r5rircrd call_laterr`r^ data_ready)rrhcprgrrrrks   z!BaseNetworkController._data_readycCstd|jD]7}d}|jdus|jsq |jjD] }|jdkr(d}nq|sA| d| dtd|j t d|_ q dS) Nzupdating initial NIC configFglobalTz disabling %szautoconfiguration failed) r4r5rget_all_netdevsr)config addressesvaluesscoperemove_ip_networks_for_versionname_disabled_reason)rdevhas_global_addressarrrupdate_initial_configss"     z,BaseNetworkController.update_initial_configscCs(|jjdkr d}nd}tj|jd|S)N subiquityz00-installer-config.yamlz00-snapd-config.yamlz etc/netplan)rDprojectrFrGjoinrJ)rnetplan_config_file_namerrrrKs z"BaseNetworkController.netplan_pathNFcCs|jj||ddS)N)contextsilent)rC start_sync)rrrrrr apply_configsz"BaseNetworkController.apply_configc sT|D]$}ztd|j|jj|jtWqty't d|jYqwdS)Nz downing %szunset_link_flags failed for %s) r4r5r}r^ rtlistenerunset_link_flagsr r RuntimeError exception)rdevsrrrr _down_devss z BaseNetworkController._down_devsc s||D]8}td|jdddd|jg}z t|ddIdHWqtjy;}ztd|j|jWYd}~qd}~wwdS) Nz deleting %sipr!deleterTcheckzdeleting %s failed with %r)r4r5r}r subprocessCalledProcessErrorr)stderr)rrrcmdrsrrr _delete_devssz"BaseNetworkController._delete_devscCs|j}tdtjt|ddtj|j ddD]}||j kr#qt ||d|j jqt|j |j||dS)Nznetwork config: %sFdefault_flow_styleT)maskedz.dist-)r render_configr4r5yamldumpr sanitize_configconfigs_in_rootrJrKrFrenamerDrrstringify_configrT)rrxprrr _write_configs   z#BaseNetworkController._write_configrzsilent={silent}INFO)r} descriptionlevelc sg}g}g}t}jjddD]T}i|_dD]-}||rEs0||tjj |j n||tj t |j|<} || q|jdurLq|jjj|jkre|jr`||q||qspzfdd} jjrdjj} tdt| gIdHtjdrtd d d jgdd IdHnz|s|rztgd dd IdHtgddd IdHWn t j!y| dw|rֈ"|IdH|r#|IdH|s|rtgddd IdHz td dgdd IdHWnt j!y | dw|s|rtgddd IdHWs$$n s-$ww|s3dSzt %t &dd|DdIdHWn t j'yQYnw|D]\}}i|_|(|sp||tj)j |j qTdS)NT)include_deleted)rurvcss |dSdSr) apply_error)stagerrrrerrorsz2BaseNetworkController._apply_config..errorsleepz/lib/netplan/generater generatez--rootr) systemctlmask --runtimesystemd-networkd.servicesystemd-networkd.socket)rstoprrz stop-networkd)runmaskrrrapply)rrarFcSsh|]}|qSr)wait).0errr Wsz6BaseNetworkController._apply_config.. )*rrrw dhcp_events dhcp_enabledset_dhcp_stater PENDINGrVr'r RECONFIGURErcEventr3r)rxconfig_for_device is_virtualappendrapply_startingrDrErW scale_factorrstrrFrGrMrJrrrrapply_stoppingwait_forr TimeoutErrordhcp_addresses TIMED_OUT) rrrdevs_to_delete devs_to_downdhcp_device_versionsrrvrrdelayrrrrBs               z#BaseNetworkController._apply_configdev_name ip_version static_configreturncCs|j|}|||jdg|jdj|d}|jr&|j|j|<n|j |d|jdi}|dg|j |dg|j | || dS)Nryz gateway{v}r nameserverssearch)rget_netdev_by_namer|rx setdefaultextendryformatgatewaypopr searchdomainsr'r)rrrrrgwkeynsrrrset_static_configbs     z'BaseNetworkController.set_static_configcCsB|j|}||dj|d}d|j|<|||dS)Nzdhcp{v}rT)rrr|rrxr'r)rrrrdhcpkeyrrr enable_dhcprs      z!BaseNetworkController.enable_dhcpcCs,|j|}|||||dSr)rrr|r'r)rrrrrrrdisable_networkzs    z%BaseNetworkController.disable_networkidcCs:|j||}|||j|}|||dSr)rnew_vlanrrr'r)rrrnewrrrradd_vlans     zBaseNetworkController.add_vlancCs|j|}t}|jdkr"|jdD] }|j|}||qn|jdkr5|j|jd}||d|_|||D]}||q?|dS)Nbond interfacesvlanr!) rrrtyperxr3r#r'r)rrrtouched_devices device_name interfacer!rrr delete_links         z!BaseNetworkController.delete_link existing_namenew_namenew_infoc Cs|jj}t}|jD]}||}i|_||q |dur*|j||}||n<||} | jdD] } ||| q3| j| | j |kra| j} d| _| | | | _|| _ || n|| |D]} | | qh| dS)Nr)rrrrrxr3new_bondrupdate to_configr}r#r'r) rrrrrrrdevicenew_devexistingrrxrrrradd_or_update_bonds0         z(BaseNetworkController.add_or_update_bondcs:|j|}|jdurtj|jddSdj|jdS)NFrz0Configured but not yet created {type} interface.)r)rrr)rr serializerr)rrrrrrget_info_for_netdevs   z)BaseNetworkController.get_info_for_netdevwlancCsP|j|}|j\}}|jr|sd|jd<||j|j|||dS)NTdhcp4) rrconfigured_ssidssidrx set_ssid_pskpskr'r)rrrrcur_ssidcur_pskrrrset_wlans      zBaseNetworkController.set_wlanc Csd|j|}z |j|jWnty*}zd|f|jjd<WYd}~nd}~ww||dS)Nzerror %s scan_state) rrr^ trigger_scanr rr)rr')rrrrrrr start_scans z BaseNetworkController.start_scancCdSrrrZrrrrz$BaseNetworkController.apply_startingcCrrrrZrrrrrz$BaseNetworkController.apply_stoppingcCrrrrrrrrrrz!BaseNetworkController.apply_errorcCs|r |jjtjdSdSr)rWhub broadcastr NETWORK_UPrroutesrrrr%sz+BaseNetworkController.update_default_routescCrrrrr"rrrrrzBaseNetworkController.new_linkcCs:|jD]\}}||r||tj|qdSr)ritemsrrr CONFIGUREDr)rr"rrrrrr's  z!BaseNetworkController.update_linkcCrrrrrrrr#rzBaseNetworkController.del_linkrb)-r:r;r< model_namerJrrTrarir`rkrpropertyrKrrrrrrBrintr rrrrrrrrrr r r abcabstractmethodrrrr%rr'r#r=rrr8rr>sj        e           r>c@s,eZdZddZddZddZddZd S) NetworkAnswersMixincsV|jddr|dS|jddr)|jd}|j||IdHdSdS)Nzaccept-defaultFactions)answersgetdoneclear _run_actions)rrrrr run_answerss   zNetworkAnswersMixin.run_answerscCsh|d}|ddkr-|ddkr|jjt|d}n |ddkr'|d}|jj|Std|)Nrrrindexr}zcould not resolve {})splitviewcur_netdev_namesrdev_name_to_table Exceptionr)rrdev_specr}rrr _action_gets     zNetworkAnswersMixin._action_getcs"fdd|D}td||S)Ncsg|] }|jjqSr)r.dev_infor})rrrZrr sz@NetworkAnswersMixin._action_clean_interfaces..z%s)r4r5)rdevicesr rrZr_action_clean_interfacess z,NetworkAnswersMixin._action_clean_interfacesc Csrtd|d|vr||d}t|jjd|d}tt|d}|jjd||f|dV|jjj }|ddkrjd}|j j |j j vrdtdIdH|d7}|dkr\td |j j |j j vsHtd |t|tsqdS|D]8\}}|d squd } d } d|vr|dd} | d} | d} |t|j| ||| d2z3dHW} q6qudS|ddkr#|jjdV|jjj }|d } d| vr| d| d<||jj| |d d2z3dHW} q6d}| d|j j vrtdIdH|d7}|dkr td| d|j j vs|dkrtd|dVdS|ddkr2|jjdStd|)Nz_answers_action %robjz _action_{}r6DELETEgrog@z%interface did not disappear in 5 secsz$waited %s for interface to disappearr7formsubmit-r_formz-submitTz create-bondr1rr}zbond did not appear in 5 secszwaited %s for bond to appearr"zcould not process action {})r4r5r.r(uibodyrr _action_wr/r}r)r*rcrr, isinstancerrendswithr(_enter_form_datastretchyr! _create_bondcopyrr5r")rr6r,meth action_objr:tkr form_name submit_keyprefixr~r7rrr_answers_action s                 z#NetworkAnswersMixin._answers_actionN)r:r;r<r%r.r2rJrrrrrs  rcseZdZfddZddZddZddZd d Zfd d Zfd dZ fddZ fddZ fddZ fddZ fddZZS)NetworkControllercst|d|_d|_dSrb)r1rr) view_shown)rrWr8rrrMs  zNetworkController.__init__cCs\|js|dd|jD}t|||_|js#|jddd|_|j|jj |jS)NcSsg|]}|qSr) netdev_info)rrrrrr0Usz-NetworkController.make_ui..T)r) rLrrrwrr)rr%rVr)r netdev_infosrrrmake_uiRs  zNetworkController.make_uicCs d|_dSr)r)rZrrrend_ui`s zNetworkController.end_uicCs(tdt|jj|j_|jdS)Nz"NetworkController.done next_screen) r4r5boolrVrr has_networkrW next_screenrZrrrr"cs zNetworkController.donecCs|jdSr)rW prev_screenrZrrrcanceliszNetworkController.cancelc&t|jdur|jdSdSr)r1rr)show_apply_spinnerrZr8rrrl  z NetworkController.apply_startingcrVr)r1rr)hide_apply_spinnerrZr8rrrqrXz NetworkController.apply_stoppingcs*t||jdur|j|dSdSr)r1rr)show_network_errorrr8rrrvs  zNetworkController.apply_errorcs&t||jr|j|dSdSr)r1r%r)rr8rrr%{s z'NetworkController.update_default_routesc.t||jdur|j|dSdSr)r1rr)rMrr8rrr  zNetworkController.new_linkcr[r)r1r'r)rMrr8rrr'r\zNetworkController.update_linkcr[r)r1r#r)rMrr8rrr#r\zNetworkController.del_link)r:r;r<rrOrPr"rUrrrr%rr'r#r=rrr8rrKJs       rK)-rrcloggingrFrtypingrrprobert.networkrrsubiquitycore.async_helpersrsubiquitycore.contextrsubiquitycore.file_utilrsubiquitycore.models.networkrr r r r subiquitycorer subiquitycore.controllerrsubiquitycore.pubsubrsubiquitycore.tuicontrollerrsubiquitycore.ui.stretchyrsubiquitycore.ui.views.networkrsubiquitycore.utilsrr getLoggerr4rrSr>rrKrrrrs:           ,uX