Symptoms
When attempting to create a SharePoint Content Service Instance off of a root SharePoint site we get the following error and the service instance does not get created:
Error creating Service Instance from Sharepoint 2013 - VALIDATION There are no addresses available for this application.
We can create service instances for various other site collections and then successfully create smartobjects off of those service instances.
Diagnoses
We tested creating this service instance via our Dev and Prod K2 server with different SharePoint site for each. Upon testing this particular service instance creation on Production we instead got this error:
VALIDATIONEntity (External Content Type) cannot be found with namespace = "https://company.sharepoint.com', Name = 'External_List'.
After getting this error we examined the external list that had the name included in this error, 'External_List'. This external list was a part of the site collection on the root of the site that we were trying to create a service instance off of. When we opened this external list we got the same above error that we saw when attempting to create the service instance in the SmartObject Tester tool. The external list did not load, we learned that this list used to connect to an Oracle DB instance and pull back data, this was no longer being used. We checked this list on the Dev Site that we were initially investigating and found that opening this external list here threw the same error "VALIDATION There are no addresses available for this application". We then concluded that the error we were getting was directly associated to this broken list.
Resolution
We confirmed that this external list was no longer being used and was safe to delete. After deleting the external list that was erroring out we then went back to our SmartObject Service Tester tool and attempted to create this SharePoint Content Service again. This time it created without the error. Smartobjects were created off of this service instance successfully and we could begin using them on forms.
Conclusion that we can make is that if there is an error on one of the lists in this site collection, K2 will surface it and not allow a service instance to be created until that broken list or library is dealt with. To better handle these errors we created a feature request to better specify where this error is coming from instead of just showing the error itself to the user without context on where to be searching.