> On May 19, 2016, 10:20 a.m., Nate Cole wrote: > > ambari-server/src/main/java/org/apache/ambari/server/stack/StackManager.java, > > line 298 > > <https://reviews.apache.org/r/47018/diff/2/?file=1387113#file1387113line298> > > > > Make a constant or read it from XML (if you define XSD location within > > XML) > > Dmitro Lisnichenko wrote: > Defining relative path to xsd location withing xml works, but is not > applicable for all cases. There are few troubles (path would be different for > files within stacks/ and common-services/ dirs, and also Idea when running > unit tests fails to resolve relative path like > "../../../../../../property-schema.xsd" and falls back to > /property-schema.xsd . So I decided to go further with explicit validator > > Nate Cole wrote: > You wouldn't define a relative path, you would use just the name of the > XSD and use code to load that file as a stream. See > VersionDefinitionXml.load(InputStream) to see how we enforce XSD on a version > definition file out of the 'resources' directory. Works for production > (a-s/src/main/resources) and test (a-s/src/test/resources) code.
The code on the stack side for this would be changed for the unmarshaller in ConfigurationDirectory.parsePath() to use this strategy. - Nate ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/47018/#review133941 ----------------------------------------------------------- On May 24, 2016, 12:11 p.m., Dmitro Lisnichenko wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/47018/ > ----------------------------------------------------------- > > (Updated May 24, 2016, 12:11 p.m.) > > > Review request for Ambari, Alejandro Fernandez, Jonathan Hurley, Nate Cole, > and Sumit Mohanty. > > > Bugs: AMBARI-16272 > https://issues.apache.org/jira/browse/AMBARI-16272 > > > Repository: ambari > > > Description > ------- > > Today, "ambari-server upgrade" will automatically add stack configs. > However, it also causes problems when default properties or properties with > default value such as "localhost" end up being added. > > This led to many bugs. E.g., cluster with NameNode HA shouldn't automatically > add dfs.namenode.secondary.http-address > > This logic today will even add new config types. E.g., add ranger-env even > though Ranger is not installed. If the customer then upgrades the stack from > HDP 2.2 to 2.3, and then adds Ranger, they can get the wrong configs. > If we change this behavior, it's good to do so in a major release such as 2.4 > > We add required xml tags/attributes to properties: > <property> > <name>prop_name</name> > <value>prop_val</value> > <on-ambari-upgrade add="false" change="true" delete="true"/> > <on-stack-upgrade add="true" change="true" delete="false"/> > </property> > > > Diffs > ----- > > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java > fb3ae69 > > ambari-server/src/main/java/org/apache/ambari/server/stack/StackManager.java > 8a352bd > > ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java > 854dd0b > > ambari-server/src/main/java/org/apache/ambari/server/state/PropertyInfo.java > 34b3ba1 > > ambari-server/src/main/java/org/apache/ambari/server/state/PropertyUpgradeBehavior.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java > 2e857ed > > ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hdfs-log4j.xml > 6038de0 > ambari-server/src/main/resources/property-schema.xsd PRE-CREATION > > ambari-server/src/main/resources/stacks/HDP/2.1/services/HDFS/configuration/hdfs-site.xml > d112137 > > ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hdfs-site.xml > 3a94b1c > > ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderHDP22Test.java > a4a3108 > > ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java > 8f53f6a > > ambari-server/src/test/java/org/apache/ambari/server/state/PropertyInfoTest.java > b11c5d8 > > ambari-server/src/test/java/org/apache/ambari/server/state/ServicePropertiesTest.java > PRE-CREATION > script.sh PRE-CREATION > > Diff: https://reviews.apache.org/r/47018/diff/ > > > Testing > ------- > > patch preview for now. Feedback is welcome > > > Thanks, > > Dmitro Lisnichenko > >