Add "managed" field to PIF and param to PIF.introduce

Indicates whether the interface is managed by xapi. If it is not, then xapi
will not configure the interface, the commands
PIF.plug/unplug/reconfigure_ip(v6) can not be used, nor can the interface be
bonded or have VLANs based on top through xapi.

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Only attempt to bring up managed PIFs at start of day
Enforce that only managed PIFs can be plugged, unplugged, and reconfigured

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Enforce that only managed PIFs can be bonded or have VLANs/tunnels

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Don't attempt to bring down an unmanaged PIF when forgetting it

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
When attaching a network, only configure managed PIFs

This change means that PIFs that are not managed by xapi can still be used by
VMs, and as management interface, but xapi will assume that they have already
been configured. This means that the interface must be up, it must have a
bridge (with a name matching the related network.bridge field), and it must
have IP configuration (in case of the management interface).

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Add optional "managed" argument to "xe pif-introduce"

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Whitespace and style improvements in management_reconfigure

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Allow changing management to an unmanaged PIF

For an unmanaged PIF, the ip_configuration_mode will always be "none". We still
allow such a PIF to be the management interface, and rely on "something else"
to setup the bridge and IP address.

Also fixes assertion logic in host.management_reconfigure.

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Allowing to forget the management PIF may cause trouble

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Merge pull request #1567 from robhoes/unmanaged-pif-pr1675

Unmanaged PIFs