예제 #1
0
        def delete(rsrc_id, deleted_by=None):
            """Delete configured instance."""
            _LOGGER.info('delete: %s, deleted_by = %s', rsrc_id, deleted_by)

            masterapi.delete_apps(
                context.GLOBAL.zk.conn, [rsrc_id], deleted_by
            )
예제 #2
0
        def bulk_delete(rsrc_ids, deleted_by=None):
            """Bulk delete with resource instance IDs
            """
            _LOGGER.info('delete: %r, deleted_by = %s', rsrc_ids, deleted_by)

            masterapi.delete_apps(
                context.GLOBAL.zk.conn, rsrc_ids, deleted_by
            )
예제 #3
0
        def bulk_delete(proid, rsrc_ids, deleted_by=None):
            """Bulk delete with resource instance IDs
            """
            _LOGGER.info('delete: %r, deleted_by = %s', rsrc_ids, deleted_by)
            for rsrc_id in rsrc_ids:
                if proid != rsrc_id.partition('.')[0]:
                    raise exc.InvalidInputError(
                        __name__,
                        'instance id does not match proid: {} {}'.format(
                            proid, rsrc_id))

            masterapi.delete_apps(context.GLOBAL.zk.conn, rsrc_ids, deleted_by)
예제 #4
0
    def test_delete_apps(self):
        """Tests app api."""
        zkclient = kazoo.client.KazooClient()

        masterapi.delete_apps(zkclient, ['foo.bar#12', 'foo.bar#22'])
        kazoo.client.KazooClient.delete.assert_has_calls([
            mock.call('/scheduled/foo.bar#12'),
            mock.call('/scheduled/foo.bar#22')
        ])
        kazoo.client.KazooClient.create.assert_has_calls([
            mock.call(
                '/trace/000C/foo.bar#12,123.34,xxx,pending_delete,deleted',
                b'',
                ephemeral=False, makepath=True, sequence=False,
                acl=mock.ANY
            ),
            mock.call(
                '/trace/0016/foo.bar#22,123.34,xxx,pending_delete,deleted',
                b'',
                ephemeral=False, makepath=True, sequence=False,
                acl=mock.ANY
            )
        ])

        kazoo.client.KazooClient.delete.reset_mock()
        kazoo.client.KazooClient.create.reset_mock()
        masterapi.delete_apps(zkclient, ['foo.bar#12'], 'monitor')
        kazoo.client.KazooClient.delete.assert_has_calls([
            mock.call('/scheduled/foo.bar#12')
        ])
        kazoo.client.KazooClient.create.assert_has_calls([
            mock.call(
                (
                    '/trace/000C/foo.bar#12,123.34,xxx,'
                    'pending_delete,monitor:deleted'
                ),
                b'',
                ephemeral=False, makepath=True, sequence=False,
                acl=mock.ANY
            )
        ])
예제 #5
0
파일: master.py 프로젝트: ceache/treadmill
 def delete(apps):
     """Deletes (unschedules) the app by pattern"""
     masterapi.delete_apps(context.GLOBAL.zk.conn, apps, 'admin')