Jump to: navigation, search


Revision as of 03:17, 29 April 2016 by Sunjing (talk | contribs) (Daisy install guide)

What is Dasiy?

Daisy,Meaning: Daisy, a wonderful thing.

Daisy is a sub project of Openstack, for the deployment of centos+openstack on bare metal. Daisy provides standard RestFul interface, with interface, users can complete the configuration operation with dashboard, then click cluster deployment button, greatly simplify the configuration for user, the deployment process without manual intervention, to achieve the operating system and the Openstack of fully automatic deployment, enhances ease of use.

development future: as a deployment tool, Daisy will support the subsequent deployment of different back-end.

interface: Daisy provide two interfaces,:CLI and Restful ,so it is also determined that the Daisy can be achieved through the command line or dashboard page to achieve the deployment capabilities.

About services:

Daisy's installation package contains the following services:

1. Daisy

1) daisy-api: Responsible for providing external interface calls.

2) daisy-registry: responsible for database related operations. (the required parameters are written to the MariaDB database through the daisy command, when deployed, to implement).

3) daisy-orchestration: whether there is a new blade in the monitoring cluster, to achieve the automatic expansion of the computing node


In the process of automatic deployment , Daisy  need to install the blade automatically reported their information, so use the ironic function, so the bin Daisy package is also integrated with the ironic related services.

1) ironic-discoverd: responsible for the host to find and report the hardware information of the node.

2) ironic-api and ironic-conductor: responsible for providing the interface to the reported data written to the ironic database.

3. keystone openstack-keystone:Used to provide authentication and authentication functions, Daisy dashboard interface log in with the user of keystone.

4. Apache service(httpd)

The dashboard of Daisy integration by Apache service , before login dashboard , you can first check the systemctl status httpd, dashboard page login address is http://IP. Here the IP is the IP address of the server Daisy blade installation.

5. mariadb

Before the deployment of the cluster, all the settings of the cluster (cluster) parameters are stored in the MariaDB database.

Configuration file, log file and version to be installed path Daisy all configuration file path: /etc/daisy/ Daisy log path: /var/log/daisy/ version to be installed path: /var/lib/daisy/tecs PXE deployment configuration file path: /home/daisy_install install

About support scenarios 1) The application scenario of Daisy currently only supports HA+LB +Compute, HA and LB can be deployed (deployed on the same piece of blade), also can separate deployment.

2) The daisy Version deployment ha, only support local mount database and glance , (DRDB) mode, support glance using magnetic array sharing mode.

About the deployment of the application of Daisy

support deployment of three ways:

1) CGSL-VPLAT (operating system): only the deployment of CGSL-VPLAT (not assigned roles)

2) OPENSTACK: only the deployment of Openstack (need to be found through the SSH host this step)

3) CGSL-VPLAT (operating system)+TECS: deployment of CGSL-VPLAT +TECS . Special note: if you want to deploy first and third ways , the blade server to be deployed must support IPMI hardware environment. Because only supports ironic hardware environment, can realize the automatic discovery of blade.

Daisy deployment of HA+LB in a networking scene

Daisy 01.png

User guide

Daisy install guide

1) Download Daisy bin package, ie:DAISY_V01.01.10_I680.bin

2) Add executable permissions:chmod +x DAISY_V01.01.10_I680.bin

3) Install:

Execute ./DAISY_V01.01.10_I680.bin, And select 5 exit

then you will find daisy_install folder in the path /home , enter the folder, open the daisy.conf configuration file to configure the PXE server configuration. Configuration is as follows:

  [root@host125 daisy_install(daisy_admin)]$ vi daisy.conf 

[DEFAULT] daisy_management_ip= [BACKEND]

  1. Default backend type for Daisy

default_backend_types=tecs [PXE] build_pxe=yes eth_name=bond0.18





[root@host125 file(daisy_admin)]$ ./DAISY_V01.01.10_I680.bin install Verifying archive integrity... All good. Uncompressing tecs........................................................................................................................................................................................

   ZTE DAISY Installation Wizard

creating yum repo, please wait for several seconds... Loaded plugins: fastestmirror, product-id, subscription-manager …… build pxe server Daisy Install Successfull... ------------------When you see this sentence, indicates that Daisy has been installed to complete

Check if server PXE is set up successfully: 1) Ifconfig to see if there is a bond0.18:100 network port, IP for the IP sever, such as 2) systemctl status dhcpd View service is active or not。

Daisy deployment guide


Daisy的dashboard通过Apache服务集成,dashboard页面登录前,可以先检查systemctl status httpd。在浏览器中输入http://ip/dashboard,登陆daisy的dashboard界面,用户名和密码默认为admin/keystone。注:ip为daisy服务器的地址。 版本上传

Daisy服务器web页面提供了版本上传功能。 在daisy dashboard页面,版本---浏览---选择本地文件---上传,提示上传文件成功。 注:根据用户需要,上传的版本需要安装的OS及TECS安装BIN包,如果部署的是ZENIC,还需要将ZENIC的Zip安装包上传至daisy服务器的/var/lib/daisy/zenic/路径下。


通过web页面主机页面,可以查询所有主机状态信息,并提供“加入集群”和“移出集群”功能,可以方便host的加入和移出集群操作。 创建集群



