From 8342ff896848273ff2f2a09448263291a8540a2d Mon Sep 17 00:00:00 2001 From: gord chung Date: Fri, 27 Jan 2017 16:29:51 +0000 Subject: [PATCH] drop api and storage references from install-guide stop telling people how to use deprecated/unmaintained stuff - remove all db docs detailing mongo install/config - cleanup get_started.rst - remove note about future agents because i don't know what magic it's hinting at. - add note that collector is optional - drop all notes about api service and notes about storage - drop all stuff about configuring api with apache - replace ceilometer+mongo config notes with ceilometer+gnocchi. - remove keystone_authtoken config since no more api - point all distro docs to gnocchi - add a note to say api+storage is dead. Change-Id: I494b4e7013ca146ffa640a356cacc4a1a5ee85e8 --- .../environment-nosql-database-obs.rst | 78 ---------------- .../environment-nosql-database-rdo.rst | 50 ----------- .../environment-nosql-database-ubuntu.rst | 52 ----------- install-guide/source/get_started.rst | 23 +++-- install-guide/source/index.rst | 3 - .../source/install-base-config-common.rst | 89 +++++++------------ install-guide/source/install-base-obs.rst | 75 +--------------- .../source/install-base-prereq-common.rst | 56 +----------- install-guide/source/install-base-rdo.rst | 52 +---------- install-guide/source/install-base-ubuntu.rst | 75 ++-------------- 10 files changed, 63 insertions(+), 490 deletions(-) delete mode 100644 install-guide/source/database/environment-nosql-database-obs.rst delete mode 100644 install-guide/source/database/environment-nosql-database-rdo.rst delete mode 100644 install-guide/source/database/environment-nosql-database-ubuntu.rst diff --git a/install-guide/source/database/environment-nosql-database-obs.rst b/install-guide/source/database/environment-nosql-database-obs.rst deleted file mode 100644 index 2ec8e77445..0000000000 --- a/install-guide/source/database/environment-nosql-database-obs.rst +++ /dev/null @@ -1,78 +0,0 @@ -.. _environment-nosql-database-obs: - -NoSQL database for openSUSE and SUSE Linux Enterprise -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Telemetry service uses a NoSQL database to store information. The database -typically runs on the controller node. The procedures in this guide use -MongoDB. - -Install and configure components --------------------------------- - -1. Enable the Open Build Service repositories for MongoDB based on - your openSUSE or SLES version: - - On openSUSE: - - .. code-block:: console - - # zypper addrepo -f obs://server:database/openSUSE_Leap_42.1 Database - - On SLES: - - .. code-block:: console - - # zypper addrepo -f obs://server:database/SLE_12_SP1 Database - - .. note:: - - The packages are signed by GPG key ``05905EA8``. You should - verify the fingerprint of the imported GPG key before using it. - - .. code-block:: console - - Key Name: server:database OBS Project - Key Fingerprint: 116EB863 31583E47 E63CDF4D 562111AC 05905EA8 - Key Created: Mon 08 Dec 2014 09:54:12 AM UTC - Key Expires: Wed 15 Feb 2017 09:54:12 AM UTC - - Install the MongoDB package: - - .. code-block:: console - - # zypper install mongodb - -2. Edit the ``/etc/mongodb.conf`` file and complete the following - actions: - - * Configure the ``bind_ip`` key to use the management interface - IP address of the controller node. - - .. code-block:: ini - - bind_ip = 10.0.0.11 - - * By default, MongoDB creates several 1 GB journal files - in the ``/var/lib/mongodb/journal`` directory. - If you want to reduce the size of each journal file to - 128 MB and limit total journal space consumption to 512 MB, - assert the ``smallfiles`` key: - - .. code-block:: ini - - smallfiles = true - - You can also disable journaling. For more information, see the - `MongoDB manual `__. - -Finalize installation ---------------------- - -* Start the MongoDB service and configure it to start when - the system boots: - - .. code-block:: console - - # systemctl enable mongodb.service - # systemctl start mongodb.service diff --git a/install-guide/source/database/environment-nosql-database-rdo.rst b/install-guide/source/database/environment-nosql-database-rdo.rst deleted file mode 100644 index 07564918b2..0000000000 --- a/install-guide/source/database/environment-nosql-database-rdo.rst +++ /dev/null @@ -1,50 +0,0 @@ -.. _environment-nosql-database-rdo: - -NoSQL database for Red Hat Enterprise Linux and CentOS -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Telemetry service uses a NoSQL database to store information. The database -typically runs on the controller node. The procedures in this guide use -MongoDB. - -Install and configure components --------------------------------- - -1. Install the MongoDB packages: - - .. code-block:: console - - # yum install mongodb-server mongodb - -2. Edit the ``/etc/mongod.conf`` file and complete the following - actions: - - * Configure the ``bind_ip`` key to use the management interface - IP address of the controller node. - - .. code-block:: ini - - bind_ip = 10.0.0.11 - - * By default, MongoDB creates several 1 GB journal files - in the ``/var/lib/mongodb/journal`` directory. - If you want to reduce the size of each journal file to - 128 MB and limit total journal space consumption to 512 MB, - assert the ``smallfiles`` key: - - .. code-block:: ini - - smallfiles = true - - You can also disable journaling. For more information, see the - `MongoDB manual `__. - -Finalize installation ---------------------- - -* Start the MongoDB service and configure it to start when the system boots: - - .. code-block:: console - - # systemctl enable mongod.service - # systemctl start mongod.service diff --git a/install-guide/source/database/environment-nosql-database-ubuntu.rst b/install-guide/source/database/environment-nosql-database-ubuntu.rst deleted file mode 100644 index f52162d867..0000000000 --- a/install-guide/source/database/environment-nosql-database-ubuntu.rst +++ /dev/null @@ -1,52 +0,0 @@ -.. _environment-nosql-database-ubuntu: - -NoSQL database for Ubuntu -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Telemetry service uses a NoSQL database to store information. The database -typically runs on the controller node. The procedures in this guide use -MongoDB. - -Install and configure components --------------------------------- - -1. Install the MongoDB packages: - - .. code-block:: console - - # apt-get install mongodb-server mongodb-clients python-pymongo - -2. Edit the ``/etc/mongodb.conf`` file and complete the following - actions: - - * Configure the ``bind_ip`` key to use the management interface - IP address of the controller node. - - .. code-block:: ini - - bind_ip = 10.0.0.11 - - * By default, MongoDB creates several 1 GB journal files - in the ``/var/lib/mongodb/journal`` directory. - If you want to reduce the size of each journal file to - 128 MB and limit total journal space consumption to 512 MB, - assert the ``smallfiles`` key: - - .. code-block:: ini - - smallfiles = true - - You can also disable journaling. For more information, see the - `MongoDB manual `__. - -Finalize installation ---------------------- - -* If you change the journaling configuration, stop the MongoDB - service, remove the initial journal files, and start the service: - - .. code-block:: console - - # service mongodb stop - # rm /var/lib/mongodb/journal/prealloc.* - # service mongodb start diff --git a/install-guide/source/get_started.rst b/install-guide/source/get_started.rst index 3b8ebd6d7e..2c5dcf9cfb 100644 --- a/install-guide/source/get_started.rst +++ b/install-guide/source/get_started.rst @@ -16,8 +16,7 @@ The Telemetry service consists of the following components: A compute agent (``ceilometer-agent-compute``) Runs on each compute node and polls for resource utilization - statistics. There may be other types of agents in the future, but - for now our focus is creating the compute agent. + statistics. A central agent (``ceilometer-agent-central``) Runs on a central management server to poll for resource utilization @@ -31,11 +30,19 @@ A notification agent (``ceilometer-agent-notification``) A collector (``ceilometer-collector``) Runs on central management server(s) and dispatches collected telemetry data to a data store or external consumer without - modification. + modification. This service is optional as the + ``ceilometer-agent-notification`` service can be configured to provide + the equivalent functionality. -An API server (``ceilometer-api``) - Runs on one or more central management servers to provide data - access from the data store. +These services communicate by using the OpenStack messaging bus. Ceilometer +data is designed to be published to various endpoints for storage and +analysis. -These services communicate by using the OpenStack messaging bus. Only -the collector and API server have access to the data store. \ No newline at end of file +.. note:: + + Ceilometer previously provided a storage and API solution. As of Newton, + this functionality is officially deprecated and discouraged. For efficient + storage and statistical analysis of Ceilometer data, Gnocchi_ is + recommended. + +.. _Gnocchi: http://gnocchi.xyz diff --git a/install-guide/source/index.rst b/install-guide/source/index.rst index 431e9efb1c..4708acd2e8 100644 --- a/install-guide/source/index.rst +++ b/install-guide/source/index.rst @@ -23,9 +23,6 @@ Telemetry Data Collection service configure_services/swift/install-swift-ubuntu.rst verify.rst next-steps.rst - database/environment-nosql-database-obs.rst - database/environment-nosql-database-rdo.rst - database/environment-nosql-database-ubuntu.rst This chapter assumes a working setup of OpenStack following the base Installation Guide. diff --git a/install-guide/source/install-base-config-common.rst b/install-guide/source/install-base-config-common.rst index 092f7189ba..075f8401a2 100644 --- a/install-guide/source/install-base-config-common.rst +++ b/install-guide/source/install-base-config-common.rst @@ -1,78 +1,55 @@ 2. Edit the ``/etc/ceilometer/ceilometer.conf`` file and complete the following actions: - * In the ``[database]`` section, configure database access: + * Configure Gnocchi connection: .. code-block:: ini - [database] + [DEFAULT] ... - connection = mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer + meter_dispatchers=gnocchi + event_dispatchers=gnocchi - Replace ``CEILOMETER_DBPASS`` with the password you chose for the - Telemetry service database. You must escape special characters such - as ':', '/', '+', and '@' in the connection string in accordance - with `RFC2396 `_. + [dispatcher_gnocchi] + # filter out Gnocchi-related activity meters (Swift driver) + filter_service_activity = False + # default metric storage archival policy + archive_policy = low - * In the ``[DEFAULT]`` section, - configure ``RabbitMQ`` message queue access: + .. note:: - .. code-block:: ini + It is possible forego the collector service by modifying the + pipeline.yaml to use the ``gnocchi://`` publisher rather than + ``notifier://``. Doing so will minimise resource requirements. + In this case, dispatchers do not need to be added to conf file. - [DEFAULT] - ... - transport_url = rabbit://openstack:RABBIT_PASS@controller + * In the ``[DEFAULT]`` section, + configure ``RabbitMQ`` message queue access: - Replace ``RABBIT_PASS`` with the password you chose for the - ``openstack`` account in ``RabbitMQ``. + .. code-block:: ini - * In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections, - configure Identity service access: + [DEFAULT] + ... + transport_url = rabbit://openstack:RABBIT_PASS@controller - .. code-block:: ini - - [DEFAULT] - ... - auth_strategy = keystone - - [keystone_authtoken] - ... - auth_uri = http://controller:5000 - auth_url = http://controller:35357 - memcached_servers = controller:11211 - auth_type = password - project_domain_name = default - user_domain_name = default - project_name = service - username = ceilometer - password = CEILOMETER_PASS - - Replace ``CEILOMETER_PASS`` with the password you chose for - the ``ceilometer`` user in the Identity service. + Replace ``RABBIT_PASS`` with the password you chose for the + ``openstack`` account in ``RabbitMQ``. * In the ``[service_credentials]`` section, configure service credentials: .. code-block:: ini - [service_credentials] - ... - auth_type = password - auth_url = http://controller:5000/v3 - project_domain_name = default - user_domain_name = default - project_name = service - username = ceilometer - password = CEILOMETER_PASS - interface = internalURL - region_name = RegionOne + [service_credentials] + ... + auth_type = password + auth_url = http://controller:5000/v3 + project_domain_name = default + user_domain_name = default + project_name = service + username = ceilometer + password = CEILOMETER_PASS + interface = internalURL + region_name = RegionOne Replace ``CEILOMETER_PASS`` with the password you chose for the ``ceilometer`` user in the Identity service. - - -3. Stop and disable the ceilometer-api which is dedicated for testing only - - .. code-block:: console - - # systemctl disable ceilometer-api - # systemctl stop ceilometer-api diff --git a/install-guide/source/install-base-obs.rst b/install-guide/source/install-base-obs.rst index 8843a6d27c..74f03d836c 100644 --- a/install-guide/source/install-base-obs.rst +++ b/install-guide/source/install-base-obs.rst @@ -14,42 +14,10 @@ Prerequisites ------------- Before you install and configure the Telemetry service, you must -create a database, service credentials, and API endpoints. However, -unlike other services, the Telemetry service uses a NoSQL database. -See :ref:`environment-nosql-database-obs` to install and configure -MongoDB before proceeding further. - -1. Create the ``ceilometer`` database: - - .. code-block:: console - - # mongo --host controller --eval ' - db = db.getSiblingDB("ceilometer"); - db.addUser({user: "ceilometer", - pwd: "CEILOMETER_DBPASS", - roles: [ "readWrite", "dbAdmin" ]})' - - MongoDB shell version: 2.4.x - connecting to: controller:27017/test - { - "user" : "ceilometer", - "pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f", - "roles" : [ - "readWrite", - "dbAdmin" - ], - "_id" : ObjectId("5489c22270d7fad1ba631dc3") - } - - Replace ``CEILOMETER_DBPASS`` with a suitable password. - - .. note:: - - If the command fails saying you are not authorized to insert a user, - you may need to temporarily comment out the ``auth`` option in - the ``/etc/mongodb.conf`` file, restart the MongoDB service using - ``systemctl restart mongodb``, and try calling the command again. +configure a target to send metering data to. The recommended endpoint +is Gnocchi_. To enable Gnocchi, please see its install guide. +.. _Gnocchi: http:/gnocchi.xyz .. include:: install-base-prereq-common.rst Install and configure components @@ -59,51 +27,16 @@ Install and configure components .. code-block:: console - # zypper install openstack-ceilometer-api \ + # zypper install openstack-ceilometer-collector \ openstack-ceilometer-agent-notification \ openstack-ceilometer-agent-central python-ceilometerclient .. include:: install-base-config-common.rst -* In the ``[collector]`` section, configure the dispatcher: - - .. code-block:: ini - - [collector] - ... - dispatcher = database - -Configure the Apache HTTP server --------------------------------- - -* Create the ``/etc/apache2/conf.d/wsgi-ceilometer.conf`` file - with the following content: - - .. code-block:: apache - - Listen 8777 - - - WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP} - WSGIProcessGroup ceilometer-api - WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app" - WSGIApplicationGroup %{GLOBAL} - ErrorLog /var/log/apache2/ceilometer_error.log - CustomLog /var/log/apache2/ceilometer_access.log combined - - - WSGISocketPrefix /var/run/apache2 - Finalize installation --------------------- -#. Reload the Apache HTTP server: - - .. code-block:: console - - # systemctl reload apache2.service - #. Start the Telemetry services and configure them to start when the system boots: diff --git a/install-guide/source/install-base-prereq-common.rst b/install-guide/source/install-base-prereq-common.rst index 2e4bacdd1a..9424c380b5 100644 --- a/install-guide/source/install-base-prereq-common.rst +++ b/install-guide/source/install-base-prereq-common.rst @@ -1,11 +1,11 @@ -2. Source the ``admin`` credentials to gain access to admin-only +1. Source the ``admin`` credentials to gain access to admin-only CLI commands: .. code-block:: console $ . admin-openrc -3. To create the service credentials, complete these steps: +2. To create the service credentials, complete these steps: * Create the ``ceilometer`` user: @@ -48,55 +48,3 @@ | name | ceilometer | | type | metering | +-------------+----------------------------------+ - -4. Create the Telemetry service API endpoints: - - .. code-block:: console - - $ openstack endpoint create --region RegionOne \ - metering public http://controller:8777 - +--------------+----------------------------------+ - | Field | Value | - +--------------+----------------------------------+ - | enabled | True | - | id | b808b67b848d443e9eaaa5e5d796970c | - | interface | public | - | region | RegionOne | - | region_id | RegionOne | - | service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 | - | service_name | ceilometer | - | service_type | metering | - | url | http://controller:8777 | - +--------------+----------------------------------+ - - $ openstack endpoint create --region RegionOne \ - metering internal http://controller:8777 - +--------------+----------------------------------+ - | Field | Value | - +--------------+----------------------------------+ - | enabled | True | - | id | c7009b1c2ee54b71b771fa3d0ae4f948 | - | interface | internal | - | region | RegionOne | - | region_id | RegionOne | - | service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 | - | service_name | ceilometer | - | service_type | metering | - | url | http://controller:8777 | - +--------------+----------------------------------+ - - $ openstack endpoint create --region RegionOne \ - metering admin http://controller:8777 - +--------------+----------------------------------+ - | Field | Value | - +--------------+----------------------------------+ - | enabled | True | - | id | b2c00566d0604551b5fe1540c699db3d | - | interface | admin | - | region | RegionOne | - | region_id | RegionOne | - | service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 | - | service_name | ceilometer | - | service_type | metering | - | url | http://controller:8777 | - +--------------+----------------------------------+ diff --git a/install-guide/source/install-base-rdo.rst b/install-guide/source/install-base-rdo.rst index c802e44b02..1c0fb4b382 100644 --- a/install-guide/source/install-base-rdo.rst +++ b/install-guide/source/install-base-rdo.rst @@ -14,27 +14,10 @@ Prerequisites ------------- Before you install and configure the Telemetry service, you must -create a database, service credentials, and API endpoints. However, -unlike other services, the Telemetry service uses a NoSQL database. -See :ref:`environment-nosql-database-rdo` to install and configure -MongoDB before proceeding further. - -1. Create the ``ceilometer`` database: - - .. code-block:: console - - # mongo --host controller --eval ' - db = db.getSiblingDB("ceilometer"); - db.createUser({user: "ceilometer", - pwd: "CEILOMETER_DBPASS", - roles: [ "readWrite", "dbAdmin" ]})' - - MongoDB shell version: 2.6.x - connecting to: controller:27017/test - Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] } - - Replace ``CEILOMETER_DBPASS`` with a suitable password. +configure a target to send metering data to. The recommended endpoint +is Gnocchi_. To enable Gnocchi, please see its install guide. +.. _Gnocchi: http:/gnocchi.xyz .. include:: install-base-prereq-common.rst Install and configure components @@ -44,42 +27,15 @@ Install and configure components .. code-block:: console - # yum install openstack-ceilometer-api \ + # yum install openstack-ceilometer-collector openstack-ceilometer-notification \ openstack-ceilometer-central python-ceilometerclient .. include:: install-base-config-common.rst -Configure the Apache HTTP server --------------------------------- - -* Create the ``/etc/httpd/conf.d/wsgi-ceilometer.conf`` file with - the following content: - - .. code-block:: apache - - Listen 8777 - - - WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP} - WSGIProcessGroup ceilometer-api - WSGIScriptAlias / /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi - WSGIApplicationGroup %{GLOBAL} - ErrorLog /var/log/httpd/ceilometer_error.log - CustomLog /var/log/httpd/ceilometer_access.log combined - - - WSGISocketPrefix /var/run/httpd - Finalize installation --------------------- -#. Reload the Apache HTTP server: - - .. code-block:: console - - # systemctl reload httpd.service - #. Start the Telemetry services and configure them to start when the system boots: diff --git a/install-guide/source/install-base-ubuntu.rst b/install-guide/source/install-base-ubuntu.rst index 5853136d01..e397aac973 100644 --- a/install-guide/source/install-base-ubuntu.rst +++ b/install-guide/source/install-base-ubuntu.rst @@ -14,42 +14,10 @@ Prerequisites ------------- Before you install and configure the Telemetry service, you must -create a database, service credentials, and API endpoints. However, -unlike other services, the Telemetry service uses a NoSQL database. -See :ref:`environment-nosql-database-ubuntu` to install and configure -MongoDB before proceeding further. - -1. Create the ``ceilometer`` database: - - .. code-block:: console - - # mongo --host controller --eval ' - db = db.getSiblingDB("ceilometer"); - db.addUser({user: "ceilometer", - pwd: "CEILOMETER_DBPASS", - roles: [ "readWrite", "dbAdmin" ]})' - - MongoDB shell version: 2.4.x - connecting to: controller:27017/test - { - "user" : "ceilometer", - "pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f", - "roles" : [ - "readWrite", - "dbAdmin" - ], - "_id" : ObjectId("5489c22270d7fad1ba631dc3") - } - - Replace ``CEILOMETER_DBPASS`` with a suitable password. - - .. note:: - - If the command fails saying you are not authorized to insert a user, - you may need to temporarily comment out the ``auth`` option in - the ``/etc/mongodb.conf`` file, restart the MongoDB service using - ``service mongodb restart``, and try calling the command again. - +configure a target to send metering data to. The recommended endpoint +is Gnocchi_. To enable Gnocchi, please see its install guide. + +.. _Gnocchi: http:/gnocchi.xyz .. include:: install-base-prereq-common.rst Install and configure components @@ -59,48 +27,15 @@ Install and configure components .. code-block:: console - # apt-get install ceilometer-api ceilometer-collector \ + # apt-get install ceilometer-collector \ ceilometer-agent-central ceilometer-agent-notification \ python-ceilometerclient .. include:: install-base-config-common.rst -Configure the Apache HTTP server --------------------------------- - -#. Create the ``/etc/apache2/sites-available/ceilometer.conf`` file - with the following content: - - .. code-block:: apache - - Listen 8777 - - - WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP} - WSGIProcessGroup ceilometer-api - WSGIScriptAlias / "/usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi" - WSGIApplicationGroup %{GLOBAL} - ErrorLog /var/log/apache2/ceilometer_error.log - CustomLog /var/log/apache2/ceilometer_access.log combined - - - WSGISocketPrefix /var/run/apache2 - -#. Enable the Telemetry service virtual hosts: - - .. code-block:: console - - # a2ensite ceilometer - Finalize installation --------------------- -#. Reload the Apache HTTP server: - - .. code-block:: console - - # service apache2 reload - #. Restart the Telemetry services: .. code-block:: console