[PATCH] proposed 2.1.0 CHANGELOG updates
by Michael MacDonald
Hi all. In the interest of getting 2.1.0 out the door, I've agreed to help with getting the changelog updates together. Hopefully I've captured all the relevant updates. Please let me know if I've missed anything important, and I'll resubmit. I included the updates for 2.0.8/2.0.9 because they hadn't been merged back to master.
diff --git a/CHANGELOG b/CHANGELOG
index 33e9d46..2d6204c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,41 @@
Cobbler CHANGELOG
+- Mar ?? 2011 - 2.1.0
+- (FEAT) enhanced config mgmt capabilities
+- (BUGF) add a check to make sure system is in obj_types before removing it
+- (BUGF) fix for keep_ssh_host_keys snippet on Fedora 13+
+- (BUGF) re-enable debian/ubuntu support
+- (BUGF) fix compatibility problem with cheetah >= 2.4.2
+- (BUGF) fix for trac #541 - cobbler sync deletes /var/www/cobbler/pub
+- (BUGF) fix for trac #587 - Un-escaped '$' in snippet silently fails to render
+- (BUGF) copy memtest to $bootloc/images/. Fixes BZ#663307
+- (FEAT) allow dlcontent to use proxy environment variables
+- (FEAT) implement system power status API method and CLI command
+- (FEAT) add manage_rsync option which defaults to 0
+- (FEAT) add --sync-all option to cobbler replicate
+- (BUGF) fix trac#574 memtest
+- (BUGF) fix for trac #509/#510 -- can't build iso with web UI
+- (FEAT) add VMware ESX and ESXi support
+- (FEAT) add FreeBSD support (includes pytftpd)
+- (FEAT) add batch delete option for profiles and mgmtclasses
+- (BUGF) restore --no-fail functionality to CLI reposync
+- (FEAT) add firstboot install trigger mode
+
+- Dec 8 2010 - 2.0.9
+- (BUGF) Install several templates that were needed
+- (BUGF) Ensure kernel_path is expanded in pxe templates
+- (BUGF) Place qemu_driver_type on other image creators that don't use it so they work
+
+- Dec 3 2010 - 2.0.8
+- (FEAT) PXE
+- (BUGF) Support EL6 and FC14 (and FC15)
+- (FEAT) Ability to force path in koan to overwrite existing files
+- (BUGF) Rename repos instead of deleting them
+- (BUGF) True daemonize
+- (BUGF) Debian cleanups
+- (FEAT) Allow qemu disk type to be specified
+- (BUGF) Close file descriptors so we don't leak listen ports
+- (BUGF) Prefer ethtool over rhpl
+
- Nov 29 2010
- (FEAT) --force-path to overwrite virt-path file location
13 years, 1 month
keep_ssh_host_keys doesn't correctly set SElinux context on SL6 installs
by Jonathan Underwood
Hi,
Following a reinstallation of a machine with Scientific Linux 6, the
reinstalled ssh keys seem to have the wrong SElinux context, eg.
Immediately after reinstall:
ls -lZ /etc/ssh/ssh_host_dsa_key
-rw-------. root root system_u:object_r:file_t:s0 /etc/ssh/ssh_host_dsa_key
... which prevents sshd starting.
Upon regenerating the keys:
ls -lZ /etc/ssh/ssh_host_dsa_key
-rw-------. root root unconfined_u:object_r:sshd_key_t:s0
/etc/ssh/ssh_host_dsa_key
and sshd starts fine.
J.
13 years, 1 month
[PATCH] fix indentation on line 71 of cobblerd.py
by Jonathan Sabo
Small indentation issue.
diff --git a/cobbler/cobblerd.py b/cobbler/cobblerd.py
index 0340446..e00ad79 100644
--- a/cobbler/cobblerd.py
+++ b/cobbler/cobblerd.py
@@ -68,7 +68,7 @@ def regen_ss_file():
if utils.check_dist() in [ "debian", "ubuntu" ]:
http_user = "www-data"
utils.os_system("chown %s /var/lib/cobbler/web.ss"%http_user )
- else:
+ else:
fd = open(ssfile,"w+")
fd.write(binascii.hexlify(data))
fd.close()
13 years, 1 month
keep_ssh_host_keys snippet causing kernel
by Jürgen Schilp
Hi,
I encounter the same problem as described in an old thread.
In my case I use the cobbler integrated in Redhat Satellite and what to
use the keep_rhn_host_keys snippet. I found that a got always a kernel
panic when a mount is done on an lvm or swap partition.
E.g. the previous installation has following partition layout:
# fdisk -l /dev/cciss/c0d0
Disk /dev/cciss/c0d0: 440.3 GB, 440345714688 bytes
255 heads, 63 sectors/track, 53535 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/cciss/c0d0p1 * 1 25 200781 83 Linux
/dev/cciss/c0d0p2 26 53535 429819075 8e Linux LVM
If you create a small snippet with following content:
mkdir /tmp/aaaaa
mount /dev/cciss/c0d0p2 /tmp/aaaaa
The mount fails as expected but after the new partitions are created and
formatted the kernel panic occurs.
Does anybody encounter the same problem?
Thanks
Jürgen
13 years, 1 month
some patch suggestions about SUSE support
by Uwe Gansert
Hi,
let me introduce quickly. I'm Uwe Gansert and I'm working for Novell in
Nuremberg Germany where one of my main tasks is to maintain AutoYaST.
While I was working on SUSE Manager too (which is based on the Spacewalk
project) I stumbled across cobbler and I built packages for openSUSE 11.4 and
SLES11.
While doing so, I did some patches that I want to sent you now and I hope we
can discuss about them and use them later in the upstream.
I did the patches today against git master.
As you can see, the patch for autoyast support and for supporting the
different pathes on SUSE are the biggest ones.
I'm not sure if you like the way I fixed the pathes problem but at least you
can use the patch to see where we have problems with pathes on SUSE.
The autoyast patch should make no trouble. It does not touch kickstart code
but just enhances cobbler to be able to deal with autoyast XML files.
Feel free to use the patches and if you have questions, just ask. That was my
first time I got in touch with python so maybe it looks a bit perlish
sometimes ;)
I have a patch for the init-script and the spec file too. I'll send them
later, they need some more cleanup.
--
ciao, Uwe Gansert
Uwe Gansert
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)
Business: http://www.suse.de/~ug
13 years, 2 months
[PATCH] Fix old style shell triggers
by Jonathan Sabo
Hello,
https://github.com/jsabo/cobbler/commit/c1b321919d9b0d538ece19d7d855a64e2...
Old style shell triggers aren't working right now. I saw a ticket
https://fedorahosted.org/cobbler/ticket/530 and I think someone
applied that code but it didn't fix the issue or maybe it was another
issue? Anyway when you run old style post install triggers it's
throwing an exception.
So if you use the kickstart_done snippet it runs something like this:
wget "http://192.168.69.3/cblr/svc/op/ks/system/testvm1-sab0" -O
/var/log/cobbler.ks
wget "http://192.168.69.3/cblr/svc/op/trig/mode/post/system/testvm1-sab0"
-O /dev/null
wget "http://192.168.69.3/cblr/svc/op/nopxe/system/testvm1-sab0" -O /dev/null
Running that manually results in:
[root@cobbler1-sab0 post]# wget
"http://192.168.69.3/cblr/svc/op/trig/mode/post/system/testvm1-sab0"
-O /dev/null
--15:42:45-- http://192.168.69.3/cblr/svc/op/trig/mode/post/system/testvm1-sab0
Connecting to 192.168.69.3:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4 [text/plain]
Saving to: `/dev/null'
100%[====================================================================================================================================================================================================>]
4 --.-K/s in 0s
15:42:45 (434 KB/s) - `/dev/null' saved [4/4]
[root@cobbler1-sab0 post]# Tue Mar 8 15:42:45 2011 - INFO | REMOTE
run_install_triggers; user(?)
Tue Mar 8 15:42:45 2011 - DEBUG | running python triggers from
/var/lib/cobbler/triggers/install/post/*
Tue Mar 8 15:42:45 2011 - DEBUG | running python trigger
cobbler.modules.install_post_log
Tue Mar 8 15:42:45 2011 - DEBUG | running python trigger
cobbler.modules.install_post_report
Tue Mar 8 15:42:45 2011 - DEBUG | running python trigger
cobbler.modules.install_post_power
Tue Mar 8 15:42:45 2011 - DEBUG | running shell triggers from
/var/lib/cobbler/triggers/install/post/*
Tue Mar 8 15:42:45 2011 - DEBUG | running shell trigger
/var/lib/cobbler/triggers/install/post/test.sh
Tue Mar 8 15:42:45 2011 - INFO | running:
['/var/lib/cobbler/triggers/install/post/test.sh', 'system',
'testvm1-sab0', None]
Tue Mar 8 15:42:45 2011 - WARNING | failed to execute trigger:
/var/lib/cobbler/triggers/install/post/test.sh
It doesn't like the None.
So here is a patch that checks for it before we add the args to the
arg list and also fix the indentation. It was 4 and then 3 spaces
sometimes....
Now it looks like:
[root@cobbler1-sab0 post]# wget
"http://192.168.69.3/cblr/svc/op/trig/mode/post/system/testvm1-sab0"
-O /dev/null
--15:46:22-- http://192.168.69.3/cblr/svc/op/trig/mode/post/system/testvm1-sab0
Connecting to 192.168.69.3:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4 [text/plain]
Saving to: `/dev/null'
100%[====================================================================================================================================================================================================>]
4 --.-K/s in 0s
15:46:22 (391 KB/s) - `/dev/null' saved [4/4]
[root@cobbler1-sab0 post]# Tue Mar 8 15:46:22 2011 - INFO | REMOTE
run_install_triggers; user(?)
Tue Mar 8 15:46:22 2011 - DEBUG | running python triggers from
/var/lib/cobbler/triggers/install/post/*
Tue Mar 8 15:46:22 2011 - DEBUG | running python trigger
cobbler.modules.install_post_log
Tue Mar 8 15:46:22 2011 - DEBUG | running python trigger
cobbler.modules.install_post_report
Tue Mar 8 15:46:22 2011 - DEBUG | running python trigger
cobbler.modules.install_post_power
Tue Mar 8 15:46:22 2011 - DEBUG | running shell triggers from
/var/lib/cobbler/triggers/install/post/*
Tue Mar 8 15:46:22 2011 - DEBUG | running shell trigger
/var/lib/cobbler/triggers/install/post/test.sh
Tue Mar 8 15:46:22 2011 - INFO | running:
['/var/lib/cobbler/triggers/install/post/test.sh', 'system',
'testvm1-sab0']
Tue Mar 8 15:46:22 2011 - INFO | received on stdout: Hi, my name is
system testvm1-sab0 and I'm a newly added system
Tue Mar 8 15:46:22 2011 - DEBUG | received on stderr:
13 years, 2 months
[PATCH] Bugfix: restore --no-fail functionality to CLI reposync
by Ian Ward Comfort
The --no-fail option to "cobbler reposync" has not been respected since the
2.0 conversion of the CLI to use the remote API. Fix this by checking for the
option in CobblerXMLRPCInterface.background_reposync. Default behavior (viz.
nofail=True when repositories are specified, nofail=False otherwise) is
maintained.
---
This patch (based on stable) can also be pulled from:
cobbler-devel(a)lists.fedorahosted.org fix-reposync-no-fail
cobbler/remote.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/cobbler/remote.py b/cobbler/remote.py
index 756e9ec..05f5462 100644
--- a/cobbler/remote.py
+++ b/cobbler/remote.py
@@ -233,14 +233,15 @@ class CobblerXMLRPCInterface:
only = options.get("only", None)
if only is not None:
repos = [ only ]
+ nofail = options.get("nofail", len(repos) > 0)
if len(repos) > 0:
for name in repos:
self.remote.api.reposync(tries=self.options.get("tries",
- 3), name=name, nofail=True, logger=self.logger)
+ 3), name=name, nofail=nofail, logger=self.logger)
else:
self.remote.api.reposync(tries=self.options.get("tries",3),
- name=None, nofail=False, logger=self.logger)
+ name=None, nofail=nofail, logger=self.logger)
return True
return self.__start_task(runner, token, "reposync", "Reposync", options)
--
1.7.3.2
13 years, 2 months
[PATCH] Add replication for the new file, package, and mgmtclass items.
by Jonathan Sabo
Right now replication is busted in the git master because we're
missing the rest of the replication bit's for the item's that were
recently added. This patch should get that working again.
I had some questions about the initial depth level for the new
objects. I decided to make them start at 2 like the repo items but
I'm not entirely sure why they start at 2.
Can someone explain to me why the default object value's are all different?
item_distro.py: [ "depth",0,0,"Depth",False,"",0,"int"],
item_image.py: ['depth',0,0,"",False,"",0,"int"],
item_profile.py: ["depth",1,1,"",False,"",0,"int"],
item_repo.py: ["depth",2,0,"",False,"",0,"float"],
item_system.py: ["depth",2,0,"",False,"",0,"int"],
Distro starts at 0 as does image, profiles are at 1 because they are a
level down the hierarchy from distros? Are systems at 2 because they
are another level down the hierarchy from profiles? I don't get why
repo's are set at 2 or why it's a float but I think mgmtclasses are
like repo's in that they can be assigned to distro's, profile's, or
systems so I just chose 2.
https://github.com/jsabo/cobbler/commit/b3d2cd3ae8ed5854b9d2ce2fc2f0a0433...
Thanks,
Jonathan
13 years, 2 months
[PATCH] Add vmware esx and esxi replication
by Jonathan Sabo
Hello,
I swear I've added the VMware ESX replication code before..... but
it's not in the git master so here that is again along with code to
allow VMware ESXI to replicate too.
https://github.com/jsabo/cobbler/commit/5b95613a3f76ee9c27be93fd47d1cdabe...
You can see it work here (works at my chair!)...
[root@cobbler2-sab0 ~]# cobbler replicate --master=192.168.69.3 --sync-all
task started: 2011-03-07_121327_replicate
task started (id=Replicate, time=Mon Mar 7 12:13:27 2011)
cobbler_master = 192.168.69.3
profile_patterns = []
system_patterns = []
repo_patterns = []
image_patterns = []
mgmtclass_patterns = []
package_patterns = []
file_patterns = []
omit_data = False
sync_all = True
using CLI defined master
XMLRPC endpoint: http://192.168.69.3/cobbler_api
test ALPHA
test BETA
Querying Both Servers
remote names struct is {'profile': ['rhel5u5-xen-x86_64',
'sup-vmware-esxi-4.1-x86_64', 'rhel5u5-x86_64',
'vmware-esxi4.1-x86_64', 'sup-rhel5u5-x86_64'], 'package': [],
'mgmtclass': ['snmp-config', 'ntp-config', 'interface-config', 'base',
'puppetd-install'], 'image': [], 'system': ['testvm1-sab0',
'vm1-sab0'], 'repo': [], 'file': [], 'distro': ['rhel5u5-xen-x86_64',
'rhel5u5-x86_64', 'vmware-esxi4.1-x86_64']}
transfer list for distro is ['rhel5u5-xen-x86_64', 'rhel5u5-x86_64',
'vmware-esxi4.1-x86_64']
transfer list for profile is ['rhel5u5-xen-x86_64',
'sup-vmware-esxi-4.1-x86_64', 'rhel5u5-x86_64',
'vmware-esxi4.1-x86_64', 'sup-rhel5u5-x86_64']
transfer list for system is ['testvm1-sab0', 'vm1-sab0']
transfer list for repo is []
transfer list for image is []
transfer list for mgmtclass is ['interface-config', 'ntp-config',
'snmp-config', 'base', 'puppetd-install']
transfer list for package is []
transfer list for file is []
*NOT* Removing Objects Not Stored On Master
Rsyncing distros
Rsyncing distro rhel5u5-xen-x86_64
....
Removing Objects Not Stored On Local
adding system testvm1-sab0
adding system vm1-sab0
adding mgmtclass interface-config
adding mgmtclass ntp-config
adding mgmtclass base
adding mgmtclass snmp-config
adding mgmtclass puppetd-install
Updating Objects Newer On Remote
Linking Distro rhel5u5-xen-x86_64
Linking Distro rhel5u5-x86_64
Linking Distro vmware-esxi4.1-x86_64
Syncing
Done
*** TASK COMPLETE ***
13 years, 2 months