Commit 4530733c authored by Kevin Di Lallo's avatar Kevin Di Lallo
Browse files

poa selection algorithm fix + metrics engine return code updates

parent 3d0f2384
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -217,8 +217,13 @@ func processScenarioActivate() {
	// Sync with active scenario store
	ge.activeModel.UpdateScenario()

	// Retrieve & process Assets in active scenario
	assetList := ge.activeModel.GetNodeNames(mod.NodeTypeUE, mod.NodeTypePoa, mod.NodeTypePoaCell, mod.NodeTypeEdge, mod.NodeTypeFog, mod.NodeTypeCloud)
	// Retrieve & process POA and Compute Assets in active scenario
	assetList := ge.activeModel.GetNodeNames(mod.NodeTypePoa, mod.NodeTypePoaCell, mod.NodeTypeEdge, mod.NodeTypeFog, mod.NodeTypeCloud)
	addAssets(assetList)

	// Retrieve & process UE assets in active scenario
	// NOTE: Required to make sure initial UE selection takes all POAs into account
	assetList = ge.activeModel.GetNodeNames(mod.NodeTypeUE)
	addAssets(assetList)
}

+3 −3
Original line number Diff line number Diff line
@@ -306,7 +306,7 @@ func mePostEventQuery(w http.ResponseWriter, r *http.Request) {
	if len(valuesArray) == 0 {
		err := errors.New("No matching metrics found")
		log.Error(err.Error())
		http.Error(w, err.Error(), http.StatusNotFound)
		http.Error(w, err.Error(), http.StatusNoContent)
		return
	}

@@ -386,7 +386,7 @@ func mePostHttpQuery(w http.ResponseWriter, r *http.Request) {
	if len(valuesArray) == 0 {
		err := errors.New("No matching metrics found")
		log.Error(err.Error())
		http.Error(w, err.Error(), http.StatusNotFound)
		http.Error(w, err.Error(), http.StatusNoContent)
		return
	}

@@ -511,7 +511,7 @@ func mePostNetworkQuery(w http.ResponseWriter, r *http.Request) {
	if len(valuesArray) == 0 {
		err := errors.New("No matching metrics found")
		log.Error(err.Error())
		http.Error(w, err.Error(), http.StatusNotFound)
		http.Error(w, err.Error(), http.StatusNoContent)
		return
	}

+3 −3
Original line number Diff line number Diff line
@@ -68,11 +68,11 @@ func TestEventsMetricsGetSet(t *testing.T) {
	}

	fmt.Println("Get event metrics")
	_, err = ms.GetEventMetric("MOBILITY", "1ms", 0)
	if err == nil {
	eml, err := ms.GetEventMetric("MOBILITY", "1ms", 0)
	if err != nil || len(eml) != 0 {
		t.Fatalf("No metrics should be found in the last 1 ms")
	}
	eml, err := ms.GetEventMetric("MOBILITY", "", 1)
	eml, err = ms.GetEventMetric("MOBILITY", "", 1)
	if err != nil || len(eml) != 1 {
		t.Fatalf("Failed to get metric")
	}
+13 −13
Original line number Diff line number Diff line
@@ -60,32 +60,32 @@ func TestHttpMetricsGetSet(t *testing.T) {
	}

	fmt.Println("Get http metrics")
	_, err = ms.GetHttpMetric("logger3", "RX", "", 0)
	if err == nil {
	hml, err := ms.GetHttpMetric("logger3", "RX", "", 0)
	if err != nil || len(hml) != 0 {
		t.Fatalf("No metrics should be found for logger3")
	}
	h, err := ms.GetHttpMetric("logger1", "RX", "", 0)
	if err != nil || len(h) != 1 {
	hml, err = ms.GetHttpMetric("logger1", "RX", "", 0)
	if err != nil || len(hml) != 1 {
		t.Fatalf("Failed to get metric")
	}
	if !validateHttpMetric(h[0], "logger1", "RX", 1, "url1", "endpoint1", "method1", "body1", "respBody1", "201", "101") {
	if !validateHttpMetric(hml[0], "logger1", "RX", 1, "url1", "endpoint1", "method1", "body1", "respBody1", "201", "101") {
		t.Fatalf("Invalid http metric")
	}

	h, err = ms.GetHttpMetric("logger1", "TX", "", 0)
	if err != nil || len(h) != 2 {
	hml, err = ms.GetHttpMetric("logger1", "TX", "", 0)
	if err != nil || len(hml) != 2 {
		t.Fatalf("Failed to get metric")
	}
	h, err = ms.GetHttpMetric("logger1", "", "", 0)
	if err != nil || len(h) != 3 {
	hml, err = ms.GetHttpMetric("logger1", "", "", 0)
	if err != nil || len(hml) != 3 {
		t.Fatalf("Failed to get metric")
	}
	h, err = ms.GetHttpMetric("", "RX", "", 0)
	if err != nil || len(h) != 2 {
	hml, err = ms.GetHttpMetric("", "RX", "", 0)
	if err != nil || len(hml) != 2 {
		t.Fatalf("Failed to get metric")
	}
	h, err = ms.GetHttpMetric("logger1,logger2", "RX", "", 0)
	if err != nil || len(h) != 2 {
	hml, err = ms.GetHttpMetric("logger1,logger2", "RX", "", 0)
	if err != nil || len(hml) != 2 {
		t.Fatalf("Failed to get metric")
	}

+8 −13
Original line number Diff line number Diff line
@@ -307,13 +307,7 @@ func (ms *MetricStore) GetInfluxMetric(metric string, tags map[string]string, fi
	}

	// Process response
	if len(response.Results) <= 0 || len(response.Results[0].Series) <= 0 {
		err = errors.New("Query returned no results")
		log.Error("Query failed with error: ", err.Error())
		return values, err
	}

	// Read results
	if len(response.Results) > 0 && len(response.Results[0].Series) > 0 {
		row := response.Results[0].Series[0]
		for _, qValues := range row.Values {
			rValues := make(map[string]interface{})
@@ -322,6 +316,7 @@ func (ms *MetricStore) GetInfluxMetric(metric string, tags map[string]string, fi
			}
			values = append(values, rValues)
		}
	}

	return values, nil
}
Loading