try:
import xmlrpclib except ImportError as e:
import xmlrpc.client SERVER_IP = '192.168.144.11' try:
# 连接你的cobbler服务器,ip自改,后面的url是固定的
remote = xmlrpclib.Server("http://{}/cobbler_api".format(SERVER_IP)) except Exception as e:
remote = xmlrpc.client.Server("http://{}/cobbler_api".format(SERVER_IP)) # 这个帐号密码就是登录cobbler web的帐号密码,用htdigest /etc/cobbler/users.digest "加密字符" cobbler命令生成
token = remote.login("cobbler", "bfmq") # 身份认证后拿到token后以后就用token操作喽,新建一个系统,获取id
system_id = remote.new_system(token) # 起一个名字,名字随意不重要,都是以id为标准操作的
remote.modify_system(system_id, "name", "CentOS7.2-x86_64", token) # 关联相关profile,必须是cobbler profile list存在的
remote.modify_system(system_id, "profile", "centos7.2-x86_64", token) # 关联kickstart,相当于cobbler profile edit --name=CentOS7.2-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.2-x86_64.cfg
remote.modify_system(system_id, "ks_meta", "/var/lib/cobbler/kickstarts/CentOS-7.2-x86_64.cfg", token) # 关联内核参数,相当于cobbler profile edit --name=CentOS7.2-x86_64 --kopts='net.ifnames=0 biosdevname=0',这个装6系统不需要
remote.modify_system(system_id, "kernel_options", "net.ifnames=0 biosdevname=0", token) # 这是对指定mac地址进行ip指定,但是在北看来没什么意义....因为你还要去查他的mac,更麻烦
# remote.modify_system(system_id,'modify_interface', {
# "macaddress-eth0" : "66:66:66:66:66:66",
# "ipaddress-eth0" : "192.168.144.100",
# "Gateway-eth0" : "192.168.144.254",
# "subnet-eth0" : "255.255.255.0",
# "static-eth0" : 1,
# "dnsname-eth0" :"114.114.114.114"
# }, token) # 将刚才所有操作保存,如果在机器上执行cobbler system list就会发现多出了新系统的name
remote.save_system(system_id, token) # 相当于ccobbler sync
remote.sync(token)

cobbler api的更多相关文章

  1. cobbler api接口开发测试实例

    条件1:必须搭建好cobbler服务,并且可以通过web访问:http://cobbler_ip/cobbler_web 测试可以打开.然后再用以下命令测试. #!/opt/python3/bin/p ...

  2. cobbler深入学习

    cobbler重要目录和cobbler各对象的关系 /var/www/cobbler/ks_mirror 存放操作系统镜像/var/www/cobbler/repo_mirror 存放仓库镜像/var ...

  3. cobbler批量安装操作

    打开mirrors.aliyun.com/epel http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm rpm -ivh h ...

  4. 为cobbler自动化安装系统工具添加epel源

    关于cobbler的安装及部署,参考:CentOS 6.5自动化运维之基于cobbler服务的自动化安装操作系统详解http://blog.csdn.net/reblue520/article/det ...

  5. Linux装机利器Cobbler安装配置

     Linux装机利器Cobbler安装配置 2011-05-27 15:31:05 分类: LINUX 一.安装环境 centos 5.4 关掉iptables 关掉 selinux selinux ...

  6. Cobbler部署之FAQ处理

    Cobbler报错处理 通过cobbler check检查出现的报错 红色标注为报错关键信息 9.1 报错一 # cobbler check httpd does not appear to be r ...

  7. 基于Centos7.2搭建Cobbler自动化批量部署操作系统服务

    1       Cobbler服务器端系统环境配置 1.1     系统基本环境准备 [root@cobbler-server ~]# cat /etc/redhat-release CentOS L ...

  8. Cobbler 自动安装CentOS7

    1. Cobbler介绍 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等.Cobbler可以使用命 ...

  9. Linux系统自动化安装之cobbler实现

    一.cobbler简介 cobbler是快速网络安装linux操作系统的服务,支持众多的Linux发行版本,如redhat|.fedora.centos.debian.ubuntu和suse,也可以支 ...

随机推荐

  1. vue2.0 + vux (四)Home页

    1.综合页(首页) Home.vue <!-- 首页 --> <template> <div> <!-- 顶部 标题栏 --> <app-head ...

  2. C++风格的强制性类型转换

    显示类型转换 被称为强制类型转换(cast) C风格:(type_id) C++风格:static_cast, dynamic_cast, reinterpret_cast, const_cast 在 ...

  3. ARM Holdings

    http://en.wikipedia.org/wiki/Advanced_RISC_Machines ARM Holdings  (Redirected from Advanced RISC Mac ...

  4. start-dfs.sh 和 start-all.sh的区别

    start-dfs.sh 只启动namenode 和datanode, start-all.sh还包括yarn的resourcemanager 和nodemanager 之前就所以因为只启动了star ...

  5. CentOS7配置opencv for python && eclipse c/c++[更新]

    更改前的安装过程有些问题,主要是ffmpeg-devel的安装部分,这里重新说一下 两种安装方法: 第一种,直接: # yum install numpy opencv* 这种方法安装了之后,能够在p ...

  6. Python实战之自己主动化评论

    Python实战之自己主动化评论 玩csdn博客一个多月了,渐渐发现了一些有意思的事,常常会有人用相同的评论到处刷.不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人.那么问题来了,这种无聊的事情 ...

  7. how to run a continuous background task on OpenShift

    https://stackoverflow.com/questions/27152438/best-way-to-run-rails-background-jobs-with-openshift ht ...

  8. 【转】IDA Pro7.0使用技巧总结

    俗话说,工欲善其事,必先利其器,在二进制安全的学习中,使用工具尤为重要,而IDA又是玩二进制的神器,以前在使用IDA的时候,只是用几个比较常用的功能,对于IDA的其他功能没有去研究,于是本着学习的精神 ...

  9. opencv中的子库

    1 FLANN 近似最近邻库,NN就是nearest neighbor的缩写. 2 IlmImf Ilm是Industrial light & magic公司的缩写. Imf是image fo ...

  10. Gradle sync failed: Connection timed out: connect

    打开AS的project试图,找到gradle目录下的wrapper下面的gradle wrapper.properities找到: distributionUrl=https\://services ...