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

[Bug]: unable to create servicegroup #311

Closed
pkodzis opened this issue Nov 29, 2023 · 2 comments
Closed

[Bug]: unable to create servicegroup #311

pkodzis opened this issue Nov 29, 2023 · 2 comments
Assignees
Labels

Comments

@pkodzis
Copy link

pkodzis commented Nov 29, 2023

Summary

Ansible claims that I'm missing "CustomServerID" which is not expected in my case to use, and missing "serverName" that's defined in my playbook:

Reason:{'errorcode': 1093, 'message': 'Argument pre-requisite missing [CustomServerID, serverName]', 'severity': 'ERROR'}"

Issue Type

Bug Report

Component Name

netscaler.adc.servicegroup

Python Version

$ python --version # or python3 --version
3.9

Ansible Version

$ ansible --version

ansible [core 2.12.10]
  config file = None
  configured module search path = ['/home/pkodzis/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.9/dist-packages/ansible
  ansible collection location = /home/pkodzis/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.9.5 (default, Nov 18 2021, 16:00:48) [GCC 10.3.0]
  jinja version = 2.11.2
  libyaml = True
 
And:
ansible [core 2.15.6]
 config file = None
  configured module search path = ['/home/pkodzis/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/pkodzis/.local/lib/python3.9/site-packages/ansible
  ansible collection location = /home/pkodzis/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/pkodzis/.local/bin/ansible
  python version = 3.9.5 (default, Nov 18 2021, 16:00:48) [GCC 10.3.0] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True
 

Ansible Configuration

$ ansible-config dump --only-changed

netscaler.adc Collection Version

$ ansible-galaxy collection list netscaler.adc

# /home/pkodzis/.ansible/collections/ansible_collections
Collection    Version
------------- -------
netscaler.adc 2.0.3

Target NetScaler Version

> show ns version
13.1

Equivalent NetScaler CLI Command

bind sg1 server1 port
bind sg1 -monitorName monitor1

Steps to Reproduce

- hosts: "{{ 'ALL' }}"
  gather_facts: no
  vars:
    provider_defaults:
      nitro_protocol: https
      validate_certs: no
      partitionname: "{{ partitionname | default('DEV') }}"
  tasks:
    - name: login to NetScaler
      delegate_to: localhost
      netscaler.adc.login:
        nsip: "10.10.10.10"
        username: "{{ username }}"
        password: "{{ password }}"
        nitro_protocol: https
        validate_certs: no
      check_mode: false
      register: result

    - name: setup provider
      set_fact:
        provider:
          nitro_auth_token: "{{ result.sessionid }}"
          nsip: "{{ nsip }}"
          validate_certs: "{{ provider_defaults.validate_certs }}"
          partitionname: "{{ provider_defaults.partitionname }}"

    - name: switch to partition
      delegate_to: localhost
      my_citrix_adc_switch_partition:
        nsip: "{{ provider.nsip }}"
        nitro_auth_token: "{{ provider.nitro_auth_token | default(omit) }}"
        nitro_protocol: "{{ provider.nitro_protocol | default(omit) }}"
        validate_certs: "{{ provider.validate_certs | default(omit) }}"
        partitionname: "{{ provider.partitionname }}"
      check_mode: false

    - name: setup servers
      delegate_to: localhost
      netscaler.adc.server:
        nsip: "{{ provider.nsip }}"
        nitro_auth_token: "{{ provider.nitro_auth_token | default(omit) }}"
        nitro_protocol: "{{ provider.nitro_protocol | default(omit) }}"
        validate_certs: "{{ provider.validate_certs | default(omit) }}"
        state: present
        name: foo.example.com
        domain: foo.example.com


    - name: setup servicegroups
      delegate_to: localhost
      netscaler.adc.servicegroup:
        nsip: "{{ provider.nsip }}"
        nitro_auth_token: "{{ provider.nitro_auth_token | default(omit) }}"
        nitro_protocol: "{{ provider.nitro_protocol | default(omit) }}"
        validate_certs: "{{ provider.validate_certs | default(omit) }}"

        state: present

        servicegroupname: test1-1
        servicetype: TCP
        autoscale: DNS
        healthmonitor: "YES"
        servicegroup_servicegroupmember_binding:
          binding_members:
            - servername: foo.example.com
              port: 443
              ip: ""
              servicegroupname: test1-1

        servicegroup_lbmonitor_binding:
          binding_members:
            - monitor_name: monitor1
              servicegroupname: test1-1

Expected Results

created service group with bindings: member & monitor

Actual Results

    "msg": "ERROR: update_resource FAILED; status_code: 400; Reason:{'errorcode': 1093, 'message': 'Argument pre-requisite missing [CustomServerID, serverName]', 'severity': 'ERROR'}"

Additioinal Notes

No response

@pkodzis pkodzis added the bug label Nov 29, 2023
sumanth-lingappa added a commit that referenced this issue Dec 17, 2023
### Added

- introduced new states -- `created` and `imported` ([#295])

### Fixed

- removed default values in `nitro_resource_map.py` ([#313], [#314], [#311])
- default monitor can now be unbound from service ([#312])
- `ip` is now not mandatory for server based resources ([#297])
@sumanth-lingappa
Copy link
Collaborator

This issue is fixed in the latest release 2.1.0. Please check and update the issue accordingly.

@pkodzis
Copy link
Author

pkodzis commented Dec 19, 2023

ack - solved in 2.1.0 - thank you so much! :)

@pkodzis pkodzis closed this as completed Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants