Mar 262016
 

OpenStack的Horizon增加了不少新的功能,这里专门整理一下,写文档的过程,就是我熟悉的过程。

对于Horizon来说,可以分为管理员和普通用户,现在做分别的介绍。


Identify

登录

Mitaka版本全部的组件已经都支持Keystone的V3的API接口,当你登录的时候,

Snap43

domain,默认是default,目前Horizon还不支持界面上创建和添加domain。

Project

Snap44

现在好像默认管理员登录,就是调到Project的界面上。对于OpenStack来说,Project等于Tenant。

默认装完系统,会有Admin和Service两个租户。

用户

Snap45

标黄的是管理员创建的用户,其他是Service 租户需要使用到的用户,算是内置用户。

Snap46

可以看到用户nova,是属于project service。

Group

 

就是把用户做成一组,一个用户可以属于多个组。这样可以方便进行权限管理。

Snap47

创建出的group,还无法在界面上设置权限,仅仅是可以给group添加用户。

Roles

Snap48

界面上是可以创建roles,不过实际roles的权限,都是需要在系统进行配置joson文件。

系统内置admin和member两种roles,一般来说,创建项目的用户,分配的权限都是member的roles。

流程

管理员添加用户的流程一般是

  1. 创建项目,可以在project修改默认配额
  2. 创建用户,选择项目,分配member role权限。一个用户可以属于多个项目

Snap49

Snap50

 

Admin

Admin底下的System,

Snap51

hypervisors

显示所有节点资源信息

Snap52

 

compute Host 可以对节点的服务进行disable。让节点进入维护模式。

Snap53

Host Aggregates

主机集合,就是把计算节点分组,一个计算节点,只能属于一个组。这样我们在资源调度上可以更加灵活,根据需求,把创建的虚拟机放到相应的组里。

主机集合,用户是看不到的,是管理员通过设置,调度生效。

对于小规模的环境,这个基本用不上。

默认系统有两个Availability Zone 简称AZ,internal和Nova。

Snap54

关于AZ和Host Aggregates的关系,还是有点复杂的

az

创建Host Aggregate

Snap55

可以选择计算节点添加

