2.7 KiB
2.7 KiB
Prompt for Opus — поиск багов в 3 файлах
Проверь эти 3 конкретных файла на баги, аналогичные skip_missing_on_delete (провайдерский параметр с плохим дефолтом, которого нет в API YAML).
Файл 1: Шаблон генератора
/home/naeel/tf_provider/TOOLS/resource-generator/internal/templates/templates.go
Смотри все хардкодженные атрибуты (НЕ из .SchemaParams / .OutputParams):
resource_nameoperation_timeoutlog_levelsuspend_on_destroyadopt_existing_on_createskip_missing_on_deletegit_revision{service}_id
Вопросы:
- У каждого: правильный ли дефолт?
- Не создаёт ли проблем при параллельных/повторных apply?
skip_missing_on_deleteс дефолтомfalse— уже известный баг. Есть ли другие?
Файл 2: CRUD-логика
/home/naeel/tf_provider/provider/internal/resources_core/crud.go
Вопросы:
FindSubresourceInStateOut— не должна ли проверка молча пропускать удаление?IsSubresourceMissingError— все ли ошибки ловит?adoptExistingInstanceOnCreate— есть ли гонки при параллельном adopt?
Файл 3: Сгенерированный subresource
/home/naeel/tf_provider/generated/test/go/90_postgres_database_resource.go
Вопросы:
- Delete (строки 251-330): правильный ли handling "объект уже удалён"?
- Create: что при duplicate?
skipMissingOnDelete— везде ли корректно?
Что искать
- Ошибки вместо идемпотентности (delete/create должны быть идемпотентны)
- Плохие дефолты (как
skip_missing_on_delete=false) - Гонки при параллельных операциях
- Провайдерские параметры не из API — все ли оправданы?
Контекст
- API не поддерживает параллельные операции на одном инстансе
- Subresource delete падает с ошибкой если объект уже удалён
skip_missing_on_delete— костыль для обхода, дефолтfalse(баг)- Уже добавлен instance-level mutex в v5.0.63
Формат ответа
Для каждого бага: файл:строка → симптом → причина → исправление.
Не читай другие файлы без необходимости.