<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Andrew,</p>
    <p>Unfortunately it seems that the splitting out of ansible
      components into collections opens us up to another set of external
      moving parts which can break the deployment. Although we specify
      the precise version of ansible and highest level collections (see
      ansible-collection-requirements.yml) that we use on each branch of
      openstack-ansible - this has not covered second-level dependencies
      such as the one we encounter here.</p>
    <p>There are already patches to fix this on all of our branches
      <a class="moz-txt-link-freetext" href="https://review.opendev.org/q/topic:ipaddr_filter">https://review.opendev.org/q/topic:ipaddr_filter</a></p>
    <p>You can run the latest stable branch code today including that
      fix by checking out the stable/xena branch rather than the most
      recent tag.</p>
    <p>If you are still stuck please join the #openstack-ansible IRC
      channel where there should be some real time help available.</p>
    <p>Jonathan.<br>
    </p>
    <div class="moz-cite-prefix">On 07/03/2022 14:53, west, andrew
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:PAYP264MB4256AC4659CBA76AEE1BD650C4089@PAYP264MB4256.FRAP264.PROD.OUTLOOK.COM">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Am trying to install openstack-ansible AIO
          (24.0.0.0rc1) on a recent  ubuntu focal (20.04) cloud image VM
          <o:p></o:p></p>
        <p class="MsoNormal">kernel 5.4.0-99-generic<o:p></o:p></p>
        <p class="MsoNormal">ansible core 2.12.2<o:p></o:p></p>
        <p class="MsoNormal">jinja 3.0.3<o:p></o:p></p>
        <p class="MsoNormal">python 3.8.10<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">the bootstap-aio.sh script  is failing with
          error <o:p></o:p></p>
        <p class="MsoNormal"><span style="color:red">jinja2.exceptions.TemplateRuntimeError:
            No filter named 'ipaddr' found</span><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">(I see the ipaddr filter  moved (big
          changes separating modules > ansible2.10 I think)   to the
          ansible.netcommon collection<o:p></o:p></p>
        <p class="MsoNormal">So following google:<o:p></o:p></p>
        <p class="MsoNormal"><i>ansible galaxy collection install
            ansible.netcommon                <o:p></o:p></i></p>
        <p class="MsoNormal">Also needs<o:p></o:p></p>
        <p class="MsoNormal"><i>pip install netaddr<o:p></o:p></i></p>
        <p class="MsoNormal"><i><o:p> </o:p></i></p>
        <p class="MsoNormal"><i><o:p> </o:p></i></p>
        <p class="MsoNormal">However this still doesn’t solve it, add
          traceback to playbook:<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Seems some of core ansible_collections
          plugins need updating ?  (sorry, I’m fairly new to ansible)<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            EXEC /bin/sh -c 'echo ~root && sleep 0'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo
            /root/.ansible/tmp `"&& mkdir "` echo
            /root/.ansible/tmp/ansible-tmp-1646414479.2525613-38683-223155148734113
            `" && echo
            ansible-tmp-1646414479.2525613-38683-223155148734113="` echo
/root/.ansible/tmp/ansible-tmp-1646414479.2525613-38683-223155148734113
            `" ) && sleep 0'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0">redirecting
            filter ansible.builtin.ipaddr to ansible.netcommon.ipaddr<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0">redirecting
            filter ansible.builtin.ipaddr to ansible.netcommon.ipaddr<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0">redirecting
            filter ansible.builtin.ipaddr to ansible.netcommon.ipaddr<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            EXEC /bin/sh -c 'rm -f -r
            /root/.ansible/tmp/ansible-tmp-1646414479.2525613-38683-223155148734113/
            > /dev/null 2>&1 && sleep 0'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">The full traceback
            is:<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">Traceback (most
            recent call last):<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
"/opt/ansible-runtime/lib/python3.8/site-packages/ansible/executor/task_executor.py",
            line 119, in run<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    item_results =
            self._run_loop(items)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
"/opt/ansible-runtime/lib/python3.8/site-packages/ansible/executor/task_executor.py",
            line 354, in _run_loop<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    res =
            self._execute(variables=task_vars)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
"/opt/ansible-runtime/lib/python3.8/site-packages/ansible/executor/task_executor.py",
            line 589, in _execute<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    result =
            self._handler.run(task_vars=variables)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
"/etc/ansible/ansible_collections/openstack/config_template/plugins/action/config_template.py",
            line 869, in run<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    resultant =
            self._check_templar(data=template_data)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
"/etc/ansible/ansible_collections/openstack/config_template/plugins/action/config_template.py",
            line 768, in _check_templar<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    return
            self._templar.template(<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
"/opt/ansible-runtime/lib/python3.8/site-packages/ansible/template/__init__.py",
            line 869, in template<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    result =
            self.do_template(<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
"/opt/ansible-runtime/lib/python3.8/site-packages/ansible/template/__init__.py",
            line 1139, in do_template<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    res =
            j2_concat(rf)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
            "<template>", line 111, in root<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">  File
            "<template>", line 30, in t_3<o:p></o:p></span></p>
        <p class="MsoNormal"><b><span style="color:red">jinja2.exceptions.TemplateRuntimeError:
              No filter named 'ipaddr' found</span></b><span
            style="color:red">.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">fatal: [localhost]:
            FAILED! => {<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    "msg":
            "Unexpected failure during module execution.",<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">    "stdout": ""<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red">}<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:red"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">RUNNING HANDLER
            [systemd_networkd : Restart networkd]
*****************************************************************************************************************<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0">task path:
            /etc/ansible/roles/systemd_networkd/handlers/main.yml:16<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0">Read vars_file
            '{{ playbook_dir
            }}/../playbooks/defaults/repo_packages/openstack_services.yml'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            ESTABLISH LOCAL CONNECTION FOR USER: root<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            EXEC /bin/sh -c 'echo ~root && sleep 0'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo
            /root/.ansible/tmp `"&& mkdir "` echo
            /root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280
            `" && echo
            ansible-tmp-1646414479.331306-38764-149355553789280="` echo
