Spacewalkでosadのクライアントを設定する

Spacewalkに管理対象ノードを登録すると、Webインターフェースから色々出来るようになるようです。
例えば、RPMパッケージを選択してインストールするとか。

今回は、上記のようなことをやるために、クライアント側のosadを設定しました。
その時のメモです。

パッケージのインストール


これだけです。

 # yum install osad

設定


まずはSpacewalkサーバーから、サーバー証明書をダウンロードしておきます。

# cd /usr/share/rhn/
# wget http://xxx.xxx.xxx.xxx/pub/RHN-ORG-TRUSTED-SSL-CERT


次に「/etc/sysconfig/rhn/osad.conf」に設定を行います。
「osa_ssl_cert」に先ほどダウンロードしたサーバー証明書のパスを入力します。

osa_ssl_cert = /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT


osadサービスを起動します。

# service osad start


これでOKです。


設定している時に、下記のようなエラーに遭遇しました。


Spacewalkクライアント側(/var/log/osad)

2010-12-08 00:48:26 jabber_lib.main: Unable to connect to jabber servers, sleeping 70 seconds


Spacelwalkサーバー側(/var/log/messages)

Dec  8 00:48:26 repository-ora jabberd/c2s[2609]: [9] [xxx.xxx.xxx.xxx, port=43108] connect
Dec  8 00:48:26 repository-ora jabberd/c2s[2609]: [9] [xxx.xxx.xxx.xxx, port=43108] disconnect jid=unbound, packets: 0


つなぎに行くけど、直後にコネクションが切断されています。


どうやら、httpsの通信を行うので、サーバー証明書に設定されているホスト名と、
名前解決を行った結果のホスト名が一致していないことが原因でした。


推奨されているようでもあるので、DNSを立てて設定していくのが無難かも知れません。


私の場合は、DNSサーバーを構築するのを怠けたので、以下のように対処しました。
いずれもSpacewalkクライアント側の設定です。

    • 「/etc/sysconfig/rhn/osad.conf」


まず、以下を設定しました。「your host」はSpacewalkサーバーセットアップ時に作成した証明書のホスト名と同じにします。

server_url = https://[your hostname]/XMLRPC


後は、Spacewalkクライアントの「/etc/hosts」に、SpacewalkサーバーのIPアドレスを記述しました。
そうするとうまくいきました。


今日はこんな所で。