Bug 38988

Summary: история изменений задания
Product: Infrastructure Reporter: Anton Farygin <rider>
Component: girarAssignee: placeholder <placeholder>
Status: NEW --- QA Contact: Andrey Cherepanov <cas>
Severity: enhancement    
Priority: P5 CC: glebfm, ldv, rider, slev
Version: unspecified   
Hardware: x86_64   
OS: Linux   

Description Anton Farygin 2020-09-24 15:49:35 MSK
Сейчас task directory structure меняется в зависимости от изменения состояния задания. при этом история изменений задания или не ведётся или не доступна.
предлагаю в качестве варианта ведения истории задания использовать git для каталога TASK_ID, в который коммитить все изменения по мере их появления.

Это даст возможность посмотреть, что, в какое время и как менялось с заданием.
Плюс, потенциально, можно добавить возможность ментейнерам откатывать состав сборочного задания на какое-то определённое состояние.

Плюс всем, кто парсит куда-то загружает информацию о task'е это даст возможность получить консистентное состояние информации о таске на любой момент времени.
Comment 1 Stanislav Levin 2020-09-25 08:58:33 MSK
Данная фича, возможно, облегчит ситуацию, когда нужно понять, почему в итерации N задание собиралось, в N+1 уже нет. То есть было бы здорово хранить логи сборки для каждой итерации задания и, допустим, выводить diff пакетной базы для сборки(как srpm, так и rpm) в отчете. Сейчас мне остается только гадать, что же изменилось.
Comment 2 Anton Farygin 2022-01-18 23:25:59 MSK
Это же добавит элементы транзакционности в изменение состояния задания и позволит грузить в базу rdb всегда консистентное состояние задания, избежав состояние гонок между загрузкой task'а в базу и ментейнером, который изменяет состояние таска.

Можно, конечно, ввести блокировку на задание на изменение, но почему-то этого хочется избежать.