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)) trace.post_zk( zkclient, app_events.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) trace.post_zk( zkclient, app_events.PendingTraceEvent( instanceid=instance_id, why='%s:created' % created_by if created_by else 'created', payload='')) return instance_ids
def test_post_zk(self): """Test trace.post_zk.""" zkclient_mock = mock.Mock() zkclient_mock.get_children.return_value = [] trace.post_zk( zkclient_mock, app_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() trace.post_zk( zkclient_mock, app_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() trace.post_zk( zkclient_mock, app_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', json.dumps({ 'data': 'test', 'state': 'aborted', 'when': '100', 'host': 'baz' }, sort_keys=True).encode(), ephemeral=False, makepath=True, sequence=False, acl=mock.ANY ) ]) zkclient_mock.reset_mock() trace.post_zk( zkclient_mock, server_events.ServerStateTraceEvent( servername='test.xx.com', state='up' ) ) zkclient_mock.create.assert_called_once_with( '/server-trace/005D/test.xx.com,100,baz,server_state,up', b'', ephemeral=False, makepath=True, sequence=False, acl=mock.ANY ) zkclient_mock.reset_mock() trace.post_zk( zkclient_mock, server_events.ServerBlackoutTraceEvent( servername='test.xx.com' ) ) zkclient_mock.create.assert_called_once_with( '/server-trace/005D/test.xx.com,100,baz,server_blackout,', b'', ephemeral=False, makepath=True, sequence=False, acl=mock.ANY )