summaryrefslogtreecommitdiffstats
path: root/ansible_collections/cisco/ucs/playbooks/roles
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:04:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:04:41 +0000
commit975f66f2eebe9dadba04f275774d4ab83f74cf25 (patch)
tree89bd26a93aaae6a25749145b7e4bca4a1e75b2be /ansible_collections/cisco/ucs/playbooks/roles
parentInitial commit. (diff)
downloadansible-975f66f2eebe9dadba04f275774d4ab83f74cf25.tar.xz
ansible-975f66f2eebe9dadba04f275774d4ab83f74cf25.zip
Adding upstream version 7.7.0+dfsg.upstream/7.7.0+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/cisco/ucs/playbooks/roles')
-rw-r--r--ansible_collections/cisco/ucs/playbooks/roles/servers/defaults/tasks/main.yml136
-rw-r--r--ansible_collections/cisco/ucs/playbooks/roles/servers/service_profile_templates/tasks/main.yml18
-rw-r--r--ansible_collections/cisco/ucs/playbooks/roles/servers/service_profiles/tasks/main.yml14
3 files changed, 168 insertions, 0 deletions
diff --git a/ansible_collections/cisco/ucs/playbooks/roles/servers/defaults/tasks/main.yml b/ansible_collections/cisco/ucs/playbooks/roles/servers/defaults/tasks/main.yml
new file mode 100644
index 000000000..ab28cd57a
--- /dev/null
+++ b/ansible_collections/cisco/ucs/playbooks/roles/servers/defaults/tasks/main.yml
@@ -0,0 +1,136 @@
+---
+- name: "Configure default IP Pool"
+ vars:
+ # Create an anchor for login_info that can be used throughout the file
+ login_info: &login_info
+ hostname: "{{ hostname }}"
+ username: "{{ username | default(omit) }}"
+ password: "{{ password | default('password') }}"
+ state: "{{ state | default(omit) }}"
+ cisco.ucs.ucs_ip_pool:
+ <<: *login_info
+ name: ext-mgmt
+ ipv4_blocks:
+ - first_addr: 198.18.0.20
+ last_addr: 198.18.0.40
+ subnet_mask: 255.255.255.0
+ default_gw: 198.18.0.1
+ tags: ip_pool
+- name: "Configure default MAC Pool"
+ cisco.ucs.ucs_mac_pool:
+ <<: *login_info
+ name: default
+ first_addr: 00:25:B5:DE:30:00
+ last_addr: 00:25:B5:DE:32:FF
+ tags: mac_pool
+- name: "Configure default UUID Pool"
+ cisco.ucs.ucs_uuid_pool:
+ <<: *login_info
+ name: default
+ first_uuid: 0000-000000000001
+ last_uuid: 0000-000000000078
+ tags: uuid_pool
+- name: "Configure default Virtual Media Policy"
+ cisco.ucs.ucs_managed_objects:
+ <<: *login_info
+ objects:
+ - module: ucsmsdk.mometa.cimcvmedia.CimcvmediaMountConfigPolicy
+ class: CimcvmediaMountConfigPolicy
+ properties:
+ parent_mo_or_dn: org-root
+ name: "{{ vmedia_policy }}"
+ children:
+ - module: ucsmsdk.mometa.cimcvmedia.CimcvmediaConfigMountEntry
+ class: CimcvmediaConfigMountEntry
+ properties:
+ device_type: cdd
+ image_file_name: "{{ image_file_name | default('centos7.2-boot-ks.iso') }}"
+ image_path: "{{ image_path | default('/home/public') }}"
+ mapping_name: cdd-nfs
+ mount_protocol: nfs
+ remote_ip_address: "{{ remote_ip_address | default('198.18.134.242') }}"
+ tags: virtual_media
+- name: "Configure default Boot Order Policy"
+ cisco.ucs.ucs_managed_objects:
+ <<: *login_info
+ objects:
+ - module: ucsmsdk.mometa.lsboot.LsbootPolicy
+ class: LsbootPolicy
+ properties:
+ parent_mo_or_dn: org-root
+ boot_mode: legacy
+ enforce_vnic_name: 'yes'
+ name: vmedia-local
+ reboot_on_update: 'no'
+ children:
+ - module: ucsmsdk.mometa.lsboot.LsbootVirtualMedia
+ class: LsbootVirtualMedia
+ properties:
+ access: read-only-remote-cimc
+ lun_id: '0'
+ order: '1'
+ - module: ucsmsdk.mometa.lsboot.LsbootStorage
+ class: LsbootStorage
+ properties:
+ order: '2'
+ children:
+ - module: ucsmsdk.mometa.lsboot.LsbootLocalStorage
+ class: LsbootLocalStorage
+ properties: {}
+ children:
+ - module: ucsmsdk.mometa.lsboot.LsbootDefaultLocalImage
+ class: LsbootDefaultLocalImage
+ properties:
+ order: '2'
+ tags: boot_order
+- name: "Configure default Server Pool"
+ cisco.ucs.ucs_managed_objects:
+ <<: *login_info
+ objects:
+ - module: ucsmsdk.mometa.compute.ComputePool
+ class: ComputePool
+ properties:
+ parent_mo_or_dn: org-root
+ name: default
+ children:
+ - module: ucsmsdk.mometa.compute.ComputePooledSlot
+ class: ComputePooledSlot
+ properties:
+ chassis_id: '1'
+ slot_id: '1'
+ - module: ucsmsdk.mometa.compute.ComputePooledSlot
+ class: ComputePooledSlot
+ properties:
+ chassis_id: '1'
+ slot_id: '2'
+ - module: ucsmsdk.mometa.compute.ComputePooledSlot
+ class: ComputePooledSlot
+ properties:
+ chassis_id: '1'
+ slot_id: '3'
+ - module: ucsmsdk.mometa.compute.ComputePooledSlot
+ class: ComputePooledSlot
+ properties:
+ chassis_id: '1'
+ slot_id: '4'
+ - module: ucsmsdk.mometa.compute.ComputePooledSlot
+ class: ComputePooledSlot
+ properties:
+ chassis_id: '1'
+ slot_id: '5'
+ - module: ucsmsdk.mometa.compute.ComputePooledSlot
+ class: ComputePooledSlot
+ properties:
+ chassis_id: '1'
+ slot_id: '6'
+ - module: ucsmsdk.mometa.compute.ComputePooledSlot
+ class: ComputePooledSlot
+ properties:
+ chassis_id: '1'
+ slot_id: '7'
+ - module: ucsmsdk.mometa.compute.ComputePooledSlot
+ class: ComputePooledSlot
+ properties:
+ chassis_id: '1'
+ slot_id: '8'
+ tags: server_pool
diff --git a/ansible_collections/cisco/ucs/playbooks/roles/servers/service_profile_templates/tasks/main.yml b/ansible_collections/cisco/ucs/playbooks/roles/servers/service_profile_templates/tasks/main.yml
new file mode 100644
index 000000000..c61432807
--- /dev/null
+++ b/ansible_collections/cisco/ucs/playbooks/roles/servers/service_profile_templates/tasks/main.yml
@@ -0,0 +1,18 @@
+---
+- name: "Configure {{ template_name }} Service Profile Template"
+ vars:
+ # Create an anchor for login_info that can be used throughout the file
+ login_info: &login_info
+ hostname: "{{ hostname }}"
+ username: "{{ username | default(omit) }}"
+ password: "{{ password | default('password') }}"
+ state: "{{ state | default(omit) }}"
+ cisco.ucs.ucs_service_profile_template:
+ <<: *login_info
+ name: "{{ template_name }}"
+ template_type: "{{ template_type }}"
+ host_firmware_package: "{{ host_firmware_package }}"
+ server_pool: default
+ vmedia_policy: "{{ vmedia_policy }}"
+ boot_policy: vmedia-local
+ maintenance_policy: "{{ maintenance_policy }}"
diff --git a/ansible_collections/cisco/ucs/playbooks/roles/servers/service_profiles/tasks/main.yml b/ansible_collections/cisco/ucs/playbooks/roles/servers/service_profiles/tasks/main.yml
new file mode 100644
index 000000000..ac1f920b4
--- /dev/null
+++ b/ansible_collections/cisco/ucs/playbooks/roles/servers/service_profiles/tasks/main.yml
@@ -0,0 +1,14 @@
+---
+- name: "Configure {{ profile_name }} Service Profiles from template {{ template_name }}"
+ vars:
+ # Create an anchor for login_info that can be used throughout the file
+ login_info: &login_info
+ hostname: "{{ hostname }}"
+ username: "{{ username | default(omit) }}"
+ password: "{{ password | default('password') }}"
+ state: "{{ state | default(omit) }}"
+ cisco.ucs.ucs_service_profile_from_template:
+ <<: *login_info
+ name: "{{ profile_name }}-{{ '%d' | format(item) }}"
+ source_template: "{{ template_name }}"
+ loop: "{{ range(1, num_profiles|int + 1) | list }}"