Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSS Hack Weekend: ganmacs: itamae: ruby: 作業ログ #43

Closed
ganmacs opened this issue Jul 11, 2015 · 5 comments
Closed

OSS Hack Weekend: ganmacs: itamae: ruby: 作業ログ #43

ganmacs opened this issue Jul 11, 2015 · 5 comments

Comments

@ganmacs
Copy link

ganmacs commented Jul 11, 2015

https://github.com/itamae-kitchen/itamae

作業ログは、参加者が、このイベントを通して得るものをより増やすために重要になります。なぜなら作業ログがメンターからのフィードバックをより充実させるからです。

作業ログを元にメンターと「ふりかえり」をするタイミングがあります。「ふりかえり」では次のことをします。

  • 参加者は作業ログの内容を順にメンターに説明する。
  • メンターは説明を聞いて参加者にフィードバックをする。

メンターは次のようなフィードバックをします。これは、参加者とは違う視点から参加者の行動を観察することおよびメンターの経験があるからできることです。(「ふりかえり」の前にこんなフィードバックをよろしくお願いします!とお願いすると効果が高まるので実践してみましょう。)

  • 参加者が気づかずにやっていたよい行動に気づくきかっけを与え、今後もその行動を継続するように促します。
  • 参加者が困っていることについて、解決策を一緒に考えてくれます。
  • 適切な質問をして参加者が整理できていない行動や考えを整理してくれます。
  • 参加者が「問題」だと認識していないこと(「問題発見」は難しい!)をメンターの視点から「問題」だと見つけてくれます。「問題」がはっきりしたら直しましょう。
  • 参加者が次にどの方向に進めばよいかを整理してくれます。

このように、参加者の作業をメンター視点で一緒に整理し、参加者の今後の行動に活かす活動がここでいう「ふりかえり」です。そのため、「参加者にとって」ログに残すべきかどうか、という視点ではなく、「とりあえずログに残す」という視点でログを残してください。これは、参加者が重要だと判断しなくてもメンターの視点から見たら大事なこともあるからです。

ログに残すときは次のようなときです。

  • 違う作業を始めたとき(インストールを始めた、動作確認を始めた、テストを始めた、とか)
  • 詰まったとき(インストール時にエラーがでた、ビルドが失敗した、とか)
  • issueを出したとき
  • pull requestを出したとき

ログに残すことは次のことです。「備考」以外は作業の邪魔にならないように一言でよいです。備考は作業に役立つので必要な分だけ書いてください。

  • 作業(やること、やっていること、やったこと。)
  • 思っていること(そのときどう思っているか。)
  • 備考(必要な付加情報。)

ログはコメントとして追記していってください。テンプレートは次の通りです。

* 作業(ここにやること、やっていること、やったことを書く)
* 思っていること:(今どう思っているかを書く)

備考:(必要なら必要なだけ書く。必要ないなら書かなくてもよい。)

例1(備考なし):

* 作業:インストールを始めた
* 思っていること:ドキュメント通りに進めれば大丈夫だろう

例2:

* 作業:インストールが失敗した
* 思っていること:ドキュメントに手順が足りない?

備考:エラーメッセージは次の通り

```text
XXX is not found
```

必要なファイルが足りないのかなぁ。
@ganmacs
Copy link
Author

ganmacs commented Jul 11, 2015

vagrantにitamaeを実行しようとした時

ganmacs@ganmacs~% be itamae ssh --vagrant --host [email protected] recipe.rb
 INFO : Starting Itamae...
