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. # On Fuel node we will be using dockerized Ubuntu for dependencies resolving.
# Assuming that Docker is up and running. # Assuming that Docker is up and running.
DOCKER_MODE=true 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 else
# working outside Fuel master node, using defaults # working outside Fuel master node, using defaults
FUEL_VERSION=6.1 FUEL_VERSION=6.1
FUEL_BRANCH=master FUEL_BRANCH=master
DOCKER_MODE=false DOCKER_MODE=false
FUEL_SERVER=FUEL_SERVER
fi fi

View File

@ -474,7 +474,9 @@ export BINROOT
if [[ "$DOCKER_MODE" = "true" ]]; then if [[ "$DOCKER_MODE" = "true" ]]; then
( docker ps -a | grep fuel-createmirror ) && docker rm -f fuel-createmirror ( docker ps -a | grep fuel-createmirror ) && docker rm -f fuel-createmirror
# docker pull ubuntu:latest # 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" dockerctl shell fuel-createmirror $BINROOT/util/partial_ubuntu.sh || fatal "Cannot calculate list of dependencies"
# cleanup ubuntu container # cleanup ubuntu container
docker rm -f fuel-createmirror 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/binary-amd64
mkdir -p ${PARTIAL_UPSTREAM_PATH}/dists/${UBUNTU_RELEASE}/main/debian-installer/binary-amd64 mkdir -p ${PARTIAL_UPSTREAM_PATH}/dists/${UBUNTU_RELEASE}/main/debian-installer/binary-amd64
mkdir -p ${PARTIAL_UPSTREAM_PATH}/${INITRD_DIR} mkdir -p ${PARTIAL_UPSTREAM_PATH}/${INITRD_DIR}
find ${PARTIAL_UPSTREAM_PATH} -type d -print0 | xargs -0 chmod 755
temp_dir=`mktemp -d --suffix="-reposync"` temp_dir=`mktemp -d --suffix="-reposync"`
find $LOCAL_DIR/pool/ -name *.deb -type f -exec cp -vuni '{}' ${temp_dir} ";" find $LOCAL_DIR/pool/ -name *.deb -type f -exec cp -vuni '{}' ${temp_dir} ";"
rsync -a --delete ${temp_dir}/ ${PARTIAL_UPSTREAM_PATH}/pool/main 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 Script will print directory names which can be used as respective
repository URLs on the "Settings" page of cluster setup, i.e. repository URLs on the "Settings" page of cluster setup, i.e.
file:///var/www/nailgun/ubuntu-part
http://FUEL_SERVER:8080/ubuntu-part
CUSTOMIZATION CUSTOMIZATION
------------- -------------
@ -60,10 +61,10 @@ print_repositories() {
echo " * INFO: Set the following repositories:"; echo echo " * INFO: Set the following repositories:"; echo
if [ "$2" == "full" ]; then if [ "$2" == "full" ]; then
for dist in "${DISTs[@]}"; do 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 done
else else
echo " ${DISTs[0]} deb file://$1 ${DISTs[0]} main" echo " ${DISTs[0]} deb http://$FUEL_SERVER:8000/$1 ${DISTs[0]} main"
fi fi
echo echo
} }
@ -96,7 +97,7 @@ if [[ "$1" != "ubuntu" ]]; then
if [[ "$EC_MOS" == "0" ]]; then if [[ "$EC_MOS" == "0" ]]; then
. $BINROOT/config/mos-ubuntu-updatesonly.cfg . $BINROOT/config/mos-ubuntu-updatesonly.cfg
echo " * INFO: MOS mirror was created at: $LOCAL_DIR" echo " * INFO: MOS mirror was created at: $LOCAL_DIR"
print_repositories $LOCAL_DIR full print_repositories ${LOCAL_DIR##*/} full
else else
echo " * FATAL: Creation of MOS mirror FAILED, check logs at $LOG_ROOT" echo " * FATAL: Creation of MOS mirror FAILED, check logs at $LOG_ROOT"
EC=1 EC=1
@ -107,10 +108,10 @@ if [[ "$1" != "mos" ]]; then
. $BINROOT/config/ubuntu.cfg . $BINROOT/config/ubuntu.cfg
if [[ $PARTIAL_UPSTREAM = "1" ]]; then if [[ $PARTIAL_UPSTREAM = "1" ]]; then
echo " * INFO: Ubuntu partial mirror was created at: $PARTIAL_UPSTREAM_PATH" echo " * INFO: Ubuntu partial mirror was created at: $PARTIAL_UPSTREAM_PATH"
print_repositories $PARTIAL_UPSTREAM_PATH print_repositories ${PARTIAL_UPSTREAM_PATH##*/}
else else
echo " * INFO: Ubuntu mirror was created at: $LOCAL_DIR" echo " * INFO: Ubuntu mirror was created at: $LOCAL_DIR"
print_repositories $LOCAL_DIR full print_repositories ${LOCAL_DIR##*/} full
fi fi
else else
echo " * FATAL: Creation of Ubuntu mirror FAILED, check logs at $LOG_ROOT" echo " * FATAL: Creation of Ubuntu mirror FAILED, check logs at $LOG_ROOT"

View File

@ -1,19 +1,41 @@
#!/bin/bash #!/bin/bash
# Based on the method described here: # Based on the method described here:
# http://troubleshootingrange.blogspot.com/2012/09/hosting-simple-apt-repository-on-centos.html # http://troubleshootingrange.blogspot.com/2012/09/hosting-simple-apt-repository-on-centos.html
# Please install 'dpkg' and 'dpkg-devel' packages before use.
set -e set -e
ARCH=amd64 ARCH=amd64
REPO_PATH=$1 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 RELEASE="${REPO_PATH}/dists/${SUITE}/Release"
binoverride_udeb=indices/override.${REPONAME}.main.debian-installer touch ${RELEASE}
extraoverride=indices/override.${REPONAME}.extra.main
release_header=`head -8 ${REPO_PATH}/dists/${REPONAME}/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_deb=${BINDIR}/binary-${ARCH}/Packages
package_udeb=${BINDIR}/debian-installer/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} cd ${REPO_PATH}
# Scan *.deb packages # 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 gzip -9c ${package_deb}.tmp > ${package_deb}.gz.tmp
bzip2 -ckz ${package_deb}.tmp > ${package_deb}.bz2.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
# Replace original files with new ones # Replace original files with new ones
mv --backup -f ${package_deb}.tmp ${package_deb} mv --backup -f ${package_deb}.tmp ${package_deb}
mv --backup -f ${package_deb}.gz.tmp ${package_deb}.gz mv --backup -f ${package_deb}.gz.tmp ${package_deb}.gz
mv --backup -f ${package_udeb}.tmp ${package_udeb} mv --backup -f ${package_deb}.bz2.tmp ${package_deb}.bz2
mv --backup -f ${package_udeb}.gz.tmp ${package_udeb}.gz
# 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 # Generate release file
cd ${REPO_PATH}/dists/${REPONAME} cd ${REPO_PATH}/dists/${SUITE}
echo "$release_header" > Release.tmp echo "$release_header" > Release.tmp
# Generate hashes # Generate hashes
@ -47,7 +77,7 @@ c2=(md5 sha1 sha256 sha512)
i=0 i=0
while [ $i -lt ${#c1[*]} ]; do while [ $i -lt ${#c1[*]} ]; do
echo ${c1[i]} 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}` ohash=`openssl dgst -${c2[$i]} ${hashme}`
chash="${ohash##* }" chash="${ohash##* }"
size=`stat -c %s ${hashme}` size=`stat -c %s ${hashme}`