Ansible ДО L oop на основе выхода - PullRequest
0 голосов
/ 28 апреля 2020

Я использовал UNTIL logi c для Ansible проверки состояния бобовых стеблей. Ожидаемое поведение таково, что когда состояние работоспособности или выходной сигнал меняется на Зеленый , тогда l oop заканчивается. Однако кажется, что вывод уже зеленый, но l oop все еще достиг последнего счета, и задание ansible не удалось. Это ansible ДО 1 oop Я использую

- name: CHECKING IF THE BEANSTALK IS HEALTHY
    shell: "eb status | grep Health | sed -e 's/Health://g' | sed 's/^ *//g'"
    register: result
    until: result.stdout.find("Green") != -1
    retries: 10
    delay: 60
    args:
      chdir: "{{ playbook_dir }}/{{ env }}/my-app"

Я просто получаю значение Здоровья, если цвет Зеленый , то l oop следует завершить sh, однако в этом коде, который я использую, состояние здоровья уже зеленое в течение как минимум 4-го раза, проверенного l oop, но все же оно достигло последнего счета и завершилось неудачей.

здесь фактическая проверка

my-pc$ eb status | grep Health | sed -e 's/Health://g' | sed 's/^ *//g'
Grey

my-pc$ eb status | grep Health | sed -e 's/Health://g' | sed 's/^ *//g'
Grey

my-pc$ eb status | grep Health | sed -e 's/Health://g' | sed 's/^ *//g'
Grey

my-pc$ eb status | grep Health | sed -e 's/Health://g' | sed 's/^ *//g'
Green

фактическая выработка без трима

my-pc$ eb status
Environment details for: app-mong-lagot-ka
  Application name: lagot-ulo-mo
  Region: us-east-1
  Deployed Version: None
  Environment ID: e-potmaohab
  Platform: arn:aws:elasticbeanstalk:ap-northeast-1::platform/PHP 7.0 running on 64bit Amazon Linux/2.9.0
  Tier: WebServer-Standard-1.0
  CNAME: app-mong-lagot-ka.us-east-1.elasticbeanstalk.com
  Updated: 2020-02-28 20:43:14.348000+00:00
  Status: Ready
  Health: Green
...