小编Ale*_*lex的帖子

如何获取模板中所有盐爪的列表?

基本上我正在创建一个描述Munin服务器配置的Salt状态,我需要得到一个已知给主人的所有小兵的列表,如下所示:

{% for host in pillar['munin_clients'] %}
[{{ host.fqdn }}]
    address {{ host.ip }}
    use_node_name yes
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

唯一的区别是我不想使用支柱,我需要动态填充此列表.ret.get_minions似乎是相关的,但由于某种原因我不能使它工作.我有什么选择?

configuration-management salt-stack

15
推荐指数
2
解决办法
1万
查看次数

如何避免在盐州重复自己?

我们有两个不同的环境,开发和生产,由一个Salt服务器管理.像这样的东西:

base:
  'dev-*':
    - users-dev
  'prod-*':
    - users-prod
Run Code Online (Sandbox Code Playgroud)

user-devusers-prod状态是几乎相同的,就像这样:

{% for user, data in pillar['users-dev'].items() %}
{{ user }}-user:
  user.present:
    < ...something... >
{{ user }}_ssh_auth:
  ssh_auth.present:
    < ...something... >
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我们不想复制代码,所以我们最初的想法是做这样的事情:

{% users = pillar['users'].items() %}
include:
  - users-common
Run Code Online (Sandbox Code Playgroud)

然后引用usersin users-common,但这不起作用,因为正确的Jinja语法是,set users = pillar['users'].items()并且这不打算跨盐状态包括.

那么,问题是如何正确地做到这一点?

configuration-management salt-stack

10
推荐指数
1
解决办法
471
查看次数

在Python中使用SOCKS5代理代理UDP

是否可以使用任何SOCKS客户端lib在Python中通过SOCKS5代理发送UDP数据报?SocksiPy似乎没有用,或者我只是错误地使用它.以下代码不起作用,它尝试直接连接到目标:

s = socks.socksocket ( socket.AF_INET, socket.SOCK_DGRAM )
s.setproxy(socks.PROXY_TYPE_SOCKS5,"socks.proxy.lan")
s.sendto ( payload, ( ip, port ) )
Run Code Online (Sandbox Code Playgroud)

如果我更改SOCK_DGRAMSOCK_STREAM代码也不起作用,它不会尝试连接任何地方.

python proxy socks

7
推荐指数
1
解决办法
2092
查看次数