diff --git a/os_brick/initiator/connectors/scaleio.py b/os_brick/initiator/connectors/scaleio.py index 133884a62..2f1eeb40d 100644 --- a/os_brick/initiator/connectors/scaleio.py +++ b/os_brick/initiator/connectors/scaleio.py @@ -100,7 +100,7 @@ class ScaleIOConnector(base.BaseLinuxConnector): password = priv_scaleio.get_connector_password( CONNECTOR_CONF_PATH, connection_properties['config_group'], - connection_properties['failed_over']) + connection_properties.get('failed_over', False)) return password, None except Exception as e: msg = _("Error getting ScaleIO connector password from " diff --git a/os_brick/tests/initiator/connectors/test_scaleio.py b/os_brick/tests/initiator/connectors/test_scaleio.py index a8f7ed8b1..7679fcb35 100644 --- a/os_brick/tests/initiator/connectors/test_scaleio.py +++ b/os_brick/tests/initiator/connectors/test_scaleio.py @@ -319,3 +319,14 @@ class ScaleIOConnectorTestCase(test_connector.ConnectorTestCase): mock_device_size.return_value) self.rescan_vols_mock.assert_called_once_with( self.connector.RESCAN_VOLS_OP_CODE) + + def test_connection_properties_without_failed_over(self): + """Handle connection properties with 'failed_over' missing""" + connection_properties = dict(self.fake_connection_properties) + connection_properties.pop('failed_over') + + self.connector.connect_volume(connection_properties) + self.get_password_mock.assert_called_once_with( + scaleio.CONNECTOR_CONF_PATH, + connection_properties['config_group'], + False)