使用Docker驱动程序设置Openstack Havana

时间:2014-07-18 12:08:30

标签: docker openstack ubuntu-server devstack

环境:

 Ubuntu 14.04
 virtualbox 4.3.10_ubuntu
 Ubuntu server 13.10 64 bit
 Docker Version 0.7.6

我已经按照[1]指南设置了带有docker driver的openstack。我在虚拟机中设置了ubuntu服务器时使用了三个网络适配器。一个nat和两个主机接口。其中一个主机接口是通过ssh连接到虚拟机,而不必与仅为Openstack保留的主机接口进行配置。最终我能够成功运行stack.sh [2]。

 Horizon is now available at `http://10.0.2.15/`
 Keystone is serving at `http://10.0.2.15:5000/v2.0/`
 Examples on using novaclient command line is in exercise.sh
 The default users are: admin and demo
 The password: g
 This is your host ip: 10.0.2.15
 2014-07-18 12:53:51.378 | stack.sh completed in 230 seconds.

virtualbox中的eth1和eth2

eth1链接封装:以太网HWaddr 08:00:27:59:13:60
          inet addr:192.168.92.30 Bcast:192.168.92.255 Mask:255.255.255.0

eth2链接封装:以太网HWaddr 08:00:27:67:06:99
          inet addr:192.168.57.30 Bcast:192.168.57.255 Mask:255.255.255.0

这是我的localrc

  FLOATING_RANGE=192.168.92.0/27
  FIXED_RANGE=10.11.12.0/24
  FIXED_NETWORK_SIZE=256
  FLAT_INTERFACE=eth1
  ADMIN_PASSWORD=g
  MYSQL_PASSWORD=g
  RABBIT_PASSWORD=g
  SERVICE_PASSWORD=g
  SERVICE_TOKEN=g
  SCHEDULER=nova.scheduler.filter_scheduler.FilterScheduler
  VIRT_DRIVER=docker
  SCREEN_LOGDIR=$DEST/logs/screen

但是当我尝试在主机(ubuntu 14.04)中登录地平线UI(http://192.168.57.30)时,它说

  Forbidden
  You don't have permission to access / on this server.
   Apache/2.4.6 (Ubuntu) Server at 192.168.57.30 Port 80

http://192.168.92.30时说它无法连接。我想问题是localrc配置。如果有人可以帮助我,我会非常感激。

[1]:http://damithakumarage.wordpress.com/2014/01/31/how-to-setup-openstack-havana-with-docker-driver/

[2]:https://drive.google.com/file/d/0B7KeGmlNcKobWHYyMGZKZFB4cjg/edit?usp=sharing

2 个答案:

答案 0 :(得分:2)

我发现openstack havana + docker对你安装的ubuntu主机版本很敏感。 IIRC,我只能使用13.04。

我还发现devstack实现在我设法让安装正常工作之后非常有气质。例如,网络路由将消失,主机将变为不可用。

如果您乐意使用vagrant,可以尝试我的stratos vagrant box版本1.1,它将为您设置stratos,openstack和docker。但是,由于上述原因,我决定放弃openstack + docker,因此我暂时没有使用脚本,现在它们很可能已经坏了。

答案 1 :(得分:2)

我在Openstack Icehouse遇到了同样的问题。管理如下解决它。

修改 /etc/apache2/sites-available/horizo​​n.conf ,并按照下面的“全部授权”行进行修改:

  <Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all granted
  </Directory>

重启apache服务器。在终端上运行以下命令。

sudo service apache2 restart

您现在应该可以访问地平线了。希望它能奏效。