code: def enable(soft_fail=False):
      
      if is_enabled():
          return True
  
      if not is_ipv6_ok(soft_fail):
          disable_ipv6()
  
      output = subprocess.check_output(['ufw', 'enable'],
                                       universal_newlines=True,
                                       env={'LANG': 'en_US',
                                            'PATH': os.environ['PATH']})
  
      m = re.findall('^Firewall is active and enabled on system startup\n',
                     output, re.M)
      hookenv.log(output, level='DEBUG')
  
      if len(m) == 0:
          hookenv.log("ufw couldn't be enabled", level='WARN')
          return False
      else:
          hookenv.log("ufw enabled", level='INFO')
          return True
docs: Enable ufw
  
      :param soft_fail: If set to True silently disables IPv6 support in ufw,
                        otherwise a UFWIPv6Error exception is raised when IP6
                        support is broken.
      :returns: True if ufw is successfully enabled