Exemple #1
0
        def update(rsrc_id, rsrc):
            """Update instance configuration."""
            _LOGGER.info('update: %s %r', rsrc_id, rsrc)

            delta = {rsrc_id: rsrc['priority']}

            master.update_app_priorities(context.GLOBAL.zk.conn, delta)
            return master.get_app(context.GLOBAL.zk.conn, rsrc_id)
Exemple #2
0
    def test_update_app_priority_noop(self):
        """Tests app api."""
        zkclient = kazoo.client.KazooClient()

        # kazoo.client.KazooClient.create.return_value = '/events/001-apps-1'
        master.update_app_priorities(zkclient, {
            'foo.bar#1': 10,
            'foo.bar#2': 20
        })
        treadmill.zkutils.update.assert_has_calls([
            mock.call(mock.ANY,
                      '/scheduled/foo.bar#1', {'priority': 10},
                      check_content=True),
            mock.call(mock.ANY,
                      '/scheduled/foo.bar#2', {'priority': 20},
                      check_content=True),
        ],
                                                  any_order=True)

        # Verify that event is placed correctly.
        self.assertFalse(treadmill.master.create_event.called)
Exemple #3
0
    def test_update_app_priority(self):
        """Tests app api."""
        zkclient = kazoo.client.KazooClient()

        kazoo.client.KazooClient.create.return_value = '/events/001-apps-1'
        master.update_app_priorities(zkclient, {
            'foo.bar#1': 10,
            'foo.bar#2': 20
        })
        kazoo.client.KazooClient.set.assert_has_calls([
            mock.call('/scheduled/foo.bar#1', b'{priority: 10}\n'),
            mock.call('/scheduled/foo.bar#2', b'{priority: 20}\n'),
        ],
                                                      any_order=True)

        # Verify that event is placed correctly.
        kazoo.client.KazooClient.create.assert_called_with('/events/001-apps-',
                                                           mock.ANY,
                                                           makepath=True,
                                                           acl=mock.ANY,
                                                           sequence=True,
                                                           ephemeral=False)