ansible管理界面

Is anytime a good time to execute your automation workflow? The answer is probably no, for different reasons.

有什么时候可以执行自动化工作流程吗? 出于不同的原因,答案可能是否定的。

If you want to avoid simultaneous changes to minimize the impact on critical business processes and reduce the risk of unintended service disruptions, then no one else should be attempting to make changes at the same time.

如果要避免同时进行更改以最大程度地减少对关键业务流程的影响并减少意外服务中断的风险,则没有其他人可以尝试同时进行更改。

In some scenarios, there could be an ongoing scheduled maintenance window. Or maybe there is a big event coming up, a critical business time, a holiday, or you prefer not to make changes on a Friday night.

在某些情况下,可能会有一个正在进行的计划维护窗口。 或可能有大型活动即将来临,关键的工作时间,假期,或者您不想在星期五晚上进行更改。

Whatever the reason is, we want to signal this to our Automation platform and prevent the execution of periodic or ad-hoc tasks on specific time slots. In Change Management jargon we are talking about blackout windows when change activity should not occur.

无论是什么原因,我们都希望将此信号告知我们的自动化平台,并防止在特定时间段执行定期或临时任务。 在“变更管理”行话中,我们讨论的是不应发生变更活动的停电窗口。

Ansible中的日历 (Calendar in Ansible)

How can we accomplish this in Ansible? While there is no Calendar function per se, however, Ansible’s extensibility will allow us to integrate with any Calendar application that has an API.

我们如何在Ansible中完成此任务? 虽然本身没有Calendar功能,但是Ansible的可扩展性将使我们能够与任何具有API的Calendar应用程序集成。

The goal is this: Before we execute any automation or change activity, we execute a pre-task that checks whether there is something already scheduled in the Calendar going on or soon enough, or to confirm we are not in the middle of a blocked timeslot.

目标是这样的:在执行任何自动化或变更活动之前,我们执行一个pre-task ,以检查日历中是否已安排某些计划正在进行或足够快,或者确认我们不在阻塞的时段中间。

Let’s pretend a fictitious module named calendar exists, and that it can connect to a remote calendar, like Google Calendar, to determine if the supplied time has been marked as busy. Then we could write a playbook that looks like this:

假设存在一个名为calendar的虚拟模块,并且该模块可以连接到远程日历(例如Google Calendar),以确定提供的时间是否已标记为忙。 然后,我们可以编写一个如下的剧本:

- name: Check if timeslot is takencalendar:time: "{{ ansible_date_time.iso8601 }}"register: output

Ansible facts will give us ansible_date_time which we pass to the calendar module to verify the time availability. We register the response (output) to use in subsequent tasks.

Ansible事实将为我们提供ansible_date_time ,我们将其传递到calendar模块以验证时间可用性。 我们注册响应( output )以用于后续任务。

If our calendar looked like this:

如果我们的日历如下所示:

Then the output of this task would highlight the fact this timeslot is taken (busy: true).

然后,此任务的输出将突出显示已占用此时隙的事实( busy: true )。

ok: [localhost] => {"output": {"busy": true,"changed": false,"failed": false,"msg": "The timeslot 2020-09-02T17:53:43Z is busy: true"}
}

阻止任务运行(Preventing tasks from running)

Next, Ansible Conditionals will help us prevent the execution of any further tasks. As a simple example, you could use a when statement on the next task to enforce that it runs only when the field busy in the previous output is not true.

接下来, Ansible Conditionals将帮助我们防止执行任何其他任务。 作为一个简单的示例,您可以对下一个任务使用when语句来强制它仅在上一个输出中的busy字段不为true时才运行。

tasks:- shell: echo "Run this only when not busy!"when: not output.busy

结论(Conclusion)

Like we mentioned in the previous post, Ansible is a framework to wire things together, interconnecting different building blocks to orchestrate an end-to-end automation workflow.

就像我们在上一篇文章中提到的那样,Ansible是一个框架,用于将事物连接在一起,将不同的构建块互连在一起,以协调端到端的自动化工作流程。

In this opportunity, we looked at how your Playbooks can integrate or talk to a Calendar application to check availability. However, we are just scratching the surface! For example, your tasks could also block a timeslot in the calendar… the sky is the limit.

借此机会,我们研究了您的Playbooks如何集成或与Calendar应用程序对话以检查其可用性。 但是,我们只是在摸摸表面! 例如,您的任务也可能会阻塞日历中的一个时隙…天空是极限。

In the next post, we will dig into how we actually built this calendar module and how other programming languages can be used with Ansible. Stay tuned if you are a Go fan like me!

在下一篇文章中,我们将深入研究如何实际构建此calendar模块以及如何在Ansible中使用其他编程语言。 如果您是像我这样的围棋迷,请继续关注!

翻译自: https://medium.com/swlh/ansible-and-google-calendar-integration-for-change-management-7c00553b3d5a

ansible管理界面

http://www.taodudu.cc/news/show-4158067.html

