Initial commit to edgemonagent
Change-Id: I18d6c27ffb45f835d93bd8c2ec308a824029a707
diff --git a/tasks/Debian.yml b/tasks/Debian.yml
new file mode 100644
index 0000000..c37b6cd
--- /dev/null
+++ b/tasks/Debian.yml
@@ -0,0 +1,36 @@
+---
+# edgemonagent tasks/Debian.yml
+#
+# SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Install edge-mon-agent prerequsites
+ apt:
+ name:
+ - "python3"
+ - "python3-serial"
+ - "python3-requests"
+ state: "present"
+ update_cache: true
+ cache_valid_time: 3600
+
+- name: Create environment config for edge-mon-agent service
+ template:
+ src: "default.edge-mon-agent.j2"
+ dest: "/etc/default/edge-mon-agent"
+ owner: "root"
+ group: "root"
+ mode: "0640"
+ notify:
+ - restart-edgemonagent
+
+- name: Create systemd service unit files for edge-mon-agent service
+ template:
+ src: "edge-mon-agent.service.j2"
+ dest: "/etc/systemd/system/edge-mon-agent.service"
+ owner: "root"
+ group: "root"
+ mode: "0644"
+ notify:
+ - start-edgemonagent
+ - restart-edgemonagent
diff --git a/tasks/main.yml b/tasks/main.yml
new file mode 100644
index 0000000..cb5ca14
--- /dev/null
+++ b/tasks/main.yml
@@ -0,0 +1,50 @@
+---
+# edgemonagent tasks/main.yml
+#
+# SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+# possibly check for
+
+- 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 edgemonagent
+ group:
+ name: "{{ edgemonagent_groupname }}"
+
+- name: Create user for edgemonagent
+ user:
+ name: "{{ edgemonagent_username }}"
+ group: "{{ edgemonagent_groupname }}"
+ comment: "{{ edgemonagent_comment }}"
+ shell: "{{ edgemonagent_shell }}"
+ home: "{{ edgemonagent_dir }}"
+ create_home: no # yamllint disable-line rule:truthy
+ system: true
+ password_lock: true
+
+- name: Add edgemonagent user to group that grants serial port access
+ user:
+ name: "{{ edgemonagent_username }}"
+ groups: "{{ edgemonagent_serial_group }}"
+ append: true
+
+- name: Create directory for edgemonagent
+ file:
+ path: "{{ edgemonagent_dir }}"
+ state: directory
+ owner: "{{ edgemonagent_username }}"
+ group: "{{ edgemonagent_groupname }}"
+ mode: "0755"
+
+- name: Copy over edgemonagent script
+ copy:
+ src: "edge_monitoring_agent_modem.py"
+ dest: "{{ edgemonagent_dir }}/edge_monitoring_agent_modem.py"
+ owner: "{{ edgemonagent_username }}"
+ group: "{{ edgemonagent_groupname }}"
+ mode: "0755"