components/openstack/swift/patches/recon.patch
branchs11-update
changeset 3178 77584387a894
parent 3135 0a68f5e884e0
child 3998 5bd484384122
equal deleted inserted replaced
3175:1ff833d174d4 3178:77584387a894
     3 Linux-specific.  Make the tests acknowledge these changes.
     3 Linux-specific.  Make the tests acknowledge these changes.
     4 
     4 
     5 diff --git a/bin/swift-recon-cron b/bin/swift-recon-cron
     5 diff --git a/bin/swift-recon-cron b/bin/swift-recon-cron
     6 --- a/bin/swift-recon-cron
     6 --- a/bin/swift-recon-cron
     7 +++ b/bin/swift-recon-cron
     7 +++ b/bin/swift-recon-cron
     8 @@ -34,8 +34,8 @@ def main():
     8 @@ -49,8 +49,8 @@ def main():
     9          sys.exit(1)
     9          sys.exit(1)
    10      conf = dict(c.items('filter:recon'))
    10      conf = dict(c.items('filter:recon'))
    11      device_dir = conf.get('devices', '/srv/node')
    11      device_dir = conf.get('devices', '/srv/node')
    12 -    recon_cache_path = conf.get('recon_cache_path', '/var/cache/swift')
    12 -    recon_cache_path = conf.get('recon_cache_path', '/var/cache/swift')
    13 -    recon_lock_path = conf.get('recon_lock_path', '/var/lock')
    13 -    recon_lock_path = conf.get('recon_lock_path', '/var/lock')
    17      lock_dir = os.path.join(recon_lock_path, "swift-recon-object-cron")
    17      lock_dir = os.path.join(recon_lock_path, "swift-recon-object-cron")
    18      conf['log_name'] = conf.get('log_name', 'recon-cron')
    18      conf['log_name'] = conf.get('log_name', 'recon-cron')
    19 diff --git a/etc/account-server.conf-sample b/etc/account-server.conf-sample
    19 diff --git a/etc/account-server.conf-sample b/etc/account-server.conf-sample
    20 --- a/etc/account-server.conf-sample
    20 --- a/etc/account-server.conf-sample
    21 +++ b/etc/account-server.conf-sample
    21 +++ b/etc/account-server.conf-sample
    22 @@ -56,7 +56,7 @@ use = egg:swift#healthcheck
    22 @@ -78,7 +78,7 @@ use = egg:swift#healthcheck
    23  
    23  
    24  [filter:recon]
    24  [filter:recon]
    25  use = egg:swift#recon
    25  use = egg:swift#recon
    26 -# recon_cache_path = /var/cache/swift
    26 -# recon_cache_path = /var/cache/swift
    27 +# recon_cache_path = /var/lib/swift/recon-cache
    27 +# recon_cache_path = /var/lib/swift/recon-cache
    28  
    28  
    29  [account-replicator]
    29  [account-replicator]
    30  # You can override the default log routing for this app here (don't use set!):
    30  # You can override the default log routing for this app here (don't use set!):
    31 @@ -80,7 +80,7 @@ use = egg:swift#recon
    31 @@ -109,7 +109,7 @@ use = egg:swift#recon
    32  # reclaim_age = 604800
       
    33  # Time in seconds to wait between replication passes
    32  # Time in seconds to wait between replication passes
    34  # run_pause = 30
    33  # run_pause = 30
       
    34  #
    35 -# recon_cache_path = /var/cache/swift
    35 -# recon_cache_path = /var/cache/swift
    36 +# recon_cache_path = /var/lib/swift/recon-cache
    36 +# recon_cache_path = /var/lib/swift/recon-cache
    37  
    37  
    38  [account-auditor]
    38  [account-auditor]
    39  # You can override the default log routing for this app here (don't use set!):
    39  # You can override the default log routing for this app here (don't use set!):
    40 @@ -93,7 +93,7 @@ use = egg:swift#recon
    40 @@ -124,7 +124,7 @@ use = egg:swift#recon
    41  # log_facility = LOG_LOCAL0
    41  # log_facility = LOG_LOCAL0
    42  # log_level = INFO
    42  # log_level = INFO
    43  # accounts_per_second = 200
    43  # accounts_per_second = 200
    44 -# recon_cache_path = /var/cache/swift
    44 -# recon_cache_path = /var/cache/swift
    45 +# recon_cache_path = /var/lib/swift/recon-cache
    45 +# recon_cache_path = /var/lib/swift/recon-cache
    47  [account-reaper]
    47  [account-reaper]
    48  # You can override the default log routing for this app here (don't use set!):
    48  # You can override the default log routing for this app here (don't use set!):
    49 diff --git a/etc/container-server.conf-sample b/etc/container-server.conf-sample
    49 diff --git a/etc/container-server.conf-sample b/etc/container-server.conf-sample
    50 --- a/etc/container-server.conf-sample
    50 --- a/etc/container-server.conf-sample
    51 +++ b/etc/container-server.conf-sample
    51 +++ b/etc/container-server.conf-sample
    52 @@ -62,7 +62,7 @@ use = egg:swift#healthcheck
    52 @@ -85,7 +85,7 @@ use = egg:swift#healthcheck
    53  
    53  
    54  [filter:recon]
    54  [filter:recon]
    55  use = egg:swift#recon
    55  use = egg:swift#recon
    56 -#recon_cache_path = /var/cache/swift
    56 -#recon_cache_path = /var/cache/swift
    57 +#recon_cache_path = /var/lib/swift/recon-cache
    57 +#recon_cache_path = /var/lib/swift/recon-cache
    58  
    58  
    59  [container-replicator]
    59  [container-replicator]
    60  # You can override the default log routing for this app here (don't use set!):
    60  # You can override the default log routing for this app here (don't use set!):
    61 @@ -81,7 +81,7 @@ use = egg:swift#recon
    61 @@ -108,7 +108,7 @@ use = egg:swift#recon
    62  # reclaim_age = 604800
       
    63  # Time in seconds to wait between replication passes
    62  # Time in seconds to wait between replication passes
    64  # run_pause = 30
    63  # run_pause = 30
       
    64  #
    65 -# recon_cache_path = /var/cache/swift
    65 -# recon_cache_path = /var/cache/swift
    66 +# recon_cache_path = /var/lib/swift/recon-cache
    66 +# recon_cache_path = /var/lib/swift/recon-cache
    67  
    67  
    68  [container-updater]
    68  [container-updater]
    69  # You can override the default log routing for this app here (don't use set!):
    69  # You can override the default log routing for this app here (don't use set!):
    70 @@ -97,7 +97,7 @@ use = egg:swift#recon
    70 @@ -128,7 +128,7 @@ use = egg:swift#recon
    71  # slowdown = 0.01
       
    72  # Seconds to suppress updating an account that has generated an error
    71  # Seconds to suppress updating an account that has generated an error
    73  # account_suppression_time = 60
    72  # account_suppression_time = 60
       
    73  #
    74 -# recon_cache_path = /var/cache/swift
    74 -# recon_cache_path = /var/cache/swift
    75 +# recon_cache_path = /var/lib/swift/recon-cache
    75 +# recon_cache_path = /var/lib/swift/recon-cache
    76  
    76  
    77  [container-auditor]
    77  [container-auditor]
    78  # You can override the default log routing for this app here (don't use set!):
    78  # You can override the default log routing for this app here (don't use set!):
    79 @@ -108,7 +108,7 @@ use = egg:swift#recon
    79 @@ -141,7 +141,7 @@ use = egg:swift#recon
    80  # Will audit each container at most once per interval
       
    81  # interval = 1800
    80  # interval = 1800
       
    81  #
    82  # containers_per_second = 200
    82  # containers_per_second = 200
    83 -# recon_cache_path = /var/cache/swift
    83 -# recon_cache_path = /var/cache/swift
    84 +# recon_cache_path = /var/lib/swift/recon-cache
    84 +# recon_cache_path = /var/lib/swift/recon-cache
    85  
    85  
    86  [container-sync]
    86  [container-sync]
    87  # You can override the default log routing for this app here (don't use set!):
    87  # You can override the default log routing for this app here (don't use set!):
    88 diff --git a/etc/object-server.conf-sample b/etc/object-server.conf-sample
    88 diff --git a/etc/object-server.conf-sample b/etc/object-server.conf-sample
    89 --- a/etc/object-server.conf-sample
    89 --- a/etc/object-server.conf-sample
    90 +++ b/etc/object-server.conf-sample
    90 +++ b/etc/object-server.conf-sample
    91 @@ -71,8 +71,8 @@ use = egg:swift#healthcheck
    91 @@ -99,8 +99,8 @@ use = egg:swift#healthcheck
    92  
    92  
    93  [filter:recon]
    93  [filter:recon]
    94  use = egg:swift#recon
    94  use = egg:swift#recon
    95 -#recon_cache_path = /var/cache/swift
    95 -#recon_cache_path = /var/cache/swift
    96 -#recon_lock_path = /var/lock
    96 -#recon_lock_path = /var/lock
    97 +#recon_cache_path = /var/lib/swift/recon-cache
    97 +#recon_cache_path = /var/lib/swift/recon-cache
    98 +#recon_lock_path = /var/run/swift
    98 +#recon_lock_path = /var/run/swift
    99  
    99  
   100  [object-replicator]
   100  [object-replicator]
   101  # You can override the default log routing for this app here (don't use set!):
   101  # You can override the default log routing for this app here (don't use set!):
   102 @@ -96,7 +96,7 @@ use = egg:swift#recon
   102 @@ -134,7 +134,7 @@ use = egg:swift#recon
   103  # The replicator also performs reclamation
       
   104  # reclaim_age = 604800
   103  # reclaim_age = 604800
       
   104  #
   105  # ring_check_interval = 15
   105  # ring_check_interval = 15
   106 -# recon_cache_path = /var/cache/swift
   106 -# recon_cache_path = /var/cache/swift
   107 +# recon_cache_path = /var/lib/swift/recon-cache
   107 +# recon_cache_path = /var/lib/swift/recon-cache
   108  
   108  #
   109  [object-updater]
   109  # limits how long rsync error log lines are
   110  # You can override the default log routing for this app here (don't use set!):
   110  # 0 means to log the entire line
   111 @@ -110,7 +110,7 @@ use = egg:swift#recon
   111 @@ -155,7 +155,7 @@ use = egg:swift#recon
   112  # conn_timeout = 0.5
       
   113  # slowdown will sleep that amount between objects
   112  # slowdown will sleep that amount between objects
   114  # slowdown = 0.01
   113  # slowdown = 0.01
       
   114  #
   115 -# recon_cache_path = /var/cache/swift
   115 -# recon_cache_path = /var/cache/swift
   116 +# recon_cache_path = /var/lib/swift/recon-cache
   116 +# recon_cache_path = /var/lib/swift/recon-cache
   117  
   117  
   118  [object-auditor]
   118  [object-auditor]
   119  # You can override the default log routing for this app here (don't use set!):
   119  # You can override the default log routing for this app here (don't use set!):
   120 @@ -122,4 +122,4 @@ use = egg:swift#recon
   120 @@ -168,7 +168,7 @@ use = egg:swift#recon
   121  # bytes_per_second = 10000000
   121  # bytes_per_second = 10000000
   122  # log_time = 3600
   122  # log_time = 3600
   123  # zero_byte_files_per_second = 50
   123  # zero_byte_files_per_second = 50
   124 -# recon_cache_path = /var/cache/swift
   124 -# recon_cache_path = /var/cache/swift
   125 +# recon_cache_path = /var/lib/swift/recon-cache
   125 +# recon_cache_path = /var/lib/swift/recon-cache
       
   126  
       
   127  # Takes a comma separated list of ints. If set, the object auditor will
       
   128  # increment a counter for every object whose size is <= to the given break
   126 diff --git a/swift/account/auditor.py b/swift/account/auditor.py
   129 diff --git a/swift/account/auditor.py b/swift/account/auditor.py
   127 --- a/swift/account/auditor.py
   130 --- a/swift/account/auditor.py
   128 +++ b/swift/account/auditor.py
   131 +++ b/swift/account/auditor.py
   129 @@ -44,7 +44,7 @@ class AccountAuditor(Daemon):
   132 @@ -45,7 +45,7 @@ class AccountAuditor(Daemon):
   130          swift.common.db.DB_PREALLOCATION = \
   133          swift.common.db.DB_PREALLOCATION = \
   131              config_true_value(conf.get('db_preallocation', 'f'))
   134              config_true_value(conf.get('db_preallocation', 'f'))
   132          self.recon_cache_path = conf.get('recon_cache_path',
   135          self.recon_cache_path = conf.get('recon_cache_path',
   133 -                                         '/var/cache/swift')
   136 -                                         '/var/cache/swift')
   134 +                                         '/var/lib/swift/recon-cache')
   137 +                                         '/var/lib/swift/recon-cache')
   136  
   139  
   137      def _one_audit_pass(self, reported):
   140      def _one_audit_pass(self, reported):
   138 diff --git a/swift/common/db_replicator.py b/swift/common/db_replicator.py
   141 diff --git a/swift/common/db_replicator.py b/swift/common/db_replicator.py
   139 --- a/swift/common/db_replicator.py
   142 --- a/swift/common/db_replicator.py
   140 +++ b/swift/common/db_replicator.py
   143 +++ b/swift/common/db_replicator.py
   141 @@ -166,7 +166,7 @@ class Replicator(Daemon):
   144 @@ -169,7 +169,7 @@ class Replicator(Daemon):
   142              config_true_value(conf.get('db_preallocation', 'f'))
   145              config_true_value(conf.get('db_preallocation', 'f'))
   143          self._zero_stats()
   146          self._zero_stats()
   144          self.recon_cache_path = conf.get('recon_cache_path',
   147          self.recon_cache_path = conf.get('recon_cache_path',
   145 -                                         '/var/cache/swift')
   148 -                                         '/var/cache/swift')
   146 +                                         '/var/lib/swift/recon-cache')
   149 +                                         '/var/lib/swift/recon-cache')
   153 @@ -15,6 +15,7 @@
   156 @@ -15,6 +15,7 @@
   154  
   157  
   155  import errno
   158  import errno
   156  import os
   159  import os
   157 +import sys
   160 +import sys
   158  
   161  from swift import gettext_ as _
   159  from swift.common.swob import Request, Response
   162  
   160  from swift.common.utils import get_logger, config_true_value, json
   163  from swift import __version__ as swiftver
   161 @@ -43,7 +44,7 @@ class ReconMiddleware(object):
   164 @@ -45,7 +46,7 @@ class ReconMiddleware(object):
   162          swift_dir = conf.get('swift_dir', '/etc/swift')
   165          swift_dir = conf.get('swift_dir', '/etc/swift')
   163          self.logger = get_logger(conf, log_route='recon')
   166          self.logger = get_logger(conf, log_route='recon')
   164          self.recon_cache_path = conf.get('recon_cache_path',
   167          self.recon_cache_path = conf.get('recon_cache_path',
   165 -                                         '/var/cache/swift')
   168 -                                         '/var/cache/swift')
   166 +                                         '/var/lib/swift/recon-cache')
   169 +                                         '/var/lib/swift/recon-cache')
   167          self.object_recon_cache = os.path.join(self.recon_cache_path,
   170          self.object_recon_cache = os.path.join(self.recon_cache_path,
   168                                                 'object.recon')
   171                                                 'object.recon')
   169          self.container_recon_cache = os.path.join(self.recon_cache_path,
   172          self.container_recon_cache = os.path.join(self.recon_cache_path,
   170 @@ -80,28 +81,43 @@ class ReconMiddleware(object):
   173 @@ -87,28 +88,43 @@ class ReconMiddleware(object):
   171      def get_mounted(self, openr=open):
   174      def get_mounted(self, openr=open):
   172          """get ALL mounted fs from /proc/mounts"""
   175          """get ALL mounted fs from /proc/mounts"""
   173          mounts = []
   176          mounts = []
   174 -        with openr('/proc/mounts', 'r') as procmounts:
   177 -        with openr('/proc/mounts', 'r') as procmounts:
   175 +        if sys.platform == 'sunos5':
   178 +        if sys.platform == 'sunos5':
   219          with openr('/proc/meminfo', 'r') as memlines:
   222          with openr('/proc/meminfo', 'r') as memlines:
   220              for i in memlines:
   223              for i in memlines:
   221 diff --git a/swift/container/auditor.py b/swift/container/auditor.py
   224 diff --git a/swift/container/auditor.py b/swift/container/auditor.py
   222 --- a/swift/container/auditor.py
   225 --- a/swift/container/auditor.py
   223 +++ b/swift/container/auditor.py
   226 +++ b/swift/container/auditor.py
   224 @@ -44,7 +44,7 @@ class ContainerAuditor(Daemon):
   227 @@ -45,7 +45,7 @@ class ContainerAuditor(Daemon):
   225          swift.common.db.DB_PREALLOCATION = \
   228          swift.common.db.DB_PREALLOCATION = \
   226              config_true_value(conf.get('db_preallocation', 'f'))
   229              config_true_value(conf.get('db_preallocation', 'f'))
   227          self.recon_cache_path = conf.get('recon_cache_path',
   230          self.recon_cache_path = conf.get('recon_cache_path',
   228 -                                         '/var/cache/swift')
   231 -                                         '/var/cache/swift')
   229 +                                         '/var/lib/swift/recon-cache')
   232 +                                         '/var/lib/swift/recon-cache')
   231  
   234  
   232      def _one_audit_pass(self, reported):
   235      def _one_audit_pass(self, reported):
   233 diff --git a/swift/container/updater.py b/swift/container/updater.py
   236 diff --git a/swift/container/updater.py b/swift/container/updater.py
   234 --- a/swift/container/updater.py
   237 --- a/swift/container/updater.py
   235 +++ b/swift/container/updater.py
   238 +++ b/swift/container/updater.py
   236 @@ -59,7 +59,7 @@ class ContainerUpdater(Daemon):
   239 @@ -60,7 +60,7 @@ class ContainerUpdater(Daemon):
   237          swift.common.db.DB_PREALLOCATION = \
   240          swift.common.db.DB_PREALLOCATION = \
   238              config_true_value(conf.get('db_preallocation', 'f'))
   241              config_true_value(conf.get('db_preallocation', 'f'))
   239          self.recon_cache_path = conf.get('recon_cache_path',
   242          self.recon_cache_path = conf.get('recon_cache_path',
   240 -                                         '/var/cache/swift')
   243 -                                         '/var/cache/swift')
   241 +                                         '/var/lib/swift/recon-cache')
   244 +                                         '/var/lib/swift/recon-cache')
   242          self.rcache = os.path.join(self.recon_cache_path, "container.recon")
   245          self.rcache = os.path.join(self.recon_cache_path, "container.recon")
   243  
   246          self.user_agent = 'container-updater %s' % os.getpid()
   244      def get_account_ring(self):
   247  
   245 diff --git a/swift/obj/auditor.py b/swift/obj/auditor.py
   248 diff --git a/swift/obj/auditor.py b/swift/obj/auditor.py
   246 --- a/swift/obj/auditor.py
   249 --- a/swift/obj/auditor.py
   247 +++ b/swift/obj/auditor.py
   250 +++ b/swift/obj/auditor.py
   248 @@ -54,7 +54,7 @@ class AuditorWorker(object):
   251 @@ -56,7 +56,7 @@ class AuditorWorker(object):
   249          self.quarantines = 0
   252          self.quarantines = 0
   250          self.errors = 0
   253          self.errors = 0
   251          self.recon_cache_path = conf.get('recon_cache_path',
   254          self.recon_cache_path = conf.get('recon_cache_path',
   252 -                                         '/var/cache/swift')
   255 -                                         '/var/cache/swift')
   253 +                                         '/var/lib/swift/recon-cache')
   256 +                                         '/var/lib/swift/recon-cache')
   254          self.rcache = os.path.join(self.recon_cache_path, "object.recon")
   257          self.rcache = os.path.join(self.recon_cache_path, "object.recon")
   255  
   258          self.stats_sizes = sorted(
   256      def audit_all_objects(self, mode='once'):
   259              [int(s) for s in list_from_csv(conf.get('object_size_stats'))])
   257 diff --git a/swift/obj/expirer.py b/swift/obj/expirer.py
   260 diff --git a/swift/obj/expirer.py b/swift/obj/expirer.py
   258 --- a/swift/obj/expirer.py
   261 --- a/swift/obj/expirer.py
   259 +++ b/swift/obj/expirer.py
   262 +++ b/swift/obj/expirer.py
   260 @@ -50,7 +50,7 @@ class ObjectExpirer(Daemon):
   263 @@ -54,7 +54,7 @@ class ObjectExpirer(Daemon):
   261          self.report_first_time = self.report_last_time = time()
   264          self.report_first_time = self.report_last_time = time()
   262          self.report_objects = 0
   265          self.report_objects = 0
   263          self.recon_cache_path = conf.get('recon_cache_path',
   266          self.recon_cache_path = conf.get('recon_cache_path',
   264 -                                         '/var/cache/swift')
   267 -                                         '/var/cache/swift')
   265 +                                         '/var/lib/swift/recon-cache')
   268 +                                         '/var/lib/swift/recon-cache')
   266          self.rcache = join(self.recon_cache_path, 'object.recon')
   269          self.rcache = join(self.recon_cache_path, 'object.recon')
   267  
   270          self.concurrency = int(conf.get('concurrency', 1))
   268      def report(self, final=False):
   271          if self.concurrency < 1:
   269 diff --git a/swift/obj/replicator.py b/swift/obj/replicator.py
   272 diff --git a/swift/obj/replicator.py b/swift/obj/replicator.py
   270 --- a/swift/obj/replicator.py
   273 --- a/swift/obj/replicator.py
   271 +++ b/swift/obj/replicator.py
   274 +++ b/swift/obj/replicator.py
   272 @@ -265,7 +265,7 @@ class ObjectReplicator(Daemon):
   275 @@ -76,7 +76,7 @@ class ObjectReplicator(Daemon):
   273          self.http_timeout = int(conf.get('http_timeout', 60))
   276          self.http_timeout = int(conf.get('http_timeout', 60))
   274          self.lockup_timeout = int(conf.get('lockup_timeout', 1800))
   277          self.lockup_timeout = int(conf.get('lockup_timeout', 1800))
   275          self.recon_cache_path = conf.get('recon_cache_path',
   278          self.recon_cache_path = conf.get('recon_cache_path',
   276 -                                         '/var/cache/swift')
   279 -                                         '/var/cache/swift')
   277 +                                         '/var/lib/swift/recon-cache')
   280 +                                         '/var/lib/swift/recon-cache')
   278          self.rcache = os.path.join(self.recon_cache_path, "object.recon")
   281          self.rcache = os.path.join(self.recon_cache_path, "object.recon")
   279  
   282          self.headers = {
   280      def _rsync(self, args):
   283              'Content-Length': '0',
   281 diff --git a/swift/obj/updater.py b/swift/obj/updater.py
   284 diff --git a/swift/obj/updater.py b/swift/obj/updater.py
   282 --- a/swift/obj/updater.py
   285 --- a/swift/obj/updater.py
   283 +++ b/swift/obj/updater.py
   286 +++ b/swift/obj/updater.py
   284 @@ -51,7 +51,7 @@ class ObjectUpdater(Daemon):
   287 @@ -52,7 +52,7 @@ class ObjectUpdater(Daemon):
   285          self.successes = 0
   288          self.successes = 0
   286          self.failures = 0
   289          self.failures = 0
   287          self.recon_cache_path = conf.get('recon_cache_path',
   290          self.recon_cache_path = conf.get('recon_cache_path',
   288 -                                         '/var/cache/swift')
   291 -                                         '/var/cache/swift')
   289 +                                         '/var/lib/swift/recon-cache')
   292 +                                         '/var/lib/swift/recon-cache')
   291  
   294  
   292      def get_container_ring(self):
   295      def get_container_ring(self):
   293 diff --git a/test/unit/common/middleware/test_recon.py b/test/unit/common/middleware/test_recon.py
   296 diff --git a/test/unit/common/middleware/test_recon.py b/test/unit/common/middleware/test_recon.py
   294 --- a/test/unit/common/middleware/test_recon.py
   297 --- a/test/unit/common/middleware/test_recon.py
   295 +++ b/test/unit/common/middleware/test_recon.py
   298 +++ b/test/unit/common/middleware/test_recon.py
   296 @@ -18,6 +18,8 @@ from unittest import TestCase
   299 @@ -18,7 +18,9 @@ from unittest import TestCase
   297  from contextlib import contextmanager
   300  from contextlib import contextmanager
   298  from posix import stat_result, statvfs_result
   301  from posix import stat_result, statvfs_result
   299  import os
   302  import os
   300 +import sys
   303 +import sys
       
   304  import mock
   301 +from nose import SkipTest
   305 +from nose import SkipTest
   302  
   306  
   303  import swift.common.constraints
   307  import swift.common.constraints
   304  from swift.common.swob import Request
   308  from swift import __version__ as swiftver
   305 @@ -272,10 +274,12 @@ class TestReconSuccess(TestCase):
   309 @@ -277,10 +279,12 @@ class TestReconSuccess(TestCase):
   306                          {'device': 'none', 'path': '/proc/fs/vmblock/mountPoint'}]
   310              {'device': 'none', 'path': '/proc/fs/vmblock/mountPoint'}]
   307          oart = OpenAndReadTester(mounts_content)
   311          oart = OpenAndReadTester(mounts_content)
   308          rv = self.app.get_mounted(openr=oart.open)
   312          rv = self.app.get_mounted(openr=oart.open)
   309 -        self.assertEquals(oart.open_calls, [(('/proc/mounts', 'r'), {})])
   313 -        self.assertEquals(oart.open_calls, [(('/proc/mounts', 'r'), {})])
   310 +        self.assertEquals(oart.open_calls, [(('/etc/mnttab', 'r'), {})])
   314 +        self.assertEquals(oart.open_calls, [(('/etc/mnttab', 'r'), {})])
   311          self.assertEquals(rv, mounted_resp)
   315          self.assertEquals(rv, mounted_resp)
   314 +        if sys.platform == 'sunos5':
   318 +        if sys.platform == 'sunos5':
   315 +            raise SkipTest
   319 +            raise SkipTest
   316          oart = OpenAndReadTester(['0.03 0.03 0.00 1/220 16306'])
   320          oart = OpenAndReadTester(['0.03 0.03 0.00 1/220 16306'])
   317          rv = self.app.get_load(openr=oart.open)
   321          rv = self.app.get_load(openr=oart.open)
   318          self.assertEquals(oart.read_calls, [((), {})])
   322          self.assertEquals(oart.read_calls, [((), {})])
   319 @@ -285,6 +289,8 @@ class TestReconSuccess(TestCase):
   323 @@ -290,6 +294,8 @@ class TestReconSuccess(TestCase):
   320                                 '1m': 0.029999999999999999})
   324                                 '1m': 0.029999999999999999})
   321  
   325  
   322      def test_get_mem(self):
   326      def test_get_mem(self):
   323 +        if sys.platform == 'sunos5':
   327 +        if sys.platform == 'sunos5':
   324 +            raise SkipTest
   328 +            raise SkipTest
   325          meminfo_content = ['MemTotal:         505840 kB',
   329          meminfo_content = ['MemTotal:         505840 kB',
   326                             'MemFree:           26588 kB',
   330                             'MemFree:           26588 kB',
   327                             'Buffers:           44948 kB',
   331                             'Buffers:           44948 kB',
   328 @@ -395,7 +401,7 @@ class TestReconSuccess(TestCase):
   332 @@ -401,7 +407,7 @@ class TestReconSuccess(TestCase):
   329          self.assertEquals(self.fakecache.fakeout_calls,
   333          self.assertEquals(self.fakecache.fakeout_calls,
   330                              [((['replication_time', 'replication_stats',
   334                            [((['replication_time', 'replication_stats',
   331                                  'replication_last'],
   335                                'replication_last'],
   332 -                                '/var/cache/swift/account.recon'), {})])
   336 -                              '/var/cache/swift/account.recon'), {})])
   333 +                                '/var/lib/swift/recon-cache/account.recon'), {})])
   337 +                              '/var/lib/swift/recon-cache/account.recon'), {})])
   334          self.assertEquals(rv, {"replication_stats": {
   338          self.assertEquals(rv, {
   335                                      "attempted": 1, "diff": 0,
   339              "replication_stats": {
   336                                      "diff_capped": 0, "empty": 0,
   340                  "attempted": 1, "diff": 0,
   337 @@ -424,7 +430,7 @@ class TestReconSuccess(TestCase):
   341 @@ -432,7 +438,7 @@ class TestReconSuccess(TestCase):
   338          self.assertEquals(self.fakecache.fakeout_calls,
   342          self.assertEquals(self.fakecache.fakeout_calls,
   339                              [((['replication_time', 'replication_stats',
   343                            [((['replication_time', 'replication_stats',
   340                                  'replication_last'],
   344                                'replication_last'],
   341 -                                '/var/cache/swift/container.recon'), {})])
   345 -                              '/var/cache/swift/container.recon'), {})])
   342 +                                '/var/lib/swift/recon-cache/container.recon'), {})])
   346 +                              '/var/lib/swift/recon-cache/container.recon'), {})])
   343          self.assertEquals(rv, {"replication_time": 200.0,
   347          self.assertEquals(rv, {
   344                                 "replication_stats": {
   348              "replication_time": 200.0,
   345                                      "attempted": 179, "diff": 0,
   349              "replication_stats": {
   346 @@ -445,7 +451,7 @@ class TestReconSuccess(TestCase):
   350 @@ -454,7 +460,7 @@ class TestReconSuccess(TestCase):
   347          self.assertEquals(self.fakecache.fakeout_calls,
   351          self.assertEquals(self.fakecache.fakeout_calls,
   348                              [((['object_replication_time',
   352                            [((['object_replication_time',
   349                                  'object_replication_last'],
   353                                'object_replication_last'],
   350 -                                '/var/cache/swift/object.recon'), {})])
   354 -                              '/var/cache/swift/object.recon'), {})])
   351 +                                '/var/lib/swift/recon-cache/object.recon'), {})])
   355 +                              '/var/lib/swift/recon-cache/object.recon'), {})])
   352          self.assertEquals(rv, {'object_replication_time': 200.0,
   356          self.assertEquals(rv, {'object_replication_time': 200.0,
   353                                 'object_replication_last': 1357962809.15})
   357                                 'object_replication_last': 1357962809.15})
   354  
   358  
   355 @@ -456,7 +462,7 @@ class TestReconSuccess(TestCase):
   359 @@ -465,7 +471,7 @@ class TestReconSuccess(TestCase):
   356          rv = self.app.get_updater_info('container')
   360          rv = self.app.get_updater_info('container')
   357          self.assertEquals(self.fakecache.fakeout_calls,
   361          self.assertEquals(self.fakecache.fakeout_calls,
   358                              [((['container_updater_sweep'],
   362                            [((['container_updater_sweep'],
   359 -                            '/var/cache/swift/container.recon'), {})])
   363 -                             '/var/cache/swift/container.recon'), {})])
   360 +                            '/var/lib/swift/recon-cache/container.recon'), {})])
   364 +                             '/var/lib/swift/recon-cache/container.recon'), {})])
   361          self.assertEquals(rv, {"container_updater_sweep": 18.476239919662476})
   365          self.assertEquals(rv, {"container_updater_sweep": 18.476239919662476})
   362  
   366  
   363      def test_get_updater_info_object(self):
   367      def test_get_updater_info_object(self):
   364 @@ -466,7 +472,7 @@ class TestReconSuccess(TestCase):
   368 @@ -475,7 +481,7 @@ class TestReconSuccess(TestCase):
   365          rv = self.app.get_updater_info('object')
   369          rv = self.app.get_updater_info('object')
   366          self.assertEquals(self.fakecache.fakeout_calls,
   370          self.assertEquals(self.fakecache.fakeout_calls,
   367                              [((['object_updater_sweep'],
   371                            [((['object_updater_sweep'],
   368 -                            '/var/cache/swift/object.recon'), {})])
   372 -                             '/var/cache/swift/object.recon'), {})])
   369 +                            '/var/lib/swift/recon-cache/object.recon'), {})])
   373 +                             '/var/lib/swift/recon-cache/object.recon'), {})])
   370          self.assertEquals(rv, {"object_updater_sweep": 0.79848217964172363})
   374          self.assertEquals(rv, {"object_updater_sweep": 0.79848217964172363})
   371  
   375  
   372      def test_get_auditor_info_account(self):
   376      def test_get_auditor_info_account(self):
   373 @@ -482,7 +488,7 @@ class TestReconSuccess(TestCase):
   377 @@ -491,7 +497,7 @@ class TestReconSuccess(TestCase):
   374                                  'account_auditor_pass_completed',
   378                                'account_auditor_pass_completed',
   375                                  'account_audits_since',
   379                                'account_audits_since',
   376                                  'account_audits_failed'],
   380                                'account_audits_failed'],
   377 -                                '/var/cache/swift/account.recon'), {})])
   381 -                              '/var/cache/swift/account.recon'), {})])
   378 +                                '/var/lib/swift/recon-cache/account.recon'), {})])
   382 +                              '/var/lib/swift/recon-cache/account.recon'), {})])
   379          self.assertEquals(rv, {"account_auditor_pass_completed": 0.24,
   383          self.assertEquals(rv, {"account_auditor_pass_completed": 0.24,
   380                                 "account_audits_failed": 0,
   384                                 "account_audits_failed": 0,
   381                                 "account_audits_passed": 6,
   385                                 "account_audits_passed": 6,
   382 @@ -501,7 +507,7 @@ class TestReconSuccess(TestCase):
   386 @@ -510,7 +516,7 @@ class TestReconSuccess(TestCase):
   383                                  'container_auditor_pass_completed',
   387                                'container_auditor_pass_completed',
   384                                  'container_audits_since',
   388                                'container_audits_since',
   385                                  'container_audits_failed'],
   389                                'container_audits_failed'],
   386 -                                '/var/cache/swift/container.recon'), {})])
   390 -                              '/var/cache/swift/container.recon'), {})])
   387 +                                '/var/lib/swift/recon-cache/container.recon'), {})])
   391 +                              '/var/lib/swift/recon-cache/container.recon'), {})])
   388          self.assertEquals(rv, {"container_auditor_pass_completed": 0.24,
   392          self.assertEquals(rv, {"container_auditor_pass_completed": 0.24,
   389                                 "container_audits_failed": 0,
   393                                 "container_audits_failed": 0,
   390                                 "container_audits_passed": 6,
   394                                 "container_audits_passed": 6,
   391 @@ -528,7 +534,7 @@ class TestReconSuccess(TestCase):
   395 @@ -538,7 +544,7 @@ class TestReconSuccess(TestCase):
   392          self.assertEquals(self.fakecache.fakeout_calls,
   396          self.assertEquals(self.fakecache.fakeout_calls,
   393                              [((['object_auditor_stats_ALL',
   397                            [((['object_auditor_stats_ALL',
   394                                  'object_auditor_stats_ZBF'],
   398                                'object_auditor_stats_ZBF'],
   395 -                            '/var/cache/swift/object.recon'), {})])
   399 -                              '/var/cache/swift/object.recon'), {})])
   396 +                            '/var/lib/swift/recon-cache/object.recon'), {})])
   400 +                              '/var/lib/swift/recon-cache/object.recon'), {})])
   397          self.assertEquals(rv, {"object_auditor_stats_ALL": {
   401          self.assertEquals(rv, {
   398                                      "audit_time": 115.14418768882751,
   402              "object_auditor_stats_ALL": {
   399                                      "bytes_processed": 234660,
   403                  "audit_time": 115.14418768882751,