※本記事は OpenShift Virtualization アドベントカレンダーの 7 日目の記事です。
皆さんこんにちは、OpenShift Virtualization とストレージを生業にしている Red Hat のうつぼ(宇都宮)です。
現場猫をご存知でしょうか?あの安全帽を被って指差し確認しながら「ヨシ!」とやってる例の猫のイラスト、みなさんも一度は見たことがあると思います。
この指差し確認というのは IT の世界でも馬鹿にならないもので、なぜならヒューマンエラーの原因の多くは確認不足によるものだからです。指差し確認とは体を動かすことで脳を刺激して、きちんと意識的に確認をするという偉大な行為なのです。CRUD 操作のコマンドを打つ時は、必ず「ヨシ!」とやりたいものですね。
ということで今日のテーマは確認ダイアログです。
OpenShift Virtualization の GUI
Red Hat OpenShift Virtualization(以下、Virt)は、既存の仮想化基盤からの移行先として多くのお客様やパートナー様にご検討いただいています。これは大変ありがたいことです。
ですが Virt の操作に違和感を覚えるかたも少なくないと思います。OpenShift は Kubernetes をベースにしているため、手続き型ではなく宣言型の操作を行います。
例えば VM にディスクを1つ追加する処理も、「VM にディスクを1つ追加する」という変更作業自身を記述するのではなく、「VM のディスクが2つになった」という変更後の姿を記述します。
こうすることで、宣言したあるべき姿になるまで自動で操作をやり直してくれるため非常に便利なのですが、これがやはり既存の仮想化基盤の操作に慣れている方からすると最初は結構違和感を抱くことがあるでしょう。
しかしこれは YAML の話。Virt には Virt 専用の洗練された(多分洗練されてると思う、洗練されてるんじゃないかな)という GUI が存在し、まるで手続き型のような操作を可能としています。
VM Tree View
OpenShift の GUI(Web console)は基本的に Project(Namespace)を選択して、その中のリソースを表示し、色々な操作をできるようにします。ノードだとか PV だとか Storage Class だとか、Project 関係なくクラスタ全体で定義されるリソース(cluster-scoped resource)以外は大抵は Project 単位で見ることになります。
VM も例に漏れず Project 内で定義されるリソースなので、Project を選択して見ることになります。しかし、管理者の立場としてはどの Project に何の VM があるのか、わかりやすく一覧で見たいですよね。
そういうわけで Virt 4.19 から GA になったのが Tree View です。左側に Project ごとに VM を Tree View で一覧できるようになっています。Project 内でフォルダを作って分類することも可能です。結構 vSphere Client っぽい見た目なので、とっつきやすいのではないかなと思います。

確認ダイアログの実装
さて本題はここから。さっきの View で VM を選択すると下のような感じで表示されます。この右上の方に四角とかぐるりと回った矢印とかがありますが、これを押して VM を停止したり再起動したりすることがあります。

これ便利と言えば便利ですが、剥き身でちょっと危ないと思いませんか?ちょっとした操作ミスでうっかり押してしまいそうな感じがします。
ですが、Virt GUI はもし押してしまってもきちんと確認のダイアログが表示されるようになっています。

それがどうしたんだよそんなの当たり前でしょ?って思われるかもしれないんですが、驚くなかれなんとこれは 4.19 で GA になった新機能なのです。Virt の設定画面で「VirtualMachine のアクションの確認」という項目があって、これを On にしていると、確認ダイアログが表示されます。

逆に言えば、それまではこの確認ダイアログはなかったんです。日本だけではなく世界中から、これ危険だよねぇという声を非常に多くのお客様やパートナー様からいただいてきました。
そういったことから、また一つ GUI が洗練されたということをここでお知らせしたかったという次第です。
まとめ
vSphere Client / vCenter Server は非常に洗練された GUI を提供されているので、どうしても Virt の GUI はまだ不足していると思われるかもしれません。
それは Red Hat としてもしっかり認識済みで、こういった確認ダイアログを始め、お客様が受け入れやすいユーザーインターフェースを日々実装を続けております。少しずつ少しずつ、花魁の歩みのような速度かもしれませんが、日々洗練し続けていると思っていただけると嬉しいです。
ということで今日はここまで。