てくなべ (tekunabe)

ansible / network / automation / StackStorm

ansible

[Ansible] user モジュールの基本的な使い方(ユーザーの作成・削除など)

■ はじめに Ansible には、ユーザーを管理(作成、削除など)する user モジュール があります。 この記事では、 user モジュールの公式ドキュメントに記載されている使用例をベースにして、使い方を説明します。 なお、公式ドキュメントの使用例は、Playboo…

[Ansible] lineinfile モジュールの基本的な使い方(テキストファイルの行単位の編集)

■ はじめに Ansible には、テキストファイルを行単位で編集する lineinfile モジュール があります。httpd.conf などの設定ファイルの設定項目を書き換えるといった用途に利用できます。 この記事では、 lineinfile モジュールの公式ドキュメントに記載され…

[Ansible] service モジュールの基本的な使い方(サービスの起動・停止・自動起動の有効化など)

■ はじめに Ansible には、sytemctl や service コマンドなどによるサービスの管理(起動、停止、再起動削除など)をする service モジュール があります。 この記事では、 service モジュールの公式ドキュメントに記載されている使用例をベースにして、使い…

[Ansible] yum モジュールの基本的な使い方(パッケージのインストールなど)

■ はじめに Ansible には、yum によるパッケージの管理(インストール、更新、削除など)をする yum モジュール があります。 この記事では、 yum モジュールの公式ドキュメントに記載されている使用例をベースにして、使い方を説明します。 なお、公式ドキ…

[Ansible] 認証情報の変数名は ansible_user、ansible_password に統一したほうがよさそう

■ はじめに Ansible で管理対象ホストのユーザー名やパスワードを定義する変数名はいくつかあります。 ユーザ名 ansible_ssh_user ansible_user パスワード ansible_ssh_pass ansible_pasword みなさんはどのよいうに使い分けていますでしょうか。 先日たま…

[Ansible] -i オプションでディレクトリを指定すると複数のインベントリファイルをマージできる

■ はじめに Ansible の管理対象ホストを定義するインベントリは、ansible-playbook コマンドの -i オプションで指定します。スタティックなインベントリでも、ダイナミックインベントリでも同じです。 コマンド例 $ ansible-playbook -i inventory site.yml …

Ansible Night in Nagoya 2019.02 に参加と登壇してきました

■ はじめに 【祝】初名古屋開催! 2019/02/15 に名古屋で「Ansible Night in Nagoya 2019.02」が開催されました。 Ansible ユーザー会によるこのイベントは、これまで東京、大阪、福岡で開催されてきましたが、今回ははじめての名古屋開催となりました。 ans…

[Ansible] INI形式の変数定義では yes や true は 文字列、True は boolean

■ はじめに いままで INI 形式のインベントリファイル内での変数は ansible_host くらいしか定義してなかったので気が付かったのですが、boolean の値を定義する場合は YAML とは異なる事情があるようです。 ansibleで変数に入れたyes/noの扱いに苦しんだ - …

[Ansible] デフォルトから変更されている設定項目を確認する方法(ansible-config dump --only-changed)

はじめに Ansible 2.4 以上には ansible-config という、設定項目を表示するコマンドがあります。 ansible-config dump --only-changed のように、dumpサブコマンドと --only-changed オプションを付けて実行すると、デフォルトから変更されている設定項目の…

「Ansibleもくもく会 2019.01 ネットワーク編 in 富士通」にメンターとして参加しました

はじめに 2019/01/ に Ansible のハンズオンイベント「Ansibleもくもく会 2019.01 ネットワーク編 in 富士通」が、 富士通ソリューションスクエア PLYで開催されました。 ansible-users.connpass.com 本イベントに、メンターとして参加させていただいたので…

ネットワークのテスト自動化に利用できそうなツールまとめ

はじめに サーバーのテスト自動化といえば、 Serverspec や Testinfra 、infrataster などが有名ですが、ネットワークのテスト自動化については、みんなが口をそろえて名前を出すものがないような印象です。一方で、リスクの観点から設定変更の自動化より先…

[Ansible] Junos の設定投入後に commit せずに candidate config を取得する

■ はじめに Ansible は、Juniper Junos のネットワーク機器に対応していて、情報の取得や設定変更ができます。 Junos は設定投入後に commit することによって、実際の動作に反映されます。設定変更の流れの中で、commit 前の candidate config を確認したい…

[Ansible] 公式 lint ツール、ansible-lint 4.0.0 リリース。新しいドキュメントサイトやデフォルトルール追加など

■ はじめに Ansible Playbook の 書式をチェックする lint ツール ansilbe-lint のバージョン 4.0.0 が 2018/12/18 にリリースされました。 以下 changelog から引用 New documentation site docs.ansible.com/ansible-lint Additional default rules for an…

[Ansible] ios_config モジュールの backup オプションによるバックアップで意図しないバックアップファイルが削除されるバグについて (Ansible 2.7.5 現在)

■ はじめに Ansible には Cisco IOS ネットワーク機器に設定変更コマンドを実行する ios_config モジュールがあります。 ios_config モジュールには、backup という、設定変更前のコンフィグを事前に Ansible 側に保存するオプションがあります。 デフォルト…

[Ansible] ios_config モジュールの src で指定するファイルの内容には正しいインデントが必要

これは Ansible Blogger 2018 (sponsored by Red Hat) Advent Calendar 2018 の22日目の記事です。 ■ はじめに Ansible には、 Cisco IOS ネットワーク機器に対して設定変更コマンドを実行できる ios_config モジュールがあります。 ios_config モジュール…

