It doesn't look like nailgun problem: 2015-10-22T04:14:37 info: [628] Run hook --- priority: 1200 fail_on_error: true type: shell uids: - '1' parameters: retries: 3 cmd: ruby /etc/puppet/modules/osnailyfacter/modular/astute/upload_cirros.rb timeout: 180 interval: 20 2015-10-22T04:14:46 debug: [628] 280b6a02-9f04-4de8-9fec-94cc22ac7bd4: MC agent 'execute_shell_command', method 'execute', results: {:sender=>"1", :statuscode=>0, :statusmsg=>"OK", :data=> {:stdout=> "/usr/bin/glance --os-image-api-version 1 image-create --name 'TestVM' --is-public 'true' --container-format='bare' --disk-format='qcow2' --min-ram='64' --file '/usr/share/cirros-testvm/cirros-x86_64-disk.img'\nImage 'TestVM' was uploaded from '/usr/share/cirros-testvm/cirros-x86_64-disk.img'\n+------------------+--------------------------------------+\n| Property | Value |\n+------------------+--------------------------------------+\n| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |\n| container_format | bare |\n| created_at | 2015-10-22T04:14:43.000000 |\n| deleted | False |\n| deleted_at | None |\n| disk_format | qcow2 |\n| id | c7866d71-1903-46b0-81cf-29ab189cfb0c |\n| is_public | True |\n| min_disk | 0 |\n| min_ram | 64 |\n| name | TestVM |\n| owner | d0c77303dfbf4512986b2d9859716862 |\n| protected | False |\n| size | 13287936 |\n| status | active |\n| updated_at | 2015-10-22T04:14:46.000000 |\n| virtual_size | None |\n+------------------+--------------------------------------+\n", :stderr=> "/usr/lib/python2.7/dist-packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.\n InsecurePlatformWarning\n/usr/lib/python2.7/dist-packages/urllib3/connection.py:251: SecurityWarning: Certificate has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)\n SecurityWarning\n/usr/lib/python2.7/dist-packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.\n InsecurePlatformWarning\n/usr/lib/python2.7/dist-packages/urllib3/connection.py:251: SecurityWarning: Certificate has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)\n SecurityWarning\n/usr/lib/python2.7/dist-packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.\n InsecurePlatformWarning\n/usr/lib/python2.7/dist-packages/urllib3/connection.py:251: SecurityWarning: Certificate has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)\n SecurityWarning\n", :exit_code=>0}} As you can see :exit_code=>0 so, it seems that upload_cirros must have let astute know about the failure.