ZPESystems / Salt

Salt module for Nodegrid
GNU General Public License v3.0
1 stars 1 forks source link

Output from nodegrid.cli is missing data or newline characters #1

Closed zpe-jose-deleon closed 1 year ago

zpe-jose-deleon commented 1 year ago

Output from nodegrid.cli seems to be missing some data and newline characters. I tested with running export_settings. Note the following lines below:

There are others.

jose-deleon@salty-01:~$ sudo salt nodegrid_ngbsr-102 nodegrid.cli export_settings
nodegrid_ngbsr-102:
    (admin@192.168.74.239) Password:
    [admin@nodegrid /]# export_settings
    /settings/zpe_cloud enable_zpe_cloud=yes
    /settings/zpe_cloud enable_remote_access=yes
    /settings/zpe_cloud enable_file_protection=/settings/zpe_cloud enable_file_encryption=/settings/system_preferences help_url=https://www.zpesystems.com/ng/v5_6/NodegridManual5.6.html
    /settings/system_preferences idle_timeout=300
    /settings/system_preferences revision_tag=r1
    /settings/system_preferences show_hostname_on_webui_header=/settings/system_preferences logo_image=use_default_logo_image
    /settings/system_preferences logo_download_path_is_absolute_path_name=/settings/system_preferences enable_banner=/settings/system_preferences enable_local_serial_ports_utilization_rate=/settings/system_preferences enable_license_utilization_rate=yes
    /settings/system_preferences percentage_to_trigger_events=90
    /settings/system_preferences console_port_speed=115200
    /settings/system_preferences unit_ipv4_address=192.168.160.1
    /settings/system_preferences unit_netmask=255.255.255.0
    /settings/system_preferences unit_interface=eth0
    /settings/system_preferences iso_url=http://ServerIPAddress/PATH/FILENAME.ISO
    /settings/system_logging enable_session_logging=/settings/date_and_time date_and_time=network_time_protocol
    /settings/date_and_time server=pool.ntp.org
zpe-diegor commented 1 year ago

Hi @zpe-jose-deleon , thanks for opening this issue!

We are working in a solution, please check the suggestion below and let us know what you think!

$ sudo salt nodegrid_NSC_86 nodegrid.cli "export_settings /settings/system_preferences
export_settings /settings/system_preference
ls
"
nodegrid_NSC_86:
    |_
      ----------
      command:
          export_settings /settings/system_preferences
      output:
          /settings/system_preferences help_url=https://www.zpesystems.com/nodegrid/v5_8/NodegridManual5.8.html
          /settings/system_preferences idle_timeout=3600
          /settings/system_preferences revision_tag=r1
          /settings/system_preferences show_hostname_on_webui_header=no
          /settings/system_preferences logo_image=
          /settings/system_preferences logo_download_path_is_absolute_path_name=no
          /settings/system_preferences enable_banner=yes
          /settings/system_preferences banner="This is the banner of NSC-86\n"
          /settings/system_preferences enable_local_serial_ports_utilization_rate=no
          /settings/system_preferences enable_license_utilization_rate=yes
          /settings/system_preferences percentage_to_trigger_events=90
          /settings/system_preferences console_port_speed=115200
          /settings/system_preferences enable_alarm_sound_when_one_power_supply_is_powered_off=no
          /settings/system_preferences unit_ipv4_address=192.168.160.1
          /settings/system_preferences unit_netmask=255.255.255.0
          /settings/system_preferences unit_interface=eth0
          /settings/system_preferences iso_url=http://ServerIPAddress/PATH/FILENAME.ISO
    |_
      ----------
      command:
          export_settings /settings/system_preference
      output:
          Error: Invalid argument: /settings/system_preference
    |_
      ----------
      command:
          ls
      output:
          access/
          system/
          settings/

Python API usage:

>>> import salt.client
>>> SALT_API = salt.client.LocalClient()
>>> out = SALT_API.cmd("nodegrid_NSC_86", 'nodegrid.cli', ['ls \nshow /settings/system_preferences \nll'])
>>> for elem in out['nodegrid_NSC_86']:
...   print("Output: " + elem['output'])
...   print("Command: " + elem['command'])
...
Output: access/
system/
settings/

Command: ls
Output: address_location =
coordinates =
help_url = https://www.zpesystems.com/nodegrid/v5_8/NodegridManual5.8.html
idle_timeout = 3600
revision_tag = r1
latest profile applied: -
show_hostname_on_webui_header = no
logo_image =
logo_download_url =
logo_download_username =
logo_download_password =
logo_download_path_is_absolute_path_name = no
enable_banner = yes
banner = This is the banner of NSC-86\n
enable_local_serial_ports_utilization_rate = no
enable_license_utilization_rate = yes
percentage_to_trigger_events = 90
console_port_speed = 115200
state of power supply 1: OFF
state of power supply 2: ON
enable_alarm_sound_when_one_power_supply_is_powered_off = no
unit_ipv4_address = 192.168.160.1
unit_netmask = 255.255.255.0
unit_ipv4_gateway =
unit_interface = eth0
iso_url = http://ServerIPAddress/PATH/FILENAME.ISO

Command: show /settings/system_preferences
Output: Error: Invalid command:

Command: ll
Output: Error: Invalid command:
zpe-diegor commented 1 year ago

Important to note that, export_settings has its own function: $ sudo salt TARGET nodegrid.export_settings "/settings/" --timeout 1500

cc: @zpe-jose-deleon