maxlareo.cumuluslinux

CumulusLinux

Ansible Galaxy

NCLUモジュールを通じてCumulus Linuxを管理するためのAnsibleロールです。

要件

Cumulus Linuxバージョン3.2以上のみ、以前のリリースはNCLUをサポートしていません。

ロール変数

変数 説明 デフォルト
cl_license CumulusLinuxライセンス 文字列 ''
cl_hostname デバイスのホスト名 文字列 cumulus
cl_time_zone タイムゾーン 文字列 Etc/UTC
cl_time_ntp_servers NTPサーバーのリスト、iburstオプションを追加可能 配列 []
cl_time_ntp_source NTPソースインターフェース 文字列 eth0
cl_locales locale-genからロケールを有効にする 配列 []
cl_dns_nameserver DNSネームサーバー、ipv4およびipv6の二つのサブ配列 ハッシュ {}
cl_commands 再帰的ルックアップを使用したAnsible ncluの原子コマンド、追加/削除アクションを許可、最初に実行 ハッシュ {}
cl_snmp 再帰的ルックアップを使用して、net add snmp-serverからsnmp-server設定 ハッシュ {}
cl_syslog ipv4およびipv6の二つのサブ配列のsyslog設定、各エントリにはIP + ポート、オプションでプロトコル(udp/tcp)が必要 ハッシュ {}
cl_interface 再帰的ルックアップを使用してnet add interfaceからのインターフェース設定 ハッシュ {}
cl_bond 再帰的ルックアップを使用してnet add bondからのボンド設定 ハッシュ {}
cl_vlan 再帰的ルックアップを使用してnet add vlanからのVLAN設定 ハッシュ {}

依存関係

なし

カスタムルックアップ

再帰的

AnsibleでCumulus Linuxのインターフェース構成を管理するために、ハッシュから変数を構築できるルックアッププラグインを作成しました。このプラグインは、ネストされたハッシュを再帰的に読み取り、ハッシュを文字列のリストに変換します。

変数の各深さは、次のようにncluコマンドに追加されます。

変数:

cl_interface:
  swp1:
    ip:
      address: 192.168.1.1/24
    link:
      speed: 100
  swp2:
    bridge:
      trunk:
        vlans:
          - 1-5
          - 10,12

結果:

swp1 ip address 192.168.1.1/24
swp2 bridge trunk vlans 1-5
swp2 bridge trunk vlans 10,12

この方法で、複雑な設定の変数の構造をより読みやすく見つけることができます。

例プレイブック

    - hosts: leaf01
      roles:
        - cumuluslinux
      vars:
        cl_license: [email protected]|thequickbrownfoxjumpsoverthelazydog312
        cl_hostname: leaf01
        cl_time_zone: Europe/Paris
        cl_time_ntp_servers:
          - 0.cumulusnetworks.pool.ntp.org iburst
          - 1.cumulusnetworks.pool.ntp.org 
          - 2.cumulusnetworks.pool.ntp.org 
          - 3.cumulusnetworks.pool.ntp.org 
        cl_time_ntp_source: eth1
        cl_locales:
          - en_US.UTF-8 UTF-8
          - fr_FR.UTF-8 UTF-8
        cl_dns_nameserver:
          ipv4:
            - 9.9.9.9
            - 1.1.1.1
          ipv6:
            - 2620:fe::fe
        cl_interface:
          swp1:
            ip:
              address: 192.168.1.1/24
            link:
              speed: 100
          swp2:
            bridge:
              trunk:
                vlans:
                  - 1-5
                  - 10,12
        cl_snmp:
          listening-address:
            ip:
              - 192.168.1.10
              - 192.168.1.20
          readonly-community:
            my_rocommunity:
              access: any
        cl_commands:
          add:
            vrf: mgmt
          del:
            snmp-server: all
        cl_syslog:
          ipv4:
            - ip: 192.168.1.10
              port: 5000
              proto: tcp
            - ip: 192.168.1.20
              port: 6000
          ipv6:
            - ip: 2001:db8::1
              port: 5000
        cl_bond:
          uplink:
            bond:
              slaves:
                - swp1
                - swp2
        cl_vlan:
          100:
            ip:
              adress:
                - 10.10.10.0/24

ライセンス

MIT

著者情報

Maxime Lareo

フィードバック、バグ報告、リクエスト、...

大歓迎です こちら にどうぞ!

プロジェクトについて

Manage CumulusLinux via NCLU

インストール
ansible-galaxy install maxlareo.cumuluslinux
ライセンス
mit
ダウンロード
119
所有者