0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rundeckのリポジトリを切り替えて更新したら起動しなくなった話

0
Last updated at Posted at 2022-05-27

何をやったのか

fedraの環境でそれなりに長くrundeckで定期的なスクリプト実行をスケジューリングさせていたのですが、ある時気が付くとdnf upgradeでrundeckのリポジトリが参照できなくなっていることに気が付きました。
RUNDECKのインストレーションガイドを読むと、マニュアルインストールの項には「bintray-rundeckpro-rpm.repoのエントリがあったら削除して、以下の内容に置き換えろ」とあります。

そういうことなら、と置き換えて(yumはdnfに読み替えて)upgradeしたところ……起動しなくなりました。
アップブレード後のバージョンは4.2.1(v4.2.1-20220511)です。

何が起きたのか

/var/log/rundeck/service.logから、起動後にframeworkからエラーが出ていることは分かりました。

現象1
ERROR boot.SpringApplication - Application run failed
"rundeck"と上記エラーメッセージをキーワードにして検索すると、SSL関連(鍵関係)の設定不備によるエラー相談のページが見つかりました。こちらも同様の現象かは不明ですが、(旧版では)設定した覚えがないので、stackoverflowのやり取りを参考に設定しました。

設定を終えて再起動すると、相変わらず起動してから落ちています。ただ、/var/log/rundeck/service.logに出ているメッセージ内容が別のものになっていました。

現象2
Unsupported connection setting "MVCC"
JDBCのマルチコネクション設定定義が見当たらない、というメッセージと共に出ていて、確かにそのような設定をした覚えがないので解らないのでもないのですが、旧版ではそもそも不要だったし、と思いながらRUNDECKのインストールガイドを読み進めていくとデータベース設定の項(Database Configuration)がありました。

RPMベースの導入なので、対象のコンフィグファイルは以下のものになります。
/etc/rundeck/rundeck-config.properties
こちらの環境ではすでにPostgreSQLが汎的用途のために稼働していたので、それを使うことにしたのですが、マニュアルには接続定義しか記載がありません。無ければ作るのでしょうか……と思いつつ再起動すると、起動後にエラーで落ちて、rundeckロールが無いとservice.logに出ていました。事前に用意していないので当たり前なのですが、このマニュアルの作り方はどうでしょう。
もちろん、rundeckが使用するデータベースの準備もマニュアルに記載があります。ただし、離れたセクションに収められています。

結局どうなったか

鍵関係の追加設定とDB接続まわりの設定を行うと、rundeckは無事に起動しました。ただし、DBを新規作成したことから解っていましたが、旧環境の定義周りは全て落ちています。スケジューラーしか使っていなかったので、プロジェクトの定義自体は手作業でも大した話ではないのですが、ジョブ定義は少々面倒です。
ただ、旧版のジョブでは定期的にジョブ定義をxmlにエクスポートしていました。バージョンが違うのでもしかしたらエラーで撥ねられるかもしれないとは思いましたが、最新のxmlをインポートさせると無事に読み込み、ジョブ定義を回復することができました。

他には何かあったか?

まずadminのパスワードはrealm.propertiesに情報があります。これを確認しないと当然ログインできません。

戸惑ったのは保存キャンセル操作後の画面遷移がうまく機能していないように見えたことです。ブラウザのトレースツールを確認するとCSPの警告が出てキャンセルされていました。ブラウザはサーバー外からアクセスするのでそれなりのサーバー名なりIPアドレスなりを使うのですが、rundeck-config.propertiesgrails.serverURLで使用しているサーバー名がlocalhostのままだったことが原因でした。

rundeckのCLIも合わせて更新しました。rdコマンドが使う環境変数に変わりはなく、こちらは特に問題らしきものには出くわしていません。

今はおちつきましたが

エンタープライズ版では他に使える機能もあるようですが、今はスケジューラーくらいしか使っていません。そういう利用環境では旧いbintray-rundeckpro-rpm.repo版のままそっとしておいた方が良かったかな、とか思わなくもありません。あんまり思い付きでバージョンアップするものではないですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?