FOSutil is an interactive Python CLI tool for automating Brocade SAN switch operations and limited HPE 3PAR storage array management.
- Python 3.7+
- See
requirements.txtfor dependencies
Configuration is loaded from a .env YAML file containing:
san_switches: Switch credentials (host, username, password)arrays: HPE 3PAR array configurations
- Check active zoning configuration - View existing zones for a host alias
- Create zoning - Create zone pairs between host aliases
- Remove zoning - Delete existing zones
- Detailed information about host - Lookup host by alias or WWN
- Create alias - Create new alias with WWN assignments
- Remove alias - Delete existing aliases
- Create hosts - Define hosts on HPE 3PAR arrays with persona (Generic-ALUA, VMWare, WindowsServer)
- Hostset management - Add hosts to existing hostsets
- Remove hosts - Delete host definitions from arrays
python main.pyThe tool presents an interactive menu:
- Select site
- Select fabric (fabA, fabB, or both)
- Choose operation
- Confirm changes before each commit
The tool assumes that you have at least 2 fabrics for redundancy purposes.
Before using the tool you need to add entries to both Brocade switches and 3PAR arrays in .env file (see: .env.example) as well as:
- setting up you fabric names
- setting Brocade devices that are being used to connect to your fabrics (switches defined there are being used as entrypoints to commit changes to fabric configuration)
- customize regex expressions to match you naming convention
fosutil/cli/- Interactive CLI menu and operationsfosutil/devices/- Brocade switch connectivity (Netmiko)fosutil/devices/hpe3par.py- HPE 3PAR REST API clientfosutil/models/- Data models (AliasObject, ZoneObject)fosutil/config/- Configuration and secrets loadingfosutil/utils/- Utility functions (WWN validation, normalization)
Finding detailed information about host port based on it's WWN
Creating host alias
Creating zoning between host and HPE 3PAR array + defining host on the array


