# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models class UserType(models.Model): caption = models.CharField(max_length=32) class User(models.Model): name = models.CharField(max_length=32) age = models.Integer…
项目目标 salt state.apply -h "ubuntu,centos" -g "ubuntu,centos" -f "ubuntu,centos" 文件目录规划 配置文件详解 步骤一:创建一个salt salt配置文件 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Alex Li import os,sys if __name__ == "__main__"…
本节内容 一. 主机管理项目需求分析 二 .主机管理项目架构设计 三.主机管理项目初始构建 四. 主机管理项目编主机分发器 一. 主机管理项目需求分析 场景:我现在又一台裸机要实现一下人物 配置管理: 1.装上nginx,mysql 2.nginx用我指定的配置文件 3.mysql用户 4.设置一个默认的数据库访问权限 5.启动mysql and nginx 场景:因为200台机器要连接200次,要花很长时间,写一个脚本.分发到所有的机器,然后再执行脚本, 问题: 1.脚本执行出错 2.客户端环…
1.salt架构图 https://docs.saltstack.com/en/getstarted/system/plugins.html plug-ins(左边):场景可插拔 subsystem-core-subsystem(中间蓝色部分): 执行命令 分发文件 安全存储数据 plug-ins(右边边): 通过命令行执行 标准的接口可以进行二次开发 可以用什么样的形式去描述机器能认识的 任务结果可以存储的 plug-ins(下面) 包-变成命令 2.远程执行流程: 流程图(官方图) 流程说明…
一.编写插件基类 1.目录结构 1.我是如何获知我有多少种系统? 当客户端第一连接过来的时候,我就已经把这些文件存下来了 ,存在到哪里了?存到数据库了 每次对主机发送命令的动作时,我从库里把数据取出来,我去判断有几种就可以,每个模块执行之前都要这样的判断, 直接把用户分配给了不同的模块,这就变成我了我每个模块都要写一边(重复劳动) 写一个公共的类,就是提取这些,你一定要有一个公共的类,他的作用是为了规范其他的模块 2.运行结果截图 cmd和state只要一执行就会自动去提取主机 二.获取主机列表…
一.总目录 二.具体代码 salt #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:luoahong import os,sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Stark.settings") BASE_DIR = os.path.dirname(os.path.di…
一.开发目标命令格式如下: 二.目录结构 三.代码注解 01.salt.py 只是一个入口,没干什么事情 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:luoahong import os, sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Stark.settings") B…
1.场景: 我现在又一台裸机要实现一下任务 2.配置管理: 1.装上nginx,mysql 2.nginx用我指定的配置文件 3.mysql用户 4.设置一个默认的数据库访问权限 5.启动mysql and nginx 场景:因为200台机器要连接200次,要花很长时间,写一个脚本.分发到所有的机器,然后再执行脚本, 问题: 1.脚本执行出错 2.客户端环境,不相同(没有判断时什么操作系统) 3.重复脚本内容(很多时候,经常要装各种服,今天装apache,明天装nginx这样不停的重复劳动) 4…
一.动态调用插件解析 1.目录结构 1.base_module代码解析: def syntax_parser(self,section_name,mod_name,mod_data): print("-going to parser state data:",section_name,mod_name) for state_item in mod_data: print("\t",state_item) for key,val in state_item.items…
过程剖析 输入:组织过程资产.企业环境要素.项目管理计划.批准的变更请求 工具:专家判断.项目管理信息系统 输出:工作绩效信息.可交付成果.变更请求.项目文档和计划更新 指导和管理项目执行过程包括: 1.使用计划创建可交付成果 2.补救可交付成果中的缺陷 3.项目计划变更时,确保这些变更反映到可交付成果中. 工作绩效信息:跟踪团队的执行情况,这正是工作绩效信息输出的内容.通过考核各个只是领域相应过程的执行情况来创造工作绩效信息. 可交付成果:只要项目产生出计划中的某个“结果”,这就是项目的可交付…