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

  1 #!/opt/python3/bin/python3
  2 #Author: zhaoyong
  3
  4 import xmlrpc.client,time
  5
  6 if __name__ == '__main__':
  7     time_str = time.time()
  8     server = 'http://cobbler_ip/cobbler_api'
  9     user = 'cobbler'
 10     passwd = '账号密码'
 11
 12     try:
 13         remote_server = xmlrpc.client.Server(server)
 14         tokin = remote_server.login(user, passwd)
 15     except Exception as e:
 16         exit('URL:%s no access' % server)
 17
 18     # print(remote_server.ping())  # cobbler服务器状态监测
 19     # print(remote_server.get_user_from_token(tokin))  # 返回cobbler系统登录账号
 20     # print(remote_server.get_item('distro','Centos6.9-x86_64')) # 获取指定发布版本的信息
 21     # print('-------------------------')
 22     # print(remote_server.get_distro('Centos6.9-x86_64'))  #返回distro指定名称的详细信息
 23     # print('-------------------------')
 24     # print(remote_server.get_profile('CT6.8_PHY_db_high'))  # 返回profile 指定名称的详细信息
 25     # print('-------------------------')
 26     # print(remote_server.get_distros())   # 返回所有distro 的已有内容
 27     # print('-------------------------')
 28     # print(remote_server.get_profiles())  # 返回所有profiles的已有内容
 29     # print('-------------------------')
 30     # print(remote_server.find_system())  # 以列表返回所有的 system 名称
 31     # print('-------------------------')
 32     # print(remote_server.find_distro())  # 以列表返回所有的distro名称
 33     # print('-------------------------')
 34     # print(remote_server.find_profile())  # 以列表返回所有profile的名称
 35     # print('-------------------------')
 36     # print(remote_server.has_item('distro','Centos6.9-x86_64'))  # 检测指定distro中指定的名称是否存在
 37     # print('-------------------------')
 38     # print(remote_server.get_distro_handle('Centos6.9-x86_64',tokin))  # 没啥用
 39     # print(remote_server.remove_profile('test111',tokin))  # 删除指定的profile
 40     # print('-------------------------')
 41     # print(remote_server.remove_system('hostname121',tokin)) # 删除指定的system
 42     # print('-------------------------')
 43     # prof_id = remote_server.new_profile(tokin)  # 创建一个新的profile 并保存
 44     # print('profile new id:%s' % prof_id)
 45     # print('-------------------------')
 46     # remote_server.modify_profile(prof_id,'name','vm_test1',tokin) # 修改prof_id指定的profile 名称
 47     # remote_server.modify_profile(prof_id,'distro','centos6.8-x86_64',tokin)  # 也是修改prof_id的信息
 48     # remote_server.modify_profile(prof_id,'kickstart','/var/lib/cobbler/kickstarts/txt111',tokin)
 49     # remote_server.save_profile(prof_id,tokin) # 保存
 50     # remote_server.sync(tokin) # 同步cobbler修改后的信息,这个做任何操作后,都要必须有
 51     # print('-------------------------')
 52     # print(remote_server.get_kickstart_templates())  # 获取所有KS模板文件路径
 53     print('-------------------------')
 54     print(remote_server.get_snippets())  # 获取所有snippets文件路径
 55     # print('-------------------------')
 56     # print(remote_server.is_kickstart_in_use('/var/lib/cobbler/kickstarts/CT6.8_PHY_db_middle.ks')) # 判断ks文件是否在使用
 57     # print('-------------------------')
 58     # print(remote_server.generate_kickstart('CT6.8_PHY_web_high')) # 打印profile对应的ks文件内存
 59     # print('-------------------------')
 60     # print(remote_server.generate_kickstart('vm_test1','t1'))# 打印profile对应的ks文件内存
 61     # print('-------------------------')
 62     # print(remote_server.generate_gpxe('vm_test1')) # 启动方面的,没用
 63     # print('-------------------------')
 64     # print(remote_server.generate_bootcfg('vm_test1'))
 65     # print('-------------------------')
 66     # print(remote_server.get_blended_data('vm_test1')) # 获取profile 的详细信息
 67     # print('-------------------------')
 68     # print(remote_server.get_settings())  # 没啥用
 69     # print('-------------------------')
 70     # print(remote_server.get_signatures())  # 不知道输出的是啥
 71     # print('-------------------------')
 72     # print(remote_server.get_valid_breeds())  # 获取的是各个操作系统的类型,
 73     #输出: ['debian', 'freebsd', 'generic', 'nexenta', 'redhat', 'suse', 'ubuntu', 'unix', 'vmware', 'windows', 'xen']
 74     # print('-------------------------')
 75     # print(remote_server.get_valid_os_versions())  # 没啥用
 76     # print('-------------------------')
 77     # print(remote_server.get_repo_config_for_profile('vm_test1'))
 78     # print('-------------------------')
 79     # print(remote_server.get_repo_config_for_system('t1'))
 80     # print('-------------------------')
 81     # print(remote_server.version())  # 返回cobbler版本,没啥用
 82     # print('-------------------------')
 83     # print(remote_server.extended_version())  # 返回cobbler详细版本信息,没啥用
 84     # print('-------------------------')
 85     # print(remote_server.logout(tokin))  # 退出当前cobbler连接
 86     # print('-------------------------')
 87     # print(remote_server.token_check(tokin))  # 检测当前tokin状态,是否失效
 88     # print('-------------------------')
 89     # print(remote_server.sync_dhcp(tokin)  # 同步DHCP
 90     # print('-------------------------')
 91     # print(remote_server.sync(tokin))  # 进行同步更新
 92     # print('-------------------------')
 93     # print(remote_server.read_or_write_kickstart_template('cobbler上ks文件路径','false为可写','将要替换ks文件的内容',tokin))  # 注意 替换KS字符串如果为-1,将删除此Ks文件,条件是此ks文件已不在引用
 94     # print(remote_server.read_or_write_kickstart_template('/var/lib/cobbler/kickstarts/hostname106.ks',False,-1,tokin))
 95     # print('-------------------------')
 96     # print(remote_server.get_config_data('zhaoyong'))  # 没啥用
 97     # print('-------------------------')
 98     # x  = remote_server.test_xmlrpc_ro()
 99     # print(x.distro)
