subscribe-repos
subscribe-repos
Этот плейбук настраивает сервер RHEL для получения обновлений с сервера reposync. На вашем сервере reposync зарегистрируйте сервер в RHN, а затем запустите следующий скрипт как задания cron (или используйте роль setup-reposerver):
--8<-- вырез -----
#!/bin/bash
SERVERIP=1.2.3.4 ## замените на свой
cd /var/www/html/repos
# Полная или частичная синхронизация репозиториев
reposync -n -d -l --downloadcomps --download-metadata
ls -l | grep ^d | awk '{print $9}' | while read dirs; do
echo $dirs
if [ -f ${dirs}/comps.xml ]; then
createrepo -v ${dirs}/ -g comps.xml
else
createrepo -v ${dirs}/
fi
rf=/var/www/html/repofiles/${dirs}.repo
echo "[$dirs]" > $rf
echo "name=$dirs" >> $rf
echo "baseurl=http://${SERVERIP}/repos/$dirs/" >> $rf
echo "enabled=1" >> $rf
echo "gpgcheck=0" >> $rf
done
--8<-- вырез -----
Эта роль одна из первых, которая запускается после базовой установки для настройки репозиториев.
Требования
Для использования этой роли вам нужен правильно настроенный сервер репозиториев, как указано выше, обслуживающий репозитории.
Переменные роли
Вы можете установить следующие переменные в плейбуке:
Определите URL, который указывает на директорию, где находятся файлы репозиториев в "reponame.repo", например, rhel-7-server-rpms.repo
reposrvurl: http://$SERVERIP/repofiles/
Установите эту переменную в true, если вы хотите удалить/отключить все ранее существующие репозитории. По умолчанию стоит false.
repo_reset: true
Используйте это, чтобы определить список репозиториев, на которые вы хотите подписаться.
repositories:
- rhel-7-server-rpms
- repo2
- repo3
Пример плейбука
Вот пример плейбука, который добавляет два репозитория на клиентах (хостах в группе clients
) и отключает все ранее настроенные репозитории. Сервер репозиториев, содержащий файлы репозиториев, установлен в reposrvurl
.
- hosts: clients
remote_user: root
vars:
reposrvurl: http://myserver.lan/repofiles/
repo_reset: true
repositories:
- rhel-7-server-rpms
- rhel-sap-hana-for-rhel-7-server-rpms
roles:
- { role: mk-ansible-roles.subscribe-repos }
Лицензия
Лицензия Apache Версия 2.0, январь 2004 года
Информация об авторе
Маркус Кох
Пожалуйста, оставляйте комментарии в списке проблем на репозитории GitHub.
ansible-galaxy install mk-ansible-roles/subscribe-repos