lineinfile using insertafter

24 views
Skip to first unread message

Chris Bidwell - NOAA Federal

unread,
Jul 17, 2020, 4:22:11 PM7/17/20
to ansible...@googlegroups.com
Hey all,

Trying to insert a line to multiple instances in the same file.  

I tried insertafter but that only put in one spot.  Here's the code:

    - name: add proxy to zabbix.repo if needed
      lineinfile:
        path: /etc/yum.repos.d/zabbix.repo
        state: present
        insertafter: '\[zabbix*'
        line: 'proxy=http://proxy:8080'
      when:
        - ansible_default_ipv4.address is match('192\.168\.226\.') or
          ansible_default_ipv4.address is match('10\.172\.226\.')


Here's the result:

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://repo.zabbix.com/zabbix/4.4/rhel/8/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
proxy=http://proxy:8080                                                                                                                                              
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://repo.zabbix.com/non-supported/rhel/8/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

I would have thought my insertafter regexp would match both of those [zabbix] and [zabbix-non-supported] but it doesn't.

Stefan Hornburg (Racke)

unread,
Jul 17, 2020, 11:38:46 PM7/17/20
to ansible...@googlegroups.com
On 7/17/20 10:21 PM, 'Chris Bidwell - NOAA Federal' via Ansible Project wrote:
> Hey all,
>
> Trying to insert a line to multiple instances in the same file.  
>
> I tried insertafter but that only put in one spot.  Here's the code:
>
>     - name: add proxy to zabbix.repo if needed
>       lineinfile:
>         path: /etc/yum.repos.d/zabbix.repo
>         state: present
>         insertafter: '\[zabbix*'
>         line: 'proxy=http://proxy:8080'
>       when:
>         - ansible_default_ipv4.address is match('192\.168\.226\.') or
>           ansible_default_ipv4.address is match('10\.172\.226\.')
>
> Here's the result:
>
> [zabbix]
> name=Zabbix Official Repository - $basearch
> baseurl=https://repo.zabbix.com/zabbix/4.4/rhel/8/$basearch/
> enabled=1
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
>
> [zabbix-non-supported]
> *proxy=http://proxy:8080   *                                                                                           
>                                                
> name=Zabbix Official Repository non-supported - $basearch
> baseurl=https://repo.zabbix.com/non-supported/rhel/8/$basearch/
> enabled=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
> gpgcheck=1
>
> I would have thought my insertafter regexp would match both of those [zabbix] and [zabbix-non-supported] but it doesn't.

No, lineinfile replaces one line. But why don't you set the proxy variable globally for yum / your system?

Regards
Racke

>
> --
> You received this message because you are subscribed to the Google Groups "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
> ansible-proje...@googlegroups.com <mailto:ansible-proje...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/CAHKi8Cg_J_ybBhRZ8S0VVX0c6SqB-W2vz6nVNo9nFKNuia%2Bb-A%40mail.gmail.com
> <https://groups.google.com/d/msgid/ansible-project/CAHKi8Cg_J_ybBhRZ8S0VVX0c6SqB-W2vz6nVNo9nFKNuia%2Bb-A%40mail.gmail.com?utm_medium=email&utm_source=footer>.


--
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.

signature.asc

S C Rigler

unread,
Jul 18, 2020, 3:00:57 AM7/18/20
to ansible...@googlegroups.com
It would be a lot easier to accomplish this with the ini_file module instead of lineinfile.  For example:

- ini_file:
    path: /etc/yum.repos.d/zabbix.repo
    section: zabbix-non-supported
    option: proxy
    value: http://proxy:8080

--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAHKi8Cg_J_ybBhRZ8S0VVX0c6SqB-W2vz6nVNo9nFKNuia%2Bb-A%40mail.gmail.com.

Chris Bidwell - NOAA Federal

unread,
Jul 18, 2020, 1:48:50 PM7/18/20
to ansible...@googlegroups.com
Because I've got checks that applies the proxy based of which subnet the playbook runs on.
> To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/20b9be73-44b4-4a33-8258-d00b200e1f47%40linuxia.de.
>

--

Chris Bidwell, CISSP
Space Weather Prediction Center
National Oceanic Atmospheric Administration
email: chris.b...@noaa.gov
office: 303-497-3204
mobile: 720-496-3126

Reply all
Reply to author
Forward
0 new messages