Added parameters for nailgun

This commit is contained in:
Vitaly Parakhin 2015-05-13 13:57:51 +03:00
parent 8686f1cbf2
commit 3b249aa410
4 changed files with 60 additions and 23 deletions

View File

@ -22,9 +22,12 @@ if hash fuel 2>/dev/null; then
# On Fuel node we will be using dockerized Ubuntu for dependencies resolving.
# Assuming that Docker is up and running.
DOCKER_MODE=true
FUEL_SERVER=`grep ipaddress: /etc/fuel/astute.yaml | awk '{print $2}'`
FUEL_ADMIN_PASS=`grep -A 2 FUEL_ACCESS /etc/fuel/astute.yaml | grep password | awk '{print $2}'`
else
# working outside Fuel master node, using defaults
FUEL_VERSION=6.1
FUEL_BRANCH=master
DOCKER_MODE=false
FUEL_SERVER=FUEL_SERVER
fi

View File

@ -474,7 +474,9 @@ export BINROOT
if [[ "$DOCKER_MODE" = "true" ]]; then
( docker ps -a | grep fuel-createmirror ) && docker rm -f fuel-createmirror
# docker pull ubuntu:latest
docker -D run -d --name=fuel-createmirror --net=host -a stdout -a stderr -i -t --privileged -e FUEL_BRANCH=$FUEL_BRANCH -e BINROOT=$BINROOT -e apt_altstate=$apt_altstate -v $BINROOT:$BINROOT:rw -v $apt_altstate:$apt_altstate:rw ubuntu:latest
docker -D run -d --name=fuel-createmirror --net=host -a stdout -a stderr -i -t --privileged \
-e UBUNTU_RELEASE=$UBUNTU_RELEASE -e FUEL_BRANCH=$FUEL_BRANCH -e BINROOT=$BINROOT \
-e apt_altstate=$apt_altstate -v $BINROOT:$BINROOT:rw -v $apt_altstate:$apt_altstate:rw ubuntu:latest
dockerctl shell fuel-createmirror $BINROOT/util/partial_ubuntu.sh || fatal "Cannot calculate list of dependencies"
# cleanup ubuntu container
docker rm -f fuel-createmirror
@ -582,6 +584,7 @@ mkdir -p ${PARTIAL_UPSTREAM_PATH}/indices
mkdir -p ${PARTIAL_UPSTREAM_PATH}/dists/${UBUNTU_RELEASE}/main/binary-amd64
mkdir -p ${PARTIAL_UPSTREAM_PATH}/dists/${UBUNTU_RELEASE}/main/debian-installer/binary-amd64
mkdir -p ${PARTIAL_UPSTREAM_PATH}/${INITRD_DIR}
find ${PARTIAL_UPSTREAM_PATH} -type d -print0 | xargs -0 chmod 755
temp_dir=`mktemp -d --suffix="-reposync"`
find $LOCAL_DIR/pool/ -name *.deb -type f -exec cp -vuni '{}' ${temp_dir} ";"
rsync -a --delete ${temp_dir}/ ${PARTIAL_UPSTREAM_PATH}/pool/main

View File

