Пример #1
0
 def test_message_hmac(self):
     seq = 42
     for i in range(0, 16):
         statusMsg = {'seq': seq, 'status': 'OK', 'id': str(uuid.uuid4())}
         envelope = status_message.wrap_envelope(statusMsg, 'samplekey1')
         obj = status_message.unwrap_envelope(envelope, 'samplekey1')
         self.assertEqual('OK', obj['status'])
         self.assertEqual(seq, obj['seq'])
         seq += 1
         args = (envelope, 'samplekey?')
         self.assertRaises(exceptions.InvalidHMACException,
                           status_message.unwrap_envelope, *args)
Пример #2
0
 def test_message_hmac(self):
     seq = 42
     for i in range(0, 16):
         statusMsg = {'seq': seq,
                      'status': 'OK',
                      'id': str(uuid.uuid4())}
         envelope = status_message.wrap_envelope(statusMsg, 'samplekey1')
         obj = status_message.unwrap_envelope(envelope, 'samplekey1')
         self.assertEqual(obj['status'], 'OK')
         self.assertEqual(obj['seq'], seq)
         seq += 1
         args = (envelope, 'samplekey?')
         self.assertRaises(exceptions.InvalidHMACException,
                           status_message.unwrap_envelope, *args)
Пример #3
0
    def test_message_hmac_compatibility(self):
        seq = 42
        statusMsg = {'seq': seq, 'status': 'OK', 'id': str(uuid.uuid4())}

        envelope = status_message.wrap_envelope(statusMsg,
                                                'samplekey1',
                                                hex=False)
        obj = status_message.unwrap_envelope(envelope, 'samplekey1')

        self.assertEqual('OK', obj['status'])
        self.assertEqual(seq, obj['seq'])

        args = (envelope, 'samplekey?')
        self.assertRaises(exceptions.InvalidHMACException,
                          status_message.unwrap_envelope, *args)
Пример #4
0
    def test_message_hmac_compatibility(self):
        seq = 42
        statusMsg = {'seq': seq,
                     'status': 'OK',
                     'id': str(uuid.uuid4())}

        envelope = status_message.wrap_envelope(statusMsg, 'samplekey1',
                                                hex=False)
        obj = status_message.unwrap_envelope(envelope, 'samplekey1')

        self.assertEqual('OK', obj['status'])
        self.assertEqual(seq, obj['seq'])

        args = (envelope, 'samplekey?')
        self.assertRaises(exceptions.InvalidHMACException,
                          status_message.unwrap_envelope, *args)
Пример #5
0
 def _send_msg(self, dest, msg):
     envelope_str = status_message.wrap_envelope(msg, self.key)
     # dest = (family, socktype, proto, canonname, sockaddr)
     # e.g. 0 = sock family, 4 = sockaddr - what we actually need
     try:
         if dest[0] == socket.AF_INET:
             self.v4sock.sendto(envelope_str, dest[4])
         elif dest[0] == socket.AF_INET6:
             self.v6sock.sendto(envelope_str, dest[4])
     except socket.error:
         # Pass here as on amp boot it will get one or more
         # error: [Errno 101] Network is unreachable
         # while the networks are coming up
         # No harm in trying to send as it will still failover
         # if the message isn't received
         pass
Пример #6
0
 def _send_msg(self, dest, msg):
     # Note: heartbeat_key is mutable and must be looked up for each call
     envelope_str = status_message.wrap_envelope(
         msg, str(CONF.health_manager.heartbeat_key))
     # dest = (family, socktype, proto, canonname, sockaddr)
     # e.g. 0 = sock family, 4 = sockaddr - what we actually need
     try:
         if dest[0] == socket.AF_INET:
             self.v4sock.sendto(envelope_str, dest[4])
         elif dest[0] == socket.AF_INET6:
             self.v6sock.sendto(envelope_str, dest[4])
     except socket.error:
         # Pass here as on amp boot it will get one or more
         # error: [Errno 101] Network is unreachable
         # while the networks are coming up
         # No harm in trying to send as it will still failover
         # if the message isn't received
         pass
Пример #7
0
 def dosend(self, obj):
     envelope_str = status_message.wrap_envelope(obj, self.key)
     addrinfo = round_robin_addr(self.dests)
     # dest = (family, socktype, proto, canonname, sockaddr)
     # e.g. 0 = sock family, 4 = sockaddr - what we actually need
     if addrinfo is None:
         LOG.error('No controller address found. Unable to send heartbeat.')
         return
     try:
         if addrinfo[0] == socket.AF_INET:
             self.v4sock.sendto(envelope_str, addrinfo[4])
         elif addrinfo[0] == socket.AF_INET6:
             self.v6sock.sendto(envelope_str, addrinfo[4])
     except socket.error:
         # Pass here as on amp boot it will get one or more
         # error: [Errno 101] Network is unreachable
         # while the networks are coming up
         # No harm in trying to send as it will still failover
         # if the message isn't received
         pass
Пример #8
0
 def dosend(self, obj):
     envelope_str = status_message.wrap_envelope(obj, self.key)
     addrinfo = round_robin_addr(self.dests)
     # dest = (family, socktype, proto, canonname, sockaddr)
     # e.g. 0 = sock family, 4 = sockaddr - what we actually need
     if addrinfo is None:
         LOG.error(_LE('No controller address found. '
                       'Unable to send heartbeat.'))
         return
     try:
         if addrinfo[0] == socket.AF_INET:
             self.v4sock.sendto(envelope_str, addrinfo[4])
         elif addrinfo[0] == socket.AF_INET6:
             self.v6sock.sendto(envelope_str, addrinfo[4])
     except socket.error:
         # Pass here as on amp boot it will get one or more
         # error: [Errno 101] Network is unreachable
         # while the networks are coming up
         # No harm in trying to send as it will still failover
         # if the message isn't received
         pass