Metadata-Version: 1.1
Name: wiper
Version: 1.0.1
Summary: Wipe the APIC config and reprovision APICs.
Home-page: https://github.com/datacenter/wiper
Author: Mike Timm
Author-email: mtimm@cisco.com
License: UNKNOWN
Download-URL: https://github.com/datacenter/wiper/releases/tag/v1.0.1
Description: wiper
        =====
        
        Wipe and reprovision a Cisco ACI APIC over CIMC Serial Over LAN.
        
        Options for config arguments
        ----------------------------
        
        Options can be set via the CLI as command line arguments or in an ini file that is specified with
        the -i/--ini-file option.  The order of precedence is as follows:
        
        1. CLI options override all options set elsewhere.
        2. INI file options for a specific APIC override default options specified in the INI file.
        3. INI file options in a DEFAULT section will be used as a last resort if that option is not
           specified elsewhere.
        4. Any missing options will result in the script not running.
        
        Because there are so many required options it is highly recommended that options be set in an INI
        file.
        
        The following is a table of required config arguments:
        
            +--------------------------+---------------+-----------------------+
            |       **Long CLI**       | **Short CLI** | **INI File**          |
            |        **Option**        |  **Option**   |  **Option**           |
            +--------------------------+---------------+-----------------------+
            |  --controller-number     |     -cnu      | controller_number     |
            +--------------------------+---------------+-----------------------+
            |  --strong-passwords      |     -sp       | strong_passwords      |
            +--------------------------+---------------+-----------------------+
            |  --infra-vlan-id         |     -iv       | infra_vlan_id         |
            +--------------------------+---------------+-----------------------+
            |  --fabric-name           |     -f        | fabric_name           |
            +--------------------------+---------------+-----------------------+
            |  --cimc-username         |     -cu       | cimc_username         |
            +--------------------------+---------------+-----------------------+
            |  --controller-name       |     -cna      | controller_name       |
            +--------------------------+---------------+-----------------------+
            |  --apic-admin-password   |     -ap       | apic_admin_password   |
            +--------------------------+---------------+-----------------------+
            |  --bd-mc-addresses       |     -b        | bd_mc_addresses       |
            +--------------------------+---------------+-----------------------+
            |  --cimc-password         |     -cp       | cimc_password         |
            +--------------------------+---------------+-----------------------+
            |  --oob-default-gateway   |     -od       | oob_default_gateway   |
            +--------------------------+---------------+-----------------------+
            |  --int-speed             |     -is       | int_speed             |
            +--------------------------+---------------+-----------------------+
            |  --oob-ip-address        |     -oi       | oob_ip_address        |
            +--------------------------+---------------+-----------------------+
            |  --tep-address-pool      |     -t        | tep_address_pool      |
            +--------------------------+---------------+-----------------------+
            |  --number-of-controllers |     -nc       | number_of_controllers |
            +--------------------------+---------------+-----------------------+
        
        CLI Options
        -----------
        
        The only required CLI option is the CIMC IP address which is used to log into CIMC.  All other
        options can also be set via an INI file.  CLI options override the same option set in an INI file.
        
        Wiper has the following CLI options::
        
           $ wiper -h
           usage: Provision APICs via CIMC Serial Over LAN [-h] [-ap APIC_ADMIN_PASSWORD]
                                                           [-b BD_MC_ADDRESSES]
                                                           [-cna CONTROLLER_NAME]
                                                           [-cnu CONTROLLER_NUMBER]
                                                           [-cp CIMC_PASSWORD]
                                                           [-cu CIMC_USERNAME]
                                                           [-i INI_FILE]
                                                           [-is {auto,10baseT/Half,10baseT/Full,100baseT/Half,100baseT/Full,1000baseT/Full}]
                                                           [-iv INFRA_VLAN_ID]
                                                           [-f FABRIC_NAME]
                                                           [-nc NUMBER_OF_CONTROLLERS]
                                                           [-od OOB_DEFAULT_GATEWAY]
                                                           [-oi OOB_IP_ADDRESS] [-sim]
                                                           [-sp {Y,n}]
                                                           [-t TEP_ADDRESS_POOL] [-v]
                                                           cimc_ip
            
           positional arguments:
               cimc_ip               CIMC hostname or IP address used to ssh to CIMC
        
           optional arguments:
               -h, --help            show this help message and exit
               -ap APIC_ADMIN_PASSWORD, --apic_admin_password APIC_ADMIN_PASSWORD
                                     The APIC admin user password to enter into the APIC
                                     setup script.
               -b BD_MC_ADDRESSES, --bd-mc-addresses BD_MC_ADDRESSES
                                     The Bridge Domain Multicast address range to enter
                                     into the APIC setup script.
               -cna CONTROLLER_NAME, --controller-name CONTROLLER_NAME
                                     The controller name to enter into the APIC setup
                                     script.
               -cnu CONTROLLER_NUMBER, --controller_number CONTROLLER_NUMBER
                                     The controller number (id) to enter into the APIC
                                     setup script.
               -cp CIMC_PASSWORD, --cimc_password CIMC_PASSWORD
                                     CIMC password
               -cu CIMC_USERNAME, --cimc_username CIMC_USERNAME
                                     CIMC username
               -i INI_FILE, --ini-file INI_FILE
                                     Use an ini file to find parameters to provision an
                                     APIC.
               -is {auto,10baseT/Half,10baseT/Full,100baseT/Half,100baseT/Full,1000baseT/Full}, --int-speed {auto,10baseT/Half,10baseT/Full,100baseT/Half,100baseT/Full,1000baseT/Full}
               -iv INFRA_VLAN_ID, --infra-vlan-id INFRA_VLAN_ID
                                     The infra vlan id to enter into the APIC setup script.
               -f FABRIC_NAME, --fabric-name FABRIC_NAME
                                     The fabric name to enter into the APIC setup script.
               -nc NUMBER_OF_CONTROLLERS, --number-of-controllers NUMBER_OF_CONTROLLERS
                                     The number of controllers to enter into the APIC setup
                                     script.
               -od OOB_DEFAULT_GATEWAY, --oob-default-gateway OOB_DEFAULT_GATEWAY
                                     The APIC Out-Of-Band default gateway to enter into the
                                     APIC setup script.
               -oi OOB_IP_ADDRESS, --oob-ip-address OOB_IP_ADDRESS
                                     The APIC Out-Of-Band IP address to enter into the APIC
                                     setup script.
               -sim, --simulator     This flag identifies the APIC as a simulator.
               -sp {Y,n}, --strong-passwords {Y,n}
                                     Strong password option to enter into the APIC setup
                                     script.
               -t TEP_ADDRESS_POOL, --tep-address-pool TEP_ADDRESS_POOL
                                     The TEP address pool to enter into the APIC setup
                                     script.
               -v, --verbose         Enable debugging and be verbose.
        
        INI file options
        ----------------
        
        The following is a **recommended** ini file::
        
            ; These default settings can be modified to allow for different defaults for your environment.
            ; You can override these defaults in sections for specific controllers.
            [DEFAULT]
            ; Simulators are not currently supported but the plan is to eventually support them if possible
            ; So this is in preparation of that.
            simulator = False
            ; A default cimc user to access the Serial Over LAN with
            cimc_username = admin
            ; A default cimc password
            cimc_password = password
            ; The default fabric name.
            fabric_name = ACI Fabric1
            ; The default controller number.
            controller_number = 1
            ; The default number of controllers for all clusters.
            number_of_controllers = 3
            ; The default controller name is 'apic' + the controller id.  So for controller 1, the default
            ; name is apic1.  For controller 2 the default name is apic2, etc.
            controller_name = apic%(controller_number)s
            ; The default tep address pool.
            tep_address_pool = 10.0.0.0/16
            ; The default infra vlan id.
            infra_vlan_id = 4093
            ; The default BD Multicast Address pool
            bd_mc_addresses = 225.0.0.0/15
            ; The default oob ip address and netmask in the firm x.x.x.x/y
            oob_ip_address = 192.168.10.1/24
            ; The default oob default gateway ip address.
            oob_default_gateway = 192.168.10.254
            ; The default interface speed and duplex, we default to auto
            int_speed = auto
            ; By default we require strong passwords
            strong_passwords = Y
            ; A default admin password.  Usually the individual apic configs will override this.
            apic_admin_password = p@s$w0rd
             
            ; Sections are defined by the cimc ip address, items defined in sections override the default items
            [172.16.176.191]
            fabric_name = 176_fabric3
            cimc_password = Cisco123!
            controller_number = 1
            oob_ip_address = 172.16.176.192/24
            oob_default_gateway = 172.16.176.1
            apic_admin_password = Cisco321!
            
            ; Multiple CIMC's can be defined in the ini file
            [172.16.176.193]
            fabric_name = 176_fabric3
            cimc_password = Cisco123!
            controller_number = 2
            oob_ip_address = 172.16.176.194/24
            oob_default_gateway = 172.16.176.1
            ; apic password is not needed for controllers 2 and 3
            
            ; Multiple CIMC's can be defined in the ini file
            [172.16.176.195]
            fabric_name = 176_fabric3
            cimc_password = Cisco123!
            controller_number = 3
            oob_ip_address = 172.16.176.196/24
            oob_default_gateway = 172.16.176.1
            ; apic password is not needed for controllers 2 and 3
        
        It is nice to have a default section that holds default settings so all the required settings are
        not needed for each controller.
        
        Wiper only runs against one CIMC at a time though so in order to wipe/provision three APIC's you
        would need to run wiper three times and each time provide which CIMC you are running against.  For
        example::
        
            wiper -i sample.ini 172.16.176.191
            wiper -i sample.ini 172.16.176.193
            wiper -i sample.ini 172.16.176.195
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
