├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── CONTRIBUTING.md ├── LICENSE ├── MIGRATING.md ├── README.md ├── VARIABLES.md ├── docs ├── README.CALLHOME.md ├── README.GUI.md ├── README.HDFS.md ├── README.NFS.md ├── README.OBJ.md ├── README.REMOTEMOUNT.md ├── README.SMB.md └── VARIABLES.md ├── galaxy.yml ├── meta └── runtime.yml ├── migrate.sh ├── plugins ├── README.md ├── module_utils │ ├── ibm_spectrumscale_cluster_utils.py │ ├── ibm_spectrumscale_df_utils.py │ ├── ibm_spectrumscale_disk_utils.py │ ├── ibm_spectrumscale_filesystem_utils.py │ ├── ibm_spectrumscale_nsd_utils.py │ ├── ibm_spectrumscale_utils.py │ └── ibm_spectrumscale_zimon_utils.py ├── modules │ ├── __init.py__ │ ├── ibm_spectrumscale_cluster.py │ ├── ibm_spectrumscale_filesystem.py │ └── ibm_spectrumscale_node.py └── test │ ├── cluster │ └── playbooks │ │ └── cluster-get-test.yaml │ ├── filesystem │ └── playbooks │ │ └── filesystem-test.yaml │ └── node │ ├── common │ └── AddNodeStanza.j2 │ ├── playbooks │ ├── node-add-test.yaml │ ├── node-get-test.yaml │ ├── node-remove-test.yaml │ └── node-status-test.yaml │ └── python │ ├── add-node.json │ └── remove-node.json ├── roles ├── afm_cos_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── afm_bucket.yml │ │ ├── afm_configure.yml │ │ ├── afm_gateway.yml │ │ └── main.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── afm_cos_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── afm_cos_prepare │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ └── main.yml ├── afm_cos_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── afm_cos_verify │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ └── main.yml ├── auth_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── auth.yml │ │ ├── main.yml │ │ └── parseFile.yml │ └── vars │ │ └── main.yml ├── callhome_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── configure.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── callhome_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── callhome_prepare │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── callhome_verify │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── ces_common │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ ├── configure.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── core_common │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── set_vars.yml │ │ ├── check.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── set_vars.yml │ │ └── zypper │ │ │ └── set_vars.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── core_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ ├── cluster.yml │ │ ├── cluster_start.yml │ │ ├── config.yml │ │ ├── finalize.yml │ │ ├── install_gplbin.yml │ │ ├── main.yml │ │ ├── removenode.yml │ │ ├── scaleadmd_cluster.yml │ │ ├── scaleadmd_cluster_start.yml │ │ ├── scaleadmd_storage_disk.yml │ │ ├── storage.yml │ │ ├── storage_disk.yml │ │ └── storage_fs.yml │ ├── templates │ │ ├── AddNodeFile.j2 │ │ ├── ChangeFile.j2 │ │ ├── NewNodeFile.j2 │ │ ├── NodeClass.j2 │ │ ├── StanzaFile.j2 │ │ ├── StanzaFile_fs.j2 │ │ └── StanzaFile_nsd.j2 │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── core_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── build.yml │ │ ├── finalize.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_gplbin.yml │ │ ├── install_license_pkg.yml │ │ ├── install_license_repository.yml │ │ ├── install_local_pkg.yml │ │ ├── install_nodeid.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── update.yml │ │ ├── upgrade.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ ├── templates │ │ ├── AddNodeFile.j2 │ │ ├── ChangeFile.j2 │ │ ├── NewNodeFile.j2 │ │ ├── NodeClass.j2 │ │ └── StanzaFile.j2 │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── core_prepare │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── main.yml │ │ └── prepare.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── core_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── build.yml │ │ ├── finalize.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_gplbin.yml │ │ ├── install_license_pkg.yml │ │ ├── install_license_repository.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── core_verify │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ └── main.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── ece_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── create_filesystem.yml │ │ ├── create_recoverygroup.yml │ │ ├── create_vdisk.yml │ │ └── main.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── ece_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ └── yum │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── ece_prepare │ ├── README.md │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── check.yml │ │ └── main.yml ├── ece_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ └── yum │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── fal_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── configure.yml │ │ ├── configure_fal.yml │ │ └── main.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── fal_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── fal_prepare │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ └── main.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── fal_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── fal_verify │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── gui_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── chpasswdpolicy.yml │ │ ├── configure.yml │ │ ├── email.yml │ │ ├── hasi_vault_certificate.yml │ │ ├── hasi_vault_user.yml │ │ ├── ldap.yml │ │ ├── main.yml │ │ ├── snmp.yml │ │ └── users.yml ├── gui_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── gui_prepare │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── inventory_check.yml │ │ └── main.yml ├── gui_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── gui_verify │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ └── main.yml ├── hdfs_configure │ ├── .travis.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── append_dict.yml │ │ ├── configure.yml │ │ ├── env_setup.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── hdfs_install │ ├── .travis.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── prepare_env.yml │ │ └── yum │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── hdfs_prepare │ ├── .travis.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ ├── java_home.yml │ │ ├── main.yml │ │ └── prepare_env.yml │ └── vars │ │ └── main.yml ├── hdfs_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── main.yml │ │ ├── prepare_env.yml │ │ ├── upgrade.yml │ │ ├── upgrade_dir_pkg.yml │ │ ├── upgrade_local_pkg.yml │ │ ├── upgrade_remote_pkg.yml │ │ ├── upgrade_repository.yml │ │ └── yum │ │ │ └── upgrade.yml │ └── vars │ │ └── main.yml ├── hdfs_verify │ ├── .travis.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── mrot_config │ ├── tasks │ │ ├── README.md │ │ ├── common.yaml │ │ ├── logical_subnet_config.yaml │ │ ├── main.yaml │ │ └── mrot_config.yaml │ └── vars │ │ └── main.yaml ├── nfs_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── configure.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── nfs_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── nfs_prepare │ ├── README.md │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── check.yml │ │ └── main.yml ├── nfs_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── nfs_verify │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── obj_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── configure.yml │ │ ├── configure_pmswift.yml │ │ └── main.yml │ ├── templates │ │ └── obj_passwd.j2 │ └── vars │ │ └── main.yml ├── obj_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_pmswift.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ └── yum │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── obj_prepare │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── check.yml │ │ ├── inventory_check.yml │ │ └── main.yml ├── obj_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_pmswift.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ └── yum │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── obj_verify │ ├── README.md │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── openldap_common │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ └── main.yml │ └── vars │ │ └── main.yml ├── perfmon_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── configure.yml │ │ └── main.yml ├── perfmon_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── perfmon_prepare │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ └── main.yml │ └── vars │ │ └── main.yml ├── perfmon_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── perfmon_verify │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ └── main.yml ├── remotemount_configure │ ├── .yamllint │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── molecule │ │ └── default │ │ │ ├── INSTALL.rst │ │ │ ├── converge.yml │ │ │ ├── molecule.yml │ │ │ └── verify.yml │ ├── tasks │ │ ├── cleanup_filesystem_api_cli.yml │ │ ├── cleanup_filesystems.yml │ │ ├── cleanup_remote_mount.yml │ │ ├── cleanup_remote_mount_api_cli.yml │ │ ├── delete_remote_cluster.yml │ │ ├── main.yml │ │ ├── mount_filesystem_api_cli.yml │ │ ├── mount_filesystems.yml │ │ ├── precheck.yml │ │ ├── remotecluster.yml │ │ └── remotecluster_api_cli.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── s3_configure │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── configure.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── s3_install │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── parseFile.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── s3_prepare │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── check.yml │ │ └── main.yml ├── s3_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── s3_verify │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── check.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── scaleadmd_install │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── build.yml │ │ ├── finalize.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_gplbin.yml │ │ ├── install_license_pkg.yml │ │ ├── install_license_repository.yml │ │ ├── install_local_pkg.yml │ │ ├── install_nodeid.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── update.yml │ │ ├── upgrade.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── smb_configure │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── configure.yml │ │ └── main.yml │ └── vars │ │ └── main.yml ├── smb_install │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml ├── smb_prepare │ ├── README.md │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── check.yml │ │ └── main.yml ├── smb_upgrade │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── apt │ │ │ └── install.yml │ │ ├── install.yml │ │ ├── install_dir_pkg.yml │ │ ├── install_local_pkg.yml │ │ ├── install_remote_pkg.yml │ │ ├── install_repository.yml │ │ ├── main.yml │ │ ├── yum │ │ │ └── install.yml │ │ └── zypper │ │ │ └── install.yml │ └── vars │ │ └── main.yml └── smb_verify │ ├── README.md │ ├── defaults │ └── main.yml │ ├── meta │ └── main.yml │ ├── tasks │ ├── check.yml │ └── main.yml │ └── vars │ └── main.yml └── samples ├── ansible.sh ├── daemon_admin_network ├── hosts ├── mrot_compute_host ├── mrot_storage_host ├── playbook_afm_cos.yml ├── playbook_aws.yml ├── playbook_callhome.yml ├── playbook_ces.yml ├── playbook_ces_hdfs.yml ├── playbook_ces_object.yml ├── playbook_cloud.yml ├── playbook_cloud_network_config.yaml ├── playbook_cloud_remote_mount.yml ├── playbook_compute_mrot.yml ├── playbook_directory.yml ├── playbook_fileauditlogging.yml ├── playbook_json_ces.yml ├── playbook_localpkg.yml ├── playbook_nodeclass.yml ├── playbook_remote_mount.yml ├── playbook_remote_mount_cli.yml ├── playbook_remotepkg.yml ├── playbook_repository.yml ├── playbook_storage.yml ├── playbook_storage_mrot.yml ├── set_json_variables.yml ├── set_json_variables_afmcos.yml └── vars ├── afm_cos_template.json ├── callhome_vars.yml ├── ces_vars.yml ├── config_vars.yml ├── fal_vars.yml ├── hdfs_cluster_vars.yml ├── scale_clusterdefinition.json ├── scale_object_vars.yml └── storage_vars.yml /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: 'Type: Bug' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. ... 16 | 17 | 18 | **Expected behavior** 19 | A clear and concise description of what you expected to happen. 20 | 21 | **Environment** 22 | Please run the following an paste your output here: 23 | ``` bash 24 | # Developement 25 | ansible --version 26 | python --version 27 | 28 | # Deployment 29 | rpm -qa | grep gpfs 30 | ``` 31 | **Screenshots** 32 | If applicable, add screenshots to help explain your problem. 33 | 34 | **Additional context** 35 | Add any other context about the problem here. 36 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: 'Type: Enhancement' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /meta/runtime.yml: -------------------------------------------------------------------------------- 1 | --- 2 | requires_ansible: '>=2.9.10' 3 | -------------------------------------------------------------------------------- /plugins/README.md: -------------------------------------------------------------------------------- 1 | # Collections Plugins Directory 2 | 3 | This directory can be used to ship various plugins inside an Ansible collection. Each plugin is placed in a folder that 4 | is named after the type of plugin it is in. It can also include the `module_utils` and `modules` directory that 5 | would contain module utils and modules respectively. 6 | 7 | Here is an example directory of the majority of plugins currently supported by Ansible: 8 | 9 | ``` 10 | └── plugins 11 | ├── action 12 | ├── become 13 | ├── cache 14 | ├── callback 15 | ├── cliconf 16 | ├── connection 17 | ├── filter 18 | ├── httpapi 19 | ├── inventory 20 | ├── lookup 21 | ├── module_utils 22 | ├── modules 23 | ├── netconf 24 | ├── shell 25 | ├── strategy 26 | ├── terminal 27 | ├── test 28 | └── vars 29 | ``` 30 | 31 | A full list of plugin types can be found at [Working With Plugins](https://docs.ansible.com/ansible/2.9/plugins/plugins.html). -------------------------------------------------------------------------------- /plugins/modules/__init.py__: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-install-infra/0469e3ee3ae122929c36a3bd3f1148ae166d0637/plugins/modules/__init.py__ -------------------------------------------------------------------------------- /plugins/test/filesystem/playbooks/filesystem-test.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2020 IBM Corporation 3 | # and other contributors as indicated by the @author tags. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | # 18 | - name: Test Spectrum Scale Cluster Module 19 | hosts: controller 20 | tasks: 21 | - name: Run Filesystem Module 22 | ibm_spectrumscale_filesystem: 23 | op: 'get' 24 | register: module_out 25 | 26 | - name: Dump Filesystem output 27 | debug: 28 | msg: "{{ (module_out.result | from_json).filesystems | map(attribute='deviceName') | list }}" 29 | 30 | -------------------------------------------------------------------------------- /plugins/test/node/common/AddNodeStanza.j2: -------------------------------------------------------------------------------- 1 | {% for host in groups['test_add_nodes'] | sort %} 2 | {{ hostvars[host].inventory_hostname }}:{{hostvars[host].designation }} 3 | {% endfor %} 4 | 5 | -------------------------------------------------------------------------------- /plugins/test/node/playbooks/node-status-test.yaml: -------------------------------------------------------------------------------- 1 | - name: Test Spectrum Scale Node Module 2 | hosts: controller 3 | gather_facts: no 4 | tasks: 5 | - name: Query all node status in the cluster 6 | ibm_spectrumscale_node: 7 | op: "status" 8 | register: nodes_status_info 9 | 10 | - name: Display all node statuses in the cluster 11 | debug: 12 | msg: "{{ nodes_status_info }}" 13 | 14 | - name: Query a single node status in the cluster 15 | ibm_spectrumscale_node: 16 | op: "status" 17 | name: "node1.domain.com" 18 | register: node_status_1_info 19 | 20 | - name: Display a singles node status information 21 | debug: 22 | msg: "{{ node_status_1_info }}" 23 | 24 | -------------------------------------------------------------------------------- /plugins/test/node/python/add-node.json: -------------------------------------------------------------------------------- 1 | { 2 | "ANSIBLE_MODULE_ARGS": { 3 | "state": "present", 4 | "name": "node1.domain.com,node2.domain.com", 5 | "nodefile": "../common/stanza-add-node", 6 | "license": "client" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /plugins/test/node/python/remove-node.json: -------------------------------------------------------------------------------- 1 | { 2 | "ANSIBLE_MODULE_ARGS": { 3 | "state": "absent", 4 | "name": "node1.doamin.com" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /roles/afm_cos_configure/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-install-infra/0469e3ee3ae122929c36a3bd3f1148ae166d0637/roles/afm_cos_configure/README.md -------------------------------------------------------------------------------- /roles/afm_cos_configure/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale AFM Cos Configure role - 3 | ## Spectrum Scale daemon nodename (defaults to node's hostname) 4 | scale_daemon_nodename: "{{ ansible_hostname }}" 5 | 6 | #"scale_afm_cos_bucket_params": [ 7 | # { 8 | # "bucket": "test", 9 | # "akey": "xxxxxxxx", 10 | # "skey": "xxxxxxxx", 11 | # }, 12 | # { 13 | # "bucket": "test1", 14 | # "akey": "xxxxxxxxx", 15 | # "skey": "xxxxxxxxx", 16 | # }, 17 | #] 18 | 19 | #"scale_afm_cos_filesets_params": [ 20 | # { 21 | # "filesystem": "fs1", 22 | # "fileset": "afmfileset1", 23 | # "endpoint": "https://s3.ap.cos.appdomain.cloud:443/bucket-afm1", 24 | # "bucket": "bucket-afm1", 25 | # "mode": "SW", 26 | # }, 27 | # { 28 | # "filesystem": "fs1", 29 | # "fileset": "afmfileset2", 30 | # "endpoint": "https://s3.ap.cos.appdomain.cloud:443/bucket-afm2", 31 | # "bucket": "bucket-afm2", 32 | # "mode": "SW" 33 | # } 34 | #] 35 | 36 | -------------------------------------------------------------------------------- /roles/afm_cos_configure/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for configure -------------------------------------------------------------------------------- /roles/afm_cos_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for configuring IBM Spectrum Scale AFM COS configuration role 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | - 9 17 | 18 | galaxy_tags: [] 19 | 20 | dependencies: [] 21 | -------------------------------------------------------------------------------- /roles/afm_cos_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for configure 3 | - include_tasks: afm_gateway.yml 4 | tags: configure 5 | run_once: true 6 | 7 | - include_tasks: afm_bucket.yml 8 | tags: configure 9 | when: 10 | - scale_afm_cos_bucket_params is defined 11 | with_items: 12 | - "{{ scale_afm_cos_bucket_params }}" 13 | run_once: true 14 | 15 | - include_tasks: afm_configure.yml 16 | tags: configure 17 | when: 18 | - scale_afm_cos_filesets_params is defined 19 | with_items: 20 | - "{{ scale_afm_cos_filesets_params }}" 21 | run_once: true 22 | 23 | 24 | -------------------------------------------------------------------------------- /roles/afm_cos_configure/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/afm_cos_configure/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - configure -------------------------------------------------------------------------------- /roles/afm_cos_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (ECE) (Erasure Code Edition) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/afm_cos_install/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/afm_cos_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (GPFS) AFM COS (HPT) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale GPFS YUM repository 6 | ## (copy the contents of /usr/lpp/mmfs/.../gpfs_rpms/ to build your repository) 7 | # scale_install_repository_url: http://infraserv/ 8 | 9 | ## Note that if this is a URL then a new repository definition will be created. 10 | ## If this variable is set to 'existing' then it is assumed that a repository 11 | ## definition already exists and thus will *not* be created. 12 | 13 | ## Specify the Spectrum Scale architecture that you want to install on your nodes 14 | scale_architecture: "{{ ansible_architecture }}" 15 | 16 | ## List of RPMs to install on GUI nodes 17 | scale_hpt_packages: 18 | - gpfs.afm.cos 19 | 20 | ## you'll likely want to define per-node roles in your inventory 21 | scale_install_package: true 22 | 23 | ## To Enabled output from Ansible task in stdout and stderr for some tasks. 24 | ## Run the playbook with -vv 25 | -------------------------------------------------------------------------------- /roles/afm_cos_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing IBM Spectrum Scale (GPFS) AFM COS package 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/afm_cos_install/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - block: 6 | - name: install | Install GPFS HPT packages 7 | package: 8 | name: "{{ scale_install_all_packages }}" 9 | state: present 10 | when: scale_install_repository_url is defined 11 | 12 | - name: install | Install GPFS HPT packages 13 | apt: 14 | deb: "{{ item }}" 15 | state: present 16 | with_items: 17 | - "{{ scale_install_all_packages }}" 18 | when: scale_install_repository_url is not defined 19 | -------------------------------------------------------------------------------- /roles/afm_cos_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (GPFS) AFM COS (HPT) role 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | when: (scale_install_package | bool) 7 | -------------------------------------------------------------------------------- /roles/afm_cos_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - name: install | Install GPFS HPT packages 6 | package: 7 | name: "{{ scale_install_all_packages }}" 8 | state: present 9 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 10 | -------------------------------------------------------------------------------- /roles/afm_cos_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: install | Install GPFS HPT packages 4 | zypper: 5 | name: "{{ scale_install_all_packages }}" 6 | state: present 7 | disable_gpg_check: no 8 | 9 | -------------------------------------------------------------------------------- /roles/afm_cos_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (HPT) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/afm_cos_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/afm_cos_prepare/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Postcheck IBM Spectrum Scale (HPT) 3 | -------------------------------------------------------------------------------- /roles/afm_cos_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing IBM Spectrum Scale (GPFS) AFM COS (HPT) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/afm_cos_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Postcheck IBM Spectrum Scale (GPFS) AFM COS(HPT) 3 | -------------------------------------------------------------------------------- /roles/afm_cos_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/afm_cos_upgrade/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (GPFS) AFM COS (HPT) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale GPFS YUM repository 6 | ## (copy the contents of /usr/lpp/mmfs/.../gpfs_rpms/ to build your repository) 7 | # scale_install_repository_url: http://infraserv/ 8 | 9 | ## Note that if this is a URL then a new repository definition will be created. 10 | ## If this variable is set to 'existing' then it is assumed that a repository 11 | ## definition already exists and thus will *not* be created. 12 | 13 | ## Specify the Spectrum Scale architecture that you want to install on your nodes 14 | scale_architecture: "{{ ansible_architecture }}" 15 | 16 | ## List of RPMs to install on GUI nodes 17 | scale_hpt_packages: 18 | - gpfs.afm.cos 19 | 20 | ## you'll likely want to define per-node roles in your inventory 21 | scale_install_package: true 22 | 23 | ## To Enabled output from Ansible task in stdout and stderr for some tasks. 24 | ## Run the playbook with -vv 25 | -------------------------------------------------------------------------------- /roles/afm_cos_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing IBM Spectrum Scale (GPFS) AFM COS package 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/afm_cos_upgrade/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - block: 6 | - name: upgrade | Upgrade GPFS HPT packages 7 | package: 8 | name: "{{ scale_install_all_packages }}" 9 | state: latest 10 | when: scale_install_repository_url is defined 11 | 12 | - name: upgrade | Upgrade GPFS HPT packages 13 | apt: 14 | deb: "{{ item }}" 15 | state: latest 16 | with_items: 17 | - "{{ scale_install_all_packages }}" 18 | when: scale_install_repository_url is not defined 19 | -------------------------------------------------------------------------------- /roles/afm_cos_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (GPFS) AFM COS (HPT) role 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | when: (scale_install_package | bool) 7 | -------------------------------------------------------------------------------- /roles/afm_cos_upgrade/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - name: upgrade | Upgrade GPFS HPT packages 6 | package: 7 | name: "{{ scale_install_all_packages }}" 8 | state: latest 9 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 10 | -------------------------------------------------------------------------------- /roles/afm_cos_upgrade/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: upgrade | Upgrade GPFS HPT packages 4 | zypper: 5 | name: "{{ scale_install_all_packages }}" 6 | state: latest 7 | disable_gpg_check: no 8 | -------------------------------------------------------------------------------- /roles/afm_cos_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (HPT) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/afm_cos_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/afm_cos_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Postcheck IBM Spectrum Scale (HPT) 3 | -------------------------------------------------------------------------------- /roles/afm_cos_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing IBM Spectrum Scale (GPFS) AFM COS (HPT) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/afm_cos_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Postcheck IBM Spectrum Scale (GPFS) AFM COS(HPT) 3 | -------------------------------------------------------------------------------- /roles/auth_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/auth_upgrade/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for authentication -------------------------------------------------------------------------------- /roles/auth_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/auth_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for authentication 3 | - import_tasks: auth.yml 4 | tags: auth 5 | -------------------------------------------------------------------------------- /roles/auth_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (scale_auth) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/callhome_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.CALLHOME.md -------------------------------------------------------------------------------- /roles/callhome_configure/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (callhome) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Flag to enable callhome proxy 6 | #scale_callhome_proxy_status: false 7 | -------------------------------------------------------------------------------- /roles/callhome_configure/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for cluster -------------------------------------------------------------------------------- /roles/callhome_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.callhome_prepare 21 | -------------------------------------------------------------------------------- /roles/callhome_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for cluster 3 | - import_tasks: configure.yml 4 | when: scale_callhome_params is defined and scale_callhome_params.is_enabled|bool 5 | tags: config 6 | -------------------------------------------------------------------------------- /roles/callhome_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (callhome) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/callhome_install/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.CALLHOME.md -------------------------------------------------------------------------------- /roles/callhome_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (callhome) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | 6 | ## Specify the URL of the (existing) Spectrum Scale YUM repository 7 | #scale_install_callhome_repository_rpms: http:///gpfs_rpms/ 8 | #scale_install_callhome_repository_debs: http:///gpfs_debs/ 9 | 10 | ## List of GPFS callhome packages to install 11 | scale_callhome_packages: 12 | - gpfs.callhome-ecc-client 13 | - gpfs.java 14 | 15 | ## Temporary directory to copy installation package to 16 | ## (local package installation method) 17 | scale_install_localpkg_tmpdir_path: /tmp 18 | -------------------------------------------------------------------------------- /roles/callhome_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/callhome_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/callhome_install/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS Callhome packages 3 | package: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | when: scale_install_repository_url is defined 7 | 8 | - name: install| Install GPFS Callhome deb 9 | apt: 10 | deb: "{{ item }}" 11 | state: present 12 | when: scale_install_repository_url is not defined 13 | with_items: 14 | - "{{ scale_install_all_packages }}" 15 | 16 | -------------------------------------------------------------------------------- /roles/callhome_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (GPFS) Callhome 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | when: 7 | - scale_callhome_params is defined and scale_callhome_params.is_enabled|bool 8 | - scale_version is version_compare('5.1.0', '<') 9 | 10 | -------------------------------------------------------------------------------- /roles/callhome_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS Callhome packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | -------------------------------------------------------------------------------- /roles/callhome_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Disable repo metadata gpg check 3 | command: "zypper modifyrepo --gpgcheck-allow-unsigned-repo --all" 4 | 5 | - name: install | Install GPFS Callhome packages 6 | zypper: 7 | name: "{{ scale_install_all_packages }}" 8 | state: present 9 | disable_gpg_check: no 10 | 11 | - name: install | Enable repo metadata gpg check 12 | command: "zypper modifyrepo --default-gpgcheck --all" 13 | -------------------------------------------------------------------------------- /roles/callhome_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (callhome) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## IBM Spectrum Scale default exracted path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | 11 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 12 | -------------------------------------------------------------------------------- /roles/callhome_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.CALLHOME.md -------------------------------------------------------------------------------- /roles/callhome_prepare/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (callhome) role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/callhome_prepare/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for precheck 3 | -------------------------------------------------------------------------------- /roles/callhome_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/callhome_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for precheck 3 | - import_tasks: check.yml 4 | when: scale_callhome_params is defined and scale_callhome_params.is_enabled|bool 5 | tags: prepare 6 | -------------------------------------------------------------------------------- /roles/callhome_prepare/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (callhome) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/callhome_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.CALLHOME.md -------------------------------------------------------------------------------- /roles/callhome_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for postcheck 3 | -------------------------------------------------------------------------------- /roles/callhome_verify/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for postcheck -------------------------------------------------------------------------------- /roles/callhome_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | # - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/callhome_verify/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: postcheck | Check callhome serivce post configuration 4 | shell: 5 | cmd: "{{ scale_command_path }}mmcallhome test connection| grep OK" 6 | register: scale_callhome_status 7 | ignore_errors: true 8 | 9 | - debug: 10 | msg: "The call home configuration is not completed successfully.Verify the configuration details and retry" 11 | when: scale_callhome_status.stdout=="" 12 | 13 | - debug: 14 | msg: "Callhome installed and configured." 15 | when: scale_callhome_status.stdout!="" 16 | when: ansible_hostname== scale_callhome_params.callhome_server 17 | -------------------------------------------------------------------------------- /roles/callhome_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for postcheck 3 | - include_tasks: check.yml 4 | when: scale_callhome_params is defined and scale_callhome_params.is_enabled|bool 5 | 6 | 7 | -------------------------------------------------------------------------------- /roles/callhome_verify/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (callhome) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/ces_common/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/ces_common/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | ## Spectrum Scale daemon nodename (defaults to node's hostname) 3 | scale_daemon_nodename: "{{ ansible_hostname }}" 4 | 5 | ## Spectrum Scale admin nodename (defaults to node's hostname) 6 | scale_admin_nodename: "{{ scale_daemon_nodename }}" 7 | 8 | # Default variables for the IBM Spectrum Scale (NFS) role - 9 | # either edit this file or define your own variables to override the defaults 10 | # If ces groups is defined, scale_protocols in scale_clusterdefinition.json will look like below 11 | #"scale_protocols":{ 12 | # "smb": false, 13 | # "nfs": false, 14 | # "interface": [interface1,interface2], 15 | # "scale_ces_groups":[ 16 | # { 17 | # "group_name": "group1", 18 | # "node_list": [host-vm1,host-vm2], 19 | # "export_ip_pool": [192.168.100.100,192.168.100.101] 20 | # }, 21 | # { 22 | # "group_name": "group2", 23 | # "node_list": [host-vm3], 24 | # "export_ip_pool": [192.168.100.102,192.168.100.103] 25 | # } 26 | # ], 27 | # "filesystem": cesSharedRoot, 28 | # "mountpoint": /gpfs/cesSharedRoot 29 | # } 30 | -------------------------------------------------------------------------------- /roles/ces_common/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/ces_common/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for common 3 | - include_tasks: check.yml 4 | when: "scale_protocols is defined and 5 | (scale_protocols.nfs is defined and scale_protocols.nfs|bool) or 6 | (scale_protocols.smb is defined and scale_protocols.smb|bool) or 7 | (scale_protocols.object is defined and scale_protocols.object|bool) or 8 | (scale_protocols.hdfs is defined and scale_protocols.hdfs|bool) or 9 | (scale_protocols.s3 is defined and scale_protocols.s3|bool)" 10 | tags: always 11 | 12 | - include_tasks: configure.yml 13 | when: "scale_protocols is defined and 14 | (scale_protocols.nfs is defined and scale_protocols.nfs|bool) or 15 | (scale_protocols.smb is defined and scale_protocols.smb|bool) or 16 | (scale_protocols.object is defined and scale_protocols.object|bool) or 17 | (scale_protocols.hdfs is defined and scale_protocols.hdfs|bool) or 18 | (scale_protocols.s3 is defined and scale_protocols.s3|bool)" 19 | tags: configure 20 | -------------------------------------------------------------------------------- /roles/core_common/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/core_common/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Handlers for the common role for IBM Spectrum Scale (GPFS) cluster role 3 | # handlers file for node 4 | - name: yum-clean-metadata 5 | command: yum clean metadata 6 | -------------------------------------------------------------------------------- /roles/core_common/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: [] 19 | -------------------------------------------------------------------------------- /roles/core_common/tasks/apt/set_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: set | Get architecture 3 | command: dpkg --print-architecture 4 | register: scale_ubuntu_arch 5 | changed_when: false 6 | 7 | - name: set | Set scale_architecture 8 | set_fact: 9 | scale_architecture: "{{ scale_ubuntu_arch.stdout }}" 10 | 11 | - name: set | apt gpfs base path 12 | set_fact: 13 | scale_gpfs_path_url: "{{ scale_extracted_path }}/gpfs_debs" 14 | when: 15 | - scale_install_localpkg_path is defined or scale_install_remotepkg_path is defined 16 | -------------------------------------------------------------------------------- /roles/core_common/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Common role for IBM Spectrum Scale (GPFS) 3 | 4 | - import_tasks: check.yml 5 | tags: always 6 | -------------------------------------------------------------------------------- /roles/core_common/tasks/yum/set_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: set | yum gpfs base path 3 | set_fact: 4 | scale_gpfs_path_url: '{{ scale_extracted_path }}/gpfs_rpms' 5 | when: 6 | - scale_install_localpkg_path is defined or scale_install_remotepkg_path is defined 7 | 8 | - name: set | gpg key check 9 | set_fact: 10 | scale_install_gpgcheck: "no" 11 | scale_disable_gpgcheck: "yes" 12 | when: scale_version < '5.0.5.0' 13 | 14 | -------------------------------------------------------------------------------- /roles/core_common/tasks/zypper/set_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: set | suse gpfs base path 3 | set_fact: 4 | scale_gpfs_path_url: '{{ scale_extracted_path }}/gpfs_rpms' 5 | when: 6 | - scale_install_localpkg_path is defined or scale_install_remotepkg_path is defined 7 | -------------------------------------------------------------------------------- /roles/core_common/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/core_common/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - node -------------------------------------------------------------------------------- /roles/core_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/core_configure/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Handlers for the IBM Spectrum Scale (GPFS) cluster role 3 | 4 | - name: accept-server-licenses 5 | command: /usr/lpp/mmfs/bin/mmchlicense server --accept -N serverLicense 6 | listen: accept-licenses 7 | failed_when: false 8 | 9 | - name: accept-client-licenses 10 | command: /usr/lpp/mmfs/bin/mmchlicense client --accept -N clientLicense 11 | listen: accept-licenses 12 | failed_when: false 13 | 14 | - name: wait-daemon-active 15 | shell: /usr/lpp/mmfs/bin/mmgetstate -N {{ scale_daemon_node_list | join(',') }} -Y | grep -v HEADER | cut -d ':' -f 9 16 | register: state 17 | until: 18 | - ((state.stdout_lines | union(scale_active_states)) | length) == (scale_active_states | length) 19 | - "'active' in state.stdout_lines" 20 | retries: 10 21 | delay: 30 22 | changed_when: false 23 | delegate_to: "{{ delegate_node }}" 24 | when: scale_daemon_node_list | length > 0 25 | -------------------------------------------------------------------------------- /roles/core_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: [] 19 | -------------------------------------------------------------------------------- /roles/core_configure/tasks/install_gplbin.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install Linux kernel extension from pre-built RPM 3 | 4 | # 5 | # Configure YUM repository 6 | # 7 | - name: install | Configure GPL module YUM repository 8 | yum_repository: 9 | name: spectrum-scale-gplbin 10 | description: IBM Spectrum Scale (GPFS) GPL module 11 | baseurl: "{{ scale_install_gplbin_repository_url }}" 12 | gpgcheck: false 13 | state: present 14 | notify: yum-clean-metadata 15 | when: 16 | - ansible_pkg_mgr == 'yum' or ansible_pkg_mgr == 'dnf' 17 | - scale_install_gplbin_repository_url is defined 18 | - scale_install_gplbin_repository_url != 'existing' 19 | 20 | # 21 | # Add kernel extension prereqs 22 | # 23 | - name: install | Add dependencies for pre-built GPL module to list 24 | set_fact: 25 | scale_install_all_rpms: "{{ scale_install_all_rpms + [ item ] }}" 26 | with_items: "{{ scale_install_gplbin_prereqs }}" 27 | 28 | # 29 | # Add kernel extension RPM 30 | # 31 | - name: install | Add GPL module RPM to list 32 | set_fact: 33 | scale_install_all_rpms: "{{ scale_install_all_rpms + [ scale_install_gplbin_package ] }}" 34 | -------------------------------------------------------------------------------- /roles/core_configure/templates/AddNodeFile.j2: -------------------------------------------------------------------------------- 1 | {% for host in groups['scale_cluster_candidates'] | sort %} 2 | {{ hostvars[host].scale_daemon_nodename }}:nonquorum-client::client 3 | 4 | {% endfor %} 5 | -------------------------------------------------------------------------------- /roles/core_configure/templates/ChangeFile.j2: -------------------------------------------------------------------------------- 1 | {% for host in ansible_play_hosts | sort %} 2 | {{ hostvars[host].scale_daemon_nodename }} --{% if hostvars[host].scale_cluster_quorum | bool %}quorum{% else %}nonquorum{% endif %} --{% if hostvars[host].scale_cluster_manager | bool %}manager{% else %}client{% endif %} 3 | 4 | {% endfor %} 5 | -------------------------------------------------------------------------------- /roles/core_configure/templates/NewNodeFile.j2: -------------------------------------------------------------------------------- 1 | {% for host in groups['scale_cluster_candidates'] | sort %} 2 | {{ hostvars[host].scale_daemon_nodename }}:{% if hostvars[host].scale_cluster_quorum | bool %}quorum{% else %}nonquorum{% endif %}-{% if hostvars[host].scale_cluster_manager | bool %}manager{% else %}client{% endif %}:{{ hostvars[host].scale_admin_nodename }} 3 | {% endfor %} 4 | 5 | -------------------------------------------------------------------------------- /roles/core_configure/templates/NodeClass.j2: -------------------------------------------------------------------------------- 1 | {% for host in groups['scale_nodeclass_' + current_nodeclass] | sort %} 2 | {{ hostvars[host].scale_daemon_nodename }} 3 | {% endfor %} 4 | -------------------------------------------------------------------------------- /roles/core_configure/templates/StanzaFile.j2: -------------------------------------------------------------------------------- 1 | {% for fs in scale_storage if fs.filesystem == current_fs %} 2 | {% for disk in fs.disks if disk.device is defined and disk.nsd | default('nsd_' + disk.servers.split(',')[0] | replace("-", "_") | replace(".", "_") | replace(",", "_") + '_' + disk.device | basename) in current_nsds -%} 3 | 4 | {% set default_nsd = 'nsd_' + disk.servers.split(',')[0] | replace("-", "_") | replace(".", "_") + '_' + disk.device | basename %} 5 | {% set default_usage = 'dataAndMetadata' if disk.pool | default('system') == 'system' else 'dataOnly' -%} 6 | 7 | %nsd: 8 | device={{ disk.device }} 9 | nsd={{ disk.nsd | default(default_nsd) }} 10 | servers={{ disk.servers }} 11 | usage={{ disk.usage | default(default_usage) }} 12 | failureGroup={{ disk.failureGroup | default(-1) }} 13 | pool={{ disk.pool | default('system') }} 14 | 15 | {% endfor %} 16 | {% endfor %} 17 | -------------------------------------------------------------------------------- /roles/core_configure/templates/StanzaFile_fs.j2: -------------------------------------------------------------------------------- 1 | {% for disk in scale_disks if disk.device is defined and disk.nsd | default('nsd_' + disk.servers.split(',')[0] | replace("-", "_") | replace(".", "_") | replace(",", "_") + '_' + disk.device | basename) in current_nsds and disk.filesystem is defined and disk.filesystem == current_fs %} 2 | 3 | {% set default_nsd = 'nsd_' + disk.servers.split(',')[0] | replace("-", "_") | replace(".", "_") + '_' + disk.device | basename %} 4 | {% set default_usage = 'dataAndMetadata' if disk.pool | default('system') == 'system' else 'dataOnly' -%} 5 | 6 | %nsd: 7 | device={{ disk.device }} 8 | nsd={{ disk.nsd | default(default_nsd) }} 9 | servers={{ disk.servers }} 10 | usage={{ disk.usage | default(default_usage) }} 11 | failureGroup={{ disk.failureGroup | default(-1) }} 12 | pool={{ disk.pool | default('system') }} 13 | 14 | {% endfor %} 15 | -------------------------------------------------------------------------------- /roles/core_configure/templates/StanzaFile_nsd.j2: -------------------------------------------------------------------------------- 1 | {% for disk in scale_disks if disk.device is defined and disk.nsd | default('nsd_' + disk.servers.split(',')[0] | replace("-", "_") | replace(".", "_") | replace(",", "_") + '_' + disk.device | basename) in current_nsds %} 2 | 3 | {% set default_nsd = 'nsd_' + disk.servers.split(',')[0] | replace("-", "_") | replace(".", "_") + '_' + disk.device | basename %} 4 | {% set default_usage = 'dataAndMetadata' if disk.pool | default('system') == 'system' else 'dataOnly' -%} 5 | 6 | %nsd: 7 | device={{ disk.device }} 8 | nsd={{ disk.nsd | default(default_nsd) }} 9 | servers={{ disk.servers }} 10 | usage={{ disk.usage | default(default_usage) }} 11 | {% if disk.usage | default(default_usage) != 'localCache' %}failureGroup={{ disk.failureGroup | default(-1) }} 12 | pool={{ disk.pool | default('system') }} 13 | {% endif %} 14 | 15 | {% endfor %} 16 | -------------------------------------------------------------------------------- /roles/core_configure/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/core_configure/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - node -------------------------------------------------------------------------------- /roles/core_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | 6 | ## Minimum Spectrum Scale version that this role was tested with 7 | scale_minversion: 4.1.1 8 | 9 | ## Compute RPM version from Spectrum Scale version 10 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 11 | 12 | ## Supported package managers 13 | scale_pkg_mgr: 14 | - yum 15 | - dnf 16 | 17 | ## Remember if RPMs were updated or not 18 | scale_install_updated: false 19 | 20 | ## Remember if config params were changed or not 21 | scale_config_changed: false 22 | 23 | # GPFS daemon state 24 | scale_active_states: 25 | - active 26 | 27 | # scale supported profile 28 | scale_cluster_system_profile: 29 | - gpfsprotocoldefaults 30 | - gpfsprotocolrandomio 31 | 32 | # user defined profile needs to be installed inside this directory 33 | scale_cluster_profile_system_path: /var/mmfs/etc/ 34 | 35 | # default mm command exection path 36 | scale_command_path: /usr/lpp/mmfs/bin/ 37 | -------------------------------------------------------------------------------- /roles/core_install/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/core_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Handlers for the IBM Spectrum Scale (GPFS) node role 3 | # handlers file for node 4 | - name: yum-clean-metadata 5 | command: yum clean metadata 6 | -------------------------------------------------------------------------------- /roles/core_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: 19 | - ibm.spectrum_scale.core_common 20 | -------------------------------------------------------------------------------- /roles/core_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install and configure IBM Spectrum Scale (GPFS) 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | 7 | - import_tasks: build.yml 8 | tags: build 9 | 10 | - import_tasks: install_nodeid.yml 11 | tags: install 12 | when: 13 | - scale_scaleadmd is defined 14 | - hostvars[inventory_hostname].node_cert is defined and hostvars[inventory_hostname].node_cert != "None" 15 | - hostvars[inventory_hostname].node_cert_key is defined and hostvars[inventory_hostname].node_cert_key != "None" 16 | - hostvars[inventory_hostname].node_cert_chain is defined and hostvars[inventory_hostname].node_cert_chain != "None" 17 | -------------------------------------------------------------------------------- /roles/core_install/templates/AddNodeFile.j2: -------------------------------------------------------------------------------- 1 | {% for host in groups['scale_cluster_candidates'] | sort %} 2 | {{ hostvars[host].scale_daemon_nodename }}:nonquorum-client 3 | 4 | {% endfor %} 5 | -------------------------------------------------------------------------------- /roles/core_install/templates/ChangeFile.j2: -------------------------------------------------------------------------------- 1 | {% for host in ansible_play_hosts | sort %} 2 | {{ hostvars[host].scale_daemon_nodename }} --{% if hostvars[host].scale_cluster_quorum | bool %}quorum{% else %}nonquorum{% endif %} --{% if hostvars[host].scale_cluster_manager | bool %}manager{% else %}client{% endif %} 3 | 4 | {% endfor %} 5 | -------------------------------------------------------------------------------- /roles/core_install/templates/NewNodeFile.j2: -------------------------------------------------------------------------------- 1 | {% for host in groups['scale_cluster_candidates'] | sort %} 2 | {{ hostvars[host].scale_daemon_nodename }}:{% if hostvars[host].scale_cluster_quorum | bool %}quorum{% else %}nonquorum{% endif %}-{% if hostvars[host].scale_cluster_manager | bool %}manager{% else %}client{% endif %} 3 | 4 | {% endfor %} 5 | -------------------------------------------------------------------------------- /roles/core_install/templates/NodeClass.j2: -------------------------------------------------------------------------------- 1 | {% for host in groups['scale_nodeclass_' + current_nodeclass] | sort %} 2 | {{ hostvars[host].scale_daemon_nodename }} 3 | {% endfor %} 4 | -------------------------------------------------------------------------------- /roles/core_install/templates/StanzaFile.j2: -------------------------------------------------------------------------------- 1 | {% for host in ansible_play_hosts if hostvars[host].scale_storage is defined %} 2 | {% for fs in hostvars[host].scale_storage if fs.filesystem == current_fs %} 3 | {% for disk in fs.disks if disk.device is defined and disk.nsd | default('nsd_' + hostvars[host].scale_daemon_nodename + '_' + disk.device | basename) in current_nsds -%} 4 | 5 | {% set default_nsd = 'nsd_' + hostvars[host].scale_daemon_nodename + '_' + disk.device | basename %} 6 | {% set default_usage = 'dataAndMetadata' if disk.pool | default('system') == 'system' else 'dataOnly' -%} 7 | 8 | %nsd: 9 | device={{ disk.device }} 10 | nsd={{ disk.nsd | default(default_nsd) }} 11 | servers={{ disk.servers | default(hostvars[host].scale_daemon_nodename) }} 12 | usage={{ disk.usage | default(default_usage) }} 13 | failureGroup={{ disk.failureGroup | default(-1) }} 14 | pool={{ disk.pool | default('system') }} 15 | 16 | {% endfor %} 17 | {% endfor %} 18 | {% endfor %} 19 | -------------------------------------------------------------------------------- /roles/core_install/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/core_install/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - node -------------------------------------------------------------------------------- /roles/core_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | 6 | ## Minimum Spectrum Scale version that this role was tested with 7 | scale_minversion: 4.1.1 8 | 9 | ## Compute RPM version from Spectrum Scale version 10 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 11 | 12 | ## Supported package managers 13 | scale_pkg_mgr: 14 | - yum 15 | - dnf 16 | - apt 17 | - zypper 18 | 19 | ## Remember if RPMs were updated or not 20 | scale_install_updated: false 21 | 22 | ## Remember if config params were changed or not 23 | scale_config_changed: false 24 | 25 | ## Supported scale os distrubution 26 | scale_ubuntu_distribution: 27 | - Ubuntu 28 | - Debian 29 | 30 | ## Supported scale os distrubution 31 | scale_rhel_distribution: 32 | - RedHat 33 | - CentOS 34 | 35 | ## Supported scale os distrubution 36 | scale_sles_distribution: 37 | - SLES 38 | - Suse 39 | -------------------------------------------------------------------------------- /roles/core_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/core_prepare/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Handlers for the IBM Spectrum Scale (GPFS) role 3 | 4 | - name: reload-sshd 5 | service: 6 | name: sshd 7 | state: reloaded 8 | 9 | - name: reboot-manual 10 | fail: 11 | msg: >- 12 | A server reboot is required! 13 | listen: reboot 14 | when: not scale_reboot_automatic 15 | 16 | - name: reboot-automatic 17 | shell: sleep 2 && shutdown -r now "Ansible reboot" 18 | listen: reboot 19 | notify: wait-for-server 20 | when: scale_reboot_automatic 21 | async: 1 22 | poll: 0 23 | ignore_errors: true 24 | 25 | - name: wait-for-server 26 | wait_for_connection: 27 | delay: 45 28 | timeout: 300 29 | delegate_to: localhost 30 | -------------------------------------------------------------------------------- /roles/core_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: 19 | - ibm.spectrum_scale.core_common 20 | -------------------------------------------------------------------------------- /roles/core_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Precheck IBM Spectrum Scale (GPFS) 3 | 4 | - import_tasks: prepare.yml 5 | tags: prepare 6 | -------------------------------------------------------------------------------- /roles/core_prepare/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/core_prepare/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - node -------------------------------------------------------------------------------- /roles/core_prepare/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | 6 | ## Minimum Spectrum Scale version that this role was tested with 7 | scale_minversion: 4.1.1 8 | 9 | ## Compute RPM version from Spectrum Scale version 10 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 11 | 12 | ## Supported package managers 13 | scale_pkg_mgr: 14 | - yum 15 | - dnf 16 | - apt 17 | - zypper 18 | 19 | ## Remember if RPMs were updated or not 20 | scale_install_updated: false 21 | 22 | ## Remember if config params were changed or not 23 | scale_config_changed: false 24 | -------------------------------------------------------------------------------- /roles/core_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/core_upgrade/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Handlers for the IBM Spectrum Scale (GPFS) node role 3 | # handlers file for node 4 | - name: yum-clean-metadata 5 | command: yum clean metadata 6 | -------------------------------------------------------------------------------- /roles/core_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: 19 | - ibm.spectrum_scale.core_common 20 | -------------------------------------------------------------------------------- /roles/core_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install and configure IBM Spectrum Scale (GPFS) 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | 7 | - import_tasks: build.yml 8 | tags: build 9 | -------------------------------------------------------------------------------- /roles/core_upgrade/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - block: ## when: not scale_daemon_running 6 | - block: 7 | - name: upgrade | Upgrade GPFS packages 8 | zypper: 9 | name: "{{ scale_install_all_packages }}" 10 | state: latest 11 | disable_gpg_check: no 12 | register: scale_install_zypppackageresult 13 | 14 | - name: upgrade | Upgrade GPFS License packages 15 | zypper: 16 | name: "{{ scale_install_license_packages }}" 17 | state: latest 18 | disable_gpg_check: no 19 | register: scale_install_license_packageresult 20 | 21 | - name: upgrade | Check if GPFS packages were updated 22 | set_fact: 23 | scale_install_updated: true 24 | when: 25 | - (scale_install_zypppackageresult.changed) 26 | -------------------------------------------------------------------------------- /roles/core_upgrade/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/core_upgrade/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - node -------------------------------------------------------------------------------- /roles/core_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | 6 | ## Minimum Spectrum Scale version that this role was tested with 7 | scale_minversion: 4.1.1 8 | 9 | ## Compute RPM version from Spectrum Scale version 10 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 11 | 12 | ## Supported package managers 13 | scale_pkg_mgr: 14 | - yum 15 | - dnf 16 | - apt 17 | - zypper 18 | 19 | ## Remember if RPMs were updated or not 20 | scale_install_updated: false 21 | 22 | ## Remember if config params were changed or not 23 | scale_config_changed: false 24 | 25 | ## Supported scale os distrubution 26 | scale_ubuntu_distribution: 27 | - Ubuntu 28 | - Debian 29 | 30 | ## Supported scale os distrubution 31 | scale_rhel_distribution: 32 | - RedHat 33 | - CentOS 34 | 35 | ## Supported scale os distrubution 36 | scale_sles_distribution: 37 | - SLES 38 | - Suse 39 | -------------------------------------------------------------------------------- /roles/core_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/core_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (GPFS) common role - 3 | -------------------------------------------------------------------------------- /roles/core_verify/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Handlers for the IBM Spectrum Scale (GPFS) postcheck role 3 | -------------------------------------------------------------------------------- /roles/core_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: [] 19 | -------------------------------------------------------------------------------- /roles/core_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Postcheck IBM Spectrum Scale (GPFS) 3 | -------------------------------------------------------------------------------- /roles/core_verify/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/core_verify/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - node -------------------------------------------------------------------------------- /roles/core_verify/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) postcheck role - 3 | -------------------------------------------------------------------------------- /roles/ece_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/ece_configure/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for configure -------------------------------------------------------------------------------- /roles/ece_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for configuring IBM Spectrum Scale (GPFS) Erasure Code Edition configuration role 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/ece_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for configure 3 | - include_tasks: create_recoverygroup.yml 4 | tags: configure 5 | when: 6 | - scale_ece_rg is defined 7 | with_items: 8 | - "{{ scale_ece_rg }}" 9 | run_once: true 10 | 11 | - include_tasks: create_vdisk.yml 12 | tags: configure 13 | when: 14 | - scale_ece_vdisk is defined 15 | with_items: 16 | - "{{ scale_ece_vdisk }}" 17 | run_once: true 18 | 19 | - include_tasks: create_filesystem.yml 20 | tags: configure 21 | when: 22 | - scale_ece_filesystem is defined 23 | with_items: 24 | - "{{ scale_ece_filesystem }}" 25 | run_once: true 26 | -------------------------------------------------------------------------------- /roles/ece_configure/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/ece_configure/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - configure -------------------------------------------------------------------------------- /roles/ece_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (ECE) (Erasure Code Edition) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/ece_install/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/ece_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | scale_gnr_packages: 3 | - gpfs.gnr 4 | - gpfs.gnr.base 5 | - gpfs.gnr.support-scaleout 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | scale_install_localpkg_tmpdir_path: /tmp 8 | -------------------------------------------------------------------------------- /roles/ece_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/ece_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for configuring IBM Spectrum Scale (GPFS) Erasure Code Edition configuration role 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/ece_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for install 3 | - import_tasks: install.yml 4 | tags: install 5 | -------------------------------------------------------------------------------- /roles/ece_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS gnr packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | -------------------------------------------------------------------------------- /roles/ece_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the Erasure code Edition node role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/ece_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/ece_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for configuring IBM Spectrum Scale (GPFS) Erasure Code Edition configuration role 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/ece_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for precheck 3 | - import_tasks: check.yml 4 | tags: check 5 | -------------------------------------------------------------------------------- /roles/ece_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/ece_upgrade/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | scale_gnr_packages: 3 | - gpfs.gnr 4 | - gpfs.gnr.base 5 | - gpfs.gnr.support-scaleout 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | scale_install_localpkg_tmpdir_path: /tmp 8 | -------------------------------------------------------------------------------- /roles/ece_upgrade/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/ece_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for configuring IBM Spectrum Scale (GPFS) Erasure Code Edition configuration role 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/ece_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for install 3 | - import_tasks: install.yml 4 | tags: install 5 | -------------------------------------------------------------------------------- /roles/ece_upgrade/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade GPFS gnr packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | update_only: yes 7 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 8 | when: ansible_pkg_mgr == 'yum' 9 | 10 | - name: upgrade | Upgrade GPFS gnr packages 11 | package: 12 | name: "{{ scale_install_all_packages }}" 13 | state: latest 14 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 15 | when: ansible_distribution in scale_rhel_distribution and ansible_distribution_major_version >= '8' 16 | -------------------------------------------------------------------------------- /roles/ece_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the Erasure code Edition node role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/fal_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/fal_configure/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (GPFS) (audit logging) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Flag to enable fileauditlogging 6 | scale_fal_enable: true 7 | 8 | ## Default filesystem parameters for file audit logging- 9 | ## can be overridden for each filesystem individually 10 | scale_storage_fal_defaults: 11 | logfileset: .audit_log 12 | retention: 365 13 | ## To Enabled output from Ansible task in stdout and stderr for some tasks. 14 | ## Run the playbook with -vv 15 | -------------------------------------------------------------------------------- /roles/fal_configure/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for configure -------------------------------------------------------------------------------- /roles/fal_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) fileauditlogging 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/fal_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for configure 3 | - import_tasks: configure.yml 4 | tags: configure 5 | when: 6 | - scale_fal_enable | bool 7 | - scale_filesystem is undefined 8 | - scale_storage is defined 9 | 10 | - import_tasks: configure_fal.yml 11 | tags: configure 12 | when: 13 | - scale_fal_enable | bool 14 | - scale_filesystem is defined 15 | - scale_storage is undefined 16 | -------------------------------------------------------------------------------- /roles/fal_configure/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/fal_configure/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - configure -------------------------------------------------------------------------------- /roles/fal_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (File audit logging) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/fal_install/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/fal_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (GPFS) (audit logging) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale file audit logging repository 6 | ## (copy the contents of /usr/lpp/mmfs/.../gpfs_rpms/rhel7 to build your repository) 7 | # scale_install_repository_url: http://infraserv/ 8 | 9 | ## Note that if this is a URL then a new repository definition will be created. 10 | ## If this variable is set to 'existing' then it is assumed that a repository 11 | ## definition already exists and thus will *not* be created. 12 | 13 | ## Specify the Spectrum Scale architecture that you want to install on your nodes 14 | scale_architecture: "{{ ansible_architecture }}" 15 | 16 | ## List of packages to install for file audit logging 17 | scale_auditlogging_packages: 18 | - gpfs.librdkafka* 19 | 20 | ## Flag to enable fileauditlogging 21 | scale_fal_enable: true 22 | 23 | ## To Enabled output from Ansible task in stdout and stderr for some tasks. 24 | ## Run the playbook with -vv 25 | -------------------------------------------------------------------------------- /roles/fal_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) fileauditlogging 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/fal_install/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # 4 | # Install or update RPMs 5 | # 6 | - name: install | Install GPFS file audit logging packages 7 | package: 8 | name: "{{ scale_install_all_packages }}" 9 | state: present 10 | when: scale_install_repository_url is defined 11 | 12 | - block: 13 | - name: install | Install GPFS file audit logging packages 14 | apt: 15 | deb: "{{ item }}" 16 | state: present 17 | with_items: 18 | - "{{ scale_install_all_packages }}" 19 | when: scale_install_repository_url is not defined 20 | -------------------------------------------------------------------------------- /roles/fal_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for install 3 | - import_tasks: install.yml 4 | tags: install 5 | when: (scale_fal_enable | bool) 6 | -------------------------------------------------------------------------------- /roles/fal_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update RPMs 4 | # 5 | - name: install | Install GPFS file audit logging packages 6 | package: 7 | name: "{{ scale_install_all_packages }}" 8 | state: present 9 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 10 | -------------------------------------------------------------------------------- /roles/fal_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: install | Install GPFS file audit logging packages 4 | zypper: 5 | name: "{{ scale_install_all_packages }}" 6 | state: present 7 | disable_gpg_check: no 8 | -------------------------------------------------------------------------------- /roles/fal_install/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/fal_install/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - install -------------------------------------------------------------------------------- /roles/fal_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (File audit logging) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/fal_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/fal_prepare/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for precheck -------------------------------------------------------------------------------- /roles/fal_prepare/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for precheck -------------------------------------------------------------------------------- /roles/fal_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) fileauditlogging 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/fal_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for precheck 3 | -------------------------------------------------------------------------------- /roles/fal_prepare/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/fal_prepare/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - precheck -------------------------------------------------------------------------------- /roles/fal_prepare/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for precheck -------------------------------------------------------------------------------- /roles/fal_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/fal_upgrade/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (GPFS) (audit logging) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale file audit logging repository 6 | ## (copy the contents of /usr/lpp/mmfs/.../gpfs_rpms/rhel7 to build your repository) 7 | # scale_install_repository_url: http://infraserv/ 8 | 9 | ## Note that if this is a URL then a new repository definition will be created. 10 | ## If this variable is set to 'existing' then it is assumed that a repository 11 | ## definition already exists and thus will *not* be created. 12 | 13 | ## Specify the Spectrum Scale architecture that you want to install on your nodes 14 | scale_architecture: "{{ ansible_architecture }}" 15 | 16 | ## List of packages to install for file audit logging 17 | scale_auditlogging_packages: 18 | - gpfs.librdkafka* 19 | 20 | ## Flag to enable fileauditlogging 21 | scale_fal_enable: true 22 | 23 | ## To Enabled output from Ansible task in stdout and stderr for some tasks. 24 | ## Run the playbook with -vv 25 | -------------------------------------------------------------------------------- /roles/fal_upgrade/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for install -------------------------------------------------------------------------------- /roles/fal_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) fileauditlogging 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/fal_upgrade/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # 4 | # Install or update RPMs 5 | # 6 | 7 | - block: 8 | - name: upgrade | Upgrade GPFS file audit logging packages 9 | apt: 10 | name: "{{ scale_install_all_packages }}" 11 | state: latest 12 | when: scale_install_repository_url is defined 13 | 14 | - block: 15 | - name: upgrade | Upgrade GPFS file audit logging packages 16 | apt: 17 | deb: "{{ item }}" 18 | only_upgrade: true 19 | with_items: 20 | - "{{ scale_install_all_packages }}" 21 | when: scale_install_repository_url is not defined 22 | -------------------------------------------------------------------------------- /roles/fal_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for install 3 | - import_tasks: install.yml 4 | tags: install 5 | when: (scale_fal_enable | bool) 6 | -------------------------------------------------------------------------------- /roles/fal_upgrade/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: upgrade | Upgrade GPFS file audit logging packages 4 | zypper: 5 | name: "{{ scale_install_all_packages }}" 6 | state: latest 7 | disable_gpg_check: no 8 | -------------------------------------------------------------------------------- /roles/fal_upgrade/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/fal_upgrade/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - install -------------------------------------------------------------------------------- /roles/fal_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (File audit logging) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/fal_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /roles/fal_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for postcheck -------------------------------------------------------------------------------- /roles/fal_verify/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for postcheck -------------------------------------------------------------------------------- /roles/fal_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) fileauditlogging 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/fal_verify/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: check | File Audit Logging Status 4 | shell: 5 | cmd: "/usr/lpp/mmfs/bin/mmaudit all list -Y" 6 | register: scale_auditlogging_status 7 | ignore_errors: true 8 | 9 | - name: check | File Audit Logging Running Status 10 | debug: 11 | msg: "{{ scale_auditlogging_status.stdout }}" 12 | 13 | run_once: true 14 | -------------------------------------------------------------------------------- /roles/fal_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for postcheck 3 | - include_tasks: check.yml 4 | tags: always 5 | when: (scale_fal_enable | bool) 6 | -------------------------------------------------------------------------------- /roles/fal_verify/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/fal_verify/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - postcheck -------------------------------------------------------------------------------- /roles/fal_verify/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for postcheck -------------------------------------------------------------------------------- /roles/gui_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/gui_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | - ibm.spectrum_scale.perfmon_configure 22 | -------------------------------------------------------------------------------- /roles/gui_configure/tasks/chpasswdpolicy.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Change Default GUI User Password Policy 4 | # Password Policy shown here only effects internal GUI users only 5 | 6 | - name: chpasswdpolicy | Change default password Policy 7 | shell: /usr/lpp/mmfs/gui/cli/chpasswordpolicy --minLength "{{ scale_gui_password_policy_minLength | default(6) }}" --maxAge "{{ scale_gui_password_policy_maxAge | default(90) }}" --minAge "{{ scale_gui_password_policy_minAge | default(0) }}" --remember "{{ scale_gui_password_policy_remember | default(3) }}" --minUpperChars "{{ scale_gui_password_policy_minUpperChars | default(0) }}" --minLowerChars "{{ scale_gui_password_policy_minLowerChars | default(0) }}" --minSpecialChars "{{ scale_gui_password_policy_minSpecialChars | default(0) }}" --minDigits "{{ scale_gui_password_policy_minDigits | default(0) }}" --maxRepeat "{{ scale_gui_password_policy_maxRepeat | default(0) }}" --minDiff "{{ scale_gui_password_policy_minDiff | default(1) }}" "{{ scale_gui_password_policy_rejectOrAllowUserName | default('--rejectUserName') }}" 8 | register: scale_gui_conf_password_policy 9 | failed_when: " 'EFSSG1000I' not in scale_gui_conf_password_policy.stdout" 10 | run_once: true -------------------------------------------------------------------------------- /roles/gui_install/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/gui_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | - ibm.spectrum_scale.perfmon_install 22 | -------------------------------------------------------------------------------- /roles/gui_install/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - block: 6 | - name: install | Install GPFS GUI packages 7 | package: 8 | name: "{{ scale_install_all_packages }}" 9 | state: present 10 | when: scale_install_repository_url is defined 11 | 12 | - name: install | Install GPFS GUI packages 13 | apt: 14 | deb: "{{ item }}" 15 | state: present 16 | with_items: 17 | - "{{ scale_install_all_packages }}" 18 | when: scale_install_repository_url is not defined 19 | -------------------------------------------------------------------------------- /roles/gui_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | -------------------------------------------------------------------------------- /roles/gui_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - block: ## when: rhel8 node 6 | - name: install | Install prereqs for GUI from source 7 | dnf: 8 | name: "{{ scale_gui_el8_prereqs }}" 9 | state: present 10 | when: ansible_distribution in scale_rhel_distribution and ansible_distribution_major_version == '8' 11 | 12 | - name: install | Install GPFS GUI packages 13 | package: 14 | name: "{{ scale_install_all_packages }}" 15 | state: present 16 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 17 | -------------------------------------------------------------------------------- /roles/gui_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: install | Install GPFS GUI packages 4 | zypper: 5 | name: "{{ scale_install_all_packages }}" 6 | state: present 7 | disable_gpg_check: no 8 | 9 | -------------------------------------------------------------------------------- /roles/gui_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GUI) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | 12 | scale_gui_el8_prereqs: 13 | - iptables 14 | -------------------------------------------------------------------------------- /roles/gui_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/gui_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/gui_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install and configure IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 3 | - import_tasks: inventory_check.yml 4 | tags: always 5 | -------------------------------------------------------------------------------- /roles/gui_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/gui_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/gui_upgrade/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - block: 6 | - name: upgrade | Upgrade GPFS GUI packages 7 | package: 8 | name: "{{ scale_install_all_packages }}" 9 | state: latest 10 | when: scale_install_repository_url is defined 11 | 12 | - name: upgrade | Upgrade GPFS GUI packages 13 | apt: 14 | deb: "{{ item }}" 15 | only_upgrade: true 16 | with_items: 17 | - "{{ scale_install_all_packages }}" 18 | when: scale_install_repository_url is not defined 19 | -------------------------------------------------------------------------------- /roles/gui_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | -------------------------------------------------------------------------------- /roles/gui_upgrade/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - name: upgrade | Upgrade GPFS GUI packages 6 | yum: 7 | name: "{{ scale_install_all_packages }}" 8 | state: latest 9 | update_only: yes 10 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 11 | when: ansible_pkg_mgr == 'yum' 12 | 13 | 14 | - name: upgrade | Upgrade GPFS GUI packages 15 | dnf: 16 | name: "{{ scale_install_all_packages }}" 17 | state: latest 18 | update_only: yes 19 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 20 | when: ansible_pkg_mgr == 'dnf' 21 | -------------------------------------------------------------------------------- /roles/gui_upgrade/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: upgrade | Upgrade GPFS GUI packages 4 | zypper: 5 | name: "{{ scale_install_all_packages }}" 6 | state: latest 7 | disable_gpg_check: no 8 | -------------------------------------------------------------------------------- /roles/gui_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GUI) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | 12 | scale_gui_el8_prereqs: 13 | - iptables 14 | -------------------------------------------------------------------------------- /roles/gui_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/gui_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Postcheck IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 3 | -------------------------------------------------------------------------------- /roles/gui_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/gui_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Postcheck IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 3 | -------------------------------------------------------------------------------- /roles/hdfs_configure/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /roles/hdfs_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.HDFS.md -------------------------------------------------------------------------------- /roles/hdfs_configure/defaults/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-install-infra/0469e3ee3ae122929c36a3bd3f1148ae166d0637/roles/hdfs_configure/defaults/main.yml -------------------------------------------------------------------------------- /roles/hdfs_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.ces_common 21 | -------------------------------------------------------------------------------- /roles/hdfs_configure/tasks/append_dict.yml: -------------------------------------------------------------------------------- 1 | - name : configure | include task for nameservice 2 | set_fact: 3 | hdfs_site_conf_dict: "{{ hdfs_site_conf_dict | default({}) | combine ({ hdfs_conf_list.key : hdfs_conf_list.value }) }}" 4 | with_items: 5 | - { 'key': "dfs.namenode.rpc-address.{{ scale_hdfs_cluster.name }}.{{ map_var.0 }}", 'value': "{{ map_var.1 }}:8020" } 6 | - { 'key': "dfs.namenode.http-address.{{ scale_hdfs_cluster.name }}.{{ map_var.0 }}", 'value': "{{ map_var.1 }}:50070" } 7 | loop_control: 8 | loop_var: hdfs_conf_list 9 | -------------------------------------------------------------------------------- /roles/hdfs_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for configure 3 | - name: cluster | env setup 4 | include_tasks: env_setup.yml 5 | when: scale_protocols is defined and scale_protocols.hdfs|bool 6 | tags: config 7 | loop: "{{ scale_hdfs_clusters }}" 8 | 9 | - name: cluster | configure 10 | include_tasks: configure.yml 11 | when: scale_protocols is defined and scale_protocols.hdfs|bool 12 | tags: config 13 | loop: "{{ scale_hdfs_clusters }}" -------------------------------------------------------------------------------- /roles/hdfs_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (HDFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path for scale 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | 8 | # default mm command exection path for hdfs 9 | scale_hdfs_command_path: /usr/lpp/mmfs/hadoop/bin/ 10 | 11 | # default mmhdfs command exection path 12 | scale_mmhdfs_command_path: /usr/lpp/mmfs/hadoop/sbin/ 13 | -------------------------------------------------------------------------------- /roles/hdfs_install/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /roles/hdfs_install/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.HDFS.md -------------------------------------------------------------------------------- /roles/hdfs_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (HDFS) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale YUM/apt/zypper repository 6 | 7 | ## List of HDFS packages to install 8 | scale_hdfs_packages: gpfs.hdfs-protocol 9 | 10 | ## Temporary directory to copy installation package to 11 | ## (local package installation method) 12 | scale_install_localpkg_tmpdir_path: /tmp 13 | 14 | ## Flag to install hdfs debug package 15 | scale_hdfs_install_debuginfo: true 16 | 17 | # Directory to install 3.1.1.x hdfs package 18 | scale_hdfs_rhel_version_path: 'hdfs_rpms/rhel/hdfs_3.1.1.x/' 19 | 20 | # Directory to install 3.3.6.x hdfs package 21 | scale_hdfs_rhel_version_path_336: 'hdfs_rpms/rhel/hdfs_3.3.6.x/' 22 | 23 | # Directory to install 3.2.2.x hdfs package 24 | scale_hdfs_rhel_version_path_322: 'hdfs_rpms/rhel/hdfs_3.2.2.x/' 25 | 26 | # Directory to install 3.1.1.x hdfs package 27 | scale_hdfs_sles_version_path: 'hdfs_rpms/rhel/hdfs_3.1.1.x/' 28 | 29 | # Directory to install 3.1.1.x hdfs package 30 | scale_hdfs_ubuntu_version_path: 'hdfs_debs/ubuntu/hdfs_3.1.1.x/' 31 | -------------------------------------------------------------------------------- /roles/hdfs_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/hdfs_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | - ibm.spectrum_scale.hdfs_prepare 22 | -------------------------------------------------------------------------------- /roles/hdfs_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (HDFS) 3 | - name: install 4 | include_tasks: install.yml 5 | when: scale_protocols is defined and scale_protocols.hdfs|bool 6 | tags: install 7 | loop: "{{ scale_hdfs_clusters }}" 8 | -------------------------------------------------------------------------------- /roles/hdfs_install/tasks/prepare_env.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM/ibm-spectrum-scale-install-infra/0469e3ee3ae122929c36a3bd3f1148ae166d0637/roles/hdfs_install/tasks/prepare_env.yml -------------------------------------------------------------------------------- /roles/hdfs_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS HDFS packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | when: ansible_fqdn in scale_hdfs_nodes_list or inventory_hostname in scale_hdfs_nodes_list or ansible_fqdn in scale_protocol_nodes_list or inventory_hostname in scale_protocol_nodes_list 8 | -------------------------------------------------------------------------------- /roles/hdfs_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | scale_install_all_packages: gpfs.hdfs-protocol 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | 12 | -------------------------------------------------------------------------------- /roles/hdfs_prepare/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /roles/hdfs_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.HDFS.md -------------------------------------------------------------------------------- /roles/hdfs_prepare/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for precheck 3 | -------------------------------------------------------------------------------- /roles/hdfs_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/hdfs_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for precheck 3 | - name: precheck 4 | include_tasks: check.yml 5 | when: scale_protocols is defined and scale_protocols.hdfs|bool 6 | tags: prepare 7 | loop: "{{ scale_hdfs_clusters }}" 8 | -------------------------------------------------------------------------------- /roles/hdfs_prepare/tasks/prepare_env.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: 3 | set_fact: 4 | transparency_336_enabled: "False" 5 | transparency_322_enabled: "False" 6 | transparency_version_336: "False" 7 | transparency_version_322: "False" 8 | 9 | - name: 10 | shell: "echo $SCALE_HDFS_TRANSPARENCY_VERSION_336_ENABLE" 11 | register: transparency_version_336 12 | delegate_to: localhost 13 | run_once: true 14 | 15 | - name: 16 | shell: "echo $SCALE_HDFS_TRANSPARENCY_VERSION_322_ENABLE" 17 | register: transparency_version_322 18 | delegate_to: localhost 19 | run_once: true 20 | 21 | - name: 22 | set_fact: 23 | transparency_336_enabled: "{{ transparency_version_336.stdout|bool }}" 24 | when: 25 | - transparency_version_336.stdout is defined 26 | - transparency_version_336.stdout|bool 27 | delegate_to: localhost 28 | run_once: true 29 | 30 | - name: 31 | set_fact: 32 | transparency_322_enabled: "{{ transparency_version_322.stdout|bool }}" 33 | when: 34 | - transparency_version_322.stdout is defined 35 | - transparency_version_322.stdout|bool 36 | delegate_to: localhost 37 | run_once: true 38 | -------------------------------------------------------------------------------- /roles/hdfs_prepare/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for precheck 3 | ## Supported HDFS os distrubution 4 | scale_hdfs_os_distribution: 5 | - RedHat 6 | - CentOS 7 | -------------------------------------------------------------------------------- /roles/hdfs_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.HDFS.md -------------------------------------------------------------------------------- /roles/hdfs_upgrade/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/hdfs_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/hdfs_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - import_tasks: upgrade.yml 3 | tags: upgrade -------------------------------------------------------------------------------- /roles/hdfs_upgrade/tasks/prepare_env.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: 3 | set_fact: 4 | transparency_336_enabled: "False" 5 | transparency_322_enabled: "False" 6 | transparency_version_336: "False" 7 | transparency_version_322: "False" 8 | 9 | - name: 10 | shell: "echo $SCALE_HDFS_TRANSPARENCY_VERSION_336_ENABLE" 11 | register: transparency_version_336 12 | delegate_to: localhost 13 | run_once: true 14 | 15 | - name: 16 | shell: "echo $SCALE_HDFS_TRANSPARENCY_VERSION_322_ENABLE" 17 | register: transparency_version_322 18 | delegate_to: localhost 19 | run_once: true 20 | 21 | - name: 22 | set_fact: 23 | transparency_336_enabled: "{{ transparency_version_336.stdout|bool }}" 24 | when: 25 | - transparency_version_336.stdout is defined 26 | - transparency_version_336.stdout|bool 27 | delegate_to: localhost 28 | run_once: true 29 | 30 | - name: 31 | set_fact: 32 | transparency_322_enabled: "{{ transparency_version_322.stdout|bool }}" 33 | when: 34 | - transparency_version_322.stdout is defined 35 | - transparency_version_322.stdout|bool 36 | delegate_to: localhost 37 | run_once: true 38 | -------------------------------------------------------------------------------- /roles/hdfs_upgrade/tasks/yum/upgrade.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade GPFS hdfs packages 3 | yum: 4 | name: "{{ scale_upgrade_all_packages }}" 5 | state: latest 6 | update_only: yes 7 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 8 | -------------------------------------------------------------------------------- /roles/hdfs_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | ## Default scale extraction path 8 | scale_extracted_default_path: "/usr/lpp/mmfs" 9 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 10 | -------------------------------------------------------------------------------- /roles/hdfs_verify/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /roles/hdfs_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.HDFS.md -------------------------------------------------------------------------------- /roles/hdfs_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (HDFS) cluster role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/hdfs_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/hdfs_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for postcheck 3 | - name: postcheck 4 | include_tasks: check.yml 5 | when: scale_protocols is defined and scale_protocols.hdfs|bool 6 | tags: prepare 7 | loop: "{{ scale_hdfs_clusters }}" 8 | -------------------------------------------------------------------------------- /roles/hdfs_verify/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (HDFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command execution path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | 8 | # Default mmhdfs command excution path 9 | scale_mmhdfs_command_path: /usr/lpp/mmfs/hadoop/sbin/ 10 | 11 | # Default hdfs command excution path 12 | scale_hdfs_command_path: /usr/lpp/mmfs/hadoop/bin/ 13 | -------------------------------------------------------------------------------- /roles/mrot_config/vars/main.yaml: -------------------------------------------------------------------------------- 1 | # Static Variables for MROT 2 | 3 | # Interface names 4 | scale_pri_interface_name: "eth0" 5 | scale_sec_interface_name: "eth1" 6 | 7 | # Supported scale OS distrubution 8 | scale_rhel_distribution: 9 | - RedHat 10 | - CentOS 11 | 12 | # Supported version RHEL OS 13 | scale_rhel_version: 14 | - "7.9" 15 | - "8.6" -------------------------------------------------------------------------------- /roles/nfs_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.NFS.md -------------------------------------------------------------------------------- /roles/nfs_configure/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (NFS) cluster role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/nfs_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.nfs_prepare 21 | - ibm.spectrum_scale.ces_common 22 | -------------------------------------------------------------------------------- /roles/nfs_configure/tasks/configure.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: configure | Enable NFS 3 | shell: 4 | cmd: "{{ scale_command_path }}mmces service enable NFS" 5 | delegate_to: "{{ scale_nfs_nodes_list.0 }}" 6 | run_once: true 7 | 8 | - name: configure | Stat GaneshaProxy.conf file 9 | stat: 10 | path: /opt/IBM/zimon/defaults/GaneshaProxy.conf 11 | register: scale_config_file_status 12 | 13 | - name: configure | Configuring NFS performance monitoring sensors 14 | shell: 15 | cmd: "{{ scale_command_path }}mmperfmon config add --sensors=/opt/IBM/zimon/defaults/GaneshaProxy.conf" 16 | when: 17 | - scale_config_file_status.stat.exists 18 | - " 'mmperfmon: There is no performance monitoring configuration data.' not in scale_zimon_conf_sensors.stderr" 19 | -------------------------------------------------------------------------------- /roles/nfs_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for cluster 3 | - import_tasks: configure.yml 4 | when: scale_protocols is defined and scale_protocols.nfs|bool 5 | tags: config 6 | -------------------------------------------------------------------------------- /roles/nfs_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (NFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/nfs_install/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.NFS.md -------------------------------------------------------------------------------- /roles/nfs_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (NFS) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale YUM/apt/zypper repository 6 | #scale_install_nfs_repository_rpms: http:///ganesha_rpms/ 7 | #scale_install_nfs_repository_debs: http:///ganesha_debs/ubuntu16 8 | #scale_install_nfs_repository_rpms_sles: http:///ganesha_rpms/sles12 9 | 10 | ## List of NFS RPMs to install 11 | scale_nfs_rpms: 12 | - gpfs.nfs-ganesha-gpfs 13 | - gpfs.nfs-ganesha 14 | - gpfs.nfs-ganesha-utils 15 | 16 | ## List of NFS debian package to install 17 | scale_nfs_debs: 18 | - gpfs.smb 19 | - gpfs.nfs-ganesha-gpfs 20 | - gpfs.nfs-ganesha 21 | - gpfs.nfs-ganesha-doc 22 | - gpfs.python-nfs-ganesha 23 | 24 | ## pm ganesha package for nfs performance monitoring 25 | scale_pm_package: 26 | - gpfs.pm-ganesha 27 | ## Temporary directory to copy installation package to 28 | ## (local package installation method) 29 | scale_install_localpkg_tmpdir_path: /tmp 30 | 31 | ## Flag to install ganesha debug package 32 | scale_nfs_install_debuginfo: true 33 | -------------------------------------------------------------------------------- /roles/nfs_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/nfs_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | - ibm.spectrum_scale.nfs_prepare 22 | -------------------------------------------------------------------------------- /roles/nfs_install/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install| Install GPFS nfs packages 3 | package: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | when: scale_install_repository_url is defined and inventory_hostname in scale_nfs_nodes_list 7 | 8 | - name: install| Install GPFS NFS deb 9 | apt: 10 | deb: "{{ item }}" 11 | state: present 12 | when: scale_install_repository_url is not defined and inventory_hostname in scale_nfs_nodes_list 13 | with_items: 14 | - "{{ scale_install_all_packages }}" 15 | -------------------------------------------------------------------------------- /roles/nfs_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - import_tasks: install.yml 3 | tags: install 4 | when: scale_protocols is defined and (scale_protocols.nfs|bool or scale_protocols.smb|bool) 5 | -------------------------------------------------------------------------------- /roles/nfs_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS nfs packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | when: inventory_hostname in scale_nfs_nodes_list 8 | -------------------------------------------------------------------------------- /roles/nfs_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS NFS packages 3 | zypper: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: no 7 | -------------------------------------------------------------------------------- /roles/nfs_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/nfs_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.NFS.md -------------------------------------------------------------------------------- /roles/nfs_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/nfs_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for precheck 3 | - import_tasks: check.yml 4 | when: scale_protocols is defined and (scale_protocols.nfs|bool or scale_protocols.smb|bool) 5 | tags: prepare 6 | -------------------------------------------------------------------------------- /roles/nfs_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.NFS.md -------------------------------------------------------------------------------- /roles/nfs_upgrade/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (NFS) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale YUM/apt/zypper repository 6 | #scale_install_nfs_repository_rpms: http:///ganesha_rpms/ 7 | #scale_install_nfs_repository_debs: http:///ganesha_debs/ubuntu16 8 | #scale_install_nfs_repository_rpms_sles: http:///ganesha_rpms/sles12 9 | 10 | ## List of NFS RPMs to install 11 | scale_nfs_rpms: 12 | - gpfs.nfs-ganesha-gpfs 13 | - gpfs.nfs-ganesha 14 | - gpfs.nfs-ganesha-utils 15 | 16 | ## List of NFS debian package to install 17 | scale_nfs_debs: 18 | - gpfs.nfs-ganesha-gpfs 19 | - gpfs.nfs-ganesha 20 | - gpfs.nfs-ganesha-doc 21 | - gpfs.python-nfs-ganesha 22 | 23 | ## pm ganesha package for nfs performance monitoring 24 | scale_pm_package: 25 | - gpfs.pm-ganesha 26 | ## Temporary directory to copy installation package to 27 | ## (local package installation method) 28 | scale_install_localpkg_tmpdir_path: /tmp 29 | 30 | ## Flag to install ganesha debug package 31 | scale_nfs_install_debuginfo: true 32 | -------------------------------------------------------------------------------- /roles/nfs_upgrade/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/nfs_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/nfs_upgrade/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install| Upgrade GPFS nfs packages 3 | package: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | when: scale_install_repository_url is defined 7 | 8 | - name: install| Upgrade GPFS NFS deb 9 | apt: 10 | deb: "{{ item }}" 11 | state: latest 12 | when: scale_install_repository_url is not defined 13 | with_items: 14 | - "{{ scale_install_all_packages }}" 15 | -------------------------------------------------------------------------------- /roles/nfs_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - import_tasks: install.yml 3 | tags: install 4 | -------------------------------------------------------------------------------- /roles/nfs_upgrade/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade GPFS nfs packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | -------------------------------------------------------------------------------- /roles/nfs_upgrade/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade GPFS NFS packages 3 | zypper: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | disable_gpg_check: no 7 | -------------------------------------------------------------------------------- /roles/nfs_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/nfs_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.NFS.md -------------------------------------------------------------------------------- /roles/nfs_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (NFS) cluster role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/nfs_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/nfs_verify/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: postcheck | Check if NFS is running 3 | shell: 4 | cmd: "{{ scale_command_path }}mmces service list|grep NFS" 5 | register: scale_nfs_status 6 | when: inventory_hostname in scale_nfs_nodes_list 7 | failed_when: false 8 | 9 | - name: postcheck | Check if NFS is running 10 | assert: 11 | that: 12 | - scale_nfs_status.rc == 0 13 | fail_msg: "NFS is not active on {{ ansible_hostname }}" 14 | when: inventory_hostname in scale_nfs_nodes_list 15 | -------------------------------------------------------------------------------- /roles/nfs_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for postcheck 3 | - import_tasks: check.yml 4 | when: protocols is defined and protocols.nfs|bool 5 | tags: always 6 | -------------------------------------------------------------------------------- /roles/nfs_verify/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (NFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/obj_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.OBJ.md -------------------------------------------------------------------------------- /roles/obj_configure/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (OBJ) role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/obj_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.obj_prepare 21 | - ibm.spectrum_scale.ces_common 22 | -------------------------------------------------------------------------------- /roles/obj_configure/tasks/configure_pmswift.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Configure pmswift zimon sensors 4 | # 5 | 6 | - name: configure | Configure pmswift zimon sensors 7 | command: /usr/local/pmswift/bin/pmswift-config-zimon set 8 | delegate_to: "{{ scale_protocol_node_list.0 }}" 9 | run_once: true 10 | 11 | -------------------------------------------------------------------------------- /roles/obj_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for cluster 3 | - import_tasks: configure.yml 4 | when: scale_protocols is defined and scale_protocols.object|bool 5 | tags: config 6 | 7 | - import_tasks: configure_pmswift.yml 8 | when: scale_protocols is defined and scale_protocols.object|bool 9 | tags: config 10 | 11 | -------------------------------------------------------------------------------- /roles/obj_configure/templates/obj_passwd.j2: -------------------------------------------------------------------------------- 1 | %objectauth: 2 | ksDatabasePwd={{ database_pwd }} 3 | ksAdminPwd={{ admin_pwd }} 4 | ksSwiftPwd={{ swift_pwd | default(omit) }} 5 | 6 | # where: 7 | # objectauth 8 | # Stanza name for object protocol 9 | # password 10 | # Specifies the password of --user-name. 11 | # ksAdminPwd 12 | # Specifies the Keystone Administrator's password. 13 | # ksSwiftPwd 14 | # Specifies the Swift service user's password. 15 | -------------------------------------------------------------------------------- /roles/obj_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (OBJ) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/obj_install/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.OBJ.md -------------------------------------------------------------------------------- /roles/obj_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (OBJ) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## List of RPMs to install on protocol nodes 6 | scale_object_rpms: 7 | - spectrum-scale-object 8 | 9 | scale_obj_sensors_packages: 10 | - pmswift 11 | ## Temporary directory to copy installation package to 12 | ## (local package installation method) 13 | scale_install_localpkg_tmpdir_path: /tmp 14 | 15 | ## object perfmon 16 | scale_perfmon: true 17 | 18 | ##---------------Object----------------# 19 | 20 | ## Enabling the OBJ 21 | scale_object_enable: true 22 | -------------------------------------------------------------------------------- /roles/obj_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/obj_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 8 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: 19 | - ibm.spectrum_scale.obj_prepare 20 | -------------------------------------------------------------------------------- /roles/obj_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - import_tasks: install.yml 3 | tags: install 4 | when: scale_protocols is defined and scale_protocols.object|bool 5 | -------------------------------------------------------------------------------- /roles/obj_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install Scale object packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | when: inventory_hostname in scale_obj_nodes_list 8 | 9 | - name: install | Get installed spectrum-scale-object 10 | shell: rpm -qa | grep spectrum-scale-object 11 | register: scale_package_status 12 | when: inventory_hostname in scale_obj_nodes_list 13 | ignore_errors: true 14 | 15 | - name: install | Check if spectrum-scale-object package is installed 16 | assert: 17 | that: 18 | - scale_package_status.rc == 0 19 | fail_msg: "spectrum-scale-object is not installed on {{ ansible_hostname }}" 20 | when: inventory_hostname in scale_obj_nodes_list 21 | -------------------------------------------------------------------------------- /roles/obj_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | 12 | scale_gpg_key_path: "{{ scale_gpgKey_repository_src }}" 13 | 14 | scale_gpgKey_repository_obj_src: "{{ scale_install_repository_url }}Public_Keys/RPM-GPG-KEY-redhat-release" 15 | -------------------------------------------------------------------------------- /roles/obj_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.OBJ.md -------------------------------------------------------------------------------- /roles/obj_prepare/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Enable inventory check 3 | scale_object_inventory_check : true 4 | 5 | ## object args dynamic 6 | scale_ces_dynamic_obj: false 7 | -------------------------------------------------------------------------------- /roles/obj_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 8 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: 19 | - ibm.spectrum_scale.core_common 20 | -------------------------------------------------------------------------------- /roles/obj_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for inventory precheck 3 | 4 | - name: check | Set default 5 | set_fact: 6 | scale_ces_dynamic_obj: false 7 | when: scale_ces_dynamic_obj is undefined 8 | 9 | - import_tasks: inventory_check.yml 10 | when: 11 | - scale_protocols is defined and scale_protocols.object|bool 12 | - not scale_ces_dynamic_obj|bool 13 | tags: prepare 14 | 15 | # tasks file for precheck 16 | - import_tasks: check.yml 17 | when: scale_protocols is defined and scale_protocols.object|bool 18 | tags: prepare 19 | -------------------------------------------------------------------------------- /roles/obj_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.OBJ.md -------------------------------------------------------------------------------- /roles/obj_upgrade/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (OBJ) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## List of RPMs to install on protocol nodes 6 | scale_object_rpms: 7 | - spectrum-scale-object 8 | 9 | scale_obj_sensors_packages: 10 | - pmswift 11 | 12 | ## Temporary directory to copy installation package to 13 | ## (local package installation method) 14 | scale_install_localpkg_tmpdir_path: /tmp 15 | 16 | ## object perfmon 17 | scale_perfmon: true 18 | 19 | ##---------------Object----------------# 20 | 21 | ## Enabling the OBJ 22 | scale_object_enable: true 23 | -------------------------------------------------------------------------------- /roles/obj_upgrade/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/obj_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 8 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: 19 | - ibm.spectrum_scale.core_common 20 | -------------------------------------------------------------------------------- /roles/obj_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - import_tasks: install.yml 3 | tags: upgrade 4 | -------------------------------------------------------------------------------- /roles/obj_upgrade/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Install Scale object packages 3 | dnf: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | when: ansible_pkg_mgr == 'dnf' 8 | -------------------------------------------------------------------------------- /roles/obj_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | 12 | scale_gpg_key_path: "{{ scale_gpgKey_repository_src }}" 13 | 14 | scale_gpgKey_repository_obj_src: "{{ scale_install_repository_url }}Public_Keys/RPM-GPG-KEY-redhat-release" 15 | -------------------------------------------------------------------------------- /roles/obj_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.OBJ.md -------------------------------------------------------------------------------- /roles/obj_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/obj_verify/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: postcheck | Check if OBJ is running 4 | shell: 5 | cmd: "{{ scale_command_path }}mmces service list|grep OBJ" 6 | register: scale_obj_status 7 | when: inventory_hostname in scale_obj_nodes_list 8 | failed_when: false 9 | 10 | - name: postcheck | Check if OBJ is running 11 | assert: 12 | that: 13 | - scale_obj_status.rc == 0 14 | fail_msg: "OBJ is not active on {{ ansible_hostname }}" 15 | when: inventory_hostname in scale_obj_nodes_list 16 | -------------------------------------------------------------------------------- /roles/obj_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for postcheck 3 | - import_tasks: check.yml 4 | when: scale_protocols is defined and scale_protocols.object|bool 5 | tags: always 6 | -------------------------------------------------------------------------------- /roles/obj_verify/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (OBJ) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/openldap_common/README.md: -------------------------------------------------------------------------------- 1 | Role Definition 2 | ------------------------------- 3 | - Role name: OpenLDAP 4 | - Definition: 5 | - Stand-alone LDAP Load Balancer Daemon (server or slapd module). 6 | 7 | Requirements 8 | ------------ 9 | 10 | - Ubuntu 22.04 11 | 12 | Role Variables 13 | -------------- 14 | 15 | - The parameters required to configure are as follows: 16 | 17 | ``` 18 | ldap_domain: "example.com" 19 | ldap_organization: "Example Organization" 20 | ldap_admin_password: "Passw0rd" 21 | ldap_basedn: "dc=example,dc=com" 22 | ldap_admin_dn: "cn=admin,{{ ldap_basedn }}" 23 | default_usergroup: "sample_group" 24 | default_user: "john" 25 | default_user_password: "Passw0rd" 26 | ``` 27 | 28 | `default_usergroup`, `default_user`, `default_user_password` are optional. 29 | 30 | Example Playbook 31 | ---------------- 32 | 33 | ``` 34 | - hosts: servers 35 | roles: 36 | - openldap-common 37 | ``` 38 | -------------------------------------------------------------------------------- /roles/openldap_common/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the OpenLDAP role 3 | ldap_domain: "" 4 | ldap_organization: "" 5 | ldap_admin_password: "" 6 | ldap_basedn: "" 7 | ldap_admin_dn: "" 8 | default_usergroup: "" 9 | default_user: "" 10 | default_user_password: "" 11 | -------------------------------------------------------------------------------- /roles/openldap_common/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Sample OpenLDAP Ansible role 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: Ubuntu 13 | versions: 14 | - jammy 15 | 16 | galaxy_tags: [] 17 | 18 | -------------------------------------------------------------------------------- /roles/openldap_common/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the OpenLDAP role 3 | openldap_server_pkgs: 4 | - slapd 5 | - ldap-utils 6 | -------------------------------------------------------------------------------- /roles/perfmon_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/perfmon_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Zimon 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/perfmon_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Configure IBM Spectrum Scale (GPFS) zimon 3 | 4 | - import_tasks: configure.yml 5 | tags: configure 6 | -------------------------------------------------------------------------------- /roles/perfmon_install/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/perfmon_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Zimon 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/perfmon_install/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # 4 | # Install or update RPMs 5 | # 6 | - name: install | Install GPFS Zimon packages 7 | package: 8 | name: "{{ scale_install_all_packages }}" 9 | state: present 10 | when: scale_install_repository_url is defined 11 | 12 | - block: 13 | - name: install | Install GPFS zimon packages 14 | apt: 15 | deb: "{{ item }}" 16 | state: present 17 | with_items: 18 | - "{{ scale_install_all_packages }}" 19 | when: scale_install_repository_url is not defined 20 | -------------------------------------------------------------------------------- /roles/perfmon_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | -------------------------------------------------------------------------------- /roles/perfmon_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update RPMs 4 | # 5 | - name: install | Install GPFS Zimon packages 6 | package: 7 | name: "{{ scale_install_all_packages }}" 8 | state: present 9 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 10 | -------------------------------------------------------------------------------- /roles/perfmon_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: install | Install GPFS zimon packages 4 | zypper: 5 | name: "{{ scale_install_all_packages }}" 6 | state: present 7 | disable_gpg_check: no 8 | 9 | -------------------------------------------------------------------------------- /roles/perfmon_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (zimon) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/perfmon_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/perfmon_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Zimon 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/perfmon_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install and configure IBM Spectrum Scale (GPFS) Zimon 3 | -------------------------------------------------------------------------------- /roles/perfmon_prepare/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (zimon) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | -------------------------------------------------------------------------------- /roles/perfmon_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/perfmon_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Zimon 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/perfmon_upgrade/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # 4 | # Install or update RPMs 5 | # 6 | - name: upgrade | Upgrade GPFS Zimon packages 7 | package: 8 | name: "{{ scale_install_all_packages }}" 9 | state: latest 10 | when: scale_install_repository_url is defined 11 | 12 | - block: 13 | - name: upgrade | Upgrade GPFS zimon packages 14 | apt: 15 | deb: "{{ item }}" 16 | only_upgrade: true 17 | with_items: 18 | - "{{ scale_install_all_packages }}" 19 | when: scale_install_repository_url is not defined 20 | -------------------------------------------------------------------------------- /roles/perfmon_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | -------------------------------------------------------------------------------- /roles/perfmon_upgrade/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update RPMs 4 | # 5 | - name: upgrade | Upgrade GPFS Zimon packages 6 | yum: 7 | name: "{{ scale_install_all_packages }}" 8 | state: latest 9 | update_only: yes 10 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 11 | when: ansible_pkg_mgr == 'yum' 12 | 13 | 14 | - name: upgrade | Upgrade GPFS Zimon packages 15 | package: 16 | name: "{{ scale_install_all_packages }}" 17 | state: latest 18 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 19 | when: ansible_distribution in scale_rhel_distribution and ansible_distribution_major_version >= '8' 20 | -------------------------------------------------------------------------------- /roles/perfmon_upgrade/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - block: 3 | - name: upgrade | Upgrade GPFS zimon packages 4 | zypper: 5 | name: "{{ scale_install_all_packages }}" 6 | state: latest 7 | disable_gpg_check: no 8 | -------------------------------------------------------------------------------- /roles/perfmon_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (zimon) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Specify package extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/perfmon_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.GUI.md -------------------------------------------------------------------------------- /roles/perfmon_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Role for installing and configuring IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | 16 | galaxy_tags: [] 17 | 18 | dependencies: [] 19 | -------------------------------------------------------------------------------- /roles/perfmon_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Postcheck IBM Spectrum Scale (GPFS) Graphical User Interface (GUI) 3 | -------------------------------------------------------------------------------- /roles/remotemount_configure/.yamllint: -------------------------------------------------------------------------------- 1 | --- 2 | # Based on ansible-lint config 3 | extends: default 4 | 5 | rules: 6 | braces: 7 | max-spaces-inside: 1 8 | level: error 9 | brackets: 10 | max-spaces-inside: 1 11 | level: error 12 | colons: 13 | max-spaces-after: -1 14 | level: error 15 | commas: 16 | max-spaces-after: -1 17 | level: error 18 | comments: disable 19 | comments-indentation: disable 20 | document-start: disable 21 | empty-lines: 22 | max: 3 23 | level: error 24 | hyphens: 25 | level: error 26 | indentation: disable 27 | key-duplicates: enable 28 | line-length: disable 29 | new-line-at-end-of-file: disable 30 | new-lines: 31 | type: unix 32 | trailing-spaces: disable 33 | truthy: disable 34 | -------------------------------------------------------------------------------- /roles/remotemount_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.REMOTEMOUNT.md -------------------------------------------------------------------------------- /roles/remotemount_configure/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for remote_mount 3 | -------------------------------------------------------------------------------- /roles/remotemount_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | galaxy_info: 2 | author: IBM Corporation 3 | description: IBM Spectrum Scale (GPFS) ansible role to configure remote mount 4 | company: IBM 5 | 6 | license: Apache-2.0 7 | 8 | min_ansible_version: 2.9 9 | 10 | platforms: 11 | - name: EL 12 | versions: 13 | - 7 14 | - 8 15 | 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/remotemount_configure/molecule/default/INSTALL.rst: -------------------------------------------------------------------------------- 1 | ******* 2 | Docker driver installation guide 3 | ******* 4 | 5 | Requirements 6 | ============ 7 | 8 | * Docker Engine 9 | 10 | Install 11 | ======= 12 | 13 | Please refer to the `Virtual environment`_ documentation for installation best 14 | practices. If not using a virtual environment, please consider passing the 15 | widely recommended `'--user' flag`_ when invoking ``pip``. 16 | 17 | .. _Virtual environment: https://virtualenv.pypa.io/en/latest/ 18 | .. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site 19 | 20 | .. code-block:: bash 21 | 22 | $ python3 -m pip install 'molecule[docker]' 23 | -------------------------------------------------------------------------------- /roles/remotemount_configure/molecule/default/converge.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Converge 3 | hosts: all 4 | tasks: 5 | - name: "Include remote_mount" 6 | include_role: 7 | name: "remote_mount" 8 | -------------------------------------------------------------------------------- /roles/remotemount_configure/molecule/default/molecule.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependency: 3 | name: galaxy 4 | driver: 5 | name: docker 6 | platforms: 7 | - name: instance 8 | image: docker.io/pycontribs/centos:7 9 | pre_build_image: true 10 | provisioner: 11 | name: ansible 12 | verifier: 13 | name: ansible 14 | -------------------------------------------------------------------------------- /roles/remotemount_configure/molecule/default/verify.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This is an example playbook to execute Ansible tests. 3 | 4 | - name: Verify 5 | hosts: all 6 | tasks: 7 | - name: Example assertion 8 | assert: 9 | that: true 10 | -------------------------------------------------------------------------------- /roles/remotemount_configure/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/remotemount_configure/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - remote_mount 6 | -------------------------------------------------------------------------------- /roles/remotemount_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for remote_mount -------------------------------------------------------------------------------- /roles/s3_configure/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (S3) cluster role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/s3_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.s3_prepare 21 | - ibm.spectrum_scale.ces_common 22 | -------------------------------------------------------------------------------- /roles/s3_configure/tasks/configure.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: configure | Enable S3 3 | shell: 4 | cmd: "{{ scale_command_path }}mmces service enable S3" 5 | delegate_to: "{{ scale_s3_node_list.0 }}" 6 | run_once: true 7 | -------------------------------------------------------------------------------- /roles/s3_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for cluster 3 | - import_tasks: configure.yml 4 | when: scale_protocols is defined and scale_protocols.s3|bool 5 | tags: config 6 | -------------------------------------------------------------------------------- /roles/s3_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (S3) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/s3_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (S3) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale YUM/apt/zypper repository 6 | #scale_install_s3_repository_rpms: http:///s3_rpms/ 7 | #scale_install_s3_repository_debs: http:///s3_debs/ 8 | #scale_install_s3_repository_rpms_sles: http:///s3_rpms/sles12/ 9 | 10 | ## List of S3 packages to install 11 | scale_s3_packages: 12 | - noobaa-core 13 | - gpfs.mms3 14 | 15 | ## Temporary directory to copy installation package to 16 | ## (local package installation method) 17 | scale_install_localpkg_tmpdir_path: /tmp 18 | 19 | ## Flag to install s3 debug package 20 | scale_s3_install_debuginfo: true 21 | -------------------------------------------------------------------------------- /roles/s3_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/s3_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | - ibm.spectrum_scale.s3_prepare 22 | -------------------------------------------------------------------------------- /roles/s3_install/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install GPFS s3 packages 3 | package: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | when: scale_install_repository_url is defined and inventory_hostname in scale_s3_node_list 7 | 8 | 9 | - name: install| Install GPFS S3 deb 10 | apt: 11 | deb: "{{ item }}" 12 | state: present 13 | when: scale_install_repository_url is not defined and inventory_hostname in scale_s3_node_list 14 | with_items: 15 | - "{{ scale_install_all_packages }}" 16 | -------------------------------------------------------------------------------- /roles/s3_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (S3) 3 | - import_tasks: install.yml 4 | when: scale_protocols is defined and (scale_protocols.s3|bool) 5 | tags: install 6 | -------------------------------------------------------------------------------- /roles/s3_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS S3 packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | when: inventory_hostname in scale_s3_node_list 8 | -------------------------------------------------------------------------------- /roles/s3_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS S3 packages 3 | zypper: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: no 7 | when: inventory_hostname in scale_s3_node_list 8 | -------------------------------------------------------------------------------- /roles/s3_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/s3_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/s3_prepare/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: check | Initialize 3 | set_fact: 4 | scale_s3_node_list: [] 5 | 6 | - name: check | Collect all s3 nodes 7 | set_fact: 8 | scale_s3_node_list: "{{ scale_s3_node_list + [hostvars[item]['inventory_hostname']] }}" 9 | when: hostvars[item]['scale_protocol_node'] is defined and hostvars[item]['scale_protocol_node']|bool 10 | with_items: 11 | - "{{ ansible_play_hosts }}" 12 | delegate_to: localhost 13 | run_once: true 14 | 15 | - name: check | Check if atleast one s3 node is configured 16 | assert: 17 | that: 18 | - scale_s3_node_list|length > 0 19 | fail_msg: "No s3 nodes configured" 20 | 21 | - debug: 22 | msg: "S3 precheck ok" 23 | -------------------------------------------------------------------------------- /roles/s3_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for precheck 3 | - import_tasks: check.yml 4 | when: scale_protocols is defined and (scale_protocols.s3|bool) 5 | tags: prepare 6 | -------------------------------------------------------------------------------- /roles/s3_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.NFS.md -------------------------------------------------------------------------------- /roles/s3_upgrade/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (S3) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale YUM/apt/zypper repository 6 | #scale_install_s3_repository_rpms: http:///s3_rpms/ 7 | #scale_install_s3_repository_debs: http:///s3_debs/ 8 | #scale_install_s3_repository_rpms_sles: http:///s3_rpms/sles12/ 9 | 10 | ## List of S3 packages to install 11 | scale_s3_packages: 12 | - noobaa-core 13 | - gpfs.mms3 14 | 15 | ## Temporary directory to copy installation package to 16 | ## (local package installation method) 17 | scale_install_localpkg_tmpdir_path: /tmp 18 | 19 | ## Flag to install s3 debug package 20 | scale_s3_install_debuginfo: true 21 | -------------------------------------------------------------------------------- /roles/s3_upgrade/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/s3_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/s3_upgrade/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade s3 packages 3 | package: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | when: scale_install_repository_url is defined 7 | 8 | 9 | - name: upgrade | Upgrade GPFS S3 deb 10 | apt: 11 | deb: "{{ item }}" 12 | state: latest 13 | when: scale_install_repository_url is not defined 14 | with_items: 15 | - "{{ scale_install_all_packages }}" 16 | -------------------------------------------------------------------------------- /roles/s3_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (S3) 3 | - import_tasks: install.yml 4 | tags: upgrade 5 | -------------------------------------------------------------------------------- /roles/s3_upgrade/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade GPFS S3 packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | -------------------------------------------------------------------------------- /roles/s3_upgrade/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade GPFS S3 packages 3 | zypper: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | disable_gpg_check: no 7 | -------------------------------------------------------------------------------- /roles/s3_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/s3_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (S3) postcheck role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/s3_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/s3_verify/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: postcheck | Check if S3 is running 3 | shell: 4 | cmd: "{{ scale_command_path }}mmces service list|grep S3" 5 | register: scale_s3_status 6 | when: inventory_hostname in scale_s3_node_list 7 | failed_when: false 8 | 9 | - name: postcheck | Check if s3 is running 10 | assert: 11 | that: 12 | - scale_s3_status.rc == 0 13 | fail_msg: "S3 is not active on {{ ansible_hostname }}" 14 | when: inventory_hostname in scale_s3_node_list 15 | -------------------------------------------------------------------------------- /roles/s3_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for postcheck 3 | - import_tasks: check.yml 4 | when: protocols is defined and protocols.s3|bool 5 | tags: always 6 | -------------------------------------------------------------------------------- /roles/s3_verify/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (S3) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/scaleadmd_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Handlers for the IBM Spectrum Scale (GPFS) scaleadmd install role 3 | # handlers file for node 4 | - name: yum-clean-metadata 5 | command: yum clean metadata 6 | -------------------------------------------------------------------------------- /roles/scaleadmd_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 8 15 | - 9 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/scaleadmd_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install and configure IBM Spectrum Scale (GPFS) 3 | 4 | - import_tasks: install.yml 5 | tags: install 6 | 7 | - import_tasks: build.yml 8 | tags: build 9 | 10 | - import_tasks: install_nodeid.yml 11 | tags: install 12 | when: 13 | - scale_scaleadmd is defined 14 | - hostvars[inventory_hostname].node_cert is defined and hostvars[inventory_hostname].node_cert != "None" 15 | - hostvars[inventory_hostname].node_cert_key is defined and hostvars[inventory_hostname].node_cert_key != "None" 16 | - hostvars[inventory_hostname].node_cert_chain is defined and hostvars[inventory_hostname].node_cert_chain != "None" 17 | -------------------------------------------------------------------------------- /roles/scaleadmd_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Install or update packages 4 | # 5 | - block: ## when: not scale_daemon_running 6 | - block: 7 | - name: install | dependencies package 8 | zypper: 9 | name: binutils 10 | state: present 11 | 12 | - name: install | Install GPFS packages 13 | zypper: 14 | name: "{{ scale_install_all_packages }}" 15 | state: present 16 | disable_gpg_check: no 17 | register: scale_install_zypppackageresult 18 | 19 | - name: install | Install GPFS License packages 20 | zypper: 21 | name: "{{ scale_install_license_packages }}" 22 | state: present 23 | disable_gpg_check: no 24 | register: scale_install_license_packageresult 25 | 26 | - name: install | Check if GPFS packages were updated 27 | set_fact: 28 | scale_install_updated: true 29 | when: 30 | - (scale_install_zypppackageresult.changed) 31 | when: not scale_daemon_running 32 | -------------------------------------------------------------------------------- /roles/scaleadmd_install/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | 3 | -------------------------------------------------------------------------------- /roles/scaleadmd_install/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - node -------------------------------------------------------------------------------- /roles/scaleadmd_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | 6 | ## Minimum Spectrum Scale version that this role was tested with 7 | scale_minversion: 4.1.1 8 | 9 | ## Compute RPM version from Spectrum Scale version 10 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 11 | 12 | ## Supported package managers 13 | scale_pkg_mgr: 14 | - yum 15 | - dnf 16 | - apt 17 | - zypper 18 | 19 | ## Remember if RPMs were updated or not 20 | scale_install_updated: false 21 | 22 | ## Remember if config params were changed or not 23 | scale_config_changed: false 24 | 25 | ## Supported scale os distrubution 26 | scale_ubuntu_distribution: 27 | - Ubuntu 28 | - Debian 29 | 30 | ## Supported scale os distrubution 31 | scale_rhel_distribution: 32 | - RedHat 33 | - CentOS 34 | 35 | ## Supported scale os distrubution 36 | scale_sles_distribution: 37 | - SLES 38 | - Suse 39 | -------------------------------------------------------------------------------- /roles/smb_configure/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.SMB.md -------------------------------------------------------------------------------- /roles/smb_configure/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (SMB) cluster role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/smb_configure/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.ces_common 21 | -------------------------------------------------------------------------------- /roles/smb_configure/tasks/configure.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: configure | Enable SMB 3 | shell: 4 | cmd: "{{ scale_command_path }}mmces service enable SMB" 5 | delegate_to: "{{ scale_smb_node_list.0 }}" 6 | run_once: true 7 | 8 | - name: configure | Check if zimon sensor is configured 9 | shell: "/usr/lpp/mmfs/bin/mmperfmon config show" 10 | register: scale_zimon_conf_sensors 11 | failed_when: false 12 | changed_when: false 13 | run_once: true 14 | 15 | - name: configure | Stat ZIMonSensors_smb.cfg file 16 | stat: 17 | path: /opt/IBM/zimon/defaults/ZIMonSensors_smb.cfg 18 | register: scale_config_file_status 19 | 20 | - name: configure | Configuring SMB performance monitoring sensors 21 | shell: 22 | cmd: "{{ scale_command_path }}mmperfmon config add --sensors=/opt/IBM/zimon/defaults/ZIMonSensors_smb.cfg" 23 | when: 24 | - scale_config_file_status.stat.exists 25 | - " 'mmperfmon: There is no performance monitoring configuration data.' not in scale_zimon_conf_sensors.stderr" 26 | -------------------------------------------------------------------------------- /roles/smb_configure/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for configure 3 | - import_tasks: configure.yml 4 | when: scale_protocols is defined and scale_protocols.smb|bool 5 | tags: config 6 | -------------------------------------------------------------------------------- /roles/smb_configure/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (SMB) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /roles/smb_install/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.SMB.md -------------------------------------------------------------------------------- /roles/smb_install/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (SMB) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale YUM/apt/zypper repository 6 | #scale_install_smb_repository_rpms: http:///smb_rpms/ 7 | #scale_install_smb_repository_debs: http:///smb_debs/ 8 | #scale_install_smb_repository_rpms_sles: http:///smb_rpms/sles12/ 9 | 10 | ## List of NFS packages to install 11 | scale_smb_packages: 12 | - gpfs.smb 13 | 14 | ## Temporary directory to copy installation package to 15 | ## (local package installation method) 16 | scale_install_localpkg_tmpdir_path: /tmp 17 | 18 | ## Flag to install smb debug package 19 | scale_smb_install_debuginfo: true 20 | -------------------------------------------------------------------------------- /roles/smb_install/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/smb_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | - ibm.spectrum_scale.smb_prepare 22 | -------------------------------------------------------------------------------- /roles/smb_install/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install GPFS smb packages 3 | package: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | when: scale_install_repository_url is defined and inventory_hostname in scale_smb_node_list 7 | 8 | 9 | - name: install| Install GPFS SMB deb 10 | apt: 11 | deb: "{{ item }}" 12 | state: present 13 | when: scale_install_repository_url is not defined and inventory_hostname in scale_smb_node_list 14 | with_items: 15 | - "{{ scale_install_all_packages }}" 16 | -------------------------------------------------------------------------------- /roles/smb_install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (SMB) 3 | - import_tasks: install.yml 4 | when: scale_protocols is defined and (scale_protocols.smb|bool or scale_protocols.nfs|bool) 5 | tags: install 6 | -------------------------------------------------------------------------------- /roles/smb_install/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS SMB packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 7 | when: inventory_hostname in scale_smb_node_list 8 | -------------------------------------------------------------------------------- /roles/smb_install/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install | Install GPFS SMB packages 3 | zypper: 4 | name: "{{ scale_install_all_packages }}" 5 | state: present 6 | disable_gpg_check: no 7 | when: inventory_hostname in scale_smb_node_list 8 | -------------------------------------------------------------------------------- /roles/smb_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/smb_prepare/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.SMB.md -------------------------------------------------------------------------------- /roles/smb_prepare/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/smb_prepare/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for precheck 3 | - import_tasks: check.yml 4 | when: scale_protocols is defined and (scale_protocols.smb|bool or scale_protocols.nfs|bool) 5 | tags: prepare 6 | -------------------------------------------------------------------------------- /roles/smb_upgrade/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.SMB.md -------------------------------------------------------------------------------- /roles/smb_upgrade/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (SMB) role - 3 | # either edit this file or define your own variables to override the defaults 4 | 5 | ## Specify the URL of the (existing) Spectrum Scale YUM/apt/zypper repository 6 | #scale_install_smb_repository_rpms: http:///smb_rpms/ 7 | #scale_install_smb_repository_debs: http:///smb_debs/ 8 | #scale_install_smb_repository_rpms_sles: http:///smb_rpms/sles12/ 9 | 10 | ## List of NFS packages to install 11 | scale_smb_packages: 12 | - gpfs.smb 13 | 14 | ## Temporary directory to copy installation package to 15 | ## (local package installation method) 16 | scale_install_localpkg_tmpdir_path: /tmp 17 | 18 | ## Flag to install smb debug package 19 | scale_smb_install_debuginfo: true 20 | -------------------------------------------------------------------------------- /roles/smb_upgrade/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for node 3 | - name: yum-clean-metadata 4 | command: yum clean metadata 5 | -------------------------------------------------------------------------------- /roles/smb_upgrade/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: 20 | - ibm.spectrum_scale.core_common 21 | -------------------------------------------------------------------------------- /roles/smb_upgrade/tasks/apt/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install GPFS smb packages 3 | package: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | when: scale_install_repository_url is defined 7 | 8 | 9 | - name: upgrade | Upgrade GPFS SMB deb 10 | apt: 11 | deb: "{{ item }}" 12 | state: latest 13 | when: scale_install_repository_url is not defined 14 | with_items: 15 | - "{{ scale_install_all_packages }}" 16 | -------------------------------------------------------------------------------- /roles/smb_upgrade/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Install IBM Spectrum Scale (SMB) 3 | - import_tasks: install.yml 4 | tags: install 5 | -------------------------------------------------------------------------------- /roles/smb_upgrade/tasks/yum/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade GPFS SMB packages 3 | yum: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | update_only: yes 7 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 8 | register: package_up 9 | when: ansible_pkg_mgr == 'yum' 10 | 11 | - name: upgrade | Upgrade GPFS SMB packages 12 | package: 13 | name: "{{ scale_install_all_packages }}" 14 | state: latest 15 | disable_gpg_check: "{{ scale_disable_gpgcheck }}" 16 | when: ansible_distribution in scale_rhel_distribution and ansible_distribution_major_version >= '8' 17 | -------------------------------------------------------------------------------- /roles/smb_upgrade/tasks/zypper/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: upgrade | Upgrade GPFS SMB packages 3 | zypper: 4 | name: "{{ scale_install_all_packages }}" 5 | state: latest 6 | disable_gpg_check: no 7 | -------------------------------------------------------------------------------- /roles/smb_upgrade/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (GPFS) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | ## Compute RPM version from Spectrum Scale version 6 | scale_rpmversion: "{{ scale_version | regex_replace('^([0-9.]+)\\.([0-9])$', '\\1-\\2') }}" 7 | 8 | ## Default scale extraction path 9 | scale_extracted_default_path: "/usr/lpp/mmfs" 10 | scale_extracted_path: "{{ scale_extracted_default_path }}/{{ scale_version }}" 11 | -------------------------------------------------------------------------------- /roles/smb_verify/README.md: -------------------------------------------------------------------------------- 1 | ../../docs/README.SMB.md -------------------------------------------------------------------------------- /roles/smb_verify/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Default variables for the IBM Spectrum Scale (SMB) cluster role - 3 | # either edit this file or define your own variables to override the defaults 4 | -------------------------------------------------------------------------------- /roles/smb_verify/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: IBM Corporation 4 | description: Highly-customizable Ansible role for installing and configuring IBM Spectrum Scale (GPFS) 5 | company: IBM 6 | 7 | license: Apache-2.0 8 | 9 | min_ansible_version: 2.9 10 | 11 | platforms: 12 | - name: EL 13 | versions: 14 | - 7 15 | - 8 16 | 17 | galaxy_tags: [] 18 | 19 | dependencies: [] 20 | -------------------------------------------------------------------------------- /roles/smb_verify/tasks/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: postcheck | Check if SMB is running 3 | shell: 4 | cmd: "{{ scale_command_path }}mmces service list|grep SMB" 5 | register: scale_smb_status 6 | when: inventory_hostname in scale_smb_node_list 7 | ignore_errors: true 8 | failed_when: false 9 | 10 | - name: postcheck | Check if SMB is running 11 | assert: 12 | that: 13 | - scale_smb_status.rc == 0 14 | fail_msg: "SMB is not active on {{ ansible_hostname }}" 15 | when: inventory_hostname in scale_smb_node_list 16 | -------------------------------------------------------------------------------- /roles/smb_verify/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for postcheck 3 | - import_tasks: check.yml 4 | when: protocols is defined and protocols.smb|bool 5 | tags: always 6 | -------------------------------------------------------------------------------- /roles/smb_verify/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variables for the IBM Spectrum Scale (SMB) role - 3 | # these variables are *not* meant to be overridden 4 | 5 | # default mm command exection path 6 | scale_command_path: /usr/lpp/mmfs/bin/ 7 | -------------------------------------------------------------------------------- /samples/ansible.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export ANSIBLE_LOG_PATH=/tmp/ansible_$(date "+%Y%m%d%H%M%S").log 4 | 5 | IFS=$',' 6 | 7 | echo 'Running ansible-playbook -i hosts playbook_localpkg.yml' 8 | ansible-playbook -i hosts playbook_localpkg.yml 9 | -------------------------------------------------------------------------------- /samples/daemon_admin_network: -------------------------------------------------------------------------------- 1 | # hosts: 2 | # Sample parameter for the host file for deploying IBM Spectrum Scale (GPFS) cluster 3 | # with admin and daemon network. 4 | # 5 | # To allow ssh to the cluster with the defined scale_admin_nodename only, the sshd_config 6 | # needs to be updated. To allow update of sshd_config set the variables 7 | # scale_prepare_enable_ssh_login and scale_prepare_restrict_ssh_address to true 8 | # (see roles/core/precheck/defaults/main.yml). 9 | 10 | [cluster01] 11 | scale01 scale_admin_nodename=scale01 scale_daemon_nodename=scale01d 12 | scale02 scale_admin_nodename=scale02 scale_daemon_nodename=scale02d 13 | -------------------------------------------------------------------------------- /samples/hosts: -------------------------------------------------------------------------------- 1 | # hosts: 2 | # Sample host file for deploying IBM Spectrum Scale (GPFS) cluster 3 | [cluster01] 4 | host-vm1 scale_cluster_quorum=true scale_cluster_manager=true scale_cluster_gui=false scale_protocol_node=true 5 | host-vm2 scale_cluster_quorum=true scale_cluster_manager=true scale_cluster_gui=false scale_protocol_node=false 6 | host-vm3 scale_cluster_quorum=true scale_cluster_manager=true scale_cluster_gui=false scale_protocol_node=false 7 | -------------------------------------------------------------------------------- /samples/playbook_afm_cos.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_ces.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster with Cluster 7 | # Export Services (CES). Additional variables need to be defined for this, it is 8 | # recommended to use Ansible group variables for this purpose: 9 | # https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#assigning-a-variable-to-many-machines-group-variables 10 | 11 | # Sample definitions can be found in samples/vars/ces_vars.yml 12 | - import_playbook: set_json_variables_afmcos.yml 13 | 14 | - hosts: scale_node 15 | collections: 16 | - ibm.spectrum_scale 17 | roles: 18 | - afm_cos_configure 19 | -------------------------------------------------------------------------------- /samples/playbook_callhome.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_callhome.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster with Call Home 7 | # enabled. Additional variables need to be defined for this, it is recommended 8 | # to use Ansible group variables for this purpose: 9 | # https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#assigning-a-variable-to-many-machines-group-variables 10 | 11 | # Sample definitions can be found in samples/vars/callhome_vars.yml 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | vars: 17 | - scale_version: 5.0.4.0 18 | - scale_install_localpkg_path: /root/Spectrum_Scale_Standard-5.0.4.0-x86_64-Linux-install 19 | pre_tasks: 20 | - include_vars: callhome_vars.yml 21 | roles: 22 | - core_prepare 23 | - core_install 24 | - core_configure 25 | - core_verify 26 | - callhome_prepare 27 | - callhome_install 28 | - callhome_configure 29 | - callhome_verify 30 | -------------------------------------------------------------------------------- /samples/playbook_ces.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_ces.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster with Cluster 7 | # Export Services (CES). Additional variables need to be defined for this, it is 8 | # recommended to use Ansible group variables for this purpose: 9 | # https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#assigning-a-variable-to-many-machines-group-variables 10 | 11 | # Sample definitions can be found in samples/vars/ces_vars.yml 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | vars: 17 | - scale_version: 5.0.4.0 18 | - scale_install_localpkg_path: /root/Spectrum_Scale_Standard-5.0.4.0-x86_64-Linux-install 19 | pre_tasks: 20 | - include_vars: ces_vars.yml 21 | roles: 22 | - core_prepare 23 | - core_install 24 | - core_configure 25 | - core_verify 26 | - nfs_prepare 27 | - nfs_install 28 | - nfs_configure 29 | - nfs_verify 30 | - smb_prepare 31 | - smb_install 32 | - smb_configure 33 | - smb_verify 34 | -------------------------------------------------------------------------------- /samples/playbook_ces_hdfs.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_ces_hdfs.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster with Cluster 7 | # Export Services (CES). Additional variables need to be defined for this, it is 8 | # recommended to use Ansible group variables for this purpose: 9 | # https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#assigning-a-variable-to-many-machines-group-variables 10 | 11 | # Sample definitions can be found in samples/vars/hdfs_cluster_vars.yml 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | vars: 17 | - scale_version: 5.1.1.0 18 | - scale_install_localpkg_path: /root/Spectrum_Scale_Advanced-5.1.1.0-x86_64-Linux-install 19 | pre_tasks: 20 | - include_vars: hdfs_cluster_vars.yml 21 | roles: 22 | - core_prepare 23 | - core_install 24 | - core_configure 25 | - core_verify 26 | - hdfs_prepare 27 | - hdfs_install 28 | - hdfs_configure 29 | - hdfs_verify 30 | -------------------------------------------------------------------------------- /samples/playbook_ces_object.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_ces_object.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster with Cluster 7 | # Export Services (CES). Additional variables need to be defined for this, it is 8 | # recommended to use Ansible group variables for this purpose: 9 | # https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#assigning-a-variable-to-many-machines-group-variables 10 | 11 | # Sample definitions can be found in samples/vars/scale_object_vars.yml 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | vars: 17 | - scale_install_localpkg_path: /root/Spectrum_Scale_Advanced-5.1.1.0-x86_64-Linux-install 18 | pre_tasks: 19 | - include_vars: scale_object_vars.yml 20 | roles: 21 | - core_prepare 22 | - core_install 23 | - core_configure 24 | - core_verify 25 | - obj_prepare 26 | - obj_install 27 | - obj_configure 28 | - obj_verify 29 | -------------------------------------------------------------------------------- /samples/playbook_cloud.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_cloud.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster using 7 | # inventory in JSON format. 8 | 9 | # This file is mandatory to import and it will load inventory variables form 10 | # vars/scale_clusterdefinition.json 11 | - import_playbook: "set_json_variables.yml" 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | roles: 17 | - core_prepare 18 | - core_install 19 | - core_configure 20 | - core_verify 21 | - gui_prepare 22 | - gui_install 23 | - gui_configure 24 | - gui_verify 25 | - perfmon_prepare 26 | - perfmon_install 27 | - perfmon_configure 28 | - perfmon_verify 29 | -------------------------------------------------------------------------------- /samples/playbook_cloud_remote_mount.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_cloud_remote_mount.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster with Remote_Mount 7 | # enabled. Additional variables need to be defined for this, it is recommended 8 | # to use Ansible group variables for this purpose: 9 | # https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#assigning-a-variable-to-many-machines-group-variables 10 | 11 | - import_playbook: "set_json_variables.yml" 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | vars: 17 | - scale_remotemount_debug: true 18 | roles: 19 | - remotemount_configure 20 | 21 | # If Accessing/Client Cluster don't have GUI, 22 | # Then change wee need to add variable scale_remotemount_client_no_gui: true and ansible "hosts" need to point to one of the Scale client cluster node 23 | -------------------------------------------------------------------------------- /samples/playbook_directory.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_directory.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster using the 7 | # directory installation method. You need to keep all required Spectrum Scale 8 | # packages in a single user-provided directory. 9 | 10 | # Note that specifying the variable 'scale_version' is *not* required for this 11 | # installation method. 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | vars: 17 | - scale_install_directory_pkg_path: /root/spectrum_scale_packages 18 | roles: 19 | - core_prepare 20 | - core_install 21 | - core_configure 22 | - core_verify 23 | -------------------------------------------------------------------------------- /samples/playbook_fileauditlogging.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_fileauditlogging.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster with File 7 | # Audit Logging (FAL) enabled. 8 | 9 | # Sample definitions can be found in samples/vars/fal_vars.yml 10 | 11 | - hosts: cluster01 12 | collections: 13 | - ibm.spectrum_scale 14 | vars: 15 | - scale_version: 5.0.4.0 16 | - scale_install_localpkg_path: /root/Spectrum_Scale_Standard-5.0.4.0-x86_64-Linux-install 17 | pre_tasks: 18 | - include_vars: fal_vars.yml 19 | roles: 20 | - core_prepare 21 | - core_install 22 | - core_configure 23 | - core_verify 24 | - fal_prepare 25 | - fal_install 26 | - fal_configure 27 | - fal_verify 28 | -------------------------------------------------------------------------------- /samples/playbook_localpkg.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_localpkg.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster using local 7 | # archive installation method. This means that the self-extracting archive 8 | # containing the Spectrum Scale code is accessible on the Ansible control 9 | # machine running the playbook. Integrity of the archive will be validated by 10 | # comparing checksums with a *.md5 reference file (if present), the archive will 11 | # be copied to each managed node in your cluster 12 | # ('scale_install_localpkg_tmpdir_path'), and subsequently the archive will be 13 | # extracted. Packages will then be installed from the local files on each node. 14 | 15 | - hosts: cluster01 16 | collections: 17 | - ibm.spectrum_scale 18 | vars: 19 | - scale_install_localpkg_path: /root/Spectrum_Scale_Standard-5.0.4.0-x86_64-Linux-install 20 | roles: 21 | - core_prepare 22 | - core_install 23 | - core_configure 24 | - core_verify 25 | -------------------------------------------------------------------------------- /samples/playbook_remotepkg.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_remotepkg.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster using remote 7 | # archive installation method. This means that the self-extracting archive 8 | # containing the Spectrum Scale code is accessible on each Ansible managed node. 9 | # Integrity of the archive will be validated by comparing checksums with a *.md5 10 | # reference file (if present), and subsequently the archive will be extracted. 11 | # Packages will then be installed from the local files on each node. 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | vars: 17 | - scale_install_remotepkg_path: /root/Spectrum_Scale_Standard-5.0.4.0-x86_64-Linux-install 18 | roles: 19 | - core_prepare 20 | - core_install 21 | - core_configure 22 | - core_verify 23 | -------------------------------------------------------------------------------- /samples/playbook_repository.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_repository.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster using 7 | # repository installation method. You will need to provide the URL of an 8 | # (existing) Spectrum Scale YUM repository. Copy the contents of 9 | # /usr/lpp/mmfs/{{ scale_version }}/* to a web server to build your repository. 10 | # A YUM repository will be defined on each managed node in your cluster. 11 | # Packages will then be installed from this central repository. 12 | 13 | # Note that specifying the variable 'scale_version' is mandatory for this 14 | # installation method. 15 | 16 | - hosts: cluster01 17 | collections: 18 | - ibm.spectrum_scale 19 | vars: 20 | - scale_version: 5.0.4.0 21 | # Remember the trailing slash `/` in the URL 22 | - scale_install_repository_url: http://server/path/ 23 | roles: 24 | - core_prepare 25 | - core_install 26 | - core_configure 27 | - core_verify 28 | -------------------------------------------------------------------------------- /samples/playbook_storage.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/playbook_storage.yml 4 | # 5 | 6 | # Playbook sample for deploying IBM Spectrum Scale (GPFS) cluster with storage 7 | # (NSDs) and file systems. Additional variables need to be defined for this, it 8 | # is recommended to use Ansible group variables for this purpose: 9 | # https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#assigning-a-variable-to-many-machines-group-variables 10 | 11 | # Sample definitions can be found in samples/vars/storage_vars.yml 12 | 13 | - hosts: cluster01 14 | collections: 15 | - ibm.spectrum_scale 16 | vars: 17 | - scale_version: 5.0.4.0 18 | - scale_install_localpkg_path: /root/Spectrum_Scale_Standard-5.0.4.0-x86_64-Linux-install 19 | pre_tasks: 20 | - include_vars: storage_vars.yml 21 | roles: 22 | - core_prepare 23 | - core_install 24 | - core_configure 25 | - core_verify 26 | -------------------------------------------------------------------------------- /samples/vars/afm_cos_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "scale_cluster": { 3 | "installer_node_ip": "10.0.100.21", 4 | "setuptype": "ss" 5 | }, 6 | "node_details": [ 7 | { 8 | "fqdn": "scale-21", 9 | "ip_address": "10.0.100.21", 10 | "is_admin_node": true, 11 | "scale_cluster_gateway": true, 12 | "scale_daemon_nodename": "scale-21" 13 | } 14 | ], 15 | "scale_afm_cos_bucket_params": [ 16 | { 17 | "bucket": "bucket-afm1", 18 | "akey": "xxxxxxx", 19 | "skey": "xxxxxxxx" 20 | } 21 | ], 22 | "scale_afm_cos_filesets_params": [ 23 | { 24 | "filesystem": "fs1", 25 | "fileset": "afmfileset1", 26 | "endpoint": "https://s3.ap.cos.appdomain.cloud:443/bucket-afm1", 27 | "bucket": "bucket-afm1", 28 | "mode": "sw" 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /samples/vars/callhome_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # saples/vars/callhome_vars.yml 4 | # 5 | 6 | # Refer to `man mmcallhome` man pages for a description of these Call Home 7 | # parameters. 8 | 9 | scale_callhome_params: 10 | is_enabled: true 11 | customer_name: abc 12 | customer_email: abc@abc.com 13 | customer_id: 12345 14 | customer_country: IN 15 | proxy_ip: 16 | proxy_port: 17 | proxy_user: 18 | proxy_password: 19 | proxy_location: 20 | callhome_server: scale01 21 | callhome_group1: [scale01,scale02,scale03,scale04] 22 | callhome_schedule: [daily,weekly] 23 | -------------------------------------------------------------------------------- /samples/vars/ces_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # saples/vars/ces_vars.yml 4 | # 5 | 6 | # Refer to `man mmces` man pages for a description of these Cluster Export 7 | # Services (CES) parameters. 8 | 9 | scale_protocols: 10 | smb: true 11 | nfs: true 12 | object: true 13 | export_ip_pool: [192.168.100.100,192.168.100.101] 14 | filesystem: cesSharedRoot 15 | mountpoint: /gpfs/cesSharedRoot 16 | 17 | # Note that for enabling Cluster Export Services in an IPv6 environment one also 18 | # needs to define an `interface` parameter: 19 | 20 | # scale_protocols: 21 | # smb: true 22 | # nfs: true 23 | # object: true 24 | # interface: [eth0] 25 | # export_ip_pool: ["2002:90b:e006:84:250:56ff:feb9:7787"] 26 | # filesystem: cesSharedRoot 27 | # mountpoint: /gpfs/cesSharedRoot 28 | -------------------------------------------------------------------------------- /samples/vars/config_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # saples/vars/config_vars.yml 4 | # 5 | 6 | # Refer to the `man mmchconfig` man page for a list of available configuration 7 | # attributes. 8 | 9 | # Note that configuration attributes can be defined as variables for *any* host 10 | # in the play — the host for which you define the configuration attribute is 11 | # irrelevant. 12 | 13 | scale_config: 14 | - nodeclass: classA 15 | params: 16 | - pagepool: 16G 17 | - autoload: no 18 | - ignorePrefetchLUNCount: yes 19 | -------------------------------------------------------------------------------- /samples/vars/fal_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # saples/vars/fal_vars.yml 4 | # 5 | 6 | # 7 | 8 | scale_storage: 9 | - filesystem: gpfs01 10 | scale_fal_enable: true 11 | logfileset: .audit_log 12 | retention: 365 13 | -------------------------------------------------------------------------------- /samples/vars/hdfs_cluster_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/vars/hdfs_cluster_var.yml 4 | # 5 | 6 | # 7 | scale_protocols: 8 | smb: false 9 | nfs: false 10 | hdfs: true 11 | export_ip_pool: [172.16.12.51, 172.16.12.53] 12 | filesystem: cesSharedRoot 13 | mountpoint: /gpfs/cesSharedRoot 14 | 15 | scale_hdfs_clusters: 16 | - name: mycluster 17 | filesystem: gpfs1 18 | namenodes: ['host-vm1.test.net', 'host-vm2.test.net'] 19 | datanodes: ['host-vm3.test.net', 'host-vm4.test.net', 'host-vm5.test.net'] 20 | datadir: datadir -------------------------------------------------------------------------------- /samples/vars/scale_object_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # samples/vars/scale_object_vars.yml 4 | # 5 | 6 | # Default variables for the IBM Spectrum Scale (Object) cluster role 7 | # Configuration of Swift 8 | 9 | scale_ces_obj: 10 | dynamic_url: False 11 | enable_s3: False 12 | local_keystone: True 13 | enable_file_access: False 14 | endpoint_hostname: scale-11 15 | object_fileset: Object_Fileset 16 | pwd_file: obj_passwd.j2 17 | admin_user: admin 18 | admin_pwd: admin001 19 | database_pwd: admin001 20 | 21 | --------------------------------------------------------------------------------