try {
String aaf_url = access.getProperty(Config.AAF_URL, null);
if(aaf_url==null) {
- RegistrationPropHolder rph = new RegistrationPropHolder(access,0);
- aaf_url = rph.replacements(getClass().getSimpleName(),"https://"+Config.AAF_LOCATE_URL_TAG+"/%NS."+name, null,null);
+ aaf_url = "https://"+Config.AAF_LOCATE_URL_TAG+"/%NS."+name;
}
- //access.getProperty("/locate/"+name+':'+version;
+ RegistrationPropHolder rph = new RegistrationPropHolder(access,0);
+ aaf_url = rph.replacements(getClass().getSimpleName(),aaf_url, null,null);
access.printf(Level.INIT,"Creating DirectAAFLocator to %s",aaf_url);
uri = new URI(aaf_url);
} catch (URISyntaxException | UnknownHostException | CadiException e) {
CachingFileAccess<AuthzTrans> cfa = new CachingFileAccess<AuthzTrans>(env);
route(env,GET,"/:key*", cfa);
- final String aaf_locate_url = access.getProperty(Config.AAF_LOCATE_URL, null);
+ final String aaf_locate_url = Config.getAAFLocateUrl(access);
if (aaf_locate_url == null) {
access.printf(Level.WARN, "Redirection requires property %s",Config.AAF_LOCATE_URL);
} else {
});
hgen.html();
final String title = env.getProperty(AAF_GUI_TITLE,"Authentication/Authorization Framework");
- final String defaultTheme = env.get(sTheme);
+ final String defaultTheme = env.get(sTheme,"onap");
final Holder<String> hTheme = new Holder<>(defaultTheme);
Mark head = hgen.head();
cache.dynamic(hgen, new DynamicCode<HTMLGen,AAF_GUI,AuthzTrans>() {
@Override
public void code(AAF_GUI state, AuthzTrans trans,Cache<HTMLGen> cache, HTMLGen xgen) throws APIException, IOException {
- Properties props = themeProps.get(hTheme.get());
+ Properties props = themeProps==null?null:themeProps.get(hTheme.get());
if(props!=null && "TRUE".equalsIgnoreCase(props.getProperty("main_menu_in_nav"))) {
xgen.incr("h2").text("Navigation").end();
Mark mark = new Mark();
#
. ./d.props
-${DOCKER:=docker} exec -it aaf-$1 bash
+${DOCKER:=docker} exec -it aaf-$1 bash -c "cd /opt/app/osaaf/logs && exec bash"
##
cadi_prop_files=/opt/app/osaaf/local/org.osaaf.aaf.props:/opt/app/osaaf/etc/org.osaaf.aaf.log4j.props:/opt/app/osaaf/local/org.osaaf.aaf.cassandra.props:/opt/app/osaaf/etc/org.osaaf.aaf.orgs.props:/opt/app/osaaf/local/org.osaaf.aaf.cm.ca.props
aaf_locator_entries=cm
+aaf_locator_protocol=https
port=8150
aaf_locator_public_port.helm=30084
aaf_locator_public_port.oom=31114
##
cadi_prop_files=/opt/app/osaaf/local/org.osaaf.aaf.props:/opt/app/osaaf/etc/org.osaaf.aaf.log4j.props
aaf_locator_entries=fs
+aaf_locator_protocol=http
port=8096
aaf_locator_public_port.helm=30085
aaf_locator_public_port.oom=31115
##
cadi_prop_files=/opt/app/osaaf/local/org.osaaf.aaf.props:/opt/app/osaaf/etc/org.osaaf.aaf.log4j.props:/opt/app/osaaf/etc/org.osaaf.aaf.orgs.props
aaf_locator_entries=gui
+aaf_locator_protocol=https
port=8200
aaf_locator_public_port.helm=30083
aaf_locator_public_port.oom=31113
aaf_gui_title=AAF
aaf_gui_copyright=(c) 2018 AT&T Intellectual Property. All rights reserved.
-aaf_gui_theme=theme/onap
+aaf_gui_theme=onap
cadi_loginpage_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.gui:2.0/login
# GUI URLS and Help URLS
##
cadi_prop_files=/opt/app/osaaf/local/org.osaaf.aaf.props:/opt/app/osaaf/etc/org.osaaf.aaf.log4j.props
aaf_locator_entries=hello
+aaf_locator_protocol=https
port=8130
aaf_locator_public_port.helm=30086
aaf_locator_public_port.oom=31116
##
cadi_prop_files=/opt/app/osaaf/local/org.osaaf.aaf.props:/opt/app/osaaf/etc/org.osaaf.aaf.log4j.props:/opt/app/osaaf/etc/org.osaaf.aaf.orgs.props:/opt/app/osaaf/local/org.osaaf.aaf.cassandra.props
aaf_locator_entries=locate
+aaf_locator_protocol=https
port=8095
aaf_locator_public_port.helm=30081
aaf_locator_public_port.oom=31111
aaf_locator_entries=oauth,token,introspect
aaf_locator_fqdn.helm=aaf-oauth.%CNS
aaf_locator_fqdn.oom=aaf-oauth.%CNS
+aaf_locator_protocol=https
port=8140
aaf_locator_public_port.helm=30082
aaf_locator_public_port.oom=31112
##
cadi_prop_files=/opt/app/osaaf/local/org.osaaf.aaf.props:/opt/app/osaaf/etc/org.osaaf.aaf.log4j.props:/opt/app/osaaf/local/org.osaaf.aaf.cassandra.props:/opt/app/osaaf/etc/org.osaaf.aaf.orgs.props
aaf_locator_entries=service
+aaf_locator_protocol=https
port=8100
aaf_locator_public_port.helm=30080
aaf_locator_public_port.oom=31110
# 3) Helm (Kubernetes and Helm)\r
# 4) OOM (Kubernetes with OOM)\r
################################\r
+aaf_locate_url.docker=https://aaf-locate:8095\r
+aaf_locate_url.helm=https://aaf-locate.%CNS:8095\r
+aaf_locate_url.oom=https://aaf-locate.%CNS:8095\r
+\r
aaf_locator_app_ns=%AAF_NS\r
aaf_locator_name=%NS.%N\r
aaf_locator_name.docker=%CNS.%NS.%N\r
aaf_root_ns=org.osaaf.aaf\r
\r
-# Dublin\r
-aaf_locator_name.oom=%NS.%N\r
-aaf_locator_name.helm=%NS.%N\r
-aaf_locator_public_name.oom=public.%NS.%N\r
-aaf_locator_public_name.helm=public.%NS.%N\r
-\r
# EL Alto and beyond\r
-# aaf_locator_name.oom=%CNS.%NS.%N\r
-# aaf_locator_name.helm=%CNS.%NS.%N\r
+aaf_locator_name.docker=%CNS.%NS.%N\r
+aaf_locator_name.oom=%CNS.%NS.%N\r
+aaf_locator_name.helm=%CNS.%NS.%N\r
\r
aaf_locator_fqdn.docker=aaf-%N\r
aaf_locator_fqdn.helm=aaf-%N.%CNS\r
lhost=Config.AAF_LOCATE_URL_TAG;
}
String value = rph.replacements("Agent:loadURLs",
- proto + lhost + "/AAF_NS." + ("aaf".equals(u)?"service":u) + ':' + version,
+ proto + lhost + "/%CNS.%AAF_NS." + ("aaf".equals(u)?"service":u) + ':' + version,
null,dot_le);
switch(u) {
case "aaf": rv.put(Config.AAF_URL, value); break;
- case "locate": rv.put(Config.AAF_LOCATE_URL, value); break;
+ case "locate": rv.put(Config.getAAFLocateUrl(access), value); break;
case "token": rv.put(Config.AAF_OAUTH2_TOKEN_URL, value); break;
case "introspect": rv.put(Config.AAF_OAUTH2_INTROSPECT_URL, value); break;
case "cm": rv.put(Config.AAF_URL_CM, value); break;
app.add(es.getKey(), es.getValue());
}
- app.add(Config.AAF_LOCATE_URL, propAccess, null);
+ app.add(Config.AAF_LOCATE_URL, Config.getAAFLocateUrl(propAccess));
app.add(Config.AAF_ENV,propAccess, "DEV");
String release = propAccess.getProperty(Config.AAF_RELEASE);
if(release!=null) {
try {
String dot_le;
String version=null;
+ String defProtocol="https";
RegistrationPropHolder ph = new RegistrationPropHolder(access, port);
defData = locate = new MgmtEndpoint();
version = access.getProperty(Config.AAF_LOCATOR_VERSION, Defaults.AAF_VERSION);
- locate.setProtocol(access.getProperty(Config.AAF_LOCATOR_PROTOCOL,null));
+ locate.setProtocol(defProtocol = access.getProperty(Config.AAF_LOCATOR_PROTOCOL,defProtocol));
List<String> ls = locate.getSubprotocol();
for(String sp : Split.splitTrim(',', access.getProperty(Config.AAF_LOCATOR_SUBPROTOCOL,""))) {
ls.add(sp);
locate.setMajor(split.length>0?Integer.parseInt(split[0]):0);
}
- String protocol = access.getProperty(Config.AAF_LOCATOR_PROTOCOL + dot_le, null);
+ String protocol = access.getProperty(Config.AAF_LOCATOR_PROTOCOL + dot_le, defProtocol);
if (protocol!=null) {
locate.setProtocol(protocol);
List<String> ls = locate.getSubprotocol();
import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URISyntaxException;
+import java.net.UnknownHostException;
import org.onap.aaf.cadi.Access;
import org.onap.aaf.cadi.Access.Level;
import org.onap.aaf.cadi.client.Rcli;
import org.onap.aaf.cadi.client.Result;
import org.onap.aaf.cadi.config.Config;
+import org.onap.aaf.cadi.config.RegistrationPropHolder;
import org.onap.aaf.cadi.locator.PropertyLocator;
import org.onap.aaf.cadi.locator.SingleEndpointLocator;
import org.onap.aaf.misc.env.APIException;
} else {
// Note: want Property Locator or Single, not AAFLocator, because we want the core service, not what it can find
try {
+ RegistrationPropHolder rph = new RegistrationPropHolder(access, 0);
+ aaf_locate = rph.replacements(getClass().getSimpleName(),aaf_locate, null,null);
if (aaf_locate.indexOf(',')>=0) {
locator = new PropertyLocator(aaf_locate);
} else {
locator = new SingleEndpointLocator(aaf_locate);
}
- } catch (URISyntaxException e) {
+ } catch (URISyntaxException | UnknownHostException e) {
throw new CadiException(e);
}
}
err.append("-D" + Config.AAF_APPPASS + "=<passwd> ");
}
- String locateUrl = access.getProperty(Config.AAF_LOCATE_URL);
+ String locateUrl = Config.getAAFLocateUrl(access);
if (locateUrl==null) {
locateUrl=AAFSSO.cons.readLine("AAF Locator URL=https://");
if (locateUrl==null || locateUrl.length()==0) {
assertEquals(0,me.getPatch());
assertEquals(0,me.getPkg());
assertEquals(entry,me.getName());
- assertEquals(null,me.getProtocol());
+ assertEquals("https",me.getProtocol());
assertEquals(0,me.getSpecialPorts().size());
}
public static final String AAF_ROOT_NS = "aaf_root_ns";
public static final String AAF_ROOT_NS_DEF = "org.osaaf.aaf";
public static final String AAF_ROOT_COMPANY = "aaf_root_company";
+ /**
+ * Use Config.getAAFLocateUrl(access) to get correct property in/out of container
+ */
public static final String AAF_LOCATE_URL = "aaf_locate_url"; //URL for AAF locator
public static final String AAF_LOCATE_URL_TAG = "AAF_LOCATE_URL"; // Name of Above for use in Config Variables.
public static final String AAF_DEFAULT_API_VERSION = "2.1";
}
access.log(Level.INIT, sb);
- Locator<URI> locator = loadLocator(si, logProp(rph, AAF_LOCATE_URL, null));
+ Locator<URI> locator = loadLocator(si, logProp(rph, Config.getAAFLocateUrl(access), null));
taf = new HttpEpiTaf(access,locator, tc, htarray); // ok to pass locator == null
String level = logProp(access, CADI_LOGLEVEL, null);
public static String getDefaultRealm() {
return defaultRealm;
}
+
+ public static String getAAFLocateUrl(Access access) {
+ String rv = null;
+ String cont = access.getProperty(AAF_LOCATOR_CONTAINER,null);
+ if(cont!=null) {
+ rv = access.getProperty(AAF_LOCATE_URL + '.' +cont, null);
+ }
+ if(rv==null) {
+ rv = access.getProperty(AAF_LOCATE_URL, null);
+ }
+ return rv;
+ }
private static class Priori<T> implements Comparable<Priori<T>> {
public final T t;