'Failover a backend to a secondary replication target.
Instructs a replication capable/configured backend to failover
to one of it\'s secondary replication targets. host=None is
an acceptable input, and leaves it to the driver to failover
to the only configured target, or to choose a target on it\'s
own. All of the hosts volumes will be passed on to the driver
in order for it to determine the replicated volumes on the host,
if needed.
Response is a tuple, including the new target backend_id
AND a lit of dictionaries with volume_id and updates.
Key things to consider (attaching failed-over volumes):
- provider_location
- provider_auth
- provider_id
- replication_status
:param context: security context
:param volumes: list of volume objects, in case the driver needs
to take action on them in some way
:param secondary_id: Specifies rep target backend to fail over to
:param groups: replication groups
:returns: ID of the backend that was failed-over to,
model update for volumes, and model update for groups'

def failover_host(self, context, volumes, secondary_id=None, groups=None):

    raise NotImplementedError()
