Ansible 放入相同的选项命令列表元素的所有值

问题描述

操作系统:W2K16 服务器 Ansible:2.9.9

搜索了在 winshell 命令中放置几个​​变量的方法,但是这段代码启动了 3 次 winshell 命令:

- name: "ntp conf"
  win_shell: | 
  'w32tm /config /manualpeerlist: {{ item }} /syncfromflags:MANUAL'
  with_items:
   - 192.168.0.1
   - 192.168.0.10
   - 192.168.0.100

我希望,命令已启动:

w32tm /config /manualpeerlist:"192.168.0.1 192.168.0.10 192.168.0.100" /syncfromflags:MANUAL'

请不要参考“ntp”ansible模块,这是一个例子,我需要了解如何从列表中获取多个值并一次运行。

非常感谢!

解决方法

将peer放入列表并加入items,例如

import torch
import torch.nn as nn
import torch.nn.functional as F    


raw_data = [[1960],[59184116488.9977],[1961],[49557050182.9631],[1962],[46685178504.3274],[1963],[50097303271.0232],[1964],[59062254890.1871],[1965],[69709153115.3147],[1966],[75879434776.1831],[1967],[72057028559.6741],[1968],[69993497892.3132],[1969],[78718820477.9257],[1970],[91506211306.3745],[1971],[98562023844.1813],[1972],[112159813640.376],[1973],[136769878359.668],[1974],[142254742077.706],[1975],[161162492226.686],[1976],[151627687364.405],[1977],[172349014326.931],[1978],[148382111520.192],[1979],[176856525405.729],[1980],[189649992463.987],[1981],[194369049090.197],[1982],[203549627211.606],[1983],[228950200773.115],[1984],[258082147252.256],[1985],[307479585852.339],[1986],[298805792971.544],[1987],[271349773463.863],[1988],[310722213686.031],[1989],[345957485871.286],[1990],[358973230048.399],[1991],[381454703832.753],[1992],[424934065934.066],[1993],[442874596387.119],[1994],[562261129868.774],[1995],[732032045217.766],[1996],[860844098049.121],[1997],[958159424835.34],[1998],[1025276902078.73],[1999],[1089447108705.89],[2000],[1205260678391.96],[2001],[1332234719889.82],[2002],[1461906487857.92],[2003],[1649928718134.59],[2004],[1941745602165.09],[2005],[2268598904116.28],[2006],[2729784031906.09],[2007],[3523094314820.9],[2008],[4558431073438.2],[2009],[5059419738267.41],[2010],[6039658508485.59],[2011],[7492432097810.11],[2012],[8461623162714.07],[2013],[9490602600148.49],[2014],[10354831729340.4]]

years = [x for x in raw_data[::2]]
values = [x for x in raw_data[1::2]]
X = torch.tensor(years,dtype=torch.float32)
Y = torch.tensor(values,dtype=torch.float32)

class PredictorModel(nn.Module):
    def __init__(self,input_size,output_size):
        super().__init__()
        self.linear1 = nn.Linear(input_size,10)
        self.linear2 = nn.Linear(10,1)

    def forward(self,xb):
        out = self.linear1(xb)
        out = F.leaky_relu(out)
        out = self.linear2(out)
        
        return out


model = PredictorModel(1,1)
optimizer = torch.optim.SGD(model.parameters(),lr=0.0000000001)

epochs = 10

for epoch in range(epochs):
    # forward pass
    y_predicted = model(X)
    # print(y_predicted)
    # print(Y)
    # exit(1)
    loss = F.mse_loss(y_predicted,Y)

    # backward pass
    loss.backward()

    # update
    optimizer.step()
    optimizer.zero_grad()

    print(f'epoch: {epoch + 1},loss:{loss.item():.4f}')

给予

    - command:
        cmd: |
          echo "{{ _peers|join(' ') }}"
      register: result
      vars:
        _peers:
          - 192.168.0.1
          - 192.168.0.10
          - 192.168.0.100
    - debug:
        var: result.stdout