Exemplo n.º 1
0
def nova_agent_listen(server_type, server_os, notify, server_init):
    log.info('Starting actions for {0}'.format(server_type.__name__))
    log.info('Checking for existence of /dev/xen/xenbus')

    send_notification = True
    notify_init = False

    if os.path.exists('/dev/xen/xenbus'):
        with Client(router=XENBUS_ROUTER) as xenbus_client:
            check_provider(utils.get_provider(client=xenbus_client))
            while True:
                notify_init = action(server_os, client=xenbus_client)
                if send_notification and notify_init:
                    log.info('Sending notification startup is complete')
                    utils.send_notification(server_init, notify)
                    send_notification = False

                time.sleep(1)
    else:
        check_provider(utils.get_provider())
        while True:
            notify_init = action(server_os)
            if send_notification and notify_init:
                log.info('Sending notification startup is complete')
                utils.send_notification(server_init, notify)
                send_notification = False

            time.sleep(1)
Exemplo n.º 2
0
def nova_agent_listen(server_type, server_os):
    log.info('Starting actions for {0}'.format(server_type.__name__))
    log.info('Checking for existence of /dev/xen/xenbus')
    if os.path.exists('/dev/xen/xenbus'):
        with Client(router=XENBUS_ROUTER) as xenbus_client:
            check_provider(utils.get_provider(client=xenbus_client))
            while True:
                action(server_os, client=xenbus_client)
                notify_ready()
                time.sleep(1)
    else:
        check_provider(utils.get_provider())
        while True:
            action(server_os)
            notify_ready()
            time.sleep(1)
Exemplo n.º 3
0
 def test_network_get_provider_empty(self):
     client = ClientTest(b'')
     provider = utils.get_provider(client)
     self.assertEqual(
         provider,
         '',
         'Provider should have been an empty string'
     )
Exemplo n.º 4
0
 def test_network_get_provider_exception(self):
     client = ClientTest(None)
     provider = utils.get_provider(client)
     self.assertEqual(
         provider,
         None,
         'Provider should have been None'
     )
Exemplo n.º 5
0
 def test_network_get_provider_success(self):
     client = ClientTest(b'Test Provider')
     provider = utils.get_provider(client)
     self.assertEqual(
         provider,
         'Test Provider',
         'Providers do not match expected value'
     )
Exemplo n.º 6
0
    def test_network_get_provider_failure_popen(self):
        with mock.patch('novaagent.xenstore.xenstore.Popen') as popen:
            popen.return_value.communicate.return_value = (b'', '')
            popen.return_value.returncode = 1

            provider = utils.get_provider(None)

        self.assertEqual(provider, None, 'Provider returned should be None')
Exemplo n.º 7
0
    def test_network_get_provider_success_popen(self):
        with mock.patch('novaagent.xenstore.xenstore.Popen') as popen:
            popen.return_value.communicate.return_value = (b'Test Provider',
                                                           b'')
            popen.return_value.returncode = 0
            provider = utils.get_provider(None)

        self.assertEqual(provider, 'Test Provider',
                         'Provider does not match expected value')
Exemplo n.º 8
0
    def test_network_get_provider_exception_popen(self):
        with mock.patch(
            'novaagent.xenstore.xenstore.Popen',
            side_effect=ValueError
        ):
            provider = utils.get_provider(None)

        self.assertEqual(
            provider,
            None,
            'Provider returned should be None'
        )