Make ServiceNetMap support custom network names
[apex-tripleo-heat-templates.git] / firstboot / os-net-config-mappings.yaml
index 833c3bc..d7e0c52 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2015-10-15
+heat_template_version: ocata
 
 description: >
   Configure os-net-config mappings for specific nodes
@@ -38,7 +38,7 @@ resources:
         str_replace:
           template: |
             #!/bin/sh
-            eth_addr=$(/sbin/ifconfig eth0 | grep ether | awk '{print $2}')
+            eth_addr=$(cat /sys/class/net/*/address | tr '\n' ',')
             mkdir -p /etc/os-net-config
 
             # Create an os-net-config mapping file, note this defaults to
@@ -51,7 +51,7 @@ resources:
             input = sys.stdin.readline() or '{}'
             data = json.loads(input)
             for node in data:
-              if '${eth_addr}' in data[node].values():
+              if any(x in '$eth_addr'.split(',') for x in data[node].values()):
                 interface_mapping = {'interface_mapping': data[node]}
                 with open('/etc/os-net-config/mapping.yaml', 'w') as f:
                   yaml.safe_dump(interface_mapping, f, default_flow_style=False)