#define NTS_SDN_CONTROLLER_CONFIG_XPATH "/nts-manager:simulation/sdn-controller"
#define NTS_VES_ENDPOINT_CONFIG_XPATH "/nts-manager:simulation/ves-endpoint"
+#define NTS_NETWORK_FUNCTION_FTYPE_SCHEMA_XPATH "/nts-network-function:simulation/network-function/function-type"
+
static manager_network_function_type *manager_context = 0;
static int manager_installed_function_types_count = 0;
}
}
+ rc = sr_set_item_str(session_running, NTS_NETWORK_FUNCTION_FTYPE_SCHEMA_XPATH, "NTS_FUNCTION_TYPE_MANAGER", 0, 0);
+ if(rc != SR_ERR_OK) {
+ log_error("sr_set_item_str failed");
+ return NTS_ERR_FAILED;
+ }
+
+
//apply all changes
rc = sr_apply_changes(session_running, 0, 0);
if(rc != SR_ERR_OK) {
assert(context_index < manager_installed_function_types_count);
assert(new_context);
- int ret_code = NTS_ERR_OK;
-
manager_network_function_type *current_context = &manager_context[context_index];
int rc = 0;
rc = manager_stop_instance(current_context);
if(rc != NTS_ERR_OK) {
log_error("manager_stop_instance failed");
- current_context->started_instances++;
- ret_code = NTS_ERR_FAILED;
+ return NTS_ERR_FAILED;
break;
}
}
rc = manager_start_instance(current_context);
if(rc != NTS_ERR_OK) {
log_error("manager_start_instance failed");
- current_context->started_instances--;
- ret_code = NTS_ERR_FAILED;
+ return NTS_ERR_FAILED;
break;
}
}
rc = manager_unmount_instance(current_context);
if(rc != NTS_ERR_OK) {
log_error("manager_unmount_instance failed");
- current_context->mounted_instances++;
- ret_code = NTS_ERR_FAILED;
break;
}
}
rc = manager_mount_instance(current_context);
if(rc != NTS_ERR_OK) {
log_error("manager_mount_instance failed");
- current_context->mounted_instances--;
- ret_code = NTS_ERR_FAILED;
break;
}
}
}
}
- return ret_code;
+ return NTS_ERR_OK;
}
static int manager_change_cb(sr_session_ctx_t *session, const char *module_name, const char *xpath, sr_event_t event, uint32_t request_id, void *private_data) {