Browse Source

Merge pull request #353 from abhishek-s-a/devel

Issue #352: Updating directory structure omnia 1.1
Lucas A. Wilson 3 years ago
parent
commit
3ca5a72ad6
90 changed files with 438 additions and 34 deletions
  1. 1 1
      appliance/appliance_config.yml
  2. 20 0
      control_plane/collect_device_info.yml
  3. 1 1
      appliance/inventory.yml
  4. 28 0
      control_plane/control_plane.yml
  5. 23 0
      control_plane/ethernet.yml
  6. 20 0
      control_plane/idrac.yml
  7. 21 0
      control_plane/inifiniband.yml
  8. 14 0
      control_plane/input_params/base_vars.yml
  9. 14 0
      control_plane/input_params/ethernet_vars.yml
  10. 14 0
      control_plane/input_params/ib_vars.yml
  11. 14 0
      control_plane/input_params/idrac_vars.yml
  12. 14 0
      control_plane/input_params/login_vars.yml
  13. 14 0
      control_plane/input_params/powervault_me4_vars.yml
  14. 21 0
      control_plane/powervault_me4.yml
  15. 5 8
      appliance/appliance.yml
  16. 0 0
      control_plane/roles/collect_node_info/files/add_host.yml
  17. 0 0
      control_plane/roles/collect_node_info/files/create_inventory.yml
  18. 4 4
      appliance/roles/inventory/tasks/main.yml
  19. 0 0
      control_plane/roles/collect_node_info/vars/main.yml
  20. 0 0
      control_plane/roles/control_plane_common/files/daemon.json
  21. 0 0
      control_plane/roles/control_plane_common/files/timezone.txt
  22. 0 0
      control_plane/roles/control_plane_common/tasks/docker_installation.yml
  23. 0 0
      control_plane/roles/control_plane_common/tasks/docker_volume.yml
  24. 0 0
      control_plane/roles/control_plane_common/tasks/internet_validation.yml
  25. 0 0
      control_plane/roles/control_plane_common/tasks/main.yml
  26. 0 0
      control_plane/roles/control_plane_common/tasks/package_installation.yml
  27. 0 0
      control_plane/roles/control_plane_common/tasks/password_config.yml
  28. 0 0
      control_plane/roles/control_plane_common/tasks/pre_requisite.yml
  29. 2 2
      appliance/roles/common/vars/main.yml
  30. 19 0
      control_plane/roles/control_plane_customiso/tasks/main.yml
  31. 19 0
      control_plane/roles/control_plane_device/tasks/main.yml
  32. 19 0
      control_plane/roles/control_plane_ib/tasks/main.yml
  33. 19 0
      control_plane/roles/control_plane_k8s/tasks/main.yml
  34. 19 0
      control_plane/roles/control_plane_repo/tasks/main.yml
  35. 19 0
      control_plane/roles/control_plane_sm/tasks/main.yml
  36. 19 0
      control_plane/roles/network_ethernet/tasks/main.yml
  37. 19 0
      control_plane/roles/network_ib/tasks/main.yml
  38. 19 0
      control_plane/roles/powervault_me4/tasks/main.yml
  39. 0 0
      control_plane/roles/provision_cobbler/files/Dockerfile
  40. 0 0
      control_plane/roles/provision_cobbler/files/cobbler_settings
  41. 3 3
      appliance/roles/provision/files/inventory_creation.yml
  42. 1 1
      appliance/roles/provision/files/kickstart.yml
  43. 0 0
      control_plane/roles/provision_cobbler/files/loaders.tar
  44. 0 0
      control_plane/roles/provision_cobbler/files/modules.conf
  45. 0 0
      control_plane/roles/provision_cobbler/files/start_cobbler.yml
  46. 0 0
      control_plane/roles/provision_cobbler/files/temp_centos7.ks
  47. 0 0
      control_plane/roles/provision_cobbler/files/temp_dhcp.template
  48. 0 0
      control_plane/roles/provision_cobbler/files/tftp
  49. 0 0
      control_plane/roles/provision_cobbler/files/tftp.yml
  50. 0 0
      control_plane/roles/provision_cobbler/tasks/check_prerequisites.yml
  51. 0 0
      control_plane/roles/provision_cobbler/tasks/cobbler_image.yml
  52. 0 0
      control_plane/roles/provision_cobbler/tasks/configure_cobbler.yml
  53. 0 0
      control_plane/roles/provision_cobbler/tasks/dhcp_configure.yml
  54. 0 0
      control_plane/roles/provision_cobbler/tasks/firewall_settings.yml
  55. 3 3
      appliance/roles/provision/tasks/main.yml
  56. 1 1
      appliance/roles/provision/tasks/mapping_file.yml
  57. 0 0
      control_plane/roles/provision_cobbler/tasks/mount_iso.yml
  58. 0 0
      control_plane/roles/provision_cobbler/tasks/provision_password.yml
  59. 0 0
      control_plane/roles/provision_cobbler/vars/main.yml
  60. 19 0
      control_plane/roles/provision_idrac/tasks/main.yml
  61. 0 0
      control_plane/roles/webui_awx/tasks/awx_configuration.yml
  62. 0 0
      control_plane/roles/webui_awx/tasks/check_awx_status.yml
  63. 0 0
      control_plane/roles/webui_awx/tasks/clone_awx.yml
  64. 0 0
      control_plane/roles/webui_awx/tasks/firewall_settings.yml
  65. 0 0
      control_plane/roles/webui_awx/tasks/install_awx.yml
  66. 0 0
      control_plane/roles/webui_awx/tasks/install_awx_cli.yml
  67. 4 4
      appliance/roles/web_ui/tasks/main.yml
  68. 0 0
      control_plane/roles/webui_awx/tasks/ui_accessibility.yml
  69. 2 2
      appliance/roles/web_ui/vars/main.yml
  70. 0 0
      control_plane/test/appliance_config_empty.yml
  71. 0 0
      control_plane/test/appliance_config_test.yml
  72. 0 0
      control_plane/test/provisioned_hosts.yml
  73. 0 0
      control_plane/test/test_common.yml
  74. 0 0
      control_plane/test/test_mapping_file
  75. 0 0
      control_plane/test/test_provision_cc.yml
  76. 0 0
      control_plane/test/test_provision_cdip.yml
  77. 0 0
      control_plane/test/test_provision_ndod.yml
  78. 0 0
      control_plane/test/test_vars/test_common_vars.yml
  79. 0 0
      control_plane/test/test_vars/test_provision_vars.yml
  80. 0 0
      control_plane/test/test_vars/test_web_ui_vars.yml
  81. 0 0
      control_plane/test/test_web_ui.yml
  82. 0 0
      control_plane/tools/passwordless_ssh.yml
  83. 2 2
      appliance/tools/provision_report.yml
  84. 0 0
      control_plane/tools/roles/cluster_preperation/tasks/main.yml
  85. 0 0
      control_plane/tools/roles/cluster_preperation/tasks/passwordless_ssh.yml
  86. 0 0
      control_plane/tools/roles/cluster_preperation/vars/main.yml
  87. 1 1
      appliance/tools/roles/fetch_password/tasks/main.yml
  88. 0 0
      control_plane/tools/roles/hpc_cluster_report/tasks/main.yml
  89. 0 0
      control_plane/tools/roles/hpc_cluster_report/templates/provision_host_report.j2
  90. 1 1
      omnia.yml

+ 1 - 1
appliance/appliance_config.yml

@@ -52,7 +52,7 @@ dhcp_start_ip_range: ""
 dhcp_end_ip_range: ""
 
 # This is the timezone that will be set during provisioning of OS
-# Available timezone are provided in list appliance/common/files/timezone.txt
+# Available timezone are provided in list control_plane/control_plane_common/files/timezone.txt
 # Default timezone will be set to "GMT"
 # Some of the other available timezone are EST,CET,MST,CST6CDT,PST8PDT
 timezone: "GMT"

+ 20 - 0
control_plane/collect_device_info.yml

@@ -0,0 +1,20 @@
+# Copyright 2020 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: Dynamic Inventory
+  hosts: localhost
+  connection: local
+  gather_facts: no
+  roles:
+    - collect_device_info

+ 1 - 1
appliance/inventory.yml

@@ -17,4 +17,4 @@
   connection: local
   gather_facts: no
   roles:
-    - inventory
+    - collect_node_info

+ 28 - 0
control_plane/control_plane.yml

@@ -0,0 +1,28 @@
+#  Copyright 2021 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: Executing omnia roles
+  hosts: localhost
+  connection: local
+  roles:
+    - control_plane_common
+    - control_plane_repo
+    - control_plane_k8s
+    - control_plane_device
+    - provision_cobbler
+    - control_plane_ib
+    - control_plane_sm
+    - control_plane_customiso
+    - webui_awx

