/var/log/messages

Nov 22, 2013 - 2 minute read - Comments - Ruby DevOps

ばたばたしてる中での作成

displayname でマッチさせて id と displayname を出力する実装を書いた。

  if /^devopsOkinawa/ =~ item["displayname"]
    if item["state"] == "Running"
      print item["id"], " ", item["displayname"], "\n" 
    end

これは一応な確認用でこの出力にさらに

 awk '{print $1;}'

なフィルタをかけて id を例えば以下な destroy に渡すというアレ。

while line = gets
  line.chomp!
  @compute.destroy_virtual_machine({
    'id' => line,
                                   })
end

これでリソース破棄は楽になります。

Nov 22, 2013 - 1 minute read - Comments - rails DevOps

フィルタ作成式で考えてみる

o 例えば deploy したらその id と displayname を標準出力に吐きだす。あるいは displayname を固定にするのを前提にするのであれば一覧を標準出力に掃き出して grep でフィルタできるな。

deploy を想定するとある名前を、な deploy のスクリプトが実行されて deploy に成功したら id を標準出力に吐き出してそれを受けて port forward な create のスクリプトが動けば良いのかな。

あるいは port forward な一覧は

  • 自分自身の port forward な id
  • VM の id

を持っているので list するスクリプトはその一覧な文字列を出力すれば良いのかどうか。

Nov 22, 2013 - 1 minute read - Comments - DevOps Ruby

メンテナンス

今日の朝のこと、API タタいたら以下でオチてました。 'maintenance' (MultiJson::LoadError) 着信したメイルによれば障害発生してたようですが、valid な json 戻してくれればいいのに

Nov 21, 2013 - 2 minute read - Comments - Ruby

ruby 再導入の件

昨晩色々ハマッてるログが残っているのですが大変だった模様。とりあえず

  • sudo で Chef-Solo 云々するのに一般ユーザの $HOME に rbenv 入れてたorz

という大失敗をしてて /usr/local 配下に再導入しようとしてハマッていた。sudo でパスが /etc/sudoers に記述されてるものに限定される、というあたりでまず駄目だったのですが、その後、rbenv install できない、という挙動が出てた記憶あり。

ともあれ再度仮想リソースを kickoff して再開。

# さくっと Running になってくれないあたりが若干アレだったり

Nov 21, 2013 - 1 minute read - Comments - Ruby

もうすこし楽できんかな

現状、ツールで云々できるのが以下。

  • 仮想リソースの起動 (名前を付ける必要があるが一意でなくても良い)
  • 仮想リソースの破棄 (破棄するリソースの ID が必要)
  • 既に取得している GIP について port forward なオブジェクトの割当てができる
  • GIP に割当てられている port forward なオブジェクトの削除ができる
  • 仮想リソースの一覧が確認できる
  • port forward なオブジェクトの一覧が確認できる
  • GIP の一覧が確認できる

どうしたものやら。

Nov 20, 2013 - 1 minute read - Comments - DevOps

勉強会当日の運用の作戦

とりあえずペアプロなセッションが三発。度毎にリセットしなければならないはず。スナップショットは取らない方向なので都度肝心なファイルは吸いあげて下さいね、誰となく。

# て案内しないとマズいですね

とりあえずこちらマターの手順を検討しつつ上のような注意事項が事前発信できれば良いのかどうか。とりあえず事前準備としては以下か。

  • GIP は手動で事前確保 (参加人数の 12 なのかどうか)
  • 確保したら ssh 接続用の public port を解放しておく (手動)
  • 必要数分仮想リソース確保して接続試験実施しておく
  • メイルで鍵配布

Nov 20, 2013 - 3 minute read - Comments - DevOps

情報共有とか発信事項など

ちょっと以下に纏めて GitHub 方面に反映の方向。

つうか何を情報共有しなければならないのか、という件もアレ。以下に列挙してみる。

  • すること、について
  • 用意しておいて欲しい環境
  • セッションで使う環境について
  • 資料の URL など

Nov 19, 2013 - 1 minute read - Comments - DevOps

Fog で firewall 操作

とりあえず IP address の確認から、っていきなり見当たらず焦るなど。以下なのか。

  • Address
    • associateIpAddress
    • listPublicIpAddress
    • disassociateIpAddress

とは言え、今回は Fog から云々、ってのは想定してなくて、IP 確保しといて ID が分かってれば OK ですね。

Nov 19, 2013 - 1 minute read - Comments - DevOps

Fog で勉強会用仮想リソースの面倒を見る件

仮想リソースの kickoff および破棄と一覧表示は何とかなっているので、後は接続できるようにしないといけないのですがどうするか。

例えば VM を kickoff するのが以下なんですが

{% gist 7537625 %}

認証に関する情報とか、仮想リソース deploy に関する情報はカレントディレクトリの access_key.rb に纏めて定義してあります。