2015-03-19 Thu

Puppet で htpasswd を扱うために leinadm/htpasswd を入れてみた はてぶ

- leinaddm/htpasswd · Puppet Forge
  https://forge.puppetlabs.com/leinaddm/htpasswd
- leinaddm/puppet-htpasswd
  https://github.com/leinaddm/puppet-htpasswd

使い方は README.md に書かれている通りで、
特にはまることもなく、使い勝手は悪くない。

2015-02-04 Wed

Puppet Language Style Guide 2.0 はてぶ

メモ

Puppet 3.7 の新機能などが反映された、3.7 以上向けのものらしい。

- Announce: Puppet Language Style Guide 2.0 - Google グループ
  https://groups.google.com/forum/#!msg/puppet-users/ka6vwIavmDI/us4KUCx-kfsJ
- The Puppet Language Style Guide — Documentation — Puppet Labs
  https://docs.puppetlabs.com/guides/style_guide.html

2015-02-03 Tue

cfacter 0.3.0 で Solaris support が入った はてぶ

Solaris is now a supported platform

Announce: Native Facter (cfacter) 0.3.0 is available! - Google グループ


ということで、cfacter 0.3.0 で Solaris に対応したようです。

Solaris でビルドするには、依存するパッケージのビルドが必要で、

- puppetlabs/cfacter-build
  https://github.com/puppetlabs/cfacter-build

が、依存するパッケージのビルドを含めてやってくれるもよう。

- puppetlabs/cfacter
https://github.com/puppetlabs/cfacter

2014-11-17 Mon

flymake-puppet が puppet-lint へオプションを渡せるようになっていた はてぶ

ので、さっそく、'--no-80chars-check' をわたすようにして、
flymake-puppet の設定は次のように。

