---
# System prepended metadata

title: 7月 AST 佈署規劃
tags: [IVR]

---

---
title: 7月 AST 佈署規劃
tags: IVR
description: View the slide with "Slide Mode".
---

#  7月 AST 佈署規劃

<!-- Put the link to this slide here so people can follow -->



## 8/2~8/6
- [x] 1. 測試 hlp server 能否同時處理多個 client 連線(YQ&44)
1. [Did分工](https://hackmd.io/3ok_QnFWS32v0pW3vmwSMg)(==暫緩等需求明確==)
- [x] 1. agi文件化(一人一個)
     - iivr
     - load balance
     - 黑名單+寫DB
- [x] 1. exporter (一人一個)
     - asterisk(YQ)
     - redis(ZU)
     - td-agent(config)(AY)
     - cadvisor
- [x] 1. 整理第二包 rpm 檔案(td-agent, python3-devel, msodbc)
- [x] 1. 修正 msodbc.rpm 問題(順序問題)
- [x] 1. uat 連線 nexus 測試 / ansible 改透過 nexus 安裝wheel
- [x] 1. 確認外撥各開發時程(英文OTP、滿意度、勞保)
- [x] 1. Sipp xml 討論(ZU、YQ)(暫時不做動作)
- [x] 2. Cicd 單元測試設定&how :ansible/路徑/覆蓋率呈現
- [x] 1. 外撥 asterisk_ansible pipeline 設定 if_ansible(ZU)
3. 寫esalert規則(一人一個)
1. iivr.agi單元測試(開始慢慢地動工)
1. 意願模型的元件測試(4J)
1. log檔名取消日期(log module、td-agent config、rotate)

## 8/9~8/13
- [x] 1. hlp 憑證調整為 ansible_user(v1.4.0)(AY)
- [x] 1. iivr.agi單元測試(AY)
- [x] 3. 先推v1.4.0到UAT，再做v1.3.4(bugs)
- [x] 4. Log rotate文件化(保留多久後刪除、哪些檔案有做)(UU)
- [x] 5. Load balance UT調整(UU)
6. DID 開發(UU)
- [x] 8. 統一單元測試結構(於v1.3.4定版，在自己的branch merge公版)
9. AST 流程圖(77)
- [x] 10. 服務成效分析(UU、77、AY)
- [x] 11. 確認兩台 VM 進度 & 列代辦事項(77)
    - UAT、PROD硬體規格
    - 假設硬體到位 需要多久能開發完 需要多久測試？
13. 寫esalert規則(先寫一個)(77)
- [x] 14. HLP 流程圖(44)
15. 意願模型的元件測試(44)
16. 產報表排程(44)
- [x] 17. HLP 推新功能(44)
- [x] 18. log檔名取消日期(log module、td-agent config、rotate)
- [x] 19. 營運db確認(確認已正常)

## 8/16~8/20
- confluence測試文件(AY、UU、YQ)
- [x] - 把業務 *以s取代(ALL)
    - 要跟業管通知，*之後都會用s 取代(先讓PM知道)
    - 自動幫 HLP 佈署音檔長度(統一音檔名稱)
- [x] - 觀察AppError 與 hangupError 順序(AY)
- [x] - iivr.agi unit test(AY)
- grafana 研究(4j、YQ)
- 重構 server.py
- 藍綠佈署 (YQ)
- 寫esalert規則(先寫一個)(77)
- 成效報告新增2 metric(4j)
---
[外撥]DID 開發(UU)

## 8/23~8/27
- 開單調整 disk
```
    /iivr_log 10G
    /var/log 10G
    /var <30G
    /home/ansible_user -> /otp /srv
```
**禮拜三要上UAT**
- [x] - ==confluence測試文件(AY、UU、YQ)==
- esalert 告警規則(分享怎麼測試)(44)
- intension 測試(pytest)(44)
- [x] - 問問小玉、小i的現有語料(問宗聖)(44)
- [x] - 語料爬蟲(44)
- 調整 rpm 安裝(先確認rpm server已經有檔案)(AY)
- [x] - cdr 時間調整(AY)
- [x] - iivr_duration(dialplan、cdr.conf也要改)(AY)
- 重構 iivr.agi: 兩個function(AY)
- [x] - log tools 調整(時間 + 08:00，`2021/08/23T10:04:00+08:00`)(UU)
- 調整 td-agent.conf的 source、log rotate(UU)
- [x] asterisk logger.conf 移除debug(AY)
- [x] - [外撥]DID 開發(UU)
- [x] - ansible 路徑有改，要跟devops團隊提調整路徑、手動離線的文件要改(YQ)
    - /workspace/專案
    - /workspace/offline
- [x] - ansible config 修正(YQ)
- 補log(YQ)
- [x] - EFK開單外撥全線(YQ)
- 調整執行文件(與SP溝通)

## 8/30~9/3
- 追prometheus(YQ)
- 開單擴充空間
    - 產出:明確路徑、多大
    - /home/ansible_user/esun... 移動到哪個路徑
    - hlp 哪些要加大
        - /home cache
        - /image
        - /usr/xxxx/ooo
    - 請宛誼開單
- esalert(error、是在哪一個pipeline)
- 下架節點(週三過版，燃料費下架、數位節點)
    - 確認F_31_1~5 A_31_1~5音檔內容 
- ==測試報告準備==
- 補log資料(YQ)
- 讀MLaaS 2.0 文件
- ring time(YQ)
- 外撥提供給客服的QA手冊
- [Confluence Question] esalert 反映看不到文件
- 確認錄音檔刪除

- 反映一下節點、音檔調整最晚三天前提供



## 維運階段
- [x] 1. 外撥Ast併回repo(YQ)
- [x] 2. 外撥esalert (ZU、YQ)
5. 壓測報告(ZU)
- [x] 6. 勞保測試(YQ)
7. hlp文件化(44)
    - NLU keyword tag (其翰)
    - HLP 服務流程
    - ==HLP 系統流程==
    - insert record 流程設計
    - 手動 ansible 打包流程


## 開發、測試、維運、文件

|類別|內容|負責人|時間|完成
|--|--|--|--|--|
|維運|文件結構化（怎麼切分）|YQ|7-22~7-23|v|
|維運|prometheus 的 exporter 設計|YQ|7-22~7-23|v|
|文件|hlp與ast溝通：音檔名稱|AY|7-22~7-23|
|文件|新增新業務，需要調整哪些role|AY|7-22~7-23|
|重構|load balancer.agi 類別化|ZU|7-22~7-27|
|重構|systemd daemon|ZU|7-22~7-27|
|文件|黑名單agi|YQ|7-26~7-27|v|
|文件|td-agent 使用方式|YQ|7-29~7-30|v|
|維運|asterisk exporter|YQ|7-28~7-29|v|



### 開發
1. 藍綠部署
1. 調整 2 vm/ cluster redis 架構
1. 開新的repo存放 tools，一路推到nexus
1. ==研究 sbc api==

### 維運
- [x] 1. prometheus 的 exporter 設計(YQ)
1. grafana 告警
1. grafana 儀表板
1. es alert
1. kibana 儀表板(約個會議一起想)
2. DB 產報表/ 提供 sql
1. 更新音檔名稱
1. ast 錄音黨傳送後的處理
2. HLP 錄音黨是否要移動到哪個路徑
3. log rotate


### 文件
1. hlp與ast溝通：音檔名稱(AY)
1. 文件結構化（怎麼切分）
1. 憑證(AY)
2. 壓力測試(ZU)
3. ~~單元測試~~
4. DB 連線、環境設置(AY)
5. systemd daemon(after相依問題,要先有網路才可以tcpdump)(ZU)
- [x] 1. td-agent 使用方式(YQ)
- [x] 2. 各個 AGI 細節說明(誰弄誰負責)
3. 排程 細節說明(誰弄誰負責)
4. 整理 confluence（YQ)
1. 新增新業務，需要調整哪些 role(AY)