+ 23 - 0
control_plane/ethernet.yml

@@ -0,0 +1,23 @@
+# Copyright 2021 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: Ethernet Configuration 
+   hosts: all
+   gather_facts: false
+   connection: network_cli
+   vars:
+     ansible_network_os: dellemc.os10.os10
+   roles:
+    - network_ethernet

+ 20 - 0
control_plane/idrac.yml

@@ -0,0 +1,20 @@
+# Copyright 2021 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: Deploy OS via idrac
+  hosts: all
+  connection: local
+  roles:
+    - provision_idrac

+ 21 - 0
control_plane/inifiniband.yml

@@ -0,0 +1,21 @@
+# Copyright 2021 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: Infiniband Configuration
+  hosts: all
+  gather_facts: false
+  connection: local
+  roles:
+    - network_ib

+ 14 - 0
control_plane/input_params/base_vars.yml

@@ -0,0 +1,14 @@
+# Copyright 2021 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.
+---

+ 14 - 0
control_plane/input_params/ethernet_vars.yml

@@ -0,0 +1,14 @@
+# Copyright 2021 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.
+---

+ 14 - 0
control_plane/input_params/ib_vars.yml

@@ -0,0 +1,14 @@
+# Copyright 2021 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.
+---

+ 14 - 0
control_plane/input_params/idrac_vars.yml

@@ -0,0 +1,14 @@
+# Copyright 2021 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.
+---

+ 14 - 0
control_plane/input_params/login_vars.yml

@@ -0,0 +1,14 @@
+# Copyright 2021 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.
+---

+ 14 - 0
control_plane/input_params/powervault_me4_vars.yml

@@ -0,0 +1,14 @@
+# Copyright 2021 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.
+---

+ 21 - 0
control_plane/powervault_me4.yml

@@ -0,0 +1,21 @@
+# Copyright 2021 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: Powervault Configuration
+  hosts: all
+  gather_facts: false
+  connection: local
+  roles:
+    - powervault_me4

+ 5 - 8
appliance/appliance.yml

@@ -1,4 +1,4 @@
-#  Copyright 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
+# Copyright 2021 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.
@@ -13,10 +13,7 @@
 #  limitations under the License.
 ---
 
-- name: Executing omnia roles
-  hosts: localhost
-  connection: local
-  roles:
-    - common
-    - provision
-    - web_ui
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

appliance/roles/inventory/files/add_host.yml → control_plane/roles/collect_node_info/files/add_host.yml


appliance/roles/inventory/files/create_inventory.yml → control_plane/roles/collect_node_info/files/create_inventory.yml


+ 4 - 4
appliance/roles/inventory/tasks/main.yml

@@ -21,12 +21,12 @@
     path: "{{ role_path }}/files/provisioned_hosts.yml"
   register: provisioned_file_result
 
