Hi Brent,
I managed to do this by creating the port first, and then associating it with
the instance:
instance0_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: e0be3064-2011-4d92-b73c-5c4c6825b0c1
security_groups:
- 0875fe40-c509-44bf-ac68-e9a4795a64c6
instance0:
type: OS::Nova::Server
properties:
image: 1499479f-80d9-4f39-9129-eec7b6c8d976
flavor: m1.tiny
config_drive: true
networks:
- port: { get_resource: instance0_port0 }
You should be able to then use get_attr in your template to get characteristics
of the port:
get_attr: [instance0_port0, fixed_ips, 0, ip_address] -or-
get_attr: [instance0_port0, fixed_ips, 0, mac_address]
Hope that helps.
James
From: Brent Troge <[email protected]<mailto:[email protected]>>
Date: Thursday, March 24, 2016 at 2:44 PM
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Subject: [Openstack] Neutron Provider Networks Without DHCP
Using HEAT, I am creating VM instances against a neutron provider network that
does not
supply DHCP services.
Still using HEAT, any ideas on how I can grab the MAC address of the assigned
neutron port? I will also need to grab the IP Neutron has allocated to my VM
instance.
I will pass the MAC and IP to a user-data template.
The MAC will be used to find the name of the network interface on the VM.
Once the script finds the correct interface name, the user-data script
will plumb the VM NIC, then continue to create the network interface file to
make the network changes persistent.
So I guess my first hurdle is to find out how to modify my existing heat
template to discover
the allocated MAC and IP of the created/attached neutron port. Then pass those
data points to
a cloud-init user-data script.
_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : [email protected]
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack