为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:3.0.6
- 【问题描述】:使用ansible升级3.0.6版本到3.0.7时,版本检查失败
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
原因是3.0.6打印的版本信息,和其他版本不一致,少个字母v:
./bin/tidb-server -V Release Version: 3.0.6 Git Commit Hash: 76f0386c5a17511da1799a9f1b3ce8e994b69007 Git Branch: HEAD UTC Build Time: 2019-11-28 10:06:40 GoVersion: go version go1.13 linux/amd64 Race Enabled: false TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306 Check Table Before Drop: false
滚动升级的ansible脚本中,检查版本能否滚动升级的时候,带了字母v:
tasks: - shell: “{{ deploy_dir }}/bin/tidb-server -V” register: current_version
- name: Check whether can perform rolling update
fail:
msg: "Rolling update from {{ current_version.stdout_lines[0].replace(' ','').split(':')[1] }} to {{ tidb_version }} is forbidden"
when:
- current_version.stdout_lines[0].replace(' ','').split(':')[1] < "v2.0.1"
- tidb_version >= "v2.1.0" or tidb_version == "latest"
我采用的临时的处理方式是修改检查条件,请官方正式修复:
when:
- current_version.stdout_lines[0].replace(' ','').split(':')[1] < "2.0.1"
- tidb_version >= "v2.1.0" or tidb_version == "latest"