Yoga Series Release Notes¶
Fixed the incorrect handling of exceptions from openstacksdk when querying the list of ports from ironic, that caused the agent to stop reporting its state. Also when there are problems querying ports, agent now does not report an empty state, and rather waits for the next iteration to retry.
Operators using ironic-neutron-agent with
noauthauthentication strategy (i.e standalone ironic without keystone) must update the configuration. Replace
[ironic]/auth_strategy = noauthwith
[ironic]/auth_type = noneand set the
With the switch from ironicclient to openstacksdk the following options has been deprecated.
[ironic]/auth_strategyis ignored, please use
Communication with ironic is now using openstacksdk, removing the dependency on ironicclient.
Python 2.7 support has been dropped. Last release of Networking Baremetal to support Python 2.7 is OpenStack Train. The minimum version of Python now supported by Networking Baremetal is Python 3.6.
To fix bug: 2004933 oslo.messaging notification queues are now renamed and created with
amqp_auto_delete=true. When upgrading the agent old queues should be deleted to free up message broker resources. Previous queue that can be deleted are named
ironic-neutron-agent-heartbeat.info. There may also be queues with uuid of previous agent instances as name, these can also safely be deleted. (Look in the agent logs for relevant agent uuids).
On rabbitmq queues can be deleted via the web console. For example with curl:
curl -i -u username:password \ -H "content-type:application/json" -XDELETE \ http://<host>:<web-port>/api/queues/<vhost>/<queue-name>
Another example with vhost: ‘/’ deleting the ironic-neutron-agent-heartbeat.info queue:
curl -i -u username:password \ -H "content-type:application/json" \ -XDELETE \ http://172.20.0.1:15672/api/queues/%2F/ironic-neutron-agent-heartbeat.info
In the example above the vhost is
/. To ensure the vhost is correctly encoded the use of
%2F, instead of
Fixes an issue where old oslo.messaging notification pool queues remained in the broker without any consumer after agent restart. The notification queues will now be created with
amqp_auto_delete=true. See bug: 2004933.
Fixes an issue causing heavy RAM (and/or-storage) usage on the message broker back-end. The
ironic-neutron-agentuses oslo.messaging notifications, with all notification listeners using pools. Since all listeneres are using pools the default notification queue in messaging is not consumed (only the pool queues are consumed). The default notification queue was continously growing, consuming more and more resources on the messaging back-end. See oslo.messaging bug: 1814544 and bug: 2004938 for more details.
Issuing a SIGHUP (e.g.
pkill -HUP ironic-neutron-agent) to the agent service will cause the service to reload and use any changed values for mutable configuration options.
Mutable configuration options are indicated as such in the sample configuration file by
Note: This option can be changed without restarting.
A warning is logged for any changes to immutable configuration options.
Adds support for load distribution when multiple instances of the networking-baremetal agent are running. Each instance will manage a subset of bare metal nodes. In case one or more instances of networking-baremetal agent is lost, the remaining instances will take over the bare metal nodes previously managed by the lost instance(s).
Add neutron agent
ironic-neutron-agentto enable integration with neutron routed provider networks. The ml2 agent reports the state of ironic ports associated with ironic nodes to neutron, it populates the bridge_mappings configuration for each ironic node. The agent data can be used by the neutron segments plug-in in conjunction with neutron ml2 mechanism driver to ensure that port binding and ipam ip address allocations are taken from subnets associated with physical network segments available to the ironic port.
Baremetal ml2 mechanism driver integration with the L2 agent. This enables the ml2 mechanism driver to use the agent_db data when binding ports. E.g the bridge mappings to enable binding on routed provider networks.
Add support for type
vlannetworks in baremetal ml2 mechanism driver. This enables binding on networks using vlans for segmentation. It is only setting type
vlanas supported. The intent is to use this in combination with another neutron mechanism driver that actually knows how to configure the network devices.
The driver will not do anything to set up the correct vlan tagging in the network infrastructure such as switches or baremetal node ports.
Another ml2 mechanism driver, or some other implementation, must be enabled to perform the necessary configuration on network devices.
This is the initial release of the networking-baremetal. The project includes the
baremetal ml2 mechanism driver performing binding of the Networking service ports with
binding_vnic_type=baremetal in flat networks. It also includes the devstack plugin to simplify the development setup and testing.