܍~cVddlZddlmZmZddlmZddlmZmZddlm Z ddl m Z ej e ZdZGdd ejZdS) N)distroshelpers)log)subputil) rhel_util) PER_INSTANCEc|rdSdS)Nyesno)vals 8/usr/lib/python3/dist-packages/cloudinit/distros/rhel.py_make_sysconfig_boolrs utceZdZdZdZdZdZdZdZdZ dZ dZ d d d d d ddiZ dZ dZdZdZddZddZdZdZddZdZd dZdZdS)!Distroz/etc/sysconfig/clockz/etc/sysconfig/i18nz/etc/locale.confz/etc/sysconfig/networkz /etc/hostnamez'/etc/sysconfig/network-scripts/ifcfg-%sz/etc/localtimez /usr/libexec sysconfigzetc/sysconfig/networkz'%(base)s/network-scripts/ifcfg-%(name)sz'%(base)s/network-scripts/route-%(name)sz(%(base)s/network-scripts/route6-%(name)s)ipv4ipv6)controliface_templatesroute_templatesTctj||||tj||_d|_d|_d|_d|d<dS)Nredhatz en_US.UTF-8sshd ssh_svcname) rr__init__rRunners_runnerosfamilydefault_locale system_locale)selfnamecfgpathss rrzDistro.__init__6sXdC777u--   +!#Mrc4|d|dS)Ninstall)pkgs)package_command)r$pkglists rinstall_packageszDistro.install_packagesAs! YW55555rcl|js||_|jr|jn|jS)z8Return the default locale if set, else use system locale)r#_read_system_localer"r$s r get_localezDistro.get_localeDs@! >) $ $ "+"? "J"J Wh(""((t   rc,|r,|drtj||dS|r&t jddt |gdSd|i}t j||dS)N/previous-hostname hostnamectlz set-hostnameHOSTNAME)r4endswithr write_filerstrrr7)r$hostnamefilenamehost_cfgs r_write_hostnamezDistro._write_hostnamens      @8#4#45I#J#J @ OHh / / / / /     @ I}nc(mmD E E E E EHH  +Hh ? ? ? ? ?rcv|r|j}n|j}|||fSN)r4systemd_hostname_conf_fnhostname_conf_fn_read_hostname)r$host_fns r_read_system_hostnamezDistro._read_system_hostname{sA      ,3GG+G,,W5566rch|r;|dr&tj|S|r+t jdg\}}t |r|S|Stj|\}}d|vr|dS|S)NrGrMrI) r4rJr load_filestriprlenrrA)r$rNdefaultout_errrDrEs rrUzDistro._read_hostnames      8#4#45I#J#J >(++1133 3    )ZL11KS$3xx  "+"?"I"I WhX%% ++rcL||}|r5tj|jtj||jdSdt |i}tj|j |tj ||jdS)NZONE) _find_tz_filer4rdel_file tz_local_fnsym_linkrLrr7 clock_conf_fncopy)r$tztz_file clock_cfgs r set_timezonezDistro.set_timezones$$R((      1 M$* + + + M'4#3 4 4 4 4 4BI  +D,> J J J Igt/ 0 0 0 0 0rc4|g}tjdrtddg}ntdddg}|d|r+t |t r||n,|r*t |tr||||tj d|}||tj|d dS) Ndnfz Using DNF for package managementz Using YUM for package managementyumz-tz-yz%s-%sF)capture) rwhichLOGdebugappend isinstancerLlistextendrexpand_package_list)r$commandargsr*cmdr,s rr+zDistro.package_commands <D :e   II8 9 9 9'CC II8 9 9 9$-C 4  JtS))  JJt      jt,,  JJt    7*7D99 7 #u%%%%%%rcX|jd|jdgtdS)Nzupdate-sources makecache)freq)r runr+r r0s rupdate_package_sourceszDistro.update_package_sourcess<    M      rrR)r3)NN)__name__ __module__ __qualname__rer6r5network_conf_fnrTrSnetwork_script_tplrc usr_lib_execrenderer_configs prefer_fqdnrr-r1r;r/rPrWrUrjr+r~r rrrrs4*M*N/.O/.B"K!L.HAB     K $ $ $666     < < < <" @ @ @777 111 &&&&B     rr)r> cloudinitrrrloggingrrcloudinit.distrosrcloudinit.settingsr getLoggerrrprrr rrrs &&&&&&&&$$$$$$ ''''''++++++g!!m m m m m W^m m m m m r