ansible-collections/vmware.vmware_rest

vmon api service deprecated

MallocArray opened this issue · 3 comments

SUMMARY

vCenter 8.0 U3 appears to have fully depreciated the API at /rest/appliance/vmon/service
https://knowledge.broadcom.com/external/article?articleNumber=321044

Was working as expected in 8.0 U2. Needing to move to vmware.vmware_rest.appliance_services, but the depreciation should be specifically called out on the appliance_vmon_service component

ISSUE TYPE
  • Bug Report
COMPONENT NAME

vmware.vmware_rest.appliance_vmon_service

ANSIBLE VERSION
ansible [core 2.16.6]
  config file = /root/repos/Ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.10/dist-packages/ansible
  ansible collection location = /root/repos/Ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] (/usr/bin/python3)
  jinja version = 3.1.3
  libyaml = True
COLLECTION VERSION
Collection         Version
------------------ -------
vmware.vmware_rest 2.3.1  
CONFIGURATION
COLLECTIONS_PATHS(/root/repos/Ansible/ansible.cfg) = ['/root/repos/Ansible/collections']
CONFIG_FILE() = /root/repos/Ansible/ansible.cfg
DEFAULT_FILTER_PLUGIN_PATH(/root/repos/Ansible/ansible.cfg) = ['/root/repos/Ansible/custom_filters']
DEFAULT_ROLES_PATH(/root/repos/Ansible/ansible.cfg) = ['/root/repos/Ansible/roles']
DEFAULT_STRATEGY_PLUGIN_PATH(/root/repos/Ansible/ansible.cfg) = ['/root/repos/Ansible/custom_plugins/mitogen-0.3.4/ansible_mitogen/plugins/strategy']
DEFAULT_TIMEOUT(/root/repos/Ansible/ansible.cfg) = 40
HOST_KEY_CHECKING(/root/repos/Ansible/ansible.cfg) = False
PARAMIKO_LOOK_FOR_KEYS(/root/repos/Ansible/ansible.cfg) = False
OS / ENVIRONMENT
STEPS TO REPRODUCE
    - name: Netdumper Service automatic startup
      vmware.vmware_rest.appliance_vmon_service:
        vcenter_hostname: "{{ inventory_hostname }}"
        vcenter_username: "{{ vcenter_user }}"
        vcenter_password: "{{ vcenter_password }}"
        vcenter_validate_certs: "{{ vmware_validate_certs }}"
        service: netdumper
        startup_type: AUTOMATIC
      delegate_to: localhost
      register: result
      until: result is not failed
      retries: 2
      delay: 60
EXPECTED RESULTS

Service is set to startup_type of automatic

ACTUAL RESULTS
    "type": "com.vmware.vapi.std.errors.service_unavailable",
    "value": {
        "error_type": "SERVICE_UNAVAILABLE",
        "messages": [
            {
                "args": [],
                "default_message": "Service unavailable.",
                "id": "com.vmware.vapi.endpoint.cis.ServiceUnavailable"
            }
        ]
    }
}

Looks like appliance_vmon_service_info is also affected.

I wonder what's the best way to handle this. Maybe deprecate those two modules and create two new ones vmware.vmware_rest.vcenter_services and vmware.vmware_rest.vcenter_service_infos? 🤔

@mariolenz While vmon_service is depreciated, there are existing modules that interact with the appliance services
https://github.com/ansible-collections/vmware.vmware_rest/blob/main/plugins/modules/appliance_services.py
https://github.com/ansible-collections/vmware.vmware_rest/blob/main/plugins/modules/appliance_services_info.py

But I do agree that we also need new ones for vcenter_services that interacts with /api/vcenter/services. For my specific use case with netdumper it isn't managed by appliance services anymore, it is only available under vcenter services

Looks like appliance_vmon_service_info is also affected.

I wonder what's the best way to handle this. Maybe deprecate those two modules and create two new ones vmware.vmware_rest.vcenter_services and vmware.vmware_rest.vcenter_service_infos? 🤔

I tried to change to the new api endpoint, for my 8.0.3 and other 8.0.0 vcenter it worked. Can you test if it's working for you as well. And maybe you have the chance to test older versions as well.
https://github.com/noesberger/vmware.vmware_rest/tree/main

based on the informations from:
https://knowledge.broadcom.com/external/article/321044/deprecation-of-vmon-api-service.html