Onyx for the Web Client をインストールしてみました。
vSphere Web Client での操作を PowerCLI のコードに変換してくれます。
Onyx for the Web Client
https://labs.vmware.com/flings/onyx-for-the-web-client
以前から vSphere Client で使用する Onyx も提供されていました。
Onyx
https://labs.vmware.com/flings/onyx
VMware LABS サイトで提供されている FLINGS と呼ばれるツールで、製品サポートは受けられませんが、
どうしてもスクリプト化したい操作があるときに役立ちます。
Onyx for the Web Client の VCSA へのインストール。
今回は、VMware vCenter Server Appliance (VCSA)6.0 U1 にインストールしてみます。
まず、VMware LABS の Web サイトから 「onyx-setup-60u1.zip」 ファイルをダウンロードします。
同意ボタンにチェックをいれると、Download できるようになります。
ダウンロードした Zip ファイルです。
※事情により、Linux で作業しています。
[root@work01 ~]# ls -l onyx-setup-60u1.zip
-rw-r--r--. 1 root root 4257758 2月 15 00:41 2016 onyx-setup-60u1.zip
SSH アクセスを許可してある VCSA に、root ユーザでログインします。
※今回の VCSA は、vc60n02.godc.lab という名前にしています。
[root@work01 ~]# ssh -l root vc60n02.godc.lab
VMware vCenter Server Appliance 6.0.0.10000
Type: vCenter Server with an embedded Platform Services Controller
root@vc60n02.godc.lab's password: ★パスワードを入力。
Last login: Sun Feb 14 15:49:30 UTC 2016 from 192.168.1.197 on ssh
Last login: Sun Feb 14 15:50:09 2016 from 192.168.5.238
Connected to service
* List APIs: "help api list"
* List Plugins: "help pi list"
* Enable BASH access: "shell.set --enabled True"
* Launch BASH: "shell"
Command>
「shell.set --enabled True」コマンドで Shell アクセスを有効化して、
そのまま bash shell を起動します。
Command> shell.set --enabled True
Command> shell
---------- !!!! WARNING WARNING WARNING !!!! ----------
Your use of "pi shell" has been logged!
The "pi shell" is intended for advanced troubleshooting operations and while
supported in this release, is a deprecated interface, and may be removed in a
future version of the product. For alternative commands, exit the "pi shell"
and run the "help" command.
The "pi shell" command launches a root bash shell. Commands within the shell
are not audited, and improper use of this command can severely harm the
system.
Help us improve the product! If your scenario requires "pi shell," please
submit a Service Request, or post your scenario to the
https://communities.vmware.com/community/vmtn/vcenter/vc forum and add
"appliance" tag.
vc60n02:~ #
VCSA の中から、先ほどの Zip ファイルを scp 転送します。
※ work01.godc.lab が Zip ファイルを置いていたサーバです。
vc60n02:~ # scp work01.godc.lab:/root/onyx-setup-60u1.zip /root/.
The authenticity of host 'work01.godc.lab (192.168.5.238)' can't be established.
RSA key fingerprint is f2:4e:c1:65:33:83:94:37:3b:17:07:3b:0a:f0:4e:9b [MD5].
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'work01.godc.lab,192.168.5.238' (RSA) to the list of known hosts.
root@work01.godc.lab's password: ★パスワードを入力。
onyx-setup-60u1.zip 100% 4158KB 4.1MB/s 00:00
onyx-setup ディレクトリを作成して、そこに Zip ファイルを解凍します。
vc60n02:~ # mkdir onyx-setup
vc60n02:~ # cd onyx-setup/
vc60n02:~/onyx-setup # unzip ../onyx-setup-60u1.zip
Archive: ../onyx-setup-60u1.zip
inflating: install.sh
inflating: Onyx For the Web Client_V1_0_DocV1_0.pdf
inflating: uninstall.ps1
inflating: uninstall.sh
inflating: onyx/plugin-package.xml
creating: onyx/plugins/
inflating: onyx/plugins/onyx-service.jar
inflating: onyx/plugins/onyx-ui-war-1.0.0.war
inflating: vsphere-patch/vim-commons-6.0.0.jar
inflating: vsphere-patch/vim-commons-vsphere-6.0.0.jar
inflating: deploy.sh
inflating: install.ps1
install.sh ファイルに実行権限を付与(chmod +x)します。
vc60n02:~/onyx-setup # chmod +x ./install.sh
vc60n02:~/onyx-setup # ls -l ./install.sh
-r-x------ 1 root root 1851 Jun 15 2015 ./install.sh
./install.sh で実行すると、セットアップするか確認されます。
「y」を入力して Enter キーをおすと、インストールが開始されます。
このとき、Web Client サーバのサービス(vsphere-client )が自動的に再起動されます。
vc60n02:~/onyx-setup # ./install.sh
Onyx for Web Client setup
=========================
This fling replaces core Web Client files and may cause issues
with stability and patching of future versions, please only
continue with this installation if you are using a test or dev
environment.
Are you sure you would like to continue? [y/N] y
-- Shutting down vSphere Web Client
INFO:root:Service: vsphere-client, Action: stop
Service: vsphere-client, Action: stop
2016-02-14T22:01:11.198Z Running command: ['/sbin/service', u'vsphere-client', 'status']
2016-02-14T22:01:11.413Z Done running command
2016-02-14T22:01:11.413Z Running command: ['/sbin/service', u'vsphere-client', 'stop']
2016-02-14T22:01:17.031Z Done running command
2016-02-14T22:01:17.032Z Successfully stopped service vsphere-client
-- Patching vSphere Web Client core
Backup file created: /usr/lib/vmware-vsphere-client/server/repository/usr/vim-commons-6.0.0.jar.bak1
Backup file created: /usr/lib/vmware-vsphere-client/server/repository/usr/vim-commons-vsphere-6.0.0.jar.bak1
-- Deploying Onyx plugin
-- Powering on vSphere Web Client
INFO:root:Service: vsphere-client, Action: start
Service: vsphere-client, Action: start
2016-02-14T22:01:17.181Z Running command: ['/sbin/chkconfig', u'vsphere-client']
2016-02-14T22:01:17.253Z Done running command
2016-02-14T22:01:17.253Z Running command: ['/sbin/service', u'vsphere-client', 'status']
2016-02-14T22:01:17.439Z Done running command
2016-02-14T22:01:17.439Z Running command: ['/sbin/chkconfig', '--force', u'vsphere-client', 'on']
2016-02-14T22:01:17.507Z Done running command
2016-02-14T22:01:17.508Z Running command: ['/sbin/service', u'vsphere-client', 'start']
2016-02-14T22:01:22.881Z Done running command
2016-02-14T22:01:22.881Z Successfully started service vsphere-client
vc60n02:~/onyx-setup #
Web Client のサービスが再起動するのを数分待ちます。
そして Web ブラウザから Web Client にログインしなおすと、Onyx がインストールされています。
画面上部にボタンが 2つ 追加されて、
ホームインベントリと、左側のナビゲータにも Onyx アイコンが追加されます。
ホーム画面から、管理 → ソリューション → クライアントプラグイン を開くと、
onyx-ui プラグインがインストールされています。
Onyx for the Web Client を使ってみる。
Onyx の 録画ボタンっぽい Start ボタンをクリックします。
※画面上部 / Onyx 画面 どちらボタンでも大丈夫です。
そして、そのままこの Web Client で PowerCLI スクリプト化したい操作をします。
操作が終わったら、録画停止っぽい Stop ボタンをクリックします。
※これも画面上部 / Onyx 画面 どちらボタンでも大丈夫です。
Stop ボタンをクリックすると、コードが表示されます。
このままだと、Web Client を操作したままのコードなので、
いま操作したオブジェクト ID などがそのまま記録されています。
表示されたコードは、PowerShell ISE などのエディタで編集して汎用的なスクリプトにしたりします。
Onyx は便利ですが、Technical Preview なので
本番(商用)環境の vCenter にはインストールせず、検証用 / 評価用の環境で試すとよいと思います。
また、生成されるコードは標準的なコマンドレットにはならないので、
個人的には、実際に本番環境で使用するスクリプトは、
まずは標準的な PowerCLI コマンドレットでのやり方を模索して、
どうしてもダメそうな場合に Onyx を使うことをお勧めします。
以上、Onyx for the Web Client のインストールについてでした。