The machine with the name '[email protected]' was not found configured for
this Vagrant environment.
The machine with the name '[email protected]' was not found configured for
this Vagrant environment.
/Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:70:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError)
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:70:in `open'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:70:in `block in initialize'
    from /Users/ganmacs/.rbenv/versions/2.2.2/lib/ruby/2.2.0/timeout.rb:74:in `timeout'
    from /Users/ganmacs/.rbenv/versions/2.2.2/lib/ruby/2.2.0/timeout.rb:125:in `timeout'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:67:in `initialize'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh.rb:207:in `new'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh.rb:207:in `start'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/specinfra-2.37.2/lib/specinfra/backend/ssh.rb:76:in `create_ssh'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/specinfra-2.37.2/lib/specinfra/backend/ssh.rb:110:in `ssh_exec!'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/specinfra-2.37.2/lib/specinfra/backend/ssh.rb:17:in `block in run_command'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/specinfra-2.37.2/lib/specinfra/backend/ssh.rb:67:in `with_env'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/specinfra-2.37.2/lib/specinfra/backend/ssh.rb:16:in `run_command'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/itamae-1.3.4/lib/itamae/backend.rb:53:in `block in run_command'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/itamae-1.3.4/lib/itamae/logger.rb:31:in `with_indent'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/itamae-1.3.4/lib/itamae/backend.rb:51:in `run_command'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/itamae-1.3.4/lib/itamae/runner.rb:40:in `initialize'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/itamae-1.3.4/lib/itamae/runner.rb:12:in `new'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/itamae-1.3.4/lib/itamae/runner.rb:12:in `run'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/itamae-1.3.4/lib/itamae/cli.rb:53:in `ssh'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/gems/itamae-1.3.4/bin/itamae:4:in `<top (required)>'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/bin/itamae:23:in `load'
    from /Users/ganmacs/Documents/sandbox/ruby/sezemi/vendor/bundle/ruby/2.2.0/bin/itamae:23:in `<main>'

とエラーが出た。
これはコマンドの実行の仕方にミスが有り正しくはいかが正解だった

be itamae ssh --vagrant recipe.rb

--host はむしろつけない。

vagrantのhostめいじゃなくてvagrant ssh-configで吐き出されるhost名を指定しないといけない

@ganmacs
Copy link
Author

ganmacs commented Jul 11, 2015

テストの実行の仕方が謎い

ganmacs@ganmacs~% bundle exec rspec

/Users/ganmacs/Documents/sandbox/ruby/itamae/spec/integration/default_spec.rb:1:in `require': cannot load such file -- spec_helper (LoadError)
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/spec/integration/default_spec.rb:1:in `<top (required)>'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/lib/rspec/core/configuration.rb:1327:in `load'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/lib/rspec/core/configuration.rb:1327:in `block in load_spec_files'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/lib/rspec/core/configuration.rb:1325:in `each'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/lib/rspec/core/configuration.rb:1325:in `load_spec_files'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/lib/rspec/core/runner.rb:102:in `setup'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/lib/rspec/core/runner.rb:88:in `run'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/lib/rspec/core/runner.rb:73:in `run'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/lib/rspec/core/runner.rb:41:in `invoke'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.3.1/exe/rspec:4:in `<top (required)>'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/bin/rspec:23:in `load'
    from /Users/ganmacs/Documents/sandbox/ruby/itamae/vendor/bundle/ruby/2.2.0/bin/rspec:23:in `<main>'

Rakefileにあったのでbundle exec rake -T

@ganmacs
Copy link
Author

ganmacs commented Jul 11, 2015

itamaeの実行のされ方はpre_actionset_current_attributes実際のactionである。
--dry-runオプションを付けた時にはすべてが実行されたないで欲しいんが実際のactionだけ実行されないでpre_actionset_current_attirubteは実行されてしまう。

そこでまず実行pre_actionで発生してるエラーをみると net-scpないでNet::SCP::Errorのエラーが出ている。

  • そもそもNet::SCP::Errorのエラーが大雑把なのでここを直せたら治したい
  • また、itamaeないspecinfraに対してのモンキーパッチあるのでそれをinfraspecに入れてほしい

@ganmacs ganmacs changed the title OSS Hack Weekend: ganmacs: itamae: 作業ログ OSS Hack Weekend: ganmacs: itamae: ruby: 作業ログ Jul 12, 2015
@ganmacs
Copy link
Author

ganmacs commented Jul 12, 2015

  • net/sshのコード読んでて

itamae-> specinfra->net/scp->net/sshまで読んでいたがやはりitamaeのdry_runの挙動を変えたほうがいい気がした

@ganmacs
Copy link
Author

ganmacs commented Jul 12, 2015

タイトル: pre_actionメソッドがコマンドライン引数を利用できるようにした
Change pre_action to use command line options.
本文:
ref #136
dry_runで、fileのリソースのeditアクション実行した時、ターゲットファイルが存在しないとエラーをはく。
なのでdry_runオプションをそもそもpre_actionに渡して例外をはいている部分を実行させなくした。

@ganmacs ganmacs closed this as completed Jul 12, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant