How to assign Internal & External IPs to an Instance?
I have bare-metal servers from SoftLayer where each machine by default comes with two bond interfaces "bond0" and "bond1" attached. Here "bond0" is assigned with Private (22.xx.5.xx) IP address and "bond1" is assigned with Public (1xx.xx.yy.56) IP address. I used PackStack to get the multi-node OpenStack-OCATA up and running. I have everything working except the network parts. I used the following OVS configuration in PackStack answers file.
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:bond0 CONFIG_NEUTRON_OVS_EXTERNAL_PHYSNET=extnet
Rest all used as default values provided by PackStack. I used Private IPs (22.xx.5.xx) in the packstack answers-file configuration to run OpenStack services. Once installed I made sure that "br-ex" in network node has the Private IP from "bond0" and edited the kernal route table so that anytraffic intended for "bond0" is redirected to "br-ex". so that internet and VLAN works fine on the network node after the bridge modification.
Now, I bought few Private and Public Portable IP addresses from the provider (SoftLayer) and used them to create "Internal" and "External" networks in Horizon Admin Panel. They look like as follows:
INTERNAL NETWORK:
Subnet: 22.xx.6.40/29
22.xx.6.40 Reserved Network
22.xx.6.41 Reserved Gateway
22.xx.6.47 Reserved Broadcast
22.xx.6.42 - 22.xx.6.46 - Used for OpenStack instances.
EXTERNAL NETWORK:
subnet: 1xx.xx.xx.80/29
1xx.xx.xx.80 - Reserved Network
1xx.xx.xx.81 - Reserved Gateway
1xx.xx.xx.87 - Reserved Broadcast
1xx.xx.xx.82 - 1xx.xx.xx.86 - Used for OpenStack instances as FLOATING IPs.
But, when I span a new instance and tried to ping the internal or external/floating IPs assigned to it, it's unreachable. But I can access the console using NoVNC provided in-built by the Horizon Interface. I logged into the machine and did an "ifconfig" and found "eth0" interface doesn't have any IP address assigned to it. So I assume both "Internal" and "External" network IPs were not assigned to the instances. The only way I could access the instances is to login using "NoVNC" proxy console running in the controller nodes "6080" port. Why is this happening? How can I make the instances accessible from "internal" and "external" IP addresses?
Any help/recommandations are appreciated.
Thanks.
#
EDIT 1: Added the configuration files
PackStack "answers.txt" : https://gist.github.com/gowthamsadasivam/9e471ee44c3410e4b2953231c9fd2dd6
IFCFG-SCRIPTS from Network Node: https://gist.github.com/gowthamsadasivam/1edb38503608df37d10a13efcfc08368
I didn't specify any value for the field "CONFIG_NEUTRON_OVS_TUNNEL_IF=" in my answer files. I'm not sure what value should be specified to make my configuration work. I have configured all my services to run in the Private Interface so I'm not sure specifying the same interface for "CONFIG_NEUTRON_OVS_TUNNEL_IF=" will end in conflict. Please advice how to choose the OVS_TUNNEL_IF.
#
EDIT: 2
Thanks lot for your help. I have created a fresh installation using the above options you've specified except for "CONFIG_NOVA_NETWORK_PUBIF" because that ...
Hi, plz share the interface config files in your setup and packstack answer file used to install? /etc/sysconfig/network-scripts/ifcfg-<interfacename> ???
what is CONFIG_NEUTRON_OVS_TUNNEL_IF=? in your answer file
@CloudEnthusiast : I have added the configuration files to the question. Please have a check. @Praveen N : I have not specified any value for "CONFIG_NEUTRON_OVS_TUNNEL_IF=" Please have a look at my answers file and advice the necessary changes. Thanks.