ユーザ用ツール

サイト用ツール


サイドバー

Index

はじめてのおつかい






DokuWiki整形記法


PlayGround



serverapps:configmgmt:chef:knife

knife

knife-xenserver

インストール

root ユーザでログインし、gem でインストール

# /opt/chef/embedded/bin/gem install knife-xenserver --no-ri --no-rdoc

こんな感じでエラーが出ました

Running 'configure' for libxml2 2.8.0... ERROR, review 'tmp//ports/libxml2/2.8.0/configure.log' to see what happened.

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/opt/chef/embedded/bin/ruby

/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/mini_portile-0.5.3/lib/mini_portile.rb:278:in `block in execute': Failed to complete configure task (RuntimeError)
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/mini_portile-0.5.3/lib/mini_portile.rb:270:in `chdir'
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/mini_portile-0.5.3/lib/mini_portile.rb:270:in `execute'
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/mini_portile-0.5.3/lib/mini_portile.rb:65:in `configure'
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/mini_portile-0.5.3/lib/mini_portile.rb:108:in `cook'
        from extconf.rb:101:in `block in <main>'
        from extconf.rb:119:in `call'
        from extconf.rb:119:in `block in <main>'
        from extconf.rb:109:in `tap'
        from extconf.rb:109:in `<main>'

NOKOGIRI_USE_SYSTEM_LIBRARIES=1 /opt/chef/embedded/bin/gem install nokogiri

いろいろ調べたところ

  1. libxml2とlibxsltをインストールする
  2. NOKOGIRI_USE_SYSTEM_LIBRARIES=YES でシステムのライブラリを使う
  3. grepがBSD版なのでgnu版にする
  4. 環境変数のcolorが悪さをしている

などが引っかかりましたがいずれも違ってました…

で、奥のほうにあるconfigure.log 1)をのぞいたら………

(;゚д゚)アッ…

………ありましたよ奥さん。………ていうか、cがねーよと言われてます

configure: error: no acceptable C compiler found in $PATH

証拠隠滅

# yum -y install gcc

orz

root ユーザでログインし、gem でインストール

# /opt/chef/embedded/bin/gem install knife-xenserver --no-ri --no-rdoc
Fetching: terminal-table-1.4.5.gem (100%)
<省略…>
Successfully installed knife-xenserver-1.4.3
13 gems installed

確認してみます

# su - chefユーザ
$ knife xenserver --help

使用方法が表示されたらOK

XenServerへの接続

接続情報を~/.chef/knife.rbへ追加します2)

knife[:xenserver_password] = 'password'
knife[:xenserver_username] = 'root'
knife[:xenserver_host]     = '192.168.xxx.xxx'

ホストリストの表示をしてみます

$ knife xenserver host list
Connecting to XenServer host 192.168.xxx.xxx...
+-----------------------------+--------------------------------------+
| NAME                        | UUID                                 |
+-----------------------------+--------------------------------------+
| XenServer-Dom0              | 9546a5d-41f7-4125-xxxx-xxxxxxxxxxxx  |
+-----------------------------+--------------------------------------+

VMを作成する

knife xenserver vm create --vm-template 776cd54d-917c-de8a-xxxx-xxxxxxxxxxxx --vm-name hoge

VMの削除

knife xenserver vm delete hoge
1)
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/nokogiri-1.6.1/ext/nokogiri/tmp/ports/libxml2/2.8.0/configure.log
2)
ここに書かずにオプションで指定することもできます
serverapps/configmgmt/chef/knife.txt · 最終更新: 2017/04/14 14:21 (外部編集)