Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Module][1717]new_module_zfs_resize #1767

Open
wants to merge 124 commits into
base: dev
Choose a base branch
from

Conversation

AndreMarcel99
Copy link
Collaborator

@AndreMarcel99 AndreMarcel99 commented Oct 22, 2024

SUMMARY

First draft on support zfs resizing module

Fixes #1717

ISSUE TYPE
  • New Module Pull Request
COMPONENT NAME
ADDITIONAL INFORMATION

### module_util/zfsadm

As the aggregate_name is common for activities using command zfsadm, reason to use in the init function and the module to execute any command, the class is expecting to grow for other modules.

    def __init__(self, aggregate_name, module):
        """Initialize a class with its zfs dataset and allow modules to be executed.
        Parameters
        ----------
            aggregate_name : str
                Name of the zfs dataset.
            module : object
                Ansible object to execute commands.
        """
        self.aggregate_name = aggregate_name.upper()
        self.module = module 

Function grow_shrink
Execute the principal function for the module resize, waiting on the confirmation of operation and the extra instructions.

### modules/zfs_resize

Function found_mount_target
Function to validate if the zfs_dataset exist and get the USS mount_point for the response
Function get_size_and_free parsing function for the response of free and use size of the zfs dataset
Function create_command function to set extra information to execute the resize

- hosts : zvm
  collections :
    - ibm.ibm_zos_core
  gather_facts: False
  vars:
    zfs_dsn: "TEST.ZFS.DAT.THlO1"
    mount_point: "/tmp/zfs_agg_thlo1"
    aggr_growth_size: 2500
    aggr_shrink_size: 2000
  environment: "{{ environment_vars }}"
  tasks:

    - name: Create ZFS.
      block:
        - name: Create data set to ZFS
          zos_data_set:
            name: "{{ zfs_dsn }}"
            type: zfs
            space_primary: 1
            space_type: m
            replace: true

        - name: Create mount dir on z/OS USS.
          file:
            path: "{{ mount_point }}"
            state: directory

        - name: Mount ZFS data set.
          command: /usr/sbin/mount -t zfs -f {{ zfs_dsn | upper }} {{ mount_point }}

        - name: Write 1 million bytes to ZFS.
          shell: head -c 1000000 /dev/urandom > {{ mount_point }}/test.txt

        - name: Grow ZFS aggregate.
          zos_zfs_resize:
            target: "{{ zfs_dsn | upper }}"
            size: "{{ aggr_growth_size }}"
          register: grow_output

        - name: Echo grow_output.
          debug:
            msg: "{{ grow_output }}"

        - name: Shrink ZFS aggregate.
          zos_zfs_resize:
            target: "{{ zfs_dsn | upper }}"
            size: "{{ aggr_shrink_size }}"
            verbose: True
          register: shrink_output

        - name: Echo shrink_output.
          debug:
            msg: "{{ shrink_output }}"

      always:
        - name: Unmount ZFS data set.
          command: "/usr/sbin/unmount {{ mount_point }}"

        - name: Delete ZFS data set.
          zos_data_set:
            name: "{{ zfs_dsn }}"
            state: absent

output

PLAY [zvm] *************************************************************************************************************************************************************************************

TASK [Create data set to ZFS] ******************************************************************************************************************************************************************
changed: [zvm]

TASK [Create mount dir on z/OS USS.] ***********************************************************************************************************************************************************
ok: [zvm]

TASK [Mount ZFS data set.] *********************************************************************************************************************************************************************
changed: [zvm]

TASK [Write 1 million bytes to ZFS.] ***********************************************************************************************************************************************************
changed: [zvm]

TASK [Grow ZFS aggregate.] *********************************************************************************************************************************************************************
changed: [zvm]

TASK [Echo grow_output.] ***********************************************************************************************************************************************************************
ok: [zvm] => {
    "msg": {
        "changed": true,
        "cmd": "zfsadm grow -aggregate TEST.ZFS.DATA.USER -size 2500  ",
        "failed": false,
        "mount_target": "/SYSTEM/tmp/zfs_agg_user",
        "new_free": 1719,
        "new_size": 2880,
        "old_free": 279,
        "old_size": 1440,
        "rc": 0,
        "size": 2500,
        "stderr": "",
        "stderr_lines": [],
        "stdout": "IOEZ00173I Aggregate TEST.ZFS.DATA.USER successfully grown\nTEST.ZFS.DATA.USER (R/W COMP): 1719 K free out of total 2880\n",
        "stdout_lines": [
            "IOEZ00173I Aggregate TEST.ZFS.DATA.USER successfully grown",
            "TEST.ZFS.DATA.USER (R/W COMP): 1719 K free out of total 2880"
        ],
        "target": "TEST.ZFS.DATA.USER"
    }
}

TASK [Shrink ZFS aggregate.] *******************************************************************************************************************************************************************
changed: [zvm]

TASK [Echo shrink_output.] *********************************************************************************************************************************************************************
ok: [zvm] => {
    "msg": {
        "changed": true,
        "cmd": "zfsadm shrink -aggregate TEST.ZFS.DATA.USER -size 2000  -trace '/.ansible/tmp/tmp7txs7foj'",
        "failed": false,
        "mount_target": "/SYSTEM/tmp/zfs_agg_user",
        "new_free": 848,
        "new_size": 2000,
        "old_free": 1719,
        "old_size": 2880,
        "rc": 0,
        "size": 2000,
        "stderr": "",
        "stderr_lines": [],
        "stdout": "IOEZ00873I Aggregate TEST.ZFS.DATA.USER successfully shrunk.\nIOEZ00036I Printing contents of table at address DED7000 name: Main Trace Table\nIOEZ00042I Start record found, total records 700, 30236 bytes to format.\nIOEZ00043I zfsadm: print of in-memory trace table has completed.\n",
        "stdout_lines": [
            "IOEZ00873I Aggregate TEST.ZFS.DATA.USER successfully shrunk.",
            "IOEZ00036I Printing contents of table at address DED7000 name: Main Trace Table",
            "IOEZ00042I Start record found, total records 700, 30236 bytes to format.",
            "IOEZ00043I zfsadm: print of in-memory trace table has completed."
        ],
        "target": "TEST.ZFS.DATA.USER",
        "verbose_output": "(6FB2F8) print_trace_table: printing contents of table: Main Trace Table\nStart Record found in trace, total records 700, 30236 bytes to format\n*** Timestamp: Wed Oct 30 19:08:19 2024\n*** Thread assignment: thread=0001 asid=005F tcb=006FB2F8\n(001 .000000) signal_initialization: recovery_function = 00000000\n(001 .000000) osi_Alloc: a1=x0DDAEE40 s1=x2F0 a2=x0DDAEE48 s2=x2E0 total=752 off=x00000096 subr=osi_lock_initialization\n(001 .000000) osi_Alloc: a1=x0DDAF138 s1=x1780 a2=x0DDAF140 s2=x1770 total=6768 off=x000000CC subr=osi_lock_initialization\n(001 .000000) osi_Alloc: a1=x0DDB08C0 s1=x20E0 a2=x0DDB08C8 s2=x20D0 total=15184 off=x00000140 subr=osi_lock_initialization\n(001 .000000) fp_pool_create: cachesize=0 eyecatch=WAITPOOL\n(001 .000000) osi_Alloc: a1=x0DDB29A8 s1=x60 a2=x0DDB29B0 s2=x50 total=15280 off=x00000138 subr=fp_pool_create\n(001 .000000) fp_pool_create: tablep=0DDB29B0 cachesize=0\n(001 .000000) osi_lock_init: pool = 0DDB29B0 nonauth\n(001 .000000) osi_Alloc: a1=x0DDB2A10 s1=x40 a2=x0DDB2A18 s2=x30 total=15344 off=x0000018C subr=lock_allocate_function_array_int\n(001 .000000) osi_Alloc: a1=x0DDB2A58 s1=x40 a2=x0DDB2A60 s2=x30 total=15408 off=x000001AE subr=lock_allocate_function_array_int\n(001 .000000) lock_allocate_function_array: worktypes 4 tasktypes 3\n(001 .000000) lock_register_workunit: worktype 0 tasktype 0 fun=0D48F2B0 arrayslot=0\n(001 .000000) lock_register_workunit: worktype 1 tasktype 0 fun=0D48F170 arrayslot=3\n(001 .000000) lock_register_workunit: worktype 2 tasktype 0 fun=0D48F070 arrayslot=6\n(001 .000000) lock_register_workunit: worktype 3 tasktype 0 fun=0D48EF38 arrayslot=9\n(001 .000000) lock_register_workunit: worktype 0 tasktype 1 fun=0D412C02 arrayslot=1\n(001 .000000) lock_register_workunit: worktype 1 tasktype 1 fun=0D412D04 arrayslot=4\n(001 .000000) lock_register_workunit: worktype 2 tasktype 1 fun=0D412DA8 arrayslot=7\n(001 .000000) lock_register_workunit: worktype 3 tasktype 1 fun=0D412E26 arrayslot=10\n(001 .000000) osi_Alloc: a1=x0DDB2AA0 s1=x40 a2=x0DDB2AA8 s2=x30 total=15472 off=x0000018C subr=lock_allocate_function_array_int\n(001 .000000) osi_Alloc: a1=x0DDB2AE8 s1=x58 a2=x0DDB2AF0 s2=x48 total=15560 off=x000001AE subr=lock_allocate_function_array_int\n(001 .000000) lock_allocate_function_array: worktypes 6 tasktypes 3\n(001 .000000) lock_register_workunit: worktype 0 tasktype 0 fun=0D48E650 arrayslot=0\n(001 .000000) lock_register_workunit: worktype 1 tasktype 0 fun=0D48E4E8 arrayslot=3\n(001 .000000) lock_register_workunit: worktype 2 tasktype 0 fun=0D48E3B0 arrayslot=6\n(001 .000000) lock_register_workunit: worktype 3 tasktype 0 fun=0D48E2E8 arrayslot=9\n(001 .000000) lock_register_workunit: worktype 4 tasktype 0 fun=0D48E050 arrayslot=12\n(001 .000000) lock_register_workunit: worktype 5 tasktype 0 fun=0D48DEB0 arrayslot=15\n(001 .000000) osi_Alloc: a1=x0DDB2B48 s1=x40 a2=x0DDB2B50 s2=x30 total=15624 off=x0000018C subr=lock_allocate_function_array_int\n(001 .000000) osi_Alloc: a1=x0DDB2B90 s1=x38 a2=x0DDB2B98 s2=x28 total=15680 off=x000001AE subr=lock_allocate_function_array_int\n(001 .000000) lock_allocate_function_array: worktypes 5 tasktypes 2\n(001 .000000) fp_pool_create: cachesize=0 eyecatch=THRDPOOL\n(001 .000000) osi_Alloc: a1=x0DDB2BD0 s1=x60 a2=x0DDB2BD8 s2=x50 total=15776 off=x00000138 subr=fp_pool_create\n(001 .000000) fp_pool_create: tablep=0DDB2BD8 cachesize=0\n(001 .000000) fp_pool_create: cachesize=0 eyecatch=DESCPOOL\n(001 .000000) osi_Alloc: a1=x0DDB2C38 s1=x60 a2=x0DDB2C40 s2=x50 total=15872 off=x00000138 subr=fp_pool_create\n(001 .000000) fp_pool_create: tablep=0DDB2C40 cachesize=0\n(001 .000000) lock_register_workunit: worktype 0 tasktype 0 fun=0D4A85E0 arrayslot=0\n(001 .000000) lock_register_workunit: worktype 1 tasktype 0 fun=0D4A8470 arrayslot=2\n(001 .000000) lock_register_workunit: worktype 2 tasktype 0 fun=0D4A83C8 arrayslot=4\n(001 .000000) lock_register_workunit: worktype 3 tasktype 0 fun=0D4A8190 arrayslot=6\n(001 .000000) lock_register_workunit: worktype 4 tasktype 0 fun=0D4A80F0 arrayslot=8\n(001 .000000) osi_lock_initialization: complete\n(001 .000000) osi_Alloc: a1=x0DDB2CA0 s1=x1D8 a2=x0DDB2CA8 s2=x1C8 total=16344 off=x00000144 subr=zfs_msg_initialization\n(001 .000000) msg_init: double_byte(0) code_page()\n(001 .000000) msg_init: no msg path\n(001 .000000) osi_Alloc: a1=x0EED8028 s1=x7D0D8 a2=x0EED8030 s2=x7D0C8 total=528560 off=x0000074E subr=zfs_msg_initialization\n(001 .000000) msg_init: msg_path == NULL, use in core table\n(001 .000000) msg_init: zfsmsgCB_ptr(x0DDB2CA8)\n(001 .000000) HOSTNAME = EC01147A.\n(001 .000000) HOST IPADDR = 091E4AB4 .\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name delete\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name lsaggr\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name lsfs\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name aggrinfo\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name attach\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindSubParm: returning subparm index 0\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name detach\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) fts_ui_setupDetach: calling cmd_AddSubParm for detach\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindSubParm: returning subparm index 0\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name quiesce\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name unquiesce\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name grow\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name format\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 15\n(001 .000000) cmd_FindParam: returning parm index 16\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 10\n(001 .000000) cmd_FindParam: returning parm index 11\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 11\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 13\n(001 .000000) cmd_FindParam: returning parm index 14\n(001 .000000) cmd_FindParam: returning parm index 13\n(001 .000000) cmd_FindParam: returning parm index 14\n(001 .000000) cmd_FindParam: returning parm index 17\n(001 .000000) cmd_FindParam: returning parm index 18\n(001 .000000) cmd_FindParam: returning parm index 17\n(001 .000000) cmd_FindParam: returning parm index 18\n(001 .000000) cmd_FindParam: returning parm index 19\n(001 .000000) cmd_FindParam: returning parm index 20\n(001 .000000) cmd_FindParam: returning parm index 19\n(001 .000000) cmd_FindParam: returning parm index 20\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name define\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 10\n(001 .000000) cmd_FindParam: returning parm index 11\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 13\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name config\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 10\n(001 .000000) cmd_FindParam: returning parm index 11\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 13\n(001 .000000) cmd_FindParam: returning parm index 14\n(001 .000000) cmd_FindParam: returning parm index 15\n(001 .000000) cmd_FindParam: returning parm index 16\n(001 .000000) cmd_FindParam: returning parm index 17\n(001 .000000) cmd_FindParam: returning parm index 18\n(001 .000000) cmd_FindParam: returning parm index 19\n(001 .000000) cmd_FindParam: returning parm index 20\n(001 .000000) cmd_FindParam: returning parm index 21\n(001 .000000) cmd_FindParam: returning parm index 22\n(001 .000000) cmd_FindParam: returning parm index 23\n(001 .000000) cmd_FindParam: returning parm index 24\n(001 .000000) cmd_FindParam: returning parm index 36\n(001 .000000) cmd_FindParam: returning parm index 25\n(001 .000000) cmd_FindParam: returning parm index 26\n(001 .000000) cmd_FindParam: returning parm index 27\n(001 .000000) cmd_FindParam: returning parm index 28\n(001 .000000) cmd_FindParam: returning parm index 29\n(001 .000000) cmd_FindParam: returning parm index 30\n(001 .000000) cmd_FindParam: returning parm index 32\n(001 .000000) cmd_FindParam: returning parm index 33\n(001 .000000) cmd_FindParam: returning parm index 35\n(001 .000000) cmd_FindParam: returning parm index 34\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name configquery\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 10\n(001 .000000) cmd_FindParam: returning parm index 11\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 14\n(001 .000000) cmd_FindParam: returning parm index 15\n(001 .000000) cmd_FindParam: returning parm index 18\n(001 .000000) cmd_FindParam: returning parm index 19\n(001 .000000) cmd_FindParam: returning parm index 20\n(001 .000000) cmd_FindParam: returning parm index 22\n(001 .000000) cmd_FindParam: returning parm index 23\n(001 .000000) cmd_FindParam: returning parm index 24\n(001 .000000) cmd_FindParam: returning parm index 25\n(001 .000000) cmd_FindParam: returning parm index 26\n(001 .000000) cmd_FindParam: returning parm index 28\n(001 .000000) cmd_FindParam: returning parm index 29\n(001 .000000) cmd_FindParam: returning parm index 27\n(001 .000000) cmd_FindParam: returning parm index 30\n(001 .000000) cmd_FindParam: returning parm index 31\n(001 .000000) cmd_FindParam: returning parm index 33\n(001 .000000) cmd_FindParam: returning parm index 34\n(001 .000000) cmd_FindParam: returning parm index 35\n(001 .000000) cmd_FindParam: returning parm index 36\n(001 .000000) cmd_FindParam: returning parm index 37\n(001 .000000) cmd_FindParam: returning parm index 38\n(001 .000000) cmd_FindParam: returning parm index 39\n(001 .000000) cmd_FindParam: returning parm index 40\n(001 .000000) cmd_FindParam: returning parm index 41\n(001 .000000) cmd_FindParam: returning parm index 42\n(001 .000000) cmd_FindParam: returning parm index 43\n(001 .000000) cmd_FindParam: returning parm index 32\n(001 .000000) cmd_FindParam: returning parm index 17\n(001 .000000) cmd_FindParam: returning parm index 16\n(001 .000000) cmd_FindParam: returning parm index 13\n(001 .000000) cmd_FindParam: returning parm index 21\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name allow_striped\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name lssys\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name chgowner\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name query\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 10\n(001 .000000) cmd_FindParam: returning parm index 11\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 15\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 13\n(001 .000000) cmd_FindParam: returning parm index 14\n(001 .000000) cmd_FindParam: returning parm index 16\n(001 .000000) cmd_FindParam: returning parm index 17\n(001 .000000) cmd_FindParam: returning parm index 18\n(001 .000000) cmd_FindParam: returning parm index 19\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name abort\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name trace\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name error1\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name setauditfid\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name brake\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name start\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name ckbrake\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name nsv\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name autout\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name xcfail\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name outage\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name alter\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 10\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index -1\n(001 .000000) cmd_FindParam: returning parm index -1\n(001 .000000) cmd_FindParam: returning parm index -1\n(001 .000000) cmd_FindParam: returning parm index 11\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name chaggr\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name delay\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name disable\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name salvage\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name mkbad\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) fts_ui_SetUpMkbad: done\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name fileinfo\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name convert\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name fsinfo\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 11\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 10\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 12\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name storeappdata\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name retrieveappdata\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name encrypt\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name decrypt\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name compress\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name decompress\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name shrink\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name history\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 3\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name rename\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name validate\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name bkread\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name migration\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 1, name mkbad6\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_FindParam: returning parm index 2\n(001 .000000) cmd_FindParam: returning parm index 4\n(001 .000000) cmd_FindParam: returning parm index 5\n(001 .000000) cmd_FindParam: returning parm index 6\n(001 .000000) cmd_FindParam: returning parm index 7\n(001 .000000) cmd_FindParam: returning parm index 8\n(001 .000000) cmd_FindParam: returning parm index 9\n(001 .000000) cmd_FindParam: returning parm index 10\n(001 .000000) fts_ui_SetUpMkbad6: done\n(001 .000000) FindSyntax: returning 00000000\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name level\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name help\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_FindParam: returning parm index 1\n(001 .000000) cmd_CreateSyntaxInternal: syntax internal 0, name apropos\n(001 .000000) cmd_FindParam: returning parm index 47\n(001 .000000) cmd_FindParam: returning parm index 48\n(001 .000000) cmd_FindParam: returning parm index 49\n(001 .000000) cmd_FindParam: returning parm index 0\n(001 .000000) cmd_Dispatch: parsing cmd\n(001 .000000) setting keyword=|TRACE_DSN|\n(001 .000000) its value is now=|/.ansible/tmp/tmp7txs7foj|\n(001 .000000) setting keyword=|CMD_TRACE|\n(001 .000000) its value is now=|ON|\n(001 .000000) cmd_Dispatch: calling beforeProc\n(001 .000000) cmd_Dispatch: calling proc\n(001 .000000) DoShrink: sizep=|2000|\n(001 .000000) fts_DoShrink: sizep=0F0349B8 end=0F0349BC\n(001 .000000) fts_DoShrink: flags=0 command=1 len=00000000,,000007D0 name=TEST.ZFS.DATA.USER\n(001 .000000) zfscall_rsn: command=40000005x (sub=0000010ax 0dda4690x 00000000x 00000000x 00000000x 00000000x 00000000x 00000000x)\n(001 .000000) zfscall_rsn: processing ZFSCALL_AGGR\n(001 .000000) zfscall_rsn: processing AGOP_SHRINK_PARMDATA\n(001 .000000) osi_Alloc: a1=x0F034A00 s1=xB0 a2=x0F034A08 s2=xA0 total=528736 off=x000016AE subr=zfscall_rsn\n(001 .000000) zfscall_rsn: calling BPX1PCT, send_parms at=0F034A08, opcode=266, parms[0]=00000020 parms[1]=0 parms[2]=0 parms[3]=0 p\n              arms[4]=0 parms[5]=0 parms[6]=0\n(001 .000000) zfscall_rsn: return from BPX1PCT\n              size=160, rc2=0, retval=0, rc=222783374, reason 00000031\n(001 .000000) osi_Free: a1=x0F034A00 s1=xB0 a2=x0F034A08 s2=xA0 total=528560 off=x00003366 subr=zfscall_rsn\n(001 .000000) zfscall_rsn: rc2=0 retval=0 rc=222783374 reason=00000031 errno=47\n(001 .000000) fts_DoShrink: returned rc=0 rsn=00000031\n(001 .000000) osi_Alloc: a1=x0F034A00 s1=x3F a2=x0F034A08 s2=x2F total=528623 off=x000001D6 subr=zfs_msg_get_msg\n(001 .000000) msg_vprintf: pFormat=0F034A08 status=0 string=|IOEZ00873I Aggregate %1$s successfully shrunk.\n              |\n(001 .000000) msg_vprintf: after clean string=|IOEZ00873I Aggregate %1$s successfully shrunk.\n              |\n(001 .000000) IOEZ00873I Aggregate TEST.ZFS.DATA.USER successfully shrunk.\n(001 .000000) osi_Free: a1=x0F034A00 s1=x3F a2=x0F034A08 s2=x2F total=528560 off=x00000A4E subr=zfs_msg_vprintf\n(001 .000000) cmd_Dispatch: proc returned 0\n(001 .000000) cmd_Dispatch: calling afterProc\n(001 .000000) cmd_Dispatch: returning 0\n(001 .000000) print_trace: writing trace to dsname |/.ansible/tmp/tmp7txs7foj|\n(001 .000000) osi_Alloc: a1=x0F034978 s1=x51 a2=x0F034980 s2=x41 total=528641 off=x000001D6 subr=zfs_msg_get_msg\n(001 .000000) msg_vprintf: pFormat=0F034980 status=0 string=|IOEZ00036I Printing contents of table at address %1$X name: %2$s\n              |\n(001 .000000) msg_vprintf: after clean string=|IOEZ00036I Printing contents of table at address %1$X name: %2$s\n              |\n(001 .000000) osi_Alloc: a1=x0F0349D8 s1=x51 a2=x0F0349E0 s2=x41 total=528722 off=x00000126 subr=zfs_msg_get_msg_default\n(001 .000000) msg_get_msg_default: convert\n(001 .000000) osi_Alloc: a1=x0F034AD8 s1=x1C a2=x0F034AE0 s2=xC total=528750 off=x00000074 subr=build_cd\n(001 .000000) osi_Free: a1=x0F034AD8 s1=x1C a2=x0F034AE0 s2=xC total=528722 off=x00000142 subr=close_convert\n(001 .000000) IOEZ00036I Printing contents of table at address DED7000 name: Main Trace Table\n(001 .000000) osi_Free: a1=x0F034978 s1=x51 a2=x0F034980 s2=x41 total=528641 off=x00000A4E subr=zfs_msg_vprintf\n(001 .000000) osi_Free: a1=x0F0349D8 s1=x51 a2=x0F0349E0 s2=x41 total=528560 off=x00000A80 subr=zfs_msg_vprintf\n \nThread Assignment Table:\nThread (id=0001 ASID=005F TCB=006FB2F8) Line Range (First: 4 Last 710)\n \n(6FB2F8) print_trace_table: Dump of in-memory trace table ended\n"
    }
}

