def test_nodepool_occ_config(self):
        configfile = self.setup_config('integration_occ.yaml')
        auth_data = {'username': '******',
                     'project_name': 'os_real',
                     'password': '******',
                     'auth_url': 'os_real'}
        occ_config = {'clouds': {'real-cloud': {'auth': auth_data}}}
        self._use_cloud_config(occ_config)

        config = nodepool_config.loadConfig(configfile)
        self.assertIn('real-provider', config.providers)
        pm = provider_manager.get_provider(
            config.providers['real-provider'], use_taskmanager=False)
        pm.start()
        self.assertEqual(pm._client.auth, auth_data)
Esempio n. 2
0
    def test_nodepool_occ_config(self):
        configfile = self.setup_config('integration_occ.yaml')
        auth_data = {'username': '******',
                     'project_name': 'os_real',
                     'password': '******',
                     'auth_url': 'os_real'}
        occ_config = {'clouds': {'real-cloud': {'auth': auth_data}}}
        self._use_cloud_config(occ_config)

        config = nodepool_config.loadConfig(configfile)
        self.assertIn('real-provider', config.providers)
        pm = provider_manager.get_provider(
            config.providers['real-provider'], use_taskmanager=False)
        pm.start(None)
        self.assertEqual(pm._client.auth, auth_data)
    def test_nodepool_occ_config(self):
        configfile = self.setup_config('integration_occ.yaml')
        auth_data = {'username': '******',
                     'project_name': 'os_real',
                     'password': '******',
                     'auth_url': 'os_real'}
        occ_config = {'clouds': {'real-cloud': {'auth': auth_data}}}
        self._use_cloud_config(occ_config)

        config = nodepool_config.loadConfig(configfile)
        self.assertIn('real-provider', config.providers)
        pm = provider_manager.get_provider(config.providers['real-provider'])
        # We need to cleanup the provider manager so that it doesn't leak a
        # thread that causes wait_for_threads in subsequent tests to fail.
        self.addCleanup(pm.stop)
        pm.start(None)
        self.assertEqual(pm._client.auth, auth_data)
    def _setup(self, configfile):
        # Need a builder for the launch code to work and to access
        # config objects.
        b = builder.NodePoolBuilder(configfile)
        b.cleanup_interval = .5
        b.build_interval = .1
        b.upload_interval = .1
        b.dib_cmd = 'nodepool/tests/fake-image-create'
        b.start()
        self.addCleanup(b.stop)
        self.waitForImage('fake-provider', 'fake-image')

        self.provider = b._config.providers['fake-provider']
        self.provider_pool = self.provider.pools['main']

        # The builder config does not have a provider manager, so create one.
        self.pmanager = provider_manager.get_provider(self.provider, False)
        self.pmanager.resetClient()
Esempio n. 5
0
    def test_nodepool_occ_config(self):
        configfile = self.setup_config('integration_occ.yaml')
        auth_data = {
            'username': '******',
            'project_name': 'os_real',
            'password': '******',
            'auth_url': 'os_real'
        }
        occ_config = {'clouds': {'real-cloud': {'auth': auth_data}}}
        self._use_cloud_config(occ_config)

        config = nodepool_config.loadConfig(configfile)
        self.assertIn('real-provider', config.providers)
        pm = provider_manager.get_provider(config.providers['real-provider'])
        # We need to cleanup the provider manager so that it doesn't leak a
        # thread that causes wait_for_threads in subsequent tests to fail.
        self.addCleanup(pm.stop)
        pm.start(None)
        self.assertEqual(pm._client.auth, auth_data)
    def _setup(self, configfile):
        # Need a builder for the launch code to work and to access
        # config objects.
        b = builder.NodePoolBuilder(configfile)
        b.cleanup_interval = .5
        b.build_interval = .1
        b.upload_interval = .1
        b.dib_cmd = 'nodepool/tests/fake-image-create'
        b.start()
        self.addCleanup(b.stop)
        self.waitForImage('fake-provider', 'fake-image')

        self.provider = b._config.providers['fake-provider']
        self.provider_pool = self.provider.pools['main']

        # The builder config does not have a provider manager, so create one.
        self.pmanager = provider_manager.get_provider(
            self.provider, False)
        self.pmanager.resetClient()
Esempio n. 7
0
    def delete(self):
        node = self.zk.getNode(self.args.id)
        if not node:
            print("Node id %s not found" % self.args.id)
            return

        self.zk.lockNode(node, blocking=True, timeout=5)

        if self.args.now:
            if node.provider not in self.pool.config.providers:
                print("Provider %s for node %s not defined on this launcher" %
                      (node.provider, node.id))
                return
            provider = self.pool.config.providers[node.provider]
            manager = provider_manager.get_provider(provider, True)
            manager.start(self.zk)
            launcher.NodeDeleter.delete(self.zk, manager, node)
            manager.stop()
        else:
            node.state = zk.DELETING
            self.zk.storeNode(node)
            self.zk.unlockNode(node)

        self.list(node_id=node.id)
Esempio n. 8
0
    def delete(self):
        node = self.zk.getNode(self.args.id)
        if not node:
            print("Node id %s not found" % self.args.id)
            return

        self.zk.lockNode(node, blocking=True, timeout=5)

        if self.args.now:
            if node.provider not in self.pool.config.providers:
                print("Provider %s for node %s not defined on this launcher" %
                      (node.provider, node.id))
                return
            provider = self.pool.config.providers[node.provider]
            manager = provider_manager.get_provider(provider)
            manager.start(self.zk)
            launcher.NodeDeleter.delete(self.zk, manager, node)
            manager.stop()
        else:
            node.state = zk.DELETING
            self.zk.storeNode(node)
            self.zk.unlockNode(node)

        self.list(node_id=node.id)