On 2/5/20 9:48 AM, Adrian Sebastian Dutu wrote: > Why are you using the command module? > > Use the package module. Then it will not matter what package manager the > distro is running. > If you have ansible module available for what you want to do, never use > command. I would rewrite the entire play. >
You can use the package module, but it will not be able to list packages and
the names of packages might
differ between different distros etc.
Regards
Racke
>
>
> On Wednesday, February 5, 2020 at 2:08:01 AM UTC+1, Work-Hard wrote:
>
> Hello,
> Do you recommend Migrating playbook from ubuntu to amazon Linux 2 (as it
> uses *yum instead of apt*). If so, how can
> I check if missing add a package to a new instance to make sure it
> installs python-apt*?*
> *Ansible-Playbook*
> ---
> - hosts: amazonlinux2
> become: true
> any_errors_fatal: true
> serial: 1
> max_fail_percentage: 0
> vars:
> ansible_user: ec2-user
> tasks:
> # do an "apt-get update", to ensure latest package lists
> - name: apt-get update
> apt:
> update-cache: yes
> changed_when: 0
>
> # get a list of packages that have updates
> - name: get list of pending upgrades
> command: apt-get --simulate dist-upgrade
> args:
> warn: false # don't warn us about apt having its own plugin
> register: apt_simulate
> changed_when: 0
>
> - name: Update cache
> apt:
> update-cache: yes
> changed_when: false
>
> - name: Fetch package list of updates
> command: apt list --upgradable
> register: aptlist
>
> - set_fact:
> updates: "{{ aptlist.stdout_lines | difference(['Listing...'])
> | map('regex_replace', '^(.*?)/(.*)', '\\1') | list }}"
>
> - debug: var=updates
>
> # tell user about packages being updated
> - name: show pending updates
> debug:
> var: updates
> when: updates.0 is defined
>
> # comment this part in if you want to manually ack each server update
> - pause:
> when: updates.0 is defined
>
> # if a new kernel is incoming, remove old ones to avoid full /boot
> - name: apt-get autoremove
> command: apt-get -y autoremove
> args:
> warn: false
> when: '"Inst linux-image-" in apt_simulate.stdout'
> changed_when: 0
>
> # do the actual apt-get dist-upgrade
> - name: apt-get dist-upgrade
> apt:
> upgrade: dist # upgrade all packages to latest version
> register: upgrade_output
>
> # check if we need a reboot
> - name: check if reboot needed
> stat: path=/var/run/reboot-required
> register: file_reboot_required
>
> # "meta: end_play" aborts the rest of the tasks in the current
> «tasks:»
> # section, for the current webserver
> # "when:" clause ensures that the "meta: end_play" only triggers if
> the
> # current server does _not_ need a reboot
> - meta: end_play
> when: not file_reboot_required.stat.exists
>
> # because of the above meta/when we at this point know that the
> current
> # host needs a reboot
>
> # prompt for manual input before doing the actual reboot
> - name: Confirm reboot of ec2-user
> pause:
>
> - name: reboot node
> shell: sleep 2 && shutdown -r now "Reboot triggered by ansible"
> async: 1
> poll: 0
> ignore_errors: true
>
> # poll ssh port until we get a tcp connect
> - name: wait for node to finish booting
> become: false
> local_action: wait_for host=ec2-user
> port=22
> state=started
> delay=5
> timeout=600
>
> # give sshd time to start fully
> - name: wait for ssh to start fully
> pause:
> seconds: 15
>
> # wait a few minutes between hosts, unless we're on the last
> - name: waiting between hosts
> pause:
> minutes: 10
> when: inventory_hostname != ansible_play_hosts[-1]
>
> *
> *
> *Ansible-Output*
> PLAY [amazonlinux2]
>
> ******************************************************************************************************************************************
>
> TASK [Gathering Facts]
>
> ***************************************************************************************************************************************
> [WARNING]: Platform linux on host 10.11.12.13 is using the discovered
> Python interpreter at /usr/bin/python, but
> future installation of another Python
> interpreter could change this. See
>
> https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html
>
> <https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html>
> for more information.
>
> ok: [10.11.12.13]
>
> TASK [apt-get update]
>
> ****************************************************************************************************************************************
> [WARNING]: Updating cache and auto-installing *missing dependency:
> python-apt*
>
> fatal: [10.11.12.13]: FAILED! => {"changed": false, "cmd": "apt-get
> update", "msg": "[Errno 2] No such file or
> directory", "rc": 2}
>
> NO MORE HOSTS LEFT
>
> *******************************************************************************************************************************************
>
> NO MORE HOSTS LEFT
>
> *******************************************************************************************************************************************
>
> PLAY RECAP
>
> ***************************************************************************************************************************************************
> 10.11.12.13 : ok=1 changed=0 unreachable=0
> failed=1 skipped=0 rescued=0 ignored=0
>
>
> --
> 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]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/21203f8f-5383-47e9-ad8e-feb8cf8cb34f%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/21203f8f-5383-47e9-ad8e-feb8cf8cb34f%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/b5fa2b50-5a2c-3c45-3d28-123eb98cca29%40linuxia.de.
signature.asc
Description: OpenPGP digital signature
