Bug 1121619

Summary: Need to add detailed documentation to upgrade guide - OVS to ML2 and Nova/Neutron notification changes
Product: Red Hat OpenStack Reporter: Toni Freger <tfreger>
Component: doc-UpgradeAssignee: Don Domingo <ddomingo>
Status: CLOSED CURRENTRELEASE QA Contact: Ofer Blaut <oblaut>
Severity: high Docs Contact:
Priority: high    
Version: 5.0 (RHEL 6)CC: chrisw, ddomingo, jlibosva, lpeer, mlopes, nyechiel, oblaut, tfreger, yeylon
Target Milestone: ---Keywords: Documentation
Target Release: 5.0 (RHEL 7)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-19 03:22:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1124897    

Description Toni Freger 2014-07-21 12:00:55 UTC
Upgrade from Havana to Icehouse

Need to add detailed documentation to upgrade guide.
It should include migration from OVS pluggin to ML2 and manual configuration of neutron.conf after upgrade, since Neutron/Nova notification added to the Icehouse.

http://openstack.redhat.com/ML2_from_OVS
http://pastebin.test.redhat.com/222833

Comment 4 Toni Freger 2014-07-22 11:20:02 UTC
Hi Don,

I've performed the ML2  db migration from OVS via this guide and there are several changes we need to add otherwise it doesn't work.

In Post Upgrade Configuration please change 

1)
From:
python -m neutron.db.migration.migrate_to_ml2 PLUGIN \ mysql://DBADMIN:DBPASS@DBHOST/neutron

To:
python -m neutron.db.migration.migrate_to_ml2 PLUGIN \
   mysql://neutron:DBPASS@DBHOST/ovs_neutron

2)
Overwrite core plugin to ML2 in /etc/neutron/neutron.conf
core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin

Comment 5 Toni Freger 2014-07-22 11:52:18 UTC
Also need to configure L3Router service plugin [DEFAULT]:

3)
Overwrite /etc/neutron/neutron.conf 
service_plugins = neutron.services.l3_router.l3_router_plugin.L3RouterPlugin

Comment 7 Toni Freger 2014-07-22 14:47:51 UTC
4)
Another very important description should be added to the guide, related to neutron agent time/interval values.

If those changes won't be done after the upgrade, all agents will be on/off intermittently, as a result the user can't launch instances. 


+--------------------------------------+--------------------+------------------------------+-------+----------------+
| id                                   | agent_type         | host                         | alive | admin_state_up |
+--------------------------------------+--------------------+------------------------------+-------+----------------+
| 5a7e2b92-2797-41fa-bbeb-9b52248c8765 | DHCP agent         | rose11.qa.lab.tlv.redhat.com | xxx   | True           |
| 66d31b29-a149-4d10-a063-1b809c468952 | Open vSwitch agent | rose11.qa.lab.tlv.redhat.com | xxx   | True           |
| 6bdf9cdf-f344-49ec-aa48-4006f80389ac | Metadata agent     | rose11.qa.lab.tlv.redhat.com | xxx   | True           |
| 78a6c6c4-c7c7-4159-a1e6-62de483983ee | Open vSwitch agent | rose12.qa.lab.tlv.redhat.com | xxx   | True           |
| 8527056d-733c-4910-aa30-937037188ab5 | Loadbalancer agent | rose11.qa.lab.tlv.redhat.com | xxx   | True           |
| a0a54b27-18d1-421f-a404-199a2dd8693b | L3 agent           | rose11.qa.lab.tlv.redhat.com | xxx   | True           |
+--------------------------------------+--------------------+------------------------------+-------+----------------+

Change within /etc/neutron/neutron.conf

From:
agent_down_time = 9
report_interval=4

To:
agent_down_time = 75
report_interval=30

Comment 8 Don Domingo 2014-07-23 01:33:02 UTC
DONE. I've turned all the ML2 config steps into a procedure and added the part about the heartbeat as well. 

Will these changes require a restart of openstack-neutron-server?

Comment 9 Toni Freger 2014-07-23 05:07:23 UTC
Yes, all these changes require a restart of openstack-neutron-server.

Comment 10 Don Domingo 2014-07-23 05:31:03 UTC
Thanks. I added a 'restart' step; doc should refresh within the hour.

(In reply to Toni Freger from comment #9)
> Yes, all these changes require a restart of openstack-neutron-server.

Comment 11 Toni Freger 2014-07-23 11:41:13 UTC
Don, 

Section 3 in Post Upgrade, doesn't relate to ML2, any user must make this change even if he will work only with OVS.

Thanks,

Comment 12 Toni Freger 2014-07-23 13:05:04 UTC
Don,

5)
Please add additional information here 4.1. Configure OpenStack Networking as Part of Upgrade.

In nova.conf [Default] of EACH compute node add:

# Fail instance boot if vif plugging fails (boolean value)
vif_plugging_is_fatal=true

# Number of seconds to wait for neutron vif plugging events to
# arrive before continuing or failing (see
# vif_plugging_is_fatal). If this is set to zero and
# vif_plugging_is_fatal is False, events should not be
# expected to arrive at all. (integer value)
vif_plugging_timeout=300

Comment 16 Toni Freger 2014-07-31 04:53:38 UTC
Don,

In comment #3 I wrote that we need to overwrite 
/etc/neutron/neutron.conf 
service_plugins = neutron.services.l3_router.l3_router_plugin.L3RouterPlugin

But actually we should to ADD l3 plugin to the existing plugins, otherwise Loadbalancer/Metering/Firewall plugins will be overwritten and those features won't work.

Thanks and sorry for the confusion.

Comment 17 Don Domingo 2014-08-11 07:13:39 UTC
Toni, do you mean that users should ADD the service plugin, regardless of whether there is already an existing 'service_plugins' line that persisted from RHOS4? For example:

    service_plugins = neutron.services.loadbalancer.plugin.LoadBalancerPlugin
    service_plugins = neutron.services.l3_router.l3_router_plugin.L3RouterPlugin

Or is there some sort of delimiter (e.g. a semicolon)? As in:

    service_plugins = neutron.services.loadbalancer.plugin.LoadBalancerPlugin; neutron.services.l3_router.l3_router_plugin.L3RouterPlugin


(In reply to Toni Freger from comment #16)
> But actually we should to ADD l3 plugin to the existing plugins, otherwise
> Loadbalancer/Metering/Firewall plugins will be overwritten and those
> features won't work.

Comment 18 Toni Freger 2014-08-11 07:35:41 UTC
It should be separated by a comma.
Like in this example between l3 and firewall pluggins:

service_plugins=neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.firewall.fwaas_plugin.FirewallPlugin

Comment 20 Don Domingo 2014-08-11 23:37:28 UTC
Thanks Toni. Updated the guide accordingly.

(In reply to Toni Freger from comment #18)
> It should be separated by a comma.
> Like in this example between l3 and firewall pluggins:
> 
> service_plugins=neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,
> neutron.services.firewall.fwaas_plugin.FirewallPlugin

Comment 28 Don Domingo 2015-01-19 03:22:10 UTC
Upgrade documentation has been split off into different articles according to method:

https://access.redhat.com/articles/1177953

Updated instructions have already been applied to each article.