質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.80%

Ansible(AWX)にて、playbookでyumモジュール(パラメータ)の”installroot”を指定するとエラーになる。

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 435

morita234

score 4

前提・実現したいこと

Ansible(AWX)で、以下の処理をジョブ化し、作業の効率化と作業ミスの減少を目的に自動化に取り組んでいる。
・複数のLinuxサーバに対して、社内のyumサーバに格納されている最新のOpenJDKをインストールディレクトリを指定してyumコマンドでインストールする。
・社内のyumサーバには、定期的に公開される最新のOpenJDKをRedHatから自動で格納されている。ただし、この処理は今回のplaybookとは別であり、既に実装し正常に稼働している。

発生している問題・エラーメッセージ

・Ansible(AWX)から、playbookで指定しているyumモジュールのインストールディレクトリ先を指定するオプションであるinstallrootを指定し、実行すると記載のエラーとなる。
・切り分けとしては、各Linuxサーバから社内yumサーバに対してyumコマンドをinstallrootを指定し直で実行すると、正常に意図したディレクトリに意図したバージョンのOpenJDKがインストールできる。

```
エラーメッセージ
以下がAWXで表示されるエラーです。
「"msg": "Error from repoquery: ['/usr/bin/repoquery', '--show-duplicates', '--plugins', '--quiet', '--installroot', '/usr/java/openjdk1.8.0_46/', '--disablerepo', '', '--enablerepo', '', '--qf', '%{epoch}:%{name}-%{version}-%{release}.%{arch}', 'java-1.8.0-openjdk-1.8.0.121-0.b13.el6_8.x86_64']: Usage: repoquery [options]\n\nrepoquery: error: no such option: --installroot\nUsage: repoquery [options]\n\nrepoquery: error: no such option: --installroot\n"}」

該当のソースコード

playbook(yml)の内容です。


  • hosts: all
    tasks:
  • name: yum openjdk install
    yum:
    name: "{{install_version}}"
    state: present
    installroot: /usr/java/openjdk1.8.0_46/

*"install_version"は、実行時にAWX機能のSurveyで入力している変数名であり、ジョブ実行時に手動で入力しているOpenJDK名である。

試したこと

エラーメッセージから改行コード「\n」が関係していそうなので、改行関連でいろいろ試してみたのですが、エラーメッセージは同じでした。

補足情報(FW/ツールのバージョンなど)

AWX 7.0.0.0、Ansible 2.8.4

ここにより詳細な情報を記載してください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

対象のLinuxサーバのrepoqueryが、installrootオプションに対応していないと思われます。

エラーメッセージを見ると、

repoquery: error: no such option: --installroot


とエラーが出ているようです。
実行しようとしているサーバで、

repoquery --installroot


とすると、同じエラーが出るのではないでしょうか。

installrootオプションに対応している場合は、以下のようになります。

$ repoquery --version
Repoquery version 0.0.11
$ repoquery --installroot
Usage: repoquery [options]

repoquery: error: --installroot option requires an argument

#"\n"は、Ansibleから実行しているコマンドの出力に改行があっただけなので気にしなくて良いです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.80%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • Javaに関する質問
  • Ansible(AWX)にて、playbookでyumモジュール(パラメータ)の”installroot”を指定するとエラーになる。