自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

將你的日歷與Ansible集成,以避免與日程沖突

運維 系統(tǒng)運維
通過將日歷應(yīng)用集成到 Ansible 中,確保你的自動化工作流計劃不會與其他東西沖突。

[[347187]]

通過將日歷應(yīng)用集成到 Ansible 中,確保你的自動化工作流計劃不會與其他東西沖突。

“隨時”是執(zhí)行自動化工作流的好時機嗎?出于不同的原因,答案可能是否定的。

如果要避免同時進(jìn)行更改,以最大限度地減少對關(guān)鍵業(yè)務(wù)流程的影響,并降低意外服務(wù)中斷的風(fēng)險,則在你的自動化運行的同時,其他任何人都不應(yīng)該試圖進(jìn)行更改。

在某些情況下,可能存在一個正在進(jìn)行的計劃維護(hù)窗口?;蛘?,可能有大型事件即將來臨、一個關(guān)鍵的業(yè)務(wù)時間、或者假期(你或許不想在星期五晚上進(jìn)行更改)。

 

Street scene with a large calendar and people walking

無論出于什么原因,你都希望將此信息發(fā)送到你的自動化平臺,以防止在特定時間段內(nèi)執(zhí)行周期性或臨時任務(wù)。用變更管理的行話,我說的是當(dāng)變更活動不應(yīng)該發(fā)生時,指定封鎖窗口。

Ansible 中的日歷集成

如何在 Ansible 中實現(xiàn)這個功能?雖然它本身沒有日歷功能,但 Ansible 的可擴展性將允許它與任何具有 API 的日歷應(yīng)用集成。

目標(biāo)是這樣的:在執(zhí)行任何自動化或變更活動之前,你要執(zhí)行一個 pre-task ,它會檢查日歷中是否已經(jīng)安排了某些事情(目前或最近),并確認(rèn)你沒有在一個阻塞的時間段中。

想象一下,你有一個名為 calendar 的虛構(gòu)模塊,它可以連接到一個遠(yuǎn)程日歷,比如 Google 日歷,以確定你指定的時間是否已經(jīng)以其他方式被標(biāo)記為繁忙。你可以寫一個類似這樣的劇本:

  1. - name: Check if timeslot is taken
  2.   calendar:
  3.     time: "{{ ansible_date_time.iso8601 }}"
  4.   register: output

Ansible 實際會給出 ansible_date_time,將其傳遞給 calendar 模塊,以驗證時間的可用性,以便它可以注冊響應(yīng) (output),用于后續(xù)任務(wù)。

如果你的日歷是這樣的:

 

Google Calendar screenshot

那么這個任務(wù)的輸出就會指明這個時間段被占用的事實 (busy: true):

  1. ok: [localhost] => {
  2.    "output": {
  3.        "busy": true,
  4.        "changed": false,
  5.        "failed": false,
  6.        "msg": "The timeslot 2020-09-02T17:53:43Z is busy: true"
  7.    }
  8. }

阻止任務(wù)運行

接下來,Ansible Conditionals 將幫助阻止所有之后任務(wù)的執(zhí)行。一個簡單的例子,你可以在下一個任務(wù)上使用 when 語句來強制它只有當(dāng)上一個輸出中的 busy 字段不是 true 時,它才會運行:

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

總結(jié)

上一篇文章中,我說過 Ansible 是一個將事物連接在一起的框架,將不同的組成部分相互連接,以協(xié)調(diào)端到端自動化工作流。

這篇文章探討了 Ansible 劇本如何與日歷應(yīng)用集成以檢查可用性。然而,我只做了一些表面工作!例如,你的任務(wù)也可以阻止日歷中的一個時間段,這里的發(fā)揮空間很大。

在我的下一篇文章中,我將深入 calendar 模塊是如何構(gòu)建的,以及其他編程語言如何與 Ansible 一起使用。如果你和我一樣是 Go 的粉絲,請繼續(xù)關(guān)注! 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-03-29 08:14:49

Emacs應(yīng)用配置日程

2021-07-05 06:51:43

流程代碼結(jié)構(gòu)

2015-03-10 13:50:42

smartycss語法

2017-09-13 08:34:48

2015-02-11 10:00:15

2020-09-07 11:17:05

云計算

2011-01-21 17:00:49

Thunderbird日歷

2010-09-08 15:49:21

SmartyCSS

2012-05-17 12:05:40

HTC

2018-10-14 15:52:46

MySQL數(shù)據(jù)清理數(shù)據(jù)庫

2021-11-14 15:13:18

存儲數(shù)據(jù)存儲技術(shù)

2021-03-11 09:01:03

NoSQL數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫

2023-04-06 10:41:30

首席信息官IT領(lǐng)導(dǎo)者

2022-05-10 10:39:51

初創(chuàng)企業(yè)技術(shù)債務(wù)

2020-04-14 15:20:18

JSIF代碼

2020-01-08 14:17:42

網(wǎng)絡(luò)安全信息安全技術(shù)

2023-02-20 13:29:31

2024-12-30 11:36:52

2024-02-17 21:57:10

2023-08-23 10:19:25

數(shù)據(jù)MySQL
點贊
收藏

51CTO技術(shù)棧公眾號