### 重構
1. extension 拆解成 agi
1. 資料夾結構
2. iivr.agi 函式化
3. load balancer.agi 類別化
1. 獨立可以新增新業務的 pipeline
2. 把*拿掉

### BUG
1. cdr log會跑到其他天的檔案
2. vosk 沒有更新值的問題(大量壓測才會發生)
3. ==HLP container不會全部都重啟==

### 測試
#### 單元測試
1. iivr.agi
1. 黑名單.agi

#### 整合測試
1. 新增情境

## 7/30 版(7/15~7/30對外試營運)

prometheus 開單
==藍綠部署==
研究 exporter(asterisk, redis, podman)

---

2. es alert
3. agi的情境測試（線下的單元測試，模擬agi、redis）
4. vm *2: 重跑防火牆
5. 岳庭二模
6. （整理乾淨）ansible 在做copy前，應該要做rm
8. // 壓測要分兩個版本
10. 確認 checkmarx 是否正常
11. 調整存取變數不使用CDR(var)
     - 來電號碼 CALLER(num)
12. log 固定產同一檔名再做rotate
13. 把 * 拿掉：音檔
## 8/1 正式對外上線
---

## hlp 排程
放排程： 辨識結果傳送


## 過版速度
1. 跟sp確認了嗎
2. 禮拜五好嗎
3. 開發速度跟得上嗎
4. 這週測試的，什麼時候要過版


