
New implementation adds verification of created port forwarding. Also it produce detailed error reporting including verbose output from ssh process. Change-Id: I8841e89cf7e78fad0f99e05d1d83a73cc253d05b Closes-Bug: #1644835
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
#
|
|
# Copyright 2016 Cray Inc., All Rights Reserved
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
from ironic_lib import exception
|
|
|
|
|
|
class SurvivedSubprocess(exception.IronicException):
|
|
message = (
|
|
'Subprocess PID:%(pid)d survived despite our termination requests')
|
|
|
|
|
|
class SubprocessError(exception.IronicException):
|
|
message = 'Can\'t execute command: %(command)s\n%(error)s'
|
|
|
|
|
|
class SSHSetupForwardingError(exception.IronicException):
|
|
message = (
|
|
'Unable to setup SSH port forwarding: %(error)s\n'
|
|
'(forward=%(forward)r endpoint=%(remote)s)\n\n%(output)s')
|
|
|
|
|
|
class SSHForwardedPortValidationError(exception.IronicException):
|
|
message = (
|
|
'Unable to make TCP connection via SSH forwarder port')
|