TASK [Unmount ZFS data set.] *******************************************************************************************************************************************************************
changed: [zvm]

TASK [Delete ZFS data set.] ********************************************************************************************************************************************************************
changed: [zvm]

PLAY RECAP *************************************************************************************************************************************************************************************
zvm                        : ok=10   changed=7    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 

Captura de pantalla 2024-10-22 a la(s) 6 00 52 p m
Captura de pantalla 2024-10-23 a la(s) 7 59 09 a m

@AndreMarcel99 AndreMarcel99 added Do not Merge When a pull request should not be merged for issue noted reasons Module New module,plugin, filter, etc Waiting on Reviewers labels Oct 30, 2024
Copy link
Collaborator

@richp405 richp405 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would not have thought to make this into an object. Nicely done!

plugins/module_utils/zfsadm.py Outdated Show resolved Hide resolved
plugins/module_utils/zfsadm.py Outdated Show resolved Hide resolved
plugins/module_utils/zfsadm.py Outdated Show resolved Hide resolved
plugins/module_utils/zfsadm.py Outdated Show resolved Hide resolved
plugins/modules/zos_zfs_resize.py Outdated Show resolved Hide resolved
plugins/modules/zos_zfs_resize.py Outdated Show resolved Hide resolved
plugins/modules/zos_zfs_resize.py Outdated Show resolved Hide resolved
plugins/modules/zos_zfs_resize.py Outdated Show resolved Hide resolved
)
else:
if verbose:
os.remove(tmp_file)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know tmp_file is being removed inside get_full_output, I would recommend deleting the tmp_file in this flow so other people reading the code will know for sure, instead of checking that other function.

