diff --git a/README.md b/README.md index e33d12c55..1725e9128 100644 --- a/README.md +++ b/README.md @@ -101,10 +101,10 @@ This project supports below scenarios for end-to-end guest operating system vali This compatible guest operating systems list is used for this project only. For guest operating system support status on ESXi, please refer to [VMware Compatibility Guide](https://www.vmware.com/resources/compatibility/search.php?deviceCategory=software&testConfig=16). ### Docker images -* Latest (Release v3.0): +* Latest (Release v3.1): * projects.registry.vmware.com/gos_cert/ansible-vsphere-gos-validation:latest -* Release v3.0: - * projects.registry.vmware.com/gos_cert/ansible-vsphere-gos-validation:v3.0 +* Release v3.1: + * projects.registry.vmware.com/gos_cert/ansible-vsphere-gos-validation:v3.1 Launch testing using Docker image 1. Execute below commands in your machine diff --git a/docker_file/Dockerfile b/docker_file/Dockerfile index c9be3c84c..12c6282a9 100644 --- a/docker_file/Dockerfile +++ b/docker_file/Dockerfile @@ -1,9 +1,9 @@ # ansible-vsphere-gos-validation # For users launch guest OS validation test on vSphere -# version: 3.0 +# version: 3.1 -# Use latest Photon OS 4.0 docker image as parent image -FROM photon:4.0 +# Use latest Photon OS docker image as parent image +FROM photon:latest WORKDIR /root/ansible-vsphere-gos-validation # Install the required packages @@ -13,8 +13,8 @@ RUN tdnf makecache && \ python3-wheel python3-jmespath python3-netaddr && \ pip3 install pycdlib pywinrm pyvmomi pypsrp passlib -# Install ansible-core (starts from Ansible 2.11) -RUN pip3 install ansible-core +# Install ansible-core +RUN pip3 install ansible-core==2.15.8 # Install Ansible collections # You can set https proxy if collections are failed to install from Galaxy server, e.g., @@ -24,13 +24,12 @@ ENV LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 RUN ansible-galaxy collection install ansible.netcommon ansible.posix community.general community.vmware community.windows community.crypto # Download latest 'ansible-vsphere-gos-validation' release to working dir -RUN curl -s https://api.github.com/repos/vmware/ansible-vsphere-gos-validation/releases/latest | grep "tarball_url" | cut -d "\"" -f 4 | xargs -n 1 wget -O test.tar.gz && \ - tar -zxf test.tar.gz && \ - mv vmware-ansible-vsphere-gos-validation*/* ./ +RUN wget --no-check-certificate https://github.com/vmware/ansible-vsphere-gos-validation/archive/refs/heads/main.tar.gz -O /tmp/test.tar.gz && \ + tar -zxf /tmp/test.tar.gz -C /tmp && \ + mv /tmp/ansible-vsphere-gos-validation-main/* ./ # Clean up unused files -RUN rm -rf test.tar.gz vmware-ansible-vsphere-gos-validation* && \ - tdnf clean all && \ +RUN tdnf clean all && \ rm -rf /var/cache/* /root/.cache/pip/* /var/log/* /tmp/* /root/.ansible/tmp/* # Known issue: ping: socket SOCK_DGRAM 1: Permission denied, Kernel bug workaround diff --git a/docker_file/README.md b/docker_file/README.md new file mode 100644 index 000000000..5561c4ad4 --- /dev/null +++ b/docker_file/README.md @@ -0,0 +1,16 @@ +# How to update docker image +## Build docker image +Build a new docker image with version tag vX.Y for latest release. +``` +docker build . -t ansible-vsphere-gos-validation:vX.Y +``` + +## Run docker container to test the new docker image +``` +docker run -it --privileged ansible-vsphere-gos-validation:vX.Y +``` + +## Tag the docker image as latest +``` +docker image tag ansible-vsphere-gos-validation:vX.Y ansible-vsphere-gos-validation:latest +``` diff --git a/docs/KNOWN_ISSUES.md b/docs/KNOWN_ISSUES.md deleted file mode 100644 index 922b45fc5..000000000 --- a/docs/KNOWN_ISSUES.md +++ /dev/null @@ -1,50 +0,0 @@ -# Known issues -There are some known issues about Ansible VMware modules used in this project, VMware tools, or guest OS. Please file an issue to this project when you hit any failure in the testing but not listed here. - -## Guest OS -1. SLE 15 SP2 -* Failure: Get error when using 'zypper' module due to 'ImportError' when using Python2. -* Workaround: Set 'vm_python' parameter in 'vars/test.yml' to correct Python3 path, e.g., '/usr/bin/python3'. - -* Failure: Get error 'A general system error occurred: vix error codes = (1, 4294967291).' while executing common/vm_shell_in_guest.yml. -* Workaround: Configure vmtoolsd to use common authentication mechanism using PAM. See https://kb.vmware.com/s/article/78251. - -2. Windows 10 or Windows Server -* Failure: Get error when removing NVMe controller from VM with error message "The guest operating system did not respond to a hot-remove request for device nvme1 in a timely manner.". -* Workaround: not available -* Affected test cases: -``` -vhba_hot_add_remove/nvme_vhba_device_ops.yml -``` - -3. VMware Photon OS 3.x -* Failure: After reinstalling open-vm-tools 11.2.5, the VGAuthService cann't be started successfully due to xmlsec1 version mismatch -* Workaround: Manually upgrade xmlsec1 package by running command 'tdnf install xmlsec1', and then reboot Photon OS. -* Affected test cases: -``` -vgauth_check_service/vgauth_check_service.yml -``` - -* Failure: Perl GOSC with open-vm-tools 11.1.0 would fail to set hostname and domain. -* Workaround: Upgrade open-vm-tools to latest version. -* Affected test cases: -``` -guest_customization/gosc_cloudinit_dhcp.yml -guest_customization/gosc_cloudinit_staticip.yml -``` - -4. SLES 15 SP1 and later -* Failure: Perl GOSC would fail to customize DNS servers and search domains on vSphere 6.5 and 6.7. See https://kb.vmware.com/s/article/70682. -* Workaround: Upgrade vSphere to 6.5 U3, 6.7 U3 or 7.0 and later. -``` -guest_customization/gosc_perl_dhcp.yml -guest_customization/gosc_perl_staticip.yml -``` - -5. Windows 11 -* Failure: Guest customization test cases would fail with SYSPREP error "Package Microsoft.OneDriveSync_21180.905.7.0_neutral__8wekyb3d8bbwe was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image." due to the known Windows issue. -* Workaround: Uninstall OneDrive in guest OS. -``` -guest_customization/gosc_sanity_staticip.yml -guest_customization/gosc_sanity_dhcp.yml -``` diff --git a/requirements.txt b/requirements.txt index 18ea0b6b1..2d461158f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,4 +13,4 @@ pyvmomi passlib pytesseract Pillow -ansible-core +ansible-core==2.15.8