Friday, June 23, 2017

[SOLVED] Post Newton to Ocata upgrade jumbo frame MTU isn't set by neutron linuxbridge agent

After upgrading from Newton to Ocata my agent's wouldn't set mtu 9000 on the tap interfaces of my vm's.  I asked around in IRC after unsuccessful googling and haleyb suggested a couple of recent backports.   https://review.openstack.org/#/c/475308/ and https://review.openstack.org/#/c/459729/

After downloading the patch files and patching with patch -p1 -d /usr/lib/python2.7/site-packages --verbose < 46e6dd57.diff it started working again.  I'm not entirely sure if it was both patches or just the simple order of operation patch that fixed it.  Either way problem solved for now.

Monday, June 5, 2017

Jinja templating trick for use with Salt and OpenStack transport_url

Openstack is moving to using a transport_url instead of discrete rabbitmq servers, username, and password settings.  This makes doing templating with a configuration management like salt, my personal favorite, problematic as you need to interlace sensitive passwords in a string of arbitrary length.  The best I could come up with is this:

{% set rabbit_credential = ['openstack',pillar['openstack_rabbit_pass']]|join(':') %}
{% set rabbit_hosts_list = pillar['rabbit_hosts'].split(',') %}  

...

            transport_url: rabbit://{% for item in rabbit_hosts_list %}{{rabbit_credential}}@{{item}}:5672,{% endfor %}

The secret is that a transport url can end in a comma without causing any problems.