set -e export IMAGE_ARCH=s390x export IBM_ENTITLEMENT_KEY=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJJQk0gTWFya2V0cGxhY2UiLCJpYXQiOjE1ODIxOTQ2ODYsImp0aSI6IjgxYTU2ZDM5ZjA1OTQ1MjI5ZThmZDgwZGIyZjhmNTBmIn0.luQbdK86cDBf3TWOb3DHula-dyVYmHGNbQAkBHEf0VQ export VERSION=4.8.1 export COMPONENTS=ibm-cert-manager,ibm-licensing,cpfs,cpd_platform,ws,wml export PATH=$PATH:/home/zenguser/cpd-cli-s390x-EE-13.1.1-83 export OCP_URL=https://api.zopchcrt.ocpz.fiserv.one:6443 export OCP_TOKEN=sha256~Vc2Ri1wxFxxEAZZRDT5vwsw7s-d7HqdQzITHF7eInvQ export PROJECT_CPD_INST_OPERATORS=cp4d-op-perfcap export PROJECT_CPD_INST_OPERANDS=cp4d-in-perfcap export PROJECT_CERT_MANAGER=cert-manager export PROJECT_LICENSE_SERVICE=cp4d-license-service export STG_CLASS_BLOCK=ocs-storagecluster-ceph-rbd export STG_CLASS_FILE=ocs-storagecluster-cephfs say() { echo "" echo "[$1]" echo "" } # say "Creating install container" cpd-cli manage restart-container # cpd-cli manage case-download \ # --components=ibm-cert-manager,ibm-licensing,cpfs,cpd_platform,wml,ws \ # --release=4.8.1 say "Changing file permissions." docker exec -u root olm-utils-play-v2 chown -R ansible:root /tmp # say "Listing images." # cpd-cli manage list-images \ # --components=${COMPONENTS} \ # --release=${VERSION} \ # --inspect_source_registry=true # say "Clean up image list" # cat ./cpd-cli-workspace/olm-utils-workspace/work/offline/4.8.1/list_images.csv | grep \@sha256 |grep -v skopeo > ~/.fmk-cli/images # say "Import images" # #fmk import-many say "Login to ocp" cpd-cli manage login-to-ocp \ --server=${OCP_URL} \ --token=${OCP_TOKEN} \ #--preview=true say "Creating operators, instance, cert-manager, licensing namespaces" oc new-project ${PROJECT_CPD_INST_OPERATORS} oc new-project ${PROJECT_CPD_INST_OPERANDS} # oc new-project ${PROJECT_LICENSE_SERVICE} #say "Changing ocp image content source policy" #sh source-policy.sh say "Authorize instance topology" cpd-cli manage authorize-instance-topology \ --cpd_operator_ns=${PROJECT_CPD_INST_OPERATORS} \ --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \ #--preview=true say "Creating admin role in operators namespace" oc apply -f - << EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: cpd-instance-admin-apply-olm namespace: ${PROJECT_CPD_INST_OPERATORS} rules: - apiGroups: - operators.coreos.com resources: - operatorgroups verbs: - create - get - list - patch - update - apiGroups: - operators.coreos.com resources: - catalogsources verbs: - create - get - list EOF say "Adding role to user admin policy" admins="F44H0FD dfarafonov F6ISFJG" for INSTANCE_ADMIN in $(echo $admins); do oc adm policy add-role-to-user admin ${INSTANCE_ADMIN} \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --rolebinding-name="cpd-instance-admin-rbac" say "Adding role to user admin policy within operator namespace" oc adm policy add-role-to-user admin ${INSTANCE_ADMIN} \ --namespace=${PROJECT_CPD_INST_OPERATORS} \ --rolebinding-name="cpd-instance-admin-rbac" say "assign roles in operators project for instance" oc adm policy add-role-to-user cpd-instance-admin-apply-olm ${INSTANCE_ADMIN} \ --namespace=${PROJECT_CPD_INST_OPERATORS} \ --role-namespace=${PROJECT_CPD_INST_OPERATORS} \ --rolebinding-name="cpd-instance-admin-apply-olm-rbac" done say "Installing cert and licensing operators" cpd-cli manage apply-cluster-components \ --release=${VERSION} \ --license_acceptance=true \ --cert_manager_ns=${PROJECT_CERT_MANAGER} \ --licensing_ns=${PROJECT_LICENSE_SERVICE} say "Installing foundational cp4d operators" cpd-cli manage setup-instance-topology \ --release=${VERSION} \ --cpd_operator_ns=${PROJECT_CPD_INST_OPERATORS} \ --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \ --license_acceptance=true \ --block_storage_class=${STG_CLASS_BLOCK} \ #--preview=true say "Install cp4d operator" cpd-cli manage apply-olm \ --release=${VERSION} \ --cpd_operator_ns=${PROJECT_CPD_INST_OPERATORS} \ --components=${COMPONENTS} \ #--preview=true say "Creating instance of cp4d" cpd-cli manage apply-cr \ --release=${VERSION} \ --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \ --components=${COMPONENTS} \ --block_storage_class=${STG_CLASS_BLOCK} \ --file_storage_class=${STG_CLASS_FILE} \ --license_acceptance=true \ #--preview=true say "get admin password for cp4d" cpd-cli manage get-cpd-instance-details \ --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS} \ --get_admin_initial_credentials=true \ #--preview=true