diff --git a/doc/source/tools/stackalytics-dump.txt b/doc/source/tools/stackalytics-dump.txt
index 6152e5408..6cc082ab2 100644
--- a/doc/source/tools/stackalytics-dump.txt
+++ b/doc/source/tools/stackalytics-dump.txt
@@ -1,40 +1,17 @@
-usage: stackalytics-dump [-h] [--age-warn AGE_WARN]
-                         [--collect-profiler-stats COLLECT_PROFILER_STATS]
-                         [--config-dir DIR] [--config-file PATH]
-                         [--corrections-uri CORRECTIONS_URI]
-                         [--dashboard-update-interval DASHBOARD_UPDATE_INTERVAL]
-                         [--days_to_update_members DAYS_TO_UPDATE_MEMBERS]
-                         [--debug] [--default-metric DEFAULT_METRIC]
-                         [--default-project-type DEFAULT_PROJECT_TYPE]
-                         [--default-release DEFAULT_RELEASE]
-                         [--driverlog-data-uri DRIVERLOG_DATA_URI]
-                         [--file FILE] [--force-update]
-                         [--git-base-uri GIT_BASE_URI]
-                         [--listen-host LISTEN_HOST]
-                         [--listen-port LISTEN_PORT]
-                         [--log-config-append PATH]
+usage: stackalytics-dump [-h] [--config-dir DIR] [--config-file PATH]
+                         [--debug] [--file FILE] [--log-config-append PATH]
                          [--log-date-format DATE_FORMAT] [--log-dir LOG_DIR]
                          [--log-file PATH] [--log-format FORMAT]
-                         [--members-look-ahead MEMBERS_LOOK_AHEAD]
                          [--min-compress-len MIN_COMPRESS_LEN] [--nodebug]
-                         [--noforce-update] [--norestore] [--nouse-syslog]
-                         [--nouse-syslog-rfc-format] [--noverbose]
-                         [--project-list-uri PROJECT_LIST_URI] [--restore]
-                         [--review-uri REVIEW_URI]
-                         [--runtime-storage-uri RUNTIME_STORAGE_URI]
-                         [--sources-root SOURCES_ROOT]
-                         [--ssh-key-filename SSH_KEY_FILENAME]
-                         [--ssh-username SSH_USERNAME]
+                         [--norestore] [--nouse-syslog]
+                         [--nouse-syslog-rfc-format] [--noverbose] [--restore]
                          [--syslog-log-facility SYSLOG_LOG_FACILITY]
                          [--use-syslog] [--use-syslog-rfc-format] [--verbose]
-                         [--version] [--default-data-uri DEFAULT_DATA_URI]
+                         [--version]
+                         [--runtime-storage-uri RUNTIME_STORAGE_URI]
 
 optional arguments:
   -h, --help            show this help message and exit
-  --age-warn AGE_WARN   Warn if the age of data is more than this value, sec
-  --collect-profiler-stats COLLECT_PROFILER_STATS
-                        Name of file to store python profiler data. This
-                        option works for dashboard only
   --config-dir DIR      Path to a config directory to pull *.conf files from.
                         This file set is sorted, so as to provide a
                         predictable parse order if individual options are
@@ -44,31 +21,9 @@ optional arguments:
   --config-file PATH    Path to a config file to use. Multiple config files
                         can be specified, with values in later files taking
                         precedence. The default files used are: None.
-  --corrections-uri CORRECTIONS_URI
-                        The address of file with corrections data
-  --dashboard-update-interval DASHBOARD_UPDATE_INTERVAL
-                        The interval specifies how frequently dashboard should
-                        check for updates in seconds
-  --days_to_update_members DAYS_TO_UPDATE_MEMBERS
-                        Number of days to update members
   --debug, -d           Print debugging output (set logging level to DEBUG
                         instead of default WARNING level).
-  --default-metric DEFAULT_METRIC
-                        Default metric
-  --default-project-type DEFAULT_PROJECT_TYPE
-                        Default project type
-  --default-release DEFAULT_RELEASE
-                        Default release, the most recent if not set
-  --driverlog-data-uri DRIVERLOG_DATA_URI
-                        URI for default data
   --file FILE, -f FILE  The name of file to store data
-  --force-update        Forcibly read default data and update records
-  --git-base-uri GIT_BASE_URI
-                        git base location
-  --listen-host LISTEN_HOST
-                        The address dashboard listens on
-  --listen-port LISTEN_PORT
-                        The port dashboard listens on
   --log-config-append PATH, --log_config PATH
                         The name of a logging configuration file. This file is
                         appended to any existing logging configuration files.
@@ -88,30 +43,15 @@ optional arguments:
                         logging.LogRecord attributes. This option is
                         deprecated. Please use logging_context_format_string
                         and logging_default_format_string instead.
-  --members-look-ahead MEMBERS_LOOK_AHEAD
-                        How many member profiles to look ahead after the last
   --min-compress-len MIN_COMPRESS_LEN, -m MIN_COMPRESS_LEN
                         The threshold length to kick in auto-compression
   --nodebug             The inverse of --debug
-  --noforce-update      The inverse of --force-update
   --norestore           The inverse of --restore
   --nouse-syslog        The inverse of --use-syslog
   --nouse-syslog-rfc-format
                         The inverse of --use-syslog-rfc-format
   --noverbose           The inverse of --verbose
-  --project-list-uri PROJECT_LIST_URI
-                        The address of file with the official projects list
   --restore, -r         Restore data into memcached
-  --review-uri REVIEW_URI
-                        URI of review system
-  --runtime-storage-uri RUNTIME_STORAGE_URI
-                        Storage URI
-  --sources-root SOURCES_ROOT
-                        The folder that holds all project sources to analyze
-  --ssh-key-filename SSH_KEY_FILENAME
-                        SSH key for gerrit review system access
-  --ssh-username SSH_USERNAME
-                        SSH username for gerrit review system access
   --syslog-log-facility SYSLOG_LOG_FACILITY
                         Syslog facility to receive log lines.
   --use-syslog          Use syslog for logging. Existing syslog format is
@@ -126,5 +66,5 @@ optional arguments:
   --verbose, -v         Print more verbose output (set logging level to INFO
                         instead of default WARNING level).
   --version             show program's version number and exit
-  --default-data-uri DEFAULT_DATA_URI
-                        URI for default data
+  --runtime-storage-uri RUNTIME_STORAGE_URI
+                        Storage URI
diff --git a/doc/source/tools/stackalytics-processor.txt b/doc/source/tools/stackalytics-processor.txt
index b961f15f1..e589bee88 100644
--- a/doc/source/tools/stackalytics-processor.txt
+++ b/doc/source/tools/stackalytics-processor.txt
@@ -1,40 +1,28 @@
-usage: stackalytics-processor [-h] [--age-warn AGE_WARN]
-                              [--collect-profiler-stats COLLECT_PROFILER_STATS]
-                              [--config-dir DIR] [--config-file PATH]
+usage: stackalytics-processor [-h] [--config-dir DIR] [--config-file PATH]
                               [--corrections-uri CORRECTIONS_URI]
-                              [--dashboard-update-interval DASHBOARD_UPDATE_INTERVAL]
                               [--days_to_update_members DAYS_TO_UPDATE_MEMBERS]
-                              [--debug] [--default-metric DEFAULT_METRIC]
-                              [--default-project-type DEFAULT_PROJECT_TYPE]
-                              [--default-release DEFAULT_RELEASE]
+                              [--debug] [--default-data-uri DEFAULT_DATA_URI]
                               [--driverlog-data-uri DRIVERLOG_DATA_URI]
-                              [--force-update] [--git-base-uri GIT_BASE_URI]
-                              [--listen-host LISTEN_HOST]
-                              [--listen-port LISTEN_PORT]
+                              [--git-base-uri GIT_BASE_URI]
                               [--log-config-append PATH]
                               [--log-date-format DATE_FORMAT]
                               [--log-dir LOG_DIR] [--log-file PATH]
                               [--log-format FORMAT]
                               [--members-look-ahead MEMBERS_LOOK_AHEAD]
-                              [--nodebug] [--noforce-update] [--nouse-syslog]
+                              [--nodebug] [--nouse-syslog]
                               [--nouse-syslog-rfc-format] [--noverbose]
                               [--project-list-uri PROJECT_LIST_URI]
                               [--review-uri REVIEW_URI]
