Hi team,
With ansible 2 in mind ...
The below playbook run fine
- name: add
hosts: docker-host
tasks:
- block:
- name: test
shell: "su - jumbo -c 'cd /tmp ; ls'"
register: out
failed_when: "out.rc != 0"
- debug: "msg='out: {{out.rc}}'"
However I have another one
- name: test1-web-au
hosts: test1-web-au
tasks:
- block:
- name: make
shell: "su - jumbo -c 'cd {{SITE_DIR}}/{{APP_DIR}} && make'"
register: result
failed_when: "result.rc != 0"
- debug: "msg='DEBUG: {{result}}'"
The second one give error:
fatal: [test1-web-au]: FAILED! => {"failed": true, "msg": "The conditional check 'result.rc != 0' failed. The error was: error while evaluating conditional (result.rc != 0): 'dict object' has no attribute 'rc'"}
The only difference is that the make command ouput a lot of text. Somehow result.rc is not a value anymore, it is a dict. This is very inconsistent .
Trying to look into the debug message, clearly they have different keys
The one that is normal
"msg": "DEBUG: {u'changed': True, u'end': u'2016-02-09 04:56:47.752599', u'stdout': u'behat_style.xml\\nbin\\nbugfree.json\\nbugfree-testing.json\\ncache\\ncomposer.json\\ncomposer.lock\\nconf\\nconfig.rb\\ndoc\\ngrunt\\nGruntfile.js\\njibs\\nkarma.conf.js\\nlib\\nlocale\\nMakefile\\nMakefile_help.mak\\nnode_modules\\nnpm-shrinkwrap.json\\npackage.json\\nphpunit.xml\\nscripts\\nscss\\nskel\\nsql\\nsrc\\nstyleguide\\ntesting\\ntmp\\nvendor\\nweb', u'cmd': u\"su - jumbo -c 'cd /www/sites/test1_web_au && ls'\", u'start': u'2016-02-09 04:56:47.701976', u'delta': u'0:00:00.050623', u'stderr': u'', u'rc': 0, 'stdout_lines': [u'behat_style.xml', u'bin', u'bugfree.json', u'bugfree-testing.json', u'cache', u'composer.json', u'composer.lock', u'conf', u'config.rb', u'doc', u'grunt', u'Gruntfile.js', u'jibs', u'karma.conf.js', u'lib', u'locale', u'Makefile', u'Makefile_help.mak', u'node_modules', u'npm-shrinkwrap.json', u'package.json', u'phpunit.xml', u'scripts', u'scss', u'skel', u'sql', u'src', u'styleguide', u'testing', u'tmp', u'vendor', u'web'], u'warnings': [u\"Consider using 'become', 'become_method', and 'become_user' rather than running su\"]}"
}
And the one with long output - the rc is in module_stdout so to access this need result.module_stdout.rc
"msg": "DEBUG: {'module_stderr': u'', 'changed': False, 'module_stdout': u'{\"changed\": true, \"end\": \"2016-02-09 04:53:09.033206\", \"stdout\": \"Installing dependences as per composer.lock.\\\\n\\\\u001b[30;43mWarning: This development build of composer is over 30 days old. It is recommended to update it by running \\\\\"./bin/composer self-update\\\\\" to get the latest version.\\\\u001b[39;49m\\\\n\\\\u001b[32mLoading composer repositories with package information\\\\u001b[39m\\\\n\\\\u001b[32mInstalling dependencies (including require-dev) from lock file\\\\u001b[39m\\\\nNothing to install or update\\\\n\\\\u001b[32mGenerating optimized autoload files\\\\u001b[39m\\\\nInstalling dependences as per composer.lock.\\\\n\\\\u001b[30;43mWarning: This development build of composer is over 30 days old. It is recommended to update it by running \\\\\"./bin/composer self-update\\\\\" to get the latest version.\\\\u001b[39;49m\\\\n\\\\u001b[32mLoading composer repositories with package information\\\\u001b[39m\\\\n\\\\u001b[32mInstalling dependencies (including require-dev) from lock file\\\\u001b[39m\\\\nNothing to install or update\\\\n\\\\u001b[32mGenerating optimized autoload files\\\\u001b[39m\\\\n - Checking for config updates\\\\n - Rebuilding css from scss\\\\n\\\\u001b[4mRunning \\\\\"sass:dist\\\\\" (sass) task\\\\u001b[24m\\\\n\\\\n\\\\u001b[32mDone, without errors.\\\\u001b[39m\\\\n\\\\n\\\\nExecution Time (2016-02-09 04:51:58 UTC)\\\\nsass:dist 1.9s \\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587\\\\u2587 100%\\\\nTotal 1.9s\\\\n\\\\n - Building meta based on current source.\\\\n\\\\r 1/8 [===>------------------------] 12% Elapsed: 1 sec\\\\r 2/8 [=======>--------------------] 25% Elapsed: 1 sec\\\\r 3/8 [==========>-----------------] 37% Elapsed: 1 sec\\\\r 4/8 [==============>-------------] 50% Elapsed: 1 sec\\\\r 5/8 [=================>----------] 62% Elapsed: 1 sec\\\\r 6/8 [=====================>------] 75% Elapsed: 1 sec\\\\r 7/8 [========================>---] 87% Elapsed: 1 sec\\\\r 8/8 [============================] 100% Elapsed: 1 sec\\\\n - Building one ugly javascript file per site variant\\\\n\\\\r 1/3 [=========>------------------] 33% Elapsed: 1 sec Building: pub.AU \\\\r 2/3 [==================>---------] 66% Elapsed: 6 secs Building: admin.AU \\\\r 3/3 [============================] 100% Elapsed: 14 secs \\\\n - Building one ugly css file per site variant\\\\n\\\\r 1/1 [============================] 100% Elapsed: 1 sec\\\\n - Building swagger based on current meta.\\\\n\\\\r 1/7 [====>-----------------------] 14% Elapsed: 1 sec\\\\r 2/7 [========>-------------------] 28% Elapsed: 1 sec\\\\r 3/7 [============>---------------] 42% Elapsed: 1 sec\\\\r 4/7 [================>-----------] 57% Elapsed: 1 sec\\\\r 5/7 [====================>-------] 71% Elapsed: 1 sec\\\\r 6/7 [========================>---] 85% Elapsed: 1 sec\\\\r 7/7 [============================] 100% Elapsed: 1 sec\\\\n - Config sanity check.\\\\n - building apache vhosts.\\\\n - Restarting apache: - Building meta based on current source.\\\\n\\\\r 1/8 [===>------------------------] 12% Elapsed: 1 sec\\\\r 2/8 [=======>--------------------] 25% Elapsed: 1 sec\\\\r 3/8 [==========>-----------------] 37% Elapsed: 1 sec\\\\r 4/8 [==============>-------------] 50% Elapsed: 1 sec\\\\r 5/8 [=================>----------] 62% Elapsed: 1 sec\\\\r 6/8 [=====================>------] 75% Elapsed: 2 secs\\\\r 7/8 [========================>---] 87% Elapsed: 2 secs\\\\r 8/8 [============================] 100% Elapsed: 2 secs\\\\n-- node 1 --\\\\n No updates found\\\\n-- node 2 --\\\\n No updates found\\\\n-- node 3 --\\\\n No updates found\\\\n-- node 4 --\\\\n No updates found\\\\n-- node 128 --\\\\n No updates found\\\\n-- admin --\\\\n No updates found\\\\n-- cart --\\\\n No updates found\\\\n-- affiliate --\\\\n No updates found\\\\n-- metrics --\\\\n No updates found\\\\n - Creating sitemaps\\\\nInstalling dependences as per composer.lock.\\\\n\\\\u001b[30;43mWarning: This development build of composer is over 30 days old. It is recommended to update it by running \\\\\"./bin/composer self-update\\\\\" to get the latest version.\\\\u001b[39;49m\\\\n\\\\u001b[32mLoading composer repositories with package information\\\\u001b[39m\\\\n\\\\u001b[32mInstalling dependencies (including require-dev) from lock file\\\\u001b[39m\\\\nNothing to install or update\\\\n\\\\u001b[32mGenerating optimized autoload files\\\\u001b[39m\\\\n - Restarting all daemons\\\\n - customer-locator (disabled)\\\\n - event-hub (running 9344)\\\\n - restart customer-locator\\\\n - restart event-hub\\\\n - customer-locator (disabled)\\\\n - event-hub (running 10125)\\\\n - Flushing web nodes.\\\\n - Initialising perl database cache.\", \"cmd\": \"su - jumbo -c \\'cd /www/sites/test1_web_au && make\\'\", \"rc\": 0, \"start\": \"2016-02-09 04:51:15.791037\", \"stderr\": \"DEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecated-webkit-gradient.scss\\\\nDEPRECATION WARNING: Passing 100%, a non-string value, to unquote()\\\\nwill be an error in future versions of Sass.\\\\n on line 27 of /www/sites/base_web/scss/bourbon/helpers/_deprecatedclose failed in file object destructor:\\r\\nError in sys.excepthook:\\r\\n\\r\\nOriginal exception was:\\r\\n', 'failed': True, 'msg': u'MODULE FAILURE', 'parsed': False}"
}
I think it is a bug.
please let me know what I am doing wrong, or I will file a bug report.
Kind regards