sap-oc / crowbar-openstack

Openstack deployment for Crowbar
3 stars 1 forks source link

neutron recipes on compute nodes should not look at attributes from neutron-server nodes #11

Open vuntz opened 7 years ago

vuntz commented 7 years ago

It could be that an attribute gets added in a migration to the neutron proposal, and this will become visible on the neutron-server node only when chef has run. However, if chef runs on compute nodes first, it will not find the attribute. This could result in the wrong config on the compute nodes for a period of time.

The fix is to adopt the data bag config item work, and extend it (see https://github.com/crowbar/crowbar-openstack/pull/718)

Backport Databag work

Fix the issue

matelakat commented 7 years ago
vuntz commented 7 years ago

@vuntz could you provide some description what would be the work to be done?

If you look at the neutron cookbook, you'll see some recipes which are run on compute nodes too. These ones are the problematic ones. We do something like neutron = search node with role neutron-server; but in case a schema migration happened and chef hasn't run yet on the neutron-server, the attributes will be wrong. So we should instead do something like neutron = Role.load("neutron-config-default") and read the attributes directly from the role.

vuntz commented 7 years ago

Note that this is a bit of a special case: usually, the data bag config item that you backported would be enough; but the problem is that the recipes need to look at, basically, all attributes of the proposal. Which is way more than what the data bag config item contains.

Of course, one alternative is to make the data bag config item contain a copy of the attributes.

tpatzig commented 7 years ago

I think https://github.com/sap-oc/crowbar-openstack/issues/34 is the same, @vuntz do you agree?

vuntz commented 7 years ago

I think #34 is the same, @vuntz do you agree?

Not completely, unfortunatel.

vuntz commented 7 years ago

@mkoderer this is a true issue, but also a very edge case that wouldn't occur again unless more attributes are added to the neutron barclamp. I'm tempted to drop the critical tag here.