Skip to content

Releases: kkuhle/ctools

1.5.1 (final cli release)

29 Dec 17:03

Choose a tag to compare

v1.5.1

add ctools_cmd files back

2.1a (switched to GUI version)

29 Dec 15:25

Choose a tag to compare

Switch to arg or GUI driven tasks. Removed menu.

Closes issues #29, #26, #23, #14, #5, and #4.
Closes PR #32
Squashed commit of the following:

commit b4df6d77f4d9f40fa27b325459cd2c56a273c0be
Author: Todd Butters <todd@ctera.com>
Date:   Sun Oct 17 00:22:59 2021 -0400

    Pass 99% of pylint and flake8 checks. Add configs.

commit ab16230802d45dbe52df17930f1653b513fa7721
Author: Todd Butters <todd@ctera.com>
Date:   Wed Oct 13 10:29:23 2021 -0400

    Import cterasdk config for setting SSL trust.

commit 8a399ed81b93d6115d075b3d6023f6da758e81d4
Author: Todd Butters <todd@ctera.com>
Date:   Fri Oct 8 10:48:53 2021 -0400

    Fixed pylint issues and made requested changes.

    And other general cleanup or minor refactors of functions.

commit 30941639c3286a767980ebd31016c7da4fc65a39
Author: Todd Butters <todd@ctera.com>
Date:   Wed Oct 6 01:04:54 2021 -0400

    Handle invalid certs. Refactor login module.

    Resolve #29.
    ctools.py -- add optional ignore_cert flag to portal parser
    login.py -- refactored. Added exception handler, device_sso check,
      disable ssl warnings if ignore_cert flag is passed
    run_cmd.py -- phrasing
    unlock.py -- removed exit that caused an apparent crash in GUI
    README.md -- updated
    LICENSE.md -- added

commit 953e08ed887bf3755654595ff9581980ec13923c
Author: Todd Butters <todd@ctera.com>
Date:   Fri Oct 1 17:30:12 2021 -0400

    Fixed another GUI error in enable_telnet task.

commit 4c780c750ffd971000950602841a551e19da44fa
Author: Todd Butters <todd@ctera.com>
Date:   Fri Oct 1 17:18:13 2021 -0400

    Fix error in GUI run_cmd task. Bump minor version.

commit 1986f4d268c934b2b476e5126a96e33ffdc4e777
Author: Todd Butters <todd@ctera.com>
Date:   Fri Oct 1 16:58:00 2021 -0400

    Run_cmd per device, tenant, or global.

    run_cmd.py -- Add granularity to target one or more filers.
    ctools.py -- Add new run_cmd args. Add logout and exit log msg.
    filer.py -- Remove input() calls as they're no longer used.

    By default, it will now run the command on all Filers of the
    current tenant. Added optional -all flag to allow running against all
    Filers globally as it worked before or --device flag if provided
    it will only run on that filer.

commit b30db2e7cf798bc66d172305480cc0a0ca499624
Author: Todd Butters <todd@ctera.com>
Date:   Tue Sep 28 10:44:56 2021 -0400

    Add task to reset a local Filer user's password.

    Requires Filer is connected to portal like all our tasks currently.
    Also increased the size of the GUI so no scrolling is required and
    tweaked our program description.

commit 3831bcc11abb6fc1476b22c4718d3f2a46c18769
Author: Todd Butters <todd@ctera.com>
Date:   Fri Sep 24 16:15:11 2021 -0400

    Added About and Help menu.

commit 27c0705267f523e2a5e7e674b7cfe259b09de1ba
Author: Todd Butters <todd@ctera.com>
Date:   Thu Sep 23 23:51:49 2021 -0400

    Added screenshot to README from new images folder.

commit 4ad2c51539ea45f74eb1c4e27a8f160055eaa7aa
Author: Todd Butters <todd@ctera.com>
Date:   Thu Sep 23 17:45:27 2021 -0400

    Updated setup instructions.

commit a0796cd1ae82feac44642e4f88761f0d3c30716d
Author: Todd Butters <todd@ctera.com>
Date:   Thu Sep 23 16:49:23 2021 -0400

    Added AD domain join status to Filer status report.

    Created a function, get_ad_status() that stores the result of
    status.fileservices.cifs.joinStatus and parses the result.
    If it's -1, it's on a workgroup.
    If 0, return Ok.
    Else, return Failed.

