Ask Your Question
0

Another "No valid host was found. There are not enough hosts available" question

asked 2016-08-09 20:58:01 -0500

C Magno gravatar image

updated 2016-08-10 21:40:51 -0500

Please, don't mark as duplicate. I've searched all other questions but none solved my prpoblem.

I have a Fuel / OpenStack environment. I can start instances with "admin_internal_net" network but can't do the same with "admin_floating_net".

I see the classic error "No valid host was found. There are not enough hosts available". The NOVA log sends me to the neutron log. The NEUTRON log shows me "neutron port blahblahblah not present in bridge br_int float IP "

I've tried "nova hypervisor-list" and got just "node-2.domein.tld" (all I have). "nova list" shows my instance in error state. My Fuel connection test is Ok. My Fuel Health Check CAN start instances with floating IP

What can I do?

Found explanation here https://ask.openstack.org/en/question/94660/port-not-present-in-bridge-br-int/ (https://ask.openstack.org/en/question...)

but since it is a Fuel automatic instalation, I don't know how to solve this.

UPDATE 1

neutron agent list:

+--------------------+-------------------+-------+-----------+---------------------------+
| agent_type         | host              | alive | admin_s_u | binary                    |
+--------------------+-------------------+-------+-----------+---------------------------+
| Open vSwitch agent | node-2.domain.tld | :-)   | True      | neutron-openvswitch-agent |
| DHCP agent         | node-1.domain.tld | :-)   | True      | neutron-dhcp-agent        |
| Open vSwitch agent | node-1.domain.tld | :-)   | True      | neutron-openvswitch-agent |
| L3 agent           | node-1.domain.tld | :-)   | True      | neutron-l3-agent          |
| Metadata agent     | node-1.domain.tld | :-)   | True      | neutron-metadata-agent    |
+--------------------+-------------------+-------+-----------+---------------------------+

ml2_conf.ini ( CONTROLLER ):

    [ml2]
    # (ListOpt) List of network type driver entrypoints to be loaded from
    # the neutron.ml2.type_drivers namespace.
    #
    # type_drivers = local,flat,vlan,gre,vxlan,geneve
    type_drivers = local,flat,vlan,gre,vxlan
    # Example: type_drivers = flat,vlan,gre,vxlan,geneve

    # (ListOpt) Ordered list of network_types to allocate as tenant
    # networks. The default value 'local' is useful for single-box testing
    # but provides no connectivity between hosts.
    #
    # tenant_network_types = local
    tenant_network_types = flat,vlan
    # Example: tenant_network_types = vlan,gre,vxlan,geneve


    # (ListOpt) Ordered list of networking mechanism driver entrypoints
    # to be loaded from the neutron.ml2.mechanism_drivers namespace.
    # mechanism_drivers =
    mechanism_drivers =openvswitch
    # Example: mechanism_drivers = openvswitch,mlnx
    # Example: mechanism_drivers = arista
    # Example: mechanism_drivers = openvswitch,cisco_nexus,logger
    # Example: mechanism_drivers = openvswitch,brocade
    # Example: mechanism_drivers = linuxbridge,brocade

    # (ListOpt) Ordered list of extension driver entrypoints
    # to be loaded from the neutron.ml2.extension_drivers namespace.
    # extension_drivers =
    extension_drivers =port_security
    # Example: extension_drivers = anewextensiondriver

    # =========== items for MTU selection and advertisement =============
    # (IntOpt) Path MTU.  The maximum permissible size of an unfragmented
    # packet travelling from and to addresses where encapsulated Neutron
    # traffic is sent.  Drivers calculate maximum viable MTU for
    # validating tenant requests based on this value (typically,
    # path_mtu - max encap header size).  If <=0, the path MTU is
    # indeterminate and no calculation takes place.
    # path_mtu = 0
    path_mtu = 1500

    # (IntOpt) Segment MTU.  The maximum permissible size of an
    # unfragmented packet travelling a L2 network segment.  If <=0,
    # the segment MTU is indeterminate and no calculation takes place.
    # segment_mtu = 0

    # (ListOpt) Physical network MTUs.  List of mappings of physical
    # network to MTU value.  The format of the mapping is
    # <physnet>:<mtu val>.  This mapping allows specifying a
    # physical network MTU value that differs from the default
    # segment_mtu value.
    # physical_network_mtus =
    physical_network_mtus =physnet2:1500,physnet1:1500
    # Example: physical_network_mtus = physnet1:1550, physnet2:1500
    # ======== end of items for MTU selection and advertisement =========

    # (StrOpt) Default network type for external networks when no provider
    # attributes ...
(more)
edit retag flag offensive close merge delete

Comments

As far as to my knowledge Fuel is not Triple0 establishing non up-datable directly heat stacks. So, configuration ( neutron's ) and neutron-ovs-agent may be changed and services restarted

dbaxps gravatar imagedbaxps ( 2016-08-10 00:38:23 -0500 )edit

I've some trouble restarting my machines since the traditional sudo shutdown now can't actualy shutdown so I do a hardware button power off. I've reinstaled all stuff many times and always have this problem at basic instalations (1 controller, 1 cinder and 1 compute). Mirantis 8 bug?

C Magno gravatar imageC Magno ( 2016-08-10 06:04:52 -0500 )edit

All network tests are ok. The Health Test can create instances with no problem (both internal and floating network).

C Magno gravatar imageC Magno ( 2016-08-10 06:05:57 -0500 )edit
1

shutdown -P now should work stopping services. Press power button doesn't do what MUST be done stopping UNIX/LINUX Servers hosting Cloud. ( Databases or any Enterprise Infrastructure )

dbaxps gravatar imagedbaxps ( 2016-08-10 06:44:05 -0500 )edit

Yea. I know but I needed to turn off my machine somehow. :-( ... Thanks. Must have some power off order or I can shutdown in any order I want?

C Magno gravatar imageC Magno ( 2016-08-10 07:19:02 -0500 )edit

2 answers

Sort by ยป oldest newest most voted
0

answered 2016-08-23 07:04:07 -0500

C Magno gravatar image

I think I've found the solution. Actually there is no bug. This error is just because I try to give a external network floating IP to an instance that have no internal network address.

So "no valid host" is because there is no fixed host IP to map to the external floating IP I'm trying to bind.

Easy when we know how things work.

edit flag offensive delete link more
0

answered 2016-08-10 00:13:58 -0500

dbaxps gravatar image

updated 2016-08-11 04:21:36 -0500

UPDATE 08/11/16
I grabed and filtered

[boris@CentOSVirt72 ~]$ cat openvswitch_agent.ini | grep -v ^#|grep -v ^$
[ovs]
[agent]
[securitygroup]

So OVS neutron agent is crashing on any node
For instance sample generated via TrpipleO setting up HA Controller (ML2&OVS&VXLAN)

[root@overcloud-controller-0 ml2]# cat openvswitch_agent.ini | grep -v ^#|grep -v ^$
[DEFAULT]
[agent]
tunnel_types =vxlan
vxlan_udp_port = 4789
l2_population = False
drop_flows_on_start = False
extensions=qos
[ovs]
integration_bridge = br-int
tunnel_bridge = br-tun
local_ip = 172.16.0.4
bridge_mappings =datacentre:br-ex
enable_tunneling=True
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

In case of vlan's tenant segregation file above should be updated disabling tunneling
and setting up bridge_mappings for vlan connection Controller and Compute Nodes.
END UPDATE

Please, post ml2_conf.ini && openvswitch-agent.ini on Controller and Compute nodes, comment which one openvswitch-agent.ini is set up on Controller which one on Compute. What says neutron-ovs-agent on Compute node ? Check log. Also check rabbitmq-server status on Controller. BR-EX is not required on Compute, unless you run DVR configuration. I would expect interprocess communications between Neutron Server (controller) and neutron-ovs-agent (compute) to be broken, in other words it is misconfigured - has not been properly set up

edit flag offensive delete link more

Comments

Thanks. I'll do this ASAP. It's a default Fuel 3 nodes install. I don't touch anything.

C Magno gravatar imageC Magno ( 2016-08-10 06:06:56 -0500 )edit

In case you want help then post your neutron's && ovs config files as UPDATE 1 into answer field.

dbaxps gravatar imagedbaxps ( 2016-08-10 13:54:40 -0500 )edit

Yes. I'm at work now. My environment is at my home. Will do it after 19:00 ( GMT -3 ). As thousands of similar errors to this I think it is a Fuel bug.

C Magno gravatar imageC Magno ( 2016-08-10 13:55:29 -0500 )edit

Well, I am at GMT +4. See you tomorrow.

dbaxps gravatar imagedbaxps ( 2016-08-10 13:59:23 -0500 )edit

Updated. It's all default configuration. I don't touch anything. I'm able to bind a floating IP from the pool AFTER starting an instance with just internal network but if I try to bind the floating network to this instance I get an error. Can't reach the new floating IP from any machine in cluster.

C Magno gravatar imageC Magno ( 2016-08-10 21:30:09 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2016-08-09 20:58:01 -0500

Seen: 754 times

Last updated: Aug 23 '16