diff --git a/plugin/src/main/java/org/opensearch/ml/action/register/TransportRegisterModelAction.java b/plugin/src/main/java/org/opensearch/ml/action/register/TransportRegisterModelAction.java index 77feac69b9..da2a5e0c13 100644 --- a/plugin/src/main/java/org/opensearch/ml/action/register/TransportRegisterModelAction.java +++ b/plugin/src/main/java/org/opensearch/ml/action/register/TransportRegisterModelAction.java @@ -270,7 +270,19 @@ private void doRegister(MLRegisterModelInput registerModelInput, ActionListener< mlFeatureEnabledSetting, ActionListener.wrap(r -> { if (Boolean.TRUE.equals(r)) { - createModelGroup(registerModelInput, listener); + if (registerModelInput.getModelInterface() == null) { + mlModelManager + .getConnector( + registerModelInput.getConnectorId(), + registerModelInput.getTenantId(), + ActionListener.wrap(connector -> { + updateRegisterModelInputModelInterfaceFieldsByConnector(registerModelInput, connector); + createModelGroup(registerModelInput, listener); + }, listener::onFailure) + ); + } else { + createModelGroup(registerModelInput, listener); + } } else { listener .onFailure( diff --git a/plugin/src/main/java/org/opensearch/ml/model/MLModelManager.java b/plugin/src/main/java/org/opensearch/ml/model/MLModelManager.java index 4319890b34..6e3b0100bc 100644 --- a/plugin/src/main/java/org/opensearch/ml/model/MLModelManager.java +++ b/plugin/src/main/java/org/opensearch/ml/model/MLModelManager.java @@ -2066,7 +2066,7 @@ public void getController(String modelId, ActionListener listener) * @param tenantId tenant id * @param listener action listener */ - private void getConnector(String connectorId, String tenantId, ActionListener listener) { + public void getConnector(String connectorId, String tenantId, ActionListener listener) { GetDataObjectRequest getDataObjectRequest = GetDataObjectRequest .builder() .index(ML_CONNECTOR_INDEX)