YYYY-MM-DDTHH:MM:SS [main] ERROR opId=sps-Main-484458-470 com.vmware.sps.StorageMain - Exception when running SPS service org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'httpServerEndpoint' defined in class path resource [pbm-spring-config.xml]: Could not resolve placeholder 'pbm.http.port' in value "${pbm.http.port}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'pbm.http.port' in value "${pbm.http.port}"
at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:230) ~[spring-beans-5.3.42.jar:5.3.42]
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:211) ~[spring-beans-5.3.42.jar:5.3.42]
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:86) ~[spring-beans-5.3.42.jar:5.3.42]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:325)~[spring-context-5.3.42.jar:5.3.42]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:183)~[spring-context-5.3.42.jar:5.3.42]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:756) ~[spring-context-5.3.42.jar:5.3.42]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:573) ~[spring-context-5.3.42.jar:5.3.42]
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144) ~[spring-context-5.3.42.jar:5.3.42]
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:109) ~[spring-context-5.3.42.jar:5.3.42]
at com.vmware.vim.storage.common.app.CommonSpringService.createSpringAppContext(CommonSpringService.java:37) ~[storage-commons-1.0.jar:?]
at com.vmware.pbm.app.PbmLocalService.initialize(PbmLocalService.java:147) ~[pbm-1.0.jar:?]
at com.vmware.pbm.app.PbmLocalService.<init>(PbmLocalService.java:128) ~[pbm-1.0.jar:?]
at com.vmware.pbm.app.PbmLocalService.initInstance(PbmLocalService.java:189) ~[pbm-1.0.jar:?]
at com.vmware.sps.StorageMain.loadPbmService(StorageMain.java:210) ~[pbm-1.0.jar:?]
at com.vmware.sps.StorageMain.main(StorageMain.java:66) [pbm-1.0.jar:?]
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'pbm.http.port' in value "${pbm.http.port}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) ~[spring-core-5.3.42.jar:5.3.42]
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) ~[spring-core-5.3.42.jar:5.3.42]
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer$PlaceholderResolvingStringValueResolver.resolveStringValue(PropertyPlaceholderConfigurer.java:230) ~[spring-beans-5.3.42.jar:5.3.42]
at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveStringValue(BeanDefinitionVisitor.java:296) ~[spring-beans-5.3.42.jar:5.3.42]
at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:217) ~[spring-beans-5.3.42.jar:5.3.42]
at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitGenericArgumentValues(BeanDefinitionVisitor.java:165) ~[spring-beans-5.3.42.jar:5.3.42]
at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:90) ~[spring-beans-5.3.42.jar:5.3.42]
at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:227) ~[spring-beans-5.3.42.jar:5.3.42]
vCenter 8.x
This issue occurs due to missing values in /usr/lib/vmware-vpx/sps/conf/pbm.properties file
Note: Ensure there is a valid backup/offline snapshot of the VCSA prior to implementing the workaround. Refer to VMware vCenter in Enhanced Linked Mode pre-changes snapshot (online or offline) best practice.
To resolve the issue, follow these steps:
pbm.properties.upgrade exists in /usr/lib/vmware-vpx/sps/conf./usr/lib/vmware-vpx/sps/conf.mkdir tempcp pbm.properties temp/cp pbm.properties.upgrade temp/mv pbm.properties pbm.properties.bakmv pbm.properties.upgrade pbm.propertiespbm.properties.upgrade is not present, copy the pbm.properties file from a working vCenter to the broken vCenter.service-control --start vmware-sps