未报告横向的计算机
在使用openstack-installer安装Openstack后,我使用了Landscape。 经过一段时间后,在重新启动所有内容之后,经过一些与juju的斗争( 使用juju-core 1.20.x重新启动后没有运行 ),Landscape再次运行,以及Openstack。
问题是没有计算机向Landscape报告。 我每5分钟收到一封主题为“ [风景警报] 18台计算机在过去5分钟内未联系Landscape ”的电子邮件,即使所有服务器都已启动并运行。
我也面临着Openstack上的严重问题(无法启动新实例,备份卷等),我的猜测是问题是相关的。
在调试会话之后,通过对原始问题的评论,我们发现了问题所在。
使用自签名证书时,apache2 charm有一个错误,它会生成只有30天有效期的证书。
发生了什么事,它已经过期了。 这是在更新版本的魅力中修复的,所以我们要做的是升级到它并触发新的证书生成。
请按照以下步骤升级魅力并重新生成证书:
- 运行
juju ssh apache2/0 'sudo rm -f /etc/ssl/certs/apache2.cert /etc/ssl/private/apache2.key /etc/ssl/certs/landscape_server_ca.crt'
。 - 运行
juju upgrade-charm apache2
。 这将升级魅力和新魅力,一旦它看到没有证书(在第一步中删除),将生成一对新的。 - 观察
juju debug-log
的输出,直到它安静下来。 - 运行
juju ssh apache2/0 'sudo service apache2 restart'
(我将提交一个关于此步骤的错误:它不应该被需要,但现在就是)
现在我们需要告诉客户这个新证书。 这有点棘手,因为客户端正在另一个juju环境中运行,该环境存在于landscape / 0单元上,类似于inception。 跟着这些步骤:
- 获取新证书:
juju scp apache2/0:/etc/ssl/certs/apache2.cert .
- 确保权限为0644:
chmod 0644 apache2.cert
- validation它从现在起10年后到期:
openssl x509 -in apache2.cert -noout -enddate
- 上传到landscape / 0:
juju scp apache2.cert landscape/0:/tmp
- 登录landscape / 0:
juju ssh landscape/0
- 更改格局用户shell:
sudo chsh -s /bin/bash landscape
- 成为风景:
sudo -u landscape -i
- 指向云juju环境:
export JUJU_HOME=/var/lib/landscape/juju-homes/$(ls -1t /var/lib/landscape/juju-homes/|head -n 1)
- 运行此命令以确认juju正在该环境中工作:
juju status
。 你应该看到很多OpenStack服务 - 告诉landscape-client有关新证书的信息:
juju set landscape-client ssl-public-key="base64:$(cat /tmp/apache2.cert|base64)"
- 观察
juju debug-log
的输出,直到它安静下来 - 在任何地方重启landscape-client:
juju run --service landscape-client 'sudo service landscape-client restart'
- 如果上述命令失败并且某些部分关于不支持从属服务,请改为
juju run --all 'sudo service landscape-client restart'
:juju run --all 'sudo service landscape-client restart'
您可以登录客户端并关闭broker.log文件,查看SSL错误是否仍然存在。