热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

使用Puppet设置OpenStack模块依赖关系

从puppetlabs上安装puppetlabs-openstack模块,在模块安装完成后,可以看到OpenStack模块中包含了各个组件和其他子模块,以及各个模块的依赖关系。puppetmodulelist--tree如下(部分):└─┬puppetlabs-openstack(v2.2.0)├─┬puppetlab
从puppetlabs上安装puppetlabs-openstack模块,在模块安装完成后,可以看到OpenStack模块中包含了各个组件和其他子模块,以及各个模块的依赖关系。

puppet module list --tree 

如下(部分):

└─┬ puppetlabs-openstack (v2.2.0)

  ├─┬ puppetlabs-glance (v2.2.0)

  │ ├── puppetlabs-inifile (v1.0.0)

  │ └─┬ puppetlabs-keystone (v2.2.0)

  │   └─┬ puppetlabs-mysql (v0.9.0)

  │     └── puppetlabs-stdlib (v4.1.0)

这些模块是怎样设置依赖关系的?

我们自己写的模块怎样module list出依赖关系?

下面根据我们自己写的openstack模块,举个设置模块依赖的例子,其实很简单:

比如要设置openstack模块依赖nova、keystone、glance、cinder、neutron、horizon模块:

(openstack 、nova、glance、keystone等其他组件都在同一级目录下)

1、首先:在nova模块目录下,编辑 vi Modulefile 文件,设置name、version、author等信息:

name    'zhaowei-nova'

version '0.1.0'

source 'UNKNOWN'

author 'zhaowei'

license 'Apache License, Version 2.0'

summary 'UNKNOWN'

description 'UNKNOWN'

project_page 'UNKNOWN'

## Add dependencies, if any:

# dependency 'username/name', '>= 1.2.0'

2、编辑完成后,构建模块依赖:

puppet module build 

在nova目录下会生成pkg目录,拷贝pkg子目录下的metadata.json文件到nova目录:

cp ./pkg/zhaowei-nova-0.1.0/metadata.json .

pkg目录就没用了,可以删除pkg目录:

rm -rf pkg

同理,在keystone、glance、cinder、neutron、horizon模块目录下,执行同上操作。

3、最后再设置openstack模块中的依赖关系:

同样是编辑Modulefile文件,不过这里要添加子模块的依赖关系了,如下:

name    'zhaowei-openstack'

version '0.1.0'

source 'UNKNOWN'

author 'zhaowei'

license 'Apache License, Version 2.0'

summary 'openstack deployment puppet module'

description 'openstack deployment puppet module'

project_page 'UNKNOWN'

## Add dependencies, if any:

# dependency 'username/name', '>= 1.2.0'

dependency 'zhaowei/keystone', '>=0.1.0'

dependency 'zhaowei/nova', '>=0.1.0'

dependency 'zhaowei/glance', '>=0.1.0'

dependency 'zhaowei/horizon', '>=0.1.0'

dependency 'zhaowei/neutron', '>=0.1.0'

dependency 'zhaowei/cinder', '>=0.1.0'

编辑完成后,重新构建模块生成依赖关系:

puppet module build

拷贝metadata.json文件:

cp ./pkg/zhaowei-openstack-0.1.0/metadata.json .

pkg目录就没用了,可以删除pkg目录:

rm -rf pkg

4、查看设置的依赖关系:

puppet module list --tree 

├─┬ zhaowei-openstack (v0.1.0)

│ ├── zhaowei-keystone (v0.1.0)

│ ├── zhaowei-nova (v0.1.0)

│ ├── zhaowei-glance (v0.1.0)

│ ├── zhaowei-horizon (v0.1.0)

│ ├─┬ zhaowei-neutron (v0.1.0)

5、模块可以递归设置依赖关系


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
author-avatar
单身王子550130
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有