Andrew Bogott has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/359374 )
Change subject: designate: Clean up puppet config for deleted instances.
......................................................................
designate: Clean up puppet config for deleted instances.
Untested.
Bug: T147878
Change-Id: If9704177e51f7646a2d77c6dfa96fc7d3a044a3b
---
M modules/openstack/files/liberty/designate/wmf_sink/base.py
M modules/openstack/files/liberty/designate/wmf_sink/wmfsink.py
M modules/openstack/templates/liberty/designate/designate.conf.erb
3 files changed, 22 insertions(+), 16 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/74/359374/1
diff --git a/modules/openstack/files/liberty/designate/wmf_sink/base.py
b/modules/openstack/files/liberty/designate/wmf_sink/base.py
index 31273f3..4b93df5 100644
--- a/modules/openstack/files/liberty/designate/wmf_sink/base.py
+++ b/modules/openstack/files/liberty/designate/wmf_sink/base.py
@@ -51,26 +51,26 @@
event_data = data.copy()
+ fqdn = cfg.CONF[self.name].fqdn_format % event_data
+ fqdn = fqdn.rstrip('.').encode('utf8')
+
# Clean salt and puppet keys for deleted instance
- if (cfg.CONF[self.name].puppet_key_format and
- cfg.CONF[self.name].puppet_master_host):
- puppetkey = cfg.CONF[self.name].puppet_key_format % event_data
- puppetkey = puppetkey.rstrip('.').encode('utf8')
- LOG.debug('Cleaning puppet key %s' % puppetkey)
+ if cfg.CONF[self.name].puppet_master_host:
+ LOG.debug('Cleaning puppet key %s' % fqdn)
self._run_remote_command(cfg.CONF[self.name].puppet_master_host,
cfg.CONF[self.name].certmanager_user,
'sudo puppet cert clean %s' %
- pipes.quote(puppetkey))
+ pipes.quote(fqdn))
- if (cfg.CONF[self.name].salt_key_format and
- cfg.CONF[self.name].salt_master_host):
- saltkey = cfg.CONF[self.name].salt_key_format % event_data
- saltkey = saltkey.rstrip('.').encode('utf8')
- LOG.debug('Cleaning salt key %s' % saltkey)
+ if cfg.CONF[self.name].salt_master_host:
+ LOG.debug('Cleaning salt key %s' % fqdn)
self._run_remote_command(cfg.CONF[self.name].salt_master_host,
cfg.CONF[self.name].certmanager_user,
'sudo salt-key -y -d %s' %
- pipes.quote(saltkey))
+ pipes.quote(fqdn))
+
+ # Clean up the puppet config for this instance, if there is one
+ self._delete_puppet_config(data['tenant_id'], fqdn)
# Finally, delete any proxy records pointing to this instance.
#
@@ -115,6 +115,12 @@
return False
return True
+ def _delete_puppet_config(self, projectid, fqdn):
+ endpoint = cfg.CONF[self.name].puppet_config_backend
+ url = "%s/%s/prefix/%s" % (endpoint, projectid, fqdn)
+ requests.delete(url, verify=False)
+ # Maybe there isn't such a prefix, and this will fail. No problem!
+
def _delete_proxies_for_ip(self, project, ip):
project_proxies = self._get_proxy_list_for_project(project)
for proxy in project_proxies:
diff --git a/modules/openstack/files/liberty/designate/wmf_sink/wmfsink.py
b/modules/openstack/files/liberty/designate/wmf_sink/wmfsink.py
index e64601c..d37c87e 100644
--- a/modules/openstack/files/liberty/designate/wmf_sink/wmfsink.py
+++ b/modules/openstack/files/liberty/designate/wmf_sink/wmfsink.py
@@ -38,10 +38,10 @@
cfg.ListOpt('puppetdefaultvars', default=[]),
cfg.StrOpt('certmanager_user', default='certmanager'),
- cfg.StrOpt('puppet_key_format', default=None),
- cfg.StrOpt('salt_key_format', default=None),
+ cfg.StrOpt('fqdn_format', default=None),
cfg.StrOpt('puppet_master_host', default=None),
cfg.StrOpt('salt_master_host', default=None),
+ cfg.StrOpt('puppet_config_backend', default=None),
], group='handler:wmf_sink')
cfg.CONF.register_group(cfg.OptGroup(
diff --git a/modules/openstack/templates/liberty/designate/designate.conf.erb
b/modules/openstack/templates/liberty/designate/designate.conf.erb
index ae104d3..2bee84b 100644
--- a/modules/openstack/templates/liberty/designate/designate.conf.erb
+++ b/modules/openstack/templates/liberty/designate/designate.conf.erb
@@ -305,10 +305,10 @@
control_exchange = nova
certmanager_user = certmanager
-puppet_key_format = '%(hostname)s.%(project_name)s.%(domain)s'
+fqdn_format = '%(hostname)s.%(project_name)s.%(domain)s'
puppet_master_host = "<%= @designateconfig['controller_hostname'] %>"
-salt_key_format = '%(hostname)s.%(project_name)s.%(domain)s'
salt_master_host = "<%= @designateconfig['controller_hostname'] %>"
+puppet_config_backend = "http://<%= @designateconfig['controller_hostname']
%>:8101/v1"
#------------------------
# Neutron Floating Handler
--
To view, visit https://gerrit.wikimedia.org/r/359374
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If9704177e51f7646a2d77c6dfa96fc7d3a044a3b
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Andrew Bogott <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits