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リポジトリのイシュリストにコメントを残してください。

プロジェクトについて

subscribe repositories from reposync server

インストール
ansible-galaxy install mk-ansible-roles.subscribe-repos
ライセンス
apache-2.0
ダウンロード
71