Merge lp:~gnuoy/charm-helpers/memcache-amulet into lp:charm-helpers

Proposed by Liam Young
Status: Merged
Merged at revision: 665
Proposed branch: lp:~gnuoy/charm-helpers/memcache-amulet
Merge into: lp:charm-helpers
Diff against target: 69 lines (+62/-0)
1 file modified
charmhelpers/contrib/openstack/amulet/utils.py (+62/-0)
To merge this branch: bzr merge lp:~gnuoy/charm-helpers/memcache-amulet
Reviewer Review Type Date Requested Status
Alex Kavanagh Approve
charmers Pending
Review via email: mp+312459@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Alex Kavanagh (ajkavanagh) wrote :

Comment re: style.

666. By Liam Young

Fixed up style after mp feedback

Revision history for this message
Alex Kavanagh (ajkavanagh) wrote :

LGTM. Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'charmhelpers/contrib/openstack/amulet/utils.py'
--- charmhelpers/contrib/openstack/amulet/utils.py 2016-10-12 21:09:17 +0000
+++ charmhelpers/contrib/openstack/amulet/utils.py 2016-12-07 10:34:55 +0000
@@ -1133,3 +1133,65 @@
1133 else:1133 else:
1134 msg = 'No message retrieved.'1134 msg = 'No message retrieved.'
1135 amulet.raise_status(amulet.FAIL, msg)1135 amulet.raise_status(amulet.FAIL, msg)
1136
1137 def validate_memcache(self, sentry_unit, conf, os_release,
1138 earliest_release=5, section='keystone_authtoken',
1139 check_kvs=None):
1140 """Check Memcache is running and is configured to be used
1141
1142 Example call from Amulet test:
1143
1144 def test_110_memcache(self):
1145 u.validate_memcache(self.neutron_api_sentry,
1146 '/etc/neutron/neutron.conf',
1147 self._get_openstack_release())
1148
1149 :param sentry_unit: sentry unit
1150 :param conf: OpenStack config file to check memcache settings
1151 :param os_release: Current OpenStack release int code
1152 :param earliest_release: Earliest Openstack release to check int code
1153 :param section: OpenStack config file section to check
1154 :param check_kvs: Dict of settings to check in config file
1155 :returns: None
1156 """
1157 if os_release < earliest_release:
1158 self.log.debug('Skipping memcache checks for deployment. {} <'
1159 'mitaka'.format(os_release))
1160 return
1161 _kvs = check_kvs or {'memcached_servers': 'inet6:[::1]:11211'}
1162 self.log.debug('Checking memcached is running')
1163 ret = self.validate_services_by_name({sentry_unit: ['memcached']})
1164 if ret:
1165 amulet.raise_status(amulet.FAIL, msg='Memcache running check'
1166 'failed {}'.format(ret))
1167 else:
1168 self.log.debug('OK')
1169 self.log.debug('Checking memcache url is configured in {}'.format(
1170 conf))
1171 if self.validate_config_data(sentry_unit, conf, section, _kvs):
1172 message = "Memcache config error in: {}".format(conf)
1173 amulet.raise_status(amulet.FAIL, msg=message)
1174 else:
1175 self.log.debug('OK')
1176 self.log.debug('Checking memcache configuration in '
1177 '/etc/memcached.conf')
1178 contents = self.file_contents_safe(sentry_unit, '/etc/memcached.conf',
1179 fatal=True)
1180 expected = {
1181 '-p': '11211',
1182 '-l': '::1'}
1183 found = []
1184 for key, value in expected.items():
1185 for line in contents.split('\n'):
1186 if line.startswith(key):
1187 self.log.debug('Checking {} is set to {}'.format(
1188 key,
1189 value))
1190 assert value == line.split()[-1]
1191 self.log.debug(line.split()[-1])
1192 found.append(key)
1193 if sorted(found) == sorted(expected.keys()):
1194 self.log.debug('OK')
1195 else:
1196 message = "Memcache config error in: /etc/memcached.conf"
1197 amulet.raise_status(amulet.FAIL, msg=message)

Subscribers

People subscribed via source and target branches