---
## TOCHECK
1. production disk 
2. 更新音檔要在啥時
3. 確認 uat 是否還需要測試，是否可以拿到 test_id
    不會
5. 試營運階段如果沒有label，如何train stt
    stt不會train，不能拿顧客資料訓練
6. 確認 vm 何時開成兩台（先增兩台一陣子，再刪舊的）
7. audiofork 應該要放在歡迎語之前，或至少在第一句跟第二句中間（回音問題）

## TODO
1. 週五過版
2. 內部試營運，提供電話＋時間


## 7/2 禮拜五過版（不主動過版）
- [x] 1. ==log tools（hlp 同步更新)==
- [x] 2. 換音檔(高品質)
- [x] 3. ==extension.conf==(uat測試)
    - E開頭音檔全部撥放
    - audiofork 要在歡迎語之前開啟 (待確認) -> 維持原樣 
    - 新增 vdn_start_time 初始化
- [x] 4. 新增新的 playbook(常更動的)(swlab測試)(YQ)


## 7/19~7/23
- [x] 1. tcpdump 調整 (ZU)
- [x] 2. 合併成一個 dialplan、agi(AY)
- [x] 3. 調整cdr.log (YQ)
- [x] 4. sit role 補進 azure
- [x] 5. hlp hc 要打開 -> 改用 load balance (ZU)
    - (如果完成先開發 load balancer/排序順序 ) (ZU)
- [x] 6. 提供 prometheus 監控要用到的 exporter
- [x] 8. sit code 調整（沒註解、多了空白）
- [x] 9. 測試uat db(cdr, hlp, iivr_record/ 要等重新推uat)(YQ)
- [x] 10. 錄製新的 sipp 封包
- [x] 11. 黑名單sit改uat, prod
12. ==wss(AY)==
    - 開單給 sp
    - [x]  - 申請 FQDN
    - 申請 SBC CA(含外撥)（先擺後面）
- [x] 13. 黑名單開啟（現在預設繼續iivr，應回傳統ivr） (YQ)
- [x] 14. 新增營運db host
- [x] 15. 要開 sonarqueue
- [x] 16. hlp寫db排程，新增 ansible role
- [x] 17. daemon: 音檔傳送(YQ)
- [x] 18. hlp 有重新連線 redis 連線機制
- [x] 19. hlp 部署及測試的架構(uu、YQ)
- [x] 20. kibana 儀表板(44)
- [x] 21. hlp 即時回寫辨識結果
- [x] 22. 延長憑證時間(7/27結束)(AY)
- [x] 23. daemon: 音檔傳送(AY、YQ)
- [x] 24. agi 調整log時間，拿掉日期、加入毫秒
- [x] 25. extension dial前移除 set not_in_use
- [x] 27. [bug] HLP insert DB