示例#1
0
 def _fix_yaml(self):
     # Replacements are to point container paths and/or versions to the
     # expected ones to test.
     if converter('@bool', settings.SES.BUILD_ROOK_FROM_GIT):
         # Replace image reference if we built it in this run
         with open(os.path.join(self.ceph_dir, 'operator.yaml')) as file:
             docs = yaml.load_all(file, Loader=yaml.FullLoader)
             for doc in docs:
                 try:
                     image = doc['spec']['template']['spec'][
                             'containers'][0]['image']
                     break
                 except KeyError:
                     pass
             logger.info("replacing %s by %s", image, self.rook_image)
             replacements = {image: self.rook_image}
             recursive_replace(self.ceph_dir, replacements)
         with open(os.path.join(self.ceph_dir, 'cluster.yaml')) as file:
             docs = yaml.load_all(file, Loader=yaml.FullLoader)
             for doc in docs:
                 try:
                     image = doc['spec']['cephVersion']['image']
                     break
                 except KeyError:
                     pass
             logger.info("replacing %s by %s", image, settings(
                 f"SES.{settings.SES.TARGET}.ceph_image"))
             replacements = {image: settings(
                 f"SES.{settings.SES.TARGET}.ceph_image")}
             recursive_replace(self.ceph_dir, replacements)
     else:
         replacements = settings(
             f'SES.{settings.SES.TARGET}.yaml_substitutions')
         recursive_replace(self.ceph_dir, replacements)
示例#2
0
文件: ses.py 项目: kshtsk/rookcheck
 def __init__(self, workspace, kubernetes):
     super().__init__(workspace, kubernetes)
     self.ceph_dir = os.path.join(self.workspace.working_dir, 'rook/ceph')
     self.helm_dir = os.path.join(self.workspace.working_dir,
                                  'helm/rook-ceph')
     self.rook_chart = settings(
         f"SES.{settings.SES.TARGET}.rook_ceph_chart")
示例#3
0
 def preinstall(self):
     super().preinstall()
     repo_vars = {
         'ses_repositories':
         settings(f'SES.{settings.SES.TARGET}.repositories')
     }
     self.kubernetes.hardware.ansible_run_playbook('playbook_rook_ses.yaml',
                                                   extra_vars=repo_vars)
     self._get_rook()
     self._fix_yaml()
示例#4
0
 def preinstall(self):
     super().preinstall()
     if converter('@bool', settings.SES.BUILD_ROOK_FROM_GIT):
         self.upload_rook_image()
     repo_vars = {
         'ses_repositories':
             settings(f'SES.{settings.SES.TARGET}.repositories')
     }
     self.kubernetes.hardware.ansible_run_playbook(
         'playbook_rook_ses.yaml', extra_vars=repo_vars)
     self._get_rook_yaml()
     self._fix_yaml()
示例#5
0
 def _fix_yaml(self):
     # Replacements are to point container paths and/or versions to the
     # expected ones to test.
     replacements = settings(
         f'SES.{settings.SES.TARGET}.yaml_substitutions')
     recursive_replace(self.ceph_dir, replacements)
