Mirantis Nailgun is the most important service a RESTful application written in Python that contains all the business logic of the system  (Multiple Workers)

Master node is the main part of the Fuel project  (ins Deplotment preversioning OS )

Nailgun stores all of its data in a PostgreSQL database. It contains the hardware configuration of all discovered managed nodes, the roles, environment settings, current deployment status and progress of running deployments.

bootstrap image runs a special script called Nailgun agent. The agent nailgun-agent.rb collects the server’s hardware information and submits it to Nailgun through the REST API. The deployment process is started by the user after he has configured a new environment. The Nailgun service creates a JSON data structure with the environment settings, its nodes and their roles and puts this file into the RabbitMQ queue. This message should be received by one of the worker processes who will actually deploy the environment. These processes are called Astute

worker processes who will actually deploy the environment. These processes are called Astute
use the Astute library which implements all deployment actions

Astute uses XML-RPC to set these nodes’ configuration in Cobbler and then reboots the nodes using MCollective agent to let Cobbler install the base operating system.

Cobbler is a deployment system that can control DHCP and TFTP services and use them to network boot the managed node and start the OS installer with the user-configured settings

managed node’s(云中计算节点) OS is installed, Astute can start the deployment of OpenStack services,First, it uploads the node’s configuration to the /etc/astute.yaml file on node using the uploadfile agent. This file contains all the variables and settings that will be needed for the deployment

Next, Astute uses the puppetsync agent to synchronize Puppet modules and manifests

When the modules are synchronized, Astute can run the actual deployment by applying the main Puppet manifest site.pp  ====>astute.yuml控制着puppet,实际的OpenStack的环境节点中的组件由Puppet server 调用各个计算节点的 puppet agent完成.

daemonize puppet apply /etc/puppet/manifests/site.pp
Astute periodically polls the agent to check if the deployment has finished and reports the progress to Nailgun through its RabbitMQ queue

Astute is the Fuel component that represents Nailgun’s workers, and its function is to run actions according to the instructions provided from Nailgun. Astute provides a layer which encapsulates all the details about interaction with a variety of services such as Cobbler, Puppet, shell scripts, etc. and provides a universal asynchronous interface to those services

Mirantis Fuel fundations的更多相关文章

  1. mirantis fuel

    使用mirantis公司的openstack部署工具--fuel,迅速部署体验openStack云管理软件; 1,使用virtualbox虚拟化工具(此工具在此使用主要是为了简化新建虚机的网络规划,f ...

  2. mirantis fuel 学习

    这些天看了mirantis中puppet的使用,对puppet的认识有了更深入的理解.mirantis公司的fuel主要是为了方便部署生产环境的openstack的工具.主要是在集群中自动化的安装op ...

  3. mirantis fuel puppet执行顺序 和 对整个项目代码的执行流程理解

    stage执行顺序 stage {'zero': } -> stage {'first': } -> stage {'openstack-custom-repo': } -> sta ...

  4. 使用 Mirantis Fuel9.0 部署 OpenStack M

    Mirantis Fuel 9 可以实现部署OpenStack M版本web化,管理员只需简单规划就能部署复杂的openstack 组件 安装Fuel9.0 下载官方IOS镜像 https://www ...

  5. [openStack]使用Fuel安装OpenStack juno的fuel_master

    安装OpenStack是一件很复杂的事情,特别是在想目中,如果一个组件一个组件,一台一台的coding部署,估计太消耗时间,而且出错的概率很高,所以使用工具推送部署的效率就很高了,而且必须得可靠.mi ...

  6. Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  7. OpenStack 企业私有云的若干需求(6):大规模扩展性支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  8. Puppet Openstack Mitaka Design Summit小结

    Puppet Openstack Design Summit小结 经过Puppet Openstack社区的不断努力,Puppet Openstack社区目前提供的Official Modules已经 ...

  9. OpenStack的八年之痒

    2010年10月,OpenStack发布了第一个版本:上个月,发布了它的第18个版本Rocky.几年前气氛火爆,如今却冷冷清清.Rocky版本宣布后,OpenStack群里也就出现了几篇简短的翻译过来 ...

随机推荐

  1. android关于window

    http://mobile.51cto.com/android-259922_all.htm http://mobile.51cto.com/android-259922.htm http://mob ...

  2. 【Sqlserver清空数据库中所有表数据】

    脚本: CREATE PROCEDURE sp_DeleteAllData AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT AL ...

  3. stl_map,set 用法

    set: 集合a,b加起来,去重 hdu 1406 #include <iostream> #include<cstdio> #include<set> using ...

  4. java/struts/Servlet文件下载与ftp文件上传下载

    1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!download ...

  5. 移动端H5页面之iphone6的适配

    iphone6 及 iphone 6 plus 已经出来一段时间了.很多移动端网站,以前写死body 为320px的,现在估计也忙着做适配了. 大屏幕手机其实一直有,只是以前大家没怎么重视,移动端的H ...

  6. XPath在asp.net中查询XML

    .NET Framework 2.0中可以使用System.Xml.XPath命名空间下的类对XML文档进行基于路径的查询,在查询过程中需要构造类似SQL的查询字符串,该字符串遵循XPath语法.它由 ...

  7. Android开发环境的搭建之(三)虚拟设备AVD的创建

    选择AVD Manager选项,启动创建AVD向导.根据开发要求创建制定配置的虚拟设备. 设置屏幕大小为17寸,480X800 设置系统映像为API17,X86. 设置AVD Name为MyPhone ...

  8. git clone 命令报错 +diffie-hellman-group1-sha1

    解决方法: 在.ssh目录下新建文件config , 添加 Host * KexAlgorithms +diffie-hellman-group1-sha1 到文件config,即可.

  9. Gradle中文乱码

    代码中的中文注释可能会引起Gradle报错 解决办法: 在项目下的build.gradle下添加以下代码即可解决 [java] view plaincopyprint? tasks.withType( ...

  10. SQL Server 2012 Enterprise Edition安装过程详解(包含每一步设置的含义)

    一.启动安装程序,点击“安装”选项卡,选择“全新SQL Server独立安装或向现有安装添加功能”.(首次安装数据库系统或向现有数据库系统添加功能,均选择此选项) 二.随后,安装程序进行“安装程序支持 ...