Skip to content

Commit

Permalink
Packages for nsupdate module
Browse files Browse the repository at this point in the history
  • Loading branch information
adrb committed May 15, 2014
1 parent 2ffa161 commit 73c1286
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 23 deletions.
32 changes: 25 additions & 7 deletions cobbler.spec
Expand Up @@ -62,7 +62,6 @@ Requires: createrepo
Requires: python-netaddr
Requires: python-simplejson
Requires: python-urlgrabber
Requires: python-dns
Requires: rsync
Requires: syslinux
Requires: yum-utils
Expand Down Expand Up @@ -138,8 +137,6 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
%{__python} setup.py install --optimize=1 --root=$RPM_BUILD_ROOT $PREFIX

# cobbler
rm $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobbler.conf

mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
mv $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd_rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/cobblerd

Expand All @@ -148,7 +145,6 @@ mkdir -p $RPM_BUILD_ROOT%{tftp_dir}/images
%if 0%{?rhel} == 6
# sysvinit
mkdir -p %{_sysconfdir}/init.d
mv $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd $RPM_BUILD_ROOT%{_sysconfdir}/init.d/cobblerd
rm $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd.service
%else
# systemd
Expand All @@ -158,9 +154,6 @@ mkdir -p $RPM_BUILD_ROOT%{_unitdir}
mv $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobblerd.service $RPM_BUILD_ROOT%{_unitdir}
%endif

# cobbler-web
rm $RPM_BUILD_ROOT%{_sysconfdir}/cobbler/cobbler_web.conf

# koan
mkdir -p $RPM_BUILD_ROOT/var/spool/koan

Expand Down Expand Up @@ -271,9 +264,13 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
%{python_sitelib}/cobbler
%{python_sitelib}/cobbler*.egg-info
%exclude %{python_sitelib}/koan
%exclude %{python_sitelib}/cobbler/modules/nsupdate*


# configuration
%config(noreplace) %{_sysconfdir}/cobbler
%exclude %{_sysconfdir}/cobbler/settings.d/nsupdate.settings

%config(noreplace) %{_sysconfdir}/logrotate.d/cobblerd
%dir %{apache_etc}
%dir %{apache_etc}/conf.d
Expand Down Expand Up @@ -405,6 +402,27 @@ sed -i -e "s/SECRET_KEY = ''/SECRET_KEY = \'$RAND_SECRET\'/" /usr/share/cobbler/
%dir %attr(700,%{apache_user},%{apache_group}) /var/lib/cobbler/webui_sessions
%endif

#
# package: cobbler-nsupdate
#

%package -n cobbler-nsupdate

Summary: module for dynamic dns updates
Group: Applications/System
Requires: cobbler
Requires: python-dns

%description -n cobbler-nsupdate
Cobbler module providing secure dynamic dns updates

%files -n cobbler-nsupdate
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/cobbler/settings.d/nsupdate.settings
%{python_sitelib}/cobbler/modules/nsupdate*

%doc AUTHORS COPYING README


%changelog
* Sun Apr 12 2014 Jörgen Maas <jorgen.maas@gmail.com> 2.6.0
Expand Down
7 changes: 7 additions & 0 deletions cobbler/modules/serializer_catalog.py
Expand Up @@ -170,6 +170,13 @@ def deserialize_raw(collection_type):
fd = open("/etc/cobbler/settings")
datastruct = yaml.safe_load(fd.read())
fd.close()

# include support
for ival in datastruct.get("include", []):
for ifile in glob.glob(ival):
with open(ifile,'r') as fd:
datastruct.update( yaml.safe_load(fd.read()) )

return datastruct
else:
results = []
Expand Down
13 changes: 2 additions & 11 deletions config/settings
Expand Up @@ -453,15 +453,6 @@ replicate_repo_rsync_options: "-avzH"
# always write DHCP entries, regardless if netboot is enabled
always_write_dhcp_entries: 0

# set to 1 to enable Cobbler's dynamic DNS updates.
nsupdate_enabled: 1

