Error handling ansible PLAYBOOT.yml命令中存在tidb ansible错误

Error handling ansible PLAYBOOT.yml命令中存在tidb ansible错误,error-handling,installation,ansible,disk,tidb,Error Handling,Installation,Ansible,Disk,Tidb,我正在尝试通过TiDB ansible安装TiDB。我正在参考中的文档,在此过程中,我面临命令ansible PLAYBOOTSTRAP.yml的以下错误。虽然磁盘未满,但我收到磁盘已满错误。请务必让我知道修复错误的步骤。谢谢大家! [root@fm42cephnode005 tidb-ansible-master]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 94G

我正在尝试通过TiDB ansible安装TiDB。我正在参考中的文档,在此过程中,我面临命令ansible PLAYBOOTSTRAP.yml的以下错误。虽然磁盘未满,但我收到磁盘已满错误。请务必让我知道修复错误的步骤。谢谢大家!

    [root@fm42cephnode005 tidb-ansible-master]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs         94G     0   94G   0% /dev
    tmpfs            94G     0   94G   0% /dev/shm
    tmpfs            94G   12M   94G   1% /run
    tmpfs            94G     0   94G   0% /sys/fs/cgroup
    /dev/sdg5       239G  5.2G  222G   3% /
    /dev/sdg3       123G  1.8G  115G   2% /home
    /dev/sdg2      1014M  257M  758M  26% /boot
    /dev/sdg1       200M   12M  189M   6% /boot/efi
    tmpfs            19G   20K   19G   1% /run/user/42
    tmpfs            19G     0   19G   0% /run/user/0
    /dev/nvme3n1    1.5T   77M  1.4T   1% /home/tidbdeployment

[root@fm42cephnode005 tidb-ansible-master]# ansible-playbook bootstrap.yml

PLAY [initializing deployment target] **********************************************************************************************************************************************************************

TASK [check_config_static : Ensure TiDB host exists] *******************************************************************************************************************************************************

TASK [check_config_static : Ensure PD host exists] *********************************************************************************************************************************************************

TASK [check_config_static : Ensure TiKV host exists] *******************************************************************************************************************************************************

TASK [check_config_static : Check ansible_user variable] ***************************************************************************************************************************************************

TASK [check_config_static : Ensure timezone variable is set] ***********************************************************************************************************************************************

TASK [check_config_static : Close old SSH control master processes] ****************************************************************************************************************************************
ok: [localhost]

TASK [check_config_static : Check ansible version] *********************************************************************************************************************************************************

TASK [check_config_static : Check if jmespath installed] ***************************************************************************************************************************************************
changed: [localhost]

TASK [check_config_static : Check if jinja2 installed] *****************************************************************************************************************************************************
changed: [localhost]

TASK [check_config_static : Preflight check - Fail when jmespath or jinja2 isn't installed] ****************************************************************************************************************

TASK [check_config_static : Get jmespath info] *************************************************************************************************************************************************************
changed: [localhost]

TASK [check_config_static : Get jmespath version] **********************************************************************************************************************************************************
ok: [localhost]

TASK [check_config_static : Get jinja2 info] ***************************************************************************************************************************************************************
changed: [localhost]

TASK [check_config_static : Get jinja2 version] ************************************************************************************************************************************************************
ok: [localhost]

TASK [check_config_static : Preflight check - Fail when the versions of jmespath and jinja2 doesn't meet the requirements] *********************************************************************************

TASK [check_config_static : Check inventory configuration] *************************************************************************************************************************************************
changed: [localhost]

TASK [check_config_static : Preflight check - If the inventory configuration is correct] *******************************************************************************************************************

PLAY [check node config] ***********************************************************************************************************************************************************************************

TASK [pre-ansible : disk space check - fail when disk is full] *********************************************************************************************************************************************
fatal: [localhost]: FAILED! =>
  msg: |-
    The conditional check ' '100%' in disk_space_st.stdout ' failed. The error was: error while evaluating conditional ( '100%' in disk_space_st.stdout ): Unable to look up a name or access an attribute in template string ({% if  '100%' in disk_space_st.stdout  %} True {% else %} False {% endif %}).
    Make sure your variable name does not contain invalid characters like '-': argument of type 'StrictUndefined' is not iterable
        to retry, use: --limit @/home/tidb-ansible-master/retry_files/bootstrap.retry

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=8    changed=5    unreachable=0    failed=1


ERROR MESSAGE SUMMARY **************************************************************************************************************************************************************************************
[localhost]: Ansible Failed! ==>

  msg: |-
    The conditional check ' '100%' in disk_space_st.stdout ' failed. The error was: error while evaluating conditional ( '100%' in disk_space_st.stdout ): Unable to look up a name or access an attribute in template string ({% if  '100%' in disk_space_st.stdout  %} True {% else %} False {% endif %}).
    Make sure your variable name does not contain invalid characters like '-': argument of type 'StrictUndefined' is not iterable

这是使用
df-h.|tail-n1
命令,用于确定与
inventory.ini
中所有机器的
ansible\u用户
对应的主目录分区的空间使用情况。发生错误时,分区使用率可能为100%。如果确认还有剩余空间,请重试。

你好,普拉加西,欢迎访问SO。您没有得到“磁盘已满错误”,您得到的是一个可解释的错误;在不知道ansible的确切版本的情况下,很难再现您的错误,但至少在ansible 2.9上,该错误不会发生,因此如果可能,请尝试更新到最新版本Hello Daniel,我使用的是ansible vesion 2.7.11。我最初安装了2.9版本,但它与这个tidb版本不兼容。因此,我不得不使用2.7.11。如果您对如何解决此问题有任何想法,请务必告诉我。谢谢,我正在尝试仅在localhost上安装TiDB(因此inventory.ini仅具有localhost)。主目录中tidbuser的df-h显示该目录的利用率只有2%。但是,在运行相同的命令时,返回相同的错误。你知道为什么吗?