### Human: Can you tell about NCC Health Check: cvm_startup_dependency_check. ### Assistant: Controller VM (CVM) may fail to start after the host is rebooted. The NCC health check cvm_startup_dependency_check determines whether any problems regarding CVM bootup are likely to occur upon the host reboot.. If an ESXi host is restarted, the Controller VM (CVM) may fail to start. The NCC health check cvm_startup_dependency_check determines whether any problems regarding CVM bootup are likely to occur when the host is restarted.

This check runs on ESXi clusters only and verifies the presence of any startup dependencies that may result in a CVM not starting after the host reboot.

The check examines the contents of /etc/rc.local.d/local.sh (on the ESXi host) and makes sure it is intact and not missing anything that might be important to start the CVM after the host restarts.

Note: In ESXi 5.1+, the rc local script is /etc/rc.local.d/local.sh while in ESXi 5.0, it is /etc/rc.local.

The cvm_startup_dependency_check consists of the following:

PYNFS dependency checklocalcli check - checks if esxcli command is used in the rc local script. (Deprecated in NCC version 3.10.0.)vim command check - checks if "vim-cmd vmsvc/power.on" command is present in the rc local script.Autobackup check - checks if /sbin/auto-backup.sh has been run successfully.Network adapter setting check - checks if the network adapter is set to connect on power on.EOF check - checks if there is an "EOF" line at the end of the rc local script.RC local script exit statement present - checks if there is a top-level exit statement in the rc local script..dvsData directory in local datastore - checks if .dvsData directory is present on pynfs mounted local datastore and if it is persistent.Svmboot mount check - checks if svmboot.iso is present on mounted local datastore.

Based on the outcome of the above checks, the result is either PASS, INFO, FAIL or ERR.

Running the NCC CheckYou can run this check as part of the complete NCC Health Checks:

nutanix@cvm$ ncc health_checks run_all

Or you can run this check individually:

nutanix@cvm$ ncc health_checks run_all

You can also run the checks from the Prism web console Health page: select Actions > Run Checks. Select All checks and click Run.

This check is not scheduled to run on an interval.This check will not generate an alert.

Sample outputFor Status: PASS

nutanix@cvm$ ncc health_checks run_all

For Status: INFO

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

For Status: FAIL

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

nutanix@cvm$ ncc health_checks run_all

Output messaging

Check ID106436DescriptionCheck that /sbin/auto-backup.sh has run successfullyCauses of failure/sbin/auto-backup.sh has not run successfully.ResolutionsMake sure '/bootbank/state.tgz' has a newer timestamp.ImpactCVM may not boot up after the host reboot.

Check ID106439DescriptionCheck that .dvsData directory is present on pynfs mounted local datastoreCauses of failure.dvsData directory is not persistent yet.ResolutionsCheck if .dvsData directory exists in the local datastore.ImpactCVM may not boot up after the host reboot.

Check ID106437DescriptionCheck that there is no line EOF at end of RC local scriptCauses of failureEOF statement at end of RC localResolutionsCheck that 'local.sh' does not have 'EOF'ImpactCVM may not boot up after the host reboot.

Check ID106438DescriptionCheck that top level exit statement is not present in RC local scriptCauses of failureTop-level exit statement present in script RC local preventing script lines from being run.ResolutionsCheck if 'local.sh' has an 'exit' statement. Generate INFO if the exit statement is NOT within the if..fi statementImpactCVM may not boot up after the host reboot.

Check ID103068DescriptionCheck Network adapter settingCauses of failureNetwork adapter is not set to not connect on power onResolutionsCheck if ethernet0.startConnected =true is present in the CVM's .vmx file.ImpactCVM may not boot up after the host reboot.

Check ID106431DescriptionCheck PYNFS dependencyCauses of failurePYNFS is in use and is not present.ResolutionsValidate PYNFS configuration.ImpactCVM may not boot up after the host reboot.

Check ID106433DescriptionCheck that vim-cmd vmsvc/power.on command is present in the local scriptCauses of failurevim-cmd vmsvc/power.on\ command not present in local script.ResolutionsCheck if 'vim-cmd vmsvc/power.on' entry is present in 'local.sh'.ImpactCVM may not boot up after the host reboot.

Check ID106440DescriptionChecks if CVM ISO is on mounted local datastoreCauses of failureServiceVM_Centos.iso is not on the mounted local datastore.ResolutionsCheck if ServiceVM_Centos.iso exists in the local datastore.ImpactCVM may not start after the host reboot.. Find your error message in the table below and perform the corresponding recommended actions.

Failed checkError messagesRecommended actionsPYNFS dependency check"PYNFS is in use and is not present"If pynfs is in use, make sure pynfs VIB is present and if pynfs.tar.gz is referenced in /etc/rc.local.d/local.sh, make sure it is present and readable.vim command check""vim-cmd vmsvc/power.on" command not present in local script"Make sure 'vim-cmd vmsvc/power.on' entry is present in /etc/rc.local.d/local.sh.Autobackup check"/sbin/auto-backup.sh has not run successfully"Check whether /sbin/auto-backup.sh has been run successfully by confirming that /bootbank/state.tgz is newer than /etc/rc.local.d/local.sh.			The NCC check fails if /bootbank/state.tgz is not newer than /etc/rc.local.d/local.sh.			Sample result for the failure scenario:
			nutanix@cvm$ hostssh ls -al /bootbank/state.tgz

			nutanix@cvm$ hostssh ls -al /bootbank/state.tgz
			Network adapter setting check"Network adapter is set to not connect on power on"Make sure the CVM VMX file does not have the setting "ethernet0.startConnected". If it does, make sure it is set to "true".EOF check""EOF" statement at end of rc local"Make sure /etc/rc.local.d/local.sh does not have an 'EOF' line..dvsData directory in local datastore".dvsData directory is not persistent yet"If .dvsData directory exists in the local datastore, make sure it is persistent.Svmboot mount check"Failed to find ServiceVM*.vmx"			"Invalid vmx configuration"			"ServiceVM_Centos.iso is not mounted"			"ServiceVM_Centos.iso missing in vmx configuration"
			Make sure /vmfs/volumes/NTNX-local-ds*/*/ServiceVM*.vmx exists, is readable and its contents are valid.Make sure /vmfs/volumes/NTNX-local-ds-XXXXXXX-A/ServiceVM_Centos/ServiceVM_Centos.iso is present in the CVM's .vmx file and is mounted.Make sure ServiceVM_Centos.iso is checked to start connected.Make sure the local datastore name is not changed to a non-default from NTNX-local-ds*.(non-configurable vSphere components)Rename ESXi local datastore name to default format of NTNX-local-ds* from vCenter server and run the check again.Make sure references to files ide0:0.fileName = "ServiceVM_Centos.iso" and serial0.fileName="ServiceVM_Centos.0.out" are not showing a full path like 				ide0:0.fileName = "/vmfs/volumes/5a3a73f2-59cb5028-8a34-0cc47a9bc41e/ServiceVM_Centos/ServiceVM_Centos.iso" , only the files should appear.Make sure memsize and shed.mem.minsize are not using a capital S at the 'size' word.
			

Do not restart the host or trigger any rolling reboot activity like CVM Memory upgrade or AOS upgrade until the check passes or Nutanix Support confirms that a restart will not cause any problem with the CVM bootup.

In case the above-mentioned steps do not resolve the issue, consider engaging Nutanix Support.. ### Human: Now explain this as a Nutanix support agent summarizing the answer step by step. In case, you don't know the answer say - I don't know.