Merge "Build list of enabled os-collect-config collectors" into stable/liberty

This commit is contained in:
Jenkins 2016-03-09 07:26:14 +00:00 committed by Gerrit Code Review
commit abb49669a9
2 changed files with 42 additions and 12 deletions

View File

@ -555,6 +555,9 @@ class Server(stack_user.StackUser, sh.SchedulerHintsMixin,
meta['deployments'] = meta.get('deployments', [])
meta['os-collect-config'] = meta.get('os-collect-config', {})
occ = meta['os-collect-config']
collectors = ['ec2']
occ['collectors'] = collectors
# set existing values to None to override any boot-time config
occ_keys = ('heat', 'zaqar', 'cfn', 'request')
for occ_key in occ_keys:
@ -572,21 +575,18 @@ class Server(stack_user.StackUser, sh.SchedulerHintsMixin,
'project_id': self.stack.stack_user_project_id,
'stack_id': self.stack.identifier().stack_path(),
'resource_name': self.name}})
collectors.append('heat')
elif self.transport_zaqar_message(props):
queue_id = self.physical_resource_name()
self.data_set('metadata_queue_id', queue_id)
zaqar_plugin = self.client_plugin('zaqar')
zaqar = zaqar_plugin.create_for_tenant(
self.stack.stack_user_project_id)
queue = zaqar.queue(queue_id)
queue.post({'body': meta, 'ttl': zaqar_plugin.DEFAULT_TTL})
occ.update({'zaqar': {
'user_id': self._get_user_id(),
'password': self.password,
'auth_url': self.context.auth_url,
'project_id': self.stack.stack_user_project_id,
'queue_id': queue_id}})
collectors.append('zaqar')
elif self.transport_poll_server_cfn(props):
occ.update({'cfn': {
@ -595,6 +595,7 @@ class Server(stack_user.StackUser, sh.SchedulerHintsMixin,
'secret_access_key': self.secret_key,
'stack_name': self.stack.name,
'path': '%s.Metadata' % self.name}})
collectors.append('cfn')
elif self.transport_poll_temp_url(props):
container = self.physical_resource_name()
@ -611,13 +612,28 @@ class Server(stack_user.StackUser, sh.SchedulerHintsMixin,
self.data_set('metadata_put_url', put_url)
self.data_set('metadata_object_name', object_name)
collectors.append('request')
occ.update({'request': {
'metadata_url': url}})
collectors.append('local')
self.metadata_set(meta)
# push replacement polling config to any existing push-based sources
queue_id = self.data().get('metadata_queue_id')
if queue_id:
zaqar_plugin = self.client_plugin('zaqar')
zaqar = zaqar_plugin.create_for_tenant(
self.stack.stack_user_project_id, self._user_token())
queue = zaqar.queue(queue_id)
queue.post({'body': meta, 'ttl': zaqar_plugin.DEFAULT_TTL})
object_name = self.data().get('metadata_object_name')
if object_name:
container = self.physical_resource_name()
self.client('swift').put_object(
container, object_name, jsonutils.dumps(meta))
self.metadata_set(meta)
def _register_access_key(self):
'''
Access is limited to this resource, which created the keypair

View File

@ -747,7 +747,8 @@ class ServersTest(common.HeatTestCase):
'path': 'WebServer.Metadata',
'secret_access_key': '8901',
'stack_name': 'software_config_s'
}
},
'collectors': ['ec2', 'cfn', 'local']
},
'deployments': []
}, server.metadata_get())
@ -765,6 +766,7 @@ class ServersTest(common.HeatTestCase):
'secret_access_key': '8901',
'stack_name': 'software_config_s'
},
'collectors': ['ec2', 'cfn', 'local'],
'polling_interval': 10
},
'deployments': []
@ -826,7 +828,8 @@ class ServersTest(common.HeatTestCase):
'resource_name': 'WebServer',
'stack_id': 'software_config_s/%s' % stack.id,
'user_id': '1234'
}
},
'collectors': ['ec2', 'heat', 'local']
},
'deployments': []
}, server.metadata_get())
@ -845,6 +848,7 @@ class ServersTest(common.HeatTestCase):
'stack_id': 'software_config_s/%s' % stack.id,
'user_id': '1234'
},
'collectors': ['ec2', 'heat', 'local'],
'polling_interval': 10
},
'deployments': []
@ -906,6 +910,8 @@ class ServersTest(common.HeatTestCase):
server.physical_resource_name(), object_name)
self.assertEqual(test_path, urlparse.urlparse(metadata_put_url).path)
self.assertEqual(test_path, urlparse.urlparse(metadata_url).path)
sc.put_object.assert_called_once_with(
container_name, object_name, jsonutils.dumps(md))
sc.head_container.return_value = {'x-container-object-count': '0'}
server._delete_temp_url()
@ -924,7 +930,8 @@ class ServersTest(common.HeatTestCase):
'os-collect-config': {
'request': {
'metadata_url': metadata_url
}
},
'collectors': ['ec2', 'request', 'local']
},
'deployments': []
}, server.metadata_get())
@ -939,6 +946,7 @@ class ServersTest(common.HeatTestCase):
'request': {
'metadata_url': metadata_url
},
'collectors': ['ec2', 'request', 'local'],
'polling_interval': 10
},
'deployments': []
@ -1014,7 +1022,8 @@ class ServersTest(common.HeatTestCase):
'auth_url': 'http://server.test:5000/v2.0',
'project_id': '8888',
'queue_id': queue_id
}
},
'collectors': ['ec2', 'zaqar', 'local']
},
'deployments': []
}, server.metadata_get())
@ -1031,6 +1040,7 @@ class ServersTest(common.HeatTestCase):
'project_id': '8888',
'queue_id': queue_id
},
'collectors': ['ec2', 'zaqar', 'local'],
'polling_interval': 10
},
'deployments': []
@ -1602,7 +1612,8 @@ class ServersTest(common.HeatTestCase):
'path': 'WebServer.Metadata',
'secret_access_key': '8901',
'stack_name': 'update_meta_sc'
}
},
'collectors': ['ec2', 'cfn', 'local']
},
'deployments': []}
self.assertEqual(expected_md, server.metadata_get())
@ -1636,6 +1647,7 @@ class ServersTest(common.HeatTestCase):
'secret_access_key': '8901',
'stack_name': 'update_meta_sc'
},
'collectors': ['ec2', 'cfn', 'local'],
'polling_interval': 10
},
'deployments': []}
@ -1669,6 +1681,7 @@ class ServersTest(common.HeatTestCase):
'secret_access_key': '8901',
'stack_name': 'update_meta_sc'
},
'collectors': ['ec2', 'cfn', 'local'],
'polling_interval': 10
},
'deployments': []}
@ -1711,6 +1724,7 @@ class ServersTest(common.HeatTestCase):
'request': {
'metadata_url': 'the_url',
},
'collectors': ['ec2', 'request', 'local'],
'polling_interval': 10
},
'deployments': []}