gluster / gluster-ansible-infra

Ansible role to enable and deploy the backend of a Gluster cluster.
GNU General Public License v3.0
28 stars 36 forks source link

Script are failing as the updated gluster-ansible requires vdsm-tools to be installed #110

Closed rkothiya closed 3 years ago

rkothiya commented 3 years ago

Script are failing as the updated gluster-ansible requires vdsm-tools to be installed, following error is observed now :

TASK [gluster.infra/roles/backend_setup : Regenerate new LVM filter rules] ***** fatal: [server1.example.com]: FAILED! => {"changed": true, "cmd": "vdsm-tool config-lvm-filter -y \n", "delta": "0:00:00.005736", "end": "2020-10-07 06:27:53.024411", "msg": "non-zero return code", "rc": 127, "start": "2020-10-07 06:27:53.018675", "stderr": "/bin/sh: vdsm-tool: command not found", "stderr_lines": ["/bin/sh: vdsm-tool: command not found"], "stdout": "", "stdout_lines": []}

rkothiya commented 3 years ago

As a workaround I tried installing vdsm-python which required active subscription and then too I see the following failure :

TASK [gluster.infra/roles/backend_setup : Regenerate new LVM filter rules] *****
fatal: [server1.example.com]: FAILED! => {"changed": true, "cmd": "vdsm-tool config-lvm-filter -y  \n", "delta": "0:00:00.475788", "end": "2020-10-07 10:22:36.001021", "msg": "non-zero return code", "rc": 1, "start": "2020-10-07 10:22:35.525233", "stderr": "", "stderr_lines": [], "stdout": "Usage: /usr/bin/vdsm-tool [options] <action> [arguments]\nValid options:\n  -h, --help\n\t\tShow this help menu.\n  -l, --logfile <path>\n\t\tRedirect logging to file.\n  -v, --verbose\n\t\tInclude warning (and errors) messages in log.\n  -vv, --vverbose\n\t\tInclude information (and above) messages in log.\n  -vvv, --vvverbose\n\t\tInclude debug (and above) messages in log.\n  -a, --append\n\t\tAppend to logfile instead of truncating it\n(if logging to a file).\n\n Commands in module common:\n\n Commands in module configfile:\n\n Commands in module configurator:\n\n configure\nusage: \n /usr/bin/vdsm-tool [options] configure [-h|...]\n    Configure external services for vdsm\n    Invoke with -h for complete usage.\n    \n\n is-configured\nusage: \n /usr/bin/vdsm-tool [options] is-configured [-h|...]\n    Determine if module is configured\n    Invoke with -h for complete usage.\n    \n\n remove-config\nusage: \n /usr/bin/vdsm-tool [options] Remove vdsm configuration from conf files\n    \n\n validate-config\nusage: \n /usr/bin/vdsm-tool [options] validate-config [-h|...]\n    Determine if configuration is valid\n    Invoke with -h for complete usage.\n    \n\n Commands in module confmeta:\n\n Commands in module confutils:\n\n Commands in module dummybr:\n\n dummybr-create\nusage: \n /usr/bin/vdsm-tool [options] dummybr-create\n\n    Defines dummy bridge on libvirt network.\n    \n\n dummybr\nusage: \n /usr/bin/vdsm-tool [options] dummybr\n\n    Defines dummy bridge on libvirt network.\n\n    Deprecated in favor of dummybr-create.\n    \n\n dummybr-remove\nusage: \n /usr/bin/vdsm-tool [options] dummybr-remove\n\n    Undefines dummy bridge on libvirt network.\n    \n\n Commands in module network:\n\n clear-nets\nusage: \n /usr/bin/vdsm-tool [options] clear-nets [--exclude-net [network to keep [...]]] [--all]\n\n    Remove networks configured by VDSM. Networks that should be kept could\n    be listed with --exclude-net argument. In case no network is given,\n    explicit --all is required to prevent accidental loss of connectivity.\n\n    This command can be executed before VDSM removal to keep the host clean.\n    \n\n dump-bonding-options\nusage: \n /usr/bin/vdsm-tool [options] dump-bonding-options\n\n    Two actions are taken:\n    - Read bonding option defaults (per mode) and dump them to\n      BONDING_DEFAULTS in JSON format.\n    - Read bonding option possible values (per mode) and dump them to\n      BONDING_NAME2NUMERIC_PATH in JSON format.\n    \n\n list-nets\nusage: \n /usr/bin/vdsm-tool [options] list-nets\n\n    List configured VDSM networks and mark the one with default route.\n    \n\n restore-nets\nusage: \n /usr/bin/vdsm-tool [options] restore-nets\n    Restores the networks to what was previously persisted via vdsm.\n    \n\n restore-nets-init\nusage: \n /usr/bin/vdsm-tool [options] restore-nets-init\n\n    Restore IP+link configuration on persisted OVS networks.\n    \n\n upgrade-networks\nusage: \n /usr/bin/vdsm-tool [options] upgrade-networks\n\n    Upgrade networks configuration to up-to-date format.\n    \n\n Commands in module nwfilter:\n\n nwfilter\nusage: \n /usr/bin/vdsm-tool [options] nwfilter\n    Defines network filters on libvirt\n    \n\n Commands in module service:\n\n service-disable\nusage: \n /usr/bin/vdsm-tool [options] service-disable service-name\n    Disable a system service.\n\n    Parameters:\n    service-name - service to disable\n    \n\n service-is-managed\nusage: \n /usr/bin/vdsm-tool [options] service-is-managed service-name\n    Check the existence of a service.\n\n    Parameters:\n    service-name - service to query\n    \n\n service-reload\nusage: \n /usr/bin/vdsm-tool [options] service-reload service-name\n    Notify a system service to reload configurations.\n\n    Parameters:\n    service-name - service to notify\n    \n\n service-restart\nusage: \n /usr/bin/vdsm-tool [options] service-restart service-name\n    Restart a system service.\n\n    Parameters:\n    service-name - service to restart\n    \n\n service-start\nusage: \n /usr/bin/vdsm-tool [options] service-start service-name\n    Start a system service.\n\n    Parameters:\n    service-start - service to start\n    \n\n service-status\nusage: \n /usr/bin/vdsm-tool [options] service-status service-name\n    Get status of a system service.\n\n    Parameters:\n    service-name - service to query\n    \n\n service-stop\nusage: \n /usr/bin/vdsm-tool [options] service-stop service-name\n    Stop a system service.\n\n    Parameters:\n    service-name - service to stop\n    \n\n Commands in module transient:\n\n cleanup-transient-repository\nusage: \n /usr/bin/vdsm-tool [options] cleanup-transient-repository\n    Cleanup the unused transient disks present in the repository.\n    (NOTE: it is recommended to NOT execute this command when the vdsm\n    daemon is running)\n    \n\n setup-transient-repository\nusage: \n /usr/bin/vdsm-tool [options] setup-transient-repository\n    Prepare the transient disks repository\n    \n\n Commands in module upgrade:\n\n Commands in module vdsm-id:\n\n vdsm-id\nusage: \n /usr/bin/vdsm-tool [options] vdsm-id\n    Printing host uuid\n    ", "stdout_lines": ["Usage: /usr/bin/vdsm-tool [options] <action> [arguments]", "Valid options:", "  -h, --help", "\t\tShow this help menu.", "  -l, --logfile <path>", "\t\tRedirect logging to file.", "  -v, --verbose", "\t\tInclude warning (and errors) messages in log.", "  -vv, --vverbose", "\t\tInclude information (and above) messages in log.", "  -vvv, --vvverbose", "\t\tInclude debug (and above) messages in log.", "  -a, --append", "\t\tAppend to logfile instead of truncating it", "(if logging to a file).", "", " Commands in module common:", "", " Commands in module configfile:", "", " Commands in module configurator:", "", " configure", "usage: ", " /usr/bin/vdsm-tool [options] configure [-h|...]", "    Configure external services for vdsm", "    Invoke with -h for complete usage.", "    ", "", " is-configured", "usage: ", " /usr/bin/vdsm-tool [options] is-configured [-h|...]", "    Determine if module is configured", "    Invoke with -h for complete usage.", "    ", "", " remove-config", "usage: ", " /usr/bin/vdsm-tool [options] Remove vdsm configuration from conf files", "    ", "", " validate-config", "usage: ", " /usr/bin/vdsm-tool [options] validate-config [-h|...]", "    Determine if configuration is valid", "    Invoke with -h for complete usage.", "    ", "", " Commands in module confmeta:", "", " Commands in module confutils:", "", " Commands in module dummybr:", "", " dummybr-create", "usage: ", " /usr/bin/vdsm-tool [options] dummybr-create", "", "    Defines dummy bridge on libvirt network.", "    ", "", " dummybr", "usage: ", " /usr/bin/vdsm-tool [options] dummybr", "", "    Defines dummy bridge on libvirt network.", "", "    Deprecated in favor of dummybr-create.", "    ", "", " dummybr-remove", "usage: ", " /usr/bin/vdsm-tool [options] dummybr-remove", "", "    Undefines dummy bridge on libvirt network.", "    ", "", " Commands in module network:", "", " clear-nets", "usage: ", " /usr/bin/vdsm-tool [options] clear-nets [--exclude-net [network to keep [...]]] [--all]", "", "    Remove networks configured by VDSM. Networks that should be kept could", "    be listed with --exclude-net argument. In case no network is given,", "    explicit --all is required to prevent accidental loss of connectivity.", "", "    This command can be executed before VDSM removal to keep the host clean.", "    ", "", " dump-bonding-options", "usage: ", " /usr/bin/vdsm-tool [options] dump-bonding-options", "", "    Two actions are taken:", "    - Read bonding option defaults (per mode) and dump them to", "      BONDING_DEFAULTS in JSON format.", "    - Read bonding option possible values (per mode) and dump them to", "      BONDING_NAME2NUMERIC_PATH in JSON format.", "    ", "", " list-nets", "usage: ", " /usr/bin/vdsm-tool [options] list-nets", "", "    List configured VDSM networks and mark the one with default route.", "    ", "", " restore-nets", "usage: ", " /usr/bin/vdsm-tool [options] restore-nets", "    Restores the networks to what was previously persisted via vdsm.", "    ", "", " restore-nets-init", "usage: ", " /usr/bin/vdsm-tool [options] restore-nets-init", "", "    Restore IP+link configuration on persisted OVS networks.", "    ", "", " upgrade-networks", "usage: ", " /usr/bin/vdsm-tool [options] upgrade-networks", "", "    Upgrade networks configuration to up-to-date format.", "    ", "", " Commands in module nwfilter:", "", " nwfilter", "usage: ", " /usr/bin/vdsm-tool [options] nwfilter", "    Defines network filters on libvirt", "    ", "", " Commands in module service:", "", " service-disable", "usage: ", " /usr/bin/vdsm-tool [options] service-disable service-name", "    Disable a system service.", "", "    Parameters:", "    service-name - service to disable", "    ", "", " service-is-managed", "usage: ", " /usr/bin/vdsm-tool [options] service-is-managed service-name", "    Check the existence of a service.", "", "    Parameters:", "    service-name - service to query", "    ", "", " service-reload", "usage: ", " /usr/bin/vdsm-tool [options] service-reload service-name", "    Notify a system service to reload configurations.", "", "    Parameters:", "    service-name - service to notify", "    ", "", " service-restart", "usage: ", " /usr/bin/vdsm-tool [options] service-restart service-name", "    Restart a system service.", "", "    Parameters:", "    service-name - service to restart", "    ", "", " service-start", "usage: ", " /usr/bin/vdsm-tool [options] service-start service-name", "    Start a system service.", "", "    Parameters:", "    service-start - service to start", "    ", "", " service-status", "usage: ", " /usr/bin/vdsm-tool [options] service-status service-name", "    Get status of a system service.", "", "    Parameters:", "    service-name - service to query", "    ", "", " service-stop", "usage: ", " /usr/bin/vdsm-tool [options] service-stop service-name", "    Stop a system service.", "", "    Parameters:", "    service-name - service to stop", "    ", "", " Commands in module transient:", "", " cleanup-transient-repository", "usage: ", " /usr/bin/vdsm-tool [options] cleanup-transient-repository", "    Cleanup the unused transient disks present in the repository.", "    (NOTE: it is recommended to NOT execute this command when the vdsm", "    daemon is running)", "    ", "", " setup-transient-repository", "usage: ", " /usr/bin/vdsm-tool [options] setup-transient-repository", "    Prepare the transient disks repository", "    ", "", " Commands in module upgrade:", "", " Commands in module vdsm-id:", "", " vdsm-id", "usage: ", " /usr/bin/vdsm-tool [options] vdsm-id", "    Printing host uuid", "    "]}
spuiuk commented 3 years ago

