def _autogen_subdomain(pod, base_domain):
"""
Generate Subdomain from Pod name or Pod Domain if Pod already has it
:param pod: Pod instance
:param base_domain: BaseDomain instance in which zone Subdomain should be
placed
:return: (pod_domain, sub_domain_part):
pod_domain -- if Pod Domain already exists for specified pod, else None
sub_domain_part -- autogenerated Subdomain part
"""
pod_domain = PodDomain.query.filter_by(domain_id=base_domain.id,
pod_id=pod.id).first()
if pod_domain:
return pod_domain, None
pod_name = domainize(pod.name)
if not pod_name:
pod_name = randstr(symbols=string.lowercase + string.digits,
length=8)
user = domainize(pod.owner.username)
sub_domain_part = '{0}-{1}'.format(user, pod_name)
sub_domain_part = _get_unique_domain_name(sub_domain_part, base_domain.id)
if sub_domain_part is None:
raise InternalAPIError('Failed to get unique pod domain name')
return None, sub_domain_part
评论列表
文章目录