一、一些参数应该只是在开发场景使用?
1.1 --check
'--check', action='store_true', help='检查指定的 action 脚本是否正确'
1.2 --save-svg
'-G', '--save-svg', action='store_true', help='生成 action scripts 的依赖关系的 svg 文件并尝试在浏览器打开'
1.3 --save-param
'-i', '--save-param', action='store_true', help='交互问询并保存参数退出'
二、几种安装模式的区别?
2.1 --collect
'--collect', action='store_true', help='运行离线收集模式'
2.2 --online
'--online', action='store_true', help='联网运行模式, 将联网安装 yum / pip package [TODO]'
2.3 --dry-run
'--dry-run', action='store_true', help='演习模式, 模拟执行每一个步骤, 不实际连接服务器执行'
三、并发安装过程
3.1 步骤为recovery
, 行为是downloading
3.2 步骤为target
,行为是prepare
3.2.1 对于每台服务器,安装应用列表
_install_rsync() # 文件同步工具
_install_ssh_key() # 集群间通信
_install_repl_release() # centos yum本地源构建
_install_pip_and_wheel() # python本地模块库
_install_fabric() # 安装paramiko,fabric,主要是基于ssh的集群间通信、终端运行
_install_global_files() # 安装ambot服务依赖的脚本
3.3 步骤为具体组件名称
,行为是具体的action
例如:
env.current_step_name, env.current_action_name
(u'ntp', u'install')
四、状态如何同步?
五、fabric
使用
5.1 upload_to_remote
作用
是同步本地文件到远端服务器,可以选择两种同步方式
六、后续问题
查看 git submodule
查看 python代码加密 PEP 302 -- New Import Hooks
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。