Administrator wants to be able to assign Vlan to the Isolated network with the Source Nat Service enabled. He also would like those networks to never be GCed.
1) Network offering creation
Have to remove the restriction when specifyVlan=true is allowed for Shared Network Offerings only. Should allow it for Isolated Network Offerings as well. When the parameter is set to true, it means that the Admin has to specify the Vlan when he creates the network.
2) Network creation
Only ROOT admin is aware of the Vlans in the system. So only he can create the tier with the vlan defined, on behalf of the regular user. UI should handle it and don't display network offerings with "specifyVlan=true" when create a new tier from the VPC view.
3) Network GC
To ensure that the network is never picked up by GC, set isPersistent flag to true when create network offering. Network GC thread will exclude those networks when it does the cleanup.
No DB changes
Question: should vlan come from the range defined on the Physical network? If so, we might need a set of APIs to display free vs allocated vlans. Or should it be the Vlan outside of the range defined on the physical network (just the way we do for Shared networks)?