-- name: Include vars file of common role
-  include_vars: "{{ role_path }}/../common/vars/main.yml"
+- name: Include vars file of control_plane_common role
+  include_vars: "{{ role_path }}/../control_plane_common/vars/main.yml"
   no_log: True
 
-- name: Include vars file of web_ui role
-  include_vars: "{{ role_path }}/../web_ui/vars/main.yml"
+- name: Include vars file of webui_awx role
+  include_vars: "{{ role_path }}/../webui_awx/vars/main.yml"
   no_log: True
 
 - name: Update inventory file

appliance/roles/inventory/vars/main.yml → control_plane/roles/collect_node_info/vars/main.yml


appliance/roles/common/files/daemon.json → control_plane/roles/control_plane_common/files/daemon.json


appliance/roles/common/files/timezone.txt → control_plane/roles/control_plane_common/files/timezone.txt


appliance/roles/common/tasks/docker_installation.yml → control_plane/roles/control_plane_common/tasks/docker_installation.yml


appliance/roles/common/tasks/docker_volume.yml → control_plane/roles/control_plane_common/tasks/docker_volume.yml


appliance/roles/common/tasks/internet_validation.yml → control_plane/roles/control_plane_common/tasks/internet_validation.yml


appliance/roles/common/tasks/main.yml → control_plane/roles/control_plane_common/tasks/main.yml


appliance/roles/common/tasks/package_installation.yml → control_plane/roles/control_plane_common/tasks/package_installation.yml


appliance/roles/common/tasks/password_config.yml → control_plane/roles/control_plane_common/tasks/password_config.yml


appliance/roles/common/tasks/pre_requisite.yml → control_plane/roles/control_plane_common/tasks/pre_requisite.yml


+ 2 - 2
appliance/roles/common/vars/main.yml

@@ -45,7 +45,7 @@ internet_status: "Failed. No Internet connection. Make sure network is up."
 os_status: "Unsupported OS or OS version. OS should be {{ os_name }} and Version should be {{ os_version }} or more"
 selinux_status: "SElinux is not disabled. Disable it in /etc/sysconfig/selinux and reboot the system"
 iso_name: CentOS-7-x86_64-Minimal-2009.iso
-iso_fail: "Iso file not found. Download and copy the iso file to omnia/appliance/roles/provision/files"
+iso_fail: "Iso file not found. Download and copy the iso file to omnia/control_plane/roles/provision_cobbler/files"
 ansible_python_version_status: "For CentOS 8.3, python bindings of firewalld, dnf, selinux are not available if python is installed from source and not from dnf. So please make sure python3.6 is installed using dnf. And ansible uses the python version 3.6 installed using dnf"
 python_version_support: '3.6.8'
 default_ansible_config_file_path: /etc/ansible/ansible.cfg
@@ -95,5 +95,5 @@ success_msg_mariadb_password: "mariadb_password validated"
 success_msg_k8s_cni: "Kubernetes CNI Validated"
 fail_msg_k8s_cni: "Failed. Kubernetes CNI is incorrect in omnia_config.yml"
 success_timezone: "timezone validated"
-fail_timezone: "Failed. Incorrect timezone provided. Please check the file timezone.txt in appliance/roles/common/files/ folder"
+fail_timezone: "Failed. Incorrect timezone provided. Please check the file timezone.txt in control_plane/roles/control_plane_common/files/ folder"
 file_perm: '0755'

+ 19 - 0
control_plane/roles/control_plane_customiso/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

+ 19 - 0
control_plane/roles/control_plane_device/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

+ 19 - 0
control_plane/roles/control_plane_ib/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

+ 19 - 0
control_plane/roles/control_plane_k8s/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

+ 19 - 0
control_plane/roles/control_plane_repo/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

+ 19 - 0
control_plane/roles/control_plane_sm/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

+ 19 - 0
control_plane/roles/network_ethernet/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

+ 19 - 0
control_plane/roles/network_ib/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

