/snap/core22/2437/usr/share/subiquity/subiquitycore/models/__pycache__
NameSizeModeActions
network.cpython-310.pyc149260644editdlrm
__init__.cpython-310.pyc2120644editdlrm
Edit: /snap/core22/2437/usr/share/subiquity/subiquitycore/models/__pycache__/network.cpython-310.pyc (14926B)
o K^B@sddlZddlmZddlZddlZddlZddlmZmZddl Z ddl m Z m Z ddl mZgdZddgZed Zd d ZGd d d ejZGdddejZe jddGdddZe jddGdddZe jddGdddZe jddGdddZe jddGdddZe jddGdddZe jddGdddZGd d!d!ZGd"d#d#e Z!Gd$d%d%e Z"dS)&N)pgettext)AF_INETAF_INET6)ListOptional)netplan)lobridgetuntapdummysitcanz???vlanbondzsubiquitycore.models.networkcCs t|jSN) ipaddress ip_interfaceversion)ipr4/usr/share/subiquity/subiquitycore/models/network.py addr_version$s rc@sZeZdZeddZeddZeddZeddZeddZeddZ eddZ dd Z d S) NetDevActionInfoz Edit Wifiz Edit IPv4z Edit IPv6z Edit bondzAdd a VLAN tagDeletecCstt|j|jSr)rtype__name__valueselfrrrstr2szNetDevAction.strN) r __module__ __qualname__rINFO EDIT_WLAN EDIT_IPV4 EDIT_IPV6 EDIT_BONDADD_VLANDELETEr!rrrrr(s        rc@s,eZdZeZeZeZeZdS) DHCPStateN) rr"r#enumautoPENDING TIMED_OUT RECONFIGURE CONFIGUREDrrrrr+6s  r+T) auto_attribsc@s.eZdZUeed<eeed<eeed<dS) DHCPStatusenabledstate addressesN) rr"r#bool__annotations__rr+rr!rrrrr3=  r3c@s`eZdZUeeZeee d<dZ e ee d<eeZ eee d<eeZ eee d<dS) StaticConfigr6Ngateway nameservers searchdomains)rr"r#attrFactorylistr6rr!r8r;rr<r=rrrrr:Ds r:c@seZdZUeed<eed<dS) VLANConfigidlinkN)rr"r#intr8r!rrrrrALs  rAc@s&eZdZUeeed<eeed<dS) WLANConfigssidpskN)rr"r#rr!r8rrrrrERs rEc@s.eZdZUeed<eeed<eeed<dS) WLANStatusconfig scan_state visible_ssidsN)rr"r#rEr8rr!rrrrrrHXr9rHc@sJeZdZUeeed<eed<dZeeed<dZeeed<ddZ dS) BondConfig interfacesmodeNxmit_hash_policy lacp_ratecCsD|j}d|ji}|tjvr|j|d<|tjvr|j|d<|j|dS)NrNztransmit-hash-policy lacp-rate)rM parameters)rNBondParameterssupports_xmit_hash_policyrOsupports_lacp_raterPrM)r rNparamsrrr to_configfs    zBondConfig.to_config) rr"r#rr!r8rOrrPrWrrrrrL_s  rLc@seZdZUdZeed<eed<eed<eeed<eed<eeed<eeed<eeed <eeed <eed <eed <eeed <ee ed<ee ed<e ed<e ed<e ed<e ed<e eed<dS) NetDevInfoz@All the information about a NetworkDev that the view code needs.namer is_connected bond_masteris_useddisabled_reasonhwaddrvendormodel is_virtual has_configrrwlandhcp4dhcp6static4static6enabled_actionsN)rr"r#__doc__r!r8r7rrArLrHr3r:rrrrrrrXus*         rXc@s2eZdZgdZhdZgdZdhZddgZdS)rS)z balance-rrz active-backup balance-xor broadcast802.3ad balance-tlbz balance-alb>rlrmrj)layer2zlayer2+3zlayer3+4zencap2+3zencap3+4rlslowfastN)rr"r#modesrTxmit_hash_policiesrU lacp_ratesrrrrrSs  rSc@seZdZddZdefddZddZdd Zd d Zd d Z e ddZ e j ddZ ddZ e ddZddZe ddZe ddZe ddZe ddZe dd Zd!Ze d"d#Zd!Zd!Ze d$d#Ze d%d#Ze d&d#Zd'd(Zd)S)* NetworkDevcCs:||_||_||_i|_d|_d|_i|_ddd|_dS)N)_model_namerrIinfor] dhcp_events _dhcp_state)r r`rYtyprrr__init__s zNetworkDev.__init__returnc sjdkr tjj}nd}d}jD]}|jdkrqj|jdgvr,|j}nqjdkrPjdurPjd}t jd|d|d|dd }nd}jd krijdurit jd jd d }nd}jdkrj \}}t t ||djjdjjdd} nd} } ggd} jdurjdgD] } | t| | qjdi} ni} i}i}dD]9}t|j|| |d||<jdur߈jdt|}nd}t| ||| dg| dgd||<qtd.idjdjd|d |d|d|d| d|dd |d!d"|dd#|d!d$jd%jd&fd'd(tDd)tjd)dd*tjd*dd+tjd+dd,jd-jduS)/NethTrrMrRrNzxmit-hash-policyrQ)rMrNrOrPrrBrC)rBrCrc)rFrGrJrK)rIrJrKrur6r<)r4r5r6r;search)r6r;r<r=rYrrZr[rdrvrerwrfrgr\r]rhcsg|] }|r|qSr)supports_action).0actionrrr s z*NetworkDev.netdev_info..r^r_r`rarbr)rr7rzrZrxget_all_netdevsrYrIgetrLrAconfigured_ssidrHrErcdhcp_addressesrappendr3 dhcp_enabledr|r!r:rXr\r]rgetattrra)r rZr[dev2rVrrrFrGrcrconfigured_addressesesaddrns dhcp_statusesstatic_configsvr;rrr netdev_infos                     zNetworkDev.netdev_infocCsjggd}|jdur3|jjD]"}|jtkrd}n |jtkr"d}nq|jdkr2||t|j q|S)Nrurvrwdhcp) rzr6valuesfamilyrrsourcerr!address)r rarrrrrs     zNetworkDev.dhcp_addressescCs$|jdurdS|jdj|ddS)NFdhcp{v}r)rIrformatr rrrrr&s zNetworkDev.dhcp_enabledcCs$|jdj|dds dS|j|S)NrrF)rIrrr|rrrr dhcp_state,s zNetworkDev.dhcp_statecCs||j|<dSr)r|)r rr5rrrset_dhcp_state1szNetworkDev.set_dhcp_statecCs|jSr)ryrrrrrY4szNetworkDev.namecCs||jkr=|jr=||jjvrtdj|j|d||jj|<|jdur=t|j|j|j}||jj|j<d|_ |j|_d|_||_ dS)Nz#renaming {old_name} over {new_name})old_namenew_name) rYrarxdevices_by_name RuntimeErrorrrzrtrrIry)r r dead_devicerrrrY8s    cCst|d|jS)N _supports_)rrY)r rrrrrKszNetworkDev.supports_actioncCs4|jdiD]\}}|d}||fSdS)N access-pointspassword)NN)rIritems)r rFsettingsrGrrrrNs  zNetworkDev.configured_ssidcCsF|jdi}||duri||<|dur!|||d<dSdSdS)Nrr)rI setdefaultclear)r rFrGapsrrr set_ssid_pskUszNetworkDev.set_ssid_pskcCs|jdur |jjSdSr)rzifindexrrrrr]s zNetworkDev.ifindexcCs |jtvSr)r"NETDEV_ALLOWED_VIRTUAL_IFACE_TYPESrrrrrads zNetworkDev.is_virtualcCs8|jD]}|jdkr|j|jdgvrdSqdS)NrrMTFrxrrrYrIrr devrrr is_bond_slavehs  zNetworkDev.is_bond_slavecCsZ|jD]%}|jdkr|j|jdgvrdS|jdkr*|j|jdkr*dSqdS)NrrMTrrCFrrrrrr\ps  zNetworkDev.is_usedcCsddt|jjDS)NcSs g|] \}}|jdkr|jqS)global)scoper)r_rrrrr}s z9NetworkDev.actual_global_ip_addresses..)sortedrzr6rrrrractual_global_ip_addresses{sz%NetworkDev.actual_global_ip_addressesTcC |jdkS)Nrcrrrrr zNetworkDev.cCrNrrrrrrrrcCs|jdko|j S)Nr)rrrrrrrscCs|jo|j Sr)rar\rrrrrscCs~|jdj|dd|jdj|ddg}|jdgD] }t||kr,||q|r6||jd<dS|jdddS)Nrrz gateway{v}r6)rIpoprrrr)r raddrsrrrrremove_ip_networks_for_versions  z)NetworkDev.remove_ip_networks_for_versionN)rr"r#r~rXrrrrrpropertyrYsetterrrrrrarr\r_supports_INFO_supports_EDIT_WLAN_supports_EDIT_IPV4_supports_EDIT_IPV6_supports_EDIT_BOND_supports_ADD_VLAN_supports_DELETErrrrrrtsJ R           rtc@sreZdZdZddZddZddZdd Zd d Zd d Z ddZ dddZ ddZ ddZ ddZddZdS) NetworkModel cCsi|_d|_||_dS)NF)r has_networkproject)r rrrrr~s zNetworkModel.__init__cCst|_|j|dSr)rConfigrIload_from_root)r netplan_rootrrrparse_netplan_configss z"NetworkModel.parse_netplan_configscCstd||j|j|jtvrtddS|j}|jdkr d}|r.|jtvr.tddS|j|j}|durF|j durA |S||_ |S|j |}|rW|sWtddSt ||j|j}||_ ||_ td||jt |j ||j|j<|S)Nznew_link %s %s %szignoring based on typercFzignoring based on is_virtualz&ignoring virtual device with no configznew_link %s %s with config %s)logdebugrYrNETDEV_IGNORED_IFACE_TYPESrarrrrzrIconfig_for_devicertrsanitize_interface_config)r rrCrarrIrrrnew_links<         zNetworkModel.new_linkcCs*|jD] \}}|j|kr|SqdSr)rrrr rrYrrrr update_links  zNetworkModel.update_linkcCsX|jD]$\}}|j|kr)d|_|jr!|jdur|j|=|S|j|=|SqdSr)rrrrzrarIrrrrdel_links  zNetworkModel.del_linkcCs4dj||d}t||d}|j|<||d|_|S)Nz {name}.{tag})rYtagr)rCrB)rrtrrI)r device_namerrYrrrrnew_vlans zNetworkModel.new_vlancCs$t||d}|j|<||_|Sr)rtrrWrI)r rY bond_configrrrrnew_bonds zNetworkModel.new_bondFcCs.ddt|jD}|sdd|D}|S)NcSsg|]\}}|qSrr)rkrrrrrsz0NetworkModel.get_all_netdevs..cSsg|] }|jdur|qSr)rI)rrrrrrs)rrr)r include_deleteddevsrrrrszNetworkModel.get_all_netdevscCs |j|Sr)r)r rYrrrget_netdev_by_names zNetworkModel.get_netdev_by_namecCs dd|jtj|ddgS)N z,# This is the network config written by '{}'F)default_flow_style)joinrryamldump)r rIrrrstringify_configs  zNetworkModel.stringify_configcCs^dddii}ddddd}|D]}||j}|d|i}|js&|jr,|j||j<q|S) Nnetworkr ethernetsbondswifisvlans)rrrcr)rrrrIr\rY)r rI type_to_keyrkeyconfigsrrr render_configs     zNetworkModel.render_configcCs$dd||dddddiS)N write_filesz$etc/netplan/00-installer-config.yaml)pathcontentz@etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfgznetwork: {config: disabled} )etc_netplan_installernonet)rrrrrrrenders zNetworkModel.renderN)F)rr"r#rir~rrrrrrrrrrrrrrrrs&  r)#r,gettextrrloggingrsocketrrr>typingrr subiquitycorerrr getLoggerrrEnumrr+sr3r:rArErHrLrXrSobjectrtrrrrrsB          &a