LoginSignup
0
0

More than 3 years have passed since last update.

オフライン環境でAnsible #2 ~Ansibleトラブル編~

Last updated at Posted at 2021-01-19

はじめに

普段は、地道に最下層から仮想環境を作成しクライアントOSを導入するインフラエンジニアです。なので、専門用語はもちろん、自動化や効率化とは若干無縁。そんな人間がAnsible使うぞ!使えるようにするぞ!を書き下してる記事です。(#1同様)

前回のオフライン環境でAnsible #1 で、サーバーとクライアントの設定が終わったため、これからAnsibleを流します。

トラブルの始まり…

まずは、Playbookを流す前に実際にAnsibleが動くことを確認したいのでコマンドライン上で操作。今回はIDと名前を指定して、新しいユーザー・グループを作成してみることに。
それじゃあ設定流してみよう。と、動き出したら、エラーが上がりました。

ansible all -m group -a "name=AAA gid=10000"
[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change,
 but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting
 deprecation_warnings=False in ansible.cfg.
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

{IP-ADDRESS} | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
    "unreachable": true
}
# ansible Ansible-Client -m group -a "name=AAA gid=10000"

まず一つ。SSHを行う接続先のユーザーが指定されていないので、Ansibleサーバーと同じrootユーザーで接続しようと試みる。rootユーザーとしての認証は通していないので、もちろん、アクセスはできない。

ということで、接続ユーザーを確定させて接続することに。やり方はAnsibleでのSSH接続ユーザー指定方法から。

# vim /etc/ansible/hosts
...
[Ansible-Client]
ansible-client ansible_ssh_user=ansible

これでよし。ansibleユーザーを使ってくれるようになったので、再度チャレンジ

# ansible Ansible-Client -m group -a "name=AAA gid=10000"
[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change,
 but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting
 deprecation_warnings=False in ansible.cfg.
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

{IP-ADDRESS} | FAILED! => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "cmd": "/sbin/groupadd -g 10000 AAA",
    "msg": "[Errno 13] Permission denied",
    "rc": 13
}

パーミッションの問題。sudo権限はつけたけど、sudoにパスワードが必要だから、ssh認証は突破してもエラーが返ってくる。そりゃそうか。面倒だな。
パスワードなしの認証等を今回気にすると面倒なのでrootに公開鍵を渡してrootで実行することに。

# ansible Ansible-Client -m group -a "name=AAA gid=10000"
[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change,
 but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting
 deprecation_warnings=False in ansible.cfg.
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

{IPADDRESS} | CHANGED => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": true,
    "gid": 10000,
    "name": "AAA",
    "state": "present",
    "system": false
}

FINALLY!!!やっとできた。わーい。

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