100     # print(remote_server.read_or_write_snippet('/var/lib/cobbler/snippets/test1',False,'zhaoyong_test',tokin)) # 在snippgets下建立脚本文件
101     # distro_obj = cbl_distro.cobbler_distro(remote_server,tokin)
102     # # distro 查询
103     # out = distro_obj.find_distro_name()
104     # print(out)
105     # out = distro_obj.find_distro_info('Centos6.9-x86_64')
106     # print(out)
107     #
108     # profile_obj = cbl_profile.cobbler_profiles(remote_server,tokin)
109     #  profile 查找
110     # pro_name_list = profile_obj.find_profile_name()
111     # print(out)
112     # out = profile_obj.find_profile_info('CT6.8_VM_web_custom')
113     # print(out)
114     #
115     # system_obj = cbl_system.cobbler_system(remote_server,tokin)
116     # # system 查询
117     # out_all = system_obj.find_system_name()
118     # print(out_all)
119     # out = system_obj.system_name_info('tttttt')
120     # print(out)
121     # del system

转载于:https://www.cnblogs.com/zy6103/p/8990333.html

cobbler api接口开发测试实例相关推荐

  1. Hoppscotch - 免费开源的轻量级 API 接口开发/测试/调试工具,代替 Postman

    一个免费开源的接口测试工具,打开浏览器就能用,几乎支持 Postman 所有功能. 关于 Hoppscotch Hoppscotch 是一个接口测试工具,一般来说,后端开发者在开发接口时,可以模拟用户 ...

  2. Web API接口开发和测试

    4.ASP.NET Web API的开发 上面我们定义了一般的Web API接口,以及实现相应的业务实现,如果我们需要创建Web API层,还需要构建一个Web API项目的. 创建好相应的项目后,可 ...

  3. 接口模糊测试工具java,api 接口 fuzz 测试初探

    Alt pic 目标 在日常测试工作中,经常会有api接口的测试,除了正向流程的测试之外,我们经常还需要覆盖一些异常情况. 例如: 不合法字符串 字符串超长 应该是数字类型的,传入了字母 参数为空 传 ...

  4. php 接口 2.0,YII 2.0 API接口开发

    YII2.0 API接口开发 首先先安装 YII2.0 高级模板(安装请参考其他教程) 准备 添加数据库配置 common/config/main-local.php image 把backend目录 ...

  5. 为什么需要API接口开发?

    API网关是提供服务开放和共享的企业级PaaS平台,提供发布管理.统一认证鉴权.流控.协议转换.服务审计等功能,帮助用户实现内部多系统间,或者内部系统与外部系统之间实现跨系统.跨协议的服务能力互通. ...

  6. 12月15-16日:跟着猫叔写代码学习api接口开发小程序

    猫叔博客地址:fast-小程序:todolist项目文档汇总 - 猫叔饭-写代码的猫叔个人博客 视频地址:todolist实战课程-fastadmin结合微信小程序开发实例 api接口开发和对接_哔哩 ...

  7. YesApi-超强的API接口开发神器

    YesApi 是一个免费.简单又好用的API低代码开发平台.定位:YesApi = API开发 + API测试 + API文档 + API调用 + API后端,让你用一个账号,就能轻松搞定API接口开 ...

  8. api接口加密_谈谈API接口开发中的安全性如何解决

    如今各种API接口层出不穷,一个API的好与不好可以从很多方面来考量,其中"安全性"就是一个API接口最基本也是最重要的一个特点.本文就来跟大家聊聊关于API接口开发的安全性问题. ...

  9. java jsoup解析开彩网api接口json数据实例

    https://www.cnblogs.com/zdz8207/p/7288830.html 开彩网apiJava技术学习 https://www.itkc8.com json-lib-2.4-jdk ...

  10. linux运行国信股票,国信期货CTP交易API接口开发服务

    国信期货CTP交易API接口开发服务是一款国信期货CTP_API接口开发,适用于客户自行开发交易软件接入CTP呕吐,支持windows.Linux.IOS,对于未及时登录及断线造成的行情数据丢失,CT ...