We are hitting the same problem in our test setups at https://github.com/gluster/samba-integration/tree/master/vagrant/ansible

The workaround I used was

diff -u /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml.bak /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml
--- /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml.bak  2020-10-13 10:31:18.547469718 +0000
+++ /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml  2020-10-13 10:31:31.122459225 +0000
@@ -2,3 +2,4 @@
 - name: Regenerate new LVM filter rules
   shell: >
     vdsm-tool config-lvm-filter -y  
+  ignore_errors: yes
rkothiya commented 3 years ago

The changes were tested and are working fine.

pkesavap commented 3 years ago

We are hitting the same problem in our test setups at https://github.com/gluster/samba-integration/tree/master/vagrant/ansible

The workaround I used was

diff -u /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml.bak /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml
--- /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml.bak    2020-10-13 10:31:18.547469718 +0000
+++ /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml    2020-10-13 10:31:31.122459225 +0000
@@ -2,3 +2,4 @@
 - name: Regenerate new LVM filter rules
   shell: >
     vdsm-tool config-lvm-filter -y  
+  ignore_errors: yes

Hi @spuiuk

I wouldnt recomment that work around, eventhough im unaware of your use case, and you might not be needing vdsm-tools now but if it changes, and a vital error is thrown then ignoring it wouldnt be a right approach.

