# Path: moduleframework/core.py
# DATADIR = ['usr', 'share', 'moduleframework']
# def is_debug():
# def is_not_silent():
# def print_info(*args):
# def print_debug(*args):
# 
# Path: moduleframework/common.py
# class MTFConfParser(dict):
# class CommonFunctions(object):
#     def __init__(self):
# def generate_unique_name(size=10):
# def get_openshift_local():
# def get_openshift_ip():
# def get_openshift_user():
# def get_openshift_passwd():
# def get_if_install_default_profile():
# def is_recursive_download():
# def get_if_do_cleanup():
# def get_if_reuse():
# def get_if_remoterepos():
# def get_odcs_envvar():
# def is_true(value):
# def get_openidc_auth():
# def get_if_module():
# def sanitize_text(text, replacement="_", invalid_chars=["/", ";", "&", ">", "<", "|"]):
# def sanitize_cmd(cmd):
# def translate_cmd(cmd, translation_dict=None):
# def get_profile():
# def get_url():
# def get_compose_url():
# def get_modulemdurl():
#     def __init__(self, *args, **kwargs):
#     def loadconfig(self):
#     def set_url(self, url=None, force=False):
#     def get_url(self):
#     def get_template(self):
#     def get_docker_pull(self):
#     def getArch(self):
#     def runHost(self, command="ls /", **kwargs):
#     def get_test_dependencies(self):
#     def installTestDependencies(self, packages=None):
#     def getPackageList(self, profile=None):
#     def getModuleDependencies(self):
#     def dependency_list(self):
#     def dependency_list(self, value):
#     def getModulemdYamlconfig(self, urllink=None):
#     def getIPaddr(self):
#     def ip_address(self):
#     def ip_address(self, value):
#     def _callSetupFromConfig(self):
#     def _callCleanupFromConfig(self):
#     def run(self, command, **kwargs):
#     def get_packager(self):
#     def status(self, command="/bin/true"):
#     def start(self, command="/bin/true"):
#     def stop(self, command="/bin/true"):
#     def install_packages(self, packages=None):
#     def tearDown(self):
#     def copyTo(self, src, dest):
#     def copyFrom(self, src, dest):
#     def run_script(self, filename, *args, **kwargs):
# def get_config(fail_without_url=True, reload=False):
# def list_modules_from_config():
# def get_backend_list():
# def get_module_type():
# def get_module_type_base():
# def get_docker_file(dir_name=conf["docker"]["dockerfiledefaultlocation"]):
# def get_helpmd_file(dir_name=conf["docker"]["dockerfiledefaultlocation"]):
# def getBasePackageSet(modulesDict=None, isModule=True, isContainer=False):
# def get_base_compose():
# 
# Path: moduleframework/mtfexceptions.py
# class ModuleFrameworkException(Exception):
# class NspawnExc(ModuleFrameworkException):
# class RpmExc(ModuleFrameworkException):
# class ContainerExc(ModuleFrameworkException):
# class ConfigExc(ModuleFrameworkException):
# class DefaultConfigExc(ModuleFrameworkException):
# class PDCExc(ModuleFrameworkException):
# class KojiExc(ModuleFrameworkException):
# class CmdExc(ModuleFrameworkException):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):


