def delete_apps(zkclient, app_ids, deleted_by=None): """Unschedules apps.""" for app_id in app_ids: zkutils.ensure_deleted(zkclient, _app_node(app_id)) appevents.post_zk( zkclient, traceevents.PendingDeleteTraceEvent( instanceid=app_id, why='%s:deleted' % deleted_by if deleted_by else 'deleted'))
def create_apps(zkclient, app_id, app, count, created_by=None): """Schedules new apps.""" instance_ids = [] acl = zkclient.make_servers_acl() for _idx in range(0, count): node_path = zkutils.put(zkclient, _app_node(app_id, existing=False), app, sequence=True, acl=[acl]) instance_id = os.path.basename(node_path) instance_ids.append(instance_id) appevents.post_zk( zkclient, traceevents.PendingTraceEvent( instanceid=instance_id, why='%s:created' % created_by if created_by else 'created', payload='')) return instance_ids
def test_post_zk(self): """Test appevents.post.zk.""" zkclient_mock = mock.Mock() zkclient_mock.get_children.return_value = [] appevents.post_zk( zkclient_mock, events.PendingTraceEvent( instanceid='foo.bar#123', why='created', payload='' ) ) zkclient_mock.create.assert_called_once_with( '/trace/007B/foo.bar#123,100,baz,pending,created', b'', ephemeral=False, makepath=True, sequence=False, acl=mock.ANY ) zkclient_mock.reset_mock() appevents.post_zk( zkclient_mock, events.PendingDeleteTraceEvent( instanceid='foo.bar#123', why='deleted' ) ) zkclient_mock.create.assert_called_once_with( '/trace/007B/foo.bar#123,100,baz,pending_delete,deleted', b'', ephemeral=False, makepath=True, sequence=False, acl=mock.ANY ) zkclient_mock.reset_mock() appevents.post_zk( zkclient_mock, events.AbortedTraceEvent( instanceid='foo.bar#123', why='test' ) ) zkclient_mock.create.assert_has_calls([ mock.call( '/trace/007B/foo.bar#123,100,baz,aborted,test', b'', ephemeral=False, makepath=True, sequence=False, acl=mock.ANY ), mock.call( '/finished/foo.bar#123', b'{data: test, host: baz, state: aborted, when: \'100\'}\n', ephemeral=False, makepath=True, sequence=False, acl=mock.ANY ) ])