[PKG-Openstack-devel] Bug#785072: [RFR] templates://cobbler/{cobbler.templates}

Justin B Rye justin.byam.rye at gmail.com
Mon May 25 11:09:36 UTC 2015


Christian PERRIER wrote:
> Rationale:
> --- cobbler.old/debian/cobbler.templates	2015-05-12 07:41:05.726393726 +0200
> +++ cobbler/debian/cobbler.templates	2015-05-25 08:03:28.835716244 +0200
> @@ -1,22 +1,25 @@
>  Template: cobbler/password
>  Type: password
> +#flag:translate!:5
>  _Description: New password for the "cobbler" user:
>   It is highly recommended that you set a password for the
>   administrative "cobbler" user.
>   .
>   You can also run password reconfiguration later by executing
> - 'dpkg-reconfigure -plow cobbler'.
> + "dpkg-reconfigure -plow cobbler".

(Doesn't "dpkg-reconfigure cobbler" use '-plow' automatically?  I've
never understood why you'd need to specify it here.  But I'll leave
it.)

> + .
> + Note that you can easily add users to cobbler later with the
> + following command, executed with root privileges:
>   .
> - Note that you can easily add users to cobbler later with:
>    sudo htdigest /etc/cobbler/users.digest "Cobbler" USERNAME
> 
> Unbutuize...:-)
> 
> Also add double quotes in place of single ones and separate the
> untranslatable string from the rest of the paragraph

If you're going to say "with root privileges", you can take off the
prefixed "sudo", too.  Or come to that, since we didn't mention root
for dpkg-reconfigure, why mention it here?  So we could trim this down
to:

 It can be reconfigured later using "dpkg-reconfigure -plow cobbler", and
 users can be added to cobbler with
 .
  htdigest /etc/cobbler/users.digest Cobbler USERNAME
  
>  Template: cobbler/server_and_next_server
>  Type: string
>  Default: 127.0.0.1
> -_Description: Set the Boot and PXE server IP address:
> +_Description: Boot and PXE server IP address:

The expression "boot and PXE server" confuses me.  There are non-boot
PXE servers?

It's particularly confusing when the description below goes on to ask
me for two server IP addresses rather than the singular address
referred to in the synopsis.  Is it asking in bad English for a boot
server IP address and a PXE server IP address?  (The general rule in
English is that "one each" goes with plural.)

>   For kickstart and PXE features to work properly, it is
>   important to set the correct IP addresses in the fields
> - "server" and "next_server" in  "/etc/cobbler/settings".
> + "server" and "next_server" in /etc/cobbler/settings.
>   .
>   The "server" field must be set to something other than
>   localhost, or kickstart features will not work.  This should
>   be a resolvable hostname or IP for the boot server as
>   reachable by all machines that will use it.

Okay, apparently it does want addresses, plural (though they don't
need to both be IP addresses) and when it says "boot server" it means
"Kickstart server".  So it should have been:

   _Description: Kickstart and PXE server addresses:

And then:

    For Kickstart and PXE features to work properly, it is important to
    set the correct addresses in the fields "server" and "next_server" in
    /etc/cobbler/settings.
    .
    The "server" field must be set to something other than localhost, or
    Kickstart features will not work. This should be a resolvable hostname
    or IP address for the boot server as reachable by all machines that
    will use it.

>   .
>   The "next_server" field must be set to something other than
>   127.0.0.1, and should match the IP address of the boot server
>   on the PXE network.

I'm still not sure what this means by "the boot server".  Is it now
referring to a different machine by that name?  Apparently so, given
that it has a different address.  So in effect it's saying "the PXE
server on the network that the PXE server is on"?  Ah, as in, its
local IP address, not the one facing the Internet.

    The "next_server" field must be set to something other than 127.0.0.1,
    and should match the local IP address of the PXE server.

> - Note that these values will try to be automatically detected,
> - however they can be manually edited in "/etc/cobbler/settings".
> + Note that these values should be automatically detected,
> + however they can be manually edited in /etc/cobbler/settings.

A run-on sentence, and an unnecessary "Note".

    These values should be automatically detected, but they can be
    manually edited in /etc/cobbler/settings.
 
> Do not quote file names (this is debian-l10n-english housestyle).

I don't think we've been consistent about it, but in this case we were
getting a slight quote overdose. 

