Repository : http://git.fedorahosted.org/cgit/
On branch : master
commit 8f363903e330257b10aece7cb8005b9b7c1c42bb Author: Matt Domsch Matt_Domsch@dell.com Date: Fri Dec 5 12:09:28 2014 -0600
bugfixes in update-EC2-netblocks
server/update-EC2-netblocks | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/server/update-EC2-netblocks b/server/update-EC2-netblocks index 8f3ec1d..e57b0a8 100755 --- a/server/update-EC2-netblocks +++ b/server/update-EC2-netblocks @@ -43,42 +43,46 @@ def get_ip_ranges(): def parse_ip_ranges(ipranges_str): return json.loads(ipranges_str)
-def host_has_netblock(hosts_by_region, host, netblock): - return netblock in hosts_by_region[host]['netblocks'] +def host_has_netblock(hosts_by_region, region, netblock): + return netblock in hosts_by_region[region]['netblocks']
def doit(): hosts_by_region = s3_mirrors() ipranges_str = get_ip_ranges() ipranges = parse_ip_ranges(ipranges_str)
- for p in ipranges.prefixes: + for p in ipranges['prefixes']: service = p['service'] region = p['region'] ip_prefix = p['ip_prefix'] if service != "EC2": continue + if region == "GLOBAL": + continue
if region in hosts_by_region: # ignore regions we don't have a mirror in - host = hosts_by_region[region] + h = hosts_by_region[region] + host = h['host'] if not host_has_netblock(hosts_by_region, region, ip_prefix): - print "Added region %s netblock %s" % (region, ip_prefix) + print "Added host %s netblock %s" % (host.name, ip_prefix) if not options.dry_run: nb = HostNetblock(host=host, netblock=ip_prefix) # this adds the entry to the database, mark as not stale - hosts_by_region[region]['netblocks'][ip_prefix] = {'host_netblock_id' : nb.id, - 'stale':False, - } + hosts_by_region[region]['netblocks'][ip_prefix] = {'host_netblock_id' : nb.id, + 'stale':False, + } else: # found the netblock in our database, mark it as not stale hosts_by_region[region]['netblocks'][ip_prefix]['stale'] = False
# delete stale netblock entries from the database - for h in hosts_by_region: - for netblock in hosts_by_region[h]['netblocks']: - if hosts_by_region[h]['netblocks'][netblock]['stale']: # delete this, it's no longer on Amazon's list - print "Deleted region %s netblock %s" % (region, netblock) - nb = HostNetblock.get(hosts_by_region[h]['netblocks'][netblock]['host_netblock_id']) + for region, h in hosts_by_region.items(): + for netblock in hosts_by_region[region]['netblocks']: + if hosts_by_region[region]['netblocks'][netblock]['stale']: # delete this, it's no longer on Amazon's list + host = h['host'] + print "Deleted host %s netblock %s" % (host.name, netblock) if not options.dry_run: + nb = HostNetblock.get(hosts_by_region[region]['netblocks'][netblock]['host_netblock_id']) nb.destroySelf()