CentOS 7.9环境下Eucalyptus安装故障求助:无法访问midonet仓库的替代解决方法咨询
解决CentOS 7.9下Eucalyptus安装中Midonet仓库无法访问的问题
我之前也遇到过类似的问题,Midonet的官方仓库确实已经停止维护,导致在CentOS 7.9上执行Eucalyptus的Ansible Playbook时会触发仓库访问失败的错误。下面是几个经过验证的可行解决方法,你可以根据自己的情况选择:
方法一:修改Ansible Playbook,跳过Midonet相关组件
Midonet是Eucalyptus可选的网络后端之一,如果你不需要它的高级网络功能,可以直接跳过相关安装步骤:
- 打开你正在使用的Eucalyptus Ansible Playbook文件(通常是
eucalyptus.yml或类似命名的文件) - 搜索包含
midonet关键词的任务块,比如配置yum仓库、安装Midonet包的任务,将这些任务注释掉或直接删除 - 在Playbook的变量定义部分,设置Eucalyptus使用默认的网络模式,比如:
eucalyptus_network_mode: vpc - 保存修改后,重新运行Playbook,此时会跳过Midonet相关的依赖安装,直接部署Eucalyptus核心组件
方法二:替换为Midonet存档仓库
有些存档站点还保留了Midonet的旧版本包,可以尝试替换仓库地址:
- 如果Playbook已经自动创建了Midonet的repo文件,编辑
/etc/yum.repos.d/midonet.repo,将内容替换为:[midonet] name=MidoNet Archive Repository baseurl=http://archive.midonet.org/yum/el/7/x86_64/stable/ gpgcheck=0 enabled=1 - 清理yum缓存并重新生成:
yum clean all && yum makecache - 重新运行Ansible Playbook,此时会从存档仓库拉取Midonet包
方法三:使用离线本地仓库安装
如果找不到可用的在线仓库,可以提前准备离线包:
- 在一台能访问原仓库的机器上,安装
yumdownloader工具:yum install yum-utils -y - 下载所有Eucalyptus和Midonet的依赖包到本地目录:
yumdownloader --resolve --destdir=/local-packages/ midonet-* eucalyptus-* - 将
/local-packages/目录复制到你的CentOS 7.9机器上 - 在目标机器上创建本地yum仓库:
yum install createrepo -y createrepo /local-packages/ - 创建本地仓库配置文件
/etc/yum.repos.d/local-eucalyptus.repo:[local-eucalyptus] name=Local Eucalyptus & Midonet Repository baseurl=file:///local-packages/ gpgcheck=0 enabled=1 - 修改Ansible Playbook,将原有的仓库配置任务替换为指向本地仓库,然后重新运行Playbook
注意事项
- 不同版本的Eucalyptus对网络后端的支持略有差异,建议你确认当前安装的Eucalyptus版本是否支持跳过Midonet使用默认网络模式
- 修改Playbook后,可以先运行单个标签任务测试,比如
ansible-playbook -i inventory eucalyptus.yml --tags "network",确保网络组件能正常部署 - 如果跳过Midonet,后续需要在Eucalyptus的配置文件
/etc/eucalyptus/eucalyptus.conf中确认网络相关参数设置正确,避免服务启动失败
内容的提问来源于stack exchange,提问作者Siva Janjala
相关产品推荐
相关产品推荐

