From e778f86f4389b3073b978600db0939b0fe7c4618 Mon Sep 17 00:00:00 2001 From: badra001 Date: Thu, 27 Apr 2023 14:17:43 -0400 Subject: [PATCH] fix --- code/ddns-lambda.py | 29 +++++++++++++++++------------ code/ddns-lambda.zip | Bin 24295 -> 24421 bytes 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/code/ddns-lambda.py b/code/ddns-lambda.py index 23112e3..1845793 100755 --- a/code/ddns-lambda.py +++ b/code/ddns-lambda.py @@ -73,7 +73,7 @@ LOGGER = logging.getLogger() account_id = None region = None -VERSION = '1.2.0b78' +VERSION = '1.2.0b80' # Read Env variables DEBUG_LOG_LEVEL = os.environ.get('DebugLogLevel', 'INFO') @@ -689,6 +689,8 @@ def lambda_handler( f_hostname = tag_data['option_name'].hostname f_zonename = tag_data['option_name'].zonename elif not tag_data['option_name'].valid and tag_data['option_name'].hostname and tag_data['dhcp_options'].valid: + LOGGER.info( + f"2.2 instance: {instance_id}, using tag_option.name hostname {tag_data['option_name'].hostname} and and tag_option.name zone {tag_data['option_name'].zonename}") f_hostname = tag_data['option_name'].hostname f_zonename = tag_data['dhcp_options'].zonename elif tag_data['name'].valid: @@ -3069,11 +3071,11 @@ def process_tags_flags(tags): """ Process the DNS flags tags into for tags[key]=='boc:dns:flags' - :param list(dict(string)) tags: tags from instance, list of dict of string + :param list(dict(string)) tags: tags from instance, list of dict of string. Keys and values turned to lowercase. :return dict(string): flag settings in defaultdict for controlling which names are registered and when """ - tag_dict = {tag['Key'].lstrip().lower(): tag['Value'] for tag in tags} + tag_dict = {tag['Key'].lstrip().lower(): tag['Value'].lower() for tag in tags} flags_dict = defaultdict(lambda: False) flags = tag_dict.get(TAGKEY_FLAGS.lower(), '').split(',') for flag in flags: @@ -3093,9 +3095,10 @@ def process_tags_value(name): """ if name != '': - components = parse_hostname_to_components(name) - if components: - return (True, components[0], components[1]) + return parse_hostname_to_components(name) +# components = parse_hostname_to_components(name) +# if components: +# return (True, components[0], components[1]) return (False, name, None) @@ -3200,10 +3203,10 @@ def parse_hostname_to_components(name): the Name, boc:dns:cname or boc:dns:name tags contain myhost.db.common.edl.census.gov, and the zone is common.edl.census.gov, simply checking at the first dot (host==myhost, domain==db.common.edl.census.gov) will fail. This will go through the list of PHZs found for the VPC for each of the possible domains, and return the name components if a match is found. - That returned name/zone shoudl be used for all settings. + That returned name/zone shoudl be used for all settings. If the zone is not found it will parse into first part before dot, remainder. :param str name: FQDN to parse and find existing defined PHZ - :return (str,str): Tuple containing hostname components (may include dot) and domain name for which a PHZ exists. None is returned if not found. + :return (bool,str,str): Tuple containing found-PHZ (True|False), hostname components (may include dot) and domain name for which a PHZ exists. None is returned if not found. """ global phz_collection_by_vpc @@ -3212,10 +3215,12 @@ def parse_hostname_to_components(name): host = '.'.join(names[0:i]) domain = '.'.join(names[i:]) + '.' if phz_collection_by_vpc.get(domain): - return (host, domain) - LOGGER.error( - f"No PHZ found for any domain components of {name} associated with this vpc: {lineno()}") - return None + return (True, host, domain) + host = name[0] + domain = '.'.join(names[1:]) + '.' + LOGGER.info( + f"No PHZ found for any domain components of {name} associated with this vpc, returing host {host} domain {domain}: {lineno()}") + return (False, host, domain) # noforward diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index 20d55fdc6a77fdd843b6c5df44d780adcb9a4e8f..2b6b2d5d8e0d8cdbe00388a61c696ce629b8a740 100644 GIT binary patch delta 22050 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 R04x}juU;|+6JG!T0029;NtOTr delta 21885 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
    gyr7h3HF*v0wURU zi|p)@+?)@G(M3KUBpDlE!RX&+JktD{6zdHKQbq%_knE%w>NJq1P`4~Aw1R3Lk20O^ zy#8_jAEQ@qcV3_9hJW$Is(>GVnS@k|B07;@yqJ6l92SsgpdvY-LRy>_OFJH3 ze5m(gmc2a_f1c|QCYv+MG9li?sooJ|)xevXImVY~WpWomJb5t>SNT#B=;d0bqIA1d?_TkFBaQhmN4uw*2GH0GqRZpn?O z5~$#y*;rn*r_b2JBg&BEamTvd`--i~n0P z&#F=U<^AE~4&pi@>y1$lfq|?QT0+oNfkpSlQ-{AP9JY_Z8RVzufZYaf{3R= zPW(F#MSrB&a6`)DlAbUoW`azqH!AX!bd;y3K6jj|RM~JA-&Afs5RmjnFOQ2U;ra-z z%<4xug9}13NKi;3WwYFz>?uf+1Ld9)#dNjmATI34Kj2_bo0tWe=VC!EKXl}}VjkZ> zoU&Zz2NY(5{EW>>Y!$K$ap}4v3781Jue&_Xi+_T!TzW3lVPd<>-oVc&( zVbCb^Aoy2*I@N=DY24+(zTT73b&Q3B%%oa`uU5Lq4Q_Rt=Xpv-aUuGoQpz3gzk7eW zKRSN@c7L>Ud^mdb{`lR_DSQQ;MO<)H<~jOw}Cjjahj4uG%=8{anO-2MYaY_@U*c)pj&tO$haU0$vBNu<|H@Y zE#HR|n!D$3^)t~}Thu_5Zxt!;VCVP{ZZ%$aJ($W9I|d7!nB?Pv7V`Mst@ZIN+BYAf z^Sc4u>R#Qoy?)6Y*NW2-kA6n3{Z!ac#jWOlO*krNye6}Kh3XtI_INVRELWp0+@>9Mmkk6vz|-I^60D?h; z)gjZW3Zw)Bl!Kp;e+d;09liNQ0??kE(pPmVR(?)m8O?rHe>%cwqS-iICV~iDGNq)3 z^6uq@^4p?wO*z~8pt5dRcQ~lTJ{D1oc{EM)i#UbF?9*tRrzyc*kkQ4>=xQO;v1I5I z9?A;{l$Sl~mo9_8qaQ1va&r4CIdRQq% z2e^Y1^~()JItk;Aww;924SV5i=9W!|Mc1T#m?Ld13og6SI9j8XPvADgY#LRAoHDpt zj8_V=Ey(goUR=jTf`1p}iWH3C-)4tUX2!xztI_0NNv3-8shXv{M!pHI$^|dqAWK{j zC?%eB%h@wcf3EgqdOg9gL?qj}6YDMIUa#Sl}bwgzzo^@f01f3h=uK0jWFVJ`$H!~VNtRkRRV zTMzERMEvMU7RR)9b27gm1!mmJu+}(TGRIG=UW}+PsPT;qmPLTu0AyYaNE$Ov$Mbkm zkYqU~gJ1KD?Ma$nZ_@;Z@ay(R`P5>8G=MBm%+7~uwz(PYU)Y`&`Es$1Hp*}a?{-d3 z_m3TZe@6OA_k=}Cmr3;oMTko&Qv(GZ$~3JIU-Xbm!pIWcQomcY!&Hlr%p`~}`(S_8 zo^qKQTJdaI*5zBP9y&EtI@b7_HI9Vk>?pgl5Zy`QYsdrO9j?K5;tpX zq3vDoIBDB6Vqn9$E&smjS!myyKks^WQ@7>cf1c3pl$GU>X}ETM?d8!KdPd}mWMZ8p zBxnbJ)JttK;`^e=4+Tx81hBXxn`7L8me9}<5?>PN?CkCRpX2>^??3E!;UX5MO`buq zlo`B*=+F7K{@GzXUo7xu2RZ*^VZ(I$Vp1W?WI)C*Wz)Drqnkdoc30didRG4ikUgiNEbW-a1{r zE5Au(Zq*<5+Ou|ji@11AFEcTk(~N!+OD#$NTRjpQsvkz=*lr#`Icv%bxK!rb3zN~N z&MK4jgPs&DSw#%kmsE7 zB3_g)!}K~{X1jSdq0^=8n2XK-{NKZOude?3&57XJYG0)!KcSy2Ql8A?G<{hq`|9{$ z|8Vc^KP