From 4a36c97449b9d38d19787b8ffcb486a6256fbe31 Mon Sep 17 00:00:00 2001 From: Marek Isalski Date: Sun, 25 Jul 2021 14:51:31 +0100 Subject: [PATCH] VLAN tidying time --- g2f-sync | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/g2f-sync b/g2f-sync index 145c30d..a721f3e 100755 --- a/g2f-sync +++ b/g2f-sync @@ -10,7 +10,7 @@ import json import re resolver = dns.resolver.Resolver() -vlan_re = re.compile( r"([:\.][0-9]+)" ) +vlan_re = re.compile( r"([:\.]?[0-9]+)" ) THINGTYPE_VM = "/api/v2/thingtype/4/" USER_MAREK = "/api/v2/user/1/" @@ -69,9 +69,16 @@ def fulcrm_get_thing( uuid = None, source_str = None, source = None, name = None return ( thing, False ) def ganeti_vlan( val ): + vlans = { "untagged": None, "tagged": [] } if val: - return [ x for ( i, x ) in enumerate( vlan_re.split( val ) ) if i % 2 ] - return None + for vid in [ x for ( i, x ) in enumerate( vlan_re.split( val ) ) if i % 2 ]: + if vid.startswith( ":" ): + vlans[ 'tagged' ].append( int( vid[ 1: ] ) ) + elif vid.startswith( "." ): + vlans[ 'untagged' ] = int( vid[ 1: ] ) + else: + vlans[ 'untagged' ] = int( vid ) + return vlans def unix_to_8601( t ): if t: