anthos-bm-edge-deployment/roles/validate/tasks/main.yaml (148 lines of code) (raw):

# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Verify IP address resolves debug: msg: "{{ cluster_name }} is {{ control_plane_ip }}" tags: - verify - name: Verify there is a ROOT_REPO_URL variable debug: var: acm_root_repo tags: - verify - name: Fail if local PROJECT_ID ENV is not defined assert: that: - google_project_id != "" fail_msg: "The local environment variable 'PROJECT_ID' needs to be defined for the target Google Project ID" tags: - verify - name: Fail if local REGION ENV is not defined assert: that: - google_region != "" fail_msg: "The local environment variable 'REGION' needs to be defined for the target Google Project default region" tags: - verify - name: Fail if local ZONE ENV is not defined assert: that: - google_zone != "" fail_msg: "The local environment variable 'ZONE' needs to be defined for the target Google Project default zone" tags: - verify - name: Fail if local LOCAL_GSA_FILE ENV is not defined assert: that: - local_gsa_key != "" fail_msg: "The local environment variable 'LOCAL_GSA_FILE' needs to be set to the local filesystem GSA JSON key" tags: - verify - name: Fail if local SCM_TOKEN_USER ENV is not defined assert: that: - scm_token_user != "" fail_msg: "The local environment variable 'SCM_TOKEN_USER' needs to be set to the SCM user name" tags: - verify - name: Fail if local SCM_TOKEN_TOKEN ENV is not defined assert: that: - scm_token_token != "" fail_msg: "The local environment variable 'SCM_TOKEN_TOKEN' needs to be set to the secret value for the SCM PAT" tags: - verify - name: Set Anthos Network Gateway to True if IPs have length set_fact: "network_gateway_group": True when: ang_floating_ips | length > 0 tags: - verify - anthos-network-gateway - name: Set Anthos Network Gateway False if NO IPs have been defined set_fact: "network_gateway_group": False when: ang_floating_ips | length == 0 tags: - verify - anthos-network-gateway - name: Anthos Network IS Enabled run_once: true debug: msg: "Network Gateway Group Enabled? {{ network_gateway_group }}" when: network_gateway_group == True tags: - verify - anthos-network-gateway - name: List Anthos Gateway Network IPs run_once: true debug: msg: "IP: {{ item }}, {{ network_gateway_group }}" loop: "{{ ang_floating_ips }}" when: network_gateway_group == True tags: - verify - anthos-network-gateway - name: Ensure at least 120GB on primary disk shell: | export PRIMARY_DISK=$(df -BG / | awk '{if (NR!=1) print $2}' | tr -d 'G') if [ "$PRIMARY_DISK" -lt 120 ]; then echo "ERROR: $PRIMARY_DISK is less than required 120GB" exit 1 fi failed_when: disk_check.rc > 0 changed_when: disk_check.rc != 0 register: disk_check tags: - verify - name: show oidc status debug: var: enable_oidc tags: - oidc - name: Validate OIDC varaibles are set if OIDC is enabled run_once: true assert: that: - oidc_client_id != "" - oidc_client_secret != "" - oidc_user != "" fail_msg: "OIDC is enabled, but the local environment variables are not set. Please configure OIDC and ENV vars before provisioning or disable 'enable_oidc' variable in all.yaml settings" when: - enable_oidc == true tags: - verify - oidc - name: Installed output debug: msg: - "----- IMPORTANT VARIABLES ----" - "" - "Root-Repo: {{ acm_root_repo }}" - "ABM Version: {{ abm_version }}" - "ACM Version: {{ acm_version }}" - "" - "-------------------------" - "" - "Google Project: {{ google_project_id }}" - "Google Region/Zone {{ google_region }}/{{ google_zone }}" - "" - "-------------------------" - "" - "SCM PAT User: {{ scm_token_user }}" - "SCM PAT Token: {{ scm_token_token[:5] }}*******" - "" - "-------------------------" - "" - "Storage provider: {{ storage_provider }}" - "Storage provider root: {{ storage_provider_roots | join(',') }}" - "" when: "(primary_cluster_machine is defined) and (primary_cluster_machine == true)" tags: - verify - print-install-variables - name: Give time to read variables (Hit <ctrl>+c to cancel now if incorrect) run_once: true wait_for: timeout: 3 tags: - verify - print-install-variables