spuiuk commented 3 years ago

Thanks Prajit,

It was just a temporary workaround to complete my gluster install. I don't need the workaround otherwise nor is it committed in our own project sources. Just waiting for a permanent fix from this project.

Thanks Sachin Prabhu

On Thu, Oct 15, 2020 at 8:31 AM Prajith Kesava Prasad < notifications@github.com> wrote:

We are hitting the same problem in our test setups at https://github.com/gluster/samba-integration/tree/master/vagrant/ansible

The workaround I used was

diff -u /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml.bak /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml --- /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml.bak 2020-10-13 10:31:18.547469718 +0000 +++ /etc/ansible/roles/gluster.infra/roles/backend_setup/tasks/regenerate_new_lvm_filter_rules.yml 2020-10-13 10:31:31.122459225 +0000 @@ -2,3 +2,4 @@

  • name: Regenerate new LVM filter rules shell: > vdsm-tool config-lvm-filter -y
    • ignore_errors: yes

Hi @spuiuk https://github.com/spuiuk

I wouldnt recomment that work around, eventhough im unaware of your use case, and you might not be needing vdsm-tools now but if it changes, and a vital error is thrown then ignoring it wouldnt be a right approach.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gluster/gluster-ansible-infra/issues/110#issuecomment-708958955, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIBE4R7VEWTX24EYZPF7PLSK2QLHANCNFSM4SJGUGNQ .

spuiuk commented 3 years ago

@pkesavap, Do you maintain the copr for the gluster-ansible-infra? Can you please kick off a rebuild of the packages so that we can use the latest changes in our project.

Thanks.

pkesavap commented 3 years ago

@spuiuk no ,@gobindadas does it, i have pinged him, he can do a build once this is merged.

gobindadas commented 3 years ago

I have merged PR, will provide build.

pkesavap commented 3 years ago

closing this issue as the PR is merged and build is provided.