plugins/modules/zos_zfs_resize.py Outdated Show resolved Hide resolved
mount_point : str
The folder where the zfs is mount
"""
rc, stdout, stderr = module.run_command("df")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

df is the recommended method to list mount points and their corresponding data set. I double- checked, and other than df, linux version allowed mount to make the same list, but that is not true for USS/Unix... df was the official list.

@AndreMarcel99 AndreMarcel99 changed the title Module/1717/support resizing [Module][1717]new_module_zfs_resize Dec 19, 2024
Copy link
Collaborator

@fernandofloresg fernandofloresg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few comments on the documentation. Will continue with the review later. I really like how the module is shaping up, good work!

operation : str
Whether the operation to execute is grow or shrink
size : int
Size to be assign to the zfs
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Size to be assign to the zfs
Size to be assigned to the zfs

rc : int
The rc of the execution of command.
stdout : str
The stout of the execution of command.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The stout of the execution of command.
The stdout of the execution of command.

stderr : str
The stderr of the execution of command.
cmd_str : str
The full command that was execute.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The full command that was execute.
The full command that was executed.

type: str
size:
description:
- The approximate size of the data set after the resizing is performed.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would rather say something like

Suggested change
- The approximate size of the data set after the resizing is performed.
- The desired size of the data set after the resizing is performed.
- The size might be different than originally specified, depending on available space when performing shrink operations.
- If size is in k (kilobytes) the module will round up to 8K boundary.

Given what says in the zfsadm documentation.

no_auto_increment:
description:
- Option to not allow auto increase on shrinking process.
- When set to C(true), If during the shrinking process of a zfs aggregate more space is needed
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- When set to C(true), If during the shrinking process of a zfs aggregate more space is needed
- When set to C(true), if during the shrinking process of a zfs aggregate more space is needed

default: false
verbose:
description:
- Determines if verbose output should be returned from the underlying utility used by this module.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think is better to not mention the underlying utility per se, but better to mention it like in zos_operator.

Suggested change
- Determines if verbose output should be returned from the underlying utility used by this module.
- Return diagnostic messages that describes the module's execution.

default: false
trace_destination:
description:
- Determines the uss path or dataset to insert the full trace of operation.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Determines the uss path or dataset to insert the full trace of operation.
- Determines the uss path or dataset to dump the full trace of operation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Module New module,plugin, filter, etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Module] [zos_zfs_resize] Support resizing zFS datasets #1
5 participants