-                              [--runtime-storage-uri RUNTIME_STORAGE_URI]
                               [--sources-root SOURCES_ROOT]
                               [--ssh-key-filename SSH_KEY_FILENAME]
                               [--ssh-username SSH_USERNAME]
                               [--syslog-log-facility SYSLOG_LOG_FACILITY]
                               [--use-syslog] [--use-syslog-rfc-format]
                               [--verbose] [--version]
-                              [--default-data-uri DEFAULT_DATA_URI]
+                              [--runtime-storage-uri RUNTIME_STORAGE_URI]
 
 optional arguments:
   -h, --help            show this help message and exit
-  --age-warn AGE_WARN   Warn if the age of data is more than this value, sec
-  --collect-profiler-stats COLLECT_PROFILER_STATS
-                        Name of file to store python profiler data. This
-                        option works for dashboard only
   --config-dir DIR      Path to a config directory to pull *.conf files from.
                         This file set is sorted, so as to provide a
                         predictable parse order if individual options are
@@ -46,28 +34,16 @@ optional arguments:
                         precedence. The default files used are: None.
   --corrections-uri CORRECTIONS_URI
                         The address of file with corrections data
-  --dashboard-update-interval DASHBOARD_UPDATE_INTERVAL
-                        The interval specifies how frequently dashboard should
-                        check for updates in seconds
   --days_to_update_members DAYS_TO_UPDATE_MEMBERS
                         Number of days to update members
   --debug, -d           Print debugging output (set logging level to DEBUG
                         instead of default WARNING level).
-  --default-metric DEFAULT_METRIC
-                        Default metric
-  --default-project-type DEFAULT_PROJECT_TYPE
-                        Default project type
-  --default-release DEFAULT_RELEASE
-                        Default release, the most recent if not set
+  --default-data-uri DEFAULT_DATA_URI
+                        URI for default data
   --driverlog-data-uri DRIVERLOG_DATA_URI
                         URI for default data
-  --force-update        Forcibly read default data and update records
   --git-base-uri GIT_BASE_URI
                         git base location
-  --listen-host LISTEN_HOST
-                        The address dashboard listens on
-  --listen-port LISTEN_PORT
-                        The port dashboard listens on
   --log-config-append PATH, --log_config PATH
                         The name of a logging configuration file. This file is
                         appended to any existing logging configuration files.
@@ -90,7 +66,6 @@ optional arguments:
   --members-look-ahead MEMBERS_LOOK_AHEAD
                         How many member profiles to look ahead after the last
   --nodebug             The inverse of --debug
-  --noforce-update      The inverse of --force-update
   --nouse-syslog        The inverse of --use-syslog
   --nouse-syslog-rfc-format
                         The inverse of --use-syslog-rfc-format
@@ -99,8 +74,6 @@ optional arguments:
                         The address of file with the official projects list
   --review-uri REVIEW_URI
                         URI of review system
-  --runtime-storage-uri RUNTIME_STORAGE_URI
-                        Storage URI
   --sources-root SOURCES_ROOT
                         The folder that holds all project sources to analyze
   --ssh-key-filename SSH_KEY_FILENAME
@@ -121,5 +94,5 @@ optional arguments:
   --verbose, -v         Print more verbose output (set logging level to INFO
                         instead of default WARNING level).
   --version             show program's version number and exit
-  --default-data-uri DEFAULT_DATA_URI
-                        URI for default data
+  --runtime-storage-uri RUNTIME_STORAGE_URI
+                        Storage URI
diff --git a/etc/stackalytics.conf b/etc/stackalytics.conf
index 964bf9f16..e74be5197 100644
--- a/etc/stackalytics.conf
+++ b/etc/stackalytics.conf
@@ -92,21 +92,15 @@
 # From stackalytics.processor.config
 #
 
+# Storage URI (string value)
+#runtime_storage_uri = memcached://127.0.0.1:11211
+
 # URI for default data (string value)
 #default_data_uri = https://git.openstack.org/cgit/stackforge/stackalytics/plain/etc/default_data.json
 
 # The folder that holds all project sources to analyze (string value)
 #sources_root = /var/local/stackalytics
 
-# Storage URI (string value)
-#runtime_storage_uri = memcached://127.0.0.1:11211
-
-# The address dashboard listens on (string value)
-#listen_host = 127.0.0.1
-
-# The port dashboard listens on (integer value)
-#listen_port = 8080
-
 # Number of days to update members (integer value)
 #days_to_update_members = 30
 