/root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280
            `" ) && sleep 0'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0">Using module
            file
/opt/ansible-runtime/lib/python3.8/site-packages/ansible/modules/systemd.py<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            PUT
            /root/.ansible/tmp/ansible-local-36177dradb42n/tmpeyfb1i4v
            TO
/root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280/AnsiballZ_systemd.py<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            PUT
            /root/.ansible/tmp/ansible-local-36177dradb42n/tmpdkb43zb8
            TO
/root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280/async_wrapper.py<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            EXEC /bin/sh -c 'chmod u+x
            /root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280/
/root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280/AnsiballZ_systemd.py
/root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280/async_wrapper.py
            && sleep 0'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            EXEC /bin/sh -c
            'ANSIBLE_ASYNC_DIR='"'"'~/.ansible_async'"'"'
            /usr/bin/python3
/root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280/async_wrapper.py
            6737658312 45
/root/.ansible/tmp/ansible-tmp-1646414479.331306-38764-149355553789280/AnsiballZ_systemd.py
            _ && sleep 0'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">changed:
            [localhost] => {<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">   
            "ansible_job_id": "6737658312.38783",<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">    "changed":
            true,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">    "finished":
            0,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">   
            "results_file": "/root/.ansible_async/6737658312.38783",<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">    "started":
            1<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">}<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#FFC000">RUNNING HANDLER
            [systemd_networkd : (RE)Gather facts post setup]
******************************************************************************************************<o:p></o:p></span></p>
        <p class="MsoNormal">task path:
          /etc/ansible/roles/systemd_networkd/handlers/main.yml:29<o:p></o:p></p>
        <p class="MsoNormal"><span style="color:#0070C0">Read vars_file
            '{{ playbook_dir
            }}/../playbooks/defaults/repo_packages/openstack_services.yml'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0">Using module
            file
/opt/ansible-runtime/lib/python3.8/site-packages/ansible/modules/setup.py<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0">Pipelining is
            enabled.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            ESTABLISH LOCAL CONNECTION FOR USER: root<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0070C0"><localhost>
            EXEC /bin/sh -c '/usr/bin/python3 && sleep 0'<o:p></o:p></span></p>
        <p class="MsoNormal">ok: [localhost]<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">PLAY RECAP
************************************************************************************************************************************************************<o:p></o:p></p>
        <p class="MsoNormal"><span style="color:red">localhost  </span>                :
          <span style="color:#00B050">
            ok=105  </span>changed=7    unreachable=0    <span
            style="color:red">failed=1    </span>
          <span style="color:#00B0F0">skipped=26   </span>rescued=0   
          ignored=0   <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">thanks for any help<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <hr>
      “This e-mail and any accompanying attachments are confidential.
      The information is intended solely for the use of the individual
      to whom it is addressed. Any review, disclosure, copying,
      distribution, or use of the email by others is strictly
      prohibited. If you are not the intended recipient, you must not
      review, disclose, copy, distribute or use this e-mail; please
      delete it from your system and notify the sender immediately.”
    </blockquote>
  </body>
</html>