相关文章:

  • ue4内存管理
  • 18. SELinux管理
  • Salesforce的V2MOM工作法:明确企业在做什么
  • PHP项目管理
  • linux 系统管理员l,系统管理员的 SELinux 指南
  • Windows Server 2008 使用“net use”挂载网络共享时“发生系统错误53”的解决方案
  • SMB横向利用
  • x264 2pass编码说明
  • 中文解释“GetLastError()返回值”---错误码大全
  • 小迪-65-内网安全
  • 横向知识总结
  • 试验Windows Embedded Standard 7 Service Pack 1 Evaluation Edition
  • 内网横向方法总结
  • 本地策略和组策略,更改安全设置和用户权限分配兼容性问题
  • 2022-10-03笔记(内网横向)
  • GetLastError()函数返回值对照列表
  • 内网渗透-最实用的横向移动总结
  • FCN训练自己数据集(person-segmentation)、SIFT-FLOW、SBD和VOC实验总结
  • 人生经典定律[收藏]
  • 您选择的不是数据库安装目录_您不是您的数据,但您的数据仍然是您
  • 读故事悟人生
  • 面试题19/leetcode10:正则表达式匹配 C++
  • 论文精读及分析:Fully Convolutional Networks for Semantic Segmentation
  • python基础之输入输出语法
  • 和我一起学Python
  • tableau最大值最小值显示
  • 指针练习 - 使用指针找出函数中最大值和最小值
  • JAVA求数组最大值最小值总和均值
  • 求两个数中的最大值最小值算法
  • 使用函数调用 输出三个数中的最大值,最小值

ansible管理界面_Ansible和Google日历集成,用于变更管理相关推荐

  1. docker可视化管理界面_分析一款Docker容器可视化管理工具Porttainer

    Porttainer介绍 Portainer是一款可视化.轻量级的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker主机及Swarm群集,提供状态显示面板.应用模板快速 ...

  2. linux svn web管理,CentOS 6.x 部署Subversion 集成 SvnAdmin Web管理界面

    前言: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subver ...

  3. 在Outlook 2007中查看您的Google日历

    Google Calendar is a phenomenal web application for managing your calendars, but so many of us are s ...

  4. google日历的农历循环提醒

    参见:http://www.zh001.com/viewthread.php?tid=460 使用 Google 日历,可以轻松管理日常生活中的各种重要事项.添加活动和发送邀请,与亲朋好友共享日程表, ...

  5. 水星路由app服务器无响应,手机登录不了水星路由器的管理界面解决方法

    原标题:"手机登录不了水星路由器的管理界面怎么办?"相关路由器设置经验分享. - 来源:路由器之家 使用路由器过程中,经常需要登录管理界面.使用手机在浏览器地址栏输入管" ...

  6. 电脑在登陆界面如何打开计算机管理,电脑打不开路由器管理界面怎么解决

    我们有时需要对路由器设置进行相关的修改,但是路由器管理界面打不开怎么办?下面由学习啦小编为你整理了电脑打不开路由器管理界面怎么解决的相关方法,希望对你有帮助! 电脑打不开路由器管理界面解决方法1 一. ...

  7. IM学习-Openfire管理界面(四)

    目录 4. Openfire管理界面 4.1 管理登录 4.2 管理界面 4.3 用户操作 4.3.1 用户增删改查 4.3.2 用户属性设置 4.4 用户群 4.4.1 创建用户群 4.4.2 设置 ...

  8. No.032<软考>《(高项)备考大全》【第16章】项目变更管理

    [第16章]项目变更管理 1 章节相关 1.1 考试相关 2 变更管理的基本概念 3 项目变更管理原则 4 变更管理组织机构与工程程序 4.1 变更应对分析 4.2 变更流程 5 项目变更管理的工作内 ...

  9. 【ASPICE】ASPICE中的变更管理-Change Management

    变更管理 - Change Management 1. 变更管理的目标 变更请求通过结构化的方式被识别.追踪.管理和实现. 2. 变更管理的收益 正确的实施变更管理,所有的对基线项的变更都会管理和控制 ...

最新文章

  1. 【Linux】 JDK安装及配置 (tar.gz版)
  2. AnyChat Server SDK与SDK Filter Plus有何差异?
  3. 前言、Python是真的火,还是炒得火?来看看它的前世和发展
  4. slf4j+log4j2的整合配置
  5. phpstorm一个窗口打开多个项目
  6. c# mysql dbhelp,C#winfrom最简DBHelp(数据库连接操作)
  7. n1运行linux,斐讯N1折腾记:运行 Linux 及优化
  8. 开发怼产品,天经地义?大惊小怪?
  9. 用C#实现pdf文件的完整性验证
  10. python基础语法实验要求_Python基础语法-关于条件
  11. 【高并发】java中的线程池 ThreadPoolExecutor
  12. openssh 加固
  13. 做.NET开发解决Extjs4智能感知
  14. 拓端tecdat|R语言使用HAR-RV预测实际波动率Realized Volatility案例
  15. 类的使用---进阶编程篇(四)
  16. 3维人体建模历史最全算法、论文、数据等资源整理分享
  17. 元界未来获得种子轮投资,新址入驻深圳南山核心区大冲国际中心
  18. ios输入框被软键盘遮住问题
  19. 华为鸿蒙八月,终于来了!华为鸿蒙系统确认8月发布:革命性产品首发搭载
  20. HTML页面格式化(CSS)

热门文章

  1. 【CSS练习】IT修真院--练习6-护工列表界面
  2. mysql里如何写日期格式_mysql 日期格式
  3. 4、Gantt 任务节点部分
  4. 点云八个方向极值点获取
  5. ci框架 反向代理配置_docker-compose配置Nginx反向代理禅道
  6. php 英文小写变大写,PHP_PHP英文字母大小写转换函数小结,每个单词的首字母转换为大写 - phpStudy...
  7. SAP 打开总账科目
  8. 手动计算Q-Learning的一个实例
  9. 实现微信浏览器内打开App Store链接
  10. r语言变量长度不一致怎么办_R语言实现数据离散化方法总结