Object Storage Extension un-synced configuration, two regions cannot sync from each other
search cancel

Object Storage Extension un-synced configuration, two regions cannot sync from each other

book

Article ID: 372829

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

  • You have two Object Storage Extension (OSE) nodes, each one with one or more region and two VMware Cloud Director (VCD) sites.
  • You need to set up each OSE regions on each VCD site.
  • On one VCD site the regions have been correctly added, while on the second VCD site the region cannot be added.
  • From /opt/vmware/voss/log/ose-default.log you have entry similar the below

YYYY-MM-DD TIME [XNIO-2 task-3] ERROR io.undertow.request - UT005023: Exception handling request to /api/v1/internal/region-endpoints/sync com.vmware.voss.error.VossException: The request comes from region <Region name> which is not in region group.
        at com.vmware.voss.security.OseCertBasedAuthProvider.authenticate(OseCertBasedAuthProvider.java:50)
        at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:182)
        at com.vmware.voss.security.OseCertBasedAuthFilter.doFilterInternal(OseCertBasedAuthFilter.java:65)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
        at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
        at org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:150)
...
 at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
        at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
        at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)

AND

2024-06-23 11:12:12 [ForkJoinPool.commonPool-worker-3] WARN  c.v.v.s.i.region.RegionInfoRetriever - Failed to retrieve information of region <Region name> with endpoint https://ose-node.example. com:8843 org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://ose-node.example.com:8843/api/v1/internal/region-info": Connect to ose-node.example.com:8843 [ose-node.example.com/10.
247.10.176] failed: Connection refused (Connection refused); nested exception is org.apache.http.conn.HttpHostConnectException: Connect to ose-node.example.com:8843 [ose-jed2.egcdr.com/##.##.##.##] failed:
Connection refused (Connection refused)
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:791)
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:757)
        at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:627)
        at com.vmware.voss.client.RestClientBase.exchange(RestClientBase.java:219)
        at com.vmware.voss.client.impl.OseInternalClientImpl.getRegionInfoPrivate(OseInternalClientImpl.java:250)
        at com.vmware.voss.client.impl.OseInternalClientImpl.lambda$getRegionInfo$10(OseInternalClientImpl.java:245)
        at com.vmware.voss.client.impl.OseInternalClientImpl.executeWithAuthRetry(OseInternalClientImpl.java:429)
        at com.vmware.voss.client.impl.OseInternalClientImpl.getRegionInfo(OseInternalClientImpl.java:245)
        at com.vmware.voss.service.impl.region.RegionInfoRetriever.retrieve(RegionInfoRetriever.java:26)
        at com.vmware.voss.service.impl.region.RegionInfoRetriever.retrieve(RegionInfoRetriever.java:11)
        at com.vmware.voss.service.impl.RegionMgmtServiceImpl.lambda$unionResultsFromRegions$13(RegionMgmtServiceImpl.java:555)
...
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to ose-node.example.com:8843 [ose-node.example.com/##.##.##.##] failed: Connection refused (Connection refused)
        at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:156)
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
...
        ... 23 common frames omitted
Caused by: java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

Environment

Object Storage Extension 2.2.3
Object Storage Extension 3.0

Cause

This can happen when the two OSE node are on different versions.

Resolution

Both OSE nodes should be run on the same OSE version.
Also confirm that multisite is configured correctly on both VCD sites and the corresponding org is correctly associated, so the tenant user can successfully authenticate on both two VCDs. 

Additional Information

If the two VCD sites are mutually trusted, and the two regions are configured successfully in the underlying storage clusters, you only need to add region on one OSE server. The 2nd OSE server will automatically accept the other region.