针对dib制作的deploy image,注入密码有两种方式:
devuser/dynamic-login 、对应 dib 添加密码,是通过 dynamic-login element 来完成的。
首先制作带 dynamic-login 的映像: disk-image-create ironic-agent centos7 dynamic-login -o ironic-deploy
centos7 可换为fedora或者ubuntu dynamic-login 的原理是在系统里起一个 dynamic-login 服务,在系统
上电时,解析 /proc/cmdline 里的参数,如果用户传了 rootpwd 或者 sshkey,
则写到对应的文件中,这样用户就可以登录系统了。
dynamic-login 使用的是密文,我们可以使用 openssl 生产密码:
$ openssl passwd Password:
Verifying - Password:
mNw2hVHmny2Ho 然后我们把在 /etc/ironic/ironic.conf 添加我们的密码:
$ cat /etc/ironic/ironic.conf
[pxe]
pxe_append_params = rootpwd="mNw2hVHmny2Ho" 如果使用 ssh 方式登录,则添加 sshkey
$ cat ~/.ssh/id_rsa.pub
# 添加 sshkey="<your_sshkey>"
$ cat /etc/ironic/ironic.conf [pxe]
pxe_append_params = sshkey="" 、devuser
这种方式一般在测试时使用,在正式环境中不推荐使用。原理是在制作镜像的时候,通过环境变量注入密码,然后diskimage-builder在做镜像的时候把密码写进去。 export DIB_DEV_USER_USERNAME=username
export DIB_DEV_USER_PWDLESS_SUDO=yes
export DIB_DEV_USER_AUTHORIZED_KEYS=$HOME/.ssh/id_rsa.pub disk-image-create -o ironic-deploy ubuntu ironic-agent devuser
重启服务
systemctl restart ironic-*
ssh root@node_ip
参考:
https://docs.openstack.org/diskimage-builder/latest/elements/dynamic-login/README.html
https://leetpy.github.io/2017/04/04/ironic%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/
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. 重置 file input

    有时用户上传相同附件时也需要触发input[type='file']的change事件,除了将form重置外,还可以将input的value设为空 <input type="file& ...

  2. SQL Server DBA SQL

    . 监控事例的等待 ,,)) "Prev", ,,)) "Curr",count(*) "Tot" from v$session_Wait ...

  3. SQL 语句实现行转列

    CREATE TABLE #tempcloum( [productNum] varchar() null, [year1] decimal not null, [year2] decimal not ...

  4. LeetCode Move Zeroes (简单题)

    题意: 给定一个整型数组nums,要求将其中所有的0移动到末尾,并维护所有非0整数的相对位置不变. 思路: 扫一遍,两个指针维护0与非0的交界,将非0的数向前赋值就行了. C++ class Solu ...

  5. linux 命令——18 locate (转)

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...

  6. POJ 1742 Coins(多重背包,优化)

    <挑战程序设计竞赛>上DP的一道习题. 很裸的多重背包.下面对比一下方法,倍增,优化定义,单调队列. 一开始我写的倍增,把C[i]分解成小于C[i]的2^x和一个余数r. dp[i][j] ...

  7. javascript中Array常用方法

    一.基本概念 1.什么是数组 数组就是一组数据的集合 其表现形式就是内存中的一段连续的内存地址 数组名称其实就是连续内存地址的首地址 2.关于js中的数组特点 数组定义时无需指定数据类型 数组定义时可 ...

  8. react组件间的传值方法

    关于react的几个网站: http://react.css88.com/ 小书:http://huziketang.mangojuice.top/books/react/ http://www.re ...

  9. expect用法举例

    1 expect -c 'spawn su - oracle -s check_tablespace.shexpect "Password:"send "oracle\n ...

  10. 安装配置JDK1.8开发环境以及配置java环境变量的步骤

    1.安装JDK开发环境 下载网站:http://www.oracle.com/ 开始安装JDK: 修改安装目录如下: 确定之后,单击“下一步”. 注:当提示安装JRE时,可以选择不要安装. 2.配置环 ...