def main(): deploy_options = handle_arguments() if not deploy_options.apply_manifest: return service_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) health_url = f'{service_url}/ready' if os.getenv("SKIPPER_PLATFORM") == 'darwin': url = urlsplit(health_url) if url.hostname == "127.0.0.1": url = url._replace(netloc=f"host.docker.internal:{url.port}") health_url = urlunsplit(url) print(f'Wait for {health_url}') waiting.wait(lambda: wait_for_request(health_url), timeout_seconds=TIMEOUT, expected_exceptions=(requests.exceptions.ConnectionError, requests.exceptions.ReadTimeout), sleep_seconds=SLEEP, waiting_for="assisted-service to be healthy")
def create_client(wait_for_url=True): if wait_for_url: i_url = utils.get_service_url_with_retries("bm-inventory") else: i_url = utils.get_service_url("bm-inventory") log.info("Inventory url %s", i_url) client = InventoryClient(inventory_url=i_url) client.wait_for_api_readiness() return client
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(): scality_url = utils.get_service_url(SERVICE) scality_host = utils.get_service_host(SERVICE) with open(SRC_FILE, "r") as src: with open(DST_FILE, "w+") as dst: data = src.read() data = data.replace('REPLACE_URL', scality_url) data = data.replace('REPLACE_HOST_NAME', scality_host) print("Deploying {}:\n{}".format(DST_FILE, data)) dst.write(data) utils.apply(DST_FILE)
def main(): deploy_options = handle_arguments() service_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) health_url = f'{service_url}/ready' print(f'Wait for {health_url}') waiting.wait(lambda: wait_for_request(health_url), timeout_seconds=TIMEOUT, expected_exceptions=(requests.exceptions.ConnectionError, requests.exceptions.ReadTimeout), sleep_seconds=SLEEP, waiting_for="assisted-service to be healthy")
def is_assisted_service_ready(target, domain, namespace, disable_tls) -> bool: service_url = utils.get_service_url( service=SERVICE, target=target, domain=domain, namespace=namespace, disable_tls=disable_tls) health_url = f'{service_url}/ready' if os.getenv("SKIPPER_PLATFORM") == 'darwin': url = urlsplit(health_url) if url.hostname == "127.0.0.1": url = url._replace(netloc=f"host.docker.internal:{url.port}") health_url = urlunsplit(url) print(f'Wait for {health_url}') return wait_for_request(health_url)
def is_service_ready(service, path, target, domain, namespace, disable_tls) -> bool: print( f"DEBUG - is_service_ready({service} {path} {target} {domain} {namespace} {disable_tls})" ) service_url = utils.get_service_url(service=service, target=target, domain=domain, namespace=namespace, disable_tls=disable_tls) url = urlsplit(service_url) url = url._replace(path=path) if os.getenv( "SKIPPER_PLATFORM") == 'darwin' and url.hostname == "127.0.0.1": url = url._replace(netloc=f"host.docker.internal:{url.port}") health_url = urlunsplit(url) print(f'Wait for {health_url}') return wait_for_request(health_url)
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 get_s3_client(): endpoint_url = utils.get_service_url("scality") return boto3.client('s3', aws_access_key_id="accessKey1", aws_secret_access_key="verySecretKey1", endpoint_url=endpoint_url)
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 )