Кто-нибудь может сказать мне, почему этот старый ключ работать для меня с apt-key
модуль ansible-playbook
и этот новый ключ не (404)?
Первоначальный ключ работал некоторое время (когда я разрабатывал эти сценарии), но когда он истек (2019-12-06), apt update_cache (правильно) начал давать сбой, и это было посоветовал переключиться на новый ключ, который я не могу заставить работать с apt-key
модуль. Он хорошо работает без ansible-playbook:
$ wget -O- https://build.opensuse.org/projects/home:jgeboski/public_key | sudo apt-key add -
.
Оба адреса, кажется, ведут себя более или менее одинаково при просмотре их в браузере. Хотя заголовки немного разные. Как и расширения файлов.
Это соответствующая часть моего сценария. Несколько других apt-key
и apt-repository
и apt
использования работают нормально.
- name: "Install purple-facebook: key"
become: yes
apt_key:
# url: https://build.opensuse.org/projects/home:jgeboski/public_key
url: https://download.opensuse.org/repositories/home:jgeboski/xUbuntu_18.04/Release.key
- name: "Install purple-facebook: repo"
become: yes
apt_repository:
repo: "deb https://download.opensuse.org/repositories/home:/jgeboski/xUbuntu_18.04/ /"
- name: "Install purple-facebook: package"
apt:
pkg: purple-facebook
Если я использую новый ключ, он будет 404. Все выходные данные выполняются с -vvvv
флаг.
fatal: [localhost]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"data": null,
"file": null,
"id": null,
"key": null,
"keyring": null,
"keyserver": null,
"state": "present",
"url": "https://build.opensuse.org/projects/home:jgeboski/public_key",
"validate_certs": true
}
},
"msg": "Failed to download key at https://build.opensuse.org/projects/home:jgeboski/public_key: HTTP Error 404: Not Found"
}
Если я использую старый ключ, он сначала выйдет из строя update_cache: yes
(что по умолчанию для apt-repository
).
The full traceback is:
WARNING: The below traceback may *not* be related to the actual failure.
File "/tmp/ansible_apt_repository_payload_drREvW/ansible_apt_repository_payload.zip/ansible/modules/packaging/os/apt_repository.py", line 548, in main
File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 559, in update
raise FetchFailedException(e)
fatal: [localhost]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"codename": null,
"filename": null,
"install_python_apt": true,
"mode": null,
"repo": "deb http://download.opensuse.org/repositories/home:/jgeboski/xUbuntu_18.04/ /",
"state": "present",
"update_cache": true,
"validate_certs": true
}
},
"msg": "apt cache update failed"
}
Я автоматизирую настройку персональных компьютеров из практических соображений, а также чтобы больше узнать об Ansible и Ansible-playbooks.
Спасибо!
В решении использовался более полный адрес.
Мне был предоставлен исходный URL:
https://build.opensuse.org/projects/home:jgeboski/public_key
Работает:
https://build.opensuse.org/projects/home:jgeboski/public_key.pub
Вы можете запустить playbook с -vvv
вариант, который даст вам больше подсказок о том, что пошло не так, а другой вариант - добавить validate_certs: no
к задаче name: "Install purple-facebook: key"
который проигнорирует проверку сертификата.