void saPlmFinalize_01(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); rc = saPlmFinalize(plmHandle); test_validate(rc, SA_AIS_OK); }
void saPlmEntityGroupCreate_04(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); rc = saPlmEntityGroupCreate(plmHandle,NULL); test_validate(rc, SA_AIS_ERR_INVALID_PARAM); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
void saPlmEntityGroupCreate_03(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); rc = saPlmEntityGroupCreate( -1 ,&entityGroupHandle); test_validate(rc, SA_AIS_ERR_BAD_HANDLE); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
void saPlmSelectionObjectGet_01(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, NULL, &PlmVersion), SA_AIS_OK); rc = saPlmSelectionObjectGet(plmHandle, &selectionObject); test_validate(rc, SA_AIS_OK); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
void saPlmEntityGroupAdd_09(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); safassert(saPlmEntityGroupCreate(plmHandle,&entityGroupHandle),SA_AIS_OK); rc=saPlmEntityGroupAdd(entityGroupHandle , &f120_slot_1_dn , "" ,SA_PLM_GROUP_SUBTREE_EES_ONLY); test_validate(rc, SA_AIS_ERR_INVALID_PARAM); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
void saPlmEntityGroupAdd_01(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, NULL, &PlmVersion), SA_AIS_OK); safassert(saPlmEntityGroupCreate(plmHandle,&entityGroupHandle), SA_AIS_OK); rc=saPlmEntityGroupAdd(entityGroupHandle , &f120_slot_1_dn , entityNamesNumber,SA_PLM_GROUP_SINGLE_ENTITY); test_validate(rc, SA_AIS_OK); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
void saPlmEntityGroupAdd_10(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); safassert(saPlmEntityGroupCreate(plmHandle,&entityGroupHandle),SA_AIS_OK); rc=saPlmEntityGroupAdd(entityGroupHandle , &f120_slot_1_dn , entityNamesNumber,-1); test_validate(rc, SA_AIS_ERR_INVALID_PARAM); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
void saPlmEntityGroupAdd_16(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); safassert(saPlmEntityGroupCreate(plmHandle,&entityGroupHandle),SA_AIS_OK); rc=saPlmEntityGroupAdd(entityGroupHandle , &f120_slot_1_dn , entityNamesNumber,SA_PLM_GROUP_SUBTREE); rc=saPlmEntityGroupAdd(entityGroupHandle , &amc_slot_1_dn , entityNamesNumber,SA_PLM_GROUP_SUBTREE); test_validate(rc, SA_AIS_ERR_EXIST); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
void saPlmEntityGroupAdd_13(void) { SaPlmCallbacksT plms_cbks; plms_cbks.saPlmReadinessTrackCallback = &TrackCallbackT; safassert(saPlmInitialize(&plmHandle, &plms_cbks, &PlmVersion), SA_AIS_OK); safassert(saPlmEntityGroupCreate(plmHandle,&entityGroupHandle),SA_AIS_OK); /* Nonexistent DN*/ rc=saPlmEntityGroupAdd(entityGroupHandle , &f120_nonexistent , entityNamesNumber,SA_PLM_GROUP_SINGLE_ENTITY); test_validate(rc, SA_AIS_ERR_NOT_EXIST); safassert(saPlmFinalize(plmHandle), SA_AIS_OK); }
SaAisErrorT clms_plm_init(CLMS_CB * cb) { SaAisErrorT rc = SA_AIS_OK; SaVersionT plmVersion = { 'A', 0x01, 0x01 }; SaNameT *entityNames = NULL; CLMS_CLUSTER_NODE *node = NULL; SaNameT nodename; SaUint32T i = 0, entityNamesNumber = ncs_patricia_tree_size(&clms_cb->ee_lookup); SaPlmReadinessTrackedEntitiesT *trackedEntities = NULL; TRACE_ENTER(); rc = saPlmInitialize(&cb->plm_hdl, &callbacks, &plmVersion); if (rc != SA_AIS_OK) { LOG_ER("saPlmInitialize FAILED rc = %d", rc); return rc; } rc = saPlmSelectionObjectGet(cb->plm_hdl, &cb->plm_sel_obj); if (rc != SA_AIS_OK) { LOG_ER("saPlmSelectionObjectGet FAILED rc = %d", rc); return rc; } if (clms_cb->reg_with_plm == SA_TRUE){ rc = saPlmEntityGroupCreate(cb->plm_hdl, &cb->ent_group_hdl); if (rc != SA_AIS_OK) { LOG_ER("saPlmEntityGroupCreate FAILED rc = %d", rc); return rc; } memset(&nodename, '\0', sizeof(SaNameT)); entityNames = (SaNameT *)malloc(sizeof(SaNameT) * entityNamesNumber); if (!entityNames) { LOG_ER("Malloc failed for entityNames"); assert(0); } TRACE("entityNamesNumber %d", entityNamesNumber); while ((node = clms_node_getnext_by_name(&nodename)) != NULL) { memcpy(&nodename, &node->node_name, sizeof(SaNameT)); if (node->ee_name.length != 0){ entityNames[i].length = node->ee_name.length; (void)memcpy(entityNames[i].value, node->ee_name.value, entityNames[i].length); i++; } } rc = saPlmEntityGroupAdd(cb->ent_group_hdl, entityNames, entityNamesNumber, SA_PLM_GROUP_SINGLE_ENTITY); if (rc != SA_AIS_OK) { LOG_ER("saPlmEntityGroupAdd FAILED rc = %d", rc); return rc; } trackedEntities = (SaPlmReadinessTrackedEntitiesT *) malloc(entityNamesNumber * sizeof(SaPlmReadinessTrackedEntitiesT)); if(!trackedEntities) { LOG_ER("Malloc failed for trackedEntities"); assert(0); } memset(trackedEntities, 0, (entityNamesNumber * sizeof(SaPlmReadinessTrackedEntitiesT))); rc = saPlmReadinessTrack(cb->ent_group_hdl, (SA_TRACK_CURRENT | SA_TRACK_CHANGES_ONLY | SA_TRACK_START_STEP | SA_TRACK_VALIDATE_STEP), 1, trackedEntities); /* trackCookie TBD */ if (rc != SA_AIS_OK) { LOG_ER("saPlmReadinessTrack FAILED rc = %d", rc); return rc; } TRACE("trackedEntities->numberOfEntities %d", trackedEntities->numberOfEntities); for (i = 0; i < trackedEntities->numberOfEntities; i++) { node = clms_node_get_by_eename(&trackedEntities->entities[i].entityName); if (node != NULL) { node->ee_red_state = trackedEntities->entities[i].currentReadinessStatus.readinessState; node->change = trackedEntities->entities[i].change; TRACE("node->ee_red_state %d", node->ee_red_state); } } } free(entityNames); free(trackedEntities); TRACE_LEAVE(); return rc; }