AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1164573
Accepted
davejagoda
davejagoda
Asked: 2024-08-31 05:22:55 +0800 CST2024-08-31 05:22:55 +0800 CST 2024-08-31 05:22:55 +0800 CST

Terraform:“错误:解析旧 engine_version:版本格式错误:7.x”

  • 772

运行时terraform apply出现此错误:

Error: parsing old engine_version: Malformed version: 7.x
│ 
│   with module.redis_cluster.aws_elasticache_replication_group.replication_group,
│   on ../../../../modules/redis/main.tf line 11, in resource "aws_elasticache_replication_group" "replication_group":
│   11: resource "aws_elasticache_replication_group" "replication_group" {
│ 

这似乎是hashicorp/terraform-provider-aws#32252中描述的问题,并且在评论中有详细的解决方法:

  1. 我们使用通配符语法在 Terraform 中配置了一些 Redis 实例:6.x
  2. 有人在 AWS 控制台 UI 中手动更新了 Redis 引擎7.0.*
  3. 更新后,代码已更新为7.x手动。它与AWS提供商配合良好4.37.0。
  4. 当我开始在同一个存储库中工作时,我将 AWS 提供程序从 更新4.37.0为5.9.0并遇到了问题: 7.x值和 都不起作用7.0。这是Redis versions must match <major>.<minor>...或Error: parsing old engine_version: Malformed version: 7.x错误。

解决方法继续描述编辑远程状态以修复问题。除了该解决方法之外,还有其他更简单的方法可以解决这个问题吗?

amazon-web-services
  • 1 1 个回答
  • 89 Views

1 个回答

  • Voted
  1. Best Answer
    Tom
    2024-09-06T17:24:58+08:002024-09-06T17:24:58+08:00

    在我使用 AWS 控制台手动升级 Redis 并回顾性地编辑我的 terraform 代码以匹配我的新 Redis 配置后,我遇到了这个问题。

    这是我修复该问题的方法:

    1. 我下载了 Terraform 状态(就我而言是从 Terraform Cloud 下载的):terraform state pull > temp.tfstate
    2. 在文本编辑器中,我手动搜索并替换"engine_version": "6.x",为"engine_version": "7.1",
    3. 在状态文件的顶部,你会发现一个序列号。这需要以 1 为增量(否则你会遇到错误,例如Failed to write state: cannot overwrite existing state with serial 1 with a different state that has the same serial)
    4. 我推动了修改后的状态:terraform state push temp.tfstate

    此后,我的计算机terraform plan不再出现错误,也没有出现任何差异。

    • 1

相关问题

  • 网络定价如何在云平台中准确运作?我应该如何避免专门的定价攻击?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve