Linking should be done in the right order, so: viz.link(parent, child). In your sample, you've linked the arrow to the viewport instead of the other way around.
Also if you don't need actually need the arrow, just replace it with an empty node like so:
Code:
viewNode = viz.addGroup()
viewLink = viz.link(viewNode, viz.MainView)