import json
import os
import time
import random
import string
import container_helper
from avocado.utils.process import CmdError
from moduleframework import core, common, mtfexceptions
        set basic object variables
        """
        super(OpenShiftHelper, self).__init__()
        self.name = None
        self.icontainer = self.get_url()
        self.template = self.get_template()
        self.pod_id = None
        self._ip_address = None
        if not self.icontainer:
            raise mtfexceptions.ConfigExc("No container image specified in the configuration file or environment variable.")
        if "docker=" in self.icontainer:
            self.container_name = self.icontainer[7:]
        else:
            # untrusted source
            self.container_name = self.icontainer
        # application name is taken from docker.io/modularitycontainer/memcached
        self.app_name = self.container_name.split('/')[-1]
        self.app_ip = None
        random_str = ''.join(random.choice(string.lowercase) for _ in range(3))
        self.project_name = "{project}-{random_str}".format(project=self.app_name,
                                                            random_str=random_str)
        core.print_debug(self.icontainer, self.app_name)

    def _get_openshift_ip_registry(self):
        """
        Function returns an IP of OpenShift registry.
        Command which is used for getting this info is `oc get svc -n default docker-registry`
        :return: str or None
        """
        openshift_ip_registry = None

# Path: moduleframework/core.py
# DATADIR = ['usr', 'share', 'moduleframework']
# def is_debug():
# def is_not_silent():
# def print_info(*args):
# def print_debug(*args):
# 
# Path: moduleframework/common.py
# class MTFConfParser(dict):
# class CommonFunctions(object):
#     def __init__(self):
# def generate_unique_name(size=10):
# def get_openshift_local():
# def get_openshift_ip():
# def get_openshift_user():
# def get_openshift_passwd():
# def get_if_install_default_profile():
# def is_recursive_download():
# def get_if_do_cleanup():
# def get_if_reuse():
# def get_if_remoterepos():
# def get_odcs_envvar():
# def is_true(value):
# def get_openidc_auth():
# def get_if_module():
# def sanitize_text(text, replacement="_", invalid_chars=["/", ";", "&", ">", "<", "|"]):
# def sanitize_cmd(cmd):
# def translate_cmd(cmd, translation_dict=None):
# def get_profile():
# def get_url():
# def get_compose_url():
# def get_modulemdurl():
#     def __init__(self, *args, **kwargs):
#     def loadconfig(self):
#     def set_url(self, url=None, force=False):
#     def get_url(self):
#     def get_template(self):
#     def get_docker_pull(self):
#     def getArch(self):
#     def runHost(self, command="ls /", **kwargs):
#     def get_test_dependencies(self):
#     def installTestDependencies(self, packages=None):
#     def getPackageList(self, profile=None):
#     def getModuleDependencies(self):
#     def dependency_list(self):
#     def dependency_list(self, value):
#     def getModulemdYamlconfig(self, urllink=None):
#     def getIPaddr(self):
#     def ip_address(self):
#     def ip_address(self, value):
#     def _callSetupFromConfig(self):
#     def _callCleanupFromConfig(self):
#     def run(self, command, **kwargs):
#     def get_packager(self):
#     def status(self, command="/bin/true"):
#     def start(self, command="/bin/true"):
#     def stop(self, command="/bin/true"):
#     def install_packages(self, packages=None):
#     def tearDown(self):
#     def copyTo(self, src, dest):
#     def copyFrom(self, src, dest):
#     def run_script(self, filename, *args, **kwargs):
# def get_config(fail_without_url=True, reload=False):
# def list_modules_from_config():
# def get_backend_list():
# def get_module_type():
# def get_module_type_base():
# def get_docker_file(dir_name=conf["docker"]["dockerfiledefaultlocation"]):
# def get_helpmd_file(dir_name=conf["docker"]["dockerfiledefaultlocation"]):
# def getBasePackageSet(modulesDict=None, isModule=True, isContainer=False):
# def get_base_compose():
# 
# Path: moduleframework/mtfexceptions.py
# class ModuleFrameworkException(Exception):
# class NspawnExc(ModuleFrameworkException):
# class RpmExc(ModuleFrameworkException):
# class ContainerExc(ModuleFrameworkException):
# class ConfigExc(ModuleFrameworkException):
# class DefaultConfigExc(ModuleFrameworkException):
# class PDCExc(ModuleFrameworkException):
# class KojiExc(ModuleFrameworkException):
# class CmdExc(ModuleFrameworkException):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):
#     def __init__(self, *args, **kwargs):


# Path: moduleframework/helpers/openshift_helper.py
import json
import os
import time
import random
import string
import container_helper
from avocado.utils.process import CmdError
from moduleframework import core, common, mtfexceptions

        set basic object variables
        """
        super(OpenShiftHelper, self).__init__()
        self.name = None
        self.icontainer = self.get_url()
        self.template = self.get_template()
        self.pod_id = None
        self._ip_address = None
        if not self.icontainer:
            raise mtfexceptions.ConfigExc("No container image specified in the configuration file or environment variable.")
        if "docker=" in self.icontainer:
            self.container_name = self.icontainer[7:]
        else:
            # untrusted source
            self.container_name = self.icontainer
        # application name is taken from docker.io/modularitycontainer/memcached
        self.app_name = self.container_name.split('/')[-1]
        self.app_ip = None
        random_str = ''.join(random.choice(string.lowercase) for _ in range(3))
        self.project_name = "{project}-{random_str}".format(project=self.app_name,
                                                            random_str=random_str)
        core.print_debug(self.icontainer, self.app_name)

    def _get_openshift_ip_registry(self):
        """
        Function returns an IP of OpenShift registry.
        Command which is used for getting this info is `oc get svc -n default docker-registry`
        :return: str or None
        """
        openshift_ip_registry = None

        docker_registry = self.runHost('oc get svc -n default %s -o json' % common.conf["openshift"]["docker_registry"],