x[hnddlZddlmZmZmZmZmZddlmZddlm Z ddl m Z m Z ejeZGddej"Zy)N)distroshelpersnetsubputil) PackageList) rhel_util) PER_ALWAYS PER_INSTANCEceZdZdZdZdZdZdeediZdZdZ dd Z d Z dd Z d e fdZdZdZddZdZdZddZdddZy )Distroz /etc/hostnamez/etc/systemd/network/z/etc/locale.confz/etc/systemd/resolved.confnetworkd)resolv_conf_fnnetwork_conf_dirTctjj||||tj||_d|_dg|_y)Nphoton systemctl)rr __init__rRunners_runnerosfamilyinit_cmd)selfnamecfgpathss :/usr/lib/python3/dist-packages/cloudinit/distros/photon.pyrzDistro.__init__s<dC7u-   $  ctjd| tj||\}}|rtjd||d||fSd||fS#tj$rt j td|YywxYw)NzAttempting to run: %s)capturez(Running %s resulted in stderr output: %sTFzCommand %s failed)TNN)LOGdebugrwarningProcessExecutionErrorrlogexc)rcmdr outerrs rexec_cmdzDistro.exec_cmd(s )3/ $38JS# >SS#~%#s? ")) $ KK0# 6# $s7AA.BBcd}|jj|d}tjd|||st j Stj dy)Ndisable_fallback_netcfgTz%s value is: %szJSkipping generate_fallback_config. Rely on PhotonOS default network config)_cfggetr!r"rgenerate_fallback_configinfo)rkeyr+s rr.zDistro.generate_fallback_config6sV'"&))--T": #S*AB&//1 1   rNc~|s |j}d|i}tj||gd}|j|y)NLANG)rrestartzsystemd-localed)systemd_locale_conf_fnrhutilupdate_sysconfig_filer))rlocaleout_fn locale_cfgr&s r apply_localezDistro.apply_localeDsE00F F  $$VZ8 : crpkglistc*|jd|y)Ninstall)pkgs)package_command)rr;s rinstall_packageszDistro.install_packagesVs YW5rc|r(|jdrtj||yd}tj|jdd}|r"|j ddt |g\}}}n7|j dddt |g\}}}tjd|rtjd||fyy) N/previous-hostnamecreate_hostname_fileT hostnamectlz set-hostnamez --transientz7create_hostname_file is False; hostname set transientlyz3Error while setting hostname: %s Given hostname: %s) endswithr write_fileget_cfg_option_boolr,r)strr!r/r#)rhostnamefilenameretrC_outr(s r_write_hostnamezDistro._write_hostnameZs ))*>? OOHh /C#'#;#; 14$ $!%"NCMB"T3"&%&%H "T3M N rcT|j|j}|j|fSN)_read_hostnamesystemd_hostname_conf_fn)r sys_hostnames r_read_system_hostnamezDistro._read_system_hostname{s)**4+H+HI --|<?&&x0668 8--T(:;c4!syy{.w.rcy)Nz 127.0.1.1)rs r_get_localhost_ipzDistro._get_localhost_ipsrcPtj||j|y)N)tztz_file)rset_etc_timezone _find_tz_file)rr^s r set_timezonezDistro.set_timezones  B0B0B20FGrcn|sg}ddg}|r"t|tr|j|n#|r!t|tr|j ||j|t j d|}|j ||j|\}}}|rtjd|yy)Ntdnfz-yz%s-%sz#Error while installing packages: %s) isinstancerHappendlistextendrexpand_package_listr)r!error) rcommandargsr>r&r;rKrLr(s rr?zDistro.package_commandsDtn JtS) JJt  jt, JJt  7**7D9 7s+T3  II;S A rF)forcec||jjd|jdg|r tyty)Nzupdate-sources makecache)freq)rrunr?r r )rrms rupdate_package_sourceszDistro.update_package_sourcess>    M$  +7  r)TrO)NN)__name__ __module__ __qualname__rQrr4resolve_conf_fnrenderer_configs prefer_fqdnrr)r.r:rr@rMrSrPr\rbr?rrr[rrr r s../2O - 0 K& $ $6 6B=/HB&/4 rr )logging cloudinitrrrrrcloudinit.distrosrr r5cloudinit.settingsr r getLoggerrsr!r r[rrr~s= 77)17g!V W^^V r