Snap56

  29 Responses to “OpenStack Dashboard使用指南(Mitaka)”

  1. 陈哥 有俩问题请教一下 1是现在openstack里面多租户隔离是怎么实现的?能达到啥程度了?
    2是建一个虚拟机后如果把里面的各种ip配置都修改或删除了,甚至删除了该虚拟机的网卡,那么这个虚拟机还能被通过控制台管理么?

  2. 陈老师您好,在进行openstack平台部署的时候,遇到几个问题想请教下:
    1、在L版本之后网络部分都使用了LinuxBridge,而非OVS?那么虚拟机是直接通过Linux的tap设备连到外网吗?还是说有其他的方式。
    2、在openstack和SDN的融合中,控制器(比如:opendaylight)又如何连接到neutron呢?
    谢谢老师

    • 社区为了简化文档,提供了linux bridge。具体的实现和ovs差不多。2:opendaylight, 做为neutron的一个插件,接入OpenStack,目前这个还是在实验阶段,今年内,应该可以有案例。

  3. 陈老师您好,关于openstack配额使用量,遇到个问题请教下:
    在创建虚拟机时,偶尔会遇到创建失败而导致所谓“僵尸”数据的产生,目前是通过修改数据库解决,
    失败的虚拟机数据虽然清除了,但是它所占配额使用量还在,这个时候也只能去数据表中找到quota_usages,将其中in_use中的数据减少相应的删除的僵尸数

    或者将In_use的值更新成-1,然后进行某个资源变更,再触发同步底层资源同步的_sync_instances()…
    而_sync_instances()只能同步某个项目-某个用户的资源,不能一次同步整个项目的资源使用量,

    不知道有没有好的办法,保持quota_usages表数据是正常

    用的kilo版

    谢谢老师

  4. 你好,陈老师。
    近期用Packstack安装了mitaka,但是在运行期间,controller主机总是提示out of memory: kill process 15586(nova-api),不知道问题出在什么地方,我的controller主机配置是双网卡,8G内存。
    希望能给些提示。

  5. 陈老师,请问如何配置ceilometer使用keystone v3

  6. 陈老师,您好,我是一个openstack的新成员,懂的不是很多,但是目前老师要求我们做这个项目。
    我想请教您一个问题:就是所有建立的instance都是建立在哪台host上的,是compute还是controller,还是其他的节点,因为一直都是not valid host,很奇怪!

  7. 陈老师,我安装了dashboard 后web界面没有创建路由的功能,是为什么呢 ,只有创建网络,要把网络和路由连接的用命令行操作,我的界面上没有找到关于路由管理的功能。

    • 研究一下,你创建一个租户,用户,登录进去,估计就可以看到。管理员身份,是不需要创建路由器。

      • 谢谢老师 ,找到原因了是dashboard local_settings 里面禁用了 ,还有个问题 ,热迁移的时候 ,报这个错 Live Migration failure: Operation not supported: Selecting disks to migrate is not implemented for tunnelled migration ,没有共享存储, web界面虚拟机管理工具里也迁移这个选项。

  8. 沙克老师,我在一台物理机上单张网卡(IP地址:126.33.9.170,与我们的内网环境同一个网段)上安装了Mitaka,也就是All In One,部署完成后,dashboard可以打开了,但我发现nova服务好像不稳定,例如在获取云主机类型,或者云主机时,经常提示“无法获取主机类型” “无法获取主机”等提示错误,但多刷新几次又可以了。
    群里有人提示说mq问题,但不知道mq是什么,我是个小白

    nova-api.log

    2016-06-29 14:37:22.518 4947 ERROR nova Traceback (most recent call last):
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/bin/nova-api”, line 10, in
    2016-06-29 14:37:22.518 4947 ERROR nova sys.exit(main())
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/cmd/api.py”, line 51, in main
    2016-06-29 14:37:22.518 4947 ERROR nova server = service.WSGIService(api, use_ssl=should_use_ssl)
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/service.py”, line 364, in __init__
    2016-06-29 14:37:22.518 4947 ERROR nova self.manager = self._get_manager()
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/service.py”, line 421, in _get_manager
    2016-06-29 14:37:22.518 4947 ERROR nova return manager_class()
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/api/manager.py”, line 30, in __init__
    2016-06-29 14:37:22.518 4947 ERROR nova self.network_driver.metadata_accept()
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/network/linux_net.py”, line 706, in metadata_accept
    2016-06-29 14:37:22.518 4947 ERROR nova iptables_manager.apply()
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/network/linux_net.py”, line 446, in apply
    2016-06-29 14:37:22.518 4947 ERROR nova self._apply()
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py”, line 274, in inner
    2016-06-29 14:37:22.518 4947 ERROR nova return f(*args, **kwargs)
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/network/linux_net.py”, line 466, in _apply
    2016-06-29 14:37:22.518 4947 ERROR nova attempts=5)
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/network/linux_net.py”, line 1267, in _execute
    2016-06-29 14:37:22.518 4947 ERROR nova return utils.execute(*cmd, **kwargs)
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/utils.py”, line 388, in execute
    2016-06-29 14:37:22.518 4947 ERROR nova return RootwrapProcessHelper().execute(*cmd, **kwargs)
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/nova/utils.py”, line 271, in execute
    2016-06-29 14:37:22.518 4947 ERROR nova return processutils.execute(*cmd, **kwargs)
    2016-06-29 14:37:22.518 4947 ERROR nova File “/usr/lib/python2.7/dist-packages/oslo_concurrency/processutils.py”, line 371, in execute
    2016-06-29 14:37:22.518 4947 ERROR nova cmd=sanitized_cmd)
    2016-06-29 14:37:22.518 4947 ERROR nova ProcessExecutionError: Unexpected error while running command.
    2016-06-29 14:37:22.518 4947 ERROR nova Command: sudo nova-rootwrap /etc/nova/rootwrap.conf iptables-save -c
    2016-06-29 14:37:22.518 4947 ERROR nova Exit code: 1
    2016-06-29 14:37:22.518 4947 ERROR nova Stdout: u”
    2016-06-29 14:37:22.518 4947 ERROR nova Stderr: u’sudo: unable to resolve host UBUNTUOPENSTACK\nsudo: no tty present and no askpass program specified\n’
    2016-06-29 14:37:22.518 4947 ERROR nova
    2016-06-29 14:37:22.655 4959 INFO oslo_service.service [-] Parent process has died unexpectedly, exiting
    2016-06-29 14:37:22.655 4961 INFO oslo_service.service [-] Parent process has died unexpectedly, exiting
    2016-06-29 14:37:22.656 4961 INFO nova.wsgi [-] Stopping WSGI server.
    2016-06-29 14:37:22.656 4961 INFO nova.osapi_compute.wsgi.server [req-29b3dbd1-bb51-4332-b15b-580b1b595c7c – – – – -] (4961) wsgi exited, is_accepting=True
    2016-06-29 14:37:22.656 4959 INFO nova.wsgi [-] Stopping WSGI server.
    2016-06-29 14:37:22.656 4960 INFO oslo_service.service [-] Parent process has died unexpectedly, exiting
    2016-06-29 14:37:22.657 4961 INFO nova.wsgi [-] WSGI server has stopped.
    2016-06-29 14:37:22.657 4959 INFO nova.osapi_compute.wsgi.server [req-f9147bb3-d2e4-4c97-aabb-4542690ce78a – – – – -] (4959) wsgi exited, is_accepting=True
    2016-06-29 14:37:22.657 4960 INFO nova.wsgi [-] Stopping WSGI server.
    2016-06-29 14:37:22.657 4960 INFO nova.osapi_compute.wsgi.server [req-2e31edb5-02eb-43b1-9d35-127a5b120ee2 – – – – -] (4960) wsgi exited, is_accepting=True
    2016-06-29 14:37:22.657 4959 INFO nova.wsgi [-] WSGI server has stopped.
    2016-06-29 14:37:22.658 4960 INFO nova.wsgi [-] WSGI server has stopped.
    2016-06-29 14:37:22.658 4958 INFO oslo_service.service [-] Parent process has died unexpectedly, exiting
    2016-06-29 14:37:22.659 4958 INFO nova.wsgi [-] Stopping WSGI server.
    2016-06-29 14:37:22.659 4958 INFO nova.osapi_compute.wsgi.server [req-7daa8d03-052e-4fa0-a46a-f6aa7ee96b6f – – – – -] (4958) wsgi exited, is_accepting=True
    2016-06-29 14:37:22.660 4958 INFO nova.wsgi [-] WSGI server has stopped.

    感谢

  9. 陈老师您好,由于我的实验平台的要求,我们想尝试在一个由openstack(M)创建的虚拟机上创建多个子网卡(例如:eth0:1、eth0:2 …)连接到一个network上,其中每一个子网卡都配置一个不同网段的IP地址,分别对应在network中每一个创建好的subnet中;尝试把这台虚拟机当作一个路由。这种构想可以实现吗?方便说明。我写个例子,例如:

    虚拟机子网卡 subnet
    eth0:1 10.10.10.10 10.10.10.0/24
    eth0:2 10.10.20.10 对应到 10.10.20.0/24
    eth0:3 10.10.30.10 10.10.30.0/24

    对于目前版本的openstack可不可以实现?不知道自己想的是否可行,望老师给予指导,谢谢。

    • 打上去格式出现问题,我重新写一下
      虚拟机子网卡
      eth0:1 10.10.10.10 对应到 subnet1 10.10.10.0/24
      eth0:2 10.10.20.10 对应到 subnet2 10.10.20.0/24
      eth0:3 10.10.30.10 对应到 subnet3 10.10.30.0/24

      • 我大概理解你要做的事情。我估计当前版本的neutron,支持有点困难。

        Date: Sat, Aug 6, 2016 at 5:37 AM
        Subject: [openstack-dev] [infra][neutron] – best way to load 8021q kernel module into cirros
        To: openstack-dev@lists.openstack.org
        Hi,
        In neutron there is a new feature under active development to allow a VM to attach to many networks via its single interface using VLAN tags.
        We would like this to be tested in a scenario test in the gate, but in order to do that the guest instance must have support for VLAN tags (the 8021q kernel module for Linux VMs). Cirros does not ship with this module so I have a few questions.
        Do any other projects need to load a kernel module for a specific test? If not, where would the best place be to store the module so we can load it for that test; or, should we download it directly from the Internet (worried about the stability of this)?
        Thanks,
        Kevin Benton

    • 估计要到最新的版本neutron才能搞定。

  10. 你好 陈老师, 我在使用m版openstack时 使用一个计算节点去对接vmware 的vcenter时 日志显示成功 dashboard上 虚拟机管理器上也已经显示这个对接的vcenter虚拟机管理器,当我尝试使用vmdk镜像创建实例时,dashboard报错 No valid host was found. There are not enough hosts available.
    接管vcenter的计算节点 nova-compute.日志报错
    2016-08-18 22:24:26.396 4328 INFO nova.compute.claims [req-9fae9a25-7bdf-450d-81ae-e2b51a307b57 33c9da38764f478d8b690b155e01b3f6 aea22082d8a54fa3a3fcdb113cf117c2 – – -] [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] vcpu limit not specified, defaulting to unlimited
    2016-08-18 22:24:26.412 4328 INFO nova.compute.claims [req-9fae9a25-7bdf-450d-81ae-e2b51a307b57 33c9da38764f478d8b690b155e01b3f6 aea22082d8a54fa3a3fcdb113cf117c2 – – -] [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] Claim successful
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [req-9fae9a25-7bdf-450d-81ae-e2b51a307b57 33c9da38764f478d8b690b155e01b3f6 aea22082d8a54fa3a3fcdb113cf117c2 – – -] [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] Instance failed to spawn
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] Traceback (most recent call last):
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/compute/manager.py”, line 2218, in _build_resources
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] yield resources
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/compute/manager.py”, line 2064, in _build_and_run_instance
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] block_device_info=block_device_info)
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/driver.py”, line 381, in spawn
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] admin_password, network_info, block_device_info)
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py”, line 724, in spawn
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] metadata)
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py”, line 304, in build_virtual_machine
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] network_info)
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vif.py”, line 173, in get_vif_info
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] is_neutron, vif))
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vif.py”, line 159, in get_vif_dict
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] ref = get_network_ref(session, cluster, vif, is_neutron)
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vif.py”, line 148, in get_network_ref
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] network_ref = _get_neutron_network(session, cluster, vif)
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] File “/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vif.py”, line 142, in _get_neutron_network
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] raise exception.InvalidInput(reason=reason)
    2016-08-18 22:24:28.581 4328 ERROR nova.compute.manager [instance: 3fbfb707-cc1d-4a48-8f70-6c10592370e2] InvalidInput: Invalid input received: vif type bridge not supported
    从内容上看 是我的网络不对称么?,陈老师能帮我看一下这个问题需要如何解决么?

  11. 陈老师,我是一名学生。想问一下老师,搭建好openstack之后,我通过命令行是可以正常创建provider网络,但是通过dashboard创建网络时,是无法创建成功的,报错Unable to create the network. No tenant network is available for allocation. Neutron server returns request_ids: [‘req-fcbea6c3-0026-4230-8cbe-5f1b2250e43a’]。。。陈老师,我已经查了两天,也重新装过了,但是就是不行,想知道可能是什么原因或者怎么排查额?

  12. 沙克老师,dashboard可以删除网络,但是就是会创建网络失败,也可以创建虚拟机。。。报错报错Unable to create the network. No tenant network is available for allocation. Neutron server returns request_ids: [‘req-fcbea6c3-0026-4230-8cbe-5f1b2250e43a’]。。。

  13. 陈老师,你好,我想请教一下,我在搭建openstack mitaka版的时候,按照官方文档搭建的,在glance部分,上传镜像成功了,并且openstack image list 也能看到镜像,但是在dashboard中却看不到镜像,我的nova,neutron等所有服务都起来了,创建实例的时候显示Could not find resource cirros,在我搭建的时候,我只配置了controller,network,compute三个节点,创建实例和其他节点有关系吗?这个问题困扰我好久了,希望可以帮我指导一下,谢谢。

    • 这个很奇怪。看看权限啥。因为dashbard查看image,也是运行这个命令。

 Leave a Reply

(required)

(required)