我正在配置mesos marathon群集。我的下一个任务是安装java和mesos。
---
- name: importar key Mesosphere
shell: gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E56151BF
- name: ppa java8
apt_repository: repo='ppa:webupd8team/java' state=present
- name: seleccionar licencia Oracle
shell: echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
- name: actualizar
apt: update_cache=yes
- name: instalar java8
apt: name=oracle-java8-installer state=latest update-cache=yes force=yes
- name: actualizar sources list
shell: DISTRO=$(lsb_release -is | tr '[:upper:]' '[:lower:]') && CODENAME=$(lsb_release -cs) && echo "deb http://repos.mesosphere.io/${DISTRO} ${CODENAME} main" | sudo tee /etc/apt/sources.list.d/mesosphere.list
- name: actualizar paquetes
apt: update_cache=yes cache_valid_time=3600
- name: instalar mesos
apt: name=mesos state=present install_recommends=yes force=yes
- name: instalar mesosphere
apt: name=mesosphere state=present install_recommends=yes force=yes
我的问题是,当我执行playbook时,它会给我下一个错误:
TASK [common : actualizar sources list]****************************************
changed: [172.16.8.191]
TASK [common : actualizar paquetes]********************************************
ok: [172.16.8.191]
TASK [common : instalar mesos]*************************************************
fatal: [172.16.8.191]: FAILED! => {"changed": false, "failed": true, "msg": "No package matching 'mesos' is available"}
PLAY RECAP*********************************************************************
172.16.8.191 : ok=8 changed=5 unreachable=0 failed=1
但如果我第二次执行ansible,它工作得很好,你可以看到第二次执行:
TASK [common : actualizar paquetes]********************************************
ok: [172.16.8.191]
TASK [common : instalar mesos]*************************************************
changed: [172.16.8.191]
TASK [common : instalar mesosphere]********************************************
changed: [172.16.8.191]
有什么问题吗?
谢谢。
@ydaetskcor解决方案
更改任务“instalar mesos”:
- name: instalar mesos
apt: name=mesos state=present install_recommends=yes update_cache=yes force=yes
1条答案
按热度按时间snz8szmq1#
你的问题是
actualizar paquetes
任务只是做一个apt-get update
如果上次更新是在一个多小时前,请刷新您的回购清单。考虑到您只是在上一个任务中添加了mesos回购,您将无法找到该包。重新运行剧本会触发
actualizar
任务之前没有cache_valid_time
设置并强制apt-get update
这将允许您使用上一次运行playbook时添加的mesos repo。要解决这个问题,你可以把
cache_valid_time
从actualizar paquetes
任务。如注解中所述,您还可以移动
update_cache
仅限apt
主要任务apt
实际安装包和ansible的任务将运行apt-get update
在apt-get install
.