Cobbler Web界面操作(五)
编辑snippet
1、添加自动意的snippet文件
2、把下面的三个自定义的snippet文件添加上
1)、my_add_command
rm -rf /etc/yum.repos.d/CentOS*
modprobe 8021q
sed -i /GATEWAY/d /etc/sysconfig/network-scripts/ifcfg-`route -n | awk '{if ($2 == "192.168.102.254" ) print $8}'`
cat >/etc/hosts <<-EOF
172.16.15.1 hscloud-node1
172.16.15.2 hscloud-node2
172.16.15.3 hscloud-node3
172.16.15.4 hscloud-node4
172.16.15.5 hscloud-node5
172.16.15.6 hscloud-node6
172.16.15.7 hscloud-node7
172.16.15.8 hscloud-node8
172.16.15.9 hscloud-node9
172.16.15.10 hscloud-node10
EOF
echo "*/30 * * * * ntpdate 172.16.15.1" >> /var/spool/cron/root
mkdir /root/.ssh/
chmod 700 /root/.ssh/
cat >/root/.ssh/config <<-EOF
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
EOF
cat >/root/.ssh/id_rsa <<-EOF
-----BEGIN RSA PRIVATE KEY-----
MIIEoQIBAAKCAQEA159xWLESQKxo7xm2iN5Gs//YXvOX6H4pcZJnCgc53vT4I4Di
h3SdnS7g33WezkzNjasuzuiflWB7XkPnCHWMP2LpshY7MAjMtgfv3t4Lo7W4zlhh
IgrynJbzPCFMgLQhCAzOzgOPgV/szPA0ydka82Mo9eScUnzLOuVFYEjCKe2g/TVL
mmfIgMtE4bI3G6df8BNH+9g/L5id/fWT+FUMjVX0gMWgd3Q9xi984WJaQKQu+y60
tt1s38P/5xA1+ly7jN8MgJeHTRt//Xa61g7n5qWd1z29HJObmT2KbvuWyZXxYJLd
KyWcfIRxPY7hursIBHtEmvGnaau/gD4XLe7QlwIBIwKCAQAYpIH7gfN1GwStnInj
waGuK942vMDnXuAqPJ4Pxk/BtZizmbN9MeYgl6Sr0u2T64U0wxtK2MHH7cT01I9u
rlkr0MpAPQ4UHkNIAOg2ukp5HBUe5YdxmtnmAp90lhdfKoduomDHFlmLIOfc6ECM
GM/hTSlArGmjBvKnpSyACFC0VXZJ4ZM1t/hQ4Ozsu23YFifuTC6hm3nvM+hwMSfV
Wu9kllgU2PeBOvUtmORcs9p4Drfs+N9AaOA72iRad7t6kyeXU0o9TUPzwcwCICtO
h+ez9aGmB2DZOB2FxHL3gpitVa065qGvC830u8rt68vA8VTwqhN7WjqZCBOLka++
0kmLAoGBAO8c5J74jmzKv79oUgcmYf6jfyA2cwKrbZMaXgs8ouufkKZRLlzqxF5f
ZXd1YzM/xiVFB5EmEUGC1V1MTr0gewfH3g52yIHJVO2QHw5OJ1QKrNLHSF1AT5u3
0VUUgn5AZstFy/OS66qTzNFZZwUaBBwcO188+U1XUBt7dFSmUnfXAoGBAObZ2uSL
z57yW2xh+C7Sg4PneY+/VNGXJNkN6Www1nI9oct5LM3h6/4X0DdA2W9mXUBcpYId
NoFROeSDKdBpWhlY6DRxavLu5tlavjGYwmh1U4SjNNBvmP2O9UdkwmCcgXpXZOLc
kqfLTHBCWKXId0Sub7rmotlXVPj/jwDB7FVBAoGBAIHN2zG6IW5CLZPK6rNsm5jc
aZUk31k4fU/bHRwK+VtWnvszYk+ypR1Jur0xGJgp7zjNs6aRAg2ey5kMKr5wt9EG
GXWQ8ID4RAvvJs1AXn4UbHJsLpkFp48MA+xbl0vZ0WcIoeqgNspQO/yePz1IoyUz
5bdbnUc+BupY9gIRJXRBAoGAO1yXX1cmwnjVrifSGqspIesQoU505XACKS92iYjm
r6lyv0sLhWX62vAuOhf9ZcnddvNAgIsrRdMO4v0oAmQ7vWABMg6JNyd9MJOtP/QU
u8Zl7ugjhg4RZcWsyTcqqyDuGCUZ8TFnijuXUBEPexZKjgD4KL72rOqSMWZJV/da
B0sCgYAwQu2sW2ohR5ZCtI5WZTmSIi5KcBtGCHM8UIMQhl0TgQni83LfkBaUcHAr
Wi6lVvEkFDKpjkS1GICA1JT7vQWDKJY211Ut5snkV6wGKb5KkVczzRjmvCv77rH9
b80ZLdnIvTS8clQIQE/0DVwmEQ5LNf9vdIMKr6gZ2CEMySyzsA==
-----END RSA PRIVATE KEY-----
EOF
cat >>/root/.ssh/authorized_keys <<-EOF
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA159xWLESQKxo7xm2iN5Gs//YXvOX6H4pcZJnCgc53vT4I4Dih3SdnS7g33WezkzNjasuzuiflWB7XkPnCHWMP2LpshY7MAjMtgfv3t4Lo7W4zlhhIgrynJbzPCFMgLQhCAzOzgOPgV/szPA0ydka82Mo9eScUnzLOuVFYEjCKe2g/TVLmmfIgMtE4bI3G6df8BNH+9g/L5id/fWT+FUMjVX0gMWgd3Q9xi984WJaQKQu+y60tt1s38P/5xA1+ly7jN8MgJeHTRt//Xa61g7n5qWd1z29HJObmT2KbvuWyZXxYJLdKyWcfIRxPY7hursIBHtEmvGnaau/gD4XLe7Qlw== root@bgw-os-node152
EOF
chmod 600 /root/.ssh/id_rsa
chmod 600 /root/.ssh/authorized_keys
useradd nova -U -d /var/lib/nova
mkdir -p /var/lib/nova/.ssh/
chmod 700 /var/lib/nova/.ssh/
cat >/var/lib/nova/.ssh/config <<-EOF
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
EOF
cat > /var/lib/nova/.ssh/id_rsa <<-EOF
-----BEGIN RSA PRIVATE KEY-----
MIIEoQIBAAKCAQEA159xWLESQKxo7xm2iN5Gs//YXvOX6H4pcZJnCgc53vT4I4Di
h3SdnS7g33WezkzNjasuzuiflWB7XkPnCHWMP2LpshY7MAjMtgfv3t4Lo7W4zlhh
IgrynJbzPCFMgLQhCAzOzgOPgV/szPA0ydka82Mo9eScUnzLOuVFYEjCKe2g/TVL
mmfIgMtE4bI3G6df8BNH+9g/L5id/fWT+FUMjVX0gMWgd3Q9xi984WJaQKQu+y60
tt1s38P/5xA1+ly7jN8MgJeHTRt//Xa61g7n5qWd1z29HJObmT2KbvuWyZXxYJLd
KyWcfIRxPY7hursIBHtEmvGnaau/gD4XLe7QlwIBIwKCAQAYpIH7gfN1GwStnInj
waGuK942vMDnXuAqPJ4Pxk/BtZizmbN9MeYgl6Sr0u2T64U0wxtK2MHH7cT01I9u
rlkr0MpAPQ4UHkNIAOg2ukp5HBUe5YdxmtnmAp90lhdfKoduomDHFlmLIOfc6ECM
GM/hTSlArGmjBvKnpSyACFC0VXZJ4ZM1t/hQ4Ozsu23YFifuTC6hm3nvM+hwMSfV
Wu9kllgU2PeBOvUtmORcs9p4Drfs+N9AaOA72iRad7t6kyeXU0o9TUPzwcwCICtO
h+ez9aGmB2DZOB2FxHL3gpitVa065qGvC830u8rt68vA8VTwqhN7WjqZCBOLka++
0kmLAoGBAO8c5J74jmzKv79oUgcmYf6jfyA2cwKrbZMaXgs8ouufkKZRLlzqxF5f
ZXd1YzM/xiVFB5EmEUGC1V1MTr0gewfH3g52yIHJVO2QHw5OJ1QKrNLHSF1AT5u3
0VUUgn5AZstFy/OS66qTzNFZZwUaBBwcO188+U1XUBt7dFSmUnfXAoGBAObZ2uSL
z57yW2xh+C7Sg4PneY+/VNGXJNkN6Www1nI9oct5LM3h6/4X0DdA2W9mXUBcpYId
NoFROeSDKdBpWhlY6DRxavLu5tlavjGYwmh1U4SjNNBvmP2O9UdkwmCcgXpXZOLc
kqfLTHBCWKXId0Sub7rmotlXVPj/jwDB7FVBAoGBAIHN2zG6IW5CLZPK6rNsm5jc
aZUk31k4fU/bHRwK+VtWnvszYk+ypR1Jur0xGJgp7zjNs6aRAg2ey5kMKr5wt9EG
GXWQ8ID4RAvvJs1AXn4UbHJsLpkFp48MA+xbl0vZ0WcIoeqgNspQO/yePz1IoyUz
5bdbnUc+BupY9gIRJXRBAoGAO1yXX1cmwnjVrifSGqspIesQoU505XACKS92iYjm
r6lyv0sLhWX62vAuOhf9ZcnddvNAgIsrRdMO4v0oAmQ7vWABMg6JNyd9MJOtP/QU
u8Zl7ugjhg4RZcWsyTcqqyDuGCUZ8TFnijuXUBEPexZKjgD4KL72rOqSMWZJV/da
B0sCgYAwQu2sW2ohR5ZCtI5WZTmSIi5KcBtGCHM8UIMQhl0TgQni83LfkBaUcHAr
Wi6lVvEkFDKpjkS1GICA1JT7vQWDKJY211Ut5snkV6wGKb5KkVczzRjmvCv77rH9
b80ZLdnIvTS8clQIQE/0DVwmEQ5LNf9vdIMKr6gZ2CEMySyzsA==
-----END RSA PRIVATE KEY-----
EOF
cat >>/var/lib/nova/.ssh/authorized_keys <<-EOF
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuWcKohvVRpFCGUAONrYYzFBWr5xZj0BZvWJ7JKf9Y7kEW7yX0A41j4XgV+xjajjye8UxI4eXaW2fgCH6fZe5WKrztlLEZzA6XdD5HnAmNSpys3311ChBYjPbPUvZLdRP2eq/Jc8BRFXQ5C7qgHxunwLP1Q4I+wf7/oaRUIhhoudtK9Dm1EFgWwO+FuTwLqPqV80+b/StVhEsjT9+10G4+I1UAQlOFMHIAWJf15H9rfMYelp979430tQnlzccKtTIkaq2jXeF8TNQosH9c3oL+r4PswL3xMTVbWAsFSmby5YEj5R+0d3Ah7yXDwFEcLhlcbh0cctncCG0HDXk+sAo6Q== nova@bgw-os-node151
EOF
chmod 600 /var/lib/nova/.ssh/id_rsa
chmod 600 /var/lib/nova/.ssh/authorized_keys
chmod 600 /var/lib/nova/.ssh/config
chown nova:nova /var/lib/nova -R
2)、my_root_ssh_key
cd /root
mkdir --mode=700 .ssh
cat >> .ssh/authorized_keys << "PUBLIC_KEY"
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCwww24e5eBdcNAFIYL/4LJ54eH5XQr1GmpuRB4m7NAcsC7PTt2BDob2P5bt+Rg1o64Aah2m1ajt3kIewEeVCKIC6Msocu4W2ERD893aVgo72Dn9+ogPpg7w/GA4GKyXg2DS4mCNPN8pLQa1wxrozyIFqyyNYDFzWE0mSJdwaWzqQ==
chmod 600 .ssh/authorized_keys
3)、my_pre_install_network_config
#if $getVar("system_name","") != ""
# Start pre_install_network_config generated code
#raw
# generic functions to be used later for discovering NICs
mac_exists() {
[ -z "$1" ] && return 1
if which ip 2>/dev/null >/dev/null; then
ip -o link | grep -i "$1" 2>/dev/null >/dev/null
return $?
elif which esxcfg-nics 2>/dev/null >/dev/null; then
esxcfg-nics -l | grep -i "$1" 2>/dev/null >/dev/null
return $?
else
ifconfig -a | grep -i "$1" 2>/dev/null >/dev/null
return $?
fi
}
get_ifname() {
if which ip 2>/dev/null >/dev/null; then
IFNAME=$(ip -o link | grep -i "$1" | sed -e 's/^[0-9]*: //' -e 's/:.*//')
elif which esxcfg-nics 2>/dev/null >/dev/null; then
IFNAME=$(esxcfg-nics -l | grep -i "$1" | cut -d " " -f 1)
else
IFNAME=$(ifconfig -a | grep -i "$1" | cut -d " " -f 1)
if [ -z $IFNAME ]; then
IFNAME=$(ifconfig -a | grep -i -B 2 "$1" | sed -n '/flags/s/:.*$//p')
fi
fi
}
#end raw
#set ikeys = $interfaces.keys()
#import re
#set $vlanpattern = $re.compile("[a-zA-Z0-9]+[\.][0-9]+")
#set $routepattern = $re.compile("[0-9/.]+:[0-9.]+")
##
## Determine if we should use the MAC address to configure the interfaces first
## Only physical interfaces are required to have a MAC address
#set $configbymac = True
#for $iname in $ikeys
#set $idata = $interfaces[$iname]
#if $idata["mac_address"] == "" and not $vlanpattern.match($iname) and not $idata["interface_type"].lower() in ("master","bond","bridge","bonded_bridge_slave")
#set $configbymac = False
#end if
#end for
#set $i = 0
#if $configbymac
## Output diagnostic message
# Start of code to match cobbler system interfaces to physical interfaces by their mac addresses
#end if
#for $iname in $ikeys
# Start $iname
#set $idata = $interfaces[$iname]
#set $mac = $idata["mac_address"]
#set $static = $idata["static"]
#set $ip = $idata["ip_address"]
#set $netmask = $idata["netmask"]
#set $iface_type = $idata["interface_type"]
#set $iface_master = $idata["interface_master"]
#set $if_gateway = $idata["if_gateway"]
#set $static_routes = $idata["static_routes"]
#set $devfile = "/etc/sysconfig/network-scripts/ifcfg-" + $iname
#if $vlanpattern.match($iname)
## If this is a VLAN interface, skip it, anaconda doesn't know
## about VLANs.
#set $is_vlan = "true"
#else
#set $is_vlan = "false"
#end if
#if ($configbymac and $is_vlan == "false" and $iface_type.lower() not in ("slave","bond_slave","bridge_slave","bonded_bridge_slave")) or $iface_type.lower() in ("master","bond","bridge")
## This is a physical interface, hand it to anaconda. Do not
## process slave interface here.
#if $iface_type.lower() in ("master","bond","bridge","bonded_bridge_slave")
## Find a slave for this interface
#for $tiname in $ikeys
#set $tidata = $interfaces[$tiname]
#if $tidata["interface_type"].lower() in ("slave","bond_slave","bridge_slave") and $tidata["interface_master"].lower() == $iname
#if $tidata["mac_address"] != '':
#set $mac = $tidata["mac_address"]
# Found a slave for this interface: $tiname ($mac)
#break
#end if
#else if $tidata["interface_type"].lower() == "bonded_bridge_slave" and $tidata["interface_master"].lower() == $iname
## find a slave for this slave interface...
#for $stiname in $ikeys
#set $stidata = $interfaces[$stiname]
#if $stidata["interface_type"].lower() in ("slave","bond_slave","bridge_slave") and $stidata["interface_master"].lower() == $tiname
#if $stidata["mac_address"] != '':
#set $mac = $stidata["mac_address"]
# Found a slave for this interface: $tiname -> $stiname ($mac)
#break
#end if
#end if
#end for
#end if
#end for
#end if
#if $static and $ip != ""
#if $netmask == ""
## Netmask not provided, default to /24.
#set $netmask = "255.255.255.0"
#end if
#set $netinfo = "--bootproto=static --ip=%s --netmask=%s" % ($ip, $netmask)
#if $if_gateway != ""
#set $netinfo = "%s --gateway=%s" % ($netinfo, $if_gateway)
#else
#set $netinfo = "%s --gateway=0.0.0.0" % ($netinfo)
#end if
#if $len($name_servers) > 0
#set $netinfo = "%s --nameserver=%s" % ($netinfo, $name_servers[0])
#end if
#else if not $static
#set $netinfo = "--bootproto=dhcp"
#else
## Skip this interface, it's set as static, but without
## networking info.
# Skipping (no configuration)...
#continue
#end if
#if $hostname != ""
#set $netinfo = "%s --hostname=%s" % ($netinfo, $hostname)
#end if
# Configuring $iname ($mac)
if mac_exists $mac
then
get_ifname $mac
echo "network --device=\$IFNAME $netinfo " >> /tmp/pre_install_network_config
#for $route in $static_routes
#if $routepattern.match($route)
#set $routebits = $route.split(":")
#set [$network, $router] = $route.split(":")
ip route add $network via $router dev \$IFNAME
#else
# Warning: invalid route "$route"
#end if
#end for
fi
#else
#if $iface_type.lower() in ("slave","bond_slave","bridge_slave","bonded_bridge_slave")
# Skipping (slave-interface)
#else
# Skipping (not a physical interface)...
#end if
#end if
#end for
# End pre_install_network_config generated code
#end if
转载于:https://blog.51cto.com/zhanguo1110/1671442
Cobbler Web界面操作(五)相关推荐
- Cobbler Web界面提示报错 “Internal Server Error”
问题: 在访问cobbler web界面到时候出现以下提示 解决步骤: 1. SSL 的报错日志如下: [root@localhost ~]# tail -f /var/log/httpd/ssl_e ...
- html工作界面抽象吗,WEB界面设计五种特征-网页设计,HTML/CSS
1.比喻 如同windows用桌面.文件夹.垃圾筒来比喻计算机的*作,web的设计也是如此.善于利用明确.抽象或概念化的比喻icon来表达各不相同的栏目,能够增加观众对栏目的兴趣,但是要紧记不适合原意 ...
- Cobbler 登录web界面提示报错“Internal Server Error”
在访问cobbler web界面到时候出现以下提示 ssl的报错日志如下: [root@Cobbler ~]# tail -f /var/log/httpd/ssl_error_log [Mon Ja ...
- python构建web界面实现MySQL数据库的操作
通过构建web界面,在web界面上对于数据库进行增删改查的操作.使用python中的web模块完成. 这部分内容目前在网上没有搜到太多类似的,所以有很多地方都是一点点自己试出来的. 另外这里的pyth ...
- 区块链】利用Node.js开发与合约交互的Web界面
区块链]利用Node.js开发与合约交互的Web界面 2018-03-11 16:10:37 宣之于口 阅读数 6128 收藏 更多 分类专栏: 区块链 区块链学习笔记 版权声明:本文为博主原创文章 ...
- web登录界面设计_出色的Web界面设计的7条规则
web登录界面设计 When you work on a website or on the design of web pages, remember that their success is n ...
- 如何保证input的输入值不会随着提交 而变空_如何对web界面的应用进行测试?
一.输入框: 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符"~!@#¥%--&*?[]{}"特别要注意单引号和&符号.禁止 ...
- springboot+Rabit实战二:(Rabbit MQ web 界面管理)
本章基于博主上一篇文章:springboot+Rabit实战一:(Rabbit MQ windows 环境搭建)继续深入,介绍rabbit MQ web界面管理操作 一:先了解Rabbit MQ 中一 ...
- hp服务器通过ilo5安装系统,HPE ProLiant Gen10 通过iLO 5(v1.15) web界面多种方式更新服务器固件,包含升级系统恢复集方法...
一.iLO web界面固件&操作系统软件界面简单介绍 1.固件 这个界面可以查看服务器安装的固件版本,可以查看以下类型的固件: u电源管理控制器Power Management Control ...
最新文章
- R语言dplyr包combine()函数实现数据拼接(concatenate)实战
- 太阳花图片_6种漂亮的花,种子已经成熟,别忘采摘种子,来年再播种
- 如何在python中找到两个日期时间对象之间的时差?
- 赛迪数据:2018年数据中心市场数据
- adxl276怎么添加到proteus中_奶粉中的营养强化剂和食品添加剂是怎么一回事?
- 从 TensorFlow 入门机器学习
- 关于VC6.0 MSDEV.EXE-应用程序错误0x5003eaed指令引用的0x000...
- 数字奇数和偶数的判断
- height百分比失效
- Java对象垃圾回收调用,JVM垃圾回收之哪些对象可以被回收
- linux at模块,使用kgdb调试linux内核及内核模块
- 正太分布几个简单证明
- 计算机拨珠游戏,拨算盘与算盘游戏 | 褚半农
- 黑群晖系统备份与恢复
- 医院预约挂号小程序 开题报告(基于微信小程序毕业设计题目选题课题)
- \t\tP2P终结者原理
- 酒香还怕巷子深?如何打造一个优秀的GitHub开源项目
- 记一次Selenium框架的爬虫遇到下拉框页面的解决经历
- socket中的reuse addr和reuse port
- 视联网将会给行业带来怎么样的发展
热门文章
- 社会等级与生活品味读后感_品味大师:十位有影响力的生活设计师
- 【100%通过率】华为OD机试真题 Python 实现【积木最远距离】【2022.11 Q4 新题】
- 重复文件导出html,分享|删除重复文件的神器:dupeGuru
- MySQL笔记常见函数
- 今日小程序推荐:这波谁买单-买单也可以这样玩!
- 如何在 Label 控件内容改变后自动向左伸缩而不是向右
- 小程序推广多平台推广整合的绝招
- 【CSS】盒子模型圆角边框 ( 通过设置 border-radius 样式设置圆角矩形圆角半径 )
- java装甲特战队,装甲特战队拉阔版的手机游戏攻略、技巧、心得
- 线上翡翠原石怎么引流,做翡翠的几个高效的引流渠道