Exemple #1
0
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'))
Exemple #2
0
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
            )
        ])