Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
"""
Make directories for tftpboot images
"""
if not os.path.exists(self.pxelinux_dir):
utils.mkdir(self.pxelinux_dir, logger=self.logger)
if not os.path.exists(self.grub_dir):
utils.mkdir(self.grub_dir, logger=self.logger)
grub_images_link = os.path.join(self.grub_dir, "images")
if not os.path.exists(grub_images_link):
os.symlink("../images", grub_images_link)
if not os.path.exists(self.images_dir):
utils.mkdir(self.images_dir, logger=self.logger)
if not os.path.exists(self.rendered_dir):
utils.mkdir(self.rendered_dir, logger=self.logger)
if not os.path.exists(self.yaboot_bin_dir):
utils.mkdir(self.yaboot_bin_dir, logger=self.logger)
if not os.path.exists(self.yaboot_cfg_dir):
utils.mkdir(self.yaboot_cfg_dir, logger=self.logger)
def write_autoinstall_snippet(self, file_path, data):
file_path = self.validate_autoinstall_snippet_file_path(file_path, new_snippet=True)
file_full_path = "%s/%s" % (self.snippets_base_dir, file_path)
try:
utils.mkdir(os.path.dirname(file_full_path))
except:
utils.die(self.logger, "unable to create directory for automatic OS installation snippet at %s" % file_path)
fileh = open(file_full_path, "w+")
fileh.write(data)
fileh.close()
def write_autoinstall_template(self, file_path, data):
"""
Write an automatic OS installation template
@param str file_path automatic installation template relative file path
@param str data automatic installation template content
"""
file_path = self.validate_autoinstall_template_file_path(file_path, for_item=False, new_autoinstall=True)
file_full_path = "%s/%s" % (self.templates_base_dir, file_path)
try:
utils.mkdir(os.path.dirname(file_full_path))
except:
utils.die(self.logger, "unable to create directory for automatic OS installation template at %s" % file_path)
fileh = open(file_full_path, "w+")
fileh.write(data)
fileh.close()
return True
def make_tftpboot(self):
"""
Make directories for tftpboot images
"""
if not os.path.exists(self.pxelinux_dir):
utils.mkdir(self.pxelinux_dir, logger=self.logger)
if not os.path.exists(self.grub_dir):
utils.mkdir(self.grub_dir, logger=self.logger)
grub_images_link = os.path.join(self.grub_dir, "images")
if not os.path.exists(grub_images_link):
os.symlink("../images", grub_images_link)
if not os.path.exists(self.images_dir):
utils.mkdir(self.images_dir, logger=self.logger)
if not os.path.exists(self.rendered_dir):
utils.mkdir(self.rendered_dir, logger=self.logger)
if not os.path.exists(self.yaboot_bin_dir):
utils.mkdir(self.yaboot_bin_dir, logger=self.logger)
if not os.path.exists(self.yaboot_cfg_dir):
utils.mkdir(self.yaboot_cfg_dir, logger=self.logger)
def make_tftpboot(self):
"""
Make directories for tftpboot images
"""
if not os.path.exists(self.pxelinux_dir):
utils.mkdir(self.pxelinux_dir, logger=self.logger)
if not os.path.exists(self.grub_dir):
utils.mkdir(self.grub_dir, logger=self.logger)
grub_images_link = os.path.join(self.grub_dir, "images")
if not os.path.exists(grub_images_link):
os.symlink("../images", grub_images_link)
if not os.path.exists(self.images_dir):
utils.mkdir(self.images_dir, logger=self.logger)
if not os.path.exists(self.rendered_dir):
utils.mkdir(self.rendered_dir, logger=self.logger)
if not os.path.exists(self.yaboot_bin_dir):
utils.mkdir(self.yaboot_bin_dir, logger=self.logger)
if not os.path.exists(self.yaboot_cfg_dir):
utils.mkdir(self.yaboot_cfg_dir, logger=self.logger)
def make_tftpboot(self):
"""
Make directories for tftpboot images
"""
if not os.path.exists(self.pxelinux_dir):
utils.mkdir(self.pxelinux_dir, logger=self.logger)
if not os.path.exists(self.grub_dir):
utils.mkdir(self.grub_dir, logger=self.logger)
grub_images_link = os.path.join(self.grub_dir, "images")
if not os.path.exists(grub_images_link):
os.symlink("../images", grub_images_link)
if not os.path.exists(self.images_dir):
utils.mkdir(self.images_dir, logger=self.logger)
if not os.path.exists(self.rendered_dir):
utils.mkdir(self.rendered_dir, logger=self.logger)
if not os.path.exists(self.yaboot_bin_dir):
utils.mkdir(self.yaboot_bin_dir, logger=self.logger)
if not os.path.exists(self.yaboot_cfg_dir):
utils.mkdir(self.yaboot_cfg_dir, logger=self.logger)
"""
if not os.path.exists(self.pxelinux_dir):
utils.mkdir(self.pxelinux_dir, logger=self.logger)
if not os.path.exists(self.grub_dir):
utils.mkdir(self.grub_dir, logger=self.logger)
grub_images_link = os.path.join(self.grub_dir, "images")
if not os.path.exists(grub_images_link):
os.symlink("../images", grub_images_link)
if not os.path.exists(self.images_dir):
utils.mkdir(self.images_dir, logger=self.logger)
if not os.path.exists(self.rendered_dir):
utils.mkdir(self.rendered_dir, logger=self.logger)
if not os.path.exists(self.yaboot_bin_dir):
utils.mkdir(self.yaboot_bin_dir, logger=self.logger)
if not os.path.exists(self.yaboot_cfg_dir):
utils.mkdir(self.yaboot_cfg_dir, logger=self.logger)
repstr = "%s:%s" % (server, hp)
else:
repstr = server
search_table["http_server"] = repstr
for x in list(search_table.keys()):
if type(x) == str:
data_out = data_out.replace("@@%s@@" % str(x), str(search_table[str(x)]))
# remove leading newlines which apparently breaks AutoYAST ?
if data_out.startswith("\n"):
data_out = data_out.lstrip()
# if requested, write the data out to a file
if out_path is not None:
utils.mkdir(os.path.dirname(out_path))
fd = open(out_path, "w+")
fd.write(data_out)
fd.close()
return data_out
(A) output=True, Create local files that can be used with yum on provisioned clients to make use of this mirror.
(B) output=False, Create a temporary file for yum to feed into yum for mirroring
"""
# the output case will generate repo configuration files which are usable
# for the installed systems. They need to be made compatible with --server-override
# which means they are actually templates, which need to be rendered by a cobbler-sync
# on per profile/system basis.
if output:
fname = os.path.join(dest_path, "config.repo")
else:
fname = os.path.join(dest_path, "%s.repo" % repo.name)
self.logger.debug("creating: %s" % fname)
if not os.path.exists(dest_path):
utils.mkdir(dest_path)
config_file = open(fname, "w+")
if not output:
config_file.write("[main]\nreposdir=/dev/null\n")
config_file.write("[%s]\n" % repo.name)
config_file.write("name=%s\n" % repo.name)
optenabled = False
optgpgcheck = False
if output:
if repo.mirror_locally:
line = "baseurl=http://${http_server}/cobbler/repo_mirror/%s\n" % (repo.name)
else:
mstr = repo.mirror
if mstr.startswith("/"):
mstr = "file://%s" % mstr
line = "baseurl=%s\n" % mstr