<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_stack(self, fqn, template, old_parameters, parameters, tags, force_interactive=False, force_change_set=False, stack_policy=None, **kwargs):
 """Update a Cloudformation stack. Args: fqn (str):
 The fully qualified name of the Cloudformation stack. template (:class:`stacker.providers.base.Template`):
 A Template object to use when updating the stack. old_parameters (list):
 A list of dictionaries that defines the parameter list on the existing Cloudformation stack. parameters (list):
 A list of dictionaries that defines the parameter list to be applied to the Cloudformation stack. tags (list):
 A list of dictionaries that defines the tags that should be applied to the Cloudformation stack. force_interactive (bool):
 A flag that indicates whether the update should be interactive. If set to True, interactive mode will be used no matter if the provider is in interactive mode or not. False will follow the behavior of the provider. force_change_set (bool):
 A flag that indicates whether the update must be executed with a change set. stack_policy (:class:`stacker.providers.base.Template`):
 A template object representing a stack policy. """

        logger.debug("Attempting to update stack %s:", fqn)
        logger.debug("    parameters: %s", parameters)
        logger.debug("    tags: %s", tags)
        if template.url:
            logger.debug("    template_url: %s", template.url)
        else:
            logger.debug("    no template url, uploading template directly.")
        update_method = self.select_update_method(force_interactive,
                                                  force_change_set)

        return update_method(fqn, template, old_parameters, parameters,
                             stack_policy=stack_policy, tags=tags, **kwargs)