### Execute Full Playbook for Initial Setup Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes a comprehensive Ansible playbook for the initial setup of a VAST Data cluster, encompassing all defined roles. This command requires a vault password and runs the main playbook, typically named 'initial.yml'. ```bash # Full playbook execution is typically done without specific tags for initial setup, # or with a tag that encompasses all required roles. # Example assuming a main playbook that orchestrates all setup steps: anible-playbook -i hosts initial.yml --ask-vault-pass ``` -------------------------------- ### Execute View Creation Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes the Ansible playbook to set up views on a specified VAST Data cluster. It requires a vault password and targets the 'setup-views' tag. The command connects to the 'example' host defined in the inventory. ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-views ``` -------------------------------- ### Execute Replication Peer Setup Source: https://context7.com/vast-data/vast-ansible/llms.txt Runs Ansible playbooks to configure native replication peer relationships between VAST clusters. ```APIDOC ## Execute Replication Peer Setup ### Description This command executes the Ansible playbook responsible for setting up native replication peer relationships between VAST clusters. ### Command ```bash ansible-playbook -i hosts replication.yml --ask-vault-pass --limit example --tags setup-peer ``` ### Parameters - **-i hosts**: Specifies the inventory file. - **replication.yml**: The playbook file for replication and protection policies. - **--ask-vault-pass**: Prompts for the Ansible Vault password. - **--limit example**: Limits the execution to the host group 'example'. - **--tags setup-peer**: Executes tasks tagged with 'setup-peer'. ``` -------------------------------- ### Full Playbook Execution Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes all Ansible roles for a complete initial cluster setup. ```APIDOC ## Full Playbook Execution ### Description This command initiates the complete initial setup of the VAST Data cluster by executing all defined Ansible roles. ### Command ```bash # (No specific command provided in the input for full execution, but typically it would be a playbook that includes all necessary tags or roles) # Example: ansible-playbook -i hosts site.yml --ask-vault-pass ``` ### Note Refer to your project's main playbook (e.g., `site.yml` or `initial.yml`) for the exact command to run a full setup. ``` -------------------------------- ### Execute Protection Policy Setup Source: https://context7.com/vast-data/vast-ansible/llms.txt Runs Ansible playbooks to set up protection policies on the VAST Data cluster. ```APIDOC ## Execute Protection Policy Setup ### Description This command executes the Ansible playbook responsible for setting up protection policies on the VAST Data cluster. ### Command ```bash ansible-playbook -i hosts replication.yml --ask-vault-pass --limit example --tags setup-protectionpolicies ``` ### Parameters - **-i hosts**: Specifies the inventory file. - **replication.yml**: The playbook file for replication and protection policies. - **--ask-vault-pass**: Prompts for the Ansible Vault password. - **--limit example**: Limits the execution to the host group 'example'. - **--tags setup-protectionpolicies**: Executes tasks tagged with 'setup-protectionpolicies'. ``` -------------------------------- ### Execute Native Replication Setup Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes an Ansible playbook to set up native replication between VAST Data clusters. This command requires a vault password and targets the 'setup-peer' tag, configuring peer relationships for replication. ```bash # Execute replication peer setup ansible-playbook -i hosts replication.yml --ask-vault-pass --limit example --tags setup-peer ``` -------------------------------- ### Execute Protection Policy Setup Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes the Ansible playbook to set up protection policies on a VAST Data cluster. This command requires a vault password and targets the 'setup-protectionpolicies' tag, applying the defined snapshot and replication configurations. ```bash ansible-playbook -i hosts replication.yml --ask-vault-pass --limit example --tags setup-protectionpolicies ``` -------------------------------- ### Define VAST Data Cluster Inventory Source: https://context7.com/vast-data/vast-ansible/llms.txt Specifies target VAST Data clusters and their connection details in the Ansible 'hosts' inventory file. It supports defining aliases for virtual clusters and their corresponding Ansible host IPs, including examples for local and remote cluster connections. ```ini # hosts [virtual_clusters] # Replace with your VAST Data Cluster name (case-sensitive) # If using remote Ansible host, specify its IP address sales-devvm-brett-dellandre ansible_host=127.0.0.1 example ansible_host=127.0.0.1 # For remote execution production-cluster ansible_host=10.0.1.50 dr-cluster ansible_host=10.0.2.50 ``` -------------------------------- ### Create NFS, SMB, and S3 Views with Ansible Source: https://context7.com/vast-data/vast-ansible/llms.txt Defines different types of views (NFS, SMB, S3) in host_vars/example.yml for VAST Data clusters. These configurations specify protocols, path, directory creation, and specific settings for each protocol like NFS interop flags, SMB share names, and S3 bucket details. The associated playbook tag is 'setup-views'. ```yaml # host_vars/example.yml views: - method: POST path: /example_view_path protocols: NFS create_dir: true view_policy_name: example_view_policy nfs_interop_flags: BOTH_NFS3_AND_NFS4_INTEROP_ENABLED # Create SMB share view views: - method: POST path: /smb_share protocols: SMB create_dir: true view_policy_name: smb_policy share: SHARE_NAME alias: smb-share-alias # Create S3 bucket view views: - method: POST path: /s3_bucket protocols: S3 create_dir: true view_policy_name: s3_policy bucket: mybucket bucket_owner: bucket-admin s3_versioning: true s3_locks: true s3_locks_retention_period: "30d" ``` -------------------------------- ### Create SMB Share View Source: https://context7.com/vast-data/vast-ansible/llms.txt Configures an SMB share view with specified protocols, directory creation, and policy settings. ```APIDOC ## POST /smb_share ### Description Creates an SMB share view with specified protocols, directory creation, and policy settings. ### Method POST ### Endpoint /smb_share ### Parameters #### Request Body - **protocols** (string) - Required - Specifies the protocol (e.g., SMB). - **create_dir** (boolean) - Required - Determines if the directory should be created. - **view_policy_name** (string) - Required - The name of the view policy to apply. - **share** (string) - Required - The name of the SMB share. - **alias** (string) - Optional - An alias for the SMB share. ### Request Example ```json { "method": "POST", "path": "/smb_share", "protocols": "SMB", "create_dir": true, "view_policy_name": "smb_policy", "share": "SHARE_NAME", "alias": "smb-share-alias" } ``` ### Response #### Success Response (200) (Details not provided in the input text) #### Response Example (Details not provided in the input text) ``` -------------------------------- ### Execute View Creation Source: https://context7.com/vast-data/vast-ansible/llms.txt Runs Ansible playbooks to set up views on the VAST Data cluster. ```APIDOC ## Execute View Creation ### Description This command executes the Ansible playbook responsible for setting up views on the VAST Data cluster. ### Command ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-views ``` ### Parameters - **-i hosts**: Specifies the inventory file. - **initial.yml**: The main playbook file. - **--ask-vault-pass**: Prompts for the Ansible Vault password. - **--limit example**: Limits the execution to the host group 'example'. - **--tags setup-views**: Executes tasks tagged with 'setup-views'. ``` -------------------------------- ### Ansible Configuration File Source: https://context7.com/vast-data/vast-ansible/llms.txt This is a sample 'ansible.cfg' file that defines default settings for Ansible. It specifies the paths for roles and collections, the output callback plugin, and configuration for displaying host status and disabling host key checking for easier management. ```ini [defaults] roles_path = roles collection_path = collections stdout_callback = yaml display_ok_hosts = true host_key_checking = false ``` -------------------------------- ### Execute Ansible Playbook with Various Options Source: https://context7.com/vast-data/vast-ansible/llms.txt These commands demonstrate how to execute Ansible playbooks with different options, such as targeting specific hosts, applying tags, performing dry runs, and enabling verbose output for debugging. They require an inventory file (e.g., 'hosts') and a playbook file (e.g., 'initial.yml'). The '--ask-vault-pass' option is used for encrypted variable management. ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example ``` ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass ``` ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-views ``` ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --check ``` ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example -vvv ``` ```bash ansible-playbook -i hosts replication.yml --ask-vault-pass --limit production-cluster ``` -------------------------------- ### Define Protection Policies with Ansible Source: https://context7.com/vast-data/vast-ansible/llms.txt Configures snapshot and replication policies in host_vars/example.yml for VAST Data clusters. This includes setting frequency, retention for local and remote copies, snapshot prefixes, clone types, and replication targets. The associated playbook tag is 'setup-protectionpolicies'. ```yaml # host_vars/example.yml protectionpolicies: - method: POST name: hourly_snapshots every_value: 1 every_unit: HOUR keep_local_value: 24 keep_local_period: HOURS snapshot_prefix: hourly clone_type: NATIVE_SNAPSHOT indestructible: false # Replication protection policy protectionpolicies: - method: POST name: daily_replication every_value: 1 every_unit: DAY keep_local_value: 7 keep_local_period: DAYS keep_remote: 30DAYS snapshot_prefix: daily clone_type: NATIVE_REPLICATION_TARGET replication_target: 12345 # Target cluster ID indestructible: true # Multiple retention frames example protectionpolicies: - method: POST name: tiered_backup every_value: 4 every_unit: HOUR keep_local_value: 48 keep_local_period: HOURS snapshot_prefix: backup clone_type: NATIVE_SNAPSHOT indestructible: false ``` -------------------------------- ### Configure Capacity and Inode Quotas with Ansible Source: https://context7.com/vast-data/vast-ansible/llms.txt Defines capacity and inode quotas for VAST Data clusters in host_vars/example.yml, including soft/hard limits and alerting configurations. Supports both general and user-specific quotas, as well as quota updates using PATCH method. The associated playbook tag is 'setup-quotas'. ```yaml # host_vars/example.yml quotas: - method: POST name: example_quota_name path: /example_view_path create_dir: false soft_limit_capacity: 80 TB hard_limit_capacity: 90 TB soft_limit_folders: 8000 hard_limit_folders: 9000 grace_period: 90m enable_alarms: true enable_email_providers: true default_email: admin@example.com is_user_quota: false # Create user-specific quota quotas: - method: POST name: user_john_quota path: /home/john create_dir: true soft_limit_capacity: 500 GB hard_limit_capacity: 550 GB soft_limit_folders: 100000 hard_limit_folders: 110000 grace_period: 7d enable_alarms: true enable_email_providers: true default_email: john@example.com is_user_quota: true # Update existing quota quotas: - method: PATCH name: example_quota_name path: /example_view_path create_dir: false soft_limit_capacity: 100 TB hard_limit_capacity: 120 TB soft_limit_folders: 10000 hard_limit_folders: 12000 grace_period: 30d enable_alarms: true enable_email_providers: true ``` -------------------------------- ### Create NFS View Source: https://context7.com/vast-data/vast-ansible/llms.txt Configures an NFS view with specified protocols, directory creation, and policy settings. ```APIDOC ## POST /example_view_path ### Description Creates an NFS view with specified protocols, directory creation, and policy settings. ### Method POST ### Endpoint /example_view_path ### Parameters #### Request Body - **protocols** (string) - Required - Specifies the protocol (e.g., NFS). - **create_dir** (boolean) - Required - Determines if the directory should be created. - **view_policy_name** (string) - Required - The name of the view policy to apply. - **nfs_interop_flags** (string) - Optional - NFS interoperability flags (e.g., BOTH_NFS3_AND_NFS4_INTEROP_ENABLED). ### Request Example ```json { "method": "POST", "path": "/example_view_path", "protocols": "NFS", "create_dir": true, "view_policy_name": "example_view_policy", "nfs_interop_flags": "BOTH_NFS3_AND_NFS4_INTEROP_ENABLED" } ``` ### Response #### Success Response (200) (Details not provided in the input text) #### Response Example (Details not provided in the input text) ``` -------------------------------- ### Configure Quotas Source: https://context7.com/vast-data/vast-ansible/llms.txt Sets up capacity and inode quotas with soft/hard limits and alerting configurations. ```APIDOC ## POST / [path] ### Description Configures capacity and inode quotas with soft/hard limits and alerting. ### Method POST ### Endpoint / [path] (e.g., /example_view_path or /home/john) ### Parameters #### Path Parameters - **path** (string) - Required - The path for which to configure the quota. #### Request Body - **name** (string) - Required - The name of the quota. - **create_dir** (boolean) - Required - Determines if the directory should be created. - **soft_limit_capacity** (string) - Optional - The soft limit for capacity (e.g., "80 TB"). - **hard_limit_capacity** (string) - Optional - The hard limit for capacity (e.g., "90 TB"). - **soft_limit_folders** (integer) - Optional - The soft limit for the number of folders. - **hard_limit_folders** (integer) - Optional - The hard limit for the number of folders. - **grace_period** (string) - Optional - The grace period for exceeding limits (e.g., "90m"). - **enable_alarms** (boolean) - Optional - Enables alarms for quota limits. - **enable_email_providers** (boolean) - Optional - Enables email notifications for alarms. - **default_email** (string) - Optional - The default email address for notifications. - **is_user_quota** (boolean) - Optional - Indicates if this is a user-specific quota. ### Request Example (General Quota) ```json { "method": "POST", "name": "example_quota_name", "path": "/example_view_path", "create_dir": false, "soft_limit_capacity": "80 TB", "hard_limit_capacity": "90 TB", "soft_limit_folders": 8000, "hard_limit_folders": 9000, "grace_period": "90m", "enable_alarms": true, "enable_email_providers": true, "default_email": "admin@example.com", "is_user_quota": false } ``` ### Request Example (User Quota) ```json { "method": "POST", "name": "user_john_quota", "path": "/home/john", "create_dir": true, "soft_limit_capacity": "500 GB", "hard_limit_capacity": "550 GB", "soft_limit_folders": 100000, "hard_limit_folders": 110000, "grace_period": "7d", "enable_alarms": true, "enable_email_providers": true, "default_email": "john@example.com", "is_user_quota": true } ``` ### Response #### Success Response (200) (Details not provided in the input text) #### Response Example (Details not provided in the input text) ``` ```APIDOC ## PATCH / [path] ### Description Updates an existing quota configuration. ### Method PATCH ### Endpoint / [path] (e.g., /example_view_path) ### Parameters #### Path Parameters - **path** (string) - Required - The path of the quota to update. #### Request Body - **name** (string) - Required - The name of the quota to update. - **create_dir** (boolean) - Optional - Determines if the directory should be created. - **soft_limit_capacity** (string) - Optional - The new soft limit for capacity. - **hard_limit_capacity** (string) - Optional - The new hard limit for capacity. - **soft_limit_folders** (integer) - Optional - The new soft limit for the number of folders. - **hard_limit_folders** (integer) - Optional - The new hard limit for the number of folders. - **grace_period** (string) - Optional - The new grace period. - **enable_alarms** (boolean) - Optional - Enables or disables alarms. - **enable_email_providers** (boolean) - Optional - Enables or disables email notifications. ### Request Example ```json { "method": "PATCH", "name": "example_quota_name", "path": "/example_view_path", "create_dir": false, "soft_limit_capacity": "100 TB", "hard_limit_capacity": "120 TB", "soft_limit_folders": 10000, "hard_limit_folders": 12000, "grace_period": "30d", "enable_alarms": true, "enable_email_providers": true } ``` ### Response #### Success Response (200) (Details not provided in the input text) #### Response Example (Details not provided in the input text) ``` -------------------------------- ### Execute VAST Cluster DNS Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes the Ansible playbook to set up DNS configuration on a VAST cluster. Requires the initial playbook file, hosts inventory, and an Ansible Vault password for encrypted variables. ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-dns ``` -------------------------------- ### Create S3 Bucket View Source: https://context7.com/vast-data/vast-ansible/llms.txt Configures an S3 bucket view with specified protocols, directory creation, and policy settings. ```APIDOC ## POST /s3_bucket ### Description Creates an S3 bucket view with specified protocols, directory creation, and policy settings. ### Method POST ### Endpoint /s3_bucket ### Parameters #### Request Body - **protocols** (string) - Required - Specifies the protocol (e.g., S3). - **create_dir** (boolean) - Required - Determines if the directory should be created. - **view_policy_name** (string) - Required - The name of the view policy to apply. - **bucket** (string) - Required - The name of the S3 bucket. - **bucket_owner** (string) - Optional - The owner of the S3 bucket. - **s3_versioning** (boolean) - Optional - Enables S3 versioning. - **s3_locks** (boolean) - Optional - Enables S3 object locking. - **s3_locks_retention_period** (string) - Optional - The retention period for S3 locks (e.g., "30d"). ### Request Example ```json { "method": "POST", "path": "/s3_bucket", "protocols": "S3", "create_dir": true, "view_policy_name": "s3_policy", "bucket": "mybucket", "bucket_owner": "bucket-admin", "s3_versioning": true, "s3_locks": true, "s3_locks_retention_period": "30d" } ``` ### Response #### Success Response (200) (Details not provided in the input text) #### Response Example (Details not provided in the input text) ``` -------------------------------- ### Execute Protected Path Configuration Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes an Ansible playbook to configure protected paths on a VAST Data cluster, applying protection policies to specific views. This command requires a vault password and targets the 'setup-protectedpath' tag. ```bash # Execute protected path configuration (applies protection policies to views) ansible-playbook -i hosts replication.yml --ask-vault-pass --limit example --tags setup-protectedpath ``` -------------------------------- ### Execute Quota Configuration Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes the Ansible playbook to configure quotas on a VAST Data cluster. This command requires a vault password and targets the 'setup-quotas' tag, applying the configurations defined in the host variables. ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-quotas ``` -------------------------------- ### Create Protection Policies Source: https://context7.com/vast-data/vast-ansible/llms.txt Defines snapshot and replication policies for data protection, including retention and cloning configurations. ```APIDOC ## POST / ### Description Defines snapshot and replication policies for data protection. ### Method POST ### Endpoint (No specific endpoint path provided for policy creation, assumed to be a configuration within the playbook) ### Parameters #### Request Body - **name** (string) - Required - The name of the protection policy. - **every_value** (integer) - Required - The value for the policy frequency. - **every_unit** (string) - Required - The unit for the policy frequency (e.g., HOUR, DAY). - **keep_local_value** (integer) - Required - The number of local snapshots/replications to keep. - **keep_local_period** (string) - Required - The period for local retention (e.g., HOURS, DAYS). - **keep_remote** (string) - Optional - The retention period for remote replication (e.g., "30DAYS"). - **snapshot_prefix** (string) - Optional - A prefix for snapshot names. - **clone_type** (string) - Required - The type of clone (e.g., NATIVE_SNAPSHOT, NATIVE_REPLICATION_TARGET). - **replication_target** (string) - Optional - The ID of the replication target cluster. - **indestructible** (boolean) - Optional - Specifies if the policy is indestructible. ### Request Example (Hourly Snapshots) ```json { "method": "POST", "name": "hourly_snapshots", "every_value": 1, "every_unit": "HOUR", "keep_local_value": 24, "keep_local_period": "HOURS", "snapshot_prefix": "hourly", "clone_type": "NATIVE_SNAPSHOT", "indestructible": false } ``` ### Request Example (Daily Replication) ```json { "method": "POST", "name": "daily_replication", "every_value": 1, "every_unit": "DAY", "keep_local_value": 7, "keep_local_period": "DAYS", "keep_remote": "30DAYS", "snapshot_prefix": "daily", "clone_type": "NATIVE_REPLICATION_TARGET", "replication_target": "12345", "indestructible": true } ``` ### Response #### Success Response (200) (Details not provided in the input text) #### Response Example (Details not provided in the input text) ``` -------------------------------- ### Host Variables Template for VAST Data Source: https://context7.com/vast-data/vast-ansible/llms.txt This YAML file serves as a template for defining host-specific variables, particularly for a 'production-cluster'. It includes configurations for VM IPs, DNS settings (domain suffix, VIP, gateway, VLAN), and Active Directory integration (machine name, OU, SMB settings, bind DN, domain, TLS usage, etc.). This allows for customized deployment per host. ```yaml # Create new host configuration # File: host_vars/production-cluster.yml --- vms_ip: "10.0.1.10" dns: domain_suffix: storage.example.com vip: 10.0.1.20 vip_gateway: 10.0.1.1 vip_cidr: 24 vip_vlan: 100 enabled: true method: POST activedirectory: - machine_name: vast-prod organizational_unit: 'CN=Computers,DC=example,DC=com' smb_allowed: true port: '389' binddn: 'CN=svc_vast,CN=Users,DC=example,DC=com' domain_name: example.com use_tls: false query_groups_mode: COMPATIBLE posix_attributes_source: JOINED_DOMAIN use_auto_discovery: true use_ldaps: false username: svc_vast method: POST # Add additional configuration sections as needed ``` -------------------------------- ### Execute Quota Configuration Source: https://context7.com/vast-data/vast-ansible/llms.txt Runs Ansible playbooks to configure quotas on the VAST Data cluster. ```APIDOC ## Execute Quota Configuration ### Description This command executes the Ansible playbook responsible for configuring quotas on the VAST Data cluster. ### Command ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-quotas ``` ### Parameters - **-i hosts**: Specifies the inventory file. - **initial.yml**: The main playbook file. - **--ask-vault-pass**: Prompts for the Ansible Vault password. - **--limit example**: Limits the execution to the host group 'example'. - **--tags setup-quotas**: Executes tasks tagged with 'setup-quotas'. ``` -------------------------------- ### Execute VAST Cluster View Policy Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes the Ansible playbook to set up view policies on a VAST cluster. This command requires the hosts inventory, the initial playbook, and a prompt for the Ansible Vault password. ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-viewpolicies ``` -------------------------------- ### Execute Protected Path Configuration Source: https://context7.com/vast-data/vast-ansible/llms.txt Runs Ansible playbooks to apply protection policies to specific paths on the VAST Data cluster. ```APIDOC ## Execute Protected Path Configuration ### Description This command executes the Ansible playbook responsible for applying protection policies to views (paths) on the VAST Data cluster. ### Command ```bash ansible-playbook -i hosts replication.yml --ask-vault-pass --limit example --tags setup-protectedpath ``` ### Parameters - **-i hosts**: Specifies the inventory file. - **replication.yml**: The playbook file for replication and protection policies. - **--ask-vault-pass**: Prompts for the Ansible Vault password. - **--limit example**: Limits the execution to the host group 'example'. - **--tags setup-protectedpath**: Executes tasks tagged with 'setup-protectedpath'. ``` -------------------------------- ### Execute VAST Cluster VIP Pool Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Executes the Ansible playbook to configure VIP pools on a VAST cluster. This command requires the hosts inventory, the initial playbook, and a prompt for the Ansible Vault password. ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-vippools ``` -------------------------------- ### Execute VAST Cluster Active Directory Playbook Source: https://context7.com/vast-data/vast-ansible/llms.txt Runs the Ansible playbook to configure Active Directory integration for a VAST cluster. It requires the initial playbook, hosts file, and an Ansible Vault password for accessing sensitive data. ```bash ansible-playbook -i hosts initial.yml --ask-vault-pass --limit example --tags setup-ad ``` -------------------------------- ### Inventory Configuration Source: https://context7.com/vast-data/vast-ansible/llms.txt Defines target VAST Data clusters and connection settings within the Ansible inventory file. ```APIDOC ## Inventory File (`hosts`) ### Description This file defines the target VAST Data clusters and their connection settings for Ansible. ### Format INI ### Example ```ini [virtual_clusters] # Replace with your VAST Data Cluster name (case-sensitive) # If using remote Ansible host, specify its IP address sales-devvm-brett-dellandre ansible_host=127.0.0.1 example ansible_host=127.0.0.1 # For remote execution production-cluster ansible_host=10.0.1.50 dr-cluster ansible_host=10.0.2.50 ``` ### Notes - `[virtual_clusters]` is a group name for your VAST clusters. - `ansible_host` specifies the IP address or hostname to connect to the cluster. ``` -------------------------------- ### Configure VAST Cluster VIP Pool Source: https://context7.com/vast-data/vast-ansible/llms.txt Creates and configures Virtual IP pools for protocol access and cluster connectivity in a VAST cluster. Supports creation (POST) and update (PATCH) methods, requiring host variables and Ansible Vault for credentials. ```yaml # host_vars/example.yml vippools: - name: main domain_name: main start_ip: 15.0.0.2 end_ip: 15.0.0.3 subnet_cidr: 24 vlan: 0 role: PROTOCOLS enabled: true method: POST # To update existing VIP pool, change method to PATCH vippools: - name: main domain_name: main start_ip: 15.0.0.2 end_ip: 15.0.0.10 # Extended range subnet_cidr: 24 vlan: 0 role: PROTOCOLS enabled: true method: PATCH # Execute VIP pool configuration ``` -------------------------------- ### Manage Secrets with Ansible Vault Source: https://context7.com/vast-data/vast-ansible/llms.txt Demonstrates how to use Ansible Vault for secure management of sensitive credentials like VAST Data cluster usernames and passwords. Includes commands for editing, creating, rekeying, and viewing encrypted secret files. ```bash # Edit encrypted secrets file ansible-vault edit secrets.yml # Default passphrase: vastdata # secrets.yml structure (when decrypted) --- vast_user: admin vast_pass: secretpassword bindpw: ldap_bind_password # Create new encrypted secrets file ansible-vault create secrets.yml # Change vault password ansible-vault rekey secrets.yml # View encrypted file without editing ansible-vault view secrets.yml ``` -------------------------------- ### Configure VAST Cluster DNS Settings Source: https://context7.com/vast-data/vast-ansible/llms.txt Configures DNS settings for a VAST cluster, including VIP assignment and network parameters. Requires VAST cluster API access and a specified Ansible Vault password for encrypted credentials. ```yaml # host_vars/example.yml vms_ip: "192.168.1.2" dns: domain_suffix: machine_name.domain.name.com vip: 1.2.3.4 vip_gateway: 1.2.3.2 vip_cidr: 16 vip_vlan: 0 enabled: true method: POST # Execute the playbook ``` -------------------------------- ### Integrate VAST Cluster with Active Directory Source: https://context7.com/vast-data/vast-ansible/llms.txt Configures Active Directory integration for a VAST cluster, including LDAP settings and SMB access. Requires host variables defining AD parameters and an Ansible Vault password for secure access. ```yaml # host_vars/example.yml activedirectory: - machine_name: machine-name organizational_unit: 'CN=Computers,DC=domain,DC=name,DC=com' smb_allowed: true port: '389' binddn: 'CN=username,CN=Users,DC=domain,DC=name,DC=com' domain_name: domain.name.com use_tls: false gid_number: gidNumber uid: sAMAccountName uid_number: uidNumber match_user: sAMAccountName uid_member: member posix_account: user posix_group: group query_groups_mode: COMPATIBLE username_property_name: name uid_member_value_property_name: sAMAccountName posix_attributes_source: JOINED_DOMAIN user_login_name: sAMAccountName group_login_name: sAMAccountName use_auto_discovery: true use_ldaps: false username: admin-user method: POST # Execute with password prompt for domain join ``` -------------------------------- ### Configure VAST Cluster View Policies (NFS, SMB, S3) Source: https://context7.com/vast-data/vast-ansible/llms.txt Defines access policies for NFS, SMB, and S3 protocols on a VAST cluster, including permission control and auditing. Supports various protocol-specific settings and requires Ansible Vault for secure configuration. ```yaml # host_vars/example.yml viewpolicies: - method: POST name: example_view_policy flavor: NFS auth_source: RPC_AND_PROVIDERS path_length: LCD allowed_characters: LCD use_32bit_fileid: false gid_inheritance: LINUX nfs_posix_acl: false nfs_no_squash: [] nfs_root_squash: ["*"] nfs_all_squash: [] trash_access: [] nfs_read_write: [] nfs_read_only: ["*"] nfs_return_open_permissions: false smb_read_write: ["*"] smb_read_only: [] s3_read_write: ["*"] smb_file_mode: 644 smb_directory_mode: 755 s3_read_only: [] s3_visibility: [] s3_visibility_groups: [] apple_sid: true vip_pool_name: main nfs_minimal_protection_level: NONE enable_protocol_audit: false protocols: NFSv3,SMB # With protocol auditing enabled viewpolicies: - method: POST name: audited_policy flavor: NFS auth_source: RPC_AND_PROVIDERS nfs_read_write: ["10.0.0.0/8"] smb_read_write: ["DOMAIN\StorageAdmins"] vip_pool_name: main enable_protocol_audit: true data_create_delete: true data_modify: true data_read: false log_full_path: true log_hostname: true log_username: true log_deleted: true protocols: NFSv3,SMB # Execute view policy setup ``` -------------------------------- ### Secrets Management with Ansible Vault Source: https://context7.com/vast-data/vast-ansible/llms.txt Securely stores encrypted credentials using Ansible Vault for sensitive information like passwords. ```APIDOC ## Secrets Management (Ansible Vault) ### Description Ansible Vault is used to encrypt sensitive data, such as API credentials, ensuring secure storage and management. ### Commands - **Edit encrypted secrets file:** `ansible-vault edit secrets.yml` - **Create new encrypted secrets file:** `ansible-vault create secrets.yml` - **Change vault password:** `ansible-vault rekey secrets.yml` - **View encrypted file without editing:** `ansible-vault view secrets.yml` ### Default Vault Passphrase `vastdata` ### Example `secrets.yml` structure (when decrypted): ```yaml --- vast_user: admin vast_pass: secretpassword bindpw: ldap_bind_password ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.