Split Atomic and CloudImage
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
This commit is contained in:
parent
b28af80fd7
commit
e31b51de77
102
cloud-nightly.sh
Executable file
102
cloud-nightly.sh
Executable file
@ -0,0 +1,102 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#set -x
|
||||||
|
|
||||||
|
export LC_ALL=C
|
||||||
|
|
||||||
|
LABEL=$1
|
||||||
|
|
||||||
|
CONFIG="fedora-cloud.conf"
|
||||||
|
TARGET_DIR="/mnt/koji/compose/"
|
||||||
|
#OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR"
|
||||||
|
NIGHTLY=""
|
||||||
|
SKIP_PHASES="--skip-phase=productimg --skip-phase=pkgset --skip-phase=gather --skip-phase=extra_files --skip-phase=creatrepo"
|
||||||
|
DEST=$(pwd)
|
||||||
|
DATE=$(date "+%Y%m%d")
|
||||||
|
DIST="25"
|
||||||
|
BRANCHED="25"
|
||||||
|
BRANCH="branched"
|
||||||
|
COMPSFILE="comps-f25.xml"
|
||||||
|
GIT_BRANCH="f25"
|
||||||
|
TMPDIR=`mktemp -d /tmp/$DIST.$DATE.XXXX`
|
||||||
|
TOMAIL="devel@lists.fedoraproject.org test@lists.fedoraproject.org"
|
||||||
|
FROM="Fedora Branched Report <rawhide@fedoraproject.org>"
|
||||||
|
RSYNCPREFIX="sudo -u ftpsync"
|
||||||
|
ATOMIC=$(mktemp -d /tmp/atomic.${DIST}.$DATE.XXXX)
|
||||||
|
ATOMICREPO="/mnt/koji/compose/atomic/$BRANCHED/"
|
||||||
|
ATOMICDEST="/mnt/koji/atomic/$BRANCHED/"
|
||||||
|
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-Fedora-25/COMPOSE_ID)
|
||||||
|
# uncomment and edit for resuming a failed compose
|
||||||
|
#COMPOSE_ID="Fedora-23-20150530.n.0"
|
||||||
|
|
||||||
|
# assume a releng dir is a git checkout of the releng repo
|
||||||
|
# if it does not exist clone it
|
||||||
|
if [ -d releng ]; then
|
||||||
|
pushd releng
|
||||||
|
git pull --rebase
|
||||||
|
popd
|
||||||
|
else
|
||||||
|
git clone https://pagure.io/releng.git
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set up our fedmsg function, using the releng repo definition
|
||||||
|
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s"}' "$BRANCHED" "$ARCH")
|
||||||
|
fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s"}' "$BRANCHED" "$ARCH")
|
||||||
|
FEDMSG_MODNAME="compose"
|
||||||
|
FEDMSG_CERTPREFIX="releng"
|
||||||
|
. ./releng/scripts/fedmsg-functions.sh
|
||||||
|
|
||||||
|
# Announce that we are starting, even though we don't know the compose_id yet..
|
||||||
|
send_fedmsg "${fedmsg_json_start}" ${DIST} start
|
||||||
|
|
||||||
|
pushd $TMPDIR
|
||||||
|
git clone https://pagure.io/fedora-comps.git && {
|
||||||
|
pushd fedora-comps
|
||||||
|
make "${COMPSFILE}"
|
||||||
|
cp "${COMPSFILE}" $DEST/
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
popd
|
||||||
|
|
||||||
|
CMD="pungi-koji --notification-script=/usr/bin/pungi-fedmsg-notification --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY $SKIP_PHASES --label=$LABEL"
|
||||||
|
|
||||||
|
if [ -z "$COMPOSE_ID" ]; then
|
||||||
|
CMD="$CMD --target-dir=$TARGET_DIR"
|
||||||
|
else
|
||||||
|
CMD="$CMD --debug-mode --compose-dir=$TARGET_DIR/$COMPOSE_ID"
|
||||||
|
fi
|
||||||
|
|
||||||
|
time $CMD "$@"
|
||||||
|
if [ "$?" = "0" ]; then
|
||||||
|
export mail=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-Fedora-25/COMPOSE_ID)
|
||||||
|
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
|
||||||
|
|
||||||
|
# Set this to use later for a few items include depcheck
|
||||||
|
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
|
||||||
|
$RSYNCPREFIX mkdir -p $DESTDIR
|
||||||
|
|
||||||
|
# Tell interested persons that the rsync is starting (zomg!)
|
||||||
|
send_fedmsg "${fedmsg_json_start}" ${DIST} rsync.start
|
||||||
|
|
||||||
|
#for dir in CloudImage metadata ;
|
||||||
|
# do
|
||||||
|
# $RSYNCPREFIX rsync -avhH $TARGET_DIR/$NEWCOMPOSE_ID/compose/$dir/ /pub/alt/atomic/testing/$SHORTCOMPOSE_ID/$dir/ ;
|
||||||
|
# done
|
||||||
|
|
||||||
|
# Tell interested persons that the rsync is done.
|
||||||
|
#send_fedmsg "${fedmsg_json_done}" ${DIST} rsync.complete
|
||||||
|
|
||||||
|
# Tell everyone by fedmsg about the compose
|
||||||
|
send_fedmsg "${fedmsg_json_done}" ${DIST} complete
|
||||||
|
|
||||||
|
# Tell everyone by email about the compose
|
||||||
|
SUBJECT='Fedora '$DIST' compose report: '$SHORTCOMPOSE_ID' changes'
|
||||||
|
#if [ "$mail" = "0" ]; then
|
||||||
|
# for tomail in $TOMAIL ; do
|
||||||
|
# cat $TARGET_DIR/$NEWCOMPOSE_ID/logs/*verbose $DESTDIR/logs/depcheck | \
|
||||||
|
# mutt -e "set from=\"$FROM\"" -e 'set envelope_from=yes' -s "$SUBJECT" $tomail
|
||||||
|
# done
|
||||||
|
#fi
|
@ -213,47 +213,6 @@ translate_paths = [
|
|||||||
]
|
]
|
||||||
image_build = {
|
image_build = {
|
||||||
'^CloudImages$': [
|
'^CloudImages$': [
|
||||||
{
|
|
||||||
'image-build': {
|
|
||||||
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
|
|
||||||
'name': 'Fedora-Cloud-Base',
|
|
||||||
'target': 'f25',
|
|
||||||
'version': '25',
|
|
||||||
'release': None,
|
|
||||||
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
|
|
||||||
'kickstart': 'fedora-cloud-base.ks',
|
|
||||||
'distro': 'Fedora-20',
|
|
||||||
'disk_size': 3,
|
|
||||||
'arches': ['x86_64'],
|
|
||||||
'repo_from': 'Cloud',
|
|
||||||
'repo': [
|
|
||||||
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
|
|
||||||
],
|
|
||||||
'install_tree_from': 'Cloud',
|
|
||||||
'subvariant': 'Cloud_Base'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'image-build': {
|
|
||||||
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
|
|
||||||
'name': 'Fedora-Cloud-Base-Vagrant',
|
|
||||||
'target': 'f25',
|
|
||||||
'version': '25',
|
|
||||||
'release': None,
|
|
||||||
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
|
|
||||||
'kickstart': 'fedora-cloud-base-vagrant.ks',
|
|
||||||
'distro': 'Fedora-20',
|
|
||||||
'disk_size': 40,
|
|
||||||
'arches': ['x86_64'],
|
|
||||||
'repo_from': 'Cloud',
|
|
||||||
'repo': [
|
|
||||||
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
|
|
||||||
],
|
|
||||||
'install_tree_from': 'Cloud',
|
|
||||||
'subvariant': 'Cloud_Base',
|
|
||||||
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'image-build': {
|
'image-build': {
|
||||||
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
|
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
|
||||||
|
248
fedora-cloud.conf
Normal file
248
fedora-cloud.conf
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
# PRODUCT INFO
|
||||||
|
release_name = 'Fedora-Cloud'
|
||||||
|
release_short = 'Fedora-Cloud'
|
||||||
|
release_version = '25'
|
||||||
|
release_is_layered = False
|
||||||
|
# GENERAL SETTINGS
|
||||||
|
bootable = False
|
||||||
|
comps_file = 'comps-f25.xml' #{
|
||||||
|
# 'scm': 'git',
|
||||||
|
# 'repo': 'git://git.fedorahosted.org/git/comps.git',
|
||||||
|
# 'branch': None, # defaults to cvs/HEAD or git/master
|
||||||
|
# 'file': 'comps-f23.xml',
|
||||||
|
#}
|
||||||
|
variants_file='variants-fedora.xml'
|
||||||
|
sigkeys = ['FDB19C98', 'E372E838'] # None = unsigned
|
||||||
|
# limit tree architectures
|
||||||
|
# if undefined, all architectures from variants.xml will be included
|
||||||
|
tree_arches = ['x86_64']
|
||||||
|
# limit tree variants
|
||||||
|
# if undefined, all variants from variants.xml will be included
|
||||||
|
tree_variants = ['CloudImage']
|
||||||
|
hashed_directories = True
|
||||||
|
# RUNROOT settings
|
||||||
|
runroot = True
|
||||||
|
#runroot_channel = 'fedora_compose'
|
||||||
|
runroot_channel = 'compose'
|
||||||
|
runroot_tag = 'f25-build'
|
||||||
|
# PKGSET
|
||||||
|
pkgset_source = 'koji' # koji, repos
|
||||||
|
pkgset_koji_tag = 'f25-updates'
|
||||||
|
pkgset_koji_inherit = True
|
||||||
|
filter_system_release_packages = False
|
||||||
|
# GATHER
|
||||||
|
gather_source = 'comps'
|
||||||
|
gather_method = 'deps'
|
||||||
|
check_deps = False
|
||||||
|
greedy_method = 'build'
|
||||||
|
# fomat: [(variant_uid_regex, {arch|*: [repos]})]
|
||||||
|
# gather_lookaside_repos = []
|
||||||
|
# GATHER - JSON
|
||||||
|
# format: {variant_uid: {arch: package: [arch1, arch2, None (for any arch)]}}
|
||||||
|
#gather_source_mapping = '/path/to/mapping.json'
|
||||||
|
# CREATEREPO
|
||||||
|
createrepo_c = True
|
||||||
|
createrepo_checksum = 'sha256'
|
||||||
|
# CHECKSUMS
|
||||||
|
media_checksums = ['sha256']
|
||||||
|
media_checksum_one_file = True
|
||||||
|
media_checksum_base_filename = 'Fedora-%(variant)s-%(version)s-%(date)s.%(respin)s-%(arch)s'
|
||||||
|
#jigdo
|
||||||
|
create_jigdo = False
|
||||||
|
#extra_packages = [
|
||||||
|
# '/mnt/packages/foo*',
|
||||||
|
#]
|
||||||
|
# fomat: [(variant_uid_regex, {arch|*: [packages]})]
|
||||||
|
additional_packages = [
|
||||||
|
('.*', {
|
||||||
|
'*': [
|
||||||
|
'kernel.*',
|
||||||
|
'dracut.*',
|
||||||
|
'autocorr-.*',
|
||||||
|
'eclipse-nls-.*',
|
||||||
|
'hunspell-.*',
|
||||||
|
'hyphen-.*',
|
||||||
|
'calligra-l10n-.*',
|
||||||
|
'kde-l10n-.*',
|
||||||
|
'libreoffice-langpack-.*',
|
||||||
|
'man-pages-.*',
|
||||||
|
'mythes-.*',
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
('^Everything$', {
|
||||||
|
'*': [
|
||||||
|
'*',
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
('^Server$', {
|
||||||
|
'*': [
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
('^Workstation$', {
|
||||||
|
'*': [
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
('^Cloud$', {
|
||||||
|
'*': [
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
multilib = [
|
||||||
|
('^Everything$', {
|
||||||
|
'x86_64': ['devel', 'runtime'],
|
||||||
|
's390x': ['devel', 'runtime']
|
||||||
|
})
|
||||||
|
]
|
||||||
|
filter_packages = [
|
||||||
|
('(Workstation|Server|Cloud)$', {
|
||||||
|
'*': [
|
||||||
|
'^kernel.*debug.*',
|
||||||
|
'^kernel-kdump.*',
|
||||||
|
'^kernel-tools.*',
|
||||||
|
'^syslog-ng.*',
|
||||||
|
'^astronomy-bookmarks',
|
||||||
|
'^generic.*',
|
||||||
|
'^GConf2-dbus.*',
|
||||||
|
'^bluez-gnome',
|
||||||
|
#Periods cause problems in paterns, so replace with *s
|
||||||
|
'^java-1.8.0-openjdk',
|
||||||
|
'^community-mysql.*',
|
||||||
|
'^jruby.*',
|
||||||
|
'^gimp-help-.*',
|
||||||
|
]
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
# format: {arch|*: [packages]}
|
||||||
|
multilib_blacklist = {
|
||||||
|
'*': ['kernel*', 'kernel-PAE*', 'kernel*debug*',
|
||||||
|
'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel',
|
||||||
|
'java-1.5.0-gcj-devel', 'java-1.7.0-icedtea-devel',
|
||||||
|
'php-devel', 'java-1.6.0-openjdk-devel',
|
||||||
|
'java-1.7.0-openjdk-devel', 'java-1.8.0-openjdk-devel',
|
||||||
|
'httpd-devel', 'tomcat-native', 'php*', 'httpd',
|
||||||
|
'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*'
|
||||||
|
],
|
||||||
|
}
|
||||||
|
# format: {arch|*: [packages]}
|
||||||
|
multilib_whitelist = {
|
||||||
|
'*': ['libgnat', 'wine*', 'lmms-vst', 'nspluginwrapper',
|
||||||
|
'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb',
|
||||||
|
'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux',
|
||||||
|
'syslinux-tftpboot', 'nosync', '*-static'
|
||||||
|
],
|
||||||
|
}
|
||||||
|
createiso_skip = [
|
||||||
|
('^Workstation$', {
|
||||||
|
'*': True,
|
||||||
|
'src': True
|
||||||
|
}),
|
||||||
|
('^Server$', {
|
||||||
|
'src': True
|
||||||
|
}),
|
||||||
|
('^Cloud$', {
|
||||||
|
'*': True,
|
||||||
|
'src': True
|
||||||
|
}),
|
||||||
|
('^Everything$', {
|
||||||
|
'*': True,
|
||||||
|
'src': True
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
# fomat: [(variant_uid_regex, {arch|*: [scm_dicts]})]
|
||||||
|
#extra_files = [
|
||||||
|
# ('^(Server|Workstation|Cloud)$', {
|
||||||
|
# '*': [
|
||||||
|
# {
|
||||||
|
# 'scm': 'rpm',
|
||||||
|
# 'repo': 'fedora-release-%(variant_id_lower)s',
|
||||||
|
# 'branch': None,
|
||||||
|
# 'file': [
|
||||||
|
# '/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-release',
|
||||||
|
# ],
|
||||||
|
# 'target': '',
|
||||||
|
# },
|
||||||
|
# ],
|
||||||
|
# }),
|
||||||
|
#]
|
||||||
|
# Image name respecting Fedora's image naming policy
|
||||||
|
image_name_format = 'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-%(date)s.%(respin)s.iso'
|
||||||
|
# # Use the same format for volume id
|
||||||
|
image_volid_formats = [
|
||||||
|
'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s'
|
||||||
|
]
|
||||||
|
# No special handling for layered products, use same format as for regular images
|
||||||
|
image_volid_layered_product_formats = []
|
||||||
|
# Replace 'Cloud' with 'C' in volume id etc.
|
||||||
|
volume_id_substitutions = {
|
||||||
|
'Rawhide': 'rawh',
|
||||||
|
'Images': 'img',
|
||||||
|
'MATE_Compiz': 'MATE',
|
||||||
|
'Security': 'Sec',
|
||||||
|
'Electronic_Lab': 'Elec',
|
||||||
|
'Robotics': 'Robo',
|
||||||
|
'Scientific_KDE': 'SciK',
|
||||||
|
'Astronomy_KDE': 'AstK',
|
||||||
|
'Design_suite': 'Dsgn',
|
||||||
|
'Games': 'Game',
|
||||||
|
'Jam_KDE': 'Jam',
|
||||||
|
'Workstation': 'WS',
|
||||||
|
'Everything': 'E',
|
||||||
|
'Server': 'S',
|
||||||
|
'Cloud': 'C',
|
||||||
|
'Alpha': 'A',
|
||||||
|
'Beta': 'B',
|
||||||
|
'TC': 'T',
|
||||||
|
}
|
||||||
|
disc_types = {
|
||||||
|
'boot': 'netinst',
|
||||||
|
'live': 'Live',
|
||||||
|
}
|
||||||
|
translate_paths = [
|
||||||
|
('/mnt/koji/compose/', 'http://kojipkgs.fedoraproject.org/compose/'),
|
||||||
|
]
|
||||||
|
image_build = {
|
||||||
|
'^CloudImages$': [
|
||||||
|
{
|
||||||
|
'image-build': {
|
||||||
|
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
|
||||||
|
'name': 'Fedora-Cloud-Base',
|
||||||
|
'target': 'f25',
|
||||||
|
'version': '25',
|
||||||
|
'release': None,
|
||||||
|
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
|
||||||
|
'kickstart': 'fedora-cloud-base.ks',
|
||||||
|
'distro': 'Fedora-20',
|
||||||
|
'disk_size': 3,
|
||||||
|
'arches': ['x86_64'],
|
||||||
|
'repo': [
|
||||||
|
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
|
||||||
|
'http://kojipkgs.fedoraproject.org/pub/alt/releases/25/Cloud/$arch/os/',
|
||||||
|
],
|
||||||
|
'install_tree_from': 'http://kojipkgs.fedoraproject.org/pub/alt/releases/25/Cloud/$arch/os/',
|
||||||
|
'subvariant': 'Cloud_Base'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'image-build': {
|
||||||
|
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
|
||||||
|
'name': 'Fedora-Cloud-Base-Vagrant',
|
||||||
|
'target': 'f25',
|
||||||
|
'version': '25',
|
||||||
|
'release': None,
|
||||||
|
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
|
||||||
|
'kickstart': 'fedora-cloud-base-vagrant.ks',
|
||||||
|
'distro': 'Fedora-20',
|
||||||
|
'disk_size': 40,
|
||||||
|
'arches': ['x86_64'],
|
||||||
|
'repo': [
|
||||||
|
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
|
||||||
|
'http://kojipkgs.fedoraproject.org/pub/alt/releases/25/Cloud/$arch/os/'
|
||||||
|
],
|
||||||
|
'install_tree_from': 'http://kojipkgs.fedoraproject.org/pub/alt/releases/25/Cloud/$arch/os/',
|
||||||
|
'subvariant': 'Cloud_Base',
|
||||||
|
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
koji_profile = 'compose_koji'
|
Loading…
Reference in New Issue
Block a user