diff --git a/kubernetes/base/stream/ws_client.py b/kubernetes/base/stream/ws_client.py index 27191fa93b..7e203a9005 100644 --- a/kubernetes/base/stream/ws_client.py +++ b/kubernetes/base/stream/ws_client.py @@ -284,12 +284,15 @@ def returncode(self): else: if self._returncode is None: err = self.read_channel(ERROR_CHANNEL) + if not err: + return None err = yaml.safe_load(err) - if err['status'] == "Success": + if err and err.get('status') == 'Success': self._returncode = 0 - else: - self._returncode = int(err['details']['causes'][0]['message']) - return self._returncode + elif err and err.get('status') == 'Failure': + self._returncode = int( + err['details']['causes'][0]['message'] + ) def close(self, **kwargs): """