Skip to content

CML へ cmlutils で Ubuntu 22.04LTS イメージをアップロードする

Cisco CML へ新しいイメージファイルをアップロードするには以下の手段があります。

  1. WebUI からアップロードする
  2. CLI からアップロードする

上記の「2.」に近いのですが、今回は CLI から cmlutils を使ってイメージをアップロードする手順をメモしておきます。 cmlutils の基本的な使い方は以前に CML2 を cmlutils で CML から操作する というメモに書きました。

作業環境

今回の作業環境は以下の通りです。 作業環境そのものの、CML へアップロードするイメージも Ubuntu 22.04LTS を使いました。 Ubuntu 20.04LTS と大きな違いはありませんが、Ubuntu 22.04LTS ではデフォルトで python が無く、python3 なので注意 (読み替え) が必要です。

  • CML 2.3.1
  • 作業環境は Ubuntu 22.04LTS
  • CML へアップロードするイメージも 22.04LTS

cmlutils のインストール

Python の venv 環境を作成し、pip で cmlutils をインストールします。 以前に Python の venv 環境を direnv で自動的に有効/無効化する というメモを書きましたが、direnv の利用有無に応じて以下にように実行します。

direnv を使わない場合

1
2
3
4
5
mkdir cmlutils
cd cmlutils
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip cmlutils

direnv を使う場合

1
2
3
4
5
6
mkdir cmlutils
cd cmlutils
python3 -m venv .venv
echo 'source .venv/bin/activate' > .envrc
direnv allow
python3 -m pip install --upgrade pip cmlutils

Ubuntu 22.04LTS (jammy) のダウンロード

CML 上で Ubuntu を利用するには Ubuntu Cloud Images ページからイメージファイルをダウンロードします。 今回は Ubuntu 22.04LTS がターゲットですので jammy-server-cloudimg-amd64.img をインストールしました。

1
curl -LO https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img

必須ではありませんが、ダウンロードしたイメージの詳細を確認したい場合は qemu-img を使います。 これは qemu-utils パッケージに含まれています。

1
apt -y install qemu-utils

現時点でダウンロードしたイメージは以下のようになっていました。 フォーマットが qcow2 であることが分かります。

1
2
3
4
5
6
7
8
9
# qemu-img info jammy-server-cloudimg-amd64.img
image: jammy-server-cloudimg-amd64.img
file format: qcow2
virtual size: 2.2 GiB (2361393152 bytes)
disk size: 597 MiB
cluster_size: 65536
Format specific information:
    compat: 0.10
    refcount bits: 16

qcow2 イメージを cmlutils でアップロードする

cmlutils を利用するには認証情報を ~/.virlrc へ記載します。 記載例は以下の通りです。

1
2
3
4
5
6
cat << 'EOF' > ~/.virlrc
VIRL_HOST="10.0.0.1"
VIRL_USERNAME="admin"
VIRL_PASSWORD="password"
CML_VERIFY_CERT=false
EOF

cmlutils でイメージをアップロードするには以下のように実行します。

1
cml definitions images import image-file -f jammy-server-cloudimg-amd64.img

CML へイメージを登録する

Ubuntu22 のイメージ定義ファイルは下記にアップロードしてあります。 vCPU x 2、メモリ 4GB にしてあります。

ノード定義例は以下の通りです。

Item Value
ID ubuntu-22-04-20220503
Label Ubuntu 22.04 - 03 May 2022
Description Ubuntu 22.04 - 03 May 2022
Disk Image jammy-server-cloudimg-amd64.img
Node Definition Ubuntu22