0% found this document useful (0 votes)
102 views69 pages

Ansible PowerScale v1.3.0

Uploaded by

604597
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views69 pages

Ansible PowerScale v1.3.0

Uploaded by

604597
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Ansible Modules for

Dell EMC PowerScale 1.3.0

Engineering Knowledge Transfer


Agenda

•Introduction
•New Modules
•Enhancements
•Integrated Use cases

Internal Use - Confidential 2 Of 89


Introduction

•Ansible is a popular configuration management software


•Ansible Modules for PowerScale 1.3.0 is an incremental change from
1.2 release

Internal Use - Confidential 3 Of 89


New Modules

•SyncIQ Policies
•SyncIQ Jobs
•SyncIQ Reports
•SyncIQ Target Reports
•SyncIQ Performance Rules

Internal Use - Confidential 4 Of 89


Enhancements

• Gatherfacts Module is enhanced to list the following entities in a PowerScale

Cluster:

• SyncIQ Policies

• SyncIQ Target Cluster Certificates

• SyncIQ Performance Rules

• SyncIQ Reports

• SyncIQ Target Reports

Internal Use - Confidential 5 Of 89


Support matrix

OneFs Version Supported isi_sdk_version

for oneFS version < 9.0.0.0 isi_sdk_8_1_1

for oneFS version >= 9.0.0.0 isi_sdk_9_0_0

Internal Use - Confidential 6 Of 89


Ansible Stack

Ansible Tower Ansible Playbooks

‘Ansible Modules for PowerScale’ Dell EMC


Ansible deliverables

Python SDK for PowerScale


(isi_sdk_8_1_1 / isi_sdk_9_0_0)

OneFS REST API


Additional deliverables:
OneFS • Documentation

PowerScale

Internal Use - Confidential 7 Of 89


Various Module
Operations

Internal Use - Confidential 8 Of 89


Common Parameters (for all modules)
Mandatory/Optio
Parameter name Explanation Default value Comments
nal

onefs_host IP address or FQDN of the Isilon cluster Mandatory --

port_no Port number Optional 8080

Credentials
api_user Username for accessing the REST API Mandatory -- can be
encrypted
using Ansible
vault.
The users
need to have
admin
access to
api_password Password for accessing the REST API Mandatory -- the access
zone
on which
they want to
operate.

Boolean parameter to indicate insecure


verify_ssl Mandatory --
access

Internal Use - Confidential 9 Of 89


SyncIQ Policy

Internal Use - Confidential 10 Of 89


Supported Operations

•Create a SyncIQ Policy.


•Modify a SyncIQ Policy.
•Create a job on SyncIQ Policy.
•Retrieve details of a SyncIQ Policy.
•Delete a SyncIQ Policy.

Internal Use - Confidential 11 Of 89


Parameters …
Parameter name Type Description Mandatory/Option Default value Comments
al
policy_name str Name of the Policy Optional • Mandatory while creating
policy

• Can be used to
modify/delete policy
action str Action on Policy Optional Mandatory while creating
choices: ['copy', 'sync'] policy

description str Description of policy Optional

enabled bool Indicates whether policy is enabled Optional

run_job str • Run job on the policy Optional


