Переглянути джерело

Adding files for telemetry and visualizations

Signed-off-by: sakshiarora13 <sakshi_arora1@dell.com>
sakshiarora13 3 роки тому
батько
коміт
de27fb6264

+ 35 - 0
telemetry/input_params/base_vars.yml

@@ -0,0 +1,35 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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.
+---
+
+# At this location all telemetry related files will be stored and
+# both timescale and mysql databases will be mounted.
+mount_location: /mnt/omnia/
+
+# This variable is used to enable iDRAC telemetry support and visualizations
+# Accepted values:  "true" or "false"
+idrac_telemetry_support: true
+
+# This variable is used to enable slurm telemetry support and visualizations
+# Pre-requisite: idrac_telemetry_support should be set to true
+# Accepted values:  "true" or "false"
+slurm_telemetry_support: true
+
+# Postgres DB with timescale extension is used for storing iDRAC and slurm telemetry metrics
+# This is the database name which stores these metrics.
+timescaledb_name: telemetry_metrics
+
+# MySQL DB is used to store IPs and credentials of iDRACs having datacenter license
+# This is the database name which stores this information
+mysqldb_name: idrac_telemetrysource_services_db

+ 39 - 0
telemetry/input_params/login_vars.yml

@@ -0,0 +1,39 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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.
+---
+
+# Username used for connecting to timescale db
+# The Length of the username should be at least 2 characters.
+# Required field
+timescaledb_user: postgres
+
+# Password used for connecting to timescale db
+# The Length of the password should be at least 2 characters.
+# Required field
+timescaledb_password: postgres
+
+# Username used for connecting to mysql db
+# The Length of the username should be at least 2 characters.
+# Required field
+mysqldb_user: mysql
+
+# Password used for connecting to mysql db
+# The Length of the password should be at least 2 characters.
+# Required field
+mysqldb_password: mysql
+
+# Password used for connecting to timescale db for root user
+# The Length of the password should be at least 2 characters.
+# Required field
+mysqldb_root_password: mysql

+ 78 - 0
telemetry/roles/common/tasks/k8s_secrets.yml

@@ -0,0 +1,78 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: namespace
+  kubernetes.core.k8s:
+    api_version: v1
+    kind: Namespace
+    name: "{{ namespace }}"
+    state: present
+
+- name: Encrypt timescaledb username
+  shell: |
+    set -o pipefail
+    echo -n "{{ timescaledb_user }}" | base64
+  register: timescaledb_user_encrypted
+  changed_when: false
+  no_log: true
+
+- name: Encrypt timescaledb password
+  shell: |
+    set -o pipefail
+    echo -n "{{ timescaledb_password }}" | base64
+  register: timescaledb_password_encrypted
+  changed_when: false
+  no_log: true
+
+- name: Encrypt mysqldb username
+  shell: |
+    set -o pipefail
+    echo -n "{{ mysqldb_user }}" | base64
+  register: mysqldb_user_encrypted
+  changed_when: false
+  no_log: true
+
+- name: Encrypt mysqldb password
+  shell: |
+    set -o pipefail
+    echo -n "{{ mysqldb_password }}" | base64
+  register: mysqldb_password_encrypted
+  changed_when: false
+  no_log: true
+
+- name: Encrypt mysqldb root password
+  shell: |
+    set -o pipefail
+    echo -n "{{ mysqldb_root_password }}" | base64
+  register: mysqldb_root_password_encrypted
+  changed_when: false
+  no_log: true
+
+- name: Kubernetes secrets
+  kubernetes.core.k8s:
+    state: present
+    definition:
+      apiVersion: v1
+      kind: Secret
+      metadata:
+        name: "{{ secrets_name }}"
+        namespace: "{{ namespace }}"
+      type: Opaque
+      data:
+        timescaledb_user: "{{ timescaledb_user_encrypted.stdout }}"
+        timescaledb_password: "{{ timescaledb_password_encrypted.stdout }}"
+        sqldb_user: "{{ mysqldb_user_encrypted.stdout }}"
+        sqldb_password: "{{ mysqldb_password_encrypted.stdout }}"
+        sqldb_root_password: "{{ mysqldb_root_password_encrypted.stdout }}"

+ 26 - 0
telemetry/roles/common/tasks/main.yml

