Score:0

Beginner: VM Instances Can't Access External Network And Few Other Questions

I was trying to deploy a multinode OpenStack cloud using Kolla-Ansible by following this doc and many others: https://docs.openstack.org/project-deploy-guide/kolla-ansible/2023.1/multinode.html. I want to clarify here that I'm very new in OpenStack and hoping to get some guidance from the pros.

The nodes comprise 1 Kolla node, 1 control node, 1 compute node, and 1 storage node. All the nodes are VMs hosted on a VMware vSphere cluster. Each of the nodes has 2 NICs both connected to the same port group e.g. VLAN 100. Except for the Kolla node which only has one NIC and is connected to VLAN 100 port group also. All the nodes are running Rocky Linux 9.

The subnet for VLAN 100 is 10.0.32/0 which has a gateway on an external firewall 10.0.32.1. So for each of the nodes, I use the first NIC (ens192) as the network_interface and api_interface configured in the globals.yml file. Meanwhile, the second NIC (ens224) is used for neutron_external_interface.

I've set up a test environment using the init-runonce script and I modified the info in EXT_NET_CIDR to use 10.0.32.0/20 as the external network. The script created 1 virtual router named demo-router,1 network named demo-net, and 1 instance named demo1. After that, I created 1 new instance, demo2, 1 new network named demo-net1, and connected it to the same virtual router. Both instances can ping each other from different subnets/networks. Instances image, Network Topology, Ping Test from demo1 to demo2

However, I can't seems to able to ping something on the Internet e.g. 1.1.1.1 or even the external gateway 10.0.32.1. Ping from demo1 to Internet and external gateway. I've included my multimode inventory and the globals.yml config snippet below.

# multinode config file

[control]
control-node1

[Network]
control-node1

[compute]
compute-node1

[Monitoring]
control-node1

[Storage]
storage-node1

[deployment]
localhost       ansible_connection=local
# /etc/kolla/globals.yml file

kolla_base_distro: "rocky"

network_interface: "ens192"
api_interface: "ens192"
neutron_external_interface: "ens224"

enable_openstack_core: "yes"
enable_neutron: "{{ enable_openstack_core | bool }}"
neutron_plugin_agent: "open switch"
enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'Linux bridge' }}"

On another note, I have a few questions regarding network interfaces and storage.

  1. Is it possible to use separate physical NIC on the node for management, external, storage, and live migration traffic? I know that neutron_external_interface is for the external NIC and api_interface is for the management NIC. What about storage and live migration? Is there a way I can set it in Kolla Ansible?
  2. I've configured a storage node, storage-node1, and enabled Cinder with the LVM backend.
enable_cinder: "Yes"
enable_cinder_backend_lvm: "Yes"

How can I use it as the storage for Nova VM instead of the compute node local disk?

Thanks all for the help and suggestions :)

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.