You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by af...@apache.org on 2016/03/08 20:08:24 UTC
reef git commit: [REEF-1241] Configurations in ConfigurationProviders
was dropped from JobSubmissionBuilder
Repository: reef
Updated Branches:
refs/heads/master e23b4ae43 -> 436496569
[REEF-1241] Configurations in ConfigurationProviders was dropped from JobSubmissionBuilder
Add Configurations in ConfigurationProviders to driver configuration
Add test cases
JIRA: [REEF-1241](https://issues.apache.org/jira/browse/REEF-1241)
Pull Request:
Closes #880
Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/43649656
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/43649656
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/43649656
Branch: refs/heads/master
Commit: 43649656990b358183751715befb4b4d037bb4bc
Parents: e23b4ae
Author: Julia Wang <ju...@microsoft.com>
Authored: Tue Mar 8 10:06:03 2016 -0800
Committer: Andrew Chung <af...@gmail.com>
Committed: Tue Mar 8 11:08:03 2016 -0800
----------------------------------------------------------------------
.../JobRequestBuilderTests.cs | 72 ++++++++++++++++++++
.../Org.Apache.REEF.Client.Tests.csproj | 5 ++
.../API/AppParametersBuilder.cs | 4 ++
3 files changed, 81 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/reef/blob/43649656/lang/cs/Org.Apache.REEF.Client.Tests/JobRequestBuilderTests.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Client.Tests/JobRequestBuilderTests.cs b/lang/cs/Org.Apache.REEF.Client.Tests/JobRequestBuilderTests.cs
new file mode 100644
index 0000000..d47d0f4
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Client.Tests/JobRequestBuilderTests.cs
@@ -0,0 +1,72 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+using System.Linq;
+using Org.Apache.REEF.Client.API;
+using Org.Apache.REEF.Tang.Implementations.Configuration;
+using Org.Apache.REEF.Tang.Implementations.Tang;
+using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Tang.Util;
+using Org.Apache.REEF.Wake.Remote.Parameters;
+using Xunit;
+
+namespace Org.Apache.REEF.Client.Tests
+{
+ public class JobRequestBuilderTests
+ {
+ /// <summary>
+ /// This is to test the configurations set from the provider are added to driver configuration through jobRequestBuilder
+ /// </summary>
+ [Fact]
+ public void TestTcpProvider()
+ {
+ IConfiguration tcpPortConfig = TcpPortConfigurationModule.ConfigurationModule
+ .Set(TcpPortConfigurationModule.PortRangeStart, "2000")
+ .Set(TcpPortConfigurationModule.PortRangeCount, "20")
+ .Build();
+
+ var injector = TangFactory.GetTang().NewInjector(tcpPortConfig);
+ var jobRequestBuilder = injector.GetInstance<JobRequestBuilder>();
+ var jobRequest = jobRequestBuilder.Build();
+ var driverConfig = jobRequest.AppParameters.DriverConfigurations;
+
+ var injector2 = TangFactory.GetTang().NewInjector(Configurations.Merge(driverConfig.ToArray()));
+ var portStart = injector2.GetNamedInstance<TcpPortRangeStart, int>(GenericType<TcpPortRangeStart>.Class);
+ var portRange = injector2.GetNamedInstance<TcpPortRangeCount, int>(GenericType<TcpPortRangeCount>.Class);
+ Assert.Equal(portStart, 2000);
+ Assert.Equal(portRange, 20);
+ }
+
+ /// <summary>
+ /// This is to test the defaul configuration is used without provider
+ /// </summary>
+ [Fact]
+ public void TestTcpDefaultWithoutProvider()
+ {
+ var injector = TangFactory.GetTang().NewInjector();
+ var jobRequestBuilder = injector.GetInstance<JobRequestBuilder>();
+ var jobRequest = jobRequestBuilder.Build();
+ var driverConfig = jobRequest.AppParameters.DriverConfigurations;
+
+ var injector2 = TangFactory.GetTang().NewInjector(Configurations.Merge(driverConfig.ToArray()));
+ var portStart = injector2.GetNamedInstance<TcpPortRangeStart, int>(GenericType<TcpPortRangeStart>.Class);
+ var portRange = injector2.GetNamedInstance<TcpPortRangeCount, int>(GenericType<TcpPortRangeCount>.Class);
+ Assert.Equal(portStart, 8900);
+ Assert.Equal(portRange, 1000);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/reef/blob/43649656/lang/cs/Org.Apache.REEF.Client.Tests/Org.Apache.REEF.Client.Tests.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Client.Tests/Org.Apache.REEF.Client.Tests.csproj b/lang/cs/Org.Apache.REEF.Client.Tests/Org.Apache.REEF.Client.Tests.csproj
index 5888681..1d9e18a 100644
--- a/lang/cs/Org.Apache.REEF.Client.Tests/Org.Apache.REEF.Client.Tests.csproj
+++ b/lang/cs/Org.Apache.REEF.Client.Tests/Org.Apache.REEF.Client.Tests.csproj
@@ -49,6 +49,7 @@ under the License.
</ItemGroup>
<ItemGroup>
<Compile Include="HDInsightYarnClientTests.cs" />
+ <Compile Include="JobRequestBuilderTests.cs" />
<Compile Include="JobResourceUploaderTests.cs" />
<Compile Include="LegacyJobResourceUploaderTests.cs" />
<Compile Include="MultipleRMUrlProviderTests.cs" />
@@ -81,6 +82,10 @@ under the License.
<Project>{A6BAA2A7-F52F-4329-884E-1BCF711D6805}</Project>
<Name>Org.Apache.REEF.Driver</Name>
</ProjectReference>
+ <ProjectReference Include="..\Org.Apache.REEF.Wake\Org.Apache.REEF.Wake.csproj">
+ <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
+ <Name>Org.Apache.REEF.Wake</Name>
+ </ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
http://git-wip-us.apache.org/repos/asf/reef/blob/43649656/lang/cs/Org.Apache.REEF.Client/API/AppParametersBuilder.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Client/API/AppParametersBuilder.cs b/lang/cs/Org.Apache.REEF.Client/API/AppParametersBuilder.cs
index 0b12c5e..c81f004 100644
--- a/lang/cs/Org.Apache.REEF.Client/API/AppParametersBuilder.cs
+++ b/lang/cs/Org.Apache.REEF.Client/API/AppParametersBuilder.cs
@@ -154,6 +154,10 @@ namespace Org.Apache.REEF.Client.API
/// </summary>
public AppParameters Build()
{
+ foreach (var conf in _configurationProviders)
+ {
+ _driverConfigurations.Add(conf.GetConfiguration());
+ }
return new AppParameters(_driverConfigurations, _globalAssemblies, _globalFiles, _localAssemblies,
_localFiles, _driverConfigurationFileContents);
}