@@ -0,0 +1,26 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Check pre-requisites for telemetry
+  include_tasks: pre-requisites.yml
+
+- name: Validate base_vars.yml
+  include_tasks: validate_base_vars.yml
+
+- name: Validate login_vars.yml
+  include_tasks: validate_login_vars.yml
+
+- name: Create k8s secrets for database credentials
+  include_tasks: k8s_secrets.yml

+ 57 - 0
telemetry/roles/common/tasks/pre-requisites.yml

@@ -0,0 +1,57 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Check existence of k8s on management station
+  block:
+    - name: Verify that kubernetes is installed
+      command: kubectl cluster-info
+      register: k8s_cluster_info
+      failed_when: "'running' not in k8s_cluster_info.stdout"
+      changed_when: false
+      no_log: true
+  rescue:
+    - name: Kubernetes needs to be installed
+      fail:
+        msg: "{{ k8s_installation_required }}"
+
+- name: Add kubernetes ansible-galaxy collection
+  command: ansible-galaxy collection install kubernetes.core
+  changed_when: false
+
+- name: Check that the base_vars.yml exists
+  stat:
+    path: "{{ base_vars_file }}"
+  register: stat_result
+
+- name: Fail if base vars file doesn't exist
+  fail:
+    msg: "{{ fail_msg_base_vars }}"
+  when: not stat_result.stat.exists
+
+- name: Check that the login_vars.yml exists
+  stat:
+    path: "{{ login_vars_file }}"
+  register: stat_result
+
+- name: Fail if login vars file doesn't exist
+  fail:
+    msg: "{{ fail_msg_login_vars }}"
+  when: not stat_result.stat.exists
+
+- name: Install openshift using pip3
+  pip:
+    name: openshift
+    state: present
+    executable: pip3

+ 71 - 0
telemetry/roles/common/tasks/validate_base_vars.yml

@@ -0,0 +1,71 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Include telemetry base vars file
+  include_vars: "{{ base_vars_file }}"
+  no_log: true
+
+- name: Create mount directory if it doesn't exist
+  block:
+    - name: Checking directory
+      stat:
+        path: "{{ mount_location }}"
+      register: stat_result
+
+    - name: Creating directory
+      file:
+        path: "{{ mount_location }}"
+        state: directory
+        mode: "{{ folder_perm }}"
+        group: root
+        owner: root
+      when: not stat_result.stat.exists
+
+- name: Assert idrac telemetry support
+  assert:
+    that:
+      - idrac_telemetry_support == true or idrac_telemetry_support == false
+    quiet: true
+    success_msg: "{{ idrac_telemetry_support_success_msg }}"
+    fail_msg: "{{ idrac_telemetry_support_fail_msg }}"
+
+- name: Assert slurm telemetry support
+  assert:
+    that:
+      - slurm_telemetry_support == true or slurm_telemetry_support == false
+    quiet: true
+    success_msg: "{{ slurm_telemetry_support_success_msg }}"
+    fail_msg: "{{ slurm_telemetry_support_fail_msg }}"
+
+- name: Assert slurm telemetry support
+  assert:
+    that:
+      - idrac_telemetry_support == true
+    quiet: true
+    success_msg: "{{ slurm_telemetry_idrac_support_success_msg }}"
+    fail_msg: "{{ slurm_telemetry_idrac_support_fail_msg }}"
+  when: slurm_telemetry_support is true
+
+- name: Assert timescale db name
+  assert:
+    that: timescaledb_name | length > 1
+    success_msg: "{{ timescaledb_success_msg }}"
+    fail_msg: "{{ timescaledb_fail_msg }}"
+
+- name: Assert mysql db name
+  assert:
+    that: mysqldb_name | length > 1
+    success_msg: "{{ mysqldb_success_msg }}"
+    fail_msg: "{{ mysqldb_fail_msg }}"

+ 84 - 0
telemetry/roles/common/tasks/validate_login_vars.yml

@@ -0,0 +1,84 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Check login_vars file is encrypted
+  command: cat {{ login_vars_file }}
+  changed_when: false
+  register: config_content
+  no_log: true
+
+- name: Decrpyt login_vars.yml
+  command: >-
+    ansible-vault decrypt {{ login_vars_file }}
+    --vault-password-file {{ vault_filename }}
+  changed_when: false
+  when: "'$ANSIBLE_VAULT;' in config_content.stdout"
+
+- name: Include variable file login_vars.yml
+  include_vars: "{{ login_vars_file }}"
+  no_log: true
+
+- name: Assert usernames and passwords in login_vars.yml
+  block:
+  - name: Assert timescaledb user name
+    assert:
+      that: timescaledb_user | length > 1
+    no_log: true
+
+  - name: Assert timescaledb user password
+    assert:
+      that: timescaledb_password | length > 1
+    no_log: true
+
+  - name: Assert mysqldb user name
+    assert:
+      that: mysqldb_user | length > 1
+    no_log: true
+
+  - name: Assert mysqldb user password
+    assert:
+      that: mysqldb_password | length > 1
+    no_log: true
+
+  - name: Assert mysqldb root user password
+    assert:
+      that: mysqldb_root_password | length > 1
+    no_log: true
+
+  rescue:
+    - name: Validation issue in login/vars.yml
+      fail:
+        msg: "{{ login_vars_fail_msg }}"
+
+- name: Create ansible vault key
+  set_fact:
+    vault_key: "{{ lookup('password', '/dev/null chars=ascii_letters') }}"
+  when: "'$ANSIBLE_VAULT;' not in config_content.stdout"
+
+- name: Save vault key
+  copy:
+    dest: "{{ vault_filename }}"
+    content: |
+      {{ vault_key }}
+    owner: root
+    force: yes
+    mode: "{{ vault_file_perm }}"
+  when: "'$ANSIBLE_VAULT;' not in config_content.stdout"
+
+- name: Encrypt input config file
+  command: >-
+    ansible-vault encrypt {{ login_vars_file }}
+    --vault-password-file {{ vault_filename }}
+  changed_when: false

+ 50 - 0
telemetry/roles/common/vars/main.yml

@@ -0,0 +1,50 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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.
+---
+
+k8s_installation_required: "Kubernetes installation is mandatory for telemetry.yml"
+
+base_vars_file: "{{ role_path }}/../../input_params/base_vars.yml"
+login_vars_file: "{{ role_path }}/../../input_params/login_vars.yml"
+vault_filename: "{{ role_path }}/../../input_params/.login_vault_key"
+
+fail_msg_base_vars: "telemetry/base_vars.yml file doesn't exist."
+fail_msg_login_vars: "telemetry/login_vars.yml file doesn't exist."
+
+folder_perm: 644
+vault_file_perm: '0644'
+
+idrac_telemetry_support_success_msg: "idrac_telemetry_support validated"
+idrac_telemetry_support_fail_msg: "Failed. idrac_telemetry_support only accepts boolean
+                                    values true or false"
+
+slurm_telemetry_support_success_msg: "slurm_telemetry_support validated"
+slurm_telemetry_support_fail_msg: "Failed. slurm_telemetry_support only accepts boolean
+                                    values true or false"
+
+slurm_telemetry_idrac_support_success_msg: "slurm and idrac telemetry are supported"
+slurm_telemetry_idrac_support_fail_msg: "slurm telemetry is supported only when
+                                      idrac_telemetry_support is true"
+
+timescaledb_success_msg: "Timescale DB name validated successfully"
+timescaledb_fail_msg: "Timescale DB name should have minimum length of 2"
+
+mysqldb_success_msg: "MySQL DB name validated successfully"
+mysqldb_fail_msg: "MySQL DB name should have minimum length of 2"
+
+login_vars_fail_msg: "usernames and passwords in input_params/login_vars.yml should have minimum length 2"
+
+namespace: telemetry-and-visualizations
+
+secrets_name: credentials

+ 32 - 0
telemetry/roles/timescaledb/tasks/main.yml

@@ -0,0 +1,32 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Create persistent volume for timescaledb
+  include_tasks: persistent_volume.yml
+
+- name: Create persistent volume claim for timescaledb
+  include_tasks: persistent_volume_claim.yml
+
+- name: Checkout iDRAC telemetry github repo
+  ansible.builtin.git:
+    repo: "{{ idrac_telemetry_github }}"
+    dest: "{{ mount_location + idrac_telemetry_folder_name }}"
+    version: master
+
+- name: Create timescaledb pod
+  include_tasks: timescaledb_pod.yml
+
+- name: Create service for timescale db
+  include_tasks: service.yml

+ 34 - 0
telemetry/roles/timescaledb/tasks/persistent_volume.yml

@@ -0,0 +1,34 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Persistent volume for timescale db
+  kubernetes.core.k8s:
+    state: present
+    definition:
+      apiVersion: v1
+      kind: PersistentVolume
+      metadata:
+        name: "{{ pv_name }}"
+        namespace: "{{ namespace }}"
+        labels:
+          type: local
+      spec:
+        storageClassName: manual
+        capacity:
+          storage: "{{ timescaledb_storage }}"
+        accessModes:
+          - ReadWriteOnce
+        hostPath:
+          path: "{{ mount_location + 'timescaledb' }}"

