Ruby
Python
YAML
serverspec
Ansible

あなたのansibleとserverspecの併用は間違っている!

あなたの間違った使い方

そもそも併用する動機が間違っている

「ansibleのコードが正しいか不安だから、serverspecでチェックする」という動機で併用する方がいますが、間違いです。
serverspecのコードが絶対に正しいと言えない限り、チェックすることは不可能です。

ansibleとserverspecで同じ結果をチェックする

ansibleで、

- name: restart hogehoge.service
  systemd:
    name: hogehoge.service
    state: restarted
    daemon_reload: yes
    enabled: yes
  become: yes

と書いておいて、serverspecで、

describe process('hogehoge') do
  it { should be_running }
end

だけ書くのも間違いです。

systemdモジュールはべき等性が保証されているため、serverspecでプロセス起動の有無をチェックすることは無意味です。
TDDの「不安をテストする」という金言を知ったなら、べき等の意味もおさえましょう。

もし、どうしてもserverspecでチェックするのであれば、プロセス起動以外にサービスが参照する設定ファイルの値を確認するべきです。
ただし、それらすべてのチェック項目はansibleで確認できてしまうことを覚えておいて下さい。