/** * This makes a copy without the nested content -so is suitable * for returning as part of the list of a parent's values * @return the copy */ public PublishedConfiguration shallowCopy() { PublishedConfiguration that = new PublishedConfiguration(); that.description = this.description; that.updated = this.updated; that.updatedTime = this.updatedTime; return that; }
/** * This makes a copy without the nested content -so is suitable * for returning as part of the list of a parent's values * @return the copy */ public PublishedConfiguration shallowCopy() { PublishedConfiguration that = new PublishedConfiguration(); that.description = this.description; that.updated = this.updated; that.updatedTime = this.updatedTime; return that; }
/** * Publish a named property bag that may contain name-value pairs for app configurations such as hbase-site * * @param name * @param description * @param entries */ protected void publishApplicationInstanceData(String name, String description, Iterable<Map.Entry<String, String>> entries) { PublishedConfiguration pubconf = new PublishedConfiguration(); pubconf.description = description; pubconf.putValues(entries); log.info("publishing {}", pubconf); getAmState().getPublishedSliderConfigurations().put(name, pubconf); }
/** * Publish a named property bag that may contain name-value pairs for app configurations such as hbase-site * * @param name * @param description * @param entries */ protected void publishApplicationInstanceData(String name, String description, Iterable<Map.Entry<String, String>> entries) { PublishedConfiguration pubconf = new PublishedConfiguration(); pubconf.description = description; pubconf.putValues(entries); log.info("publishing {}", pubconf); getAmState().getPublishedSliderConfigurations().put(name, pubconf); }
private synchronized void createConfigFile(SliderFileSystem fileSystem, File file, ConfigFile configFile, Map<String, String> config) throws IOException { ConfigFormat configFormat = ConfigFormat.resolve(configFile.getType()); if (file.exists()) { log.info("Skipping writing {} file {} because it already exists", configFormat, file); return; } log.info("Writing {} file {}", configFormat, file); ConfigUtils.prepConfigForTemplateOutputter(configFormat, config, fileSystem, getClusterName(), file.getName()); PublishedConfiguration publishedConfiguration = new PublishedConfiguration(configFile.getDictionaryName(), config.entrySet()); PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(configFormat, publishedConfiguration); configurationOutputter.save(file); }
private synchronized void createConfigFile(SliderFileSystem fileSystem, File file, ConfigFile configFile, Map<String, String> config) throws IOException { ConfigFormat configFormat = ConfigFormat.resolve(configFile.getType()); if (file.exists()) { log.info("Skipping writing {} file {} because it already exists", configFormat, file); return; } log.info("Writing {} file {}", configFormat, file); ConfigUtils.prepConfigForTemplateOutputter(configFormat, config, fileSystem, getClusterName(), file.getName()); PublishedConfiguration publishedConfiguration = new PublishedConfiguration(configFile.getDictionaryName(), config.entrySet()); PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(configFormat, publishedConfiguration); configurationOutputter.save(file); }
@Test public void testEnv() throws IOException { HashMap<String, String> envConfig = new HashMap<>(config); envConfig.put("content", "content {{key1}} "); PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.ENV, new PublishedConfiguration("description", envConfig.entrySet())); String output = configurationOutputter.asString(); assert "content val1 ".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); assert "content val1 ".equals(FileUtils.readFileToString(file, Charsets.UTF_8)); }
@Test public void testJson() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.JSON, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert "{\"key1\":\"val1\"}".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); ObjectMapper mapper = new ObjectMapper(); Map<String, String> read = mapper.readValue(file, Map.class); assert 1 == read.size(); assert "val1".equals(read.get("key1")); }
@Test public void testJson() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.JSON, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert "{\"key1\":\"val1\"}".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); ObjectMapper mapper = new ObjectMapper(); Map<String, String> read = mapper.readValue(file, Map.class); assert 1 == read.size(); assert "val1".equals(read.get("key1")); }
@Test public void testHadoopXml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.HADOOP_XML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert output.contains("<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); File file = tmpDir.newFile(); configurationOutputter.save(file); assert FileUtils.readFileToString(file, Charsets.UTF_8) .replaceAll("( |\\r|\\n)", "") .contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); }
@Test public void testHadoopXml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.HADOOP_XML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert output.contains("<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); File file = tmpDir.newFile(); configurationOutputter.save(file); assert FileUtils.readFileToString(file, Charsets.UTF_8) .replaceAll("( |\\r|\\n)", "") .contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); }
@Test public void testXml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.XML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert output.contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); File file = tmpDir.newFile(); configurationOutputter.save(file); assert FileUtils.readFileToString(file, Charsets.UTF_8) .replaceAll("( |\\r|\\n)", "") .contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); }
@Test public void testProperties() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.PROPERTIES, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString(); assert output.contains("key1=val1"); File file = tmpDir.newFile(); configurationOutputter.save(file); Properties properties = new Properties(); FileInputStream fis = null; try { fis = new FileInputStream(file); properties.load(fis); } finally { if (fis != null) { fis.close(); } } assert 1 == properties.size(); assert "val1".equals(properties.getProperty("key1")); }
@Test public void testEnv() throws IOException { HashMap<String, String> envConfig = new HashMap<>(config); envConfig.put("content", "content {{key1}} "); PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.ENV, new PublishedConfiguration("description", envConfig.entrySet())); String output = configurationOutputter.asString(); assert "content val1 ".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); assert "content val1 ".equals(FileUtils.readFileToString(file, Charsets.UTF_8)); }
@Test public void testXml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.XML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("( |\\r|\\n)", ""); assert output.contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); File file = tmpDir.newFile(); configurationOutputter.save(file); assert FileUtils.readFileToString(file, Charsets.UTF_8) .replaceAll("( |\\r|\\n)", "") .contains( "<configuration><property><name>key1</name><value>val1</value><source/></property></configuration>"); }
@Test public void testYaml() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.YAML, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString().replaceAll("(\\r|\\n)", ""); assert "key1: val1".equals(output); File file = tmpDir.newFile(); configurationOutputter.save(file); Yaml yaml = new Yaml(); FileInputStream fis = null; Map<String, String> read; try { fis = new FileInputStream(file); read = (Map<String, String>) yaml.load(fis); } finally { if (fis != null) { fis.close(); } } assert 1 == read.size(); assert "val1".equals(read.get("key1")); }
@Test public void testProperties() throws IOException { PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.PROPERTIES, new PublishedConfiguration("description", config.entrySet())); String output = configurationOutputter.asString(); assert output.contains("key1=val1"); File file = tmpDir.newFile(); configurationOutputter.save(file); Properties properties = new Properties(); FileInputStream fis = null; try { fis = new FileInputStream(file); properties.load(fis); } finally { if (fis != null) { fis.close(); } } assert 1 == properties.size(); assert "val1".equals(properties.getProperty("key1")); }
private void registerHBaseServiceEntry() throws IOException { String name = amState.getApplicationName() ; ServiceRecord serviceRecord = new ServiceRecord(); // bond lifespan to the application serviceRecord.set(YarnRegistryAttributes.YARN_ID, yarnRegistry.getApplicationAttemptId() .getApplicationId().toString()); serviceRecord.set(YarnRegistryAttributes.YARN_PERSISTENCE, PersistencePolicies.APPLICATION); try { URL configURL = new URL(amWebAPI, SLIDER_PATH_PUBLISHER + "/" + HBASE_SERVICE_TYPE); serviceRecord.addExternalEndpoint( RegistryTypeUtils.restEndpoint( CustomRegistryConstants.PUBLISHER_CONFIGURATIONS_API, configURL.toURI())); } catch (URISyntaxException e) { log.warn("failed to create config URL: {}", e, e); } log.info("registering {}/{}", name, HBASE_SERVICE_TYPE); yarnRegistry.putService(HBASE_SERVICE_TYPE, name, serviceRecord, true); PublishedConfiguration publishedSite = new PublishedConfiguration("HBase site", siteConf); PublishedConfigSet configSet = amState.getOrCreatePublishedConfigSet(HBASE_SERVICE_TYPE); configSet.put(HBASE_SITE_PUBLISHED_CONFIG, publishedSite); }
PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.TEMPLATE, new PublishedConfiguration("description", templateConfig.entrySet()));
PublishedConfigurationOutputter configurationOutputter = PublishedConfigurationOutputter.createOutputter(ConfigFormat.TEMPLATE, new PublishedConfiguration("description", templateConfig.entrySet()));