我遇到了最愚蠢的问题.我无法弄清楚如何在Ansible 2.2任务文件中测试布尔值.
在vars/main.yml,我有:
destroy: false
Run Code Online (Sandbox Code Playgroud)
在剧本中,我有:
roles:
- {'role': 'vmdeploy','destroy': true}
Run Code Online (Sandbox Code Playgroud)
在任务文件中,我有以下内容:
- include: "create.yml"
when: "{{ destroy|bool }} == 'false'"
Run Code Online (Sandbox Code Playgroud)
我尝试了以下各种组合:
when: "{{ destroy|bool }} == false"
when: "{{ destroy|bool }} == 'false'"
when: "{{ destroy|bool == false}}"
when: "{{ destroy == false}}"
when: "{{ destroy == 'false'}}"
when: destroy|bool == false
when: destroy|bool == 'false'
when: not destroy|bool
Run Code Online (Sandbox Code Playgroud)
在以上所有情况下,我仍然得到:
statically included: .../vmdeploy/tasks/create.yml
Run Code Online (Sandbox Code Playgroud)
调试输出:
- debug:
msg: "{{ destroy }}"
---
ok: [atlcicd009] => {
"msg": true …Run Code Online (Sandbox Code Playgroud) 有关于此的各种帖子,但我仍然没有得到它.我想上传*.csv并阅读并处理其内容.
我的玉文件就是这个
//views/import.jade
extends layout
block content
h1= title
form(action="/import", method="post", enctype="multipart/form-data")
input(type="file", name="ufile")
input(type="submit", name="Upload")
Run Code Online (Sandbox Code Playgroud)
-
我更改了代码,但req.files未定义
//routes/index.js
/* import page. */
router.get('/blah', function(req, res, next) {
res.render('import', { title: 'Import Data' });
});
router.post('/import', function(req, res) {
console.log(req.files);
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud) 我有两个功能,draw_ascii_spinner和findCluster(companyid).
我想要:
findCluster(companyid)在后台运行并在处理.... draw_ascii_spinner直到findCluster(companyid)完成我该如何开始尝试解决这个问题(Python 2.7)?
我想将一组ips共同放入一个字符串中.
示例ip1:2181,ip2:2181,ip3:2181等
{% for host in groups['zookeeper'] %}
{{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我有上面的代码,但似乎无法弄清楚如何连接成一个字符串.
搜索"Jinja2 concatenate"并不能提供我需要的信息.
如果缺少特定的apt包,我正在寻找一系列任务.
例如:
如果没有安装石墨碳,请执行以下操作:
- apt: name=debconf-utils state=present
- shell: echo 'graphite-carbon/postrm_remove_databases boolean false' | debconf-set-selections
- apt: name=debconf-utils state=absent
Run Code Online (Sandbox Code Playgroud)
另一个例子:
如果未安装statsd,请执行以下操作:
- file: path=/tmp/build state=directory
- shell: cd /tmp/build ; git clone https://github.com/etsy/statsd.git ; cd statsd ; dpkg-buildpackage
- shell: dpkg -i /tmp/build/statsd*.deb
Run Code Online (Sandbox Code Playgroud)
我怎么会开始破解这个?
我想也许我可以做某个-shell: dpkg -l|grep <package name>并以某种方式捕获返回代码.
我正在使用python将一个字符串插入带有特殊字符的MySQL.
要插入的字符串如下所示:
macaddress_eth0;00:1E:68:C6:09:A0;macaddress_eth1;00:1E:68:C6:09:A1
Run Code Online (Sandbox Code Playgroud)
这是SQL:
UPGRADE inventory_server
set server_mac = macaddress\_eth0\;00\:1E\:68\:C6\:09\:A0\;macaddress\_eth1\;00\:1E\:68\:C6\:09\:A1'
where server_name = 'myhost.fqdn.com
Run Code Online (Sandbox Code Playgroud)
当我执行更新时,我收到此错误:
ERROR 1064 (42000):
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'UPGRADE inventory_server
set server_mac = 'macaddress\_eth0\;00\:1E\:68\:C6\:09\' at line 1
Run Code Online (Sandbox Code Playgroud)
python代码:
sql = 'UPGRADE inventory_server set server_mac = \'%s\' where server_name = \'%s\'' % (str(mydb.escape_string(macs)),host)
print sql
try:
con = mydb.connect(DBHOST,DBUSER,DBPASS,DB);
with con:
cur = con.cursor(mydb.cursors.DictCursor)
cur.execute(sql)
con.commit() …Run Code Online (Sandbox Code Playgroud) 我很难搞清楚如何从主机名中剥离最后一段时间......
电流输出:
期望的输出:
尝试1:
print string[:-1] #it works on some lines but not all
Run Code Online (Sandbox Code Playgroud)
尝试2:
str = string.split('.')
subd = '.'.join(str[0:-1])
print subd # does not work at all
Run Code Online (Sandbox Code Playgroud)
码:
global DOMAINS
if len(DOMAINS) >= 1:
for domain in DOMAINS:
cmd = "dig @adonis.dc1.domain.com axfr %s |grep NS |awk '{print $1}'|sort -u |grep -v '^%s.$'" % (domain,domain)
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
string = p.stdout.read()
string = string.strip().replace(' ','')
if …Run Code Online (Sandbox Code Playgroud) 我想在的管理显示中显示ip_addressfromHosts模型HostInfo。
# models.py
class Hosts(models.Model):
host_name = models.CharField(max_length=200, unique=True)
ip_address = models.GenericIPAddressField(protocol='both', unpack_ipv4=True)
def __unicode__(self):
return unicode(self.host_name)
def hostip(self):
return unicode(self.ip_address)
Run Code Online (Sandbox Code Playgroud)
我在 admin.py 中有以下内容
# admin.py
class HostInfoResource(resources.ModelResource):
host = fields.Field(column_name='host',
attribute='host',
widget=ForeignKeyWidget(Hosts, 'host_name'))
project = fields.Field(column_name='project',
attribute='project',
widget=ForeignKeyWidget(Project, 'project_name'))
env = fields.Field(column_name='env',
attribute='env',
widget=ForeignKeyWidget(Env, 'env_name'))
class Meta:
model = HostInfo
skip_unchanged = True
import_id_fields = ('id', 'host','ticket','deployed_by')
export_order = ('id', 'host', 'nexpose_level','cpus','memory','os',
'sudoers_copied', 'sudo_granted', 'extra_disks','app_type','app_name',
'vcenter_status','ticket','env','project','deployed_by',
'updated_on','created_on')
class HostInfoAdmin(ImportExportModelAdmin):
resource_class = HostInfoResource
list_display …Run Code Online (Sandbox Code Playgroud) 我试图找出如何读取上传的CSV而不将其保存到磁盘...
我被困在form.cleaned_data ['file'].读...我似乎没有得到任何输出
如果我只能弄清楚如何获得输出,那么我可以编写一个适当的函数来处理数据行.
#addreport.html
<form enctype="multipart/form-data" method="post" action="/products/addreport/"> {%csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Submit" />
Run Code Online (Sandbox Code Playgroud)
#forms.py
from django import forms
#
class UploadFileForm(forms.Form):
file = forms.FileField()
Run Code Online (Sandbox Code Playgroud)
-
# views.py
def addreport(request):
if request and request.method == "POST":
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
print form.cleaned_data['file'].read()
else:
print form.errors
print request.FILES
#form = UploadFileForm()
else:
form = UploadFileForm()
return render_to_response('products/addreport.html', {'form': form},context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以使用一个标签创建名称空间 kubectl?
例如
kubectl create ns <newnamespace> label=appid:foo12
Run Code Online (Sandbox Code Playgroud)
而不是使用kubectl apply -f <somefile>
ansible ×3
python ×3
django ×2
file-upload ×2
ansible-2.x ×1
apt ×1
background ×1
boolean ×1
csv ×1
django-admin ×1
express ×1
function ×1
jinja2 ×1
kubectl ×1
kubernetes ×1
mysql ×1
node.js ×1
pug ×1
regex ×1
replace ×1