【OpenStackチャレンジ】 第30回 OpenStackコマンドのTabキー補完方法
2017.09.08
OpenStackチャレンジ
NEW
みなさんコマンドの補完機能って便利ですよね。
ネットワーク機器を触っている人たちなら無意識にTabを連打してコマンドを見つけながら操作していくのではないでしょうか。
AWSでもコマンド補完機能は準備されていて、以下のように打つことで一時的にコマンド補完が有効になります。
complete -C ‘aws_completer’ aws
恒久的にする場合は以下のようにbashrcに記載します。
echo “complete -C ‘/usr/local/bin/aws_completer’ aws” >> $HOME/.bashrc
ではOpenStackの場合はどうでしょうか。
OpenStackではbashの機能を使ってコマンド補完を実現しています。
設定ファイルは/etc/bash_completion.d/にあり、通常であればbashが起動したときに自動的にこのディレクトリが読み込まれて、ここに設定されているコマンドは自動補完されるようなります。
yum install python-openstackclientでOpenStackのコマンドラインクライアントをインストールしたときはどうでしょうか。どのような設定ファイルが配置されるか確認してみましょう。
# openstack --version openstack 3.8.1 ※ocataリポジトリを使用の場合
# ls -lrt /etc/bash_completion.d/ total 52 -rw-r--r--. 1 root root 11272 Aug 4 2016 yum-utils.bash -rw-r--r--. 1 root root 7544 Sep 13 2016 subscription-manager -rw-r--r--. 1 root root 601 Sep 13 2016 rhsm-icon -rw-r--r--. 1 root root 807 Sep 13 2016 rhsm-debug -rw-r--r--. 1 root root 600 Sep 13 2016 rhsmcertd -rw-r--r--. 1 root root 737 Sep 13 2016 rhn-migrate-classic-to-rhsm -rw-r--r--. 1 root root 1262 Sep 13 2016 rct -rw-r--r--. 1 root root 882 Jan 24 12:34 glance -rw-r--r--. 1 root root 955 Jan 26 20:14 cinder.bash_completion -rw-r--r--. 1 root root 885 May 8 17:48 nova
このようにglanceとcinder、novaの3つのみ自動補完が有効になる設定ファイルが自動的に配置されます。
この場合、正しいkeystonercの認証を通していれば、nova flavor-create –swap・・・のような、オプションの「–swap」で始まる部分も問題なく補完されます。
ところが、openstackコマンドは補完されないんですよね。
でも大丈夫です。実はopenstackコマンドには、/etc/bash_completion.d/用の設定ファイルを作成するコマンドが予め準備されています。
openstack complete | sudo tee /etc/bash_completion.d/osc.bash_completion > /dev/null
これを叩くと設定ファイルが、/etc/bash_completion.d/配下に作成されます。
ログアウトして再度ログインすると、openstackコマンドでもTabキーによるコマンド補完が出来るようになっているはずですよ。是非試してみてくださいね。
文:河合紀彦