--- - name: define ocp_project set_fact: ocp_project: "bxms-pam-{{guid}}" - name: "Create project for workload {{ocp_project}}" shell: "oc new-project {{ocp_project}}" - name: "Label namespace" command: "oc label namespace {{ocp_project}} AAD='{{guid}}'" - name: Make sure we go back to default project shell: "oc project default" - name: Prep local filesystem for temp files file: path: "/tmp/{{guid}}" state: directory - name: Prepare a local copy of the template for modifications shell: "oc process -f {{pam_template_yml}} \ -p IMAGE_STREAM_NAMESPACE={{ocp_project}} \ -p KIE_ADMIN_PWD={{kie_admin_passwd}} \ -p APPLICATION_NAME={{app_name}} \ -p BUSINESS_CENTRAL_HTTPS_SECRET={{bcentral_app_secret}} \ -p KIE_SERVER_HTTPS_SECRET={{kserver_app_secret}} > /tmp/{{guid}}/{{pam_template_name}}.json" - name: Modify template with pause build configs replace: path: '/tmp/{{guid}}/{{pam_template_name}}.json' regexp: '("replicas": 1,\n)' replace: '\1\t\t\t\t\t"paused": true,\n' - name: Modify template with CPU limit replace: path: '/tmp/{{guid}}/{{pam_template_name}}.json' regexp: '("memory":\s"[0-9]{1,2}[a-zA-Z]{1,2}")([,]*\s)' replace: '\1,\n\t\t\t\t\t"cpu": "1"\2' - name: Modify template with CPU requirements replace: path: '/tmp/{{guid}}/{{pam_template_name}}.json' regexp: '("limits":\s{\s)' replace: '"requests": {"cpu":"500m","memory":"1Gi"},\n\t\t\t\t\t\1' - name: Create template for secrets {{pam_secrets_yml}} shell: "oc create -f {{pam_secrets_yml}} -n {{ocp_project}}" - name: Load pam imagestream shell: "oc create -f {{pam_imagestreams_yml}} -n {{ocp_project}}" - name: Load pam secret, {{kserver_app_secret}} shell: | oc new-app --template={{pam_secrets_template_name}} \ -p SECRET_NAME={{kserver_app_secret}} \ -n {{ocp_project}} - name: Load pam secret, {{bcentral_app_secret}} shell: | oc new-app --template={{pam_secrets_template_name}} \ -p SECRET_NAME={{bcentral_app_secret}} \ -n {{ocp_project}} - name: Initialize OCP resources from the project template using app_name = {{app_name}} shell: "oc create -f /tmp/{{guid}}/{{pam_template_name}}.json -n {{ocp_project}}" - name: pause for 5 seconds pause: seconds: 5 - name: resume {{app_name}}-rhpamcentr shell: oc rollout resume dc/{{app_name}}-rhpamcentr -n {{ocp_project}} - include_tasks: ./wait_for_deploy.yml static: no vars: pod_to_wait: - "{{app_name}}-rhpamcentr" # Modify kieserver to include required data products information - name: Download products data file get_url: url: '{{products_data}}' dest: /tmp/{{guid}}/products.txt - name: Create products configmap shell: oc create configmap products-cm --from-file=/tmp/{{guid}}/products.txt -n {{ocp_project}} - name: Modify kieserver to include products in a volume shell: oc volume dc/{{app_name}}-kieserver -n {{ocp_project}} \ --overwrite --add -t configmap -m /data --name=products-volume --configmap-name=products-cm - name: resume {{app_name}}-kieserver shell: oc rollout resume dc/{{app_name}}-kieserver -n {{ocp_project}} - include_tasks: ./wait_for_deploy.yml static: no vars: pod_to_wait: - "{{app_name}}-kieserver" - name: Annotate the empty project as requested by user shell: "oc annotate namespace {{ocp_project}} openshift.io/requester={{ocp_username}} --overwrite" - name: Give ocp_username access to ocp_project; user = {{ocp_username}} shell: "oc policy add-role-to-user admin {{ocp_username}} -n {{ocp_project}}" - name: workload Tasks Complete debug: msg: workload Tasks Complete