returncode for Popen is valid only after communicate call
returncode for Popen is valid only after communicate call

Found when testing a bug in cinder (1125416), code
relying on throw_on_error won't work because returncode
is None if checked before the communicate() method is
called

Change-Id: I8c9dd00396346ec3ad7bbe1dc17643c385da8d6f

JioCloud/pbr,JioCloud/pbr,WiFast/pbr,klmitch/pbr,varunarya10/pbr,citrix-openstack-build/pbr,redhat-openstack/pbr,emonty/oslo-packaging,openstack-dev/pbr,openstack-dev/pbr,emonty/oslo-packaging,varunarya10/pbr,klmitch/pbr,citrix-openstack-build/pbr,openstack-dev/pbr,redhat-openstack/pbr,WiFast/pbr,citrix-openstack-build/pbr