Exemple #1
0
    def _get_hostname_metadata(self):
        """
        Returns a dictionnary that contains hostname metadata.
        """
        metadata = EC2.get_metadata(self.agentConfig)
        if metadata.get('hostname'):
            metadata['ec2-hostname'] = metadata.get('hostname')
            del metadata['hostname']

        if self.agentConfig.get('hostname'):
            metadata['agent-hostname'] = self.agentConfig.get('hostname')
        else:
            try:
                metadata["socket-hostname"] = socket.gethostname()
            except Exception:
                pass
        try:
            metadata["socket-fqdn"] = socket.getfqdn()
        except Exception:
            pass

        metadata["hostname"] = self.hostname
        metadata["timezones"] = self._decode_tzname(time.tzname)

        # Add cloud provider aliases
        host_aliases = GCE.get_host_aliases(self.agentConfig)
        if host_aliases:
            metadata['host_aliases'] = host_aliases

        return metadata
Exemple #2
0
 def test_metadata(self):
     # Reset metadata just to be sure
     EC2.metadata = {}
     # Test gathering metadata from ec2
     start = time.time()
     d = EC2.get_metadata({'collect_instance_metadata': True})
     end = time.time()
     self.assertTrue(isinstance(d, types.DictType))
     # Either we're on ec2 or we're not (at least 7 attributes expected)
     assert len(d) == 0 or len(d) >= 7, d
     if "instance-id" in d:
         assert d["instance-id"].startswith("i-"), d
     assert end - start <= 1.15, "It took %s seconds to get ec2 metadata" % (end-start)