Итак, я пытаюсь настроить хост Ubuntu с помощью ansible, и одно из моих требований - использовать java8
После большого количества исследований, обнаруженных в различных сообщениях об устаревании Oracle PPA и т. Д., Я остановился на установке openjdk-8-jdk
Итак, вот мой сценарий - я запустил свежий образ Ubuntu из AWS и первое, что я сделал
apt-get update
apt-get install openjdk-8-jdk
Отлично - это сработало, так что теперь, чтобы поместить это в мою книгу игр ansible, выглядит примерно так:
- name: Update all Ubuntu packages
apt:
upgrade: "dist"
when: ansible_distribution == 'Ubuntu'
- name: Install required Ubuntu packages
apt:
name: "{{ packages }}"
state: present
vars:
packages:
- openjdk-8-jdk
Но когда ansible запускается, он выдает ошибку:
amazon-ebs: TASK [system : Install required Ubuntu packages] *******************************
amazon-ebs: fatal: [default]: FAILED! => {"changed": false, "msg": "No package matching 'openjdk-8-jdk' is available"}
amazon-ebs: to retry, use: --limit @/Users/cparker/Git/tungsten-products/ami/replicator/ansible/playbook-ubuntu.retry
Кроме того, да, свежее изображение, которое я запустил для тестирования, точно соответствует тот же идентификатор образа AMI / сборка, которую также запускает ansible
Я потерялся: (
Я финансировал довольно много результатов поиска, но все они ссылаются на теперь устаревший методы для использования сборок Oracle и т. д., но я не могу найти ничего конкретного по этой проблеме
Изображение - это Ubuntu 18.04, а именно ubuntu / images / hvm-ssd / ubuntu-bionic-18.04-amd64-server-20190814
Ansible - 2.7.10
По умолчанию в облачных образах нет локально кэшированного списка пакетов.
Установите
update_cache: yes
, чтобы он обновлял свой кеш перед установкой пакета.
Вы должны проверить кеш и действительное время для кеширования, для получения дополнительных ссылок https://docs.ansible.com/ansible/latest/modules/apt_module.html
apt:
update_cache: yes
cache_valid_time: 3600