-
Notifications
You must be signed in to change notification settings - Fork 164
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Integration][omevv_baseline_profile] - Create, Modify and Delete (#767)
- Loading branch information
1 parent
fd4de94
commit 1aef82a
Showing
15 changed files
with
1,561 additions
and
0 deletions.
There are no files selected for viewing
3 changes: 3 additions & 0 deletions
3
tests/integration/targets/omevv_baseline_profile/defaults/main.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--- | ||
testcase: '[^_].*' | ||
test_items: [] |
215 changes: 215 additions & 0 deletions
215
tests/integration/targets/omevv_baseline_profile/files/ansible_doc.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,215 @@ | ||
- ' This module allows you to create, modify, or delete an' | ||
- ' OpenManage Enterprise Integration for VMware Center (OMEVV)' | ||
- ' baseline profile.' | ||
- '' | ||
- 'ADDED IN: version 9.9.0 of dellemc.openmanage' | ||
- '' | ||
- 'OPTIONS (= is mandatory):' | ||
- '' | ||
- '- ca_path' | ||
- ' The Privacy Enhanced Mail (PEM) file that contains a CA' | ||
- ' certificate to be used for the validation.' | ||
- ' default: null' | ||
- ' type: path' | ||
- '' | ||
- '- cluster' | ||
- ' List of cluster(s) for baseline profile creation.' | ||
- ' This parameter is required when `state'' is `present'' and while' | ||
- ' creating a new profile.' | ||
- ' default: null' | ||
- ' elements: str' | ||
- ' type: list' | ||
- '' | ||
- '- days' | ||
- ' Required days of a week on when the job must run.' | ||
- ' This is required when `state'' is `present'' and while creating' | ||
- ' a new profile.' | ||
- ' choices: [sunday, monday, tuesday, wednesday, thursday, friday, saturday, | ||
all]' | ||
- ' default: null' | ||
- ' elements: str' | ||
- ' type: list' | ||
- '' | ||
- '- description' | ||
- ' Description of the baseline profile.' | ||
- ' default: null' | ||
- ' type: str' | ||
- '' | ||
- = hostname | ||
- ' IP address or hostname of the OpenManage Enterprise Modular.' | ||
- ' type: str' | ||
- '' | ||
- '- job_wait' | ||
- ' Whether to wait till completion of the job.' | ||
- ' default: true' | ||
- ' type: bool' | ||
- '' | ||
- '- job_wait_timeout' | ||
- ' The maximum wait time of `job_wait'' in seconds. The job is' | ||
- ' tracked only for this duration.' | ||
- ' This is applicable when `job_wait'' is `true''.' | ||
- ' default: 1200' | ||
- ' type: int' | ||
- '' | ||
- = name | ||
- ' Name of the baseline profile.' | ||
- ' type: str' | ||
- '' | ||
- '- port' | ||
- ' OpenManage Enterprise HTTPS port.' | ||
- ' default: 443' | ||
- ' type: int' | ||
- '' | ||
- '- repository_profile' | ||
- ' Repository profile for baseline creation.' | ||
- ' This is required when `state'' is `present'' and while creating' | ||
- ' a new profile.' | ||
- ' default: null' | ||
- ' type: str' | ||
- '' | ||
- '- state' | ||
- ' `present'' creates a baseline profile or modifies an existing' | ||
- ' profile if the profile with the same name already exists.' | ||
- ' `absent'' deletes the baseline profile.' | ||
- ' `repository_profile'', `cluster'', `days'' and `time'' is required' | ||
- ' when creating a new baseline profile.' | ||
- ' Either `profile_name'' or `profile_id'' is required when `state''' | ||
- ' is `absent''.' | ||
- ' choices: [present, absent]' | ||
- ' default: present' | ||
- ' type: str' | ||
- '' | ||
- '- time' | ||
- ' Time at when the job must run, and is 24 hours format.' | ||
- ' The format must be HH:MM.' | ||
- ' This is required when `state'' is `present'' and while creating' | ||
- ' a new profile.' | ||
- ' default: null' | ||
- ' type: str' | ||
- '' | ||
- '- timeout' | ||
- ' The socket level timeout in seconds.' | ||
- ' default: 30' | ||
- ' type: int' | ||
- '' | ||
- '- validate_certs' | ||
- ' Whether to check SSL certificate. - If `true'', the SSL' | ||
- ' certificates will be validated. - If `false'', the SSL' | ||
- ' certificates will not be validated.' | ||
- ' default: true' | ||
- ' type: bool' | ||
- '' | ||
- '- vcenter_password' | ||
- ' Password for OpenManage Enterprise Integration for VMware' | ||
- ' vCenter (OMEVV).' | ||
- ' If the password is not provided, then the environment variable' | ||
- ' `OMEVV_VCENTER_PASSWORD'' is used.' | ||
- ' Example: export OMEVV_VCENTER_PASSWORD=password' | ||
- ' default: null' | ||
- ' type: str' | ||
- '' | ||
- '- vcenter_username' | ||
- ' Username for OpenManage Enterprise Integration for VMware' | ||
- ' vCenter (OMEVV).' | ||
- ' If the username is not provided, then the environment variable' | ||
- ' `OMEVV_VCENTER_USERNAME'' is used.' | ||
- ' Example: export OMEVV_VCENTER_USERNAME=username' | ||
- ' default: null' | ||
- ' type: str' | ||
- '' | ||
- '- vcenter_uuid' | ||
- ' Universally Unique Identifier (UUID) of vCenter.' | ||
- ' vCenter UUID details can be retrieved using' | ||
- ' [dellemc.openmanage.omevv_vcenter_info] module.' | ||
- ' If UUID is not provided, then the environment variable' | ||
- ' `OMEVV_VCENTER_UUID'' is used.' | ||
- ' Example: export OMEVV_VCENTER_UUID=uuid' | ||
- ' default: null' | ||
- ' type: str' | ||
- '' | ||
- '' | ||
- 'ATTRIBUTES:' | ||
- '' | ||
- ' check_mode:' | ||
- ' description: Runs task to validate without performing action on the target | ||
machine.' | ||
- ' support: full' | ||
- ' diff_mode:' | ||
- ' description: Runs the task to report the changes that are made or the | ||
changes that' | ||
- ' must be applied.' | ||
- ' support: full' | ||
- '' | ||
- 'NOTES:' | ||
- ' * Run this module from a system that has direct access to' | ||
- ' Dell OpenManage Enterprise.' | ||
- '' | ||
- '' | ||
- 'REQUIREMENTS: python >= 3.9.6' | ||
- '' | ||
- 'AUTHOR: Saksham Nautiyal (@Saksham-Nautiyal)' | ||
- '' | ||
- 'EXAMPLES:' | ||
- '' | ||
- '---' | ||
- '- name: Create a baseline profile for multiple cluster' | ||
- ' dellemc.openmanage.omevv_baseline_profile:' | ||
- ' hostname: "192.168.0.1"' | ||
- ' vcenter_uuid: "xxxxx"' | ||
- ' vcenter_username: "username"' | ||
- ' vcenter_password: "password"' | ||
- ' ca_path: "path/to/ca_file"' | ||
- ' state: "present"' | ||
- ' name: "profile-1"' | ||
- ' repository_profile: "repository-profile"' | ||
- ' cluster:' | ||
- ' - "cluster-1"' | ||
- ' - "cluster-2"' | ||
- ' days:' | ||
- ' - "sunday"' | ||
- ' - "wednesday"' | ||
- ' time: "22:10"' | ||
- '' | ||
- '- name: Modify a baseline profile' | ||
- ' dellemc.openmanage.omevv_baseline_profile:' | ||
- ' hostname: "192.168.0.1"' | ||
- ' vcenter_uuid: "xxxxx"' | ||
- ' vcenter_username: "username"' | ||
- ' vcenter_password: "password"' | ||
- ' ca_path: "path/to/ca_file"' | ||
- ' state: "present"' | ||
- ' name: "profile-1"' | ||
- ' new_name: "profile-newname"' | ||
- ' repository_profile: "repository-profile"' | ||
- ' cluster:' | ||
- ' - "cluster-1"' | ||
- ' - "cluster-2"' | ||
- ' days:' | ||
- ' - "sunday"' | ||
- ' time: "05:00"' | ||
- '' | ||
- '- name: Delete a specific baseline profile' | ||
- ' dellemc.openmanage.omevv_baseline_profile:' | ||
- ' hostname: "192.168.0.1"' | ||
- ' vcenter_uuid: "xxxxx"' | ||
- ' vcenter_username: "username"' | ||
- ' vcenter_password: "password"' | ||
- ' ca_path: "path/to/ca_file"' | ||
- ' state: "absent"' | ||
- ' name: "profile-1"' | ||
- '' | ||
- '' | ||
- 'RETURN VALUES:' | ||
- '- error_info' | ||
- ' Details of the module HTTP Error.' | ||
- ' returned: on HTTP error' | ||
- ' sample:' | ||
- ' errorCode: ''18001''' | ||
- ' message: Baseline profile with name Test already exists.' | ||
- ' type: dict' | ||
- '' | ||
- '- msg' | ||
- ' Status of the profile operation.' | ||
- ' returned: always' | ||
- ' sample: Successfully created the OMEVV baseline profile.' | ||
- ' type: str' |
3 changes: 3 additions & 0 deletions
3
tests/integration/targets/omevv_baseline_profile/meta/main.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--- | ||
dependencies: | ||
- prepare_omevv_registration |
23 changes: 23 additions & 0 deletions
23
tests/integration/targets/omevv_baseline_profile/tasks/main.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- | ||
- name: Collect all test cases | ||
ansible.builtin.find: | ||
paths: '{{ role_path }}/tests' | ||
patterns: '{{ testcase }}.yaml' | ||
use_regex: true | ||
register: test_cases | ||
delegate_to: localhost | ||
|
||
- name: Set test_items | ||
ansible.builtin.set_fact: | ||
test_items: "{{ test_cases.files | map(attribute='path') | list }}" | ||
|
||
- name: Fail if no test cases are found as per pattern. | ||
ansible.builtin.fail: | ||
msg: "Could not find test cases to run!!!" | ||
when: not test_items|length > 0 | ||
|
||
- name: Run test case | ||
ansible.builtin.include_tasks: '{{ test_case_to_run }}' | ||
with_items: '{{ test_items }}' | ||
loop_control: | ||
loop_var: test_case_to_run |
61 changes: 61 additions & 0 deletions
61
tests/integration/targets/omevv_baseline_profile/tests/_cleanup.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
--- | ||
- block: | ||
- name: Delete baseline profile | ||
dellemc.openmanage.omevv_baseline_profile: | ||
state: absent | ||
name: OMAM_Baseline_Profile | ||
register: delete_baseline_profile | ||
when: delete_baseline_trigger is defined | ||
|
||
- name: Verify task status - Delete baseline profile | ||
ansible.builtin.assert: | ||
that: | ||
- delete_baseline_profile.changed | ||
- 'delete_baseline_profile.msg == "Successfully deleted the baseline | ||
profile."' | ||
when: delete_baseline_trigger is defined | ||
|
||
- name: Delete Repository profile - 1 | ||
dellemc.openmanage.omevv_firmware_repository_profile: | ||
state: absent | ||
name: OMAM_Firm_Repo | ||
register: delete_firm_repo_profile | ||
when: delete_repository_profile_1_trigger is defined | ||
|
||
- name: Verify task status - Delete Repository profile - 1 | ||
ansible.builtin.assert: | ||
that: | ||
- delete_firm_repo_profile.changed | ||
- 'delete_firm_repo_profile.msg == "Successfully deleted the OMEVV | ||
firmware repository profile."' | ||
when: delete_repository_profile_1_trigger is defined | ||
|
||
- name: Delete Repository profile - 2 | ||
dellemc.openmanage.omevv_firmware_repository_profile: | ||
state: absent | ||
name: OMAM_Modify_Firm_Repo | ||
register: delete_firm_repo_profile | ||
when: delete_repository_profile_2_trigger is defined | ||
|
||
- name: Verify task status - Delete baseline profile | ||
ansible.builtin.assert: | ||
that: | ||
- delete_firm_repo_profile.changed | ||
- 'delete_firm_repo_profile.msg == "Successfully deleted the OMEVV | ||
firmware repository profile."' | ||
when: delete_repository_profile_2_trigger is defined | ||
|
||
module_defaults: | ||
dellemc.openmanage.omevv_baseline_profile: | ||
validate_certs: "{{ validate_certs }}" | ||
hostname: "{{ hostname | ansible.utils.ipwrap }}" | ||
vcenter_username: "{{ vcenter_username }}" | ||
vcenter_password: "{{ vcenter_password }}" | ||
vcenter_uuid: "{{ uuid }}" | ||
|
||
dellemc.openmanage.omevv_firmware_repository_profile: | ||
validate_certs: "{{ validate_certs }}" | ||
hostname: "{{ hostname | ansible.utils.ipwrap }}" | ||
vcenter_username: "{{ vcenter_username }}" | ||
vcenter_password: "{{ vcenter_password }}" | ||
vcenter_uuid: "{{ uuid }}" |
Oops, something went wrong.