'Simulate a new stack using the provided template.
Note that at this stage the template has already been fetched from the
heat-api process if using a template-url.
:param cnxt: RPC context.
:param stack_name: Name of the stack you want to create.
:param template: Template of stack you want to create.
:param params: Stack Input Params
:param files: Files referenced from the template
:param args: Request parameters/args passed from API
:param environment_files: optional ordered list of environment file
names included in the files dict
:type  environment_files: list or None'

@context.request_context
def preview_stack(self, cnxt, stack_name, template, params, files, args, environment_files=None):

    LOG.info('previewing    stack    %s', stack_name)
    conv_eng = cfg.CONF.convergence_engine
    stack = self._parse_template_and_validate_stack(cnxt, stack_name, template, params, files, environment_files, args, convergence=conv_eng)
    return api.format_stack_preview(stack)