+ 31 - 0
telemetry/roles/timescaledb/tasks/persistent_volume_claim.yml

@@ -0,0 +1,31 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Persistent volume claim for timescale db
+  kubernetes.core.k8s:
+    state: present
+    definition:
+      apiVersion: v1
+      kind: PersistentVolumeClaim
+      metadata:
+        name: "{{ pvc_name }}"
+        namespace: "{{ namespace }}"
+      spec:
+        storageClassName: manual
+        accessModes:
+          - ReadWriteOnce
+        resources:
+          requests:
+            storage: "{{ timescaledb_storage }}"

+ 33 - 0
telemetry/roles/timescaledb/tasks/service.yml

@@ -0,0 +1,33 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Service for timescale db
+  kubernetes.core.k8s:
+    state: present
+    definition:
+      apiVersion: v1
+      kind: Service
+      metadata:
+        name: "{{ timescaledb_k8s_name }}"
+        namespace: "{{ namespace }}"
+        labels:
+          app: "{{ timescaledb_k8s_name }}"
+      spec:
+        type: ClusterIP
+        ports:
+          - name: timescaledb
+            port: "{{ timescaledb_container_port }}"
+        selector:
+          app: "{{ timescaledb_k8s_name }}"

+ 72 - 0
telemetry/roles/timescaledb/tasks/timescaledb_pod.yml

@@ -0,0 +1,72 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Timescale db pod definition
+  kubernetes.core.k8s:
+    state: present
+    definition:
+      apiVersion: apps/v1
+      kind: StatefulSet
+      metadata:
+        name: "{{ timescaledb_k8s_name }}"
+        namespace: "{{ namespace }}"
+      spec:
+        selector:
+          matchLabels:
+            app: "{{ timescaledb_k8s_name }}"
+        serviceName: "{{ timescaledb_k8s_name }}"
+        replicas: "{{ statefulset_replicas }}"
+        template:
+          metadata:
+            labels:
+              app: "{{ timescaledb_k8s_name }}"
+          spec:
+            volumes:
+              - name: telemetry-reference-tools
+                hostPath:
+                  path: "{{ mount_location + idrac_telemetry_folder_name }}"
+                  type: Directory
+
+              - name: timescaledb-pvc
+                persistentVolumeClaim:
+                  claimName: "{{ pvc_name }}"
+
+            containers:
+              - name: timescale
+                image: timescale/timescaledb:latest-pg12
+                imagePullPolicy: "IfNotPresent"
+                volumeMounts:
+                  - mountPath: /go/src/github.com/telemetry-reference-tools
+                    name: telemetry-reference-tools
+                  - mountPath: /var/lib/postgresql/
+                    name: timescaledb-pvc
+                workingDir: /go/src/github.com/telemetry-reference-tools
+                env:
+                  - name: node.name
+                    value: timescale
+                  - name: POSTGRES_USER
+                    valueFrom:
+                      secretKeyRef:
+                        name: "{{ secrets_name }}"
+                        key: timescaledb_user
+                  - name: POSTGRES_PASSWORD
+                    valueFrom:
+                      secretKeyRef:
+                        name: "{{ secrets_name }}"
+                        key: timescaledb_password
+                  - name: TIMESCALE_DB
+                    value: "{{ timescaledb_name }}"
+                ports:
+                  - containerPort: "{{ timescaledb_container_port }}"

+ 23 - 0
telemetry/roles/timescaledb/vars/main.yml

@@ -0,0 +1,23 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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.
+---
+
+pv_name: timescaledb-storage
+timescaledb_storage: 30Gi
+pvc_name: timescaledb-storage-claim
+idrac_telemetry_github: https://github.com/dell/iDRAC-Telemetry-Reference-Tools.git
+idrac_telemetry_folder_name: iDRAC-Telemetry-Reference-Tools
+statefulset_replicas: 1
+timescaledb_k8s_name: timescaledb
+timescaledb_container_port: 5432

+ 22 - 0
telemetry/telemetry.yml

@@ -0,0 +1,22 @@
+# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
+#
+# 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: Telemetry and Visualization
+   hosts: localhost
+   connection: local
+   gather_facts: false
+   roles:
+    - common
+    - timescaledb