[Ansible] AWX から Cisco IOS と Juniper Junos を操作する

■ はじめに Ansible には GUI 付きの Ansible Tower という製品があります。そのアップストリーム版 OSS にあたるものとして AWX があります。 AWXのダッシュボード画面 この記事では、AWX から IOS と Junos の機器に対して簡単な操作(show versionの実行…

[Ansible] 2018年のAnsible ネットワークモジュールのアップデートまとめ(詳細版)

これは Ansible Advent Calendar 2018 の15日目の記事です。 ■ はじめに 2018年、Ansible は 2.5、2.6、2.7 とバージョンアップを重ねてきました。ネットワーク関連では、新規対応プラットフォームやモジュールの追加の他にも、ネットワークモジュール用コネ…

[Ansible] ansible-playbook コマンドの -e (--extra-vars) オプションは変数ファイル名も指定できる

-e (--extra-vars) オプションとは ansible-playbook コマンドには、-e(または --extra-bars) という、extra vars(一番優先される変数の種類)を指定するオプションがあります。複数指定する場合は、複数の -e オプションを使用します。 ansible-playbook…

[Ansible] Playbook Debugger でタスク変数の値を変更してもタスクに反映されない現象について

■ はじめに Ansible には Playbook Debugger という、Playbook 実行時に変数の値を確認、変更などできる機能があります。 参考 Playbook Debugger 使えばきっと一目置かれるAnsibleのちょっと高度な機能 Ansible の Playbook Debugger を常に起動させる方法…

[Ansible] ios_config モジュールはデフォルトでは copy run start しない

■ デフォルトでは copy run start によるコンフィグ保存をしない Ansible には、Cisco IOS ネットワーク機器に対して設定変更などができる ios_config モジュールがあります。 lines オプションなどを利用して実行したいコマンドを指定します。 使用例 - nam…

Ansibleもくもく会を誘致して自社会場で開催した話

■ はじめに 2018/12/10 に弊社を会場として「Ansibleもくもく会 2018.12 ネットワーク編 in エーピーコミュニケーションズ」を開催しました。 ansible-users.connpass.com Ansibleもくもく会は、Ansible ユーザー会というコミュニティ主催とするハンズオンの…

[Ansible] null コールバックプラグインをためしてみた

はじめに:コールバックプラグインとは Ansible には コールバックプラグインという仕組みがあり、たとえば json コールバックプラグインを利用すると、ansible-playbook 実行結果の表示は JSON に変更できます。 Ansible 2.5 から null コールバックプラグ…

ネットワークエンジニアがはじめてプルリクを出した話(Ansible)

これは DevLOVE Advent Calendar 2018 の 6日目の記事です。 はじめに DevLOVE のコンセプトは以前は以下の2つでした。 開発の楽しさを発見しよう。広げよう。 開発の現場を前進させよう。 今年は 3つめが追加されました。 自分から越境しよう。 越境とは何…

[Batfish/Ansible] Batfish と Ansible によるネットワークコンフィグ事前検証のウェビナーのまとめ

これは Batfish Advent Calendar 2018 の1日目の記事です。 先日、Ansible と Batfish を使ったネットワークコンフィグの事前検証についてのウェビナーがあり、Ansible 公式サイトに動画も公開されました。 この記事では、動画の内容のまとめと補足をしたい…

[Ansible] グループ変数を活用したネットワーク機器への Syslog サーバー追加

この記事は、Software Design 2018年12月号 の 特集1「[超速]入門 Ansible」内の「第3章:Ansibleでネットワーク作業も自動化」(以下、基本編)の続きです。 ソフトウェアデザイン 2018年12月号作者: 中島倫明,横地晃,齊藤秀喜,楠正憲,三廻部大,鷲北賢,くつ…

Software Design 2018年12月号の Ansible 特集に寄稿しました(ウラ話など)

gihyo.jp はじめに Software Design 2018年12月号の Ansible 特集の中の「第3章:Ansibleでネットワーク作業も自動化」という章を寄稿させていただきました。個人的には貴重な経験だったので、経緯や気づきなどを書きたいと思います。 きっかけは継続したア…

【Ansible】ios_config モジュールでべき等性を考慮せずにコンフィグを投入する方法(match: none)

■ match オプション を none にするとべき等性を考慮しない Ansible には、Cisco IOS 機器にコンフィグ投入などができる ios_config というモジュールがあります。 このモジュールはデフォルトで、べき等性を保とうとする仕様になっています。 大まかな流れ…

【Ansible】ios_config モジュールで特権ユーザーにもかかわらず operation requires privilege escalation が発生する不具合について(2.7.1で修正)

■ 現象: 特権ユーザーにもかかわらずエラーに 特定条件下で、Ansible の ios_config モジュール使用時に、特権ユーザーを利用しているにもかかわらず、operation requires privilege escalation というエラーが表示され、Playbook の処理が中断されてしまう…

RED HAT ANSIBLE NETWORK AUTOMATION のアップデート情報(翻訳)

この翻訳記事は Ansible 公式ブログである THE INSIDE PLAYBOOK の記事、RED HAT ANSIBLE NETWORK AUTOMATION UPDATESを、筆者であるSean Cavanaughさん及びRed Hat の許可を得て翻訳したものです。 先日、今まで最大の AnsibleFest は成功を収めました。Ans…

#ssmjp 2018/10 で「Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)」という発表をしました

■ Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき) 2018/10/12 開催の #ssmjp 2018/10 で「Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)」という発表をさせていだきました。 Ansibleではじめるサーバ…