summaryrefslogtreecommitdiff
path: root/cloudinit/distros/rhel.py
diff options
context:
space:
mode:
authorJoshua Harlow <harlowja@yahoo-inc.com>2012-06-21 19:46:16 -0700
committerJoshua Harlow <harlowja@yahoo-inc.com>2012-06-21 19:46:16 -0700
commitc49507a221464ce0f9747d4371f8e3d1d1b30abd (patch)
tree1bb749e85c7c83837c4ebdd425ed24cb7edc125b /cloudinit/distros/rhel.py
parent340c8f337751152cc54bdbeb9f9428c35fa720a1 (diff)
downloadvyos-cloud-init-c49507a221464ce0f9747d4371f8e3d1d1b30abd.tar.gz
vyos-cloud-init-c49507a221464ce0f9747d4371f8e3d1d1b30abd.zip
Updated so that the locale that is being written out currently in 'cc_locale'
now will be done by the distro classes (since its not the same for rhel and ubuntu). Remove the template also since it will just be created by the ubuntu distro class (its just one line).
Diffstat (limited to 'cloudinit/distros/rhel.py')
-rw-r--r--cloudinit/distros/rhel.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/cloudinit/distros/rhel.py b/cloudinit/distros/rhel.py
index 5cbefa6e..df63d559 100644
--- a/cloudinit/distros/rhel.py
+++ b/cloudinit/distros/rhel.py
@@ -30,6 +30,10 @@ LOG = logging.getLogger(__name__)
NETWORK_FN_TPL = '/etc/sysconfig/network-scripts/ifcfg-%s'
+# See: http://tiny.cc/6r99fw
+# For what alot of these files that are being written
+# are and the format of them
+
class Distro(distros.Distro):
@@ -83,6 +87,33 @@ class Distro(distros.Distro):
LOG.debug("Setting hostname to %s", hostname)
util.subp(['hostname', hostname])
+ def apply_locale(self, locale, out_fn=None):
+ if not out_fn:
+ out_fn = self._paths.join(False, '/etc/sysconfig/i18n')
+ ro_fn = self._paths.join(True, '/etc/sysconfig/i18n')
+ # Update the 'LANG' if it exists instead of appending
+ old_contents = self._read_conf(ro_fn)
+ adjusted = False
+ new_contents = []
+ for entry in old_contents:
+ if not entry:
+ continue
+ if len(entry) == 1:
+ new_contents.append(entry[0])
+ continue
+ (cmd, args) = entry
+ cmd_c = cmd.strip().lower()
+ if cmd_c == 'lang':
+ args = "%s" % (locale)
+ adjusted = True
+ new_contents.append("=".join([cmd, args]))
+ # Guess not found, append it
+ if not adjusted:
+ new_contents.append("# Added by cloud-init")
+ new_contents.append('LANG="%s"' % (locale))
+ contents = "\n".join(new_contents)
+ util.write_file(out_fn, contents, 0644)
+
def _write_hostname(self, hostname, out_fn):
old_contents = []
if os.path.isfile(out_fn):