本文整理汇总了Python中pyanaconda.simpleconfig.SimpleConfigFile.set方法的典型用法代码示例。如果您正苦于以下问题:Python SimpleConfigFile.set方法的具体用法?Python SimpleConfigFile.set怎么用?Python SimpleConfigFile.set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyanaconda.simpleconfig.SimpleConfigFile
的用法示例。
在下文中一共展示了SimpleConfigFile.set方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: write_test
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def write_test(self):
with tempfile.NamedTemporaryFile(mode="wt") as testconfig:
scf = SimpleConfigFile()
scf.set(('key1', 'value1'))
scf.write(testconfig.name)
testconfig.flush()
self.assertEqual(open(testconfig.name).read(), 'KEY1=value1\n')
示例2: execute
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def execute(self, storage, ksdata, instClass, users, payload):
""" Execute the addon
:param storage: Blivet storage object
:param ksdata: Kickstart data object
:param instClass: Anaconda installclass object
:param users: Anaconda users object
:param payload: object managing packages and environment groups
for the installation
"""
if not self.enabled:
return
log.info("Executing docker addon")
# This gets called after installation, before initramfs regeneration and kickstart %post scripts.
execWithRedirect("mount", ["-o", "bind", getSysroot()+"/var/lib/docker", "/var/lib/docker"])
execWithRedirect("mount", ["-o", "bind", getSysroot()+"/etc/docker", "/etc/docker"])
# Start up the docker daemon
log.debug("Starting docker daemon")
docker_cmd = ["docker", "daemon"]
if ksdata.selinux.selinux:
docker_cmd += ["--selinux-enabled"]
# Add storage specific arguments to the command
docker_cmd += self.storage.docker_cmd(storage, ksdata, instClass, users)
docker_cmd += ["--ip-forward=false", "--iptables=false"]
docker_cmd += self.extra_args
docker_proc = startProgram(docker_cmd, stdout=open("/tmp/docker-daemon.log", "w"), reset_lang=True)
log.debug("Running docker commands")
script = AnacondaKSScript(self.content, inChroot=False, logfile="/tmp/docker-addon.log")
script.run("/")
# Kill the docker process
log.debug("Shutting down docker daemon")
docker_proc.kill()
log.debug("Writing docker configs")
self.storage.write_configs(storage, ksdata, instClass, users)
# Rewrite the OPTIONS entry with the extra args and/or storage specific changes
try:
docker_cfg = SimpleConfigFile(getSysroot()+"/etc/sysconfig/docker")
docker_cfg.read()
options = self.storage.options(docker_cfg.get("OPTIONS"))
if self.save_args:
log.info("Adding extra args to docker OPTIONS")
options += " " + " ".join(self.extra_args)
docker_cfg.set(("OPTIONS", options))
docker_cfg.write()
except IOError as e:
log.error("Error updating OPTIONS in /etc/sysconfig/docker: %s", e)
# Copy the log files to the system
dstdir = "/var/log/anaconda/"
os.makedirs(dstdir, exist_ok=True)
for l in ["docker-daemon.log", "docker-addon.log"]:
shutil.copy2("/tmp/"+l, dstdir+l)
示例3: write_new_keys_test
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def write_new_keys_test(self):
from pyanaconda.simpleconfig import SimpleConfigFile
scf = SimpleConfigFile()
scf.read(self.PATH)
scf.set(("key1", "value1"))
scf.write("/tmp/file")
self.assertEqual(open("/tmp/file").read(),
self.CONTENT+"KEY1=value1\n")
示例4: execute
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def execute(self, storage, ksdata, instClass, users):
""" Execute the addon
:param storage: Blivet storage object
:param ksdata: Kickstart data object
:param instClass: Anaconda installclass object
:param users: Anaconda users object
"""
log.info("Executing docker addon")
# This gets called after installation, before initramfs regeneration and kickstart %post scripts.
execWithRedirect("mount", ["-o", "bind", getSysroot()+"/var/lib/docker", "/var/lib/docker"])
execWithRedirect("mount", ["-o", "bind", getSysroot()+"/etc/docker", "/etc/docker"])
# Start up the docker daemon
log.debug("Starting docker daemon")
dm_fs = "dm.fs=%s" % self.fstype
pool_name = "dm.thinpooldev=/dev/mapper/%s-docker--pool" % self.vgname
docker_cmd = ["docker", "daemon"]
if ksdata.selinux.selinux:
docker_cmd += ["--selinux-enabled"]
docker_cmd += ["--storage-driver", "devicemapper",
"--storage-opt", dm_fs,
"--storage-opt", pool_name, "--ip-forward=false", "--iptables=false"]
docker_cmd += self.extra_args
docker_proc = startProgram(docker_cmd, stdout=open("/tmp/docker-daemon.log", "w"), reset_lang=True)
log.debug("Running docker commands")
script = AnacondaKSScript(self.content, inChroot=False, logfile="/tmp/docker-addon.log")
script.run("/")
# Kill the docker process
log.debug("Shutting down docker daemon")
docker_proc.kill()
log.debug("Writing docker configs")
with open(getSysroot()+"/etc/sysconfig/docker-storage", "w") as fp:
fp.write('DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper '
'--storage-opt %s --storage-opt %s"\n' % (dm_fs, pool_name))
with open(getSysroot()+"/etc/sysconfig/docker-storage-setup", "a") as fp:
fp.write("VG=%s\n" % self.vgname)
# Rewrite the OPTIONS entry with the extra args, if requested.
if self.extra_args and self.save_args:
try:
docker_cfg = SimpleConfigFile(getSysroot()+"/etc/sysconfig/docker")
docker_cfg.read()
options = docker_cfg.get("OPTIONS")+" " + " ".join(self.extra_args)
docker_cfg.set(("OPTIONS", options))
docker_cfg.write()
except IOError as e:
log.error("Error updating OPTIONS in /etc/sysconfig/docker: %s", e)
# Copy the log files to the system
dstdir = "/var/log/anaconda/"
os.makedirs(dstdir, exist_ok=True)
for l in ["docker-daemon.log", "docker-addon.log"]:
shutil.copy2("/tmp/"+l, dstdir+l)
示例5: set
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def set(self, *args):
for (key, data) in args:
if self.get(key) != data:
break
else:
return
ifcfglog.debug("IfcfgFile.set %s: %s", self.filename, args)
SimpleConfigFile.set(self, *args)
self._dirty = True
示例6: write_new_keys_test
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def write_new_keys_test(self):
with tempfile.NamedTemporaryFile(mode="wt") as testconfig:
testconfig.write(self.TEST_CONFIG)
testconfig.flush()
scf = SimpleConfigFile()
scf.read(testconfig.name)
scf.set(("key1", "value1"))
scf.write(testconfig.name)
testconfig.flush()
self.assertEqual(open(testconfig.name).read(),
self.TEST_CONFIG+"KEY1=value1\n")
示例7: no_use_tmp_test
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def no_use_tmp_test(self):
with tempfile.NamedTemporaryFile(mode="w+t") as testconfig:
# Write a starting file and keep the handle open
testconfig.write("KEY1=value1\n")
testconfig.flush()
testconfig.seek(0)
# Overwrite the value and write a new file
scf = SimpleConfigFile()
scf.read(testconfig.name)
scf.set(('key1', 'value2'))
scf.write(testconfig.name, use_tmp=False)
# Check the new contents
self.assertEqual(open(testconfig.name).read(), 'KEY1=value2\n')
# Check that the original file handle points to the replaced contents
self.assertEqual(testconfig.read(), 'KEY1=value2\n')
示例8: set_and_get_test
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def set_and_get_test(self):
"""Setting and getting values"""
scf = SimpleConfigFile()
scf.set(('key1', 'value1'))
self.assertEqual(scf.get('key1'), 'value1')
scf.set(('KEY2', 'value2'))
self.assertEqual(scf.get('key2'), 'value2')
scf.set(('KEY3', 'value3'))
self.assertEqual(scf.get('KEY3'), 'value3')
scf.set(('key4', 'value4'))
self.assertEqual(scf.get('KEY4'), 'value4')
示例9: execute
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def execute(self):
security_proxy = SECURITY.get_proxy()
selinux = security_proxy.SELinux
if selinux == SELINUX_DEFAULT:
selinux_log.debug("Use SELinux default configuration.")
return
if selinux not in self.SELINUX_STATES:
selinux_log.error("Unknown SELinux state for %s.", selinux)
return
try:
selinux_cfg = SimpleConfigFile(util.getSysroot() + "/etc/selinux/config")
selinux_cfg.read()
selinux_cfg.set(("SELINUX", self.SELINUX_STATES[selinux]))
selinux_cfg.write()
except IOError as msg:
selinux_log.error("SELinux configuration failed: %s", msg)
示例10: use_tmp_multifs_test
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def use_tmp_multifs_test(self):
# Open a file on a non-default filesystem
with tempfile.NamedTemporaryFile(dir='/dev/shm', mode='w+t') as testconfig:
# Write a starting file and keep the handle open
testconfig.write("KEY1=value1\n")
testconfig.flush()
testconfig.seek(0)
# Overwrite the value and write a new file
scf = SimpleConfigFile()
scf.read(testconfig.name)
scf.set(('key1', 'value2'))
scf.write(testconfig.name, use_tmp=True)
# Check the new contents
self.assertEqual(open(testconfig.name).read(), 'KEY1=value2\n')
# Check that the original file handle still points to the old contents
self.assertEqual(testconfig.read(), 'KEY1=value1\n')
示例11: unset_test
# 需要导入模块: from pyanaconda.simpleconfig import SimpleConfigFile [as 别名]
# 或者: from pyanaconda.simpleconfig.SimpleConfigFile import set [as 别名]
def unset_test(self):
scf = SimpleConfigFile()
scf.set(('key1', 'value1'))
scf.unset(('key1'))
self.assertEqual(scf.get('key1'), '')