+ 19 - 0
control_plane/roles/powervault_me4/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

appliance/roles/provision/files/Dockerfile → control_plane/roles/provision_cobbler/files/Dockerfile


appliance/roles/provision/files/cobbler_settings → control_plane/roles/provision_cobbler/files/cobbler_settings


+ 3 - 3
appliance/roles/provision/files/inventory_creation.yml

@@ -26,18 +26,18 @@
         vars_new: "{{ var| ipv4('address')| to_nice_yaml}}"
 
     - name: Create the static ip
-      shell: awk -F',' 'NR >1{print $3}' omnia/appliance/roles/provision/files/new_mapping_file.csv > static_hosts.yml
+      shell: awk -F',' 'NR >1{print $3}' omnia/control_plane/roles/provision/files/new_mapping_file.csv > static_hosts.yml
       changed_when: false
       ignore_errors: true
 
     - name: Create the dynamic inventory
       shell: |
-        echo "[all]" >  omnia/appliance/roles/inventory/files/provisioned_hosts.yml
+        echo "[all]" >  omnia/control_plane/roles/collect_node_info/files/provisioned_hosts.yml
         echo "{{ vars_new }}" > temp.txt
         egrep -o '[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' temp.txt >>dynamic_hosts.yml
       changed_when: false
       ignore_errors: true
 
     - name: Final inventory
-      shell: cat dynamic_hosts.yml static_hosts.yml| sort -ur  >> omnia/appliance/roles/inventory/files/provisioned_hosts.yml
+      shell: cat dynamic_hosts.yml static_hosts.yml| sort -ur  >> omnia/control_plane/roles/collect_node_info/files/provisioned_hosts.yml
       changed_when: false     

+ 1 - 1
appliance/roles/provision/files/kickstart.yml

@@ -40,7 +40,7 @@
     changed_when: false
 
   - name: Untar loaders
-    command: tar -xf /root/omnia/appliance/roles/provision/files/loaders.tar -C /var/lib/cobbler
+    command: tar -xf /root/omnia/control_plane/roles/provision_cobbler/files/loaders.tar -C /var/lib/cobbler
     changed_when: false
 
   - name: Replace in /etc/debian

appliance/roles/provision/files/loaders.tar → control_plane/roles/provision_cobbler/files/loaders.tar


appliance/roles/provision/files/modules.conf → control_plane/roles/provision_cobbler/files/modules.conf


appliance/roles/provision/files/start_cobbler.yml → control_plane/roles/provision_cobbler/files/start_cobbler.yml


appliance/roles/provision/files/temp_centos7.ks → control_plane/roles/provision_cobbler/files/temp_centos7.ks


appliance/roles/provision/files/temp_dhcp.template → control_plane/roles/provision_cobbler/files/temp_dhcp.template


appliance/roles/provision/files/tftp → control_plane/roles/provision_cobbler/files/tftp


appliance/roles/provision/files/tftp.yml → control_plane/roles/provision_cobbler/files/tftp.yml


appliance/roles/provision/tasks/check_prerequisites.yml → control_plane/roles/provision_cobbler/tasks/check_prerequisites.yml


appliance/roles/provision/tasks/cobbler_image.yml → control_plane/roles/provision_cobbler/tasks/cobbler_image.yml


appliance/roles/provision/tasks/configure_cobbler.yml → control_plane/roles/provision_cobbler/tasks/configure_cobbler.yml


appliance/roles/provision/tasks/dhcp_configure.yml → control_plane/roles/provision_cobbler/tasks/dhcp_configure.yml


appliance/roles/provision/tasks/firewall_settings.yml → control_plane/roles/provision_cobbler/tasks/firewall_settings.yml


+ 3 - 3
appliance/roles/provision/tasks/main.yml

@@ -26,12 +26,12 @@
   import_tasks: firewall_settings.yml
   when: not cobbler_container_status
 