最新文章

  1. 基于LODOP的打印
  2. 【专访】PP租车孙览江:与有梦想的人一拍即合,PM都有改变世界的小情怀
  3. APP鉴赏之网易云音乐
  4. [图形学]切向空间(Tangent Space)
  5. 04简单线性回归实战
  6. 关于MATLAB处理大数据坐标文件
  7. 使用BeautifulSoup爬取“0daydown”网站的信息(1)
  8. html5 video play方法,html5 – 如何在现代Chrome上访问video.play()API
  9. 2020 CCF-CSP-S-第一轮-C++ 模拟试卷(五)--有答案
  10. GNSS精密轨道产品sp3与精密钟差产品clk批量下载(Linux Shell)
  11. Glide异步加载图片,设置默认图片和错误图片
  12. 以HT82K629B为主控的程序员专用CV键盘(无需代码烧写)
  13. NOIP2021题解~持续更新
  14. C语言---移盘子----Hanoi(汉诺)塔问题,显示移动盘子的步骤
  15. Windows文件夹开启大小写敏感
  16. Vue(Vue脚手架)
  17. 领悟《信号与系统》之 信号与系统概论
  18. SAP 银企直连 付款报文签名与长度限制处理
  19. 我们所不了解的远程答题
  20. 写在阿里游戏的最后几天

热门文章

  1. pip安装软件报错:Cannot uninstall 'requests'. It is a distutils installed.........
  2. poj 1511 Invitation Cards spfa比基础题难一些!!练练手挺好
  3. 基于Ubuntu系统搭建以太坊go-ethereum源码的开发环境
  4. Image2icon for Mac(icon图标设计软件)
  5. 无需第三方app,清理Mac缓存垃圾
  6. 让MacOS废纸篓中超过30 天的文件自动清除
  7. vue项目之不一样的axios封装(+防抖函数)
  8. 阿里巴巴如何基于 Kubernetes 实践 CI/CD
  9. Ubuntu install flash
  10. 如何在SQL Server计算XX年第XX周是哪几天