From 8a068cf3d0de6908180d9e1246c24d50d3cc4c0c Mon Sep 17 00:00:00 2001 From: Marius Bogoevici <159684+mbogoevici@users.noreply.github.com> Date: Thu, 26 Mar 2020 12:56:33 -0400 Subject: [PATCH 1/4] Ansible Role for Statistics to Serverless Lab - RH Summit 2020 Signed-off-by: Marius Bogoevici <159684+mbogoevici@users.noreply.github.com> --- .../README.adoc | 34 ++--- .../defaults/main.yml | 84 +++++++++++ .../tasks/codeready.yml | 14 ++ .../tasks/knative.yml | 21 +++ .../tasks/main.yml | 0 .../tasks/open_data_hub.yml | 61 ++++++++ .../tasks/per_user_workload.yml | 27 ++++ .../tasks/pipelines.yml | 5 + .../tasks/post_workload.yml | 4 +- .../tasks/postgresql.yml | 15 ++ .../tasks/pre_workload.yml | 20 +++ .../tasks/remove_workload.yml | 2 +- .../tasks/serverless.yml | 30 ++++ .../tasks/storage.yml | 139 ++++++++++++++++++ .../tasks/user_project.yml | 49 ++++++ .../tasks/workload.yml | 27 ++++ .../templates/codeready/cluster.yml.j2 | 31 ++++ .../templates/codeready/subscription.yml.j2 | 11 ++ .../templates/general/namespace.yml.j2 | 5 + .../templates/general/operator_group.yml.j2 | 8 + ...-single-user-profile-user.configmap.yml.j2 | 14 ++ .../open-data-hub/odh-configmap.yml.j2 | 14 ++ .../open-data-hub/opendatahub.yml.j2 | 30 ++++ .../open-data-hub/subscription.yml.j2 | 11 ++ .../workshop-notebook.imagestream.yml.j2 | 16 ++ .../templates/pipelines/subscription.yml.j2 | 11 ++ .../templates/postgresql/subscription.yml.j2 | 11 ++ .../templates/serverless/knative.yml.j2 | 43 ++++++ .../templates/serverless/subscription.yml.j2 | 11 ++ .../templates/storage/noobaa_system.yml.j2 | 14 ++ .../storage/pv_pool_backingstore.yml.j2 | 17 +++ .../storage/pv_pool_bucketclass.yml.j2 | 13 ++ .../storage/pv_pool_objectbucketclaim.yml.j2 | 10 ++ .../templates/storage/storagecluster.yml.j2 | 47 ++++++ .../templates/storage/subscription.yml.j2 | 12 ++ 35 files changed, 835 insertions(+), 26 deletions(-) rename deploy/agnosticd/ansible/roles/{ocp4-workload-operator-mssql => ocp4-summit2020-workload-aggregate}/README.adoc (50%) create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/defaults/main.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/codeready.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/knative.yml rename deploy/agnosticd/ansible/roles/{ocp-workload-mssql => ocp4-summit2020-workload-aggregate}/tasks/main.yml (100%) create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/open_data_hub.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/per_user_workload.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pipelines.yml rename deploy/agnosticd/ansible/roles/{ocp4-workload-upgrade-cluster => ocp4-summit2020-workload-aggregate}/tasks/post_workload.yml (52%) create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/postgresql.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pre_workload.yml rename deploy/agnosticd/ansible/roles/{ocp4-workload-noobaa => ocp4-summit2020-workload-aggregate}/tasks/remove_workload.yml (80%) create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/serverless.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/storage.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/user_project.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/workload.yml create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/cluster.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/subscription.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/namespace.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/operator_group.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/odh-configmap.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/opendatahub.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/subscription.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/pipelines/subscription.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/postgresql/subscription.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/knative.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/subscription.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/noobaa_system.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_backingstore.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_bucketclass.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_objectbucketclaim.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/storagecluster.yml.j2 create mode 100644 deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/subscription.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-workload-operator-mssql/README.adoc b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/README.adoc similarity index 50% rename from deploy/agnosticd/ansible/roles/ocp4-workload-operator-mssql/README.adoc rename to deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/README.adoc index e3a4ad4..8c6c78e 100644 --- a/deploy/agnosticd/ansible/roles/ocp4-workload-operator-mssql/README.adoc +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/README.adoc @@ -1,40 +1,30 @@ -= MsSQL Operator += NooBaa Workload -== Deploying MsSQL Operator workload +This workload deploys and configures NooBaa operator on OpenShift 4 cluster. +== Deploy the workload [source, bash] ---- ansible-playbook -i "bastion.${GUID}.${BASE_DOMAIN}", ./ansible/configs/ocp-workloads/ocp-workload.yml \ -e"ansible_ssh_private_key_file=${ANSIBLE_USER_KEY_FILE}" \ -e"ansible_user=${ANSIBLE_USER}" \ - -e"ocp_workload=ocp4-workload-operator-mssql" \ + -e"ocp_workload=ocp-workload-ocs-operator" \ -e"silent=False" \ -e"ACTION=create" \ -e @./secret.yaml \ <1> -e @./workload_vars.yaml <2> ---- -<1> This is the same file you used while deploying OCP cluster using agnosticd. Optionally, include sensitive workload variables here. -<2> This file contains all the variables required by the workload. +<1> This is the same file you used while deploying OCP cluster using agnosticd. Your AWS credentials go in this file -=== Variables - -[source, yaml] ----- -mssql_private_img_registry: -mssql_private_img_registry_user: -mssql_private_img_registry_pass: ----- - -=== Delete MsSQL Operator workload - -[source, bash] +== Delete the workload ---- ansible-playbook -i "bastion.${GUID}.${BASE_DOMAIN}", ./ansible/configs/ocp-workloads/ocp-workload.yml \ -e"ansible_ssh_private_key_file=${ANSIBLE_USER_KEY_FILE}" \ - -e"ansible_user=${ANSIBLE_USER}" \ - -e"ocp_workload=ocp-workload-operator-mssql" \ + -e"ansible_user=${ANSIBLE_USER}" \ + -e"ocp_workload=ocp-workload-ocs-operator" \ -e"silent=False" \ -e"ACTION=remove" \ - -e @./secret.yaml \ - -e @./workload_vars.yaml ----- \ No newline at end of file + -e @./secret.yaml \ <1> + -e @./workload_vars.yaml <2> +---- +<1> This is the same file you used while deploying OCP cluster using agnosticd. Your AWS credentials go in this file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/defaults/main.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/defaults/main.yml new file mode 100644 index 0000000..c687b16 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/defaults/main.yml @@ -0,0 +1,84 @@ +ocs_expected_crds: +- backingstores.noobaa.io +- bucketclasses.noobaa.io +- noobaas.noobaa.io +- objectbucketclaims.objectbucket.io +ocs_channel: stable-4.2 +ocs_install_mcg: true +ocs_mcg_core_cpu: 0.5 +ocs_mcg_core_mem: 500Mi +ocs_mcg_db_cpu: 0.5 +ocs_mcg_db_mem: 1Gi +ocs_ceph_mds_cpu: 0.5 +ocs_ceph_mds_mem: 1Gi +ocs_ceph_mon_cpu: 0.5 +ocs_ceph_mon_mem: 1Gi +ocs_ceph_mgr_cpu: 0.5 +ocs_ceph_mgr_mem: 1Gi +ocs_ceph_osd_cpu: 0.5 +ocs_ceph_osd_mem: 1Gi +ocs_mcg_pv_pool: true +ocs_mcg_pv_pool_bucket_name: mcg +ocs_mcg_pv_pool_pv_size: 50Gi +ocs_mcg_pv_pool_pv_quantity: 3 +ocs_mcg_pv_pool_pv_storageclass: gp2 +ocs_namespace: openshift-storage +ocs_release: v4.2.2 +ocs_operator_workload_destroy: "{{ False if (ACTION=='create' or ACTION=='provision') else True }}" +silent: false + +# Command separated string list each git repo url to preload on the notebook pod when it spawns +workshop_preload_repos: "https://github.com/willb/ml-workflows-notebook" + +och_project: open-data-hub +user_project: user +workload_destroy: false + +och_expected_crds: +- opendatahubs.opendatahub.io + +knative_expected_crds: +- knativeservings.operator.knative.dev + +install_storage: false +install_open_data_hub: true +install_postgres: false +install_codeready: false +install_knative: true +install_pipelines: true + +# The first user number to start with when creating projects +user_count_start: 1 +# The last user number to start with when creating projects +user_count_end: "{{user_count_start|int + num_users|int}}" + +# Amount of memory for the JupyterHub server +jupyterhub_memory: "1Gi" +# Amount of memory for the spawned Jupyter Notebook pods +jupyter_notebook_memory: "4Gi" + +# Image to use for the Spark Cluster +spark_node_image: "quay.io/llasmith/openshift-spark:spark-2.3.2_hadoop-2.8.5" +# Number of Spark master nodes +spark_master_count: 1 +# Number of Spark worker nodes +spark_worker_count: 2 +# Amount of memory to allocate to each Spark node. This amount will be used for master AND worker nodes +spark_node_memory: "4Gi" +# Amount of cpu to allocate to each Spark node. This amount will be used for master AND worker nodes +spark_node_cpu: 1 + +# Path to append to env var PYTHONPATH for pyspark module +spark_pythonpath: "/opt/app-root/lib/python3.6/site-packages/pyspark/python/:/opt/app-root/lib/python3.6/site-packages/pyspark/python/lib/py4j-0.10.7-src.zip" +# PySpark submit args to be set as the env var SPARK_SUBMIT_ARGS +spark_submit_args: "--conf spark.cores.max=1 --conf spark.executor.instances=1 --conf spark.executor.memory=4G --conf spark.executor.cores=1 --conf spark.driver.memory=2G --packages com.amazonaws:aws-java-sdk:1.8.0,org.apache.hadoop:hadoop-aws:2.8.5 pyspark-shell" + +jupyterhub_image_registry: 'quay.io' +jupyterhub_image_repository: 'odh-jupyterhub' + +# Custom notebook image source that will be used for the workshop +workshop_jupyter_notebook_imagestream_image: "quay.io/willbenton/jh-ml-workflows-notebook:devconf-us-2019" +# Imagestream name for the custom workshop image +workshop_jupyter_notebook_imagestream_name: "ml-workflows-notebook" +# Imagestream tag for the custom workshop image +workshop_jupyter_notebook_imagestream_tag: "latest" \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/codeready.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/codeready.yml new file mode 100644 index 0000000..109524f --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/codeready.yml @@ -0,0 +1,14 @@ +--- +- name: "Create Subscription" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'codeready/subscription.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +- name: "Create Cluster" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'codeready/cluster.yml.j2') }}" + vars: + namespace: "{{ user_project }}" \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/knative.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/knative.yml new file mode 100644 index 0000000..18969f0 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/knative.yml @@ -0,0 +1,21 @@ +--- +- name: "Create Subscription" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'serverless/subscription.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +- name: "Create Namespace" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'general/namespace.yml.j2') }}" + vars: + namespace: knative-serving + +- name: "Create Knative" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'serverless/knative.yml.j2') }}" + vars: + namespace: knative-serving \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp-workload-mssql/tasks/main.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/main.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp-workload-mssql/tasks/main.yml rename to deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/main.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/open_data_hub.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/open_data_hub.yml new file mode 100644 index 0000000..61d154c --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/open_data_hub.yml @@ -0,0 +1,61 @@ +--- +- name: "Create Open Data Hub subscription in project {{ user_project }}" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'open-data-hub/subscription.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +- name: "Create ODH Config Map configuration in {{ user_project }}" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'open-data-hub/odh-configmap.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +- name: "Create Jupyter Single User Profile Config Map for Student User {{ user_name }} in project {{ user_name }}" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + suffix: "{{ user_name }}" + +- name: "Create Jupyter Single User Profile Config Map for Admin in project {{ user_project }}" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + suffix: opentlc-mgr + +- name: "Wait for Open Data Hub CRD's to exist" + k8s_facts: + api_version: "apiextensions.k8s.io/v1beta1" + kind: CustomResourceDefinition + name: "{{ item }}" + loop: "{{ och_expected_crds }}" + register: crds + until: crds.resources|length > 0 + retries: 30 + delay: 10 + + +- name: "Create the ImageStream for the notebook used in this workshop" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'open-data-hub/workshop-notebook.imagestream.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +- name: "Create Open Data Hub" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'open-data-hub/opendatahub.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +- name: Open Data Hub tasks complete + debug: + msg: "Open Data Hub Tasks completed successfully." + when: not silent|bool diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/per_user_workload.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/per_user_workload.yml new file mode 100644 index 0000000..eff813a --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/per_user_workload.yml @@ -0,0 +1,27 @@ +--- +- set_fact: + user_name: "user{{ user_num }}" + +- set_fact: + user_project: "opendatahub-{{user_name}}" + +- name: Setting up user project + import_tasks: ./user_project.yml + become: false + when: ACTION == "create" or ACTION == "provision" + +- name: Installing Open Data Hub + import_tasks: ./open_data_hub.yml + become: false + when: (ACTION == "create" or ACTION == "provision") and install_open_data_hub + +- name: Installing Postgresql + import_tasks: ./postgresql.yml + become: false + when: (ACTION == "create" or ACTION == "provision") and install_postgres + +- name: Installing CodeReady Workspaces + import_tasks: ./codeready.yml + become: false + when: (ACTION == "create" or ACTION == "provision") and install_codeready + diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pipelines.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pipelines.yml new file mode 100644 index 0000000..f2c1d57 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pipelines.yml @@ -0,0 +1,5 @@ +--- +- name: "Create Pipelines Subscription" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'pipelines/subscription.yml.j2') }}" diff --git a/deploy/agnosticd/ansible/roles/ocp4-workload-upgrade-cluster/tasks/post_workload.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/post_workload.yml similarity index 52% rename from deploy/agnosticd/ansible/roles/ocp4-workload-upgrade-cluster/tasks/post_workload.yml rename to deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/post_workload.yml index d3a8a4b..0fbbd1e 100644 --- a/deploy/agnosticd/ansible/roles/ocp4-workload-upgrade-cluster/tasks/post_workload.yml +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/post_workload.yml @@ -1,8 +1,6 @@ --- -# Implement your Post Workload deployment tasks here - # Leave this as the last task in the playbook. - name: post_workload tasks complete debug: - msg: "Post-Workload Tasks completed successfully." + msg: "Post-Workload tasks completed successfully." when: not silent|bool diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/postgresql.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/postgresql.yml new file mode 100644 index 0000000..4c5ff77 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/postgresql.yml @@ -0,0 +1,15 @@ +--- + +- name: "Create Postgresql Subscription" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'postgresql/subscription.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +# TODO: set up Postgresql + +- name: Postgres tasks complete + debug: + msg: "Open Data Hub Tasks completed successfully." + when: not silent|bool diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pre_workload.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pre_workload.yml new file mode 100644 index 0000000..3534925 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pre_workload.yml @@ -0,0 +1,20 @@ +--- +- name: Set state + set_fact: + state: present + when: not workload_destroy|bool + +- name: Set state + set_fact: + state: absent + when: workload_destroy|bool + +- name: Install OpenShift module + shell: pip3 install openshift + become: true + +# Leave this as the last task in the playbook. +- name: pre_workload tasks complete + debug: + msg: "Pre-Workload tasks completed successfully." + when: not silent|bool diff --git a/deploy/agnosticd/ansible/roles/ocp4-workload-noobaa/tasks/remove_workload.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/remove_workload.yml similarity index 80% rename from deploy/agnosticd/ansible/roles/ocp4-workload-noobaa/tasks/remove_workload.yml rename to deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/remove_workload.yml index 7ec80f8..42bdf67 100644 --- a/deploy/agnosticd/ansible/roles/ocp4-workload-noobaa/tasks/remove_workload.yml +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/remove_workload.yml @@ -6,4 +6,4 @@ - "./workload.yml" - "./post_workload.yml" vars: - noobaa_workload_destroy: yes \ No newline at end of file + ocs_operator_workload_destroy: yes diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/serverless.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/serverless.yml new file mode 100644 index 0000000..7d7e1b5 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/serverless.yml @@ -0,0 +1,30 @@ +--- +- name: "Create Knative Subscription" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'serverless/subscription.yml.j2') }}" + +- name: "Create 'knative-serving' Project" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'general/namespace.yml.j2') }}" + vars: + namespace: knative-serving + +- name: "Wait for Knative CRD's to exist" + k8s_facts: + api_version: "apiextensions.k8s.io/v1beta1" + kind: CustomResourceDefinition + name: "{{ item }}" + loop: "{{ och_expected_crds }}" + register: crds + until: crds.resources|length > 0 + retries: 30 + delay: 10 + +- name: "Create Knative instance" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'serverless/knative.yml.j2') }}" + vars: + namespace: knative-serving diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/storage.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/storage.yml new file mode 100644 index 0000000..5250a70 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/storage.yml @@ -0,0 +1,139 @@ +--- + +- name: Discovering worker nodes + k8s_info: + api_version: v1 + kind: Node + label_selectors: + - node-role.kubernetes.io/worker + register: worker_nodes + +- fail: + msg: "Less than 3 worker nodes detected. Cannot install Ceph..." + when: worker_nodes.resources | length < 3 + +- set_fact: + ceph_worker_nodes: "{{ worker_nodes | json_query('resources[*].metadata.name') }}" + +- name: "Adding Ceph labels to worker nodes" + shell: "oc label nodes --overwrite {{ item }} cluster.ocs.openshift.io/openshift-storage=''" + loop: "{{ ceph_worker_nodes }}" + +- name: Set state + set_fact: + state: present + when: not ocs_operator_workload_destroy|bool + +- name: Set state + set_fact: + state: absent + when: ocs_operator_workload_destroy|bool + +- name: "Create Namespace" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'general/namespace.yml.j2') }}" + vars: + namespace: "{{ ocs_namespace }}" + +- name: "Create OperatorGroup" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'general/operator_group.yml.j2') }}" + vars: + namespace: " {{ ocs_namespace }} " + +- name: "Create Subscription" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'storage/subscription.yml.j2') }}" + vars: + namespace: " {{ ocs_namespace }} " + channel: " {{ ocs_channel }}" + +- name: "Wait for Storage CRD's to exist" + k8s_facts: + api_version: "apiextensions.k8s.io/v1beta1" + kind: CustomResourceDefinition + name: "{{ item }}" + loop: "{{ ocs_expected_crds }}" + register: crds + until: crds.resources|length > 0 + retries: 30 + delay: 10 + +- name: "Create OCS Storage cluster" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'storage/storagecluster.yml.j2') }}" + +- name: "Waiting for Noobaa to become ready" + k8s_facts: + api_version: "noobaa.io/v1alpha1" + kind: NooBaa + namespace: "{{ ocs_namespace }}" + register: noobaa_system_status + retries: 60 + delay: 10 + until: noobaa_system_status.resources|length > 0 and + noobaa_system_status.resources[0].status is defined and + noobaa_system_status.resources[0].status.phase == 'Ready' + ignore_errors: true + +- when: ocs_install_mcg + block: + - when: ocs_mcg_pv_pool + block: + - name: "Create PV Pool BackingStore" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'storage/pv_pool_backingstore.yml.j2') }}" + + - name: "Create PV Pool BucketClass" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'storage/pv_pool_bucketclass.yml.j2') }}" + + - name: "Create PV Pool ObjectBucketClaim" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'storage/pv_pool_objectbucketclaim.yml.j2') }}" + + - name: "Wait for Bucket to exist" + k8s_facts: + api_version: "objectbucket.io/v1alpha1" + kind: ObjectBucketClaim + name: "{{ ocs_mcg_pv_pool_bucket_name }}" + namespace: "{{ ocs_namespace }}" + register: bucket + until: (bucket.resources|length) > 0 + retries: 30 + delay: 10 + + - name: "Wait for Bucket to have status" + k8s_facts: + api_version: "objectbucket.io/v1alpha1" + kind: ObjectBucketClaim + name: "{{ ocs_mcg_pv_pool_bucket_name }}" + namespace: "{{ ocs_namespace }}" + register: bucket + until: (bucket.resources|first).status is defined + retries: 30 + delay: 10 + + - name: "Wait for Bucket to become bound" + k8s_facts: + api_version: "objectbucket.io/v1alpha1" + kind: ObjectBucketClaim + name: "{{ ocs_mcg_pv_pool_bucket_name }}" + namespace: "{{ ocs_namespace }}" + register: bucket + until: (bucket.resources|first).status.phase == "Bound" + retries: 75 + delay: 10 + +# Leave this as the last task in the playbook. +- name: Storage tasks complete + debug: + msg: "Storage kload Tasks completed successfully." + when: not silent|bool diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/user_project.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/user_project.yml new file mode 100644 index 0000000..b53e9c7 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/user_project.yml @@ -0,0 +1,49 @@ +--- + +- name: "Create Namespace {{user_project}} " + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'general/namespace.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +- name: "Create OperatorGroup in project '{{user_project}}'" + k8s: + state: "{{ state }}" + definition: "{{ lookup('template', 'general/operator_group.yml.j2') }}" + vars: + namespace: "{{ user_project }}" + +- name: "Make '{{ user_name }}' project admin in '{{user_project}}'" + k8s: + state: present + definition: + kind: RoleBinding + apiVersion: rbac.authorization.k8s.io/v1 + metadata: + name: "admin-{{ user_name }}" + namespace: "{{ user_project }}" + subjects: + - kind: User + name: "{{ user_name }}" + roleRef: + kind: ClusterRole + name: admin + apiGroup: rbac.authorization.k8s.io + +- name: "Make '{{ user_name }}' an Open Data Hub administrator " + k8s: + state: present + definition: + kind: RoleBinding + apiVersion: rbac.authorization.k8s.io/v1 + metadata: + name: "opendatahub-admin-{{ user_name }}" + namespace: "{{ user_project }}" + subjects: + - kind: User + name: "{{ user_name }}" + roleRef: + kind: ClusterRole + name: opendatahub-admin + apiGroup: rbac.authorization.k8s.io \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/workload.yml b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/workload.yml new file mode 100644 index 0000000..68ff75e --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/workload.yml @@ -0,0 +1,27 @@ +--- + +- name: Installing Storage + import_tasks: ./storage.yml + become: false + when: install_storage + +- include_tasks: per_user_workload.yml + loop: "{{ range(user_count_start|int, user_count_end|int)|list }}" + loop_control: + loop_var: user_num + +- name: Installing Pipelines + import_tasks: ./pipelines.yml + become: false + when: ACTION == "create" or ACTION == "provision" + +- name: Installing Serverless + import_tasks: ./serverless.yml + become: false + when: ACTION == "create" or ACTION == "provision" + +# Leave this as the last task in the playbook. +- name: workload tasks complete + debug: + msg: "Workload Tasks completed successfully." + when: not silent|bool diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/cluster.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/cluster.yml.j2 new file mode 100644 index 0000000..2f52cac --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/cluster.yml.j2 @@ -0,0 +1,31 @@ +apiVersion: org.eclipse.che/v1 +kind: CheCluster +metadata: + name: codeready-workspaces + namespace: {{namespace}} +spec: + server: + cheImageTag: '' + cheFlavor: codeready + devfileRegistryImage: '' + pluginRegistryImage: '' + tlsSupport: false + selfSignedCert: false + database: + externalDb: false + chePostgresHostName: '' + chePostgresPort: '' + chePostgresUser: '' + chePostgresPassword: '' + chePostgresDb: '' + auth: + openShiftoAuth: true + identityProviderImage: '' + externalIdentityProvider: false + identityProviderURL: '' + identityProviderRealm: '' + identityProviderClientId: '' + storage: + pvcStrategy: per-workspace + pvcClaimSize: 1Gi + preCreateSubPaths: true \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/subscription.yml.j2 new file mode 100644 index 0000000..9013610 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/subscription.yml.j2 @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: codeready-workspaces + namespace: {{ namespace }} +spec: + channel: latest + installPlanApproval: Automatic + name: codeready-workspaces + source: redhat-operators + sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/namespace.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/namespace.yml.j2 new file mode 100644 index 0000000..4fc9252 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/namespace.yml.j2 @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: {{ namespace }} diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/operator_group.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/operator_group.yml.j2 new file mode 100644 index 0000000..da50956 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/operator_group.yml.j2 @@ -0,0 +1,8 @@ +apiVersion: operators.coreos.com/v1alpha2 +kind: OperatorGroup +metadata: + name: {{ namespace }} + namespace: {{ namespace }} +spec: + targetNamespaces: + - {{ namespace }} \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 new file mode 100644 index 0000000..f040ee0 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 @@ -0,0 +1,14 @@ +apiVersion: v1 +data: + profile: | + env: + JUPYTER_PRELOAD_REPOS: "{{ workshop_preload_repos }}" + gpu: '0' + last_selected_image: s2i-spark-scipy-notebook:3.6 + last_selected_size: None +kind: ConfigMap +metadata: + labels: + app: jupyterhub + name: jupyterhub-singleuser-profile-{{ suffix }} + namespace: {{ namespace }} diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/odh-configmap.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/odh-configmap.yml.j2 new file mode 100644 index 0000000..90e24ed --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/odh-configmap.yml.j2 @@ -0,0 +1,14 @@ +apiVersion: v1 +data: + profile: | + env: + JUPYTER_PRELOAD_REPOS: "{{ workshop_preload_repos }}" + gpu: '0' + last_selected_image: s2i-spark-scipy-notebook:3.6 + last_selected_size: None +kind: ConfigMap +metadata: + labels: + app: jupyterhub + name: jupyterhub-spark-operator-configmap + namespace: {{ namespace }} diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/opendatahub.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/opendatahub.yml.j2 new file mode 100644 index 0000000..67ddbef --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/opendatahub.yml.j2 @@ -0,0 +1,30 @@ +apiVersion: opendatahub.io/v1alpha1 +kind: OpenDataHub +metadata: + name: example-opendatahub + namespace: {{ namespace }} +spec: + aicoe-jupyterhub: + odh_deploy: true + notebook_memory: "{{ jupyter_notebook_memory }}" + notebook_image: "{{workshop_jupyter_notebook_imagestream_name}}:{{workshop_jupyter_notebook_imagestream_tag}}" + registry: "{{ jupyterhub_image_registry }}" + repository: "{{ jupyterhub_image_repository }}" + storage_class: 'gp2' + db_memory: 1Gi + jupyterhub_memory: "{{ jupyterhub_memory }}" + s3_endpoint_url: "{{ rgw_endpoint_url }}" + + spark_worker_nodes: "{{ spark_worker_count }}" + spark_master_nodes: "{{ spark_master_count }}" + spark_memory: "{{ spark_node_memory }}" + spark_cpu: "{{ spark_node_cpu }}" + spark_image: "{{ spark_node_image }}" + spark_pyspark_submit_args: "{{ spark_submit_args }}" + spark_pythonpath: "/opt/app-root/lib/python3.6/site-packages/pyspark/python/:/opt/app-root/lib/python3.6/site-packages/pyspark/python/lib/py4j-0.10.7-src.zip" + spark-operator: + odh_deploy: false + monitoring: + odh_deploy: true + kafka: + odh_deploy: false diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/subscription.yml.j2 new file mode 100644 index 0000000..e5d96df --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/subscription.yml.j2 @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: opendatahub-operator + namespace: {{ namespace }} +spec: + channel: alpha + installPlanApproval: Automatic + name: opendatahub-operator + source: community-operators + sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 new file mode 100644 index 0000000..485297e --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 @@ -0,0 +1,16 @@ +apiVersion: image.openshift.io/v1 +kind: ImageStream +metadata: + # This a hack until we can include additional notebooks in the singleuser profile + name: "{{ workshop_jupyter_notebook_imagestream_name }}" + namespace: "{{ namespace }}" +spec: + lookupPolicy: + local: false + tags: + - from: + kind: DockerImage + name: "{{ workshop_jupyter_notebook_imagestream_image }}" + name: "{{ workshop_jupyter_notebook_imagestream_tag }}" + referencePolicy: + type: Source diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/pipelines/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/pipelines/subscription.yml.j2 new file mode 100644 index 0000000..c32cb84 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/pipelines/subscription.yml.j2 @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: openshift-pipelines-operator + namespace: openshift-operators +spec: + channel: dev-preview + installPlanApproval: Automatic + name: openshift-pipelines-operator + source: community-operators + sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/postgresql/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/postgresql/subscription.yml.j2 new file mode 100644 index 0000000..d375f02 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/postgresql/subscription.yml.j2 @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: postgresql + namespace: {{ namespace }} +spec: + channel: stable + installPlanApproval: Automatic + name: postgresql + source: community-operators + sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/knative.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/knative.yml.j2 new file mode 100644 index 0000000..16ef6ed --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/knative.yml.j2 @@ -0,0 +1,43 @@ +apiVersion: operator.knative.dev/v1alpha1 +kind: KnativeServing +metadata: + name: knative-serving + namespace: {{namespace}} +spec: + config: + autoscaler: + container-concurrency-target-default: '100' + container-concurrency-target-percentage: '1.0' + enable-scale-to-zero: 'true' + max-scale-up-rate: '10' + panic-threshold-percentage: '200.0' + panic-window: 6s + panic-window-percentage: '10.0' + scale-to-zero-grace-period: 30s + stable-window: 60s + tick-interval: 2s + defaults: + revision-cpu-limit: 1000m + revision-cpu-request: 400m + revision-memory-limit: 200M + revision-memory-request: 100M + revision-timeout-seconds: '300' + deployment: + registriesSkippingTagResolving: 'ko.local,dev.local' + gc: + stale-revision-create-delay: 24h + stale-revision-lastpinned-debounce: 5h + stale-revision-minimum-generations: '1' + stale-revision-timeout: 15h + logging: + loglevel.activator: info + loglevel.autoscaler: info + loglevel.controller: info + loglevel.queueproxy: info + loglevel.webhook: info + observability: + logging.enable-var-log-collection: 'false' + metrics.backend-destination: prometheus + tracing: + backend: none + sample-rate: '0.1' \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/subscription.yml.j2 new file mode 100644 index 0000000..33d3f93 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/subscription.yml.j2 @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: serverless-operator + namespace: openshift-operators +spec: + channel: techpreview + installPlanApproval: Automatic + name: serverless-operator + source: redhat-operators + sourceNamespace: openshift-marketplace \ No newline at end of file diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/noobaa_system.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/noobaa_system.yml.j2 new file mode 100644 index 0000000..589b414 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/noobaa_system.yml.j2 @@ -0,0 +1,14 @@ +apiVersion: noobaa.io/v1alpha1 +kind: NooBaa +metadata: + name: noobaa + namespace: {{ ocs_namespace }} +spec: + dbResources: + requests: + cpu: {{ ocs_mcg_db_cpu }} + memory: {{ ocs_mcg_db_mem }} + coreResources: + requests: + cpu: {{ ocs_mcg_core_cpu }} + memory: {{ ocs_mcg_core_mem }} diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_backingstore.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_backingstore.yml.j2 new file mode 100644 index 0000000..e98699e --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_backingstore.yml.j2 @@ -0,0 +1,17 @@ +apiVersion: noobaa.io/v1alpha1 +kind: BackingStore +metadata: + finalizers: + - noobaa.io/finalizer + labels: + app: noobaa + name: mcg-pv-pool-bs + namespace: {{ ocs_namespace }} +spec: + pvPool: + numVolumes: {{ ocs_mcg_pv_pool_pv_quantity }} + resources: + requests: + storage: {{ ocs_mcg_pv_pool_pv_size }} + storageClass: {{ ocs_mcg_pv_pool_pv_storageclass }} + type: pv-pool diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_bucketclass.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_bucketclass.yml.j2 new file mode 100644 index 0000000..32af541 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_bucketclass.yml.j2 @@ -0,0 +1,13 @@ +apiVersion: noobaa.io/v1alpha1 +kind: BucketClass +metadata: + labels: + app: noobaa + name: mcg-pv-pool-bc + namespace: {{ ocs_namespace }} +spec: + placementPolicy: + tiers: + - backingStores: + - mcg-pv-pool-bs + placement: Spread diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_objectbucketclaim.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_objectbucketclaim.yml.j2 new file mode 100644 index 0000000..cafa61d --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_objectbucketclaim.yml.j2 @@ -0,0 +1,10 @@ +apiVersion: objectbucket.io/v1alpha1 +kind: ObjectBucketClaim +metadata: + name: {{ ocs_mcg_pv_pool_bucket_name }} + namespace: {{ ocs_namespace }} +spec: + bucketName: migstorage + storageClassName: {{ ocs_namespace }}.noobaa.io + additionalConfig: + bucketclass: mcg-pv-pool-bc diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/storagecluster.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/storagecluster.yml.j2 new file mode 100644 index 0000000..6191de6 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/storagecluster.yml.j2 @@ -0,0 +1,47 @@ +apiVersion: ocs.openshift.io/v1 +kind: StorageCluster +metadata: + namespace: {{ ocs_namespace }} + name: ocs-storagecluster +spec: + manageNodes: false + resources: + mon: + requests: + cpu: {{ ocs_ceph_mon_cpu }} + memory: {{ ocs_ceph_mon_mem }} + mds: + requests: + cpu: {{ ocs_ceph_mds_cpu }} + memory: {{ ocs_ceph_mds_mem }} + mgr: + requests: + cpu: {{ ocs_ceph_mgr_cpu }} + memory: {{ ocs_ceph_mgr_mem }} + noobaa-core: + requests: + cpu: {{ ocs_mcg_core_cpu }} + memory: {{ ocs_mcg_core_mem }} + noobaa-db: + requests: + cpu: {{ ocs_mcg_db_cpu }} + memory: {{ ocs_mcg_db_mem }} + storageDeviceSets: + - name: ocs-deviceset + count: 1 + replica: 3 + resources: + requests: + cpu: {{ ocs_ceph_osd_cpu }} + memory: {{ ocs_ceph_osd_mem }} + placement: {} + dataPVCTemplate: + spec: + storageClassName: gp2 + accessModes: + - ReadWriteOnce + volumeMode: Block + resources: + requests: + storage: 2Ti + portable: true diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/subscription.yml.j2 new file mode 100644 index 0000000..c552b90 --- /dev/null +++ b/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/subscription.yml.j2 @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: ocs-operator + namespace: {{ namespace }} +spec: + channel: {{ ocs_channel }} + installPlanApproval: Automatic + name: ocs-operator + source: redhat-operators + sourceNamespace: openshift-marketplace + startingCSV: ocs-operator.{{ ocs_release }} From 161f24b62a7a3f70804ad8143b1a981876fb0c68 Mon Sep 17 00:00:00 2001 From: Marius Bogoevici <159684+mbogoevici@users.noreply.github.com> Date: Tue, 31 Mar 2020 16:43:56 -0400 Subject: [PATCH 2/4] Renamed role to `ocp4-workload-ml-workflows-infra-summit2020` Signed-off-by: Marius Bogoevici <159684+mbogoevici@users.noreply.github.com> --- .../README.adoc | 0 .../defaults/main.yml | 0 .../tasks/codeready.yml | 0 .../tasks/knative.yml | 0 .../tasks/main.yml | 0 .../tasks/open_data_hub.yml | 0 .../tasks/per_user_workload.yml | 0 .../tasks/pipelines.yml | 0 .../tasks/post_workload.yml | 0 .../tasks/postgresql.yml | 0 .../tasks/pre_workload.yml | 9 ++++++--- .../tasks/remove_workload.yml | 0 .../tasks/serverless.yml | 0 .../tasks/storage.yml | 0 .../tasks/user_project.yml | 0 .../tasks/workload.yml | 0 .../templates/codeready/cluster.yml.j2 | 0 .../templates/codeready/subscription.yml.j2 | 0 .../templates/general/namespace.yml.j2 | 0 .../templates/general/operator_group.yml.j2 | 0 .../jupyterhub-single-user-profile-user.configmap.yml.j2 | 0 .../templates/open-data-hub/odh-configmap.yml.j2 | 0 .../templates/open-data-hub/opendatahub.yml.j2 | 0 .../templates/open-data-hub/subscription.yml.j2 | 0 .../open-data-hub/workshop-notebook.imagestream.yml.j2 | 0 .../templates/pipelines/subscription.yml.j2 | 0 .../templates/postgresql/subscription.yml.j2 | 0 .../templates/serverless/knative.yml.j2 | 0 .../templates/serverless/subscription.yml.j2 | 0 .../templates/storage/noobaa_system.yml.j2 | 0 .../templates/storage/pv_pool_backingstore.yml.j2 | 0 .../templates/storage/pv_pool_bucketclass.yml.j2 | 0 .../templates/storage/pv_pool_objectbucketclaim.yml.j2 | 0 .../templates/storage/storagecluster.yml.j2 | 0 .../templates/storage/subscription.yml.j2 | 0 35 files changed, 6 insertions(+), 3 deletions(-) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/README.adoc (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/defaults/main.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/codeready.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/knative.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/main.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/open_data_hub.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/per_user_workload.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/pipelines.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/post_workload.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/postgresql.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/pre_workload.yml (72%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/remove_workload.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/serverless.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/storage.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/user_project.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/tasks/workload.yml (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/codeready/cluster.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/codeready/subscription.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/general/namespace.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/general/operator_group.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/open-data-hub/odh-configmap.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/open-data-hub/opendatahub.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/open-data-hub/subscription.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/pipelines/subscription.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/postgresql/subscription.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/serverless/knative.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/serverless/subscription.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/storage/noobaa_system.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/storage/pv_pool_backingstore.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/storage/pv_pool_bucketclass.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/storage/pv_pool_objectbucketclaim.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/storage/storagecluster.yml.j2 (100%) rename deploy/agnosticd/ansible/roles/{ocp4-summit2020-workload-aggregate => ocp4-workload-ml-workflows-infra-summit2020}/templates/storage/subscription.yml.j2 (100%) diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/README.adoc b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/README.adoc similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/README.adoc rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/README.adoc diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/defaults/main.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/defaults/main.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/defaults/main.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/defaults/main.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/codeready.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/codeready.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/codeready.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/codeready.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/knative.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/knative.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/knative.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/knative.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/main.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/main.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/main.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/main.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/open_data_hub.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/open_data_hub.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/open_data_hub.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/open_data_hub.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/per_user_workload.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/per_user_workload.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/per_user_workload.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/per_user_workload.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pipelines.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/pipelines.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pipelines.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/pipelines.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/post_workload.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/post_workload.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/post_workload.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/post_workload.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/postgresql.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/postgresql.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/postgresql.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/postgresql.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pre_workload.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/pre_workload.yml similarity index 72% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pre_workload.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/pre_workload.yml index 3534925..48fac28 100644 --- a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/pre_workload.yml +++ b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/pre_workload.yml @@ -9,9 +9,12 @@ state: absent when: workload_destroy|bool -- name: Install OpenShift module - shell: pip3 install openshift - become: true +- name: Verify python-openshift installed + yum: + name: python-openshift + state: present + become: yes + become_method: sudo # Leave this as the last task in the playbook. - name: pre_workload tasks complete diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/remove_workload.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/remove_workload.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/remove_workload.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/remove_workload.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/serverless.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/serverless.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/serverless.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/serverless.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/storage.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/storage.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/storage.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/storage.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/user_project.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/user_project.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/user_project.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/user_project.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/workload.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/workload.yml similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/tasks/workload.yml rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/workload.yml diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/cluster.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/codeready/cluster.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/cluster.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/codeready/cluster.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/codeready/subscription.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/codeready/subscription.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/codeready/subscription.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/namespace.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/general/namespace.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/namespace.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/general/namespace.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/operator_group.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/general/operator_group.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/general/operator_group.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/general/operator_group.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/jupyterhub-single-user-profile-user.configmap.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/odh-configmap.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/odh-configmap.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/odh-configmap.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/odh-configmap.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/opendatahub.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/opendatahub.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/opendatahub.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/opendatahub.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/subscription.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/subscription.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/subscription.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/open-data-hub/workshop-notebook.imagestream.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/pipelines/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/pipelines/subscription.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/pipelines/subscription.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/pipelines/subscription.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/postgresql/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/postgresql/subscription.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/postgresql/subscription.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/postgresql/subscription.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/knative.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/serverless/knative.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/knative.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/serverless/knative.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/serverless/subscription.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/serverless/subscription.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/serverless/subscription.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/noobaa_system.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/noobaa_system.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/noobaa_system.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/noobaa_system.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_backingstore.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/pv_pool_backingstore.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_backingstore.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/pv_pool_backingstore.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_bucketclass.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/pv_pool_bucketclass.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_bucketclass.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/pv_pool_bucketclass.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_objectbucketclaim.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/pv_pool_objectbucketclaim.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/pv_pool_objectbucketclaim.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/pv_pool_objectbucketclaim.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/storagecluster.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/storagecluster.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/storagecluster.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/storagecluster.yml.j2 diff --git a/deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/subscription.yml.j2 b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/subscription.yml.j2 similarity index 100% rename from deploy/agnosticd/ansible/roles/ocp4-summit2020-workload-aggregate/templates/storage/subscription.yml.j2 rename to deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/templates/storage/subscription.yml.j2 From 002dba5ff45322cc8a312c7fc7a8f51e8a0f0c4d Mon Sep 17 00:00:00 2001 From: Marius Bogoevici <159684+mbogoevici@users.noreply.github.com> Date: Fri, 3 Apr 2020 08:39:05 -0400 Subject: [PATCH 3/4] Update notebook preload repository Signed-off-by: Marius Bogoevici <159684+mbogoevici@users.noreply.github.com> --- .../defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/defaults/main.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/defaults/main.yml index c687b16..2776924 100644 --- a/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/defaults/main.yml +++ b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/defaults/main.yml @@ -28,7 +28,7 @@ ocs_operator_workload_destroy: "{{ False if (ACTION=='create' or ACTION=='provis silent: false # Command separated string list each git repo url to preload on the notebook pod when it spawns -workshop_preload_repos: "https://github.com/willb/ml-workflows-notebook" +workshop_preload_repos: "https://github.com/willb/fraud-notebooks" och_project: open-data-hub user_project: user From 77c9173c682a25250391dcaeac9f3089d6d607c4 Mon Sep 17 00:00:00 2001 From: Marius Bogoevici <159684+mbogoevici@users.noreply.github.com> Date: Fri, 3 Apr 2020 08:39:25 -0400 Subject: [PATCH 4/4] Also wait for Knative CRDs Signed-off-by: Marius Bogoevici <159684+mbogoevici@users.noreply.github.com> --- .../tasks/knative.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/knative.yml b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/knative.yml index 18969f0..0277781 100644 --- a/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/knative.yml +++ b/deploy/agnosticd/ansible/roles/ocp4-workload-ml-workflows-infra-summit2020/tasks/knative.yml @@ -6,6 +6,18 @@ vars: namespace: "{{ user_project }}" +- name: "Wait for Knative CRD's to exist" + k8s_facts: + api_version: "apiextensions.k8s.io/v1beta1" + kind: CustomResourceDefinition + name: "{{ item }}" + loop: "{{ knative_expected_crds }}" + register: crds + until: crds.resources|length > 0 + retries: 30 + delay: 10 + + - name: "Create Namespace" k8s: state: "{{ state }}"