# define tsig key
# please don't use this one, instead generate your own:
# dnssec-keygen -a HMAC-SHA512 -b 512 -n USER cobbler_update_key
nsupdate_tsig_algorithm: "hmac-sha512"
nsupdate_tsig_key: [ "cobbler_update_key.", "hvnK54HFJXFasHjzjEn09ASIkCOGYSnofRq4ejsiBHz3udVyGiuebFGAswSjKUxNuhmllPrkI0HRSSmM2qvZug==" ]

# if set, enables logging to that file
nsupdate_log: "/var/log/cobbler/nsupdate.log"
# include other snippets
include: [ "/etc/cobbler/settings.d/*.settings" ]

6 changes: 6 additions & 0 deletions debian/changelog
@@ -1,3 +1,9 @@
cobbler (2.6.0-1.3) unstable; urgency=low

* Package "cobbler-nsupdate" for nsupdate module

-- Adrian Brzezinski <adrbxx@gmail.com> Wed, 14 May 2014 08:23:38 +0200

cobbler (2.6.0-1.2) unstable; urgency=low

* Set proper paths in config files
Expand Down
1 change: 1 addition & 0 deletions debian/cobbler.dirs
Expand Up @@ -7,6 +7,7 @@ etc/cobbler/power
etc/cobbler/pxe
etc/cobbler/reporting
etc/cobbler/zone_templates
etc/cobbler/settings.d
var/log/cobbler/anamon
var/log/cobbler/kicklog
var/log/cobbler/syslog
Expand Down
9 changes: 8 additions & 1 deletion debian/control
Expand Up @@ -8,7 +8,7 @@ Homepage: https://fedoraproject.org/cobbler

Package: cobbler
Architecture: all
Depends: ${python:Depends}, python, apache2, libapache2-mod-python, python-support, python-yaml, python-netaddr, python-cheetah, python-dnspython, debmirror, syslinux | syslinux-common
Depends: ${python:Depends}, python, apache2, libapache2-mod-python, python-support, python-yaml, python-netaddr, python-cheetah, debmirror, syslinux | syslinux-common
Suggests: rsync, tftpd-hpa, mkisofs, tftpd-hpa, dhcp3-server, createrepo
Description: Install server
Cobbler is a network install server. Cobbler
Expand All @@ -30,3 +30,10 @@ Description: kickstart-over-a-network (koan)
Koan stands for kickstart-over-a-network.
It's a Cobbler helper tool that supports virtualized guests installs
and reinstalling existing Linux machines.

Package: cobbler-nsupdate
Architecture: all
Depends: cobbler, python-dnspython
Description: module for dynamic dns updates
Cobbler module providing secure dynamic dns updates

6 changes: 6 additions & 0 deletions debian/rules
Expand Up @@ -22,3 +22,9 @@ override_dh_auto_test:
override_dh_auto_install:
python setup.py install -f --optimize=1 --install-layout=deb --root=$(CURDIR)/debian/tmp --prefix=/usr/

override_dh_install:

rm $(CURDIR)/debian/tmp/etc/cobbler/settings.d/nsupdate*
rm $(CURDIR)/debian/tmp/usr/lib/python*/dist-packages/cobbler/modules/nsupdate*
dh_install

6 changes: 2 additions & 4 deletions setup.py
Expand Up @@ -628,11 +628,9 @@ def run(self):
("%sloaders" % libpath, []),
("%scobbler/aux" % webroot, glob("aux/*")),
#Configuration
("%s" % etcpath, ["build/config/cobbler.conf",
"build/config/cobbler_web.conf",
"build/config/cobblerd",
"build/config/cobblerd.service",
("%s" % etcpath, [ "build/config/cobblerd.service",
"build/config/settings"]),
("%ssettings.d" % etcpath, glob("config/settings.d/*")),
("%s" % etcpath, ["config/auth.conf",
"config/cheetah_macros",
"config/cobbler_bash",
Expand Down

0 comments on commit 73c1286

Please sign in to comment.