Skip to content

Commit a51ee06

Browse files
author
Chiradeep Vittal
committed
bug 11302: more efficient caching of keyword
1 parent c05903b commit a51ee06

2 files changed

Lines changed: 1425 additions & 2 deletions

File tree

scripts/vm/hypervisor/xenserver/vmops

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,9 @@ def can_bridge_firewall(session, args):
405405
allow_egress_traffic(session)
406406
if not os.path.exists('/var/run/cloud'):
407407
os.makedirs('/var/run/cloud')
408+
if not os.path.exists('/var/cache/cloud'):
409+
os.makedirs('/var/cache/cloud')
410+
get_ipset_keyword()
408411

409412
cleanup_rules_for_dead_vms(session)
410413
cleanup_rules(session, args)
@@ -1152,9 +1155,8 @@ def inflate_rules (zipped):
11521155
return zlib.decompress(base64.b64decode(zipped))
11531156

11541157
@echo
1155-
def get_ipset_keyword():
1158+
def cache_ipset_keyword():
11561159
tmpname = 'ipsetqzvxtmp'
1157-
keyword = 'match-set'
11581160
try:
11591161
util.pread2(['/bin/bash', '-c', 'ipset -N ' + tmpname + ' iptreemap'])
11601162
except:
@@ -1171,6 +1173,32 @@ def get_ipset_keyword():
11711173
util.pread2(['/bin/bash', '-c', 'ipset -X ' + tmpname])
11721174
except:
11731175
pass
1176+
1177+
cachefile = "/var/cache/cloud/ipset.keyword"
1178+
util.SMlog("Writing ipset keyword to " + cachefile)
1179+
cachef = open(cachefile, 'w')
1180+
try:
1181+
cachef.write(keyword)
1182+
cachef.write('\n')
1183+
except:
1184+
util.SMlog("Failed to write to cache file " + cachef)
1185+
1186+
cachef.close()
1187+
return keyword
1188+
1189+
@echo
1190+
def get_ipset_keyword():
1191+
cachefile = "/var/cache/cloud/ipset.keyword"
1192+
keyword = 'match-set'
1193+
1194+
if not os.path.exists(cachefile):
1195+
util.SMlog("Failed to find ipset keyword cachefile %s" %cachefile)
1196+
keyword = cache_ipset_keyword()
1197+
else:
1198+
lines = (line.rstrip() for line in open(cachefile))
1199+
for line in lines:
1200+
keyword = line
1201+
break
11741202

11751203
return keyword
11761204

0 commit comments

Comments
 (0)