1. 针对dib制作的deploy image,注入密码有两种方式:
  2. devuser/dynamic-login
  3.  
  4. 、对应 dib 添加密码,是通过 dynamic-login element 来完成的。
  5. 首先制作带 dynamic-login 的映像:
  6.  
  7. disk-image-create ironic-agent centos7 dynamic-login -o ironic-deploy
  8. centos7 可换为fedora或者ubuntu
  9.  
  10. dynamic-login 的原理是在系统里起一个 dynamic-login 服务,在系统
  11. 上电时,解析 /proc/cmdline 里的参数,如果用户传了 rootpwd 或者 sshkey
  12. 则写到对应的文件中,这样用户就可以登录系统了。
  13. dynamic-login 使用的是密文,我们可以使用 openssl 生产密码:
  14. $ openssl passwd
  15.  
  16. Password:
  17. Verifying - Password:
  18. mNw2hVHmny2Ho
  19.  
  20. 然后我们把在 /etc/ironic/ironic.conf 添加我们的密码:
  21. $ cat /etc/ironic/ironic.conf
  22. [pxe]
  23. pxe_append_params = rootpwd="mNw2hVHmny2Ho"
  24.  
  25. 如果使用 ssh 方式登录,则添加 sshkey
  26. $ cat ~/.ssh/id_rsa.pub
  27. # 添加 sshkey="<your_sshkey>"
  28. $ cat /etc/ironic/ironic.conf
  29.  
  30. [pxe]
  31. pxe_append_params = sshkey=""
  32.  
  33. devuser
  34. 这种方式一般在测试时使用,在正式环境中不推荐使用。原理是在制作镜像的时候,通过环境变量注入密码,然后diskimage-builder在做镜像的时候把密码写进去。
  35.  
  36. export DIB_DEV_USER_USERNAME=username
  37. export DIB_DEV_USER_PWDLESS_SUDO=yes
  38. export DIB_DEV_USER_AUTHORIZED_KEYS=$HOME/.ssh/id_rsa.pub
  39.  
  40. disk-image-create -o ironic-deploy ubuntu ironic-agent devuser
  41. 重启服务
  42. systemctl restart ironic-*
  43. ssh root@node_ip
  44. 参考:
  45. https://docs.openstack.org/diskimage-builder/latest/elements/dynamic-login/README.html
  46. https://leetpy.github.io/2017/04/04/ironic%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/
  47. http://ironic-book.readthedocs.io/zh_CN/latest/ironic/images.html#deploy

dib build ipa image Injection password的更多相关文章

  1. coreos ipa image Injection of public key

    查看readme To embed the oem/ directory into a CoreOS pxe image:   Note: In order to have the ability t ...

  2. [转]Jenkins Xcode打包ipa

    本地打包. 如果Mac 上没有安装brew.先安装:ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/ins ...

  3. Jenkins Xcode打包ipa

    本地打包. 如果Mac 上没有安装brew.先安装:ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/ins ...

  4. jenkens其实是代码上传工具

    Jenkins 持续集成使用教程 用 jenkins 有什么好处 通过规范化来完成,简单,繁琐,浪费时间的重复工作 规范化工作,以免出现低级错误 实现随时随地任何人一键构建 ...... 安装 jen ...

  5. Mysql 注意细节

    1.无法连接远程数据库,是因为远程服务器并没有开通权限,提供给其他机子连接: 在服务器机子 开通权限: 1)进去MySql 2)mysql>GRANT   ALL   PRIVILEGES    ...

  6. 使用 fastlane 实现 iOS 持续集成(转)

    http://www.cocoachina.com/ios/20150916/13433.html 简介 持续集成是个“一次配置长期受益”的工作.但很多小公司都没有.以前在做Windows开发配置感觉 ...

  7. IOS使用Jenkins持续集成

    本文详细介绍了开发过程,提高效率进行IOS-Jenkins持续集成. 第二http://blog.csdn.net/monkey_cool/article/details/43270885 背景 平时 ...

  8. 【翻译】Sencha Touch 2入门:创建一个实用的天气应用程序之三

    原文:Getting Started with Sencha Touch 2: Build a Weather Utility App (Part 3) 作者:Lee BoonstraLee is a ...

  9. 初探Java设计模式1:创建型模式(工厂,单例等)

    Java 设计模式 一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混.自认为本文还是写得不错的,花了不少心思来写这文章和做图,力求让读者真的能看着简 ...

随机推荐

  1. tomcat jdk官网下载教程

    Tomcat不同版本官网下载: 1.官网地址:http://tomcat.apache.org/ 2.点击要下载的版本进入下载页,点击Archives进入版本选择页,然后选择对应的版本文件夹,进去后点 ...

  2. Hyper-V 2016 配置管理系列(部署篇)

    Hyper主机前提准备以后,我们开始Hyper-V Cluster 群集配置 准备验证Cluster 群集 : 1)打开群集管理器,点击"validate Configuration&quo ...

  3. vue指令总结(二)

    一.vue指令 1.v-text v-text是用于操作纯文本,它会替代显示对应的数据对象上的值.当绑定的数据对象上的值发生改变,插值处的内容也会随之更新.注意:此处为单向绑定,数据对象上的值改变,插 ...

  4. 关于Vue生命周期的小记录

    1.created的时候才能获取到data中的属性和methods中的方法 2.特殊情况:beforeCreate中如果是进行了ajax请求,在请求回调中对属性赋值是可以的,因为页面渲染速度比ajax ...

  5. iOS界面设计切图小结

    iOS界面设计切图小结 APR 12TH, 2013 1.基本尺寸 (1)界面 实际设计时按: iPhone4.4s:640px*960px iPhone5: 640px*1136px iPad:15 ...

  6. VC-基础-WebBrowser控件中弹出新网页窗口

    用webbrowser控件浏览网页时,常弹出新的网页窗口,若不做任何控制的话,会在默认浏览器(一般是IE)中打开,这样就在新的窗口打开了,原程序就很难控制了,且存在webbrowser控件和IE的se ...

  7. Java代码工具箱之超出游标最大数

    1. Java大量写入oracle时容易出现此错.经过此错,也触动自己要深刻理解 java 的 prepareStatement 等对象,及数据库的连接与释放. 2. 原因:经常会出现在 for 循环 ...

  8. Javascript显示提示信息加样式

    #region JS提示============================================ /// <summary> /// 添加编辑删除提示 /// </s ...

  9. C#的接口基础教程之三 定义接口成员

    接口可以包含一个和多个成员,这些成员可以是方法.属性.索引指示器和事件,但不能是常量.域.操作符.构造函数或析构函数,而且不能包含任何静态成员.接口定义创建新的定义空间,并且接口定义直 接包含的接口成 ...

  10. css与html结合四种方式

    方式一:每个标签加一个属性法 <div style="background-color:red;color:green;"></div> 方式二:head中 ...