> --- cobbler.old/debian/control	2015-05-12 07:41:05.726393726 +0200
> +++ cobbler/debian/control	2015-05-25 08:04:38.577321366 +0200
> 
> Minor changes: just double quotes and replacing "cotnains" by
> "provides" (dle housestyle).

(I think our logic is that "provides" lets you talk about the
functionality gained by installing this package and its dependencies,
while "contains" only works on the level of items in this .deb file.)

I don't much like the way it has so many short sentences that
awkwardly repeat the word "cobbler cobbler cobbler":

> @@ -44,13 +44,13 @@
>  Description: network boot, install and update server - Python modules
                                     ^,
>   Cobbler is a network install server. Cobbler supports PXE, virtualized
                                 server  supporting
>   installs, and reinstalling existing Linux machines. The last two modes use a
> - helper tool, 'koan', that integrates with cobbler. Cobbler's advanced features
> + helper tool, "koan", that integrates with cobbler. Cobbler's advanced features
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Just say
     (the last two modes use an integrated helper tool, "koan").

>   include importing distributions from DVDs and rsync mirrors, kickstart
                                                                 K
>   templating, integrated yum mirroring, and built-in DHCP/DNS Management.
                                                                m
>   Cobbler has a Python and XMLRPC API for integration with other applications.
    It
>   There is also a web interface.
    , and there is also
>   .
> - This package contains the Python code.
> + This package provides the Python code.

There's Python code all over these packages; what this one provides is
the Python _libraries_ for Cobbler.
  
>  Package: cobbler-common
>  Architecture: all
> @@ -60,13 +60,13 @@
>  Description: network boot, install and update server - Common files
                                     ^,                   c
[...]
>  Package: cobbler-web
[...]
>  This package provides the web interface and its corresponding configuration
                                               ^^^^^^^^^^^^^^^^^
>  files.

The word "corresponding" is unnecessary here (just as "respective"
usually is) - they aren't just configuration files that correspond to
the web interface, they're its own files!

[...]
>  Description: network boot, install and update server - Daemon
                                                          ^
[...]
>  Package: python-koan
>  Section: python
> @@ -139,13 +139,13 @@
>  Description: kickstart-over-a-network (koan) - Python libraries

When you're expanding an acronym that's in the packagename, there's no
need to introduce the abbreviation as well.

   Description: Kickstart-Over-A-Network - Python libraries

[...]
> - This package contains the Koan Python code. Koan stands for
> + This package provides the Koan Python code. Koan stands for
>   kickstart-over-a-network. It's a Cobbler helper tool that supports virtualized
>   guests installs and reinstalling existing Linux machines.

More clunky short sentences, with various minor problems:
 * s/code/libraries/ again;
 * we've already had the K-O-A-N expansion;
 * "helper tool" is vague - why not say "client"?
 * "guests installs" should be "guest installs".
Make it two paragraphs, so the package "koan" only needs the first:

    Koan, "Kickstart-Over-A-Network", is a Cobbler client that supports
    virtualized guest installs and reinstalls of existing Linux machines.
    .
    This package provides the Python libraries for koan.

(This KOAN blurb is actually a bit repetitive if readers were paying
attention to the main Cobbler blurb, but never mind.)

ObWhyTheName: these days a "cobbler" is usually a kind of American
deep-dish fruit pie, but I think this is going for the older meaning
of "boot-bodger".
-- 
JBR	with qualifications in linguistics, experience as a Debian
	sysadmin, and probably no clue about this particular package
-------------- next part --------------
Template: cobbler/password
Type: password
#flag:translate!:5
_Description: New password for the "cobbler" user:
 It is highly recommended that you set a password for the administrative
 "cobbler" user.
 .
 It can be reconfigured later using "dpkg-reconfigure -plow cobbler", and
 users can be added to cobbler with
 .
  htdigest /etc/cobbler/users.digest Cobbler USERNAME

Template: cobbler/server_and_next_server
Type: string
Default: 127.0.0.1
_Description: Kickstart and PXE server addresses:
 For Kickstart and PXE features to work properly, it is important to
 set the correct addresses in the fields "server" and "next_server" in
 /etc/cobbler/settings.
 .
 The "server" field must be set to something other than localhost, or
 Kickstart features will not work. This should be a resolvable hostname
 or IP address for the boot server as reachable by all machines that
 will use it.
 .
 The "next_server" field must be set to something other than 127.0.0.1,
 and should match the local IP address of the PXE server.
 .
 These values should be automatically detected, but they can be
 manually edited in /etc/cobbler/settings.
-------------- next part --------------
Source: cobbler
Section: admin
Priority: optional
Maintainer: PKG OpenStack <openstack-devel at lists.alioth.debian.org>
Uploaders: Thomas Goirand <zigo at debian.org>
Build-Depends: debhelper (>= 9),
               dh-python,
               openstack-pkg-tools,
               git-core,
               po-debconf,
               python-all (>= 2.6.6-3~),
               python-setuptools
Build-Depends-Indep: lsb-release,
                     python-cheetah,
                     python-netaddr,
                     python-nose,
                     python-simplejson,
                     python-twisted,
                     python-urlgrabber,
                     python-yaml
Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=openstack/cobbler.git
Vcs-Git: git://anonscm.debian.org/openstack/cobbler.git
Homepage: http://www.cobblerd.org

Package: python-cobbler
Section: python
Architecture: all
Pre-Depends: dpkg (>= 1.15.6~)
Depends: hardlink,
         lsb-release,
         openssl,
         python-cheetah,
         python-distro-info,
         python-django,
         python-netaddr,
         python-simplejson,
         python-twisted,
         python-urlgrabber,
         python-yaml,
         rsync,
         ${misc:Depends},
         ${python:Depends}
Description: network boot, install, and update server - Python modules
 Cobbler is a network install server supporting PXE, virtualized installs,
 and reinstalling existing Linux machines (the last two modes use an
 integrated helper tool, "koan"). Cobbler's advanced features include
 importing distributions from DVDs and rsync mirrors, Kickstart templating,
 integrated yum mirroring, and built-in DHCP/DNS management. It has a
 Python and XMLRPC API for integration with other applications, and there
 is also a web interface.
 .
 This package provides the Python libraries for Cobbler.

Package: cobbler-common
Architecture: all
Pre-Depends: dpkg (>= 1.15.6~)
Depends: adduser, python-cobbler (= ${binary:Version}), ${misc:Depends}
Provides: ${python:Provides}
Description: network boot, install, and update server - common files
 Cobbler is a network install server supporting PXE, virtualized installs,
 and reinstalling existing Linux machines (the last two modes use an
 integrated helper tool, "koan"). Cobbler's advanced features include
 importing distributions from DVDs and rsync mirrors, Kickstart templating,
 integrated yum mirroring, and built-in DHCP/DNS management. It has a
 Python and XMLRPC API for integration with other applications, and there
 is also a web interface.
 .
 This package provides the common files.

Package: cobbler-web
Architecture: all
Depends: apache2,
         apache2-utils,
         openssl,
         cobbler-common (= ${binary:Version} ),
         ${misc:Depends}
Provides: ${python:Provides}
Description: network boot, install, and update server - web interface
 Cobbler is a network install server supporting PXE, virtualized installs,
 and reinstalling existing Linux machines (the last two modes use an
 integrated helper tool, "koan"). Cobbler's advanced features include
 importing distributions from DVDs and rsync mirrors, Kickstart templating,
 integrated yum mirroring, and built-in DHCP/DNS management. It has a
 Python and XMLRPC API for integration with other applications, and there
 is also a web interface.
 .
 This package provides the web interface and its configuration files.

Package: cobbler
Architecture: all
Pre-Depends: dpkg (>= 1.15.6~)
Depends: adduser,
         apache2,
         apache2-utils,
         debmirror,
         hardlink,
         libapache2-mod-python,
         libapache2-mod-wsgi,
         libjs-jquery,
         libjs-jquery-ui,
         cobbler-common (= ${binary:Version}),
         syslinux | syslinux-common,
         tftpd-hpa,
         ${misc:Depends},
         ${ostack-lsb-base},
         ${python:Depends}
Recommends: dnsmasq,
            fence-agents,
            powerwake,
Suggests: bind9,
          createrepo,
          dhcp3-server,
          genisoimage,
          mkisofs-hpa,
          rsync,
Description: network boot, install, and update server - daemon
 Cobbler is a network install server supporting PXE, virtualized installs,
 and reinstalling existing Linux machines (the last two modes use an
 integrated helper tool, "koan"). Cobbler's advanced features include
 importing distributions from DVDs and rsync mirrors, Kickstart templating,
 integrated yum mirroring, and built-in DHCP/DNS management. It has a
 Python and XMLRPC API for integration with other applications, and there
 is also a web interface.
 .
 This package provides the Cobbler daemon.

Package: python-koan
Section: python
Architecture: all
Depends: python-ethtool,
         python-libvirt,
         python-simplejson,
         python-urlgrabber,
         ${misc:Depends},
         ${python:Depends}
Provides: ${python:Provides}
Description: Kickstart-Over-A-Network - Python libraries
 Cobbler is a network install server supporting PXE, virtualized installs,
 and reinstalling existing Linux machines (the last two modes use an
 integrated helper tool, "koan"). Cobbler's advanced features include
 importing distributions from DVDs and rsync mirrors, Kickstart templating,
 integrated yum mirroring, and built-in DHCP/DNS management. It has a
 Python and XMLRPC API for integration with other applications, and there
 is also a web interface.
 .
 Koan, "Kickstart-Over-A-Network", is a Cobbler client that supports
 virtualized guest installs and reinstalling existing Linux machines.

Package: koan
Architecture: all
Pre-Depends: dpkg (>= 1.15.6~)
Depends: libvirt-bin,
         lvm2,
         python,
         python-netaddr,
         python-yaml,
         syslinux | syslinux-common,
         virtinst,
         python-koan (= ${binary:Version}),
         ${misc:Depends},
         ${ostack-lsb-base},
         ${python:Depends}
Suggests: createrepo, dhcp3-server, mkisofs-hpa, rsync, selinux-utils, tftpd-hpa
Description: kickstart-over-a-network (koan)
 Cobbler is a network install server supporting PXE, virtualized installs,
 and reinstalling existing Linux machines (the last two modes use an
 integrated helper tool, "koan"). Cobbler's advanced features include
 importing distributions from DVDs and rsync mirrors, Kickstart templating,
 integrated yum mirroring, and built-in DHCP/DNS management. It has a
 Python and XMLRPC API for integration with other applications, and there
 is also a web interface.
 Cobbler is a network install server. Cobbler supports PXE, virtualized
 installs, and reinstalling existing Linux machines. The last two modes use a
 helper tool, "koan", that integrates with cobbler. Cobbler's advanced features
 include importing distributions from DVDs and rsync mirrors, kickstart
 templating, integrated yum mirroring, and built-in DHCP/DNS Management.
 Cobbler has a Python and XMLRPC API for integration with other applications.
 There is also a web interface.
 .
 This package provides Koan. Koan stands for kickstart-over-a-network. It's a
 Cobbler helper tool that supports virtualized guests installs and reinstalling
 existing Linux machines.
-------------- next part --------------
diff -ru cobbler-2.6.6+dfsg1.pristine/debian/cobbler.templates cobbler-2.6.6+dfsg1/debian/cobbler.templates
--- cobbler-2.6.6+dfsg1.pristine/debian/cobbler.templates	2015-02-19 15:01:11.000000000 +0000
+++ cobbler-2.6.6+dfsg1/debian/cobbler.templates	2015-05-25 11:22:56.316519576 +0100
@@ -1,31 +1,30 @@
 Template: cobbler/password
 Type: password
+#flag:translate!:5
 _Description: New password for the "cobbler" user:
- It is highly recommended that you set a password for the
- administrative "cobbler" user.
+ It is highly recommended that you set a password for the administrative
+ "cobbler" user.
  .
- You can also run password reconfiguration later by executing
- 'dpkg-reconfigure -plow cobbler'.
+ It can be reconfigured later using "dpkg-reconfigure -plow cobbler", and
+ users can be added to cobbler with
  .
- Note that you can easily add users to cobbler later with:
-  sudo htdigest /etc/cobbler/users.digest "Cobbler" USERNAME
+  htdigest /etc/cobbler/users.digest Cobbler USERNAME
 
 Template: cobbler/server_and_next_server
 Type: string
 Default: 127.0.0.1
-_Description: Set the Boot and PXE server IP address:
- For kickstart and PXE features to work properly, it is
- important to set the correct IP addresses in the fields
- "server" and "next_server" in  "/etc/cobbler/settings".
+_Description: Kickstart and PXE server addresses:
+ For Kickstart and PXE features to work properly, it is important to
+ set the correct addresses in the fields "server" and "next_server" in
+ /etc/cobbler/settings.
  .
- The "server" field must be set to something other than
- localhost, or kickstart features will not work.  This should
- be a resolvable hostname or IP for the boot server as
- reachable by all machines that will use it.
+ The "server" field must be set to something other than localhost, or
+ Kickstart features will not work. This should be a resolvable hostname
+ or IP address for the boot server as reachable by all machines that
+ will use it.
  .
- The "next_server" field must be set to something other than
- 127.0.0.1, and should match the IP address of the boot server
- on the PXE network.
+ The "next_server" field must be set to something other than 127.0.0.1,
+ and should match the local IP address of the PXE server.
  .
- Note that these values will try to be automatically detected,
- however they can be manually edited in "/etc/cobbler/settings".
+ These values should be automatically detected, but they can be
+ manually edited in /etc/cobbler/settings.
diff -ru cobbler-2.6.6+dfsg1.pristine/debian/control cobbler-2.6.6+dfsg1/debian/control
--- cobbler-2.6.6+dfsg1.pristine/debian/control	2015-02-19 15:01:11.000000000 +0000
+++ cobbler-2.6.6+dfsg1/debian/control	2015-05-25 12:00:44.293010694 +0100
@@ -41,32 +41,32 @@
          rsync,
          ${misc:Depends},
          ${python:Depends}
-Description: network boot, install and update server - Python modules
- Cobbler is a network install server. Cobbler supports PXE, virtualized
- installs, and reinstalling existing Linux machines. The last two modes use a
- helper tool, 'koan', that integrates with cobbler. Cobbler's advanced features
- include importing distributions from DVDs and rsync mirrors, kickstart
- templating, integrated yum mirroring, and built-in DHCP/DNS Management.
- Cobbler has a Python and XMLRPC API for integration with other applications.
- There is also a web interface.
+Description: network boot, install, and update server - Python modules
+ Cobbler is a network install server supporting PXE, virtualized installs,
+ and reinstalling existing Linux machines (the last two modes use an
+ integrated helper tool, "koan"). Cobbler's advanced features include
+ importing distributions from DVDs and rsync mirrors, Kickstart templating,
+ integrated yum mirroring, and built-in DHCP/DNS management. It has a
+ Python and XMLRPC API for integration with other applications, and there
+ is also a web interface.
  .
- This package contains the Python code.
+ This package provides the Python libraries for Cobbler.
 
 Package: cobbler-common
 Architecture: all
 Pre-Depends: dpkg (>= 1.15.6~)
 Depends: adduser, python-cobbler (= ${binary:Version}), ${misc:Depends}
 Provides: ${python:Provides}
-Description: network boot, install and update server - Common files
- Cobbler is a network install server. Cobbler supports PXE, virtualized
- installs, and reinstalling existing Linux machines. The last two modes use a
- helper tool, 'koan', that integrates with cobbler. Cobbler's advanced features
- include importing distributions from DVDs and rsync mirrors, kickstart
- templating, integrated yum mirroring, and built-in DHCP/DNS Management.
- Cobbler has a Python and XMLRPC API for integration with other applications.
- There is also a web interface.
+Description: network boot, install, and update server - common files
+ Cobbler is a network install server supporting PXE, virtualized installs,
+ and reinstalling existing Linux machines (the last two modes use an
+ integrated helper tool, "koan"). Cobbler's advanced features include
+ importing distributions from DVDs and rsync mirrors, Kickstart templating,
+ integrated yum mirroring, and built-in DHCP/DNS management. It has a
+ Python and XMLRPC API for integration with other applications, and there
+ is also a web interface.
  .
- This package contains the common files.
+ This package provides the common files.
 
 Package: cobbler-web
 Architecture: all
@@ -76,17 +76,16 @@
          cobbler-common (= ${binary:Version} ),
          ${misc:Depends}
 Provides: ${python:Provides}
-Description: network boot, install and update server - web interface
- Cobbler is a network install server. Cobbler supports PXE, virtualized
- installs, and reinstalling existing Linux machines. The last two modes use a
- helper tool, 'koan', that integrates with cobbler. Cobbler's advanced features
- include importing distributions from DVDs and rsync mirrors, kickstart
- templating, integrated yum mirroring, and built-in DHCP/DNS Management.
- Cobbler has a Python and XMLRPC API for integration with other applications.
- There is also a web interface.
+Description: network boot, install, and update server - web interface
+ Cobbler is a network install server supporting PXE, virtualized installs,
+ and reinstalling existing Linux machines (the last two modes use an
+ integrated helper tool, "koan"). Cobbler's advanced features include
+ importing distributions from DVDs and rsync mirrors, Kickstart templating,
+ integrated yum mirroring, and built-in DHCP/DNS management. It has a
+ Python and XMLRPC API for integration with other applications, and there
+ is also a web interface.
  .
