I have simple playbook where trying to install the Debian packages
downloaded locally in my server. This playbook runs on localhost and
install the Debian packages in the same system. But this playbook gives an
error *"Dependency is not satisfiable* for some of the packages even tough
the dependency package is available in the local repository.
I can download all the dependencies required for the specific package in my
local repository using *apt-get install --download-only package_name*
But in my playbook, i should have a mechanism to install the dependencies
first than install the actual package. This task should be dynamic,
playbook should resolve the dependencies by itself for any package install.
*When the package has dependency over another package, How the playbook
resolve dynamically.*
Some of the options explored:
Using ordered indexed_items, using gdebi.. Looking for efficient Logic.
*install_dependencies.yml*
---
- hosts: localhost
vars:
remote_media_directory: "/home/local_repository"
become: yes
tasks:
- name: find all debian Packages
find:
paths:
- "{{ remote_media_directory }}"
file_type: file
recurse: yes
use_regex: yes
patterns:
- '.*deb$'
register: files_matched_subdirectory
- name: installation debian packages
apt:
deb: "{{ item.path }}"
with_items: "{{ files_matched_subdirectory.files }}"
when: ansible_distribution == "Ubuntu"
ansible-playbook install_dependencies.yml
PLAY [localhost]
**********************************************************************************************************************************************************************************************
TASK [Gathering Facts]
****************************************************************************************************************************************************************************************
ok: [localhost]
TASK [find all debian Packages]
*******************************************************************************************************************************************************************************
ok: [localhost]
TASK [installation debian packages]
***************************************************************************************************************************************************************************
failed: [localhost] (item={u'uid': 0, u'woth': False, u'mtime':
1571850269.5720358, u'inode': 31195175, u'isgid': False, u'size': 46700,
u'roth': True, u'isuid': False, u'isreg': True, u'pw_name': u'root', u'gid': 0,
u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1,
u'issock': False, u'rgrp': True, u'gr_name': u'root', u'path':
u'/home/local_repository/wireshark_3.0.5-1_amd64.deb', u'xusr': False,
u'atime': 1571850391.3553286, u'isdir': False, u'ctime': 1571850312.2437878,
u'wgrp': False, u'xgrp': False, u'dev': 2051, u'isblk': False, u'isfifo':
False, u'mode': u'0644', u'islnk': False}) => {"changed": false, "item":
{"atime": 1571850391.3553286, "ctime": 1571850312.2437878, "dev": 2051, "gid":
0, "gr_name": "root", "inode": 31195175, "isblk": false, "ischr": false,
"isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true,
"issock": false, "isuid": false, "mode": "0644", "mtime": 1571850269.5720358,
"nlink": 1, "path": "/home/local_repository/wireshark_3.0.5-1_amd64.deb",
"pw_name": "root", "rgrp": true, "roth": true, "rusr": true, "size": 46700,
"uid": 0, "wgrp": false, "woth": false, "wusr": true, "xgrp": false, "xoth":
false, "xusr": false}, "msg": "Dependency is not satisfiable: wireshark-qt (=
3.0.5-1)\n"}
failed: [localhost] (item={u'uid': 0, u'woth': False, u'mtime':
1571850269.4560366, u'inode': 31195174, u'isgid': False, u'size': 3605060,
u'roth': True, u'isuid': False, u'isreg': True, u'pw_name': u'root', u'gid': 0,
u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1,
u'issock': False, u'rgrp': True, u'gr_name': u'root', u'path':
u'/home/local_repository/wireshark-qt_3.0.5-1_amd64.deb', u'xusr': False,
u'atime': 1571850394.3993108, u'isdir': False, u'ctime': 1571850312.2437878,
u'wgrp': False, u'xgrp': False, u'dev': 2051, u'isblk': False, u'isfifo':
False, u'mode': u'0644', u'islnk': False}) => {"changed": false, "item":
{"atime": 1571850394.3993108, "ctime": 1571850312.2437878, "dev": 2051, "gid":
0, "gr_name": "root", "inode": 31195174, "isblk": false, "ischr": false,
"isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true,
"issock": false, "isuid": false, "mode": "0644", "mtime": 1571850269.4560366,
"nlink": 1, "path": "/home/local_repository/wireshark-qt_3.0.5-1_amd64.deb",
"pw_name": "root", "rgrp": true, "roth": true, "rusr": true, "size": 3605060,
"uid": 0, "wgrp": false, "woth": false, "wusr": true, "xgrp": false, "xoth":
false, "xusr": false}, "msg": "Dependency is not satisfiable: libc6 (>=
2.29)\n"}
ok: [localhost] => (item={u'uid': 0, u'woth': False, u'mtime':
1571850217.1323407, u'inode': 31195169, u'isgid': False, u'size': 40654,
u'roth': True, u'isuid': False, u'isreg': True, u'pw_name': u'root', u'gid': 0,
u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1,
u'issock': False, u'rgrp': True, u'gr_name': u'root', u'path':
u'/home/local_repository/tree_1.7.0-5_amd64.deb', u'xusr': False, u'atime':
1571850397.4392931, u'isdir': False, u'ctime': 1571850312.2437878, u'wgrp':
False, u'xgrp': False, u'dev': 2051, u'isblk': False, u'isfifo': False,
u'mode': u'0644', u'islnk': False})
ok: [localhost] => (item={u'uid': 0, u'woth': False, u'mtime':
1571850217.0163412, u'inode': 31195168, u'isgid': False, u'size': 52132,
u'roth': True, u'isuid': False, u'isreg': True, u'pw_name': u'root', u'gid': 0,
u'ischr': False, u'wusr': True, u'xoth': False, u'rusr': True, u'nlink': 1,
u'issock': False, u'rgrp': True, u'gr_name': u'root', u'path':
u'/home/local_repository/dstat_0.7.3-1_all.deb', u'xusr': False, u'atime':
1571850399.3192823, u'isdir': False, u'ctime': 1571850312.2437878, u'wgrp':
False, u'xgrp': False, u'dev': 2051, u'isblk': False, u'isfifo': False,
u'mode': u'0644', u'islnk': False})
to retry, use: --limit @/home/upgrade/ansible/install_dependencies.retry
PLAY RECAP
****************************************************************************************************************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=1
--
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/494434b7-8f84-4441-9eeb-1e9090c68ade%40googlegroups.com.