Closed edgan closed 6 years ago
@edgan I am having a hard time trying to replicate this on 2016.3.1-centos7. Here is my setup. I tried ot keep it exactly as your configs but for my repos:
/srv/salt/_ssh
cachedir: /var/tmp/salt-ssh/cache
ssh_user: user
ssh_priv: /home/user/.ssh/id_rsa
state_output: mixed
ssh_minion_opts:
failhard: True
log_file: /dev/null
gitfs_provider: pygit2
fileserver_backend:
- git
ext_pillar:
- git:
- master git@github.com:Ch3LL/Ch3LLScripts.git:
- pubkey: /home/ch3ll/.ssh/int.pub
- privkey: /home/ch3ll/.ssh/int
gitfs_remotes:
- git@github.com:Ch3LL/Ch3LLScripts.git:
- root: salt/states
- pubkey: /home/ch3ll/.ssh/int.pub
- privkey: /home/ch3ll/.ssh/int
top_file_merging_strategy: same
salt-ssh:
config_dir: .
max_procs: 1
ssh_wipe: True
ch3ll-test: {host: <ipaddress>}
Then when I run sudo salt-ssh ch3ll-test state.highstate -ldebug
the highstate runs correctly and I do not see any errors. Is there anything about my test case that you can point out that I'm doing wrong?
I'm actually using it like this on 2016.11 and it works as advertised (well, it doesn't but that's a different story/issue ;))
Thanks for the input @The-Loeki
@edgan are you still running into this issue?
Yes, it still doesn't work for me. I think it is my use of "include:" in the top.sls.
If I don't set top_file_merging_strategy in the master file I get the errors below. Which just seems to be the same problem with less output.
salt-ssh-2016.11.3 python2-pygit2-0.24.2
[ngrennan@higgs _ssh_master_dev](master|✔) salt-ssh 'salt-salt-master-01.inf.us-west-2.aws.plume.tech' state.highstate
[ERROR ] Rendering exception occurred: Jinja variable 'dict object' has no attribute 'is_bento'
[CRITICAL] Rendering SLS 'base:base' failed: Jinja variable 'dict object' has no attribute 'is_bento'
[ERROR ] Template was specified incorrectly: False
salt-salt-master-01.inf.us-west-2.aws.plume.tech:
- Rendering SLS 'base:base' failed: Jinja variable 'dict object' has no attribute 'is_bento'
- No matching sls found for 'deployer' in env 'base'
If I use "top_file_merging_strategy: same" in the master file, I get the exact same errors as before.
base:
'* and not G@is_ssh:2':
- base
'* and not G@ops:env:inf and not G@is_ssh:2':
- deployer
'G@ops:component_cluster:web-neptune and not G@is_ssh:2':
- neptune
include:
- data
- deployments
- deploys
- infrastructure
- production
- shared
These errors suggest that it is not picking up my custom python grains from _grains when using gitfs. This does work when using the filesystem method.
[ERROR ] Rendering exception occurred: Jinja variable 'dict object' has no attribute 'is_bento'
[CRITICAL] Rendering SLS 'base:base' failed: Jinja variable 'dict object' has no attribute 'is_bento'
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
If this issue is closed prematurely, please leave a comment and we will gladly reopen the issue.
Description of Issue/Question
I recently switched from filesystem to pygit2/gitfs on my salt master. I am using salt-ssh for development, and found another bug where they didn't behave the same. I ended up tracking it down to filesystem vs gitfs. Then I decided to run salt-ssh with pygit2/gitfs, and found this bug.
Setup
Steps to Reproduce Issue
Command:
Log:
Versions Report