示例#6
0
def _print_config():
    logger.info("#" * 120)
    logger.info("# Rookcheck Settings:")
    logger.info("# ===================")
    logger.info(f"# ROOKCHECK_CLUSTER_PREFIX={settings.CLUSTER_PREFIX}")
    logger.info(f"# ROOKCHECK_WORKSPACE_DIR={settings.WORKSPACE_DIR}")
    logger.info(f"# ROOKCHECK_NUMBER_MASTERS={settings.NUMBER_MASTERS}")
    logger.info(f"# ROOKCHECK_NUMBER_WORKERS={settings.NUMBER_WORKERS}")
    logger.info(f"# ROOKCHECK_WORKER_INITIAL_DATA_DISKS="
                f"{settings.WORKER_INITIAL_DATA_DISKS}")
    logger.info(f"# ROOKCHECK_NODE_IMAGE_USER={settings.NODE_IMAGE_USER}")
    logger.info(f"# ROOKCHECK__USE_THREADS={settings._USE_THREADS}")
    logger.info(f"# ROOKCHECK__REMOVE_WORKSPACE={settings._REMOVE_WORKSPACE}")
    logger.info(
        f"# ROOKCHECK__TEAR_DOWN_CLUSTER={settings._TEAR_DOWN_CLUSTER}")
    logger.info(f"# ROOKCHECK__TEAR_DOWN_CLUSTER_CONFIRM="
                f"{settings._TEAR_DOWN_CLUSTER_CONFIRM}")
    logger.info(f"# ROOKCHECK__GATHER_LOGS_DIR={settings._GATHER_LOGS_DIR}")
    logger.info(f"# ROOKCHECK_HARDWARE_PROVIDER={settings.HARDWARE_PROVIDER}")
    logger.info("# Hardware provider specific config:")
    logger.info("# ----------------------------------")
    if settings.HARDWARE_PROVIDER.upper() == "OPENSTACK":
        logger.info(f"#    ROOKCHECK_OPENSTACK__NODE_IMAGE="
                    f"{settings.OPENSTACK.NODE_IMAGE}")
        logger.info(f"#    ROOKCHECK_OPENSTACK__NODE_SIZE="
                    f"{settings.OPENSTACK.NODE_SIZE}")
        logger.info(f"#    ROOKCHECK_OPENSTACK__EXTERNAL_NETWORK="
                    f"{settings.OPENSTACK.EXTERNAL_NETWORK}")
    elif settings.HARDWARE_PROVIDER.upper() == "LIBVIRT":
        logger.info(f"#    ROOKCHECK_LIBVIRT__CONNECTION="
                    f"{settings.LIBVIRT.CONNECTION}")
        logger.info(f"#    ROOKCHECK_LIBVIRT__NETWORK_RANGE="
                    f"{settings.LIBVIRT.NETWORK_RANGE}")
        logger.info(f"#    ROOKCHECK_LIBVIRT__NETWORK_SUBNET="
                    f"{settings.LIBVIRT.NETWORK_SUBNET}")
        logger.info(f"#    ROOKCHECK_LIBVIRT__IMAGE={settings.LIBVIRT.IMAGE}")
        logger.info(
            f"#    ROOKCHECK_LIBVIRT__VM_MEMORY={settings.LIBVIRT.VM_MEMORY}")
    elif settings.HARDWARE_PROVIDER.upper() == "AWS_EC2":
        logger.info(
            f"#    ROOKCHECK_AWS.AMI_IMAGE_ID={settings.AWS.AMI_IMAGE_ID}")
        logger.info(f"#    ROOKCHECK_AWS.NODE_SIZE={settings.AWS.NODE_SIZE}")
    logger.info(f"# ROOKCHECK_DISTRO={settings.DISTRO}")
    logger.info("# Distro specific config:")
    logger.info("# -----------------------")
    if settings.DISTRO == 'SLES_CaaSP':
        logger.info(f"#    ROOKCHECK_SES__TARGET={settings.SES.TARGET}")
        logger.info('#    SES Repositories:')
        for repo, url in settings(
                f'SES.{settings.SES.TARGET}.repositories').items():
            logger.info(f'#     - {repo} : {url}')
        logger.info('#    YAML Replacements:')
        for key, value in settings(
                f'SES.{settings.SES.TARGET}.yaml_substitutions').items():
            logger.info(f'#     - {key} = {value}')
    elif settings.DISTRO == 'openSUSE_k8s':
        logger.info(f"#    ROOKCHECK_UPSTREAM_ROOK__BUILD_ROOK_FROM_GIT="
                    f"{settings.UPSTREAM_ROOK.BUILD_ROOK_FROM_GIT}")

    logger.info("#")
    logger.info("# Environment Variables:")
    logger.info("# ======================")
    for name, value in sorted(os.environ.items()):
        logger.info(f"# {name}={value}")

    logger.info("#" * 120)
示例#7
0
文件: ses.py 项目: kshtsk/rookcheck
 def _fix_chart_values(self):
     # Replacements are to point container paths and/or versions to the
     # expected ones to test.
     replacements = settings(
         f'SES.{settings.SES.TARGET}.helm_values_substitutions')
     recursive_replace(self.helm_dir, replacements)