zoukankan      html  css  js  c++  java
  • cobbler api接口开发测试实例

    条件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
  • 相关阅读:
    关于php配置文件
    修改范围PHP_INI_SYSTEM与PHP_INI_ALL的区别
    mysql索引常见问题
    K-D TREE算法原理及实现
    Matlab K-means聚类
    Matlab 聚类分析
    Zbar 大图像分析
    Zbar -- 源码分析
    ZBar在Windows上的使用 -- ImageMagick and OpenCV
    Zbar算法流程介绍
  • 原文地址:https://www.cnblogs.com/zy6103/p/8990333.html
Copyright © 2011-2022 走看看