-- name: Include common variables
-  include_vars: ../../common/vars/main.yml
+- name: Include control_plane_common variables
+  include_vars: ../../control_plane_common/vars/main.yml
   when: not cobbler_container_status
 
 - name: Internet validation
-  include_tasks: ../../common/tasks/internet_validation.yml
+  include_tasks: ../../control_plane_common/tasks/internet_validation.yml
   when: not cobbler_container_status
 
 - name: Provision password validation

+ 1 - 1
appliance/roles/provision/tasks/mapping_file.yml

@@ -153,7 +153,7 @@
     dest: "{{ role_path }}/files/backup_mapping_file.csv"
 
 - name: Copy the dhcp.template inside container
-  command: docker exec cobbler cp /root/omnia/appliance/roles/provision/files/dhcp.template /etc/cobbler/dhcp.template
+  command: docker exec cobbler cp {{ role_path }}/files/dhcp.template /etc/cobbler/dhcp.template
   when:  ( cobbler_container_status == true ) and ( new_node_status == true )
 
 - name: Cobbler sync for adding new nodes

appliance/roles/provision/tasks/mount_iso.yml → control_plane/roles/provision_cobbler/tasks/mount_iso.yml


appliance/roles/provision/tasks/provision_password.yml → control_plane/roles/provision_cobbler/tasks/provision_password.yml


appliance/roles/provision/vars/main.yml → control_plane/roles/provision_cobbler/vars/main.yml


+ 19 - 0
control_plane/roles/provision_idrac/tasks/main.yml

@@ -0,0 +1,19 @@
+# Copyright 2021 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.
+---
+
+# Will be updated later in each PR
+- name: Pass
+  debug:
+    msg: "Pass"

appliance/roles/web_ui/tasks/awx_configuration.yml → control_plane/roles/webui_awx/tasks/awx_configuration.yml


appliance/roles/web_ui/tasks/check_awx_status.yml → control_plane/roles/webui_awx/tasks/check_awx_status.yml


appliance/roles/web_ui/tasks/clone_awx.yml → control_plane/roles/webui_awx/tasks/clone_awx.yml


appliance/roles/web_ui/tasks/firewall_settings.yml → control_plane/roles/webui_awx/tasks/firewall_settings.yml


appliance/roles/web_ui/tasks/install_awx.yml → control_plane/roles/webui_awx/tasks/install_awx.yml


appliance/roles/web_ui/tasks/install_awx_cli.yml → control_plane/roles/webui_awx/tasks/install_awx_cli.yml


+ 4 - 4
appliance/roles/web_ui/tasks/main.yml

@@ -18,12 +18,12 @@
   include_tasks: check_awx_status.yml
   tags: install
 
-- name: Include common variables
-  include_vars: ../../common/vars/main.yml
+- name: Include control_plane_common variables
+  include_vars: ../../control_plane_common/vars/main.yml
   tags: install
 
 - name: Internet validation
-  include_tasks: ../../common/tasks/internet_validation.yml
+  include_tasks: ../../control_plane_common/tasks/internet_validation.yml
   when: not awx_status
   tags: install
 
@@ -55,7 +55,7 @@
   tags: install
 
 - name: Internet validation
-  include_tasks: ../../common/tasks/internet_validation.yml
+  include_tasks: ../../control_plane_common/tasks/internet_validation.yml
   tags: install
 
 - name: Install AWX-CLI

appliance/roles/web_ui/tasks/ui_accessibility.yml → control_plane/roles/webui_awx/tasks/ui_accessibility.yml


+ 2 - 2
appliance/roles/web_ui/vars/main.yml

@@ -13,7 +13,7 @@
 # limitations under the License.
 ---
 
-# vars file for web_ui
+# vars file for webui_awx
 
 # Usage: clone_awx.yml
 awx_git_repo: "https://github.com/ansible/awx.git"
@@ -63,7 +63,7 @@ cobbler_username: root
 omnia_template_name: DeployOmnia
 omnia_playbook: omnia.yml
 inventory_template_name: DynamicInventory
