From f174fc2caab209061069621bfe26fb3edb75d6c7 Mon Sep 17 00:00:00 2001 From: Thomas Goirand Date: Sat, 2 Nov 2013 20:23:00 +0800 Subject: [PATCH] Debian consitency and links This patch reviews the "Answer to the debconf" things in every service, so that they look the same. It also adds links to the debconf chapter, so that users can navigate more easily in the doc. It also changes the titles of the debconf chapter so that they match the text in each chapter. It also documents the fact that python-argparse should be installed manually on all Wheezy setups, which is an issue that has been reported by some users, and which wasn't documented. The patch also extends the explanations about the meta-packages. This patch adds a lot of tags that were missing as well. Finally, the patch also moves the explanation about remote MySQL setup from the nova installation procedure to the debconf-dbconfig-common section of the debconf chapter, which is a much better fit. This is my last clean-up work, I believe. Change-Id: I5a85f39e49786ae90cc0afbf13b94baf486408f4 backport: havana --- doc/install-guide/ch_basics.xml | 20 +++ .../section_ceilometer-install.xml | 5 +- .../section_debconf-api-endpoints.xml | 70 ++++----- .../section_debconf-dbconfig-common.xml | 138 +++++++++++------- .../section_debconf-keystone_authtoken.xml | 58 ++++---- .../section_debconf-rabbitqm.xml | 41 +++--- doc/install-guide/section_glance-install.xml | 13 +- doc/install-guide/section_heat-install.xml | 9 +- doc/install-guide/section_neutron-install.xml | 9 +- ...-provider-router-with-private_networks.xml | 2 + doc/install-guide/section_nova-compute.xml | 43 +++--- doc/install-guide/section_nova-controller.xml | 9 +- 12 files changed, 241 insertions(+), 176 deletions(-) diff --git a/doc/install-guide/ch_basics.xml b/doc/install-guide/ch_basics.xml index ca86569d8f..72a6b355fb 100644 --- a/doc/install-guide/ch_basics.xml +++ b/doc/install-guide/ch_basics.xml @@ -449,6 +449,26 @@ bind-address = 192.168.0.10 xlink:href="http://archive.gplhost.com/readme.mirrors" >http://archive.gplhost.com/readme.mirrors. +
+ Manually installing python-argparse + The Debian OpenStack packages are maintained on Debian Sid (aka, Debian Unstable) + - the current development version. The (backported) packages can run fine on Debian + Wheezy with a single caveat: + All the OpenStack packages are written in python. Wheezy uses Python version 2.6 + and Python version 2.7, with Python 2.6 being the default interpreter, while Sid has + only Python version 2.7. There is one packaging change between these two. With + Python 2.6 python-argparse was a separate package that needs to be installed on its + own, with Python 2.7 it is included as part of the Python 2.7 packages. Unfortunately, + the Python 2.7 package does not have a Provides: python-argparse in it. + Since the packages are maintained in Sid where a require on python-argparse + would be an error and the Debian OpenStack maintainer only want to maintain a single + version of the OpenStack packages, you have to install + python-argparse manually on each OpenStack + system running Debian Wheezy, before installing any other OpenStack packages. Install + the package with: + # apt-get install python-argparse + This applies to nearly all OpenStack packages in Wheezy. +
Messaging Server On the controller node, install the messaging queue server. diff --git a/doc/install-guide/section_ceilometer-install.xml b/doc/install-guide/section_ceilometer-install.xml index 147638299e..62a707c4ea 100644 --- a/doc/install-guide/section_ceilometer-install.xml +++ b/doc/install-guide/section_ceilometer-install.xml @@ -18,8 +18,9 @@ # zypper install openstack-ceilometer-api openstack-ceilometer-collector openstack-ceilometer-agent-central python-ceilometerclient Answer to the debconf - prompts about the API endpoint registration, the RabbitMQ credentials, - and the keystone_autotoken. + prompts about [keystone_authtoken] + settings, the RabbitMQ credentials and + the API endpoint registration. The Metering Service uses a database to store information. diff --git a/doc/install-guide/section_debconf-api-endpoints.xml b/doc/install-guide/section_debconf-api-endpoints.xml index 965c2b8fe4..e6a3dcd526 100644 --- a/doc/install-guide/section_debconf-api-endpoints.xml +++ b/doc/install-guide/section_debconf-api-endpoints.xml @@ -18,38 +18,38 @@ As a consequence, this debconf screen displays every time, which enables the user to re-register the API in the Identity Service, but making sure that it is registered only once. - - - - - + + + + + + + If you answer yes to the previous prompt and the API service is already registered in the Identity Service database, do not answer yes again when you upgrade. The following debconf screens are necessary for the package to reach Keystone and register itself in the catalog. - - - - - + + + + + + + The following screen prompts for the value in the admin_token of Keystone, which is necessary for registering an API server in the Identity Service. This admin_token is normally configured automatically when setting-up the keystone package. - - - - - + + + + + + + The following screen is the IP addresses of the service that the user is configuring. The configuration script automatically detects the IP address by using /sbin/route and @@ -57,21 +57,21 @@ interface that is connected to the default route). So in most cases, and unless you have a very specific network set up, you simply press ENTER. - - - - - + + + + + + + The last parameter is the region name for the service you are currently configuring. For example, us-east-coast or europe-paris. - - - - - + + + + + + +
diff --git a/doc/install-guide/section_debconf-dbconfig-common.xml b/doc/install-guide/section_debconf-dbconfig-common.xml index 4775385e55..eeaffc792c 100644 --- a/doc/install-guide/section_debconf-dbconfig-common.xml +++ b/doc/install-guide/section_debconf-dbconfig-common.xml @@ -3,7 +3,7 @@ xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> - dbconfig-common package + Database management with dbconfig-common The dbconfig-common package provides a standard Debian interface that enables you to configure Debian database parameters. It includes localized @@ -27,18 +27,22 @@ Here is a snapshot of the two configuration screens that appear when you re-configure the dbconfig-common package: - - - - - - - - - - + + + + + + + + + + + + + + Unlike other debconf prompts, you cannot pre-seed the answers for the dbconfig-common prompts by using debconf-set-selections. Instead, you @@ -68,40 +72,76 @@ dbc_authmethod_user='' file. The following screens are in the cinder-common package. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + If you wish to access a MySQL server remotely, you have to make it + possible to access it as root from a remote server. This can be done using + a simple command available in the openstack-proxy-node + package: + # /usr/share/openstack-proxy-node/mysql-remote-root + If you do not want to install the + openstack-proxy-node, you can run + the following script to enable remote root access: + #!/bin/sh + +set -e + +SQL="mysql --defaults-file=/etc/mysql/debian.cnf -Dmysql -e" + +ROOT_PASS=`${SQL} "SELECT Password FROM user WHERE User='root' LIMIT 1;" \ + | tail -n 1` +${SQL} "REPLACE INTO user SET host='%', user='root',\ + password='${ROOT_PASS}', Select_priv='Y', Insert_priv='Y',\ + Update_priv='Y', Delete_priv='Y', Create_priv='Y', Drop_priv='Y',\ + Reload_priv='Y', Shutdown_priv='Y', Process_priv='Y', File_priv='Y',\ + Grant_priv='Y', References_priv='Y', Index_priv='Y', Alter_priv='Y',\ + Super_priv='Y', Show_db_priv='Y', Create_tmp_table_priv='Y',\ + Lock_tables_priv='Y', Execute_priv='Y', Repl_slave_priv='Y',\ + Repl_client_priv='Y', Create_view_priv='Y', Show_view_priv='Y',\ + Create_routine_priv='Y', Alter_routine_priv='Y', Create_user_priv='Y',\ + Event_priv='Y', Trigger_priv='Y' " +${SQL} "FLUSH PRIVILEGES" +sed -i 's|^bind-address[ \t]*=.*|bind-address = 0.0.0.0|' /etc/mysql/my.cnf +/etc/init.d/mysql restart + You will need to enable remote access before installation of any OpenStack service. diff --git a/doc/install-guide/section_debconf-keystone_authtoken.xml b/doc/install-guide/section_debconf-keystone_authtoken.xml index 464a7e0a99..a2f83226d2 100644 --- a/doc/install-guide/section_debconf-keystone_authtoken.xml +++ b/doc/install-guide/section_debconf-keystone_authtoken.xml @@ -3,7 +3,7 @@ xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> - Services and keystone_authtoken + Services and the [keystone_authtoken] Because most OpenStack services must access the Identity Service, you must configure the IP address of the keystone server to be able to access it. You must @@ -24,34 +24,34 @@ admin_password = %SERVICE_PASSWORD% options. The following screens show an example Image Service configuration: - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + This information is stored in the configuration file for each service. For example: /etc/ceilometer/ceilometer.conf diff --git a/doc/install-guide/section_debconf-rabbitqm.xml b/doc/install-guide/section_debconf-rabbitqm.xml index 2e54918905..7182f154e2 100644 --- a/doc/install-guide/section_debconf-rabbitqm.xml +++ b/doc/install-guide/section_debconf-rabbitqm.xml @@ -3,30 +3,33 @@ xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> - RabbitMQ parameters + RabbitMQ credentials parameters For every package that must connect to a Messaging Server, the Debian package enables you to configure the IP address for that server and the user name and password that is used to connect. The following example shows configuration with the ceilometer-common package: - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + These debconf screens appear in: ceilometer-common, cinder-common, # yum install openstack-glance # zypper install openstack-glance python-glanceclient - Answer to the debconf prompts to setup the - database, register the Image service into the Identity service - catalogue (API endpoint), configure the keystone_authtoken, - and the RabbitMQ credentials. You will also have to select the type - of caching as per the screenshot below: + Answer to the debconf + prompts about the database management, + the [keystone_authtoken] + settings, the RabbitMQ credentials and + the API endpoint registration. + You will also have to select the type of caching as per the screenshot below: - + The Image Service stores information about images in a database. This guide uses the MySQL database that is used by other OpenStack diff --git a/doc/install-guide/section_heat-install.xml b/doc/install-guide/section_heat-install.xml index 610a48b95b..35a33e093e 100644 --- a/doc/install-guide/section_heat-install.xml +++ b/doc/install-guide/section_heat-install.xml @@ -8,9 +8,12 @@ Install the Orchestration Service on the controller node: # apt-get install heat-api heat-api-cfn heat-engine - Answer to the debconf - prompts about the database, the RabbitMQ and the - keystone_authtoken configuration, and the API endpoint registration. + + Answer to the debconf + prompts about the database management, + the [keystone_authtoken] + settings, the RabbitMQ credentials and + the API endpoint registration. diff --git a/doc/install-guide/section_neutron-install.xml b/doc/install-guide/section_neutron-install.xml index 692e5cd153..90e6815073 100644 --- a/doc/install-guide/section_neutron-install.xml +++ b/doc/install-guide/section_neutron-install.xml @@ -218,10 +218,11 @@ IDENTIFIED BY 'NEUTRON_DBPASS'; # zypper install openstack-neutron openstack-neutron-l3-agent openstack-neutron-dhcp-agent - Response to the debconf prompts to set up the database, - [keystone_authtoken], RabbitMQ - credentials, and API endpoints. + Answer to the debconf + prompts about the database management, + the [keystone_authtoken] + settings, the RabbitMQ credentials and + the API endpoint registration. Make sure basic Neutron-related service are set to start diff --git a/doc/install-guide/section_neutron-provider-router-with-private_networks.xml b/doc/install-guide/section_neutron-provider-router-with-private_networks.xml index 10be3626de..ca275c12b6 100644 --- a/doc/install-guide/section_neutron-provider-router-with-private_networks.xml +++ b/doc/install-guide/section_neutron-provider-router-with-private_networks.xml @@ -568,11 +568,13 @@ export SERVICE_TOKEN=password that the administrator would create the private networks on behalf of the tenants. + + diff --git a/doc/install-guide/section_nova-compute.xml b/doc/install-guide/section_nova-compute.xml index b97df3d406..62313ee678 100644 --- a/doc/install-guide/section_nova-compute.xml +++ b/doc/install-guide/section_nova-compute.xml @@ -49,38 +49,31 @@ After configuring the operating system, install the appropriate packages for the compute service. - Note for Debian users - Before installing anything, make sure that you have installed dbconfig-common, and that - you configured it correctly to allow the use of remote database servers: - # dpkg-reconfigure dbconfig-common - Then, on the host running the MySQL server (which is the controller - node in this manual), simply run: - # /usr/share/openstack-proxy-node/mysql-remote-root - (available from the openstack-proxy-node package) so that your - controller node is configured to allow the compute node to access it. - Then do: # apt-get install nova-compute-kvm python-guestfs Select "Yes" when asked to create a supermin appliance during install. - Note for Debian users - You can also use the meta-package with: + + + In Debian, you can also use the meta-packages with the following command: # apt-get install openstack-compute-node which will also install other components on your compute node, like the OVS - Neutron agent, Ceilometer agent, and more. - As for the rest of OpenStack, the Nova packages are configured through - debconf. So you will not need to manually configure the database, do the - "nova-manage db sync" manually, configure the keystone auth token, or - the RabbitMQ parameters of Nova. Therefore, all the below steps can be - skipped. If you need to reconfigure Nova, you can use: - # dpkg-reconfigure -plow nova-common - or edit the configuration files and manually restart the daemons. - Remember that if your database server is installed remotely, before - installing the Compute service, you will need to do: - # apt-get install dbconfig-common && dpkg-reconfigure -plow dbconfig-common + Neutron agent, Ceilometer agent, and more. There is also a + meta-package for the controler node called + openstack-proxy-node and a meta-package + called openstack-toaster that + installs both openstack-proxy-node and + openstack-toaster at the same time. + # yum install openstack-nova-compute # zypper install openstack-nova-compute kvm openstack-utils - + Answer to the debconf + prompts about the database management, + the [keystone_authtoken] + settings, the RabbitMQ credentials and + the API endpoint registration. + + Due to this bug that is marked "Won't Fix", guestfs is restricted. Run the following command to relax the restriction: @@ -122,7 +115,7 @@ rabbit_host = controller - + Remove the SQLite Database created by the packages # rm /var/lib/nova/nova.sqlite diff --git a/doc/install-guide/section_nova-controller.xml b/doc/install-guide/section_nova-controller.xml index 1874f44d47..46c3e69ead 100644 --- a/doc/install-guide/section_nova-controller.xml +++ b/doc/install-guide/section_nova-controller.xml @@ -38,10 +38,11 @@ Answer to the debconf - prompts to configure the Nova Controller Services. This includes configuring the database, - the keystone_autotoken, the RabbitMQ credentials, and registering - nova-api in the Keystone catalogue. - The nova-manage db sync will then be done for you automatically. + prompts about the database management, + the [keystone_authtoken] + settings, the RabbitMQ credentials and + the API endpoint registration. + The nova-manage db sync will then be done for you automatically.