improve DataSource's get_hostname function
This allows for the chance that platform.node returned a fully qualified domainname. Per its doc: Returns the computer's network name (which may not be fully qualified)
This commit is contained in:
parent
9956b8a599
commit
963b164d56
@ -98,9 +98,31 @@ class DataSource:
|
|||||||
return(self.metadata['instance-id'])
|
return(self.metadata['instance-id'])
|
||||||
|
|
||||||
def get_hostname(self, fqdn=False):
|
def get_hostname(self, fqdn=False):
|
||||||
domain = "localdomain"
|
defdomain = "localdomain"
|
||||||
|
defhost = "localhost"
|
||||||
|
|
||||||
|
domain = defdomain
|
||||||
if not 'local-hostname' in self.metadata:
|
if not 'local-hostname' in self.metadata:
|
||||||
toks = [ platform.node(), domain ]
|
|
||||||
|
# this is somewhat questionable really.
|
||||||
|
# the cloud datasource was asked for a hostname
|
||||||
|
# and didn't have one. raising error might be more appropriate
|
||||||
|
# but instead, basically look up the existing hostname
|
||||||
|
toks = []
|
||||||
|
pfn = platform.node()
|
||||||
|
|
||||||
|
# platform.node says: Returns the computer's network
|
||||||
|
# name (which may not be fully qualified)
|
||||||
|
toks = pfn.split(".")
|
||||||
|
if pfn.find(".") > 0:
|
||||||
|
toks = pfn.split(".")
|
||||||
|
elif pfn:
|
||||||
|
toks = [ pfn, defdomain ]
|
||||||
|
|
||||||
|
if len(toks) == 0:
|
||||||
|
toks = [ defhost, defdomain ]
|
||||||
|
#log.warn("unable to find hostname, using defaults")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
toks = self.metadata['local-hostname'].split('.')
|
toks = self.metadata['local-hostname'].split('.')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user