Skip to content

Blog

Cisco ACI で EndPoint の学習状況をリアルタイムで監視する

Cisco ACI の Leaf で Endpoint の学習状況を確認する場合、WebUI であれば EPG の Operational を見ます。 しかし、この方法では該当の EndPoint しか確認することが出来ません。 CLI であれば /var/log/dme/log/epm-trace.txt から確認出来ます。 例えば 192.0.2.1 というアドレスの学習状況を監視するのであれば該当 Leaf に SSH アクセスし、以下のように実行します。

1
tail -f /var/log/dme/log/epm-trace.txt | grep '192.0.2.1'

Cisco ACI で MTU の値を設定する

Cisco ACI で L2 MTU の値はデフォルトで 9,000bytes です。 変更するには以下を辿り、MTU Size for Tenant L2 Trunk Ports (bytes) の値を変更します。 この値は 576 〜 9,000 の間から指定します。 インターフェイス個別に設定することは出来ず、ファブリック全体で一意な値になります。

  • Fabric
    • Fabric Policies
      • Global Policies
        • Fabric L2 MTU Policy

実際の WebUI は以下の通りです。 今回は 3.0(1k) で試しています。

Poderosa から WSL を利用する

macOS だと iTerm が非常に使いやすいのですが、Windows ではターミナルエミュレータ毎に一長一短に感じます… 自分でソースコードを書き換え、オレオレ仕様にカスタマイズ出来ると便利なので、Windows ではソースコードが (私にとっては) 読みやすい Poderosa を使うことにしました。 Poderosa には「商用」と「OSS」のふたつがありますが、私が利用しているのは OSS 版です。

今回は Poderosa から WSL (Windows Subsystem for Linux) を利用する方法をメモしておきます。

C# で UI コントロールにスレッドセーフなアクセスをする

Windows Form アプリケーションを作成する際に UI コントロールへスレッドセーフにアクセスするには一工夫、必要です。 例えば TextBox に文字列を設定する場合、C# だと以下のように書けます。 InvokeRequiredInvoke が必要な場合は MethodInvoker を使います。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
private void SetText(TextBox txtBox, string text)
{
    if (txtBox.IsDisposed) return;
    if (txtBox.InvokeRequired)
    {
        this.Invoke((MethodInvoker)delegate { SetText(txtBox, text); });
    }
    else
    {
        txtBox.Text = text;
    }
}

Ansible-Tower ライクな Semaphore の Docker イメージ

以前にCentOS 7.4 に ansible-tower ライクな OSS「semaphore」の v2.4.1 をインストールするというメモを書きました。 もっと手軽に semaphore を試せるように Docker イメージを作成しましたので公開しています。

以下のように Docker-compose を使って起動します。

1
docker-compose up -d

RancherOS で Kubernetes 環境を構築する際の cloud-init

RancherOS 上で Kubernetes (以下、k8s) を試す際、Docker Engine のバージョンを予め k8s 互換バージョンに指定しておくと便利です。 その場合、cloud-init の定義例は以下のようになります。 尚、k8s と Docker Engine の互換性については Getting Started with Hosts の SUPPORTED DOCKER VERSIONS に記載されています。

Ansible で仮想マシンをクローンした際の電源状態を操作する

Ansible から vSphere ゲスト(仮想マシン)を操作するモジュールを使って仮想マシンを作成する際、電源の状態は state の定義を利用して制御します。 しかし、from_template を使ってテンプレートからクローンを実行した際は state を使って電源状態を制御することが出来ません。 from_template を使った場合の電源状態は(state では無く)power_on_after_clone を使います。