commit 6804fb22df67f58f8b4fe5c849010b53f9e1d64c
Author: Todd Butters <todd@ctera.com>
Date:   Thu Sep 23 02:04:57 2021 -0400

    Get Filer status per tenant or globally.

    Updated docstring in ctools.py, added optional --all flag which
    will run the previoiusly default function of getting all connected
    filers to a portal globally which is slow for large deployments.
    Commented out the function to browse the admin portal.
    By doing the above, we will now default to browsing the tenant
    based on the current session and only browse to Administration if
    the --all flag is set which sets all_tenants to True in filer.py.

    In filer.py, I added tenant name column and checking if the output
    file already exists, if it does, we skip writing the header and
    just append to the file. I also added try statements to some values
    that were throwing exceptions on a 6.0.247 filer.

commit efd4c6e42daf59c3fecb3b1841cc81a9c1e5b2d2
Author: Todd Butters <todd@ctera.com>
Date:   Wed Sep 22 17:20:15 2021 -0400

    Check if admin has allowSSO to manage devices.

    For #26, this adds a check and logs a warning if the admin
    signing in does not have 'Allow Single Sign on to Devices'
    checked for the Read Write Admin role in the Administration tenant.

commit 8871f1bff4eeb90832be5eed778e0e1e3cc924d8
Author: Todd Butters <todd@ctera.com>
Date:   Mon Sep 20 07:09:01 2021 -0400

    Added enable_telnet support in Gooey GUI.

    Renamed unlock function to enable_telnet.
    Changed logic from interactive to parameter based since Gooey
    cannot finish if a function calls input().

commit 794d4dc5708ebafd46358c3565bce7ad872d4df0
Author: toddatctera <todd@ctera.com>
Date:   Mon May 24 23:54:38 2021 -0400

    Updated requirements, Windows setup, and easy CLI.

    Added setup steps for Windows using PowerShell.
    Updated requirements to include Gooey for the GUI.
    Added easy CLI mode based on below comment
    https://github.com/chriskiehl/Gooey/issues/449#issuecomment-534056010

commit 8bb39f32a57fc7f676e2feeb427f901ad32d4527
Author: toddatctera <todd@ctera.com>
Date:   Wed May 12 17:58:24 2021 -0400

    Added parent parsers and verbose toggle.

    Added portal_parent_parser since each task so far requires logging
    into the portal. This allows us to re-use the parent parser in a
    all sub-parsers which are the tasks.
    Stolen from here:
    https://stackoverflow.com/questions/33645859/how-to-add-common-arguments-to-argparse-subcommands

    Also got the -v/--verbose flag working in CLI (--ignore-gooey) mode
    in GUI mode. In not specified or left unchecked, uses INFO level.

    TODO:
    - Add enable_telnet to tasks again
    - Cleanup and document everything well
    - Test, test, test
    - Think about code review and merging.

commit bfccba48246ce6964fa7b321fa0bf113f6cc7d56
Author: toddatctera <todd@ctera.com>
Date:   Fri May 7 16:12:49 2021 -0400

    Functional GUI using Gooey and argparse.

    Tasks now show up in the side bar and don't have to be selected
    twice. Logs look good. Can also be run from the CLI with the flag
    `--ignore-gooey` and it works!
    Example:
    python ctools.py --ignore-gooey run_cmd 'dbg level debug' portal.example.com admin p@ssw0rd

    TODO:
    - Add docstrings for Gooey code
    - Add the remaining tasks like enable ssh

commit c24314e15df92dd59942c3b8e9dfc193e53982f4
Author: toddatctera <todd@ctera.com>
Date:   Fri May 7 03:29:08 2021 -0400

    Added run_cmd to Gooey

    Technically this works but I have to select the task twice because
    of how I previously was calling functions with the FUNCTION_MAP.
    So still a WIP but still an improvement for #23

commit bf0c56857a766e2bcb0ab270285c21890d7c42e5
Author: toddatctera <todd@ctera.com>
Date:   Fri May 7 01:42:28 2021 -0400

    Added subparser and get_status filename with Gooey.

    Added a subparser to lay groundwork for each task having its own
    page with required arguments like filename for get_status.

commit ed5d25823c4f95f7c498e267e4759ef15f565bf4
Author: Todd Butters <todd@ctera.com>
Date:   Thu Apr 22 17:50:28 2021 -0400

    Initial Gooey POC

    WIP for #23.
    Only works with get status function and only after hardcoding the
    output filename.

commit 7696bd7b0a986aebedc4d9978cc1fbce5de0e778
Author: Todd Butters <47750691+toddatctera@users.noreply.github.com>
Date:   Thu Apr 22 00:19:09 2021 -0400

    Added disable_ssh and Portal creds as arguments.