Init Commit of Node Exporter

Change-Id: I2f9fe93cba5b7feb2752c2bd753b8d9bcab5a932
diff --git a/tasks/main.yml b/tasks/main.yml
new file mode 100644
index 0000000..7c28ea8
--- /dev/null
+++ b/tasks/main.yml
@@ -0,0 +1,59 @@
+---
+# node_exporter tasks/main.yml
+#
+# SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: include OS-specific vars
+  include_vars: "{{ ansible_os_family }}.yml"
+
+- name: include OS-specific tasks
+  include_tasks: "{{ ansible_os_family }}.yml"
+
+- name: Create group for Node Exporter
+  group:
+    name: "{{ node_exporter_name }}"
+
+- name: Create user for Node Exporter
+  user:
+    name: "{{ node_exporter_name }}"
+    group: "{{ node_exporter_group }}"
+    comment: "{{ node_exporter_comment }}"
+    shell: "{{ node_exporter_shell }}"
+    system: true
+    password_lock: true
+
+- name: Create Node Exporter dist dir
+  file:
+    path: "{{ node_exporter_dist_dir }}"
+    state: directory
+    owner: "root"
+    group: "root"
+    mode: "0755"
+
+- name: Download Node Exporter distro .tgz file
+  get_url:
+    url: "https://github.com/prometheus/node_exporter/releases/download/\
+      v{{ node_exporter_ver }}/node_exporter-{{ node_exporter_ver }}.linux-amd64.tar.gz"
+    dest: "{{ node_exporter_dist_dir }}/node_exporter-{{ node_exporter_ver }}.tar.gz"
+    owner: "root"
+    group: "root"
+    mode: "0644"
+    checksum: "{{ node_exporter_checksum }}"
+
+- name: Unarchive Node Exporter distribution
+  unarchive:
+    remote_src: true
+    src: "{{ node_exporter_dist_dir }}/node_exporter-{{ node_exporter_ver }}.tar.gz"
+    dest: "{{ node_exporter_dist_dir }}"
+    owner: "root"
+    group: "root"
+    creates: "{{ node_exporter_dist_dir }}/node_exporter-{{ node_exporter_ver }}.linux-amd64"
+
+- name: Link Node Exporter distro to working dir
+  file:
+    state: "link"
+    src: "{{ node_exporter_dist_dir }}/node_exporter-{{ node_exporter_ver }}.linux-amd64"
+    dest: "{{ node_exporter_working_dir }}"
+  notify:
+    - "start-node-exporter"