Openstack Neutron Instances not getting IP addresses
I have built a test Openstack Environment, identical to the Newton install guide:
http://docs.openstack.org/newton/install-guide-rdo/
My Cirros images only get assigned a DHCP address when the CentOS7 firewall is disabled on both Controller and Compute.
NICs on both Controller and Compute are in the public zone. I have issued the following commands on both for DHCP ports:
firewall-cmd --zone=public --add-port=67/udp --permanent
firewall-cmd --zone=public --add-port=68/udp --permanent
firewall-cmd --reload
In addition, I have also issued the following commands on Controller and Compute:
firewall-cmd --zone=public --add-service=dhcp --permanent
firewall-cmd --reload
What's your network configuration? If you use tunneling for tenant networks (VXLAN, GRE), the packets between the servers are not DHCP, but VXLAN (UDP port 4786 or so) or GRE packets. You have to either open the firewalls entirely or selectively for that type of traffic.
I have chosen Network Option 2, or self service network in the install guide:
http://docs.openstack.org/newton/install-guide-rdo/overview.html#network2
VXLAN is enabled. Is UDP 4786 the only port I need to open?
I have already opened up all ports on controller and compute in this Newton firewall guide: http://docs.openstack.org/newton/config-reference/firewalls-default-ports.html
UDP 4789 (corrected) is the VXLAN port. It doesn't appear on the page you reference, so I suppose if you didn't open this port, tenant network traffic is blocked. You could open it and see what happens. Or check by running tcpdump on the network node's physical interface, filtering for UDP 4789.