[CentOS-devel] Image building features enabled in CBS

Ian McLeod imcleod at redhat.com
Thu Nov 13 20:50:03 UTC 2014


Hello all,

Thanks to Thomas' (alphacc) work last Friday, we now have the image
building features enable on the CBS koji instance.  I'll give a very
brief summary of how to use it.  The general form of the koji command is:

koji -p cbs image-build <image_name> <image_version> <build_target>
                        <install_tree_url> <arch>
                        --release <image_release>
                        --distro <distro_name_version>
                        --kickstart <local_kickstart_file>
                        --format <format_type>
                        --disk-size <disk_size_in_gb>
                        --repo <repo_url> (optional)
                        --scratch (optional)
                        --nowait (optional)

The image build must be given a name, version and release.  These
function in much the same way as they do in RPM.  In particular, the
name must be added as an allowed package in the output tag for the
<build_target> provided on the command line.

You can specify more than one --format option.  The most useful options are:

'raw-xz' - xz compressed raw file
'qcow2' - qcow2
'rhevm-ova' - A single file OVF image (aka OVA) for RHEV-M
'vsphere-ova' - An OVA for vSphere/VMWare
'docker' - A docker base image, suitable for "docker load"

Any "url" or "repo" lines in your input kickstart file will be removed.
 The "url" line is replaced by whatever <install_tree_url> you give
above.  You can, optionally, provide additional repos to Anaconda by
giving one or more "--repo <url>" arguments.

Until we sort out how exactly we want kickstart files store in RCM
(likely git.centos.org) we will be restricted to doing scratch builds,
indicated with a "--scratch" option above.

Here is the exact command I used to do initial testing of the feature:

koji image-build \
  centos-7-imcleod-test 1 atomic7-el7.centos \
  http://mirror.centos.org/centos/7/os/x86_64/ x86_64 \
  --release=1 \
  --distro RHEL-7.0 \
  --kickstart=/tmp/RHEL7.auto \
  --format=qcow2 \
  --scratch \
  --nowait \
  --disk-size=10

The "RHEL7.auto" kickstart is the minimal/JEOS RHEL7 kickstart from Oz,
available here:

https://raw.githubusercontent.com/clalancette/oz/master/oz/auto/RHEL7.auto

In order for this to work I had to ask alphacc to add me to the "image"
permission in the CBS.

I then had to add the centos-7-imcleod-test "package" to the
"atomic7-testing" tag (which is the destination for the
"atomic7-el7.centos" build target).  The command to do this was:

koji add-pkg --owner=imcleod atomic7-testing centos-7-imcleod-test

Please follow up with questions, thoughts, RFEs, etc.

-Ian


More information about the CentOS-devel mailing list