Eu executo o spacewalk 2.2 em um ambiente RHEL6 que consiste em ~ 700 vms. Eu precisava modificar o do ahmedsajid para trabalhar com os repositórios que eu precisava, incluindo o EPEL. Minha versão está disponível aqui .
Estou baixando todos os repositórios localmente para o meu servidor do Spacewalk e apontando o repositório do passeio espacial para um diretório público via Apache. Quando o reposync estiver completo, eu posso manipular o updateinfo.xml da EPEL conforme necessário, para que o passeio espacial reconheça o formato:
set -o pipefail
if ls $REPO_DIR/$REPO/*updateinfo.xml.gz 2>/dev/null | tail -n 1 ; then
echo "updateinfo.xml.gz found"
gunzip -c $(ls -rt $REPO_DIR/$REPO/*updateinfo.xml.gz | tail -n 1) > $REPO_DIR/$REPO/updateinfo.xml
else
echo "updateinfo.xml.gz not found"
file=$(curl -s https://dl.fedoraproject.org/pub/epel/6Server/x86_64/repodata/ | grep "updateinfo.xml.bz2" | cut -d'"' -f6)
echo "Downloading EPEL $file"
wget -q -P $REPO_DIR/$REPO/ https://dl.fedoraproject.org/pub/epel/6Server/x86_64/repodata/$file
bunzip2 -c $(ls -rt $REPO_DIR/$REPO/*updateinfo.xml.bz2 | tail -n 1) > $REPO_DIR/$REPO/updateinfo.xml
fi
Depois disso, executo o spacewalk-repo-sync nos canais que preciso (apenas um para mim).
Está sujo (agora), mas funciona. Eu defini isso em crontab para executar todas as noites em torno de 01:00. A sincronização inicial pode demorar um pouco se você incluir todos os seus repositórios. Você poderia reduzir isso para lidar somente com EPEL, se necessário.
Espero que ajude.