{"id":25000605,"url":"https://github.com/gluster/gluster-ansible-features","last_synced_at":"2025-04-12T08:52:30.707Z","repository":{"id":38421573,"uuid":"129900429","full_name":"gluster/gluster-ansible-features","owner":"gluster","description":"Ansible role to enable a Gluster cluster with gluster-specific features like samba, ganesha etc.","archived":false,"fork":false,"pushed_at":"2022-08-10T07:10:29.000Z","size":142,"stargazers_count":10,"open_issues_count":5,"forks_count":15,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-12T08:52:22.931Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gluster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-17T12:22:35.000Z","updated_at":"2022-01-05T05:22:04.000Z","dependencies_parsed_at":"2022-08-22T22:31:39.751Z","dependency_job_id":null,"html_url":"https://github.com/gluster/gluster-ansible-features","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluster%2Fgluster-ansible-features","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluster%2Fgluster-ansible-features/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluster%2Fgluster-ansible-features/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluster%2Fgluster-ansible-features/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gluster","download_url":"https://codeload.github.com/gluster/gluster-ansible-features/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248543883,"owners_count":21121838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-04T19:36:11.005Z","updated_at":"2025-04-12T08:52:30.688Z","avatar_url":"https://github.com/gluster.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"gluster.features\n=========\n\nThe gluster.features role implements GlusterFS usecases. This role implements following sub-roles:\n\n* nfs_ganesha\n* gluster_hc\n* ctdb\n* geo_replication\n\nRequirements\n------------\n\n* GlusterFS\n\nRole Variables\n--------------\n\n### NFS Ganesha related variables\n\n| Name                     |Choices| Default value         | Comments                          |\n|--------------------------|-------|-----------------------|-----------------------------------|\n| gluster_features_ganesha_haname |  | UNDEF   | Name of the NFS Ganesha cluster.  |\n| gluster_features_ganesha_volume |    | UNDEF    | An existing GlusterFS volume which will be exported through NFS Ganesha |\n| gluster_features_ganesha_hostnames  |  | UNDEF | A comma separated list of hostnames, these are subset of nodes of the Gluster Trusted Pool that form the ganesha HA cluster|\n| gluster_features_ganesha_viplist    | UNDEF | public   | A comma separated list of virtual IPs for each of the nodes specified above. |\n| gluster_features_ganesha_masternode |    | UNDEF | One of the nodes from the Trusted Storage Pool, gluster commands will be run on this node. gluster_features_ganesha_masternode: \"{{ groups['ganesha_nodes'][0] }}\" - the first node of the inventory section ganesha_nodes will be used.|\n| gluster_features_ganesha_clusternodes |    | UNDEF | List of the nodes in the Trusted Storage Pool. gluster_features_ganesha_clusternodes: \"{{ groups['ganesha_nodes'] }}\" - The nodes listed in section ganesha_nodes in the inventory. |\n\n### Gluster Hyperconverged Interface setup related roles\n\n| Name                     |Choices| Default value         | Comments                          |\n|--------------------------|-------|-----------------------|-----------------------------------|\n| gluster_features_hci_cluster |  | UNDEF   | The cluster ip/hostnames. Can be set by gluster_hci_cluster: \"{{ groups['hc-nodes'] }}\",  where hc-nodes is from the inventory file.  |\n| gluster_features_hci_volumes  |  | UNDEF | This is a dictionary setting the volume information. See below for further explanation and variables. |\n| gluster_features_hci_volume_options |  | UNDEF | This is not needed to be set by user, defaults are picked up. Set to override defaults. For default values see Gluster HCI documentation. |\n| gluster_features_hci_master | | UNDEF | The REST host to be connected to (do not include `http'). This value will be ignored if glusterd1 is running on remote node. |\n| gluster_features_hci_port || 24007 | The glusterd2 port |\n\n\nDependencies\n------------\n\ngluster.infra\ngluster.cluster\n\n\nExample Playbook\n----------------\n\nCreating a NFS Ganesha Cluster:\n\nAn example playbook to deploy NFS Ganesha.\nNote to gather_facts should be set to true.\n\n\n```yaml\n---\n- name: Setting NFS Ganesha\n  remote_user: root\n  hosts: ganesha_nodes\n  gather_facts: false\n\n  vars:\n     # Setting up NFS Ganesha\n     gluster_features_ganesha_haname: ganesha-ha\n     gluster_features_ganesha_volume: nfs_ganesha\n     gluster_features_ganesha_hostnames: \"server1,server2,server3,server4\"\n     gluster_features_ganesha_viplist: 10.70.44.121,10.70.44.122,10.70.44.123,10.70.44.124\n\n     gluster_features_ganesha_masternode: \"{{ groups['ganesha_nodes'][0] }}\"\n     gluster_features_ganesha_clusternodes: \"{{ groups['ganesha_nodes'] }}\"\n\n  roles:\n     - gluster.features\n\n```\n\nThe above playbook assumes that a volume named nfs_ganesha is created and running.\n\n\nNote:\n-----\nIf you are using GlusterFS 4.0 (glusterd2) ensure to install\npython-gluster-mgmt-client package on the remote master host.\n\nOr create a directory glusterapilib on the remote host and copy the files\nvolume.py, peer.py, common.py,__init__.py, excpetions.py under glusterapilib in\na python searchable path.\n\n\nLicense\n-------\n\nGPLv3\n\nAuthor Information\n------------------\n\nSachidananda Urs \u003csurs@redhat.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgluster%2Fgluster-ansible-features","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgluster%2Fgluster-ansible-features","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgluster%2Fgluster-ansible-features/lists"}