def test_notify_empty_address(self): address = None socket = None with mock.patch.dict(os.environ, clear=True): bad_address, bad_socket = utils.notify_socket() self.assertEqual(bad_address, address, 'Did not get expected value for address') self.assertEqual(bad_socket, socket, 'Did not get expected value for socket')
def test_notify_incorrect_starter(self): address = None socket = None with mock.patch.dict(os.environ, {'NOTIFY_SOCKET': '111'}): bad_address, bad_socket = utils.notify_socket() self.assertEqual(bad_address, address, 'Did not get expected value for address') self.assertEqual(bad_socket, socket, 'Did not get expected value for socket')
def test_notify_complete(self): address = '\x00novaagenttest' socket = 'mock_socket' with mock.patch.dict(os.environ, {'NOTIFY_SOCKET': '@novaagenttest'}): with mock.patch('novaagent.utils.socket') as mock_socket: mock_socket.socket.return_value = 'mock_socket' good_address, good_socket = utils.notify_socket() self.assertEqual(good_address, address, 'Did not get expected value for address') self.assertEqual(good_socket, socket, 'Did not get expected value for socket')
def main(): parser = create_parser() args = parser.parse_args() loglevel = getattr(logging, args.loglevel.upper()) log_format = "%(asctime)s [%(levelname)-5.5s] %(message)s" if args.version: print(__version__) return if args.logfile == '-': logging.basicConfig(stream=sys.stdout, level=loglevel, format=log_format) else: logging.basicConfig(filename=args.logfile, level=loglevel, format=log_format) log.info('Agent is starting up') server_type = get_server_type() server_os = server_type.ServerOS() server_init = get_init_system() if args.no_fork is False: log.info('Starting daemon') try: pid = os.fork() if pid > 0: log.info('PID: {0}'.format(pid)) os._exit(0) except OSError as error: log.error('Unable to fork. Error: {0} {1}'.format( error.errno, error.strerror)) os._exit(1) else: log.info('Skipping os.fork as directed by arguments') notify = None if server_init == 'systemd': notify = utils.notify_socket() nova_agent_listen(server_type, server_os, notify, server_init)