This is what I know:
RedHat, Debian, SLES... returned by ansible_distribution all have capitals
somewhere in the naming, as you can see in the error message. My files are
all lowercase. I have checked and there are no capitals in my naming.
In my playbook include_tasks: "{{ ansible_distribution }}-ntp.yaml" is the
reason for the error. Either I can fix my file names to match mixed case
returned by the variable or turn everything to lower case with the lower filter
as it is done elsewhere in my tasks files. I don't know how to do either of
these! I've tried with the lower filter but I still get the same error. I
don't know how to use the match mixed case. Can someone please help?
On Tuesday, July 9, 2019 at 1:38:31 PM UTC-5, Keith Mills wrote:
>
> I am new to Ansible!
>
>
> I'm working on an NTP Install/Configure Project. I have a main.yaml file,
> a ntp.yaml playbook and 4 tasks (debian-ntp.yaml, redhat-ntp.yaml,
> sles-ntp.yaml, ubuntu-ntp.yaml). I can't seem to get this to work.
>
>
> ansible --version
> ansible 2.8.0
> config file = /etc/ansible/ansible.cfg
> configured module search path = [u'/home/kjames/.ansible/plugins/modules',
> u'/usr/share/ansible/plugins/modules']
> ansible python module location = /usr/lib/python2.7/site-packages/ansible
> executable location = /usr/bin/ansible
> python version = 2.7.5 (default, Apr 9 2019, 14:30:50) [GCC 4.8.5 20150623
> (Red Hat 4.8.5-36)]
>
> cat /etc/os-release
> NAME="CentOS Linux"
> VERSION="7 (Core)"
> ID="centos"
> ID_LIKE="rhel fedora"
> VERSION_ID="7"
> PRETTY_NAME="CentOS Linux 7 (Core)"
>
> What I have:
>
>
> roles/base/tasks/main.yaml:
>
>
> ---
> ## PLAYBOOK TO INSTALL AND CONFIGURE NTP ON REDHAT/ DEBIAN SYSTEMS
>
> - name: Include OS-specific variables
> include_vars: "{{ ansible_distribution }}.yaml"
>
> - include: redhat-ntp.yaml
> when: ansible_distribution|lower == 'redhat'
>
> - include: debian-ntp.yaml
> when: ansible_distribution|lower == 'debian'
>
> - include: sles-ntp.yaml
> when: ansible_distribution|lower == 'sles'
>
> - include: ubuntu-ntp.yaml
> when: ansible_distribution|lower == 'ubuntu'
>
> - name: Set the correct timezone
> file: src={{ ntp_timezone }} dest=/etc/localtime state=link force=yes
>
> - name: Configure NTP
> template: src={{ item }} dest={{ ntp_config }}
> with_first_found:
> - "../templates/{{ ansible_distribution }}-{{
> ansible_distribution_version }}.ntp.conf.j2"
> - "../templates/{{ ansible_distribution }}.ntp.conf.j2"
> - "../templates/{{ ansible_os_family }}.ntp.conf.j2"
> - "../templates/ntp.conf.j2"
>
> #- name: Restart NTP
> ## service: name={{ ntp_service }} state=restarted
> #
> - name: Force NTP update
> shell: "service {{ ntp_service }} stop && ntpdate -s {{ ntpdate_server
> }} && service {{ ntp_service }} start"
> ...
>
> roles/base/tasks/ntp.yaml:
>
> ---
> - hosts: all
> remote_user: root
>
> tasks:
> - name: Detect OS and run appropriate tasks
> include_tasks: "{{ ansible_distribution }}-ntp.yaml"
>
> roles/base/tasks/debian-ntp.yaml:
>
> ---
> - name: Ensure NTP packages are installed (debian).
> apt: "name={{ ntp_package }} state=installed"
>
> roles/base/tasks/redhat-ntp.yaml:
>
> ---
> - name: Ensure NTP packages are installed (redhat).
> yum: "name={{ ntp_package }} state=installed"
>
> roles/base/tasks/sles-ntp.yaml:
>
> ---
> - name: Ensure NTP packages are installed (sles).
> zypper: "name={{ ntp_package }} state=installed"
>
> roles/base/tasks/ubuntu-ntp.yaml:
>
> ---
> - name: Ensure NTP packages are installed (ubuntu).
> apt: "name={{ ntp_package }} state=installed"
>
> Should install and configure ntp on all (RedHat, SLES, Debian, Ubuntu).
>
>
> Error:
>
>
> TASK [Detect OS and run appropriate tasks]
> ******************************************************************************************************************************
>
> fatal: [ablrh7ex6499]: FAILED! => {"reason": "Could not find or access
> '/home/jamekeit/ds9/roles/base/tasks/RedHat-ntp.yaml' on the Ansible
> Controller."} fatal: [abls15ex8401]: FAILED! => {"reason": "Could not find
> or access '/home/jamekeit/ds9/roles/base/tasks/SLES-ntp.yaml' on the
> Ansible Controller."} fatal: [abldeb8ex6658]: FAILED! => {"reason": "Could
> not find or access '/home/jamekeit/ds9/roles/base/tasks/Debian-ntp.yaml' on
> the Ansible Controller."}
>
>
> I don't understand why I'm getting this because I have all the files on
> the Ansible Controller (debian-ntp.yaml, redhat-ntp.yaml, sles-ntp.yaml,
> ubuntu-ntp.yaml)
>
>
--
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/c9c2c4c7-edf2-4cac-988d-c5e8740ec412%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.