Help us understand the problem. What is going on with this article?

php-fpmをAnsibleで入れようとしたらしょーもないことに遭遇した話

More than 3 years have passed since last update.

はじめに

ちょっとAnsibleでNginx+PHP+MySQLな環境を作ろうとしていたら本当にしょうもないことに出くわしました。php-fpmの設定ファイルを反映するところで何度やっても事故るという。

最終的にただの笑い話でよかったですが。(仕事しろ)

事象

Playbook実行時のエラーがこれ
playbookerror.png

AnsibleError: file: /Users/.../playbook/roles/php70/templates/php-fpm.d/www.conf.j2, line number: 288, error: Encountered unknown tag 'Y'.

なるほど設定ファイルのテンプレにへんなタグがあるよと。タイポかな?とりあえず該当箇所見てみよう。

www.conf.j2.png

まずコメント行だから初期のままなんだけどなぁ...。
あ、とりあえずタイポではないけど、ブラケットがいる...。
でも確かplaybookの変数は二重波括弧({{ hoge }})だったはず...?
Jinjaというテンプレートエンジンを使ってたはずなので見てみよう。

jinjahome.png

ん...?

img1454044305491.png
img1454044423243.png

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわああああああああああ
Jinjaの文法ちゃんと知っていなかったがために数分無駄にしましたとさ...。
知っててもしょうがなかったけども

顛末

コメントなので消してしまっても良いかと思ったのですが、usage系のコメントは消したくなかったのでJinjaのページを漁って対応方法を探しました。
シンタックスの文字をそのままレンダリングするためのタグがあるので、それを使用するとバッチリ通りました。

(๑•̀ㅂ•́)و✧ヤッタネ

;      e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
↓↓
{% raw %}
;      e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
{% endraw %}

おしまい

今回に限らず起きそうなので笑いのネタ程度に残しました。
ここまでお読みいただきありがとうございました!

追記:IWAI Masaharu 様、ひどい誤字にご指摘いただきありがとうございました!

mythrnr
Web系のシステム作ってご飯食べてるへっぽこ
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした