Commit 0aca50e9 authored by Simon Pastor's avatar Simon Pastor
Browse files

edge node mobility

parent 01fddc2a
Loading
Loading
Loading
Loading
+11 −2
Original line number Original line Diff line number Diff line
@@ -301,16 +301,25 @@ func (m *Model) MoveNode(nodeName string, destName string) (oldLocName string, n
		return "", "", errors.New("Mobility: " + nodeName + " not found")
		return "", "", errors.New("Mobility: " + nodeName + " not found")
	}
	}


	if moveNode.nodeType == "EDGE-APP" {
	switch moveNode.nodeType {
	case "EDGE-APP":
		oldLocName, newLocName, err = m.moveProc(moveNode, destName)
		oldLocName, newLocName, err = m.moveProc(moveNode, destName)
		if err != nil {
		if err != nil {
			return "", "", err
			return "", "", err
		}
		}
	} else {
	case "FOG", "UE":
		oldLocName, newLocName, err = m.movePL(moveNode, destName)
		oldLocName, newLocName, err = m.movePL(moveNode, destName)
		if err != nil {
		if err != nil {
			return "", "", err
			return "", "", err
		}
		}
	case "EDGE":
		//edge nodes are children of default network locations
		oldLocName, newLocName, err = m.movePL(moveNode, destName+"-DEFAULT")
		if err != nil {
			return "", "", err
		}
	default:
		return "", "", errors.New("Unsupported nodeType " + moveNode.nodeType)
	}
	}


	err = m.refresh()
	err = m.refresh()
+11 −1
Original line number Original line Diff line number Diff line
@@ -256,7 +256,17 @@ func TestMoveNode(t *testing.T) {
	if new != "zone1-poa1" {
	if new != "zone1-poa1" {
		t.Fatalf("Move Node - wrong destination Location " + new)
		t.Fatalf("Move Node - wrong destination Location " + new)
	}
	}

	fmt.Println("Move edge node zone1-edge1 to a new zone")
	old, new, err = m.MoveNode("zone1-edge1", "zone2")
	if err != nil {
		t.Fatalf("Error moving EDGE node")
	}
	if old != "zone1-DEFAULT" {
		t.Fatalf("Move Node - wrong origin Location " + old)
	}
	if new != "zone2-DEFAULT" {
		t.Fatalf("Move Node - wrong destination Location " + new)
	}
	fmt.Println("Move zone1-edge1-iperf")
	fmt.Println("Move zone1-edge1-iperf")
	_, _, err = m.MoveNode("zone1-edge1-iperf", "zone2-edge2")
	_, _, err = m.MoveNode("zone1-edge1-iperf", "zone2-edge2")
	if err == nil {
	if err == nil {