[TripleO] External network on compute node
Hi all. The default way of compute node for accessing Internet if through undercloud. I'm going to assign an IP from External network to each compute node with default route. But the deployment can't assign an IP to br-ex and fails with: " raise AddrFormatError('invalid IPNetwork %s' % addr)", "netaddr.core.AddrFormatError: invalid IPNetwork ", Actually 'ip_netmask': '' is empty during deployment for compute nodes. I've added external network to compute node role: External: subnet: external_subnet and for network interface: - type: ovs_bridge name: bridge_name mtu: get_param: ExternalMtu dns_servers: get_param: DnsServers use_dhcp: false addresses: - ip_netmask: get_param: ExternalIpSubnet routes: list_concat_unique: - get_param: ExternalInterfaceRoutes - - default: true next_hop: get_param: ExternalInterfaceDefaultRoute members: - type: interface name: nic3 mtu: get_param: ExternalMtu use_dhcp: false primary: true Any suggestion would be grateful. Regards, Reza
On Tue, 2020-05-05 at 23:25 +0430, Reza Bakhshayeshi wrote:
Hi all. The default way of compute node for accessing Internet if through undercloud. I'm going to assign an IP from External network to each compute node with default route. But the deployment can't assign an IP to br-ex and fails with:
" raise AddrFormatError('invalid IPNetwork %s' % addr)", "netaddr.core.AddrFormatError: invalid IPNetwork ",
Actually 'ip_netmask': '' is empty during deployment for compute nodes. I've added external network to compute node role: External: subnet: external_subnet
and for network interface: - type: ovs_bridge name: bridge_name mtu: get_param: ExternalMtu dns_servers: get_param: DnsServers use_dhcp: false addresses: - ip_netmask: get_param: ExternalIpSubnet routes: list_concat_unique: - get_param: ExternalInterfaceRoutes - - default: true next_hop: get_param: ExternalInterfaceDefaultRoute members: - type: interface name: nic3 mtu: get_param: ExternalMtu use_dhcp: false primary: true
Any suggestion would be grateful. Regards, Reza
I think we need more information to see what the issue is. - your deploy command? - content of network_data.yaml used (unless the default) - environment files related to network-isolation, network-environment, network-isolation? -- Harald
here is my deploy command: openstack overcloud deploy \ --control-flavor control \ --compute-flavor compute \ --templates ~/openstack-tripleo-heat-templates \ -r /home/stack/roles_data.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ -e environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/octavia.yaml \ -e ~/openstack-tripleo-heat-templates/environments/services/neutron-ovn-dvr-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/docker-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network-environment.yaml \ --timeout 360 \ --ntp-server time.google.com -vvv network-environment.yaml: http://paste.openstack.org/show/793179/ network-isolation.yaml: http://paste.openstack.org/show/793181/ compute-dvr.yaml http://paste.openstack.org/show/793183/ I didn't modify network_data.yaml On Wed, 6 May 2020 at 05:27, Harald Jensås <hjensas@redhat.com> wrote:
On Tue, 2020-05-05 at 23:25 +0430, Reza Bakhshayeshi wrote:
Hi all. The default way of compute node for accessing Internet if through undercloud. I'm going to assign an IP from External network to each compute node with default route. But the deployment can't assign an IP to br-ex and fails with:
" raise AddrFormatError('invalid IPNetwork %s' % addr)", "netaddr.core.AddrFormatError: invalid IPNetwork ",
Actually 'ip_netmask': '' is empty during deployment for compute nodes. I've added external network to compute node role: External: subnet: external_subnet
and for network interface: - type: ovs_bridge name: bridge_name mtu: get_param: ExternalMtu dns_servers: get_param: DnsServers use_dhcp: false addresses: - ip_netmask: get_param: ExternalIpSubnet routes: list_concat_unique: - get_param: ExternalInterfaceRoutes - - default: true next_hop: get_param: ExternalInterfaceDefaultRoute members: - type: interface name: nic3 mtu: get_param: ExternalMtu use_dhcp: false primary: true
Any suggestion would be grateful. Regards, Reza
I think we need more information to see what the issue is. - your deploy command? - content of network_data.yaml used (unless the default) - environment files related to network-isolation, network-environment, network-isolation?
-- Harald
On Wed, 2020-05-06 at 14:00 +0430, Reza Bakhshayeshi wrote:
here is my deploy command:
openstack overcloud deploy \ --control-flavor control \ --compute-flavor compute \ --templates ~/openstack-tripleo-heat-templates \ -r /home/stack/roles_data.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ -e environment.yaml \ -e /usr/share/openstack-tripleo-heat- templates/environments/services/octavia.yaml \
This is not related, but: Why use '/usr/share/openstack-tripleo-heat-templates/' and not '~/openstack-tripleo-heat-templates/' here?
-e ~/openstack-tripleo-heat-templates/environments/services/neutron- ovn-dvr-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/docker-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network- isolation.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network- environment.yaml \
Hm, I'm not sure network-isolation.yaml and network-environment.yaml contains what you expect. Can you do a plan export? openstack overcloud plan export --output-file oc-plan.tar.gz overcloud Then have a look at `environments/network-isolation.yaml` and `environments/network-environment.yaml` in the plan? I think you may want to copy these two files out of the templates tree and use the out of tree copies instead.
--timeout 360 \ --ntp-server time.google.com -vvv
network-environment.yaml: http://paste.openstack.org/show/793179/
network-isolation.yaml: http://paste.openstack.org/show/793181/
compute-dvr.yaml http://paste.openstack.org/show/793183/
I didn't modify network_data.yaml
-- Harald
On Wed, 6 May 2020 at 05:27, Harald Jensås <hjensas@redhat.com> wrote:
On Tue, 2020-05-05 at 23:25 +0430, Reza Bakhshayeshi wrote:
Hi all. The default way of compute node for accessing Internet if through undercloud. I'm going to assign an IP from External network to each compute node with default route. But the deployment can't assign an IP to br-ex and fails with:
" raise AddrFormatError('invalid IPNetwork %s' % addr)", "netaddr.core.AddrFormatError: invalid IPNetwork ",
Actually 'ip_netmask': '' is empty during deployment for compute nodes. I've added external network to compute node role: External: subnet: external_subnet
and for network interface: - type: ovs_bridge name: bridge_name mtu: get_param: ExternalMtu dns_servers: get_param: DnsServers use_dhcp: false addresses: - ip_netmask: get_param: ExternalIpSubnet routes: list_concat_unique: - get_param: ExternalInterfaceRoutes - - default: true next_hop: get_param: ExternalInterfaceDefaultRoute members: - type: interface name: nic3 mtu: get_param: ExternalMtu use_dhcp: false primary: true
Any suggestion would be grateful. Regards, Reza
I think we need more information to see what the issue is. - your deploy command? - content of network_data.yaml used (unless the default) - environment files related to network-isolation, network- environment, network-isolation?
-- Harald
Hi Harald, Thanks for your explanation. ' /usr/share/openstack-tripleo-heat-templates/ ' was just happened during copy-pasting here :) I exported the overcloud plan, and it was exactly same as what I sent before. I redeployed everything and it didn't help either. What are the problems of my network-isolation.yaml and network-environment.yaml files in your opinion? I have to add that in this environment I don't know why the external network doesn't provide Internet for VMs. But everything else works fine. I don't have any Vlan configured in my environment and I'm planning to only have flat and geneve networks, and having external network for every compute node so I can ignore provisioning network bottleneck and spof. Regards, Reza On Wed, 6 May 2020 at 17:10, Harald Jensås <hjensas@redhat.com> wrote:
On Wed, 2020-05-06 at 14:00 +0430, Reza Bakhshayeshi wrote:
here is my deploy command:
openstack overcloud deploy \ --control-flavor control \ --compute-flavor compute \ --templates ~/openstack-tripleo-heat-templates \ -r /home/stack/roles_data.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ -e environment.yaml \ -e /usr/share/openstack-tripleo-heat- templates/environments/services/octavia.yaml \
This is not related, but: Why use '/usr/share/openstack-tripleo-heat-templates/' and not '~/openstack-tripleo-heat-templates/' here?
-e ~/openstack-tripleo-heat-templates/environments/services/neutron- ovn-dvr-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/docker-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network- isolation.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network- environment.yaml \
Hm, I'm not sure network-isolation.yaml and network-environment.yaml contains what you expect. Can you do a plan export?
openstack overcloud plan export --output-file oc-plan.tar.gz overcloud
Then have a look at `environments/network-isolation.yaml` and `environments/network-environment.yaml` in the plan?
I think you may want to copy these two files out of the templates tree and use the out of tree copies instead.
--timeout 360 \ --ntp-server time.google.com -vvv
network-environment.yaml: http://paste.openstack.org/show/793179/
network-isolation.yaml: http://paste.openstack.org/show/793181/
compute-dvr.yaml http://paste.openstack.org/show/793183/
I didn't modify network_data.yaml
-- Harald
On Wed, 6 May 2020 at 05:27, Harald Jensås <hjensas@redhat.com> wrote:
On Tue, 2020-05-05 at 23:25 +0430, Reza Bakhshayeshi wrote:
Hi all. The default way of compute node for accessing Internet if through undercloud. I'm going to assign an IP from External network to each compute node with default route. But the deployment can't assign an IP to br-ex and fails with:
" raise AddrFormatError('invalid IPNetwork %s' % addr)", "netaddr.core.AddrFormatError: invalid IPNetwork ",
Actually 'ip_netmask': '' is empty during deployment for compute nodes. I've added external network to compute node role: External: subnet: external_subnet
and for network interface: - type: ovs_bridge name: bridge_name mtu: get_param: ExternalMtu dns_servers: get_param: DnsServers use_dhcp: false addresses: - ip_netmask: get_param: ExternalIpSubnet routes: list_concat_unique: - get_param: ExternalInterfaceRoutes - - default: true next_hop: get_param: ExternalInterfaceDefaultRoute members: - type: interface name: nic3 mtu: get_param: ExternalMtu use_dhcp: false primary: true
Any suggestion would be grateful. Regards, Reza
I think we need more information to see what the issue is. - your deploy command? - content of network_data.yaml used (unless the default) - environment files related to network-isolation, network- environment, network-isolation?
-- Harald
On Sun, 2020-05-10 at 22:34 +0430, Reza Bakhshayeshi wrote:
Hi Harald, Thanks for your explanation.
' /usr/share/openstack-tripleo-heat-templates/ ' was just happened during copy-pasting here :)
I exported the overcloud plan, and it was exactly same as what I sent before.
Ok, I was worried the jinja2 rendering would produce different results in the plan, in case you had manually edited these files: ~/openstack-tripleo-heat-templates/environments/network-isolation.yaml ~/openstack-tripleo-heat-templates/environments/network-environment.yaml
I redeployed everything and it didn't help either.
What are the problems of my network-isolation.yaml and network- environment.yaml files in your opinion?
I'm not quite sure what is wrong, but the fact that you got 'ip_netmask': '' is an indication that some resource might be a Noop resource or a custom resource without validations? While it should actually be a port/network resource. The output of 'openstack stack environment show overcloud' might help. (NOTE: sanitize the output of that removing sensitive data before posting it to a public place ...)
I have to add that in this environment I don't know why the external network doesn't provide Internet for VMs. But everything else works fine.
I don't have any Vlan configured in my environment and I'm planning to only have flat and geneve networks, and having external network for every compute node so I can ignore provisioning network bottleneck and spof.
Regards, Reza
On Wed, 6 May 2020 at 17:10, Harald Jensås <hjensas@redhat.com> wrote:
On Wed, 2020-05-06 at 14:00 +0430, Reza Bakhshayeshi wrote:
here is my deploy command:
openstack overcloud deploy \ --control-flavor control \ --compute-flavor compute \ --templates ~/openstack-tripleo-heat-templates \ -r /home/stack/roles_data.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ -e environment.yaml \ -e /usr/share/openstack-tripleo-heat- templates/environments/services/octavia.yaml \
This is not related, but: Why use '/usr/share/openstack-tripleo-heat-templates/' and not '~/openstack-tripleo-heat-templates/' here?
-e ~/openstack-tripleo-heat- templates/environments/services/neutron- ovn-dvr-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/docker-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network- isolation.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network- environment.yaml \
Hm, I'm not sure network-isolation.yaml and network- environment.yaml contains what you expect. Can you do a plan export?
openstack overcloud plan export --output-file oc-plan.tar.gz overcloud
Then have a look at `environments/network-isolation.yaml` and `environments/network-environment.yaml` in the plan?
I think you may want to copy these two files out of the templates tree and use the out of tree copies instead.
--timeout 360 \ --ntp-server time.google.com -vvv
network-environment.yaml: http://paste.openstack.org/show/793179/
network-isolation.yaml: http://paste.openstack.org/show/793181/
compute-dvr.yaml http://paste.openstack.org/show/793183/
I didn't modify network_data.yaml
-- Harald
On Tue, 2020-05-05 at 23:25 +0430, Reza Bakhshayeshi wrote:
Hi all. The default way of compute node for accessing Internet if
On Wed, 6 May 2020 at 05:27, Harald Jensås <hjensas@redhat.com> wrote: through
undercloud. I'm going to assign an IP from External network to each compute node with default route. But the deployment can't assign an IP to br-ex and fails with:
" raise AddrFormatError('invalid IPNetwork %s' % addr)", "netaddr.core.AddrFormatError: invalid IPNetwork ",
Actually 'ip_netmask': '' is empty during deployment for compute nodes. I've added external network to compute node role: External: subnet: external_subnet
and for network interface: - type: ovs_bridge name: bridge_name mtu: get_param: ExternalMtu dns_servers: get_param: DnsServers use_dhcp: false addresses: - ip_netmask: get_param: ExternalIpSubnet routes: list_concat_unique: - get_param: ExternalInterfaceRoutes - - default: true next_hop: get_param: ExternalInterfaceDefaultRoute members: - type: interface name: nic3 mtu: get_param: ExternalMtu use_dhcp: false primary: true
Any suggestion would be grateful. Regards, Reza
I think we need more information to see what the issue is. - your deploy command? - content of network_data.yaml used (unless the default) - environment files related to network-isolation, network- environment, network-isolation?
-- Harald
Sorry for the late reply, Could you please take a look at the output and see if it's helpful? http://paste.openstack.org/show/793968/ my external network is working fine on controller nodes, but deployment can't assign IP to compute nodes. (I don't have any Vlan configured in the backend environment) I do still got problem with instances' internet access, Do you think this could be related? Regards, Reza On Tue, 12 May 2020 at 12:24, Harald Jensås <hjensas@redhat.com> wrote:
On Sun, 2020-05-10 at 22:34 +0430, Reza Bakhshayeshi wrote:
Hi Harald, Thanks for your explanation.
' /usr/share/openstack-tripleo-heat-templates/ ' was just happened during copy-pasting here :)
I exported the overcloud plan, and it was exactly same as what I sent before.
Ok, I was worried the jinja2 rendering would produce different results in the plan, in case you had manually edited these files: ~/openstack-tripleo-heat-templates/environments/network-isolation.yaml ~/openstack-tripleo-heat-templates/environments/network-environment.yaml
I redeployed everything and it didn't help either.
What are the problems of my network-isolation.yaml and network- environment.yaml files in your opinion?
I'm not quite sure what is wrong, but the fact that you got 'ip_netmask': '' is an indication that some resource might be a Noop resource or a custom resource without validations? While it should actually be a port/network resource.
The output of 'openstack stack environment show overcloud' might help. (NOTE: sanitize the output of that removing sensitive data before posting it to a public place ...)
I have to add that in this environment I don't know why the external network doesn't provide Internet for VMs. But everything else works fine.
I don't have any Vlan configured in my environment and I'm planning to only have flat and geneve networks, and having external network for every compute node so I can ignore provisioning network bottleneck and spof.
Regards, Reza
On Wed, 6 May 2020 at 17:10, Harald Jensås <hjensas@redhat.com> wrote:
On Wed, 2020-05-06 at 14:00 +0430, Reza Bakhshayeshi wrote:
here is my deploy command:
openstack overcloud deploy \ --control-flavor control \ --compute-flavor compute \ --templates ~/openstack-tripleo-heat-templates \ -r /home/stack/roles_data.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ -e environment.yaml \ -e /usr/share/openstack-tripleo-heat- templates/environments/services/octavia.yaml \
This is not related, but: Why use '/usr/share/openstack-tripleo-heat-templates/' and not '~/openstack-tripleo-heat-templates/' here?
-e ~/openstack-tripleo-heat- templates/environments/services/neutron- ovn-dvr-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/docker-ha.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network- isolation.yaml \ -e ~/openstack-tripleo-heat-templates/environments/network- environment.yaml \
Hm, I'm not sure network-isolation.yaml and network- environment.yaml contains what you expect. Can you do a plan export?
openstack overcloud plan export --output-file oc-plan.tar.gz overcloud
Then have a look at `environments/network-isolation.yaml` and `environments/network-environment.yaml` in the plan?
I think you may want to copy these two files out of the templates tree and use the out of tree copies instead.
--timeout 360 \ --ntp-server time.google.com -vvv
network-environment.yaml: http://paste.openstack.org/show/793179/
network-isolation.yaml: http://paste.openstack.org/show/793181/
compute-dvr.yaml http://paste.openstack.org/show/793183/
I didn't modify network_data.yaml
-- Harald
On Tue, 2020-05-05 at 23:25 +0430, Reza Bakhshayeshi wrote:
Hi all. The default way of compute node for accessing Internet if
On Wed, 6 May 2020 at 05:27, Harald Jensås <hjensas@redhat.com> wrote: through
undercloud. I'm going to assign an IP from External network to each compute node with default route. But the deployment can't assign an IP to br-ex and fails with:
" raise AddrFormatError('invalid IPNetwork %s' % addr)", "netaddr.core.AddrFormatError: invalid IPNetwork ",
Actually 'ip_netmask': '' is empty during deployment for compute nodes. I've added external network to compute node role: External: subnet: external_subnet
and for network interface: - type: ovs_bridge name: bridge_name mtu: get_param: ExternalMtu dns_servers: get_param: DnsServers use_dhcp: false addresses: - ip_netmask: get_param: ExternalIpSubnet routes: list_concat_unique: - get_param: ExternalInterfaceRoutes - - default: true next_hop: get_param: ExternalInterfaceDefaultRoute members: - type: interface name: nic3 mtu: get_param: ExternalMtu use_dhcp: false primary: true
Any suggestion would be grateful. Regards, Reza
I think we need more information to see what the issue is. - your deploy command? - content of network_data.yaml used (unless the default) - environment files related to network-isolation, network- environment, network-isolation?
-- Harald
participants (2)
-
Harald Jensås
-
Reza Bakhshayeshi