Daisy的主机角色包括如下4种: 名称 描述 中文描述 CONTROLLER_LB Controller role,backup type is loadbalance 控制角色,备份方式为LB CONTROLLER_HA Controller role,backup type is HA,active/standby 控制角色,备份方式为HA COMPUTER Compute role 计算角色 DOCTOR Role for health monitoring 健康检测(暂未支持)

一个主机可以承载一种角色,也可以承载多个角色,角色的配置,最终影响被部署主机安装哪些TECS组件服务。角色和TECS组件的对应关系Daisy已默认定义。如不更改用户不需要关心。 本例中,设置HA和LB角色合一,由于daisy不支持单独设置网络角色,因此,网络节点和控制节点合一。 对于HA角色和LB角色的参数设置,在角色配置Tab页。







Developer Guide


How to add a new component

Installing a new component of OPENSTACK with Daisy

1,Process of Installing a component of OPENSTACK with Daisy Daisy generates the related configuration items based on the role type. When the backend to be deployed is OPENSTACK, there are CONTROLLER_HA, CONTROLLER_LB, and COMPUTER roles available, and CONTROLLER role will be added soon. If you want to install a new component of OPENSTACK with Daisy, you need to determine which services are included in the component, as well as the types of services. Daisy divides the services into different roles according to the type of service, and then generates the related component configuration items.

2,Then, add configuration items of this component to the template file tecs.conf, \daisy\backend\tecs\tecs.conf. CONFIG_XXX_INSTALL= CONFIG_XXX_HOST=

3,Edit daisy code for installing a component of OPENSTACK You can edit your new add tecs.conf with config.py in directory \daisy\code\daisy\daisy\api\backends\tecs according the services belong to. For example, you can use command services[XXX].append(IP) to edit CONFIG_XXX_HOST, and use command self.components.append(CONFIG_XXX_INSTALL) to edit CONFIG_XXX_INSTALL.

4,After modifying the code, compile the code and generate the Daisy artifacts. OPENSTACK that deployed by this artifacts should includes the newly added component.

5,Attention, if Daisy supports the installation of the component, but OPENSTACK does not contain the component, can not be properly deployed.

How to contribute

Join the Daisycloud team

Read the Developer's Guide and learn how to setup the accounts and git. Clone the repositories: git clone git clone https://github.com/openstack/daisycloud-core.git Please note that OpenStack Infra uses strict checks on your git commit messages. The most important rules are:

  • Keep your commit title short (<80 symbols). It must not end with dot.
  • Body of commit message should be separated from title by one empty line
  • If patch closes bug, then it must have in a body "Closes-Bug: #12345", where 12345 is your LP bug number
  • If patch relates to bug, but doesn't completely solve an issue, then you must use "Related-Bug: #12345"

See the [commit messages] wiki page for more details.

How to get help

Subscribe to mailing lists

   OpenStack developers mailing list. If you are hacking on Fuel, or have technical question about Fuel internals, you are very welcome in this ML with subject containing "[Fuel]".
   OpenStack users mailing list. Fuel traffic is there with subject containing "[Fuel]". You are welcome to ask questions related to Fuel usage, including errors, etc.
   OpenStack announcements mailing list. Announcements about the OpenStack project like product release information, security advisories, important discussions. This is a low-traffic, read-only list.
   There are even more mailing lists out there, visit MailingLists to see the other OpenStack related lists.



report a bug

  • Go to https://launchpad.net/daisycloud-core
  • Select “Report a bug” on the right
  • Fill in “Summary” field for a bug.
  • Enter “Further information”.
  • Select visibility for the bug under “This bug contains information that is” field. Either leave it as “Public” (default) or set it to “Private” per the above guidance
  • Add attachments under “Extra Options” section
  • After everything is entered, select the “Submit bug report” button

fix a bug The most simple and easy way to contribute code into Daisy is to start with bug fixes.

Verify bugs

This is very easy to get started, but help here is actually very valuable. Especially when it comes to bugfixes which are relevant to only certain types of hardware. When bugfix is merged, bug is automatically moves to "Fix Committed" status. In Daisy, we set "Fix Released" status for a bug only when it was verified by someone else than a developer. You can simple check out all fix committed bugs and start verifying them. It is required to be in daisycloud-bugs LP group to be able to change bug status. However you can leave a comment in bug report, and it will be enough for bug supervisors to change bug status. By your request, you can be included into fuel-bugs team to manage bugs yourself.


Propose enhancements

  • Select "Register a Blueprint". Typically, you’ll find this link on the right side of the launchpad page.
  • Enter a Summary of the blueprint.
  • Propose your blueprint by selecting the milestone in which you plan to complete the blueprint.
  • You won’t need to enter any other fields, so now just choose Register Blueprint.
  • Upload a design specification in the "specs/<release>" folder in fuel-specs
  • In order to get your spec approved, it usually requires to get +1 from the following folks:
       All mandatory design reviewers (it's usually people who familiar with the area of the proposed enhancement)
       Topic expert if any (e.g your enhancement somehow affects Fuel Web UI then you need to get +1 from the Fuel Web UI team)
       For cross-component enhancements, it also requires to have +1 from core of affected components.

  • Once your design specification has been approved and merged into fuel-specs git repo:
       Update your blueprint's specification URL to point to the design specification in fuel-specs git
       Note, this should link to git (as in the template link above), not to the gerrit change

When done, drop an email about the new blueprint to the mailing list to attract attention of Fuel developers, who are likely to provide early feedback and request additional information.

Please read OpenStack Blueprints page for detailed definition of blueprints and their lifecycle.