diff options
-rw-r--r-- | cobbler/item_repo.py | 2 | ||||
-rw-r--r-- | cobbler/utils.py | 9 | ||||
-rw-r--r-- | cobbler/webui/CobblerWeb.py | 199 |
3 files changed, 77 insertions, 133 deletions
diff --git a/cobbler/item_repo.py b/cobbler/item_repo.py index 83a72d39..fe27a8aa 100644 --- a/cobbler/item_repo.py +++ b/cobbler/item_repo.py @@ -177,6 +177,8 @@ class Repo(item.Item): contains games, and we probably don't want those), make it possible to list the packages one wants out of those repos, so only those packages + deps can be mirrored. """ + if rpms is None: + rpms = "" if type(rpms) != list: rpmlist = rpms.split(None) else: diff --git a/cobbler/utils.py b/cobbler/utils.py index 23eefd52..e2d60521 100644 --- a/cobbler/utils.py +++ b/cobbler/utils.py @@ -888,6 +888,8 @@ def mkdir(path,mode=0777): raise CX(_("Error creating") % path) def set_arch(self,arch): + if arch is None or arch == "": + arch = "x86" if arch in [ "standard", "ia64", "x86", "i386", "ppc", "ppc64", "x86_64", "s390x" ]: if arch == "x86" or arch == "standard": # be consistent @@ -897,8 +899,9 @@ def set_arch(self,arch): raise CX(_("arch choices include: x86, x86_64, ppc, ppc64, s390x and ia64")) def set_os_version(self,os_version): - if os_version is None: - raise CX(_("invalid value for --os-version, see manpage")) + if os_version == "" or os_version is None: + self.os_version = "" + return True self.os_version = os_version.lower() if self.breed is None or self.breed == "": raise CX(_("cannot set --os-version without setting --breed first")) @@ -1095,6 +1098,8 @@ def get_kickstart_templates(api): return files.keys() def safe_filter(var): + if var is None: + return if var.find("/") != -1 or var.find(";") != -1: raise CX("Invalid characters found in input") diff --git a/cobbler/webui/CobblerWeb.py b/cobbler/webui/CobblerWeb.py index 82e50567..c5115c19 100644 --- a/cobbler/webui/CobblerWeb.py +++ b/cobbler/webui/CobblerWeb.py @@ -247,22 +247,16 @@ class CobblerWeb(object): self.remote.modify_distro(distro, 'name', name, self.token) self.remote.modify_distro(distro, 'kernel', kernel, self.token) self.remote.modify_distro(distro, 'initrd', initrd, self.token) - if kopts: + if kopts is not None: self.remote.modify_distro(distro, 'kopts', kopts, self.token) - if koptspost: + if koptspost is not None: self.remote.modify_distro(distro, 'kopts-post', koptspost, self.token) - if ksmeta: - self.remote.modify_distro(distro, 'ksmeta', ksmeta, self.token) - if owners: - self.remote.modify_distro(distro, 'owners', owners, self.token) - if arch: - self.remote.modify_distro(distro, 'arch', arch, self.token) - if breed: - self.remote.modify_distro(distro, 'breed', breed, self.token) - if osversion: - self.remote.modify_distro(distro, 'os-version', osversion, self.token) - if comment: - self.remote.modify_distro(distro, 'comment', comment, self.token) + self.remote.modify_distro(distro, 'ksmeta', ksmeta, self.token) + self.remote.modify_distro(distro, 'owners', owners, self.token) + self.remote.modify_distro(distro, 'arch', arch, self.token) + self.remote.modify_distro(distro, 'breed', breed, self.token) + self.remote.modify_distro(distro, 'os-version', osversion, self.token) + self.remote.modify_distro(distro, 'comment', comment, self.token) # now time to save, do we want to run duplication checks? self.remote.save_distro(distro, self.token, editmode) @@ -374,49 +368,29 @@ class CobblerWeb(object): if editmode != "rename" and name: self.remote.modify_system(system, 'name', name, self.token ) self.remote.modify_system(system, 'profile', profile, self.token) - if kopts: - self.remote.modify_system(system, 'kopts', kopts, self.token) - if koptspost: - self.remote.modify_system(system, 'kopts-post', koptspost, self.token) - if ksmeta: - self.remote.modify_system(system, 'ksmeta', ksmeta, self.token) - if owners: - self.remote.modify_system(system, 'owners', owners, self.token) - if netboot: - self.remote.modify_system(system, 'netboot-enabled', netboot, self.token) - if server_override: - self.remote.modify_system(system, 'server', server_override, self.token) - - if virtfilesize: - self.remote.modify_system(system, 'virt-file-size', virtfilesize, self.token) - if virtcpus: - self.remote.modify_system(system, 'virt-cpus', virtcpus, self.token) - if virtram: - self.remote.modify_system(system, 'virt-ram', virtram, self.token) - if virttype: - self.remote.modify_system(system, 'virt-type', virttype, self.token) - if virtpath: - self.remote.modify_system(system, 'virt-path', virtpath, self.token) - - if comment: - self.remote.modify_system(system, 'comment', comment, self.token) - - if power_type: - self.remote.modify_system(system, 'power_type', power_type, self.token) - if power_user: - self.remote.modify_system(system, 'power_user', power_user, self.token) - if power_pass: - self.remote.modify_system(system, 'power_pass', power_pass, self.token) - if power_id: - self.remote.modify_system(system, 'power_id', power_id, self.token) - if power_address: - self.remote.modify_system(system, 'power_address', power_address, self.token) - if name_servers: - self.remote.modify_system(system, 'name_servers', name_servers, self.token) - if gateway: - self.remote.modify_system(system, 'gateway', gateway, self.token) - if hostname: - self.remote.modify_system(system, 'hostname', hostname, self.token) + self.remote.modify_system(system, 'kopts', kopts, self.token) + self.remote.modify_system(system, 'kopts-post', koptspost, self.token) + self.remote.modify_system(system, 'ksmeta', ksmeta, self.token) + self.remote.modify_system(system, 'owners', owners, self.token) + self.remote.modify_system(system, 'netboot-enabled', netboot, self.token) + self.remote.modify_system(system, 'server', server_override, self.token) + + self.remote.modify_system(system, 'virt-file-size', virtfilesize, self.token) + self.remote.modify_system(system, 'virt-cpus', virtcpus, self.token) + self.remote.modify_system(system, 'virt-ram', virtram, self.token) + self.remote.modify_system(system, 'virt-type', virttype, self.token) + self.remote.modify_system(system, 'virt-path', virtpath, self.token) + + self.remote.modify_system(system, 'comment', comment, self.token) + + self.remote.modify_system(system, 'power_type', power_type, self.token) + self.remote.modify_system(system, 'power_user', power_user, self.token) + self.remote.modify_system(system, 'power_pass', power_pass, self.token) + self.remote.modify_system(system, 'power_id', power_id, self.token) + self.remote.modify_system(system, 'power_address', power_address, self.token) + self.remote.modify_system(system, 'name_servers', name_servers, self.token) + self.remote.modify_system(system, 'gateway', gateway, self.token) + self.remote.modify_system(system, 'hostname', hostname, self.token) interfaces = args.get("interface_list","") interfaces = interfaces.split(",") @@ -613,36 +587,21 @@ class CobblerWeb(object): self.remote.modify_profile(profile, 'distro', distro, self.token) if str(subprofile) == "1" and parent: self.remote.modify_profile(profile, 'parent', parent, self.token) - if kickstart: - self.remote.modify_profile(profile, 'kickstart', kickstart, self.token) - if kopts: - self.remote.modify_profile(profile, 'kopts', kopts, self.token) - if koptspost: - self.remote.modify_profile(profile, 'kopts-post', koptspost, self.token) - if owners: - self.remote.modify_profile(profile, 'owners', owners, self.token) - if enablemenu: - self.remote.modify_profile(profile, 'enable-menu', enablemenu, self.token) - if ksmeta: - self.remote.modify_profile(profile, 'ksmeta', ksmeta, self.token) - if virtfilesize: - self.remote.modify_profile(profile, 'virt-file-size', virtfilesize, self.token) - if virtram: - self.remote.modify_profile(profile, 'virt-ram', virtram, self.token) - if virttype: - self.remote.modify_profile(profile, 'virt-type', virttype, self.token) - if virtpath: - self.remote.modify_profile(profile, 'virt-path', virtpath, self.token) - if virtbridge: - self.remote.modify_profile(profile, 'virt-bridge', virtbridge, self.token) - if virtcpus: - self.remote.modify_profile(profile, 'virt-cpus', virtcpus, self.token) - if server_override: - self.remote.modify_profile(profile, 'server', server_override, self.token) - if comment: - self.remote.modify_profile(profile, 'comment', comment, self.token) - if name_servers: - self.remote.modify_profile(profile, 'name_servers', name_servers, self.token) + self.remote.modify_profile(profile, 'kickstart', kickstart, self.token) + self.remote.modify_profile(profile, 'kopts', kopts, self.token) + self.remote.modify_profile(profile, 'kopts-post', koptspost, self.token) + self.remote.modify_profile(profile, 'owners', owners, self.token) + self.remote.modify_profile(profile, 'enable-menu', enablemenu, self.token) + self.remote.modify_profile(profile, 'ksmeta', ksmeta, self.token) + self.remote.modify_profile(profile, 'virt-file-size', virtfilesize, self.token) + self.remote.modify_profile(profile, 'virt-ram', virtram, self.token) + self.remote.modify_profile(profile, 'virt-type', virttype, self.token) + self.remote.modify_profile(profile, 'virt-path', virtpath, self.token) + self.remote.modify_profile(profile, 'virt-bridge', virtbridge, self.token) + self.remote.modify_profile(profile, 'virt-cpus', virtcpus, self.token) + self.remote.modify_profile(profile, 'server', server_override, self.token) + self.remote.modify_profile(profile, 'comment', comment, self.token) + self.remote.modify_profile(profile, 'name_servers', name_servers, self.token) if repos is None: repos = [] @@ -653,8 +612,7 @@ class CobblerWeb(object): repos.remove( '--none--' ) self.remote.modify_profile(profile, 'repos', repos, self.token) - if dhcptag: - self.remote.modify_profile(profile, 'dhcp-tag', dhcptag, self.token) + self.remote.modify_profile(profile, 'dhcp-tag', dhcptag, self.token) self.remote.save_profile(profile,self.token, editmode) except Exception, e: log_exc(self.apache) @@ -760,20 +718,13 @@ class CobblerWeb(object): self.remote.modify_repo(repo, 'priority', priority, self.token) self.remote.modify_repo(repo, 'mirror-locally', mirror_locally, self.token) - if rpm_list: - self.remote.modify_repo(repo, 'rpm-list', rpm_list, self.token) - if createrepo_flags: - self.remote.modify_repo(repo, 'createrepo-flags', createrepo_flags, self.token) - if arch: - self.remote.modify_repo(repo, 'arch', arch, self.token) - if yumopts: - self.remote.modify_repo(repo, 'yumopts', yumopts, self.token) - if environment: - self.remote.modify_repo(repo, 'environment', environment, self.token) - if owners: - self.remote.modify_repo(repo, 'owners', owners, self.token) - if comment: - self.remote.modify_repo(repo, 'comment', comment, self.token) + self.remote.modify_repo(repo, 'rpm-list', rpm_list, self.token) + self.remote.modify_repo(repo, 'createrepo-flags', createrepo_flags, self.token) + self.remote.modify_repo(repo, 'arch', arch, self.token) + self.remote.modify_repo(repo, 'yumopts', yumopts, self.token) + self.remote.modify_repo(repo, 'environment', environment, self.token) + self.remote.modify_repo(repo, 'owners', owners, self.token) + self.remote.modify_repo(repo, 'comment', comment, self.token) self.remote.save_repo(repo, self.token, editmode) @@ -883,34 +834,20 @@ class CobblerWeb(object): try: if editmode != "rename" and name: self.remote.modify_image(image, 'name', name, self.token) - if imagetype is not None: - self.remote.modify_image(image, 'image-type', imagetype, self.token) - if breed is not None: - self.remote.modify_image(image, 'breed', breed, self.token) - if osversion is not None: - self.remote.modify_image(image, 'os-version', osversion, self.token) - if arch is not None: - self.remote.modify_image(image, 'arch', arch, self.token) - if file is not None: - self.remote.modify_image(image, 'file', file, self.token) - if owners is not None: - self.remote.modify_image(image, 'owners', owners, self.token) - if virtcpus is not None: - self.remote.modify_image(image, 'virt-cpus', virtcpus, self.token) - if networkcount is not None: - self.remote.modify_image(image, 'network-count', networkcount, self.token) - if virtfilesize is not None: - self.remote.modify_image(image, 'virt-file-size', virtfilesize, self.token) - if virtpath is not None: - self.remote.modify_image(image, 'virt-path', virtpath, self.token) - if virtbridge is not None: - self.remote.modify_image(image, 'virt-bridge', virtbridge, self.token) - if virtram is not None: - self.remote.modify_image(image, 'virt-ram', virtram, self.token) - if virttype is not None: - self.remote.modify_image(image, 'virt-type', virttype, self.token) - if comment: - self.remote.modify_image(image, 'comment', comment, self.token) + self.remote.modify_image(image, 'image-type', imagetype, self.token) + self.remote.modify_image(image, 'breed', breed, self.token) + self.remote.modify_image(image, 'os-version', osversion, self.token) + self.remote.modify_image(image, 'arch', arch, self.token) + self.remote.modify_image(image, 'file', file, self.token) + self.remote.modify_image(image, 'owners', owners, self.token) + self.remote.modify_image(image, 'virt-cpus', virtcpus, self.token) + self.remote.modify_image(image, 'network-count', networkcount, self.token) + self.remote.modify_image(image, 'virt-file-size', virtfilesize, self.token) + self.remote.modify_image(image, 'virt-path', virtpath, self.token) + self.remote.modify_image(image, 'virt-bridge', virtbridge, self.token) + self.remote.modify_image(image, 'virt-ram', virtram, self.token) + self.remote.modify_image(image, 'virt-type', virttype, self.token) + self.remote.modify_image(image, 'comment', comment, self.token) self.remote.save_image(image, self.token, editmode) except Exception, e: |