ciscompphwdiscovery


Nameciscompphwdiscovery JSON
Version 1.3.29 PyPI version JSON
download
home_page
SummaryCisco MPP Migration Hardware Revision Discovery
upload_time2023-03-14 02:17:30
maintainer
docs_urlNone
author
requires_python>=3.7
licenseMIT
keywords cisco mpp cucm axl 7821 7841 7861
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Cisco MPP Migration Hardware Revision Discovery
=======

Data Gathering tool for determining if Cisco 7821, 7841, and 7861 phones running enterprise firmware are compatiple with multi-platform firmware.  These models are only compatible above specific hardware revisions

**Reference:** 
[Convert between Enterprise Firmware and Multiplatform Firmware for Cisco IP Phone 7800 and 8800 Series Guide](https://www.cisco.com/c/en/us/products/collateral/collaboration-endpoints/unified-ip-phone-7800-series/guide-c07-742786.html)

<br />

## Logic Flow
1. Gather CUCM version using UDS API, parse to major version
2. Use major version to inform WSDL file for AXL from schema directory.  This directory should match the axlsqltoolkit.zip schema directory from CUCM plugins
3. Gather all SEP phones from CUCM using AXL listPhone API
4. Filter results to 7821, 7861, and 7841 models that are hardware revision restricted for MPP migration
5. Chunk into blocks of 900 for RISPort70 API query to avoid hitting the 1000 result max
6. Process each chunk, gathering the registration status, load information, and first IPv4 address
7. Gather the Device's hardware UDI info from DeviceInformationX.  As this is timeconsuming depending on the device count, it is multiprocessed
8. Write the results to CSV for review

<br />

## Installation

To install ciscompphwdiscovery using pip:
``` console
$ pip install ciscompphwdiscovery
```

<br />

To install ciscompphwdiscovery from source:
``` console
$ git clone https://github.com/collinmoerman/ciscompphwdiscovery.git
$ cd ciscompphwdiscovery
$ python3 -m build --wheel
$ pip install dist/ciscompphwdiscovery-x.y.z-py3-none-any.whl
```

## Examples

### CLI Execution
Using included schema, default processes
``` console
ciscompphwdiscovery --server cucm.example.com \
                    --username axluser \
                    --password  "@xL!sC00l" \
                    --output devices.csv
```
Fully specified
``` console
ciscompphwdiscovery --server cucm.example.com \
                    --username axluser\
                    --password "@xL!sC00l" \
                    --output devices.csv \
                    --schema path/to/schema \
                    --processes 4
```
### Script Execution

``` python
from ciscompphwdiscovery import CiscoMPPHWDiscovery
app = CiscoMPPHWDiscovery(hostname="cucm.example.com", 
                          username="axluser", 
                          password="@xL!sC00l",
                          outFile = "devices.csv", 
                          schemaPath="/path/to/schema",    # optional, defaults to package directory
                          processes=4)                     # optional, defaults to 8
devices = app.discover()
```

<br />


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "ciscompphwdiscovery",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Cisco,MPP,CUCM,AXL,7821,7841,7861",
    "author": "",
    "author_email": "Collin Moerman <collin@moerman.us>",
    "download_url": "https://files.pythonhosted.org/packages/71/a9/57de649cf84b85e1566f466efe34e95e80b6ec7416c25b02f12650b3e62d/ciscompphwdiscovery-1.3.29.tar.gz",
    "platform": null,
    "description": "Cisco MPP Migration Hardware Revision Discovery\n=======\n\nData Gathering tool for determining if Cisco 7821, 7841, and 7861 phones running enterprise firmware are compatiple with multi-platform firmware.  These models are only compatible above specific hardware revisions\n\n**Reference:** \n[Convert between Enterprise Firmware and Multiplatform Firmware for Cisco IP Phone 7800 and 8800 Series Guide](https://www.cisco.com/c/en/us/products/collateral/collaboration-endpoints/unified-ip-phone-7800-series/guide-c07-742786.html)\n\n<br />\n\n## Logic Flow\n1. Gather CUCM version using UDS API, parse to major version\n2. Use major version to inform WSDL file for AXL from schema directory.  This directory should match the axlsqltoolkit.zip schema directory from CUCM plugins\n3. Gather all SEP phones from CUCM using AXL listPhone API\n4. Filter results to 7821, 7861, and 7841 models that are hardware revision restricted for MPP migration\n5. Chunk into blocks of 900 for RISPort70 API query to avoid hitting the 1000 result max\n6. Process each chunk, gathering the registration status, load information, and first IPv4 address\n7. Gather the Device's hardware UDI info from DeviceInformationX.  As this is timeconsuming depending on the device count, it is multiprocessed\n8. Write the results to CSV for review\n\n<br />\n\n## Installation\n\nTo install ciscompphwdiscovery using pip:\n``` console\n$ pip install ciscompphwdiscovery\n```\n\n<br />\n\nTo install ciscompphwdiscovery from source:\n``` console\n$ git clone https://github.com/collinmoerman/ciscompphwdiscovery.git\n$ cd ciscompphwdiscovery\n$ python3 -m build --wheel\n$ pip install dist/ciscompphwdiscovery-x.y.z-py3-none-any.whl\n```\n\n## Examples\n\n### CLI Execution\nUsing included schema, default processes\n``` console\nciscompphwdiscovery --server cucm.example.com \\\n                    --username axluser \\\n                    --password  \"@xL!sC00l\" \\\n                    --output devices.csv\n```\nFully specified\n``` console\nciscompphwdiscovery --server cucm.example.com \\\n                    --username axluser\\\n                    --password \"@xL!sC00l\" \\\n                    --output devices.csv \\\n                    --schema path/to/schema \\\n                    --processes 4\n```\n### Script Execution\n\n``` python\nfrom ciscompphwdiscovery import CiscoMPPHWDiscovery\napp = CiscoMPPHWDiscovery(hostname=\"cucm.example.com\", \n                          username=\"axluser\", \n                          password=\"@xL!sC00l\",\n                          outFile = \"devices.csv\", \n                          schemaPath=\"/path/to/schema\",    # optional, defaults to package directory\n                          processes=4)                     # optional, defaults to 8\ndevices = app.discover()\n```\n\n<br />\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Cisco MPP Migration Hardware Revision Discovery",
    "version": "1.3.29",
    "split_keywords": [
        "cisco",
        "mpp",
        "cucm",
        "axl",
        "7821",
        "7841",
        "7861"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "df6472e8a744e21c7c4bedd31f24c278cf861a7aa17e4d276b4fdf3c955d742a",
                "md5": "6577ac1f515ea621b130bbb7845db771",
                "sha256": "1366ec924d38a40a6e5edccb5d7d9b40cda387f5cbdd74137c5c3688bbbfba6b"
            },
            "downloads": -1,
            "filename": "ciscompphwdiscovery-1.3.29-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6577ac1f515ea621b130bbb7845db771",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 2038816,
            "upload_time": "2023-03-14T02:17:24",
            "upload_time_iso_8601": "2023-03-14T02:17:24.739118Z",
            "url": "https://files.pythonhosted.org/packages/df/64/72e8a744e21c7c4bedd31f24c278cf861a7aa17e4d276b4fdf3c955d742a/ciscompphwdiscovery-1.3.29-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71a957de649cf84b85e1566f466efe34e95e80b6ec7416c25b02f12650b3e62d",
                "md5": "6055da960795115c558aa53efdde9344",
                "sha256": "ce4b46fa9ef8f5c6ceee4d42e0bddb799bee6323b5a52fc83fab3e3916c1d76e"
            },
            "downloads": -1,
            "filename": "ciscompphwdiscovery-1.3.29.tar.gz",
            "has_sig": false,
            "md5_digest": "6055da960795115c558aa53efdde9344",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 1930055,
            "upload_time": "2023-03-14T02:17:30",
            "upload_time_iso_8601": "2023-03-14T02:17:30.687446Z",
            "url": "https://files.pythonhosted.org/packages/71/a9/57de649cf84b85e1566f466efe34e95e80b6ec7416c25b02f12650b3e62d/ciscompphwdiscovery-1.3.29.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-14 02:17:30",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "ciscompphwdiscovery"
}
        
Elapsed time: 0.14985s