我曾尝试在 Hetzner(专用服务器)上安装 OpenStack,但无法正确完成安装。
我遵循了以下官方指南:
我在家里的电脑上进行了同样的安装,没有遇到任何问题。
$ sudo yum install -y centos-release-openstack-pike
$ sudo yum update -y
$ sudo yum install -y openstack-packstack
$ sudo packstack --allinone
$ sudo systemctl disable firewalld
$ sudo systemctl stop firewalld
$ sudo systemctl disable NetworkManager
$ sudo systemctl stop NetworkManager
$ sudo systemctl enable network
$ sudo systemctl start network
$ sudo yum install -y centos-release-openstack-pike
yum-config-manager --enable openstack-pike
$ sudo yum update -y
$ sudo yum install -y openstack-packstack
$ sudo packstack --allinone
问题肯定是 Hetzner 提供直接路由到您的机器的单个浮动 IP 或 RIPE 块。
有人遇到过这个问题,可以提供一点帮助。
我在这里添加错误信息:
Applying 94.130.220.61_controller.pp
Testing if puppet apply is finished: 94.130.220.61_controller.pp [ / ]
94.130.220.61_controller.pp: [ ERROR ]
Applying Puppet manifests [ ERROR ]
ERROR : Error appeared during Puppet run: 94.130.220.61_controller.pp
Error: /Stage[main]/Nova::Db::Sync/Exec[nova-db-sync]: Failed to call refresh: Command exceeded timeout
You will find full trace in log /var/tmp/packstack/20180129-090526-jGw32P/manifests/94.130.220.61_controller.pp.log
Please check log file /var/tmp/packstack/20180129-090526-jGw32P/openstack-setup.log for more information
Additional information:
* A new answerfile was created in: /root/packstack-answers-20180129-090528.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 94.130.220.61. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://94.130.220.61/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
谢谢
答案1
遇到了同样的问题,通过改变 puppet 的超时值解决了该问题。
/usr/share/openstack-puppet/modules/nova/manifests/db/sync.pp
class nova::db::sync(
$extra_params = undef,
$db_sync_timeout = 300,
)
将 $db_sync_timeout 从 300 更改为 3600
我必须对中子做出同样的改变
/usr/share/openstack-puppet/modules/neutron/manifests/db/sync.pp
答案2
在 Centos7、Packstack Train 上遇到了同样的问题。硬件 HP DL580,40CPU,80Threaads,8 x SSD,RAID0。如果有人使用 ansible 部署 Packstack,我会做一个小的 ansible 任务
- name: Fixup for issue at "https://serverfault.com/questions/894327/how-to-install-rdo-openstack-in-hetzner"
become: yes
become_user: root
lineinfile:
path: "/usr/share/{{ item }}"
regexp: ^ \$db_sync_timeout = \d+,$
line: " $db_sync_timeout = 0,"
state: present
backup: no
loop:
- "openstack-puppet/modules/nova/manifests/db/online_data_migrations.pp"
- "openstack-puppet/modules/nova/manifests/db/sync.pp"
- "openstack-puppet/modules/nova/manifests/db/sync_api.pp"
- "openstack-puppet/modules/neutron/manifests/db/sync.pp"
答案3
确保你已经安装了 NTP 服务并且它正常工作。正如你在 packstack 结果中看到的那样:
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.