ansible-community / molecule-vmware

Molecule VMware Driver
MIT License
15 stars 12 forks source link

Driver dosen't work on Rocky 9 #27

Open BenjaminDewey opened 1 year ago

BenjaminDewey commented 1 year ago
SUMMARY

The vmware driver dose not work when running on Rocky Linux 9.1.

ISSUE TYPE
ANSIBLE VERSION
ansible [core 2.13.3]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/ben/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /home/ben/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/ben/.local/bin/ansible
  python version = 3.9.14 (main, Nov  7 2022, 00:00:00) [GCC 11.3.1 20220421 (Red Hat 11.3.1-2)]
  jinja version = 3.1.2
  libyaml = True
molecule 4.0.3 using python 3.9 
    ansible:2.13.3
    delegated:4.0.3 from molecule
    podman:2.0.3 from molecule_podman requiring collections: containers.podman>=1.7.0 ansible.posix>=1.3.0
CONFIGURATION
---
dependency:
  name: galaxy
driver:
  name: vmware
  vcenter_hostname: $VCURL
  vcenter_username: $VCUSER
  vcenter_password: $VCPASS
  validate_certs: false
  datacenter: CHPC
  #esxi_hostname: change me to esxi hostname of deploying an instance. need it if not cluster specified
  cluster: Playground cluster
  folder: Playground cluster
  vm_username: root
  vm_password: $VMPASS
  instance_os_type: linux # is possible only specify [linux or windows]
  # The below are possible parameters to be specified if using the windows template.
  #winrm_port: 5986 # is WinRM port
  #connection: winrm # is the connection type
  #winrm_transport: ntlm # is the authentication type
  #winrm_server_cert_validation: ignore # is the server certificate validation mode
  # The below list is possible to define DNS nameservers
  dns_servers:
     - "10.240.150.3"
  #  - "8.8.8.8"
  #  - "8.8.4.4"
platforms:
  - name: instance # is an instance name
    template: Rocky86Template # is to be used as a template when cloning an instance
    #resource_pool: change me to resource pool
    #snapshot_src: change me to snapshot name # is a snapshot name to be possible specified if you want to use linked clone.
    hardware:
      num_cpus: 2 # is cpu number to be configured to an instance
      memory_mb: 2048 # is memory size(MB) to be configured to an instance
    networks:
      - name: vlan 16 # is a port group to be assigned to an instance
        ip: 10.240.150.111 # is ip address to be configured to an instance
        netmask: 255.255.255.0 # is netmask to be configured to an instance
        gateway: 10.240.150.1 # is gateway to be configured to an instance
    # The below are possible parameters to be specified if using the windows template.
    #customization:
    #  fullname: molecule # is the server owner name
    #  orgname: molecule # is the organization name
provisioner:
  name: ansible
verifier:
  name: ansible
OS / ENVIRONMENT
5.14.0-162.6.1.el9_1.0.1.x86_64
NAME="Rocky Linux"
VERSION="9.1 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.1"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.1 (Blue Onyx)"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.1"
Rocky Linux release 9.1 (Blue Onyx)
STEPS TO REPRODUCE

Install the driver per the instructions in the read me and try running a vmware molecule scenario. I have tried with without a venv and with a venv that works on rocky 8

molecule converge
EXPECTED RESULTS

Molecule converge run and create the instance in the vcenter

ACTUAL RESULTS
CRITICAL Failed to validate /home/ben/Development/ansible/roles/zfs_install/molecule/default/molecule.yml

["Additional properties are not allowed ('cluster', 'datacenter', 'dns_servers', 'folder', 'instance_os_type', 'validate_certs', 'vcenter_hostname', 'vcenter_password', 'vcenter_username', 'vm_password', 'vm_username' were unexpected)"]

with this change to molecule.yml file

---
dependency:
  name: galaxy
driver:
  name: vmware
  options:
    vcenter_hostname: sawmill.int.chpc.utah.edu
    vcenter_username: xxxx
    vcenter_password: xxxx
    validate_certs: false

and running molecule lint this is the output.

$ molecule lint
WARNING  The scenario config file ('/home/agriffith/repos/chpc-ansible/zfs_install/molecule/default/molecule.yml') has been modified since the scenario was created. If recent changes are important, reset the scenario with 'molecule destroy' to clean up created items or 'molecule reset' to clear current configuration.
DEBUG    Validating schema /home/agriffith/repos/chpc-ansible/zfs_install/molecule/default/molecule.yml.
CRITICAL Failed to validate /home/agriffith/repos/chpc-ansible/zfs_install/molecule/default/molecule.yml

["'vmware' is not one of ['azure', 'ec2', 'delegated', 'docker', 'containers', 'openstack', 'podman', 'vagrant', 'digitalocean', 'gce', 'libvirt', 'lxd']"]