OSS+ Compass

【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のコマンド補完機能

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キーによるコマンド補完が出来るようになっているはずですよ。是非試してみてくださいね。

文:河合紀彦

最新記事

Category

Old Blogs