Whenever a state run starts, gather the pillar data fresh

def _gather_pillar(self):
        '''
        Whenever a state run starts, gather the pillar data fresh
        '''
        if self._pillar_override:
            if self._pillar_enc:
                try:
                    self._pillar_override = salt.utils.crypt.decrypt(
                        self._pillar_override,
                        self._pillar_enc,
                        translate_newlines=True,
                        renderers=getattr(self, 'rend', None),
                        opts=self.opts,
                        valid_rend=self.opts['decrypt_pillar_renderers'])
                except Exception as exc:
                    log.error('Failed to decrypt pillar override: %s', exc)

            if isinstance(self._pillar_override, six.string_types):
                # This can happen if an entire pillar dictionary was passed as
                # a single encrypted string. The override will have been
                # decrypted above, and should now be a stringified dictionary.
                # Use the YAML loader to convert that to a Python dictionary.
                try:
                    self._pillar_override = yamlloader.load(
                        self._pillar_override,
                        Loader=yamlloader.SaltYamlSafeLoader)
                except Exception as exc:
                    log.error('Failed to load CLI pillar override')
                    log.exception(exc)

            if not isinstance(self._pillar_override, dict):
                log.error('Pillar override was not passed as a dictionary')
                self._pillar_override = None

        pillar = salt.pillar.get_pillar(
                self.opts,
                self.opts['grains'],
                self.opts['id'],
                self.opts['saltenv'],
                pillar_override=self._pillar_override,
                pillarenv=self.opts.get('pillarenv'))
        return pillar.compile_pillar()