mk-ansible-roles.subscribe-repos
subscribe-repos
このプレイブックは、RHELサーバーがreposyncサーバーからアップデートを受け取るように設定します。 まず、reposyncサーバーでRHNにサーバーを登録し、次のスクリプトをcronジョブとして実行するか、setup-reposerverロールを使用してください。
--8<-- snip -----
#!/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<-- snip -----
このロールは、基本インストール後に最初に実行され、リポジトリを設定します。
要件
このロールを使用するには、上記のように正しく設定されたリポジトリサーバーが必要です。
ロール変数
次の変数をプレイブック内で設定できます。
リポジトリファイルが存在するディレクトリを指す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
グループのホスト)に2つのリポジトリを追加し、以前に設定されたリポジトリをすべて無効化する例のプレイブックです。リポジトリファイルを含むリポジトリサーバーは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 License Version 2.0, January 2004
著者情報
マルクス・コッホ
GitHubリポジトリのイシュリストにコメントを残してください。