<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2021-01-19:3740325</id>
  <title>amarao</title>
  <subtitle>amarao</subtitle>
  <author>
    <name>amarao</name>
  </author>
  <link rel="alternate" type="text/html" href="https://amarao.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://amarao.dreamwidth.org/data/atom"/>
  <updated>2022-03-10T19:42:44Z</updated>
  <dw:journal username="amarao" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2021-01-19:3740325:31497</id>
    <link rel="alternate" type="text/html" href="https://amarao.dreamwidth.org/31497.html"/>
    <link rel="self" type="text/xml" href="https://amarao.dreamwidth.org/data/atom/?itemid=31497"/>
    <title>молекулярный апгрейд</title>
    <published>2022-03-10T19:42:44Z</published>
    <updated>2022-03-10T19:42:44Z</updated>
    <category term="molecule"/>
    <category term="ansible"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Я очень долго искал замену молекуле, но не нашёл.&lt;br /&gt;&lt;br /&gt;Наша проблема: у нас тяжёлый converge, тяжёлый create (и иногда тяжёлый prepare). Мы не можем плодить по сценарию на каждый чих.&lt;br /&gt;&lt;br /&gt;Однако, у нас большой и сложный сценарий тестирования: сделай то, проверь то, сделай это, проверь это и т.д. 10-20-30 этапов - запросто. Сами этапы простейшие, и ради них городить полный цикл глупо.&lt;br /&gt;&lt;br /&gt;Один этап легко ложится на side effect, но нам надо много.&lt;br /&gt;&lt;br /&gt;Перепробовав всё, я сел за потрохи молекулы.&lt;br /&gt;&lt;a href="https://github.com/amarao/molecule/commit/e0d9f188809634ff240a08fda447794e106c0927"&gt;https://github.com/amarao/molecule/commit/e0d9f188809634ff240a08fda447794e106c0927&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;идея: к стадиям side-effect и verify добавить поддержку параметра, указывающего что именно side-effect, и какие именно тесты запускать.&lt;br /&gt;&lt;br /&gt;Примерно так:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
test_sequence:
  - create
  - prepare
  - converge
  - verify
  - side_effect good_foo.yaml
  - verify good_foo_tests/
  - side_effect second_foo.yaml
  - verify two_foo_tests/
  - side_effect bar.yaml
  - verify bar_tests/
  - idempotence
  - cleanup
  - destroy
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Пока что я расковырял самую мякотку (куда писать) и ещё обдумываю детали реализации. Но я полон решимости, даже если в апстрим не примут.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=amarao&amp;ditemid=31497" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