- This package provides the web interface and its corresponding configuration
- files.
+ This package provides the web interface and its configuration files.
 
 Package: cobbler
 Architecture: all
@@ -115,16 +114,16 @@
           genisoimage,
           mkisofs-hpa,
           rsync,
-Description: network boot, install and update server - Daemon
- Cobbler is a network install server. Cobbler supports PXE, virtualized
- installs, and reinstalling existing Linux machines. The last two modes use a
- helper tool, 'koan', that integrates with cobbler. Cobbler's advanced features
- include importing distributions from DVDs and rsync mirrors, kickstart
- templating, integrated yum mirroring, and built-in DHCP/DNS Management.
- Cobbler has a Python and XMLRPC API for integration with other applications.
- There is also a web interface.
+Description: network boot, install, and update server - daemon
+ Cobbler is a network install server supporting PXE, virtualized installs,
+ and reinstalling existing Linux machines (the last two modes use an
+ integrated helper tool, "koan"). Cobbler's advanced features include
+ importing distributions from DVDs and rsync mirrors, Kickstart templating,
+ integrated yum mirroring, and built-in DHCP/DNS management. It has a
+ Python and XMLRPC API for integration with other applications, and there
+ is also a web interface.
  .
- This package contains the Cobbler daemon.
+ This package provides the Cobbler daemon.
 
 Package: python-koan
 Section: python
@@ -136,18 +135,17 @@
          ${misc:Depends},
          ${python:Depends}
 Provides: ${python:Provides}
-Description: kickstart-over-a-network (koan) - Python libraries
- Cobbler is a network install server. Cobbler supports PXE, virtualized
- installs, and reinstalling existing Linux machines. The last two modes use a
- helper tool, 'koan', that integrates with cobbler. Cobbler's advanced features
- include importing distributions from DVDs and rsync mirrors, kickstart
- templating, integrated yum mirroring, and built-in DHCP/DNS Management.
- Cobbler has a Python and XMLRPC API for integration with other applications.
- There is also a web interface.
+Description: Kickstart-Over-A-Network - Python libraries
+ Cobbler is a network install server supporting PXE, virtualized installs,
+ and reinstalling existing Linux machines (the last two modes use an
+ integrated helper tool, "koan"). Cobbler's advanced features include
+ importing distributions from DVDs and rsync mirrors, Kickstart templating,
+ integrated yum mirroring, and built-in DHCP/DNS management. It has a
+ Python and XMLRPC API for integration with other applications, and there
+ is also a web interface.
  .
- This package contains the Koan Python code. Koan stands for
- kickstart-over-a-network. It's a Cobbler helper tool that supports virtualized
- guests installs and reinstalling existing Linux machines.
+ Koan, "Kickstart-Over-A-Network", is a Cobbler client that supports
+ virtualized guest installs and reinstalling existing Linux machines.
 
 Package: koan
 Architecture: all
@@ -165,14 +163,21 @@
          ${python:Depends}
 Suggests: createrepo, dhcp3-server, mkisofs-hpa, rsync, selinux-utils, tftpd-hpa
 Description: kickstart-over-a-network (koan)
+ Cobbler is a network install server supporting PXE, virtualized installs,
+ and reinstalling existing Linux machines (the last two modes use an
+ integrated helper tool, "koan"). Cobbler's advanced features include
+ importing distributions from DVDs and rsync mirrors, Kickstart templating,
+ integrated yum mirroring, and built-in DHCP/DNS management. It has a
+ Python and XMLRPC API for integration with other applications, and there
+ is also a web interface.
  Cobbler is a network install server. Cobbler supports PXE, virtualized
  installs, and reinstalling existing Linux machines. The last two modes use a
- helper tool, 'koan', that integrates with cobbler. Cobbler's advanced features
+ helper tool, "koan", that integrates with cobbler. Cobbler's advanced features
  include importing distributions from DVDs and rsync mirrors, kickstart
  templating, integrated yum mirroring, and built-in DHCP/DNS Management.
  Cobbler has a Python and XMLRPC API for integration with other applications.
  There is also a web interface.
  .
- This package contains Koan. Koan stands for kickstart-over-a-network. It's a
+ This package provides Koan. Koan stands for kickstart-over-a-network. It's a
  Cobbler helper tool that supports virtualized guests installs and reinstalling
  existing Linux machines.


More information about the Openstack-devel mailing list