当前位置: 首页 > news >正文

互联网网站样式查询网站的外链

互联网网站样式,查询网站的外链,合肥网站建设设计外包,石家庄新闻发布会最新消息一. 简述#xff1a; 通过ansible 实现系统初始化功能#xff0c; 为和平台嵌入#xff0c; 需要通过ansible的api进行功能实现。 准确来说#xff0c;ansible并没有纯粹的外部接入api功能#xff0c; 只是官方提供了原生类#xff0c;用于继承接入#xff0c;从而实现a…一. 简述 通过ansible 实现系统初始化功能 为和平台嵌入 需要通过ansible的api进行功能实现。 准确来说ansible并没有纯粹的外部接入api功能 只是官方提供了原生类用于继承接入从而实现api功能。 二. 实现逻辑 套用ansible官方实例通常情况下编写一个api功能需要继承/使用以下功能模块(from...) import json from collections import namedtuple from ansible.parsing.dataloader import DataLoader from ansible.vars import VariableManager #用于存储各类变量信息 from ansible.inventory import Inventory #导入inventory(主机信息)文件 from ansible.playbook.play import Play #验证执行参数 from ansible.executor.task_queue_manager import TaskQueueManager #多任务调度 from ansible.plugins.callback import CallbackBase #信息回调class ResultCallback(CallbackBase):def v2_runner_on_ok(self,result,**kwargs):host result._hostprint json.dumps({host.name: result._result}, indent4)Options namedtuple(Options, [connection, module_path, forks, become, become_method, become_user, check]) variable_manager VariableManager() loader DataLoader() options Options(connectionlocal, module_path/opt/ansible/modules, forks100, becomeNone, become_methodNone, become_userNone, checkFalse) passwords dict(vault_passsecret)results_callback ResultCallback()inventory Inventory(loaderloader, variable_managervariable_manager, host_listlocalhost) variable_manager.set_inventory(inventory)play_source dict(name Ansible Play,hosts localhost,gather_facts no,tasks [dict(actiondict(moduleshell, argsls), registershell_out),dict(actiondict(moduledebug, argsdict(msg{{shell_out.stdout}})))]) play Play().load(play_source, variable_managervariable_manager, loaderloader)tqm None try:tqm TaskQueueManager(inventoryinventory,variable_managervariable_manager,loaderloader,optionsoptions,passwordspasswords,stdout_callbackresults_callback,)result tqm.run(play) finally:if tqm is not None:tqm.cleanup() eg:http://docs.ansible.com/ansible/latest/dev_guide/developing_api.html 这里从中将inventory单独摘出来作为解析。 inventory在之前(inventory定义及动态获取)文档中已有简单说明。 这里主要描述下整个调用。  可以看到inventory是通过以下元素组成生成后通过taskqueuemanager调用 inventory Inventory(loaderloader, variable_managervariable_manager, host_listlocalhost) 整个组成元素包括loadervariable_managerhost_list。 A.  loader 代码在site-packages/ansible/parsing/dataloader中定义。主要功能是加载和解析YAML或JSON内容无论是指定文件名还是指定字符串。 B.  variable_manager 管理变量的类(ansible/vars/__init__.py)包括主机组扩展等变量之前版本是在 inventory中。 C.  hostlist ansible的inventory功能源码在site-packages/ansible/inventory___init__.py中定义 class Inventory(object):Host inventory for ansible.def __init__(self, loader, variable_manager, host_listC.DEFAULT_HOST_LIST): #对应上文中调用# the host file file, or script path, or list of hosts# if a list, inventory data will NOT be loadedself.host_list unfrackpath(host_list, followFalse)self._loader loaderself._variable_manager variable_managerself.localhost None。。。。。。。。。。。。 host_list , 可以是主机文件字符串列表脚本文件(其中list不会加载inventory data)。默认为host_listC.DEFAULT_HOST_LIST。 from ansible import constants as C 可以看出DEFAULT_HOST_LIST是通过constants(site-package/ansible/constants.py)加载的 .......... DEFAULT_DEBUG get_config(p, DEFAULTS, debug, ANSIBLE_DEBUG, False, value_typeboolean) DEFAULT_VERBOSITY get_config(p, DEFAULTS, verbosity, ANSIBLE_VERBOSITY, 0, value_typeinteger) DEFAULT_HOST_LIST get_config(p, DEFAULTS,inventory, ANSIBLE_INVENTORY, DEPRECATED_HOST_LIST, value_typepath) ......... 其中p是配置文件代码中定义的load_config_file方法获取 def load_config_file(): Load Config File order(first found is used): ENV, CWD, HOME, /etc/ansible p configparser.ConfigParser()path0 os.getenv(ANSIBLE_CONFIG, None)if path0 is not None:path0 os.path.expanduser(path0)if os.path.isdir(path0):path0 /ansible.cfgtry:path1 os.getcwd() /ansible.cfgexcept OSError:path1 Nonepath2 os.path.expanduser(~/.ansible.cfg)path3 /etc/ansible/ansible.cfg 可以看出代码中会分别检测变量当前目录下家目录下以及/etc/ansible(默认)下的ansible.cfg作为配置文件。 DEFAULTS 默认为defaults DEPRECATED_HOST_LIST 默认为/etc/ansible/hosts, 类型为path 然后通过get_config判断type执行不同的功能函数。   ---------------------------------------------------------------------------------------------- 深耕运维行业多年擅长linux、容器云原生、运维自动化等方面。 承接各类运维环境部署、方案设计/实施、服务代运维工作欢迎沟通交流
http://www.eeditor.cn/news/123656/

相关文章:

  • 专业网站发展趋势wordpress使用用户字体
  • 所有做运动的网站wordpress大学主题下载
  • 网站的二级页面怎么做东莞建站模板大全
  • 软件制作网站沈阳seo推广公司
  • 怎么自己做购物网站信息产业部icp备案中心网站
  • 怎么推广网站wordpress视频悬停
  • 温州企业网站建设要多少钱住房和城乡建设部办公厅
  • 如果做微商需不需要开个网站。广西建设工程质量检测协会网站
  • 深圳网站快速优化公司php网站开发工程师职责
  • 大气网站欣赏律所网站建设
  • 自适应网站建站价格公司做网站可以永久买断吗
  • 江苏网站优化代卖平台哪个好
  • 我要申请邮箱seo免费诊断电话
  • 网站建设管理报告wordpress扫公众号二维码登录
  • 如何做双版网站网站设计好网站
  • 莆田企业自助建站系统安徽省工程建设信息网官方网站
  • 深圳市坪山区住房和建设局网站做网站代码编辑工具
  • 重庆网站建站模板公司院感质控中心网站建设 申请
  • 建设银行官方网站登录网址什么是电商平台怎么加入电商平台
  • 苏州 营销型网站 高端网站百度推广助手电脑版
  • 嘉兴企业网站推广方法公司名词解释
  • 网站做全景图网站开发ssh
  • 网络营销工程师网站百度关键词seo排名优化
  • 东莞网站推广推广软件塑料袋销售做哪个网站推广好
  • django 网站开发实例做外贸服装的网站
  • 深圳做网站做app免费推广的app有哪些
  • 网站建设介绍ppt模板想用自己电脑做服务器做个网站吗
  • 盐城网站建设官网saas系统开发
  • 德庆网站建设做外贸有什么免费网站
  • php 网站后台模板交互网站开发培训