> On March 24, 2015, 1:52 p.m., Alejandro Fernandez wrote: > > ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py, > > line 288 > > <https://reviews.apache.org/r/32414/diff/1/?file=903411#file903411line288> > > > > Should these be added to Script.py or another class, in case other > > services also want to inherit it? > > Tom Beerbower wrote: > Thanks for the review! > > This makes sense. It really shouldn't be tied to a single service. > > Maybe one issue with moving it... The current code accesses some params > defined in the HDFS params.py. > > > def create_topology_mapping(): > import params > > # placing the mappings file in the same folder where the topology > script is located > File(params.net_topology_mapping_data_file_path, > content=Template("topology_mappings.data.j2"), > owner=params.hdfs_user, > group=params.user_group > ) > > If this code is moved to a common script, where do the params come from? > > Alejandro Fernandez wrote: > I'm ok with it as it, as long as a future patch moves it to a shared > class. I know Script.py has some issues with circular dependencies that are > kinda ugly right now. > > Tom Beerbower wrote: > Yeah, I'm looking at that now. Unfortunately I can't leave it as is. As > Nate pointed out, this patch will only update the topology mapping on the > host that is running NN. It needs to be done on any host running a service > that is rack sensitive. So, I need to move it to a common place and have it > run on start/restart. > > Thanks.
When you call this functionality, you would have to pass in the values from params.py. Maybe path + file + template contents or something. - Nate ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32414/#review77604 ----------------------------------------------------------- On March 23, 2015, 4:35 p.m., Tom Beerbower wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/32414/ > ----------------------------------------------------------- > > (Updated March 23, 2015, 4:35 p.m.) > > > Review request for Ambari, Jonathan Hurley, John Speidel, and Nate Cole. > > > Bugs: AMBARI-6466 > https://issues.apache.org/jira/browse/AMBARI-6466 > > > Repository: ambari > > > Description > ------- > > 1. Generate topology script used by Hadoop to determine the rack location of > nodes. > 2. Update core-site.xml to point to script. > 3. Provide mechanism for marking services that need restart when host rack > info changes. > 4. React to host resource rack changes to ... > a. mark services needing restart. > b. update host/rack data for topology script > > > Diffs > ----- > > ambari-agent/src/main/python/ambari_agent/CustomServiceOrchestrator.py > 8c21503 > > ambari-server/src/main/java/org/apache/ambari/server/api/services/AmbariMetaInfo.java > 982f10f > > ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java > 6d35a36 > > ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java > 98390fd > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java > 3a359e5 > > ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java > ab1ede5 > ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java > 939a496 > ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java > de84f35 > > ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/core-site.xml > c0cd6b3 > > ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metainfo.xml > 916d9b0 > > ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/files/topology_script.py > PRE-CREATION > > ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py > 615dd54 > > ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/params.py > d20e8e0 > > ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/templates/topology_mappings.data.j2 > PRE-CREATION > > ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/metainfo.xml > 974165c > > ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java > 8f7c199 > > ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java > 208218c > > ambari-server/src/test/java/org/apache/ambari/server/state/ServiceInfoTest.java > PRE-CREATION > ambari-server/src/test/python/stacks/2.0.6/HDFS/test_namenode.py 1919958 > ambari-server/src/test/python/stacks/2.0.6/configs/default.json d1701bd > > ambari-server/src/test/python/stacks/2.0.6/configs/ha_bootstrap_active_node.json > b3e61bc > > ambari-server/src/test/python/stacks/2.0.6/configs/ha_bootstrap_standby_node.json > 4bbb0f5 > ambari-server/src/test/python/stacks/2.0.6/configs/ha_default.json 652ca7b > ambari-server/src/test/python/stacks/2.0.6/configs/ha_secured.json 6c06f35 > ambari-server/src/test/python/stacks/2.0.6/configs/secured.json b0b0c04 > > ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HDFS/metainfo.xml > 69f13e9 > > Diff: https://reviews.apache.org/r/32414/diff/ > > > Testing > ------- > > Manual testing to verify that topology script is configured and available, > services (HDFS, MAPRED2) are marked for restart when a change is made to host > rack information, and topology script can be invoked to get updated rack > information. > > New unit tests added. > > All unit tests pass. > > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 33:36 min > [INFO] Finished at: 2015-03-23T15:47:10-04:00 > [INFO] Final Memory: 43M/600M > [INFO] > ------------------------------------------------------------------------ > > > Thanks, > > Tom Beerbower > >