(require 'flymake-puppet)
(setq flymake-puppet-options '("--no-80chars-check"))
(add-hook 'puppet-mode-hook 'flymake-puppet-load)


ssh_authorized_key とか 80 文字でおさまらないものがちょこちょこあるし、
それらがひっかからなくなるのは、ちょっとうれしい。

ref. https://github.com/benprew/flymake-puppet/commit/fc4cd25aeac37ed5722bc586d5350fd06ee3067c

2014-10-30 Thu

Encrypt Your Data Using Hiera-Eyaml はてぶ

メモ

Encrypt Your Data Using Hiera-Eyaml | Puppet Labs
http://puppetlabs.com/blog/encrypt-your-data-using-hiera-eyaml

Hiera のデータの暗号化には、hiera-gpg というものがあったらしいんだけど、
Hiera のデータファイル自体を gpg で暗号化してしまい扱いづらかったっぽい。

この Hiera-Eyaml は必要なデータだけ暗号化できるものっぽい。

- TomPoulton/hiera-eyaml
  https://github.com/TomPoulton/hiera-eyaml
- crayfishx/hiera-gpg
  https://github.com/crayfishx/hiera-gpg

2014-05-29 Thu

Puppet の user_role_add provider で shell を設定できるようにする はてぶ

手元の環境の Puppet を 3.4.3 から 3.6.1 に上げたところ、
User リソースタイプの shell が反映されなくなった。

ググってみると、3.5.0 から User リソースタイプの Provider が持つ feature に
:manges_shell が増え、Solaris の default の Provider である user_role_add では
:manage_shell に対応していないため、shell が設定されないもよう。

- http://docs.puppetlabs.com/references/3.4.3/type.html#user-provider-features
- http://docs.puppetlabs.com/references/3.5.0/type.html#user-provider-features
- http://docs.puppetlabs.com/references/3.6.1/type.html#user-provider-features

とりあえず、以下のような patch で shell が設定されることを確認。


この書き方が正しいかは不明。

2013-05-03 Fri

入門 Puppet 購入 はてぶ

- 『入門Puppet - Automate Your Infrastructure』という電子書籍を出版しました - delirious thoughts
  http://blog.kentarok.org/entry/2013/04/30/225404

とりあえず、確保。

「ブクログのパブー」で買っていただく方が料率が断然いいので、個人的にはうれしいです。

『入門Puppet - Automate Your Infrastructure』という電子書籍を出版しました - delirious thoughts


ということなので、ブクログで購入。

- 入門Puppet - Automate Your Infrastructure - 栗林健太郎 | ブクログのパブー
  http://p.booklog.jp/book/70667

すぐにざっと目をとおしたけど、
目次を見て思った通り、13 章以降をちゃんと読めばよさそう。

exec をけっこう使ってしまっている自分には耳が痛い部分もあったり。

Solaris で Puppet + serverspec + Ukigumo server + Ikachan な環境が作れたし、
そのあたりはこれから修正していく方向で。

入門Puppet - Automate Your Infrastructure [Kindle版]

Referrer (Inside):
[2013-05-04-1] 髪切った

2013-04-29 Mon

Instatnt Puppet 3 starter をざっと読んだ はてぶ

Instant Puppet 3 starter [Kindle版]

タイトル通り、インスタントな Puppet を始めて使うような人向け。

ちゃんと調べずに放置していた Hiera がなんとなくわかったのが収穫。

あとは、英語のお勉強として、しっかり読みこみたいところ。

2013-04-22 Mon

Puppet 3 系の exit code はてぶ

Ukigumo Server をたてて([2013-04-22-1]
Puppet の実行結果を Ukigumo Server に投げていたところ、
マニフェスト自体に問題があって puppet agent が終了すると
Ukigumo Server で FAIL になるが、
インストールするパッケージがインストールできないなどで
適用できないものがあっても

Notice: Finished catalog run in 14.06 seconds


と最後まで行くと Ukigumo Server では SUCCESS になる。

puppet agent を手で叩いて、
インストールできないパッケージがあっても、
echo $? すると 0 が返っていることを確認。

ぐぐったところ

- puppet always has an exitcode of 0 - Google グループ
  https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/EouO8xXnxcs

を発見。

"--detailed-exitcodes" をつければよいらしい。

puppet help agent を見ると

 * --detailed-exitcodes:
   Provide transaction information via exit codes. If this is enabled, an exit
   code of '2' means there were changes, an exit code of '4' means there were
   failures during the transaction, and an exit code of '6' means there were both
   changes and failures.


とあるので、exit code は

- 0: 変更なし
- 1: マニフェストに syntax error などの問題がある
- 2: 変更あり
- 4: 適用できなかったものがある
- 6: 変更があり、かつ、適用できなかったものがある

ということのよう。

exit code が 2 の時も SUCCESS として
Ukigumo Server に投げる必要がある。

Perl の "$?" は

- perlvar - perldoc.perl.org
  http://perldoc.perl.org/perlvar.html

によると、上 8 bits が exit code で
下 8 bits が core dump や signal death といった mode of failure らしいので、
8 bit シフトすれば shell での exit code と同じものがとれる。

Ukigumo Server に投げる status は以下のようになる。

$args->{status} = ($? >> 8 == 0 || $? >> 8== 2 ) ? 1 : 2;


2013-04-18 Thu

Puppet 本 はてぶ


というのを見かけたので、amazon で検索。

Puppet 3 Beginner’s Guide [Kindle版]

ついでに『Puppet』で検索したら以下が見つかった。

Instant Puppet 3 starter [Kindle版]

内容紹介を読んで、買うか考える。

(追記)
結局、内容紹介を読まずにぽちった。

2012-11-14 Wed

nodename を Puppet で設定する はてぶ

Solaris 11 から nodename の設定が面倒臭くなった([2012-10-03-2])ので,
Puppet でちょっと手を抜く方法.

svccfg setprop をしてくれる puppet module の
ppbrown-svcprop が必要なのでインストール

sudo puppet module install ppbrown-svcprop


以下のようなクラスを定義

class nodename (
  $nodename = 'foo',
){

  svcprop {
    'nodename':
      fmri     => 'svc:/system/identity:node',
      property => 'config/nodename',
      value    => $nodename,
      notify   => Service['nodename'],
  }

  service {
    'nodename':
      ensure => running,
      name   => 'svc:/system/identity:node',
      enable => true,
  }
}


nodename を hoge にするには以下のようにする.

sudo puppet apply -e "class { nodename: nodename => 'hoge' }"


2012-10-28 Sun

Hiera はてぶ

Puppet で使われている Hierarchical datastore の Hiera について
そろそろまとめておきたいので,URL をメモ.

- Puppet backend for Hiera | R.I.Pienaar
  http://www.devco.net/archives/2011/06/06/puppet_backend_for_hiera.php
- puppetlabs/hiera · GitHub
  https://github.com/puppetlabs/hiera

2012-10-20 Sat

pocco はてぶ

https://github.com/nanliu/puppet-pocco

puppet のモジュールからドキュメントを生成してくれるツール.

生成されるドキュメントは以下のような感じ.
http://nanliu.github.com/puppet-pocco/

使い方は

pocco /path/to/puppet-module


これを実行すると,/path/to/puppet-module/doc 以下に html が生成される.

http://nanliu.github.com/puppet-pocco/

WARNING: install pygments to process highlighting locally, otherwise the manifests are uploaded to http://pygments.appspot.com for processing.
とあり,pygments がないと http://pygments.appspot.com
manifest をアップロードして hilight を行なうようなので,
pygments はインストールしておいた方がよい.

あと,rocco が必要だけど,rocco 0.8.2 では
以下の問題にひっかかる.
https://github.com/rtomayko/rocco/issues/69

fl-rocco 1.0.0 なら問題ないので,
こちらをインストールしておく.

2012-10-18 Thu

Puppet dashboard には gem 1.5.3 が必要(今のところ) はてぶ

http://projects.puppetlabs.com/issues/9296

このチケットの件にはまったのでメモ.

とりあえず,gem を 1.5.3 にすればよいらしい.

gem update --system 1.5.3


はまりかたは以下

Solaris11 の gem は 1.3.5 と古かったので,

gem update --system


して 1.8.24 にアップデートしたら,

rake RAILS_ENV=production db:migrate


で rack を見つけてくれずに失敗.

2012-09-30 Sun

Puppet の Solaris 用パッケージ はてぶ

ここに .p5p のパッケージが置かれている.
http://downloads.puppetlabs.com/solaris/

2012-09-26 Wed

puppet apply と puppet agent はてぶ

(これは puppet と puppetd を混同した勘違い.
最近,ボケボケしていてこういうのが多い……)

2011-03-17 Thu

Puppet on Solaris はてぶ

調べてみると
- OpenCSW
  http://www.opencsw.org/
に package があるようなので,それを利用.

rubygems で入れると,defualt では
/var/ruby/1.8/gem_home/
以下に入るので,PATH に/var/ruby/1.8/gem_home/bin/ を追加.

OpenCSW のパッケージなら SMF 用のマニフェストもあり,
こちらを利用した方がよさげな気がしたので,
OpenCSW の Puppet を使ってみる.

- Installing Puppet on Solaris « Distributed Conscience
  http://khartig.wordpress.com/2009/01/30/installing-puppet-on-solaris/

2009-09-09 Wed

Puppet で特定のファイルが更新されたら任意のコマンドを実行する はてぶ

/etc/aliases や /etc/postfix/{canonical,transport} あたりが
更新されたら newaliases や postmap を実行したい.

と思ったら,そのままな例が
http://reductivelabs.com/trac/puppet/wiki/TypeReference#exec
にあった.

# Pull down the main aliases file
file { "/etc/aliases":
    source => "puppet://server/module/aliases"
}

# Rebuild the database, but only when the file changes
exec { newaliases:
    path => ["/usr/bin", "/usr/sbin"],
    subscribe => File["/etc/aliases"],
    refreshonly => true
}


コマンドに引数をとらせたい時は,
上の「newaliases」の行に引数まで書けばいい.

ChangeLog 最新ページ / カテゴリ最新ページ / 1 2 / page 1 (2)