summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MANIFEST.in1
-rw-r--r--Makefile19
-rw-r--r--cobbler.pod67
-rw-r--r--cobbler/IPy.py (renamed from IPy.py)0
-rw-r--r--cobbler/api.py (renamed from api.py)0
-rw-r--r--cobbler/check.py (renamed from check.py)0
-rwxr-xr-xcobbler/cobbler.py (renamed from cobbler.py)2
-rw-r--r--cobbler/config.py (renamed from config.py)0
-rw-r--r--cobbler/msg.py (renamed from msg.py)0
-rw-r--r--cobbler/sync.py (renamed from sync.py)0
-rw-r--r--cobbler/util.py (renamed from util.py)0
-rw-r--r--examples/example_cfg (renamed from example_cfg)0
-rw-r--r--examples/example_ks (renamed from example_ks)0
-rw-r--r--help.txt61
-rw-r--r--python-yaml-0.25-3.noarch.rpmbin42119 -> 0 bytes
-rw-r--r--test/tests.py (renamed from test.py)0
16 files changed, 52 insertions, 98 deletions
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..f1323dd
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1 @@
+include cobbler.1.gz
diff --git a/Makefile b/Makefile
index ad90129..f70589d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,23 @@
-all: manpage
+all: clean test manpage install
+
+clean:
+ -(rm *.gz)
+ -(rm *.rpm)
+ -(rm -r cobbler-*)
+ -(rm -rf ./dist)
+ -(rm -rf ./build)
+ -(rm MANIFEST)
manpage:
pod2man --center="cobbler" --release="" cobbler.pod > cobbler.1
-(\rm cobbler.1.gz)
gzip cobbler.1
- cp -f cobbler.1.gz /usr/share/man/man1
+
+test:
+ python test/tests.py
install:
- echo "(install not implemented)"
+ python setup.py sdist
+ cp dist/*.gz .
+ rpmbuild --define "_topdir %(pwd)" --define "_builddir %{_topdir}" --define "_rpmdir %{_topdir}" --define "_srcrpmdir %{_topdir}" --define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' --define "_specdir %{_topdir}" --define "_sourcedir %{_topdir}" -ba cobbler.spec
+
diff --git a/cobbler.pod b/cobbler.pod
index 3932b8a..90ed452 100644
--- a/cobbler.pod
+++ b/cobbler.pod
@@ -1,16 +1,17 @@
=head1 NAME
-bootconf is a command line tool for configuration of bare-metal PXE and Xen provisioning servers. It is also accessible as a Python library.
+cobbler is a command line tool for simplified configuration of provisioning servers. It is also accessible as a Python library. Cobbler supports PXE, Xen, and re-provisioning an existing Linux system via auto-kickstart. The last two modes require 'koan' to be run on the remote system.
+
=head1 SYNOPSIS
-bootconf command [subcommand] [--arg1=] [--arg2=]
+cobbler command [subcommand] [--arg1=] [--arg2=]
=head1 DESCRIPTION
Configuration of a PXE boot server involves setting up a tftpd server, a dhcpd server, syslinux, and creating semi-complex configuration file trees.
-Bootconf makes these things faster, simpler, and more flexible. It also does the same things for provisioning Xen as it does for PXE -- allowing the same repository to deploy PXE and Xen while remaining fairly agnostic to the differences between them. The client-side tool for xen is xen-net-install.
+Bootconf makes these things faster, simpler, and more flexible. It also does the same things for provisioning Xen as it does for PXE -- allowing the same repository to deploy PXE and Xen while remaining fairly agnostic to the differences between them. The client-side tool for xen is 'koan'. 'koan' also supports a method of re-provisioning a running Linux OS without doing PXE. See the documentation on koan for more details.
=head1 INSTRUCTIONS FOR PXE
@@ -24,68 +25,68 @@ You'll also need FTP, HTTP, or NFS to serve kickstarts (if you want kickstarts).
...
vi /etc/dhcpd.conf
-B<bootconf check>
+B<cobbler check>
This verifies that prerequisites are properly installed and configured.
Any problems should be corrected, except unless the DHCP server is on another machine, in which case those errors can be ignored.
-B<bootconf distro add --name=<string> --kernel=<path> --initrd=<path> [--kopts=<string>]>
+B<cobbler distro add --name=<string> --kernel=<path> --initrd=<path> [--kopts=<string>]>
-Defines a distribution. Minimally, this is a matched set of an initrd and a kernel that has a name, such as 'fc5-i386' or 'rhel4-x86_64'. Here you can also override and extend the default kernel options ('kopts') specified in /etc/bootconf.conf (kernel options are a comma seperated list of key=value pairs).
+Defines a distribution. Minimally, this is a matched set of an initrd and a kernel that has a name, such as 'fc5-i386' or 'rhel4-x86_64'. Here you can also override and extend the default kernel options ('kopts') specified in /etc/cobbler.conf (kernel options are a comma seperated list of key=value pairs).
-B<bootconf profile add --name=group_name --distro=<name> [--kickstart=<url>] [--kopts=<string>] [--xen-name=<string>] [--xen-file-size=<gigabytes>] [--xen-ram=<megabytes>] [--xen-mac=<MAC> [--xen-paravirt=true|false]
+B<cobbler profile add --name=group_name --distro=<name> [--kickstart=<url>] [--kopts=<string>] [--xen-name=<string>] [--xen-file-size=<gigabytes>] [--xen-ram=<megabytes>] [--xen-mac=<MAC> [--xen-paravirt=true|false]
Defines a provisioning profile, which is a distro, some other optional parameters, and a name for the profile. Almost always you will want to specify a kickstart file. Kickstarts can be nfs://, http://, or ftp:// -- or an absolute path. For file paths, cobbler will copy the kickstarts and serve them up as http.
-For Xen parameters, xen-net-install may interpret some parameters as hints, not absolutes, if it has to resolve conflicts. All of these Xen parameters are optional, though as many as possible should be specified if you don't want to risk xen-net-install's defaults.
+For Xen parameters, koan may interpret some parameters as hints, not absolutes, if it has to resolve conflicts. All of these Xen parameters are optional, though as many as possible should be specified if you don't want to risk koan making it's own decisions.
-B<bootconf system add --name=<ip|mac|hostname> --profile=<name1> [--kopts=<string>]>
+B<cobbler system add --name=<ip|mac|hostname> --profile=<name1> [--kopts=<string>]>
-Correlates a system name (an IP, hostname, or MAC address of a bare-metal system or a Xen dom0) with a PXE profile to be deployed to the system. For Xen, system configurations are *not* relevant -- xen-net-install run on the dom0 decides what profiles will be installed.
+Correlates a system name (an IP, hostname, or MAC address of a bare-metal system or a Xen dom0) with a PXE profile to be deployed to the system. For Xen, system configurations are *not* relevant -- koan when run on the dom0 decides what profiles will be installed.
=head1 LIST OPERATIONS
-B<bootconf distro list>
-B<bootconf profile list>
-B<bootconf system list>
+B<cobbler distro list>
+B<cobbler profile list>
+B<cobbler system list>
These commands list the current configuration.
-B<bootconf trace <ip|hostname|mac>>
+B<cobbler trace <ip|hostname|mac>>
Trace shows what is configured to deploy to a certain system
=head1 DELETING ENTRIES
-B<bootconf distro remove --name=<string>>
-B<bootconf profile remove --name=<string>>
-B<bootconf system remove --name=<string>>
+B<cobbler distro remove --name=<string>>
+B<cobbler profile remove --name=<string>>
+B<cobbler system remove --name=<string>>
=head1 APPLYING CONFIGURATIONS
-B<bootconf sync [--dryrun]>
+B<cobbler sync [--dryrun]>
-Configurations are saved in /var/bootconf/bootconf.conf and are not applied until 'bootconf sync' is run. A '--dryrun' option is available for the paranoid.
+Configurations are saved in /var/cobbler/cobbler.conf and are not applied until 'cobbler sync' is run. A '--dryrun' option is available for the paranoid.
=head1 PXE EXAMPLE
-It is easier to understand bootconf once having gone through some examples.
+It is easier to understand cobbler once having gone through some examples.
-B<bootconf check>
+B<cobbler check>
-B<bootconf distro add --name=rhel4u3 --kernel=/dir1/vmlinuz --initrd=/dir1/initrd.img>
+B<cobbler distro add --name=rhel4u3 --kernel=/dir1/vmlinuz --initrd=/dir1/initrd.img>
-B<bootconf distro add --name=fc5 --kernel=/dir2/vmlinuz --initrd=/dir2/initrd.img>
+B<cobbler distro add --name=fc5 --kernel=/dir2/vmlinuz --initrd=/dir2/initrd.img>
-B<bootconf profile add --name=fc5webservers --distro=fc5-i386 --kickstart=http://192.168.1.10/blah/fc5-webservers.ks --kopts="something_to_make_my_gfx_card_work=42,some_other_parameter=foo">
+B<cobbler profile add --name=fc5webservers --distro=fc5-i386 --kickstart=http://192.168.1.10/blah/fc5-webservers.ks --kopts="something_to_make_my_gfx_card_work=42,some_other_parameter=foo">
-B<bootconf profile add --name=rhel4u3dbservers --distro=rhel4u3 --kickstart=http://192.168.1.10/blah/rhel4u3-dbservers.ks>
+B<cobbler profile add --name=rhel4u3dbservers --distro=rhel4u3 --kickstart=http://192.168.1.10/blah/rhel4u3-dbservers.ks>
-B<bootconf system add --name=AA:BB:CC:DD:EE:FF --profile=fc5-webservers>
+B<cobbler system add --name=AA:BB:CC:DD:EE:FF --profile=fc5-webservers>
-B<bootconf system add --name=AA:BB:CC:DD:EE:FE --profile=rhel4u3-dbservers>
+B<cobbler system add --name=AA:BB:CC:DD:EE:FE --profile=rhel4u3-dbservers>
-B<bootconf sync>
+B<cobbler sync>
=head1 XEN EXAMPLE
@@ -93,17 +94,17 @@ TBA
=head1 CONFIGURATION FILES
-The current bootconf configuration is kept in /var/bootconf/bootconf.conf. The file is reasonably-human editable YAML.
+The current cobbler configuration is kept in /var/lib/cobbler/cobbler.conf. The file is reasonably-human editable YAML.
-Global settings are in /etc/bootconf.conf. After editing /etc/bootconf.conf, run 'bootconf check' to ensure that no errors were introduced.
+Global settings are in /etc/cobbler.conf. After editing /etc/cobbler.conf, run 'cobbler check' to ensure that no errors were introduced.
-If you happen to screw up /var/bootconf/bootconf.conf or /etc/bootconf.conf, you can delete them and they will be recreated.
+If you happen to screw up /var/lib/cobbler/cobbler.conf or /etc/cobbler.conf, you can delete them and they will be recreated.
-No changes are ever applied to the provisioning state unless 'bootconf sync' is run.
+No changes are ever applied to the provisioning state unless 'cobbler sync' is run.
=head1 EXIT_STATUS
-bootconf returns a zero for success and non-zero for failure.
+cobbler returns a zero for success and non-zero for failure.
=head1 AUTHOR
diff --git a/IPy.py b/cobbler/IPy.py
index ac2b1c5..ac2b1c5 100644
--- a/IPy.py
+++ b/cobbler/IPy.py
diff --git a/api.py b/cobbler/api.py
index 429fa33..429fa33 100644
--- a/api.py
+++ b/cobbler/api.py
diff --git a/check.py b/cobbler/check.py
index 15f52ae..15f52ae 100644
--- a/check.py
+++ b/cobbler/check.py
diff --git a/cobbler.py b/cobbler/cobbler.py
index bb16a35..2ff030b 100755
--- a/cobbler.py
+++ b/cobbler/cobbler.py
@@ -274,7 +274,7 @@ class BootCLI:
"""
return self.curry_args(args, self.commands['system'])
-if __name__ == "__main__":
+def main():
if os.getuid() != 0: # FIXME
print m("need_root")
sys.exit(1)
diff --git a/config.py b/cobbler/config.py
index 6a1024e..6a1024e 100644
--- a/config.py
+++ b/cobbler/config.py
diff --git a/msg.py b/cobbler/msg.py
index e974bc6..e974bc6 100644
--- a/msg.py
+++ b/cobbler/msg.py
diff --git a/sync.py b/cobbler/sync.py
index 3adfbcf..3adfbcf 100644
--- a/sync.py
+++ b/cobbler/sync.py
diff --git a/util.py b/cobbler/util.py
index f7dd473..f7dd473 100644
--- a/util.py
+++ b/cobbler/util.py
diff --git a/example_cfg b/examples/example_cfg
index 09880d6..09880d6 100644
--- a/example_cfg
+++ b/examples/example_cfg
diff --git a/example_ks b/examples/example_ks
index 3da6099..3da6099 100644
--- a/example_ks
+++ b/examples/example_ks
diff --git a/help.txt b/help.txt
deleted file mode 100644
index b0a08de..0000000
--- a/help.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-bootconf is a simple network boot configuration tool.
-It helps you set up Linux networks for PXE booting.
-
-***INSTRUCTIONS****
-
-First install dhcpd, tftpd, and syslinux.
-You'll also need FTP, HTTP, or NFS to serve kickstarts (if you want them)
-And you'll also have to edit dhcpd.conf.
-
-
- yum install dhcp tftp-server syslinux
- ...
- vi /etc/dhcpd.conf
-
-Verify that everything you need is set up.
-This will mention missing/stopped services and configuration errors.
-Errors? Correct any problems it reports, then run it again.
-
- bootconf check
-
-Define your distributions, and give them names
-A good example would be 'fc5-i386' or 'fc5-x86_64'
-Paths should be on a mounted filesystem.
-
- bootconf distro add --name="distro1" --kernel=path --initrd=path
-
-Define your provisioning "groups", and give them names too.
-Groups might be called 'webservers' or 'qamachines' or 'desktops'.
-Each group needs to know it's distribution.
-Kickstart can be done over NFS, FTP, or HTTP url, or just 'off'.
-
- bootconf group add --name="group1" --distro="name1" --kickstart=url|off
-
-Now add your systems to groups
-
- bootconf system add --name=mac|ipaddr|hostname --group="group1"
-
-Should you want to review things...
-
- bootconf distros list
- bootconf groups list
- bootconf systems list
-
-Should you need to delete anything ...
-
- bootconf distro remove --name="distro1"
- bootconf group remove --name="group1"
- bootconf system remove --name=ipaddr|mac|hostname
-
-Too much work? If you're brave, you can also edit '/etc/bootconf.conf'
-Make a backup first.
-
- vi /etc/bootconf.conf
-
-Now make all of that bootable (immediately)
-
- bootconf sync -dryrun # for the paranoid
- bootconf sync
-
-That's it!
-
diff --git a/python-yaml-0.25-3.noarch.rpm b/python-yaml-0.25-3.noarch.rpm
deleted file mode 100644
index bf1179c..0000000
--- a/python-yaml-0.25-3.noarch.rpm
+++ /dev/null
Binary files differ
diff --git a/test.py b/test/tests.py
index 977a652..977a652 100644
--- a/test.py
+++ b/test/tests.py