-inventory_playbook: appliance/inventory.yml
+inventory_playbook: control_plane/collect_node_info.yml
 playbooks_verbosity: 0
 schedule_name: DynamicInventorySchedule
 schedule_rule: "DTSTART:20201201T000000Z RRULE:FREQ=MINUTELY;INTERVAL=10"

appliance/test/appliance_config_empty.yml → control_plane/test/appliance_config_empty.yml


appliance/test/appliance_config_test.yml → control_plane/test/appliance_config_test.yml


appliance/test/provisioned_hosts.yml → control_plane/test/provisioned_hosts.yml


appliance/test/test_common.yml → control_plane/test/test_common.yml


appliance/test/test_mapping_file → control_plane/test/test_mapping_file


appliance/test/test_provision_cc.yml → control_plane/test/test_provision_cc.yml


appliance/test/test_provision_cdip.yml → control_plane/test/test_provision_cdip.yml


appliance/test/test_provision_ndod.yml → control_plane/test/test_provision_ndod.yml


appliance/test/test_vars/test_common_vars.yml → control_plane/test/test_vars/test_common_vars.yml


appliance/test/test_vars/test_provision_vars.yml → control_plane/test/test_vars/test_provision_vars.yml


appliance/test/test_vars/test_web_ui_vars.yml → control_plane/test/test_vars/test_web_ui_vars.yml


appliance/test/test_web_ui.yml → control_plane/test/test_web_ui.yml


appliance/tools/passwordless_ssh.yml → control_plane/tools/passwordless_ssh.yml


+ 2 - 2
appliance/tools/provision_report.yml

@@ -14,9 +14,9 @@
 ---
 
 # This file used to generate a report of reachable and unreachable host of hpc cluster
-# This file can be executed only if provisioned_hosts.yml is created inside the path omnia/appliance/roles/inventory/files/provisioned_hosts.yml
+# This file can be executed only if provisioned_hosts.yml is created inside the path omnia/control_plane/roles/collect_node_info/files/provisioned_hosts.yml
 
-# Command to execute: ansible-playbook provision_report.yml -i ../roles/inventory/files/provisioned_hosts.yml
+# Command to execute: ansible-playbook provision_report.yml -i ../roles/collect_node_info/files/provisioned_hosts.yml
 
 - name: Fetch provision_password
   hosts: localhost

appliance/tools/roles/cluster_preperation/tasks/main.yml → control_plane/tools/roles/cluster_preperation/tasks/main.yml


appliance/tools/roles/cluster_preperation/tasks/passwordless_ssh.yml → control_plane/tools/roles/cluster_preperation/tasks/passwordless_ssh.yml


appliance/tools/roles/cluster_preperation/vars/main.yml → control_plane/tools/roles/cluster_preperation/vars/main.yml


+ 1 - 1
appliance/tools/roles/fetch_password/tasks/main.yml

@@ -13,7 +13,7 @@
 #  limitations under the License.
 ---
 - name: Include variables from common role
-  include_vars: "{{ role_path }}/../../../roles/common/vars/main.yml"
+  include_vars: "{{ role_path }}/../../../roles/control_plane_common/vars/main.yml"
   no_log: True
 
 - name: Check input config file is encrypted

appliance/tools/roles/hpc_cluster_report/tasks/main.yml → control_plane/tools/roles/hpc_cluster_report/tasks/main.yml


appliance/tools/roles/hpc_cluster_report/templates/provision_host_report.j2 → control_plane/tools/roles/hpc_cluster_report/templates/provision_host_report.j2


+ 1 - 1
omnia.yml

@@ -126,5 +126,5 @@
   tags: slurm
 
 - name: Passwordless SSH between manager and compute nodes
-  include: appliance/tools/passwordless_ssh.yml
+  include: control_plane/tools/passwordless_ssh.yml
   when: hostvars['127.0.0.1']['appliance_status']