2

私は新しいことができません。私は、AWSでホストされている450以上のLinuxサーバーのOSバージョンを取得する必要があるという要件があります。 AWSはこの機能を提供していません。むしろ、人形やシェフから入手することを提案しています。リモートホストのOSバージョンを取得するために、プレイプラブを作成する方法は?

私は、ホスト名とOSのバージョンと

--- 
- hosts: testmachine 
user: ec2-user 
sudo: yes 
tasks: 
- name: Update all packages to latest 
yum: name=* state=latest 

task: 
- name: obtain OS version 
shell: Redhat-release 

脚本を出力すべきテキスト・ファイルを実行していないいくつかの簡単なプレイブックを作成しました。これについての洞察は高く評価されます。

答えて

1

"AWSはこの機能を提供していません" - /etc/os-releaseファイルをチェックしてawsインスタンスの詳細を確認できます。私は450台のRedHatサーバーや猫の/ etc/redhatのリリースにログインした場合

は、例えば、応答のための

[[email protected] ~]$ cat /etc/os-release 
NAME="Amazon Linux AMI" 
VERSION="2016.03" 
ID="amzn" 
ID_LIKE="rhel fedora" 
VERSION_ID="2016.03" 
PRETTY_NAME="Amazon Linux AMI 2016.03" 
ANSI_COLOR="0;33" 
CPE_NAME="cpe:/o:amazon:linux:2016.03:ga" 
HOME_URL="http://aws.amazon.com/amazon-linux-ami/" 
+0

おかげではVorは、しかし、..私はほとんどのカップルでナットを行きますそれが私がこれを自動化するために使えると思った理由だった。有能な専門家はどこですか? – AmigoSe

+0

'shell:cat/etc/os-release'をやってみませんか? - 名前: – Vor

+0

あなたも – smiller171

1
- name: obtain OS version 
    shell: Redhat-release 
    register: result 

- name: print OS version 
    debug: var=result.stdout 
+1

おかげで、私は、次の 作業しようとした をsmiller171あなた 'cat'コマンドからの標準出力を印刷するために、デバッグを使用する必要がありますリモートホストのOSバージョン シェルを収集:猫の/ etc/redhatのリリースを - 名前:プリングOSバージョン デバッグ:VAR = result.stdout TASK [印刷OSのバージョン] *************************** **************************** ok:[IP] => { "result.stdout": "VARIABLEは定義されていません! " バールisnot定義された – AmigoSe

+0

私の例をもう一度見に来た。シェルコマンドの結果を登録することは重要です。 – smiller171

関連する問題