From b17394b64a0ddf919604b0f4c35783c2b5d32f76 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 18 Oct 2020 22:11:31 +0800 Subject: [PATCH 1/2] PRF @geekpi --- ...ith Ansible to avoid schedule conflicts.md | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/translated/tech/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md b/translated/tech/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md index f3d0fde81b..14751f7137 100644 --- a/translated/tech/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md +++ b/translated/tech/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md @@ -1,6 +1,6 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Integrate your calendar with Ansible to avoid schedule conflicts) @@ -9,20 +9,20 @@ 将你的日历与 Ansible 集成,以避免与日程冲突 ====== -通过将一个日历应用集成到 Ansible 中来确保你的自动化工作流计划不会与其他东西冲突。 -![Calendar close up snapshot][1] -”随时“是执行自动化工作流的好时机吗?答案可能是否定的,原因各不相同。 +> 通过将日历应用集成到 Ansible 中,确保你的自动化工作流计划不会与其他东西冲突。 -如果你希望避免同时进行更改,以最大限度地减少对关键业务流程的影响,并降低意外服务中断的风险,那么其他人不应该试图在你的自动化运行的同时进行更改。 +![](https://img.linux.net.cn/data/attachment/album/202010/18/221110wk9kd9ewrde11zxx.jpg) -在某些情况下,可能存在一个正在进行的计划维护窗口。 或者,可能有大型事件即将来临、一个关键的业务时间,或者假期,你或许不想在星期五晚上进行更改。 +“随时”是执行自动化工作流的好时机吗?出于不同的原因,答案可能是否定的。 + +如果要避免同时进行更改,以最大限度地减少对关键业务流程的影响,并降低意外服务中断的风险,则在你的自动化运行的同时,其他任何人都不应该试图进行更改。 + +在某些情况下,可能存在一个正在进行的计划维护窗口。或者,可能有大型事件即将来临、一个关键的业务时间、或者假期(你或许不想在星期五晚上进行更改)。 ![Street scene with a large calendar and people walking][2] -([Curtis MacNewton][3], [CC BY-ND 2.0][4]) - -无论出于什么原因,你都希望将此信息发送到你的自动化平台,并防止在特定时间段内执行周期或临时任务。在变更管理的行话中,我说的是当变更活动不应该发生时,指定封锁窗口。 +无论出于什么原因,你都希望将此信息发送到你的自动化平台,以防止在特定时间段内执行周期性或临时任务。用变更管理的行话,我说的是当变更活动不应该发生时,指定封锁窗口。 ### Ansible 中的日历集成 @@ -30,11 +30,10 @@ 目标是这样的:在执行任何自动化或变更活动之前,你要执行一个 `pre-task` ,它会检查日历中是否已经安排了某些事情(目前或最近),并确认你没有在一个阻塞的时间段中。 -想象一下,你有一个名为 `calendar` 的虚构模块,它可以连接到一个远程日历,比如 Google 日历,以确定你指定的时间是否已经以其他方式被标记为繁忙。你可以写一个类似这样的 playbook: - +想象一下,你有一个名为 `calendar` 的虚构模块,它可以连接到一个远程日历,比如 Google 日历,以确定你指定的时间是否已经以其他方式被标记为繁忙。你可以写一个类似这样的剧本: ``` -\- name: Check if timeslot is taken +- name: Check if timeslot is taken   calendar:     time: "{{ ansible_date_time.iso8601 }}"   register: output @@ -46,10 +45,7 @@ Ansible 实际会给出 `ansible_date_time`,将其传递给 `calendar` 模块 ![Google Calendar screenshot][6] -(Nicolas Leiva, [CC BY-SA 4.0][7]) - -那么这个任务的输出就会高亮这个时间段被占用的事实 (`busy: true`): - +那么这个任务的输出就会指明这个时间段被占用的事实 (`busy: true`): ``` ok: [localhost] => { @@ -66,7 +62,6 @@ ok: [localhost] => { 接下来,[Ansible Conditionals][8] 将帮助阻止所有之后任务的执行。一个简单的例子,你可以在下一个任务上使用 `when` 语句来强制它只有当上一个输出中的 `busy` 字段不是 `true` 时,它才会运行: - ``` tasks:   - shell: echo "Run this only when not busy!" @@ -75,9 +70,9 @@ tasks: ### 总结 -在[上一篇文章][9]中,我说过 Ansible 是一个将事物连接在一起的框架,将不同的构建相互连接,以协调端到端自动化工作流。 +在[上一篇文章][9]中,我说过 Ansible 是一个将事物连接在一起的框架,将不同的组成部分相互连接,以协调端到端自动化工作流。 -这篇文章探讨了 playbook 如何与日历应用集成以检查可用性。然而,我只做了一些表面工作!例如,你的任务也可以阻止日历中的一个时间段,这里的发挥空间很大。 +这篇文章探讨了 Ansible 剧本如何与日历应用集成以检查可用性。然而,我只做了一些表面工作!例如,你的任务也可以阻止日历中的一个时间段,这里的发挥空间很大。 在我的下一篇文章中,我将深入 `calendar` 模块是如何构建的,以及其他编程语言如何与 Ansible 一起使用。如果你和我一样是 [Go][10] 的粉丝,请继续关注! @@ -92,7 +87,7 @@ via: https://opensource.com/article/20/10/calendar-ansible 作者:[Nicolas Leiva][a] 选题:[lujun9972][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From a8877b17c0e98676e2ebf02a4377639b65d02a8d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 18 Oct 2020 22:12:25 +0800 Subject: [PATCH 2/2] PUB @geekpi https://linux.cn/article-12733-1.html --- ... your calendar with Ansible to avoid schedule conflicts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md (98%) diff --git a/translated/tech/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md b/published/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md similarity index 98% rename from translated/tech/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md rename to published/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md index 14751f7137..a37438c779 100644 --- a/translated/tech/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md +++ b/published/20201008 Integrate your calendar with Ansible to avoid schedule conflicts.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-12733-1.html) [#]: subject: (Integrate your calendar with Ansible to avoid schedule conflicts) [#]: via: (https://opensource.com/article/20/10/calendar-ansible) [#]: author: (Nicolas Leiva https://opensource.com/users/nicolas-leiva)