2019-01-01から1年間の記事一覧
はじめに 「業務の整理、手順書整備、体制作り・・」など、自動化の以前にすることとしてよく聞きます。 今年は「技術面で自動化以前にできること」に気付かされた年でした。それは、自動化よりも設計・管理対象を減らすということです。 ピンときた2つの資…
はじめに Ansible は GitHub 上で日々開発が進められています。 バグや要望などは Issue にあげられ、実装は Pull Request にあげられます。 Pull Request にあげられた追加、修正コードのうち、ansible/ansible リポジトリ にマージされていないものは、そ…
はじめに こちらの記事を拝見し、紹介されている Python のコードの別解を考えてみます。 fugulog.hatenablog.com 動作確認環境 Python 3.6.7, 3.7.5 やっていること 背景はここでは割愛しますが、docker イメージ名がリスト化された2つのファイル checklist…
はじめに Cisco Certified DevNet Associateの勉強の一環で以下の書籍を読みました。 Understanding and Using Application Programming Interfaces (APIs): Cisco DevNet Associate (DEVASC) 200-901 V1.0 Exam Guide Series (English Edition)作者:Muhamma…
はじめに 2020/02/24 に始まる、Cisco DevNet Associate (DEVASC 200-901) の勉強をはじめした 試験情報リンクまとめ tekunabe.hatenablog.jp 今後のブログでも、勉強途中のトピックを書いていきたいと思います。 当面の学習コンテンツ 公式のガイドは、2020…
はじめに Hackeyという、カギをひねると HTTP をしゃべる機器があります。 cerevo.com この機器のもう一つの機能として、内蔵の5色の LED を光らせるというものがあります。 HTTP GET を叩いて光らせるので、curl でも何でもいいのですが、たまたま手元にあ…
はじめに Ansible が内部で利用しているテンプレートエンジンの Jinja2 には、指定した文字数以内に切り詰める truncate フィルターがあります。 Ansible の filter のドキュメントページ には載っていないので知らなかったのですが、Jinja2 のリファレンス…
はじめに Ansible ではテンプレートエンジンとして Jinja2 を利用しています。 Jinja2 書式内で、Python の str.format()のようなことをする方法を2つ紹介します。 検証環境 Ansible 2.9.1 Python 3.6 方法1: .format() メソッドを利用する Python の str.fo…
これは Ansible Advent Calendar 2019 の22日目の記事です。 ■ はじめに Ansible は年に1〜2回ほどバージョンアップを重ねています。毎回大量のモジュールが追加されたり、様々な機能追加や変更がなされています。 個人的にはどのような変化があるのか気にな…
はじめに 先日開催された「Ansibleもくもく会 ( サーバ編 ) 2019.12 in 札幌」に、リモートメンターとして参加させていただきました。 その際、参加者の方から以下のご質問をいただきました。 モジュールの数が多いためやりたいことに適したモジュールを探す…
これは Ansible 3 Advent Calendar 2019 の21日目の記事です。 ■ はじめに NetBox を インベントリーとして利用する 以前「[Ansible] NetBox モジュールで Site や Device を登録する(Collection モジュール編) - てくなべ (tekunabe)」で、Ansible から N…
これは Ansible 3 Advent Calendar 2019 の20日目の記事です。 はじめに みなさま、Playbook を書いて一発で意図通り正常に動かすことはできますでしょうか? 私は、そうそうできません。 今年もよくいろいろなところでつまづきました。この記事では、個人的…
Ansible のラッキーモジュールを表示するPlaybook つくりました。 pic.twitter.com/X0fnAzFXoI— よこち(yokochi) @ Ansible実践ガイド 第3版 (@akira6592) 2019年12月19日 ■ はじめに Ansible には 3,000 を超えるモジュールが標準で含まれています。 ここま…
これは エーピーコミュニケーションズ Advent Calendar 2019 の15日目の記事です。 ■ はじめに NetBox とは、IPAM、ラックやデバイス管理機能を持ったWeb UI 付きのオープンソースのソフトウェアです。 Device 管理画面 API を備えていて、Ansible の NetBox…
はじめに 2020/02/24 に、Cisco 技術者認定試験の大きな改定が予定されています。 CCNA が1本化されたり、いきなり上位試験を受けられるようになったりなど、なかなかの大改訂です。 その中でも私が一番気になっているのが、ネットワークプログラマビリティ…
これは Ansible 3 Advent Calendar 2019 の6日目の記事です。(さかのぼり投稿) ■ はじめに 当アドベントカレンダーの 5日目の記事は、既存の 0,1 が書かれているファイルを反転させて別のファイルを生成するという記事でした。 qiita.com おもわず別解を考…
■ はじめに 2019/12/10-11 に開催された、DevNet Express for DNA [Tokyo] に参加してきました。 ネットワークプログラマビリティをテーマにした、ハンズオンを含むインベントです。 「for DNA」とついているのは、Cisco DNA Center という製品を中心とした…
これは Ansible 3 Advent Calendar 2019 の9日目の記事です。 ■ はじめに Ansible 2.9 から Network Resource Module という新しいタイプのモジュールが続々と追加されています。 config オプションで設定内容を指定し、state というオプションで4種類の操…
これは Ansible 3 Advent Calendar 2019 の8日目の記事です。 ■ はじめに 開発中の Ansible 2.10 では、Juniper Junos 向けのスタティックルート設定モジュール junos_static_routes モジュール (末尾 s あり)が追加されます。 Ansible 2.9 から続々と追加…
これは Ansible 2 Advent Calendar 2019 の7日目の記事です。 はじめに Playbook は YAML というフォーマットで記述します。ときどき、ミスによって YAML のディクショナリのキーの重複して書いてしまうこともあるかと思います。 これまではキーの重複時は、…
これは Ansible 2 Advent Calendar 2019 の5日目の記事です。 はじめに Ansible には、値に対して様々な処理をするフィルターがあります。 unique フィルターは、リスト内の要素の重複を排除してユニークにするフィルターです。 簡単なサンプルでご紹介しま…
これは ネットワーク自動化 Advent Calendar 2019 の4日目の記事です。 ■ はじめに ネットワーク自動化 Python ライブラリ netmiko は、Cisco、Juniper、Arista など様々なネットワークOSに対応しています。 開発状況を眺めていると、Juniper ScreenOS (SSG)…
これは Ansible 2 Advent Calendar 2019 の3日目の記事です。 ■ はじめに assert モジュールの that オプションで >= や <= などを利用することで、数値の範囲をチェックできます。 この記事では、簡単なサンプルをもとに説明します。 ■ 【要件1】 1〜1000 …
■ はじめに Ansible 2.9 から Ansible Collection という新しいコンテンツ配布形式が始まりました。(Ansible 2.8では実験的サポート) ロールのほかにも、モジュールやプラグインを含めて配布できるのが特徴です。 Collection でインストールするものは、An…
■ はじめに Ansible には、Playbook 実行時に予めどのような変更がせれるかを、実際に変更を加えることなくチェックできる、check モード (Dry-run)という機能があります。 これまでは、通常実行時も check モード実行時も、実行ログ上は特に変わりはありま…
■ はじめに fact といえば、サーバー系モジュールの場合は、gather_facts: yes(デフォルト)で収集されましたが、ネットワークモジュールの場合は事情が異なりました。 具体的には、gather_facts: yes では、Ansible コントロールノード自身の fact が収集…
■ はじめに role を構成する際、vars ディレクトリ配下に main.yml を作成して、変数を読み込ませます。 普通に考えると、vars/main.yml という1つのファイルしか読み込めなさそうですが、複数のファイルに分割しておきたいこともあるかもしれません。 公式…
■ はじめに このツイートの詳細です。 めちゃくちゃわかります。Playbook は Play をまとめたもの、と意識するようになってから、 - hosts がぱっとでてくるようになりました。 https://t.co/E6VX3oRPF8— よこち(yokochi) @ Ansible実践ガイド 第3版 (@akira…
はじめに Ansible Tower / AWX で画面から設定を続けていくと、自動化したくなるのではないでしょうか。 これから新たに設定する分は、Ansible で Ansible Tower / AWX の各オブジェクトを管理できる tower_* モジュールを利用するのも手かと思います。 では…
問題 突然ですが、問題です。 以下のようにタグのついた Playbook、role があるとします。 tag_playbook.yml - hosts: localhost gather_facts: no roles: - role: testrole tags: - tag_parent roles/testrole/tasks/main.yml - name: task1 debug: msg: "t…