Difference between revisions of "Pidora SOP"

From CDOT Wiki
Jump to: navigation, search
(Example Livemedia-Creator Command)
(Mash Command Line Details)
Line 26: Line 26:
 
== Mash Config Files ==
 
== Mash Config Files ==
 
* config file here
 
* config file here
 +
== Mash File Configuration Details ==
 +
<pre>/usr/local/bin/mashrun-pidora-18</pre>
 +
 +
<pre>
 +
#!/bin/bash
 +
#
 +
# mashrun-pidora18 :: Compose a Pidora 18 repository
 +
#
 +
 +
DISTNAME=pidora
 +
RELEASE=18
 +
 +
# Default mash output dir is unique by dates (YYYYMMDD)
 +
BASEDIR=/mnt/koji/mash
 +
MASHDIR=${BASEDIR}/${DISTNAME}-${RELEASE}-$(date +%Y%m%d)
 +
 +
# If there is already a compose output directory for today,
 +
# append -HHMMSS
 +
if [ -d ${MASHDIR} ] # If YYYYMMDD exists, add -HHMMSS
 +
then
 +
    MASHDIR=${MASHDIR}-$(date +%H%M%S)
 +
fi
 +
mkdir -p ${MASHDIR}
 +
 +
{
 +
 +
exec 2>&1
 +
 +
echo "Composing to ${MASHDIR}..."
 +
 +
time mash -o ${MASHDIR} ${DISTNAME}-${RELEASE} -f /usr/local/mash/comps-${DISTNAME}-${RELEASE}.xml.gz
 +
 +
rm ${BASEDIR}/${DISTNAME}-${RELEASE}-latest
 +
ln -s ${MASHDIR} ${BASEDIR}/${DISTNAME}-${RELEASE}-latest
 +
 +
echo
 +
echo "Warnings about unsigned packages are temporarily suppressed from email."
 +
echo "Refer to ${MASHDIR}/mash.log for warnings."
 +
 +
}| cat -v | tee ${MASHDIR}/mash.log | fgrep -v '(signed with no key)' | mail -s "${DISTNAME}-${RELEASE} Mash Run" mashrun-alert
 +
 +
# The 'cat -v' above is there to prevent an unprintable code from throwing off the
 +
# mail command.
 +
</pre>
 +
 
== Mash Command Line Details ==
 
== Mash Command Line Details ==
* user/host, crontab lines, script execution, config files, etc
 
  
 
= Composing Images =
 
= Composing Images =

Revision as of 12:53, 9 April 2013

Intro

This page covers how one can manage the various needed parts of a complete release process. This includes the other SOP pages containing file configurations and/or quick command line references for the following procedures:

  1. Building packages
  2. Signing packages
  3. Creating repositories
  4. Composing images

Building Packages

Koji-Follow Configuration SOPs

How-To-Run

  • ssh <your_username>@japan
  • sudo kojiadmin
  • screen -xr follow
  • python ~/koji-follow.py ~/koji-follow.conf > ~/logs/kfo.log 2> ~/logs/kfe.log

Signing Packages

Sigul Configuration SOPs

Creating Repositories

Mash Config Files

  • config file here

Mash File Configuration Details

/usr/local/bin/mashrun-pidora-18
#!/bin/bash
#
# mashrun-pidora18 :: Compose a Pidora 18 repository
#

DISTNAME=pidora
RELEASE=18

# Default mash output dir is unique by dates (YYYYMMDD)
BASEDIR=/mnt/koji/mash
MASHDIR=${BASEDIR}/${DISTNAME}-${RELEASE}-$(date +%Y%m%d)

# If there is already a compose output directory for today,
# append -HHMMSS
if [ -d ${MASHDIR} ] # If YYYYMMDD exists, add -HHMMSS
then
    MASHDIR=${MASHDIR}-$(date +%H%M%S)
fi
mkdir -p ${MASHDIR}

{

exec 2>&1

echo "Composing to ${MASHDIR}..."

time mash -o ${MASHDIR} ${DISTNAME}-${RELEASE} -f /usr/local/mash/comps-${DISTNAME}-${RELEASE}.xml.gz

rm ${BASEDIR}/${DISTNAME}-${RELEASE}-latest
ln -s ${MASHDIR} ${BASEDIR}/${DISTNAME}-${RELEASE}-latest

echo
echo "Warnings about unsigned packages are temporarily suppressed from email."
echo "Refer to ${MASHDIR}/mash.log for warnings."

}| cat -v | tee ${MASHDIR}/mash.log | fgrep -v '(signed with no key)' | mail -s "${DISTNAME}-${RELEASE} Mash Run" mashrun-alert

# The 'cat -v' above is there to prevent an unprintable code from throwing off the
# mail command.

Mash Command Line Details

Composing Images

Example Kickstart File

http://scotland.proximity.on.ca/raspberrypi/test-releases/rpfr18v6/latest/pidora-18.ks

Example Livemedia-Creator Command

livemedia-creator --make-disk --no-virt --image-only --keep-image --ks=rpfr-18.ks

  • command details

-h, --help For more info on commands
--make-disk Build a disk image
--no-virt Use Anaconda's image install instead of virt-install
--image-only Exit after creating disk image.
--ks KS Kickstart file defining the install.

Example Post Script Execution

  • post script details