<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def expect_ha():
 """ Determine if the unit expects to be in HA Check juju goal-state if ha relation is expected, check for VIP or dns-ha settings which indicate the unit should expect to be related to hacluster. @returns boolean """

    ha_related_units = []
    try:
        ha_related_units = list(expected_related_units(reltype='ha'))
    except (NotImplementedError, KeyError):
        pass
    return len(ha_related_units) > 0 or config('vip') or config('dns-ha')