```python
Traceback (most recent call last):
File "/testing/tests/unit/stateconf_test.py", line 117, in test_state_prefix
''', sls='test')
File "/testing/tests/unit/stateconf_test.py", line 30, in render_sls
**kws.copy()
File "/testing/salt/renderers/stateconf.py", line 229, in render
data = process_sls_data(sls_templ, tmplctx)
File "/testing/salt/renderers/stateconf.py", line 114, in process_sls_data
argline=rt_argline.strip(), **kws
File "/testing/salt/renderers/jinja.py", line 41, in render
tmp_data.get('data', 'Unknown render error in jinja renderer')
SaltRenderError: Traceback (most recent call last):
File "/testing/salt/utils/templates.py", line 64, in render_tmpl
output = render_str(tmplstr, context, tmplpath)
File "/testing/salt/utils/templates.py", line 102, in render_jinja_tmpl
loader = JinjaSaltCacheLoader(opts, context['env'])
File "/testing/salt/utils/jinja.py", line 42, in __init__
self.searchpath = opts['file_roots'][env]
TypeError: list indices must be integers, not str
```
* We try to import `OrderedDict` from the standard library, which is only available on python >= 2.7, if `ImportError` is raised we try to import it from `ordereddict`, a package available in PyPi. As a last resort, we provide our own implementation based on http://code.activestate.com/recipes/576669/.
* Update all code requiring `OrderDict` to use our compatible import module.
No more errors are shown because the configuration files are not readable, and in fact, the minion configuration can be use, unlike what was said in the comment.
- Added implicit ordering to pydsl.(turned on via __pydsl__.set(ordered=True))
- Fixed a KeyError bug in stateconf renderer that happens during id renaming.
- The stateconf renderer now generates a no-op start state as the
"first" state in a sls file.(enabled via -s)
- Made the stateconf renderer take high state input via the new -p
option, so we can pipe pydsl output into it.
- Added more and fixed some test cases for stateconf and pydsl.