Adding 'ccp domains list' command
This command will print list of Ingress domains that need to be resolved in order to make Ingress work Change-Id: Ie7599d2833fb34facdc66f008fe615a03abd2f33
This commit is contained in:
parent
8aa4dec122
commit
d1c8589529
|
@ -225,6 +225,22 @@ class ImagesList(BaseCommand, lister.Lister):
|
|||
)
|
||||
|
||||
|
||||
class DomainsList(BaseCommand, lister.Lister):
|
||||
"""Get Ingress domains that will be used for external access"""
|
||||
|
||||
def get_parser(self, *args, **kwargs):
|
||||
parser = super(DomainsList, self).get_parser(*args, **kwargs)
|
||||
parser.add_argument('components',
|
||||
nargs='*',
|
||||
help='CCP components to get domains for')
|
||||
return parser
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
config.load_component_defaults()
|
||||
domains_list = utils.get_ingress_domains(parsed_args.components)
|
||||
return ('Ingress Domain',), zip(domains_list)
|
||||
|
||||
|
||||
def signal_handler(signo, frame):
|
||||
sys.exit(-signo)
|
||||
|
||||
|
|
|
@ -20,6 +20,18 @@ def get_ingress_host(ingress_name):
|
|||
ingress_name, CONF.kubernetes.namespace, CONF.configs.ingress.domain))
|
||||
|
||||
|
||||
def get_ingress_domains(components=None):
|
||||
components_map = get_deploy_components_info()
|
||||
components = components or components_map.keys()
|
||||
domains = []
|
||||
for component in components:
|
||||
service = components_map[component]["service_content"]["service"]
|
||||
for port in service.get("ports", []):
|
||||
if port.get("ingress"):
|
||||
domains.append(get_ingress_host(port.get("ingress")))
|
||||
return domains
|
||||
|
||||
|
||||
def get_resource_path(path):
|
||||
return pkg_resources.resource_filename(fuel_ccp.version_info.package, path)
|
||||
|
||||
|
|
Loading…
Reference in New Issue