From 8ddea61d2155c64d007e5b0da1d4a1559312f83d Mon Sep 17 00:00:00 2001 From: Matthew Kassawara Date: Fri, 3 Oct 2014 08:40:37 -0500 Subject: [PATCH] More updates for Juno I updated the installation guide for Juno as follows: 1) Unifed RHEL/CentOS/Fedora steps to use systemd through networking chapter. Will work on other chapters in a future patch. 2) Split openSUSE steps to use systemd. 3) Removed database configuration from nova on compute nodes (yay!). 4) Added workaround for RDO changing the neutron default "auth_strategy=keystone" back to "auth_strategy=noauth". 5) Re-add workaround for broken RDO neutron init scripts. See bug #1375746 for more information. 6) Applied other changes for RHEL/CentOS 7. 7) Improved nova-network content. 8) Other minor fixes. Change-Id: I0a130580764f61544f5abebdde21b677a4d0ece9 Implements: blueprint installation-guide-improvements Closes-Bug: #1287874 Closes-Bug: #1373367 --- doc/install-guide/section_glance-install.xml | 12 ++- .../section_keystone-install.xml | 8 +- .../section_neutron-compute-node.xml | 47 ++++++++--- .../section_neutron-controller-node.xml | 29 +++++-- .../section_neutron-network-node.xml | 83 ++++++++++++++----- .../section_nova-compute-install.xml | 41 +++------ .../section_nova-controller-install.xml | 28 ++++++- .../section_nova-networking-compute-node.xml | 68 ++++++--------- ...ection_nova-networking-controller-node.xml | 31 ++++--- 9 files changed, 218 insertions(+), 129 deletions(-) diff --git a/doc/install-guide/section_glance-install.xml b/doc/install-guide/section_glance-install.xml index 77aae9c4ce..18ffcfc37e 100644 --- a/doc/install-guide/section_glance-install.xml +++ b/doc/install-guide/section_glance-install.xml @@ -261,10 +261,20 @@ verbose = True Start the Image Service services and configure them to start when the system boots: - # service openstack-glance-api start + # systemctl enable openstack-glance-api.service +# systemctl enable openstack-glance-registry.service +# systemctl start openstack-glance-api.service +# systemctl start openstack-glance-registry.service + On SLES: + # service openstack-glance-api start # service openstack-glance-registry start # chkconfig openstack-glance-api on # chkconfig openstack-glance-registry on + On openSUSE: + # systemctl enable openstack-glance-api.service +# systemctl enable openstack-glance-registry.service +# systemctl start openstack-glance-api.service +# systemctl start openstack-glance-registry.service By default, the Ubuntu packages create an SQLite database. diff --git a/doc/install-guide/section_keystone-install.xml b/doc/install-guide/section_keystone-install.xml index e6e868491e..6b69f51d37 100644 --- a/doc/install-guide/section_keystone-install.xml +++ b/doc/install-guide/section_keystone-install.xml @@ -200,8 +200,14 @@ verbose = True Start the Identity service and configure it to start when the system boots: - # service openstack-keystone start + # systemctl enable openstack-keystone.service +# systemctl start openstack-keystone.service + On SLES: + # service openstack-keystone start # chkconfig openstack-keystone on + On openSUSE: + # systemctl enable openstack-keystone.service +# systemctl start openstack-keystone.service By default, the Ubuntu packages create a SQLite database. diff --git a/doc/install-guide/section_neutron-compute-node.xml b/doc/install-guide/section_neutron-compute-node.xml index 530964bf8a..9ff60d18fa 100644 --- a/doc/install-guide/section_neutron-compute-node.xml +++ b/doc/install-guide/section_neutron-compute-node.xml @@ -92,9 +92,14 @@ rabbit_password = RABBIT_PASS RabbitMQ. - In the [keystone_authtoken] section, + In the [DEFAULT] and + [keystone_authtoken] sections, configure Identity service access: - [keystone_authtoken] + [DEFAULT] +... +auth_strategy = keystone + +[keystone_authtoken] ... auth_uri = http://controller:5000/v2.0 identity_uri = http://controller:35357 @@ -189,17 +194,17 @@ enable_tunneling = True To configure the Open vSwitch (OVS) service The OVS service provides the underlying virtual networking framework for instances. - + Start the OVS service and configure it to start when the system boots: - # service openvswitch start -# chkconfig openvswitch on - - - Start the OVS service and configure it to start when the - system boots: - # service openvswitch-switch start + # systemctl enable openvswitch.service +# systemctl start openvswitch.service + On SLES: + # service openvswitch-switch start # chkconfig openvswitch-switch on + On openSUSE: + # systemctl enable openvswitch.service +# systemctl start openvswitch.service Restart the OVS service: @@ -260,6 +265,14 @@ admin_password = NEUTRON_PASS If this symbolic link does not exist, create it using the following command: # ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini + Due to a packaging bug, the Open vSwitch agent initialization + script explicitly looks for the Open vSwitch plug-in configuration + file rather than a symbolic link + /etc/neutron/plugin.ini pointing to the ML2 + plug-in configuration file. Run the following commands to resolve this + issue: + # cp /usr/lib/systemd/system/neutron-openvswitch-agent.service /usr/lib/systemd/system/neutron-openvswitch-agent.service.orig +# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /usr/lib/systemd/system/neutron-openvswitch-agent.service The Networking service initialization scripts expect the @@ -272,14 +285,24 @@ admin_password = NEUTRON_PASS Restart the Compute service: - # service openstack-nova-compute restart + # systemctl restart openstack-nova-compute.service + On SLES: + # service openstack-nova-compute restart + On openSUSE: + # systemctl restart openstack-nova-compute.service # service nova-compute restart Start the Open vSwitch (OVS) agent and configure it to start when the system boots: - # service openstack-neutron-openvswitch-agent start + # systemctl enable openstack-neutron-openvswitch-agent.service +# systemctl start openstack-neutron-openvswitch-agent.service + On SLES: + # service openstack-neutron-openvswitch-agent start # chkconfig openstack-neutron-openvswitch-agent on + On openSUSE: + # systemctl enable openstack-neutron-openvswitch-agent.service +# systemctl start openstack-neutron-openvswitch-agent.service Restart the Open vSwitch (OVS) agent: diff --git a/doc/install-guide/section_neutron-controller-node.xml b/doc/install-guide/section_neutron-controller-node.xml index 4d0f7223d0..46e3e0ac59 100644 --- a/doc/install-guide/section_neutron-controller-node.xml +++ b/doc/install-guide/section_neutron-controller-node.xml @@ -185,9 +185,14 @@ rabbit_password = RABBIT_PASS RabbitMQ. - In the [keystone_authtoken] section, + In the [DEFAULT] and + [keystone_authtoken] sections, configure Identity service access: - [keystone_authtoken] + [DEFAULT] +... +auth_strategy = keystone + +[keystone_authtoken] ... auth_uri = http://controller:5000/v2.0 identity_uri = http://controller:35357 @@ -372,9 +377,17 @@ admin_password = NEUTRON_PASS Restart the Compute services: - # service openstack-nova-api restart + # systemctl restart openstack-nova-api.service +# systemctl restart openstack-nova-scheduler.service +# systemctl restart openstack-nova-conductor.service + On SLES: + # service openstack-nova-api restart # service openstack-nova-scheduler restart # service openstack-nova-conductor restart + On openSUSE: + # systemctl restart openstack-nova-api.service +# systemctl restart openstack-nova-scheduler.service +# systemctl restart openstack-nova-conductor.service # service nova-api restart # service nova-scheduler restart # service nova-conductor restart @@ -382,10 +395,14 @@ admin_password = NEUTRON_PASS Start the Networking service and configure it to start when the system boots: - # service neutron-server start -# chkconfig neutron-server on - # service openstack-neutron start + # systemctl enable neutron-server.service +# systemctl start neutron-server.service + On SLES: + # service openstack-neutron start # chkconfig openstack-neutron on + On openSUSE: + # systemctl enable openstack-neutron.service +# systemctl start openstack.neutron.service Restart the Networking service: diff --git a/doc/install-guide/section_neutron-network-node.xml b/doc/install-guide/section_neutron-network-node.xml index 762e16040c..c0b5c5ffb2 100644 --- a/doc/install-guide/section_neutron-network-node.xml +++ b/doc/install-guide/section_neutron-network-node.xml @@ -96,9 +96,14 @@ rabbit_password = RABBIT_PASS RabbitMQ. - In the [keystone_authtoken] section, + In the [DEFAULT] and + [keystone_authtoken] sections, configure Identity service access: - [keystone_authtoken] + [DEFAULT] +... +auth_strategy = keystone + +[keystone_authtoken] ... auth_uri = http://controller:5000/v2.0 identity_uri = http://controller:35357 @@ -389,7 +394,11 @@ metadata_proxy_shared_secret = METADATA_SECRET On the controller node, restart the Compute API service: - # service openstack-nova-api restart + # systemctl restart openstack-nova-api.service + On SLES: + # service openstack-nova-api restart + On openSUSE: + # systemctl restart openstack-nova-api.service # service nova-api restart @@ -404,17 +413,17 @@ metadata_proxy_shared_secret = METADATA_SECRET - + Start the OVS service and configure it to start when the system boots: - # service openvswitch start -# chkconfig openvswitch on - - - Start the OVS service and configure it to start when the - system boots: - # service openvswitch-switch start + # systemctl enable openvswitch.service +# systemctl start openvswitch.service + On SLES: + # service openvswitch-switch start # chkconfig openvswitch-switch on + On openSUSE: + # systemctl enable openvswitch.service +# systemctl start openvswitch.service Restart the OVS service: @@ -451,7 +460,16 @@ metadata_proxy_shared_secret = METADATA_SECRET/etc/neutron/plugins/ml2/ml2_conf.ini. If this symbolic link does not exist, create it using the following command: - # ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini + # ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini + Due to a packaging bug, the Open vSwitch agent initialization + script explicitly looks for the Open vSwitch plug-in configuration + file rather than a symbolic link + /etc/neutron/plugin.ini pointing to the ML2 + plug-in configuration file. Run the following commands to resolve this + issue: + # cp /usr/lib/systemd/system/neutron-openvswitch-agent.service /usr/lib/systemd/system/neutron-openvswitch-agent.service.orig +# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /usr/lib/systemd/system/neutron-openvswitch-agent.service + The Networking service initialization scripts expect the variable NEUTRON_PLUGIN_CONF in the @@ -464,16 +482,22 @@ metadata_proxy_shared_secret = METADATA_SECRET Start the Networking services and configure them to start when the system boots: - # service neutron-openvswitch-agent start -# service neutron-l3-agent start -# service neutron-dhcp-agent start -# service neutron-metadata-agent start -# chkconfig neutron-openvswitch-agent on -# chkconfig neutron-l3-agent on -# chkconfig neutron-dhcp-agent on -# chkconfig neutron-metadata-agent on -# chkconfig neutron-ovs-cleanup on - # service openstack-neutron-openvswitch-agent start + # systemctl enable neutron-openvswitch-agent.service +# systemctl enable neutron-l3-agent.service +# systemctl enable neutron-dhcp-agent.service +# systemctl enable neutron-metadata-agent.service +# systemctl enable neutron-ovs-cleanup.service +# systemctl start neutron-openvswitch-agent.service +# systemctl start neutron-l3-agent.service +# systemctl start neutron-dhcp-agent.service +# systemctl start neutron-metadata-agent.service + + Do not explictly start the + neutron-ovs-cleanup + service. + + On SLES: + # service openstack-neutron-openvswitch-agent start # service openstack-neutron-l3-agent start # service openstack-neutron-dhcp-agent start # service openstack-neutron-metadata-agent start @@ -482,6 +506,21 @@ metadata_proxy_shared_secret = METADATA_SECRET# chkconfig openstack-neutron-dhcp-agent on # chkconfig openstack-neutron-metadata-agent on # chkconfig openstack-neutron-ovs-cleanup on + On openSUSE: + # systemctl enable openstack-neutron-openvswitch-agent.service +# systemctl enable openstack-neutron-l3-agent.service +# systemctl enable openstack-neutron-dhcp-agent.service +# systemctl enable openstack-neutron-metadata-agent.service +# systemctl enable openstack-neutron-ovs-cleanup.service +# systemctl start openstack-neutron-openvswitch-agent.service +# systemctl start openstack-neutron-l3-agent.service +# systemctl start openstack-neutron-dhcp-agent.service +# systemctl start openstack-neutron-metadata-agent.service + + Do not explictly start the + openstack-neutron-ovs-cleanup + service. + Restart the Networking services: diff --git a/doc/install-guide/section_nova-compute-install.xml b/doc/install-guide/section_nova-compute-install.xml index d0ba04af82..66c1362691 100644 --- a/doc/install-guide/section_nova-compute-install.xml +++ b/doc/install-guide/section_nova-compute-install.xml @@ -30,15 +30,6 @@ Edit the /etc/nova/nova.conf file and complete the following actions: - - In the [database] section, configure - database access: - [database] -... -connection = mysql://nova:NOVA_DBPASS@controller/nova - Replace NOVA_DBPASS with the password - you chose for the Compute database. - In the [DEFAULT] section, configure RabbitMQ message broker access: @@ -180,30 +171,20 @@ virt_type = qemu Start the Compute service including its dependencies and configure them to start automatically when the system boots: - - - For RHEL, CentOS, and compatible derivatives: - # service libvirtd start -# service messagebus start -# service openstack-nova-compute start -# chkconfig libvirtd on -# chkconfig messagebus on -# chkconfig openstack-nova-compute on - - - For Fedora: - # service libvirtd start -# service dbus start -# service openstack-nova-compute start -# chkconfig libvirtd on -# chkconfig dbus on -# chkconfig openstack-nova-compute on - - - # service libvirtd start + # systemctl enable libvirtd.service +# systemctl start libvirtd.service +# systemctl enable openstack-nova-compute.service +# systemctl start openstack-nova-compute.service + On SLES: + # service libvirtd start # chkconfig libvirtd on # service openstack-nova-compute start # chkconfig openstack-nova-compute on + On openSUSE: + # systemctl enable libvirtd.service +# systemctl start libvirtd.service +# systemctl enable openstack-nova-compute.service +# systemctl start openstack-nova-compute.service By default, the Ubuntu packages create an SQLite database. diff --git a/doc/install-guide/section_nova-controller-install.xml b/doc/install-guide/section_nova-controller-install.xml index 8d1320a9e6..0bd4f6711c 100644 --- a/doc/install-guide/section_nova-controller-install.xml +++ b/doc/install-guide/section_nova-controller-install.xml @@ -250,7 +250,20 @@ vncserver_proxyclient_address = 10.0.0.11 Start the Compute services and configure them to start when the system boots: - # service openstack-nova-api start + # systemctl enable openstack-nova-api.service +# systemctl enable openstack-nova-cert.service +# systemctl enable openstack-nova-consoleauth.service +# systemctl enable openstack-nova-scheduler.service +# systemctl enable openstack-nova-conductor.service +# systemctl enable openstack-nova-novncproxy.service +# systemctl start openstack-nova-api.service +# systemctl start openstack-nova-cert.service +# systemctl start openstack-nova-consoleauth.service +# systemctl start openstack-nova-scheduler.service +# systemctl start openstack-nova-conductor.service +# systemctl start openstack-nova-novncproxy.service + On SLES: + # service openstack-nova-api start # service openstack-nova-cert start # service openstack-nova-consoleauth start # service openstack-nova-scheduler start @@ -262,6 +275,19 @@ vncserver_proxyclient_address = 10.0.0.11 # chkconfig openstack-nova-scheduler on # chkconfig openstack-nova-conductor on # chkconfig openstack-nova-novncproxy on + On openSUSE: + # systemctl enable openstack-nova-api.service +# systemctl enable openstack-nova-cert.service +# systemctl enable openstack-nova-consoleauth.service +# systemctl enable openstack-nova-scheduler.service +# systemctl enable openstack-nova-conductor.service +# systemctl enable openstack-nova-novncproxy.service +# systemctl start openstack-nova-api.service +# systemctl start openstack-nova-cert.service +# systemctl start openstack-nova-consoleauth.service +# systemctl start openstack-nova-scheduler.service +# systemctl start openstack-nova-conductor.service +# systemctl start openstack-nova-novncproxy.service By default, the Ubuntu packages create an SQLite database. diff --git a/doc/install-guide/section_nova-networking-compute-node.xml b/doc/install-guide/section_nova-networking-compute-node.xml index 4c490d0a7d..91ea21fe8c 100644 --- a/doc/install-guide/section_nova-networking-compute-node.xml +++ b/doc/install-guide/section_nova-networking-compute-node.xml @@ -22,45 +22,14 @@ To configure legacy networking - - Run the following commands: - Replace INTERFACE_NAME with the - actual interface name for the external network. For example, - eth1 or ens224. - # openstack-config --set /etc/nova/nova.conf DEFAULT \ - network_api_class nova.network.api.API -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - security_group_api nova -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - network_manager nova.network.manager.FlatDHCPManager -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - firewall_driver nova.virt.libvirt.firewall.IptablesFirewallDriver -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - network_size 254 -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - allow_same_net_traffic False -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - multi_host True -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - send_arp_for_ha True -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - share_dhcp_address True -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - force_dhcp_release True -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - flat_network_bridge br100 -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - flat_interface INTERFACE_NAME -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - public_interface INTERFACE_NAME - - - Edit the /etc/nova/nova.conf file and add the - following keys to the [DEFAULT] section: - Replace INTERFACE_NAME with the - actual interface name for the external network. For example, - eth1 or ens224. - [DEFAULT] + + Edit the /etc/nova/nova.conf file and + complete the following actions: + + + In the [DEFAULT] section, configure + the network parameters: + [DEFAULT] ... network_api_class = nova.network.api.API security_group_api = nova @@ -75,6 +44,11 @@ force_dhcp_release = True flat_network_bridge = br100 flat_interface = INTERFACE_NAME public_interface = INTERFACE_NAME + Replace INTERFACE_NAME with the + actual interface name for the external network. For example, + eth1 or ens224. + + Restart the services: @@ -82,14 +56,20 @@ public_interface = INTERFACE_NAME # service nova-api-metadata restart Start the services and configure them to start when the system boots: - # service openstack-nova-network start -# service openstack-nova-metadata-api start -# chkconfig openstack-nova-network on -# chkconfig openstack-nova-metadata-api on - # service openstack-nova-network start + # systemctl enable openstack-nova-network.service +# systemctl enable openstack-nova-metadata-api.service +# systemctl start openstack-nova-network.service +# systemctl start openstack-nova-metadata-api.service + On SLES: + # service openstack-nova-network start # service openstack-nova-api-metadata start # chkconfig openstack-nova-network on # chkconfig openstack-nova-api-metadata on + On openSUSE: + # systemctl enable openstack-nova-network.service +# systemctl enable openstack-nova-metadata-api.service +# systemctl start openstack-nova-network.service +# systemctl start openstack-nova-metadata-api.service diff --git a/doc/install-guide/section_nova-networking-controller-node.xml b/doc/install-guide/section_nova-networking-controller-node.xml index dec59801be..d0cd1ba1cd 100644 --- a/doc/install-guide/section_nova-networking-controller-node.xml +++ b/doc/install-guide/section_nova-networking-controller-node.xml @@ -10,26 +10,33 @@ networking. To configure legacy networking - - Run the following commands: - # openstack-config --set /etc/nova/nova.conf DEFAULT \ - network_api_class nova.network.api.API -# openstack-config --set /etc/nova/nova.conf DEFAULT \ - security_group_api nova - - - Edit the /etc/nova/nova.conf file and add the - following keys to the [DEFAULT] section: - [DEFAULT] + + Edit the /etc/nova/nova.conf file and + complete the following actions: + + + In the [DEFAULT] section, configure + the network and security group APIs: + [DEFAULT] ... network_api_class = nova.network.api.API security_group_api = nova + + Restart the Compute services: - # service openstack-nova-api restart + # systemctl restart openstack-nova-api.service +# systemctl restart openstack-nova-scheduler.service +# systemctl restart openstack-nova-conductor.service + On SLES: + # service openstack-nova-api restart # service openstack-nova-scheduler restart # service openstack-nova-conductor restart + On openSUSE: + # systemctl restart openstack-nova-api.service +# systemctl restart openstack-nova-scheduler.service +# systemctl restart openstack-nova-conductor.service # service nova-api restart # service nova-scheduler restart # service nova-conductor restart