离线部署Foreman 3.3+Katello 4.5后多页面加载失败报错
Foreman 3.3 搭配 Katello 4.5 离线安装后内容类页面白屏故障
离线环境完成 Foreman 3.3 与 Katello 4.5 部署后,访问部分内容管理相关页面出现白屏,浏览器控制台输出明确报错,初步推测故障与Bastion UI组件异常或JSON解析错误有关,暂未定位根本原因。
受影响页面
所有出问题的页面如下,带链接项可点击查看故障截图:
- Products
- Content View
- Sync Plans
- Lifecycle Environments
- Content Credentials
- Activation Keys
- Deb Packages
- Container Image Tags
- Files
- Packages
- Errata
- Content Hosts
- Host Collections
浏览器控制台报错信息
Cette page utilise la propriété non standard « zoom ». Envisagez d’utiliser calc() dans les valeurs des propriétés pertinentes ou utilisez « transform » avec « transform-origin: 0 0 ». products Uncaught SyntaxError: missing ) after argument list products:51:1504 WARNING: Tried to load AngularJS more than once. katello:common-3245f69d8ef37312df4a.js:7:179007 Erreur dans les liens source : Error: NetworkError when attempting to fetch resource. URL de la ressource : https://172.20.10.2/webpack/katello/katello:common-3245f69d8ef37312df4a.js URL du lien source : katello:common-3245f69d8ef37312df4a.js.map Uncaught Error: [$injector:modulerr] Failed to instantiate module Bastion.capsule-content due to: [$injector:modulerr] Failed to instantiate module Bastion due to: [$injector:unpr] Unknown provider: BastionConfig https://errors.angularjs.org/1.8.2/$injector/modulerr?p0=Bas…ndle-v10.1.0-production-764404f58e4a47165b8a.js%3A1%3A920%0A A https://172.20.10.2/assets/bastion/bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:3 c https://172.20.10.2/assets/bastion/bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:3 ke https://172.20.10.2/assets/bastion/bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:3 c https://172.20.10.2/assets/bastion/bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:3 mt https://172.20.10.2/assets/bastion/bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:3 t https://172.20.10.2/assets/bastion/bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:3 q https://172.20.10.2/assets/bastion/bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:3 <anonymous> https://172.20.10.2/assets/bastion/bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:26 c https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:173 fireWith https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:173 ready https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:173 E https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:173 promise https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:173 a https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:173 js https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:173 n https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:1 js https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:1 n https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:1 0 https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:398 n https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:1 <anonymous> https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:1 <anonymous> https://172.20.10.2/webpack/foreman-vendor.bundle-v10.1.0-production-764404f58e4a47165b8a.js:1 bastion-a61e08734ad66c57bc535a2e0c25acc398bb44a8ac0e0ecd3541a62fa8bccafb.js:3:4735
排查修复步骤
核心阻断报错为Unknown provider: BastionConfig,即Bastion前端框架依赖的全局配置变量未被注入页面,是离线安装场景下静态资源编译/注册异常导致的,其余报错均为该问题衍生的非根因错误,按以下顺序操作即可修复:
- 清理并重新预编译前端静态资源,执行命令:
foreman-rake assets:clean RAILS_ENV=production foreman-rake assets:precompile RAILS_ENV=production foreman-rake tmp:cache:clear RAILS_ENV=production
- 校验组件版本匹配性,执行
rpm -qa | grep -E 'foreman|katello|bastion' | sort,确认所有Foreman组件版本为3.3.x、Katello组件版本为4.5.x、Bastion组件版本与Katello 4.5要求的版本完全一致,不存在混装其他版本组件的情况。若存在版本错配,替换为对应版本的离线安装包后重新执行foreman-installer完成配置更新。 - 重新注册插件静态资源,执行
foreman-installer --reset-foreman-plugin-assets,待安装器执行完成后,重启httpd及相关业务服务:
systemctl restart httpd foreman-tasks dynflowd pulpcore
- 清除浏览器本地缓存后重新访问页面即可恢复正常。
其他控制台提示说明:
zoomCSS属性警告为浏览器兼容性提示,source map拉取失败为离线环境未部署调试资源导致,AngularJS重复加载、JS语法错误均为BastionConfig缺失引发的连锁报错,核心问题修复后会自动消失,不需要单独处理。
内容的提问来源于stack exchange,提问作者Zntlm
相关产品推荐
相关产品推荐

