def main(): deploy_options = handle_arguments() # TODO: delete once rename everything to assisted-installer if deploy_options.target == "oc-ingress": service_host = "assisted-installer.{}".format( utils.get_domain(deploy_options.domain)) service_port = "80" else: service_host = utils.get_service_host( SERVICE, deploy_options.target, namespace=deploy_options.namespace) service_port = utils.get_service_port( SERVICE, deploy_options.target, namespace=deploy_options.namespace) with open(SRC_FILE, "r") as src: with open(DST_FILE, "w+") as dst: data = src.read() data = data.replace("REPLACE_URL", '"{}"'.format(service_host)) data = data.replace("REPLACE_PORT", '"{}"'.format(service_port)) data = data.replace("REPLACE_DOMAINS", '"{}"'.format(deploy_options.base_dns_domains)) data = data.replace('REPLACE_NAMESPACE', deploy_options.namespace) print("Deploying {}".format(DST_FILE)) versions = { "IMAGE_BUILDER": "installer-image-build", "AGENT_DOCKER_IMAGE": "agent", "KUBECONFIG_GENERATE_IMAGE": "ignition-manifests-and-kubeconfig-generate", "INSTALLER_IMAGE": "assisted-installer", "CONTROLLER_IMAGE": "assisted-installer-controller", "CONNECTIVITY_CHECK_IMAGE": "connectivity_check", "INVENTORY_IMAGE": "inventory" } for env_var_name, image_short_name in versions.items(): image_fqdn = deployment_options.get_image_override( deploy_options, image_short_name, env_var_name) versions[env_var_name] = image_fqdn # Edge case for controller image override if os.environ.get("INSTALLER_IMAGE" ) and not os.environ.get("CONTROLLER_IMAGE"): versions[ "CONTROLLER_IMAGE"] = deployment_options.IMAGE_FQDN_TEMPLATE.format( "assisted-installer-controller", deployment_options.get_tag( versions["INSTALLER_IMAGE"])) versions["SELF_VERSION"] = deployment_options.get_image_override( deploy_options, "assisted-service", "SERVICE") deploy_tag = get_deployment_tag(deploy_options) if deploy_tag: versions["RELEASE_TAG"] = deploy_tag y = yaml.load(data) y['data'].update(versions) data = yaml.dump(y) dst.write(data) utils.apply(DST_FILE)
def main(): deploy_options = handle_arguments() utils.set_profile(deploy_options.target, deploy_options.profile) with open(SRC_FILE, "r") as src: with open(DST_FILE, "w+") as dst: data = src.read() data = data.replace("REPLACE_DOMAINS", '"{}"'.format(deploy_options.base_dns_domains)) data = data.replace("REPLACE_BASE_URL", utils.get_service_url(service=SERVICE, target=deploy_options.target, domain=deploy_options.domain, namespace=deploy_options.namespace, profile=deploy_options.profile, disable_tls=deploy_options.disable_tls)) data = data.replace('REPLACE_NAMESPACE', deploy_options.namespace) data = data.replace('REPLACE_AUTH_ENABLED_FLAG', '"{}"'.format(deploy_options.enable_auth)) data = data.replace('REPLACE_JWKS_URL', '"{}"'.format(deploy_options.jwks_url)) data = data.replace('REPLACE_OCM_BASE_URL', '"{}"'.format(deploy_options.ocm_url)) print("Deploying {}".format(DST_FILE)) subsystem_versions = {"IMAGE_BUILDER": "ISO_CREATION", "IGNITION_GENERATE_IMAGE": "DUMMY_IGNITION"} versions = {"IMAGE_BUILDER": "assisted-iso-create", "IGNITION_GENERATE_IMAGE": "assisted-ignition-generator", "INSTALLER_IMAGE": "assisted-installer", "CONTROLLER_IMAGE": "assisted-installer-controller", "AGENT_DOCKER_IMAGE": "assisted-installer-agent", "CONNECTIVITY_CHECK_IMAGE": "assisted-installer-agent", "INVENTORY_IMAGE": "assisted-installer-agent"} for env_var_name, image_short_name in versions.items(): if deploy_options.subsystem_test and env_var_name in subsystem_versions.keys(): image_fqdn = deployment_options.get_image_override(deploy_options, image_short_name, subsystem_versions[env_var_name]) else: image_fqdn = deployment_options.get_image_override(deploy_options, image_short_name, env_var_name) versions[env_var_name] = image_fqdn # Edge case for controller image override if os.environ.get("INSTALLER_IMAGE") and not os.environ.get("CONTROLLER_IMAGE"): versions["CONTROLLER_IMAGE"] = deployment_options.IMAGE_FQDN_TEMPLATE.format("assisted-installer-controller", deployment_options.get_tag(versions["INSTALLER_IMAGE"])) versions["SELF_VERSION"] = deployment_options.get_image_override(deploy_options, "assisted-service", "SERVICE") deploy_tag = get_deployment_tag(deploy_options) if deploy_tag: versions["RELEASE_TAG"] = deploy_tag y = yaml.load(data) y['data'].update(versions) data = yaml.dump(y) dst.write(data) utils.apply(DST_FILE)
def main(): parser = argparse.ArgumentParser() parser.add_argument("--subsystem-test", help="deploy in subsystem mode", action="store_true") deploy_options = deployment_options.load_deployment_options(parser) utils.set_profile(deploy_options.target, deploy_options.profile) dst_file = os.path.join(os.getcwd(), "build/deploy_ui.yaml") image_fqdn = deployment_options.get_image_override(deploy_options, "ocp-metal-ui", "UI_IMAGE") tag = deployment_options.get_tag(image_fqdn) clone_directory = os.path.join(os.getcwd(), "build/assisted-installer-ui") if not os.path.exists(clone_directory): utils.check_output(f"git clone --branch master {UI_REPOSITORY} {clone_directory}") cmd = f"cd {clone_directory} && git pull" if tag == "latest": log.warning("No hash specified. Will run the deployment generation script from the top of master branch") else: cmd += f" && git reset --hard {tag}" cmd += f" && deploy/deploy_config.sh -t {clone_directory}/deploy/ocp-metal-ui-template.yaml " \ f"-i {image_fqdn} -n {deploy_options.namespace} > {dst_file}" utils.check_output(cmd) log.info("Deploying %s", dst_file) utils.apply(dst_file) # in case of openshift deploy ingress as well if deploy_options.target == "oc-ingress": src_file = os.path.join(os.getcwd(), "deploy/ui/ui_ingress.yaml") dst_file = os.path.join(os.getcwd(), "build/ui_ingress.yaml") with open(src_file, "r") as src: with open(dst_file, "w+") as dst: data = src.read() data = data.replace('REPLACE_NAMESPACE', deploy_options.namespace) data = data.replace('REPLACE_HOSTNAME', utils.get_service_host( 'assisted-installer-ui', deploy_options.target, deploy_options.domain, deploy_options.namespace, deploy_options.profile )) log.info("Deploying ingress from %s", dst_file) dst.write(data) utils.apply(dst_file)
def main(): utils.verify_build_directory(deploy_options.namespace) verify_ocp_versions( json.loads(json.loads('"{}"'.format(deploy_options.ocp_versions)))) with open(SRC_FILE, "r") as src: with open(DST_FILE, "w+") as dst: data = src.read() data = data.replace("REPLACE_DOMAINS", '"{}"'.format(deploy_options.base_dns_domains)) if deploy_options.apply_manifest: data = data.replace( "REPLACE_BASE_URL", utils.get_service_url( service=SERVICE, target=deploy_options.target, domain=deploy_options.domain, namespace=deploy_options.namespace, disable_tls=deploy_options.disable_tls)) data = data.replace('REPLACE_NAMESPACE', f'"{deploy_options.namespace}"') data = data.replace('REPLACE_AUTH_TYPE_FLAG', '"{}"'.format(deploy_options.auth_type)) data = data.replace( 'REPLACE_WITH_AMS_SUBSCRIPTIONS', '"{}"'.format(deploy_options.with_ams_subscriptions)) data = data.replace('REPLACE_CHECK_CLUSTER_VERSION_FLAG', '"{}"'.format(deploy_options.check_cvo)) data = data.replace('REPLACE_JWKS_URL', '"{}"'.format(deploy_options.jwks_url)) data = data.replace('REPLACE_OCM_BASE_URL', '"{}"'.format(deploy_options.ocm_url)) data = data.replace('REPLACE_OPENSHIFT_VERSIONS', '"{}"'.format(deploy_options.ocp_versions)) data = data.replace( 'REPLACE_PUBLIC_CONTAINER_REGISTRIES', '"{}"'.format(deploy_options.public_registries)) data = data.replace('REPLACE_IPV6_SUPPORT', '"{}"'.format(deploy_options.ipv6_support)) data = data.replace('REPLACE_HW_VALIDATOR_REQUIREMENTS', '"{}"'.format(deploy_options.hw_requirements)) data = data.replace( 'REPLACE_DISABLED_HOST_VALIDATIONS', '"{}"'.format(deploy_options.disabled_host_validations)) versions = { "INSTALLER_IMAGE": "assisted-installer", "CONTROLLER_IMAGE": "assisted-installer-controller", "AGENT_DOCKER_IMAGE": "assisted-installer-agent" } for env_var_name, image_short_name in versions.items(): versions[env_var_name] = deployment_options.get_image_override( deploy_options, image_short_name, env_var_name) log.info(f"Logging {image_short_name} information") log_image_revision(versions[env_var_name]) # Edge case for controller image override if os.environ.get("INSTALLER_IMAGE" ) and not os.environ.get("CONTROLLER_IMAGE"): versions[ "CONTROLLER_IMAGE"] = deployment_options.IMAGE_FQDN_TEMPLATE.format( "assisted-installer-controller", deployment_options.get_tag( versions["INSTALLER_IMAGE"])) versions["SELF_VERSION"] = deployment_options.get_image_override( deploy_options, "assisted-service", "SERVICE") log.info(f"Logging assisted-service information") log_image_revision(versions["SELF_VERSION"]) deploy_tag = get_deployment_tag(deploy_options) if deploy_tag: versions["RELEASE_TAG"] = deploy_tag y = yaml.safe_load(data) y['data'].update(versions) y['data'][ 'ENABLE_SINGLE_NODE_DNSMASQ'] = deploy_options.enable_sno_dnsmasq y['data']['STORAGE'] = deploy_options.storage if deploy_options.installation_timeout: y['data']['INSTALLATION_TIMEOUT'] = str( deploy_options.installation_timeout) admins = get_admin_users() if admins: y['data']['ADMIN_USERS'] = admins if deploy_options.img_expr_time: y['data'][ 'IMAGE_EXPIRATION_TIME'] = deploy_options.img_expr_time if deploy_options.img_expr_time: y['data'][ 'IMAGE_EXPIRATION_INTERVAL'] = deploy_options.img_expr_interval if deploy_options.enable_kube_api: y['data']['ENABLE_KUBE_API'] = 'true' if deploy_options.kubeapi_day2: y['data']['ENABLE_KUBE_API_DAY2'] = deploy_options.kubeapi_day2 data = yaml.dump(y) dst.write(data) if deploy_options.apply_manifest: log.info("Deploying {}".format(DST_FILE)) utils.apply(target=deploy_options.target, namespace=deploy_options.namespace, file=DST_FILE)
def main(): log = utils.get_logger('deploy-service-configmap') utils.verify_build_directory(deploy_options.namespace) verify_ocp_versions(json.loads(json.loads('"{}"'.format(deploy_options.ocp_versions)))) with open(SRC_FILE, "r") as src: with open(DST_FILE, "w+") as dst: data = src.read() data = data.replace("REPLACE_DOMAINS", '"{}"'.format(deploy_options.base_dns_domains)) data = data.replace("REPLACE_BASE_URL", utils.get_service_url(service=SERVICE, target=deploy_options.target, domain=deploy_options.domain, namespace=deploy_options.namespace, profile=deploy_options.profile, disable_tls=deploy_options.disable_tls)) data = data.replace('REPLACE_NAMESPACE', f'"{deploy_options.namespace}"') data = data.replace('REPLACE_AUTH_ENABLED_FLAG', '"{}"'.format(deploy_options.enable_auth)) data = data.replace('REPLACE_CHECK_CLUSTER_VERSION_FLAG', '"{}"'.format(deploy_options.check_cvo)) data = data.replace('REPLACE_JWKS_URL', '"{}"'.format(deploy_options.jwks_url)) data = data.replace('REPLACE_OCM_BASE_URL', '"{}"'.format(deploy_options.ocm_url)) data = data.replace('REPLACE_OPENSHIFT_VERSIONS', '"{}"'.format(deploy_options.ocp_versions)) data = data.replace('REPLACE_OPENSHIFT_INSTALL_RELEASE_IMAGE', '"{}"'.format(deploy_options.ocp_override)) data = data.replace('REPLACE_PUBLIC_CONTAINER_REGISTRIES', '"{}"'.format(deploy_options.public_registries)) versions = {"INSTALLER_IMAGE": "assisted-installer", "CONTROLLER_IMAGE": "assisted-installer-controller", "AGENT_DOCKER_IMAGE": "assisted-installer-agent", "CONNECTIVITY_CHECK_IMAGE": "assisted-installer-agent", "INVENTORY_IMAGE": "assisted-installer-agent", "FREE_ADDRESSES_IMAGE": "assisted-installer-agent", "DHCP_LEASE_ALLOCATOR_IMAGE": "assisted-installer-agent", "API_VIP_CONNECTIVITY_CHECK_IMAGE": "assisted-installer-agent", "FIO_PERF_CHECK_IMAGE": "assisted-installer-agent", "NTP_SYNCHRONIZER_IMAGE": "assisted-installer-agent"} for env_var_name, image_short_name in versions.items(): versions[env_var_name] = deployment_options.get_image_override(deploy_options, image_short_name, env_var_name) # Edge case for controller image override if os.environ.get("INSTALLER_IMAGE") and not os.environ.get("CONTROLLER_IMAGE"): versions["CONTROLLER_IMAGE"] = deployment_options.IMAGE_FQDN_TEMPLATE.format("assisted-installer-controller", deployment_options.get_tag(versions["INSTALLER_IMAGE"])) versions["SELF_VERSION"] = deployment_options.get_image_override(deploy_options, "assisted-service", "SERVICE") deploy_tag = get_deployment_tag(deploy_options) if deploy_tag: versions["RELEASE_TAG"] = deploy_tag y = yaml.load(data) y['data'].update(versions) if deploy_options.installation_timeout: y['data']['INSTALLATION_TIMEOUT'] = str(deploy_options.installation_timeout) admins = get_admin_users() if admins: y['data']['ADMIN_USERS'] = admins if deploy_options.img_expr_time: y['data']['IMAGE_EXPIRATION_TIME'] = deploy_options.img_expr_time if deploy_options.img_expr_time: y['data']['IMAGE_EXPIRATION_INTERVAL'] = deploy_options.img_expr_interval data = yaml.dump(y) dst.write(data) log.info("Deploying {}".format(DST_FILE)) utils.apply( target=deploy_options.target, namespace=deploy_options.namespace, profile=deploy_options.profile, file=DST_FILE )
def main(): log = utils.get_logger('deploy-service-configmap') utils.verify_build_directory(deploy_options.namespace) with open(SRC_FILE, "r") as src: with open(DST_FILE, "w+") as dst: data = src.read() data = data.replace("REPLACE_DOMAINS", '"{}"'.format(deploy_options.base_dns_domains)) data = data.replace("REPLACE_BASE_URL", utils.get_service_url(service=SERVICE, target=deploy_options.target, domain=deploy_options.domain, namespace=deploy_options.namespace, profile=deploy_options.profile, disable_tls=deploy_options.disable_tls)) data = data.replace('REPLACE_NAMESPACE', f'"{deploy_options.namespace}"') data = data.replace('REPLACE_AUTH_ENABLED_FLAG', '"{}"'.format(deploy_options.enable_auth)) data = data.replace('REPLACE_JWKS_URL', '"{}"'.format(deploy_options.jwks_url)) data = data.replace('REPLACE_OCM_BASE_URL', '"{}"'.format(deploy_options.ocm_url)) data = data.replace('REPLACE_OPENSHIFT_INSTALL_RELEASE_IMAGE', '"{}"'.format(deploy_options.ocp_release)) subsystem_versions = {"IMAGE_BUILDER": "ISO_CREATION"} versions = {"IMAGE_BUILDER": "assisted-iso-create", "INSTALLER_IMAGE": "assisted-installer", "CONTROLLER_IMAGE": "assisted-installer-controller", "AGENT_DOCKER_IMAGE": "assisted-installer-agent", "CONNECTIVITY_CHECK_IMAGE": "assisted-installer-agent", "INVENTORY_IMAGE": "assisted-installer-agent", "API_VIP_CONNECTIVITY_CHECK_IMAGE": "assisted-installer-agent"} for env_var_name, image_short_name in versions.items(): if deploy_options.subsystem_test and env_var_name in subsystem_versions.keys(): image_fqdn = deployment_options.get_image_override(deploy_options, image_short_name, subsystem_versions[env_var_name]) else: image_fqdn = deployment_options.get_image_override(deploy_options, image_short_name, env_var_name) versions[env_var_name] = image_fqdn # Edge case for controller image override if os.environ.get("INSTALLER_IMAGE") and not os.environ.get("CONTROLLER_IMAGE"): versions["CONTROLLER_IMAGE"] = deployment_options.IMAGE_FQDN_TEMPLATE.format("assisted-installer-controller", deployment_options.get_tag(versions["INSTALLER_IMAGE"])) versions["SELF_VERSION"] = deployment_options.get_image_override(deploy_options, "assisted-service", "SERVICE") deploy_tag = get_deployment_tag(deploy_options) if deploy_tag: versions["RELEASE_TAG"] = deploy_tag y = yaml.load(data) y['data'].update(versions) if deploy_options.installation_timeout: y['data']['INSTALLATION_TIMEOUT'] = str(deploy_options.installation_timeout) data = yaml.dump(y) dst.write(data) log.info("Deploying {}".format(DST_FILE)) utils.apply( target=deploy_options.target, namespace=deploy_options.namespace, profile=deploy_options.profile, file=DST_FILE )