@@ -125,15 +119,21 @@
 # SSH username for gerrit review system access (string value)
 #ssh_username = user
 
-# Forcibly read default data and update records (boolean value)
-#force_update = false
-
 # The address of file with the official projects list (string value)
 #project_list_uri = https://git.openstack.org/cgit/openstack/governance/plain/reference/projects.yaml
 
 # URI for default data (string value)
 #driverlog_data_uri = https://git.openstack.org/cgit/stackforge/driverlog/plain/etc/default_data.json
 
+# How many member profiles to look ahead after the last (integer value)
+#members_look_ahead = 250
+
+# The address dashboard listens on (string value)
+#listen_host = 127.0.0.1
+
+# The port dashboard listens on (integer value)
+#listen_port = 8080
+
 # Default metric (string value)
 #default_metric = marks
 
@@ -151,8 +151,5 @@
 # only (string value)
 #collect_profiler_stats = <None>
 
-# How many member profiles to look ahead after the last (integer value)
-#members_look_ahead = 250
-
 # Warn if the age of data is more than this value, sec (integer value)
 #age_warn = 172800
diff --git a/stackalytics/dashboard/web.py b/stackalytics/dashboard/web.py
index 43e426868..4e6a3a719 100644
--- a/stackalytics/dashboard/web.py
+++ b/stackalytics/dashboard/web.py
@@ -43,7 +43,7 @@ app.register_blueprint(kpi.blueprint)
 LOG = logging.getLogger(__name__)
 
 conf = cfg.CONF
-conf.register_opts(config.OPTS)
+conf.register_opts(config.CONNECTION_OPTS + config.DASHBOARD_OPTS)
 
 
 # Handlers ---------
diff --git a/stackalytics/processor/config.py b/stackalytics/processor/config.py
index 4daec5e14..59cf13e34 100644
--- a/stackalytics/processor/config.py
+++ b/stackalytics/processor/config.py
@@ -18,19 +18,18 @@ import copy
 from oslo_config import cfg
 
 
-OPTS = [
+CONNECTION_OPTS = [
+    cfg.StrOpt('runtime-storage-uri', default='memcached://127.0.0.1:11211',
+               help='Storage URI'),
+]
+
+PROCESSOR_OPTS = [
     cfg.StrOpt('default-data-uri',
                default='https://git.openstack.org/cgit/'
                        'stackforge/stackalytics/plain/etc/default_data.json',
                help='URI for default data'),
     cfg.StrOpt('sources-root', default='/var/local/stackalytics',
                help='The folder that holds all project sources to analyze'),
-    cfg.StrOpt('runtime-storage-uri', default='memcached://127.0.0.1:11211',
-               help='Storage URI'),
-    cfg.StrOpt('listen-host', default='127.0.0.1',
-               help='The address dashboard listens on'),
-    cfg.IntOpt('listen-port', default=8080,
-               help='The port dashboard listens on'),
     cfg.IntOpt('days_to_update_members', default=30,
                help='Number of days to update members'),
     cfg.StrOpt('corrections-uri',
@@ -45,8 +44,6 @@ OPTS = [
                help='SSH key for gerrit review system access'),
     cfg.StrOpt('ssh-username', default='user',
                help='SSH username for gerrit review system access'),
-    cfg.BoolOpt('force-update', default=False,
-                help='Forcibly read default data and update records'),
     cfg.StrOpt('project-list-uri',
                default=('https://git.openstack.org/cgit/'
                         'openstack/governance/plain/reference/projects.yaml'),
@@ -55,6 +52,15 @@ OPTS = [
                default='https://git.openstack.org/cgit/'
                        'stackforge/driverlog/plain/etc/default_data.json',
                help='URI for default data'),
+    cfg.IntOpt('members-look-ahead', default=250,
+               help='How many member profiles to look ahead after the last'),
+]
+
+DASHBOARD_OPTS = [
+    cfg.StrOpt('listen-host', default='127.0.0.1',
+               help='The address dashboard listens on'),
+    cfg.IntOpt('listen-port', default=8080,
+               help='The port dashboard listens on'),
     cfg.StrOpt('default-metric', default='marks',
                help='Default metric'),
     cfg.StrOpt('default-release',
@@ -65,14 +71,12 @@ OPTS = [
                help='The interval specifies how frequently dashboard should '
                     'check for updates in seconds'),
     cfg.StrOpt('collect-profiler-stats',
-               help='Name of file to store python profiler data. This option '
-                    'works for dashboard only'),
-    cfg.IntOpt('members-look-ahead', default=250,
-               help='How many member profiles to look ahead after the last'),
+               help='Name of file to store python profiler data'),
     cfg.IntOpt('age-warn', default=2 * 24 * 60 * 60,
                help='Warn if the age of data is more than this value, sec'),
 ]
 
 
 def list_opts():
-    yield (None, copy.deepcopy(OPTS))
+    yield (None, copy.deepcopy(CONNECTION_OPTS + PROCESSOR_OPTS +
+                               DASHBOARD_OPTS))
diff --git a/stackalytics/processor/dump.py b/stackalytics/processor/dump.py
index d49358985..107765d8d 100644
--- a/stackalytics/processor/dump.py
+++ b/stackalytics/processor/dump.py
@@ -13,7 +13,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import logging as std_logging
 import pickle
 import re
 import sys
@@ -153,19 +152,7 @@ def _connect_to_memcached(uri):
 
 
 def main():
-    # init conf and logging
-    conf = cfg.CONF
-    conf.register_cli_opts(config.OPTS)
-    conf.register_cli_opts(OPTS)
-    conf.register_opts(config.OPTS)
-    conf.register_opts(OPTS)
-    logging.register_options(conf)
-    logging.set_defaults()
-    conf(project='stackalytics')
-
-    logging.setup(conf, 'stackalytics')
-    LOG.info('Logging enabled')
-    conf.log_opt_values(LOG, std_logging.DEBUG)
+    utils.init_config_and_logging(config.CONNECTION_OPTS + OPTS)
 
     memcached_inst = _connect_to_memcached(cfg.CONF.runtime_storage_uri)
 
diff --git a/stackalytics/processor/main.py b/stackalytics/processor/main.py
index 51085078a..24a5b13bd 100644
--- a/stackalytics/processor/main.py
+++ b/stackalytics/processor/main.py
@@ -14,7 +14,6 @@
 # limitations under the License.
 
 import collections
-import logging as std_logging
 
 from oslo_config import cfg
 from oslo_log import log as logging
@@ -319,17 +318,8 @@ def process_project_list(runtime_storage_inst, project_list_uri):
 
 
 def main():
-    # init conf and logging
-    conf = cfg.CONF
-    conf.register_cli_opts(config.OPTS)
-    conf.register_opts(config.OPTS)
-    logging.register_options(conf)
-    logging.set_defaults()
-    conf(project='stackalytics')
-
-    logging.setup(conf, 'stackalytics')
-    LOG.info('Logging enabled')
-    conf.log_opt_values(LOG, std_logging.DEBUG)
+    utils.init_config_and_logging(config.CONNECTION_OPTS +
+                                  config.PROCESSOR_OPTS)
 
     runtime_storage_inst = runtime_storage.get_runtime_storage(
         cfg.CONF.runtime_storage_uri)
diff --git a/stackalytics/processor/utils.py b/stackalytics/processor/utils.py
index c9382336e..9587bcb7c 100644
--- a/stackalytics/processor/utils.py
+++ b/stackalytics/processor/utils.py
@@ -17,11 +17,13 @@ import cgi
 import datetime
 import gzip
 import json
+import logging as std_logging
 import random
 import re
 import time
 
 import iso8601
+from oslo_config import cfg
 from oslo_log import log as logging
 import six
 
@@ -29,6 +31,20 @@ import six
 LOG = logging.getLogger(__name__)
 
 
+def init_config_and_logging(opts):
+    conf = cfg.CONF
+    conf.register_cli_opts(opts)
+    conf.register_opts(opts)
+    logging.register_options(conf)
+    logging.set_defaults()
+
+    conf(project='stackalytics')
+
+    logging.setup(conf, 'stackalytics')
+    LOG.info('Logging enabled')
+    conf.log_opt_values(LOG, std_logging.DEBUG)
+
+
 def date_to_timestamp(d):
     if not d:
         return 0