• choices:[ 'on-schedule', 'when-
source-modified', 'when-snapshot-
taken']

job_delay int If run_job is set to when-source- Optional


modified, job_delay is the the duration
to wait after a modification is made
before starting a job.

job_delay_unit str • Unit for job_delay Optional seconds


• choices: ['seconds', 'minutes', 'hours',
'days']

Internal Use - Confidential 12 Of 89


Parameters …
Parameter name Type Description Mandatory/Option Default value Comments
al
new_ policy_name str Rename an existing policy Optional

rpo_alert int • Time in second Optional


• If 0 no rpo alert will be sent
• Option modifiable when run_job is
"on-schedule"
rpo_alert_unit str • Unit of rpo_alert Optional minutes
• choices: ['minutes', 'hours', 'days',
'weeks', 'months', 'years']
skip_when_source_unmod bool • If true and schedule is set , the policy Optional
ified will not run if no changes have been
made to the contents of the source
directory since the last job
successfully completed.
• Option modifiable when run_job is
"on_schedule"
snapshot_sync_pattern str The naming pattern that a snapshot Optional
must match to trigger a sync when the
schedule is when-snapshot-taken.

Internal Use - Confidential 13 Of 89


Parameters …
Parameter name Type Description Mandatory/Opti Default Comments
onal value
schedule str • Schedule set when run_policy is 'on-schedule' Optional
• It is isidate format.
• If the format is not proper the api will throw error.

source_cluster dict • Details of source cluster • Optional. • The path to the


{ source directory
source_root_path: str • However, must be
- description: The root directory on the source cluster the source_root absolute, i.e, it
files will be synced from _path is must start with
source_exclude_directories mandatory ‘/ifs’.
- type: list[str] while
- Description: List of path to the directories that should creating a
be excluded while running a policy policy.
source_include_directories
- type: list[str]
- Description: List of path to the directories that should
be included while running a policy
source_network
- type: dict
- Description: Run the policy only on nodes in the
specified subnet and pool
{
pool: 'str',
subnet: 'str'
}
}

Internal Use - Confidential 14 Of 89


Parameters …
Parameter name Type Description Mandatory/Opti Default Comments
onal value
target_cluster dict Details of the target cluster. Mandatory only • All fields are
Sub-options in dictionary: while creating mandatory except
{ policy restrict target
target_host: network.
- type: str
- description: The host IP or FQDN where we want to • target_certificate
replicate the source, _id is not
target_path: supported in
-type: str isi_sdk_8_1_1.
- description: The directory location to have the replicated
source data, • target_certificate
target_certificate_id: _id and target_ce
-type: str rtificate_name ar
- description: The ID of the target cluster certificate being e mutually
used for encryption., exclusive
target_certificate_name:
-type: str
- description: The name of the target cluster certificate being
used for encryption.,
}

Internal Use - Confidential 15 Of 89


Parameters …
Parameter name Type Description Mandatory/Opti Default Comments
onal value
target_snapshots dict Details of snapshots to be created at the target. Optional
{
target_snapshot_archive:
-type: bool
- description: Indicates whether to take snapshot of the
target

target_snapshot_expiration
-type: int
-description: Expiration time of snapshot. Time 0
means no expiration,

exp_time_unit
- type: str
-description: unit of snapshot expiration time.
choices:['years', 'months', 'weeks', 'days']
- Default: years

}
policy_id str The policy ID assigned after creation of sync IQ policy Optional Can be used while
modify/delete syncIQ
policy

Internal Use - Confidential 16 Of 89


Parameters
Parameter name Type Description Mandatory/Opti Default Comments
onal value
job_params dict Parameters required to create job on policy Optional • action is a
{ mandatory
action: parameter in this
type: str, dictionary
description: 'The action to be taken by this job.', • default value for
choices: ['run', 'resync_prep', 'allow_write', wait_for_completio
'allow_write_revert'], n is False
required: True • workers_per_node
source_snapshot: if not set by default
type: str, is 3
description:'An optional snapshot to copy/sync from.'
workers_per_node:
type: int,
description: 'Specifies the desired workers per node.
Only valid for allow_write, and allow_write_revert'
wait_for_completion:
type: bool,
description: 'Specifies if the job should run
synchronously or in async manner'
}
state str The state of the sync policy. Mandatory Choices: [“'present”,
“absent‘’]

Internal Use - Confidential 17 Of 89


Syntax…
Create SyncIQ Policy

Internal Use - Confidential 18 Of 89


Syntax…
Retrieve a SyncIQ Policy Modify a SyncIQ Policy

Internal Use - Confidential 19 Of 89


Syntax…
Rename a SyncIQ Policy Delete a SyncIQ Policy

Internal Use - Confidential 20 Of 89


Syntax…
Create a job on SyncIQ Policy Create a resync-prep job on SyncIQ
Policy

Internal Use - Confidential 21 Of 89


Syntax
Allow writes on target of SyncIQ Disallow writes on target of SyncIQ
Policy Policy

Internal Use - Confidential 22 Of 89


Output

Internal Use - Confidential 23 Of 89


Output

Internal Use - Confidential 24 Of 89


SyncIQ Jobs

Internal Use - Confidential 25 Of 89


Supported Operations

•Get details of SyncIQ job running on SyncIQ policy.


•Modify state of SyncIQ job.
•Cancel a SyncIQ job.

Internal Use - Confidential 26 Of 89


Parameters

Parameter name Type Description Mandatory/Option Default value Comments


al
job_id str The id or name of the policy Mandatory

job_action str The state of the job Optional


• Choices: [‘run', ‘pause’, ‘cancel’] Mandatory for job state
modify / cancel operations.
state str The state of the SyncIQ job after the Mandatory
task is performed
• Choices: [‘present’, ‘absent’]

Internal Use - Confidential 27 Of 89


Syntax – Get SyncIQ Job details

Internal Use - Confidential 28 Of 89


Syntax – Modify state of SyncIQ Jobs

Pause a SyncIQ Job Resume a SyncIQ Job

Internal Use - Confidential 29 Of 89


Syntax - Cancel a SyncIQ Job

Internal Use - Confidential 30 Of 89


Output

Internal Use - Confidential 31 Of 89


SyncIQ Reports

Internal Use - Confidential 32 Of 89


Supported Operations

•Get all SyncIQ Reports.


•Get details of a single SyncIQ Report.
•Get all SyncIQ Sub Reports.
•Get details of a single SyncIQ Sub Report.

Internal Use - Confidential 33 Of 89


Parameters
Parameter name Type Description Mandatory/ Default value Comments
Optional
id str ID of synciq report or target report Optional

name str Name of synciq report or target Optional


report

sub_report_id str ID of synciq sub-report or synciq Optional This parameter needs to be passed
target sub report. along with report id or report name to
fetch the details of a particular sub-
report.
include_sub_reports boolean Flag to include sub report or target Optional False
sub report
state str •State of report Mandatory
•Choices: ['present', 'absent']

Internal Use - Confidential 34 Of 89


Syntax – Get SyncIQ Report

Using report name Using report id

Internal Use - Confidential 35 Of 89


Syntax –Get all SyncIQ Sub Reports

Using report name Using report id

Internal Use - Confidential 36 Of 89


Syntax –Get single SyncIQ Sub Report

Using report name Using report id

Internal Use - Confidential 37 Of 89


Output

Internal Use - Confidential 38 Of 89


Output

Internal Use - Confidential 39 Of 89


Output

Internal Use - Confidential 40 Of 89


SyncIQ Target Reports

Internal Use - Confidential 41 Of 89


Supported Operations

•Get all SyncIQ Target Reports.


•Get details of a single SyncIQ Target Report.
•Get all SyncIQ Target Sub Reports.
•Get details of a single SyncIQ Target Sub Report.

Internal Use - Confidential 42 Of 89


Parameters
Parameter name Type Description Mandatory/ Default value Comments
Optional
id str ID of synciq report or target report Optional

name str Name of synciq report or target Optional


report

sub_report_id str ID of synciq sub-report or synciq Optional This parameter needs to be passed
target sub report. along with report id or report name to
fetch the details of a particular sub-
report.
include_sub_reports boolean Flag to include sub report or target Optional False
sub report
state str •State of report Mandatory
•Choices: ['present', 'absent']

Internal Use - Confidential 43 Of 89


Syntax – Get SyncIQ Target Report

Using report name Using report id

Internal Use - Confidential 44 Of 89


Syntax –Get all SyncIQ Target Sub Reports

Using report name Using report id

Internal Use - Confidential 45 Of 89


Syntax –Get single SyncIQ Target Sub Report

Using report name Using report id

Internal Use - Confidential 46 Of 89


Output

Internal Use - Confidential 47 Of 89


Output

Internal Use - Confidential 48 Of 89


Output

Internal Use - Confidential 49 Of 89


SyncIQ Performance Rules

Internal Use - Confidential 50 Of 89


Supported Operations

•Create a SyncIQ Performance Rule.


•Modify a SyncIQ Performance Rule.
•Retrieve details of a SyncIQ Performance Rule.
•Delete a SyncIQ Performance Rule.

Internal Use - Confidential 51 Of 89


Parameters …
Parameter name Type Description Mandatory/Option Default value Comments
al
rule_type str Type of rule to be applied. Optional Required while creating a
Choices:["bandwidth", "file_count", rule and deleting the rule
"cpu", "worker"]
This cannot be edited
limit int Limit for the type selected Optional Required while creating a
rule and deleting the rule

schedule dict { begin: 'str' Optional • Format


description: At what time the for begin and end is
performance rule begins, hh:mm (24h format hour,
end: 'str and minute)
description: At what time the
performance rule ends', • Required while creating a
days_of_week: 'list' rule and deleting the rule
choices: ['monday', 'tuesday',
'wednesday', 'thursday',
'friday', 'saturday', 'sunday']
}
sync_rule_id str Generated after creation of sync_rule Optional Required when deleting,
modifying or getting details
of the rule

Internal Use - Confidential 52 Of 89


Parameters
Parameter name Type Description Mandatory/Option Default value Comments
al
description str Description of the rule Optional

enabled bool Enable the performance rule Optional Required while creating a
rule and deleting the rule

state str State of the performance rule Mandatory choices: ['present', 'absent']

Internal Use - Confidential 53 Of 89


Syntax Get details of SyncIQ Performance
Rule
Create a SyncIQ Performance
Rule

Modify SyncIQ Performance Rule

Internal Use - Confidential 54 Of 89


Syntax Output
Delete a SyncIQ Performance
Rule

Internal Use - Confidential 55 Of 89


Enhancement: Gather
Facts

Internal Use - Confidential 56 Of 89


Gather Facts Module Enhancement
•In addition to existing subsets (like users, groups, nodes etc.) below mentioned
subset has been added:

–New subset keys for the same are:


• -synciq_performance_rules
• -synciq_policies
• -synciq_jobs
• -synciq_reports
• -synciq_target_reports
• -synciq_target_cluster_certificates

Internal Use - Confidential 57 Of 89


Syntax: Get list of SyncIQ Reports and Target Reports

Internal Use - Confidential 58 Of 89


Output: Gatherfacts module for SyncIQ Reports and Target
Reports

Internal Use - Confidential 59 Of 89


Syntax

Get list of SyncIQ Policies, Performance Rules and Target Cluster


Certificates

Internal Use - Confidential 60 Of 89


Output List of SyncIQ Policies and Target
Cluster Certificates
List of SyncIQ Performance Rules

Internal Use - Confidential 61 Of 89


Integrated Use cases

Internal Use - Confidential 62 Of 89


Operations

F Operation Module
Create a SyncIQ Performance Rule SyncIQ Performance Rules
Create a SyncIQ Policy SyncIQ Policy
Modify SyncIQ Policy SyncIQ Policy

Create a job on SyncIQ Policy SyncIQ Policy


Modify state of SyncIQ Job SyncIQ Job
Modify SyncIQ Performance Rule SyncIQ Performance Rules
Get SyncIQ Target Report SyncIQ Target Reports

Get SyncIQ Report SyncIQ Reports

Delete SyncIQ Policy SyncIQ Policy

Internal Use - Confidential 63 Of 89


Example:
SyncIQ
Performance
Rules

Internal Use - Confidential 64 Of 89


Example:
SyncIQ
Performance
Rules

Policy
(Policy_SP)

Internal Use - Confidential 65 Of 89


Example:
SyncIQ
Performance
Rules

Policy
(Policy_SP)

Jobs

Internal Use - Confidential 66 Of 89


Example: SyncIQ
Performance
Rules

Policy
(Policy_SP)

Jobs

Internal Use - Confidential 67 Of 89


Example: SyncIQ
Performance
Rules

Policy
(Policy_SP)

Jobs Reports

Internal Use - Confidential 68 Of 89


Thank You

Internal Use - Confidential 69 Of 89

You might also like