@ -24,7 +24,8 @@ Ubuntu mirrors.
Script will print directory names which can be used as respective
repository URLs on the "Settings" page of cluster setup, i.e.
file:///var/www/nailgun/ubuntu-part
http://FUEL_SERVER:8080/ubuntu-part
CUSTOMIZATION
-------------
@ -60,10 +61,10 @@ print_repositories() {
echo " * INFO: Set the following repositories:"; echo
if [ "$2" == "full" ]; then
for dist in "${DISTs[@]}"; do
echo " $dist deb file://$1 $dist ${DIST_COMPONENTs[$dist]}"
echo " $dist deb http://$FUEL_SERVER:8000/$1 $dist ${DIST_COMPONENTs[$dist]}"
done
else
echo " ${DISTs[0]} deb file://$1 ${DISTs[0]} main"
echo " ${DISTs[0]} deb http://$FUEL_SERVER:8000/$1 ${DISTs[0]} main"
fi
echo
}
@ -96,7 +97,7 @@ if [[ "$1" != "ubuntu" ]]; then
if [[ "$EC_MOS" == "0" ]]; then
. $BINROOT/config/mos-ubuntu-updatesonly.cfg
echo " * INFO: MOS mirror was created at: $LOCAL_DIR"
print_repositories $LOCAL_DIR full
print_repositories ${LOCAL_DIR##*/} full
else
echo " * FATAL: Creation of MOS mirror FAILED, check logs at $LOG_ROOT"
EC=1
@ -107,10 +108,10 @@ if [[ "$1" != "mos" ]]; then
. $BINROOT/config/ubuntu.cfg
if [[ $PARTIAL_UPSTREAM = "1" ]]; then
echo " * INFO: Ubuntu partial mirror was created at: $PARTIAL_UPSTREAM_PATH"
print_repositories $PARTIAL_UPSTREAM_PATH
print_repositories ${PARTIAL_UPSTREAM_PATH##*/}
else
echo " * INFO: Ubuntu mirror was created at: $LOCAL_DIR"
print_repositories $LOCAL_DIR full
print_repositories ${LOCAL_DIR##*/} full
fi
else
echo " * FATAL: Creation of Ubuntu mirror FAILED, check logs at $LOG_ROOT"

View File

@ -1,19 +1,41 @@
#!/bin/bash
# Based on the method described here:
# http://troubleshootingrange.blogspot.com/2012/09/hosting-simple-apt-repository-on-centos.html
# Please install 'dpkg' and 'dpkg-devel' packages before use.
set -e
ARCH=amd64
REPO_PATH=$1
REPONAME=$2
SUITE=$2
SECTION=main
BINDIR=${REPO_PATH}/dists/${REPONAME}/main
BINDIR=${REPO_PATH}/dists/${SUITE}/${SECTION}
binoverride=indices/override.${REPONAME}.main
binoverride_udeb=indices/override.${REPONAME}.main.debian-installer
extraoverride=indices/override.${REPONAME}.extra.main
release_header=`head -8 ${REPO_PATH}/dists/${REPONAME}/Release`
RELEASE="${REPO_PATH}/dists/${SUITE}/Release"
touch ${RELEASE}
release_header=`sed '/MD5Sum:/,$d' ${RELEASE}`
override_main="indices/override.${SUITE}.${SECTION}"
override_udeb="indices/override.${SUITE}.${SECTION}.debian-installer"
override_extra="indices/override.${SUITE}.extra.${SECTION}"
if [ -f "${REPO_PATH}/${override_main}" ]; then
binoverride="${override_main}"
else
binoverride=""
fi
if [ -f "${REPO_PATH}/${override_udeb}" ]; then
binoverride_udeb="${override_udeb}"
else
binoverride_udeb=""
fi
if [ -f "${REPO_PATH}/${override_extra}" ]; then
extraoverride="--extra-override ${override_extra}"
else
extraoverride=""
fi
package_deb=${BINDIR}/binary-${ARCH}/Packages
package_udeb=${BINDIR}/debian-installer/binary-${ARCH}/Packages
@ -21,23 +43,31 @@ package_udeb=${BINDIR}/debian-installer/binary-${ARCH}/Packages
cd ${REPO_PATH}
# Scan *.deb packages
dpkg-scanpackages -m --extra-override ${extraoverride} -a ${ARCH} pool/main ${binoverride} > ${package_deb}.tmp 2>/dev/null
dpkg-scanpackages -m ${extraoverride} -a ${ARCH} pool/${SECTION} ${binoverride} > ${package_deb}.tmp 2>/dev/null
gzip -9c ${package_deb}.tmp > ${package_deb}.gz.tmp
# Scan *.udeb packages
dpkg-scanpackages -t udeb -m -a ${ARCH} pool/debian-installer ${binoverride_udeb} > ${package_udeb}.tmp 2>/dev/null
gzip -9c ${package_udeb}.tmp > ${package_udeb}.gz.tmp
bzip2 -ckz ${package_deb}.tmp > ${package_deb}.bz2.tmp
# Replace original files with new ones
mv --backup -f ${package_deb}.tmp ${package_deb}
mv --backup -f ${package_deb}.gz.tmp ${package_deb}.gz
mv --backup -f ${package_udeb}.tmp ${package_udeb}
mv --backup -f ${package_udeb}.gz.tmp ${package_udeb}.gz
mv --backup -f ${package_deb}.bz2.tmp ${package_deb}.bz2
# Scan *.udeb packages
if [ -d "${BINDIR}/debian-installer/binary-${ARCH}/" ]; then
dpkg-scanpackages --udeb -m -a ${ARCH} pool/debian-installer ${binoverride_udeb} > ${package_udeb}.tmp 2>/dev/null
gzip -9c ${package_udeb}.tmp > ${package_udeb}.gz.tmp
bzip2 -ckz ${package_udeb}.tmp > ${package_udeb}.bz2.tmp
# Replace original files with new ones
mv --backup -f ${package_udeb}.tmp ${package_udeb}
mv --backup -f ${package_udeb}.gz.tmp ${package_udeb}.gz
mv --backup -f ${package_udeb}.bz2.tmp ${package_udeb}.bz2
fi
# Generate release file
cd ${REPO_PATH}/dists/${REPONAME}
cd ${REPO_PATH}/dists/${SUITE}
echo "$release_header" > Release.tmp
# Generate hashes
@ -47,7 +77,7 @@ c2=(md5 sha1 sha256 sha512)
i=0
while [ $i -lt ${#c1[*]} ]; do
echo ${c1[i]}
for hashme in `find main -type f \( -not -name "*~" -name "Package*" -o -name "Release*" \)`; do
for hashme in `find ${SECTION} -type f \( -not -name "*~" -name "Package*" -o -name "Release*" \)`; do
ohash=`openssl dgst -${c2[$i]} ${hashme}`
chash="${ohash##* }"
size=`stat -c %s ${hashme}`