You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by mi...@apache.org on 2017/04/19 21:45:44 UTC
[1/8] incubator-trafficcontrol git commit: updated
deliveryservice_test.go so that capacity comparisons were better and tests
that relied on data from other tests would fail if the data wasn't present
Repository: incubator-trafficcontrol
Updated Branches:
refs/heads/master 12fa7623a -> 4c176109c
updated deliveryservice_test.go so that capacity comparisons were better and tests that relied on data from other tests would fail if the data wasn't present
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/e54b3886
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/e54b3886
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/e54b3886
Branch: refs/heads/master
Commit: e54b388680edf914e0d77de5c80ce9fe87d6436e
Parents: d177bf2
Author: David Neuman <da...@gmail.com>
Authored: Mon Apr 17 13:35:15 2017 -0600
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Wed Apr 19 15:45:00 2017 -0600
----------------------------------------------------------------------
.../tests/integration/deliveryservice_test.go | 40 ++++++++++++++++----
1 file changed, 32 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/e54b3886/traffic_ops/client/tests/integration/deliveryservice_test.go
----------------------------------------------------------------------
diff --git a/traffic_ops/client/tests/integration/deliveryservice_test.go b/traffic_ops/client/tests/integration/deliveryservice_test.go
index 036bb1f..2aefc4d 100644
--- a/traffic_ops/client/tests/integration/deliveryservice_test.go
+++ b/traffic_ops/client/tests/integration/deliveryservice_test.go
@@ -169,14 +169,22 @@ func TestCreateDs(t *testing.T) {
res, err := to.CreateDeliveryService(&testDs)
if err != nil {
t.Error("Failed to create deliveryservice! Error is: ", err)
- } else {
- testDs.ID = res.Response[0].ID
- testDsID = strconv.Itoa(testDs.ID)
- compareDs(testDs, res.Response[0], t)
+ t.FailNow()
+ }
+ if res.Response[0].ID < 1 {
+ t.Error("A DS ID was not returned after DS creation!")
+ t.FailNow()
}
+ testDs.ID = res.Response[0].ID
+ testDsID = strconv.Itoa(testDs.ID)
+ compareDs(testDs, res.Response[0], t)
}
func TestUpdateDs(t *testing.T) {
+ if testDsID == "" {
+ t.Error("testDsID is not defined")
+ t.FailNow()
+ }
testDs.DisplayName = "New Display Name"
testDs.LongDesc += "-- Update"
testDs.LongDesc1 += "-- Update"
@@ -191,6 +199,10 @@ func TestUpdateDs(t *testing.T) {
}
func TestDeliveryService(t *testing.T) {
+ if testDsID == "" {
+ t.Error("testDsID is not defined")
+ t.FailNow()
+ }
uri := fmt.Sprintf("/api/1.2/deliveryservices/%s.json", testDsID)
resp, err := Request(*to, "GET", uri, nil)
if err != nil {
@@ -213,6 +225,10 @@ func TestDeliveryService(t *testing.T) {
//Put this Test after anything using the testDS or testDsID variables
func TestDeleteDeliveryService(t *testing.T) {
+ if testDsID == "" {
+ t.Error("testDsID is not defined")
+ t.FailNow()
+ }
res, err := to.DeleteDeliveryService(testDsID)
if err != nil {
t.Errorf("Could not delete Deliveryserivce %s reponse was: %v\n", testDsID, err)
@@ -337,24 +353,32 @@ func TestDeliveryServiceCapacity(t *testing.T) {
t.Errorf("Could not ge Deliveryserivce Capacity for %s reponse was: %v\n", existingTestDSID, err)
}
- if fmt.Sprintf("%6.5f", apiDsCapacity.AvailablePercent) != fmt.Sprintf("%6.5f", clientDsCapacity.AvailablePercent) {
+ if !compareCapacity(apiDsCapacity.AvailablePercent, clientDsCapacity.AvailablePercent) {
t.Errorf("AvailablePercent -- Expected %v got %v", apiDsCapacity.AvailablePercent, clientDsCapacity.AvailablePercent)
}
- if fmt.Sprintf("%6.5f", apiDsCapacity.MaintenancePercent) != fmt.Sprintf("%6.5f", clientDsCapacity.MaintenancePercent) {
+ if !compareCapacity(apiDsCapacity.MaintenancePercent, clientDsCapacity.MaintenancePercent) {
t.Errorf("MaintenenancePercent -- Expected %v got %v", apiDsCapacity.MaintenancePercent, clientDsCapacity.MaintenancePercent)
}
- if fmt.Sprintf("%6.5f", apiDsCapacity.UnavailablePercent) != fmt.Sprintf("%6.5f", clientDsCapacity.UnavailablePercent) {
+ if !compareCapacity(apiDsCapacity.UnavailablePercent, clientDsCapacity.UnavailablePercent) {
t.Errorf("UnavailablePercent -- Expected %v got %v", apiDsCapacity.UnavailablePercent, clientDsCapacity.UnavailablePercent)
}
- if fmt.Sprintf("%6.5f", apiDsCapacity.UtilizedPercent) != fmt.Sprintf("%6.5f", clientDsCapacity.UtilizedPercent) {
+ if !compareCapacity(apiDsCapacity.UtilizedPercent, clientDsCapacity.UtilizedPercent) {
t.Errorf("UtilizedPercent -- Expected %v got %v", apiDsCapacity.UtilizedPercent, clientDsCapacity.UtilizedPercent)
}
}
+func compareCapacity(val1 float64, val2 float64) bool {
+ // make sure val 2 is within 1% of val1
+ if val2 > val1*1.01 || val2 < val1*.99 {
+ return false
+ }
+ return true
+}
+
func TestDeliveryServiceRouting(t *testing.T) {
uri := fmt.Sprintf("/api/1.2/deliveryservices/%s/routing.json", existingTestDSID)
resp, err := Request(*to, "GET", uri, nil)
[7/8] incubator-trafficcontrol git commit: make SetNumber an int
instead of string
Posted by mi...@apache.org.
make SetNumber an int instead of string
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/be6dfe39
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/be6dfe39
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/be6dfe39
Branch: refs/heads/master
Commit: be6dfe39a2c7a5ff8a4b3dc56a58cef533cb9b1d
Parents: b6c0c0c
Author: David Neuman <da...@gmail.com>
Authored: Mon Apr 17 10:30:55 2017 -0600
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Wed Apr 19 15:45:00 2017 -0600
----------------------------------------------------------------------
traffic_ops/client/delivery_service_resources.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/be6dfe39/traffic_ops/client/delivery_service_resources.go
----------------------------------------------------------------------
diff --git a/traffic_ops/client/delivery_service_resources.go b/traffic_ops/client/delivery_service_resources.go
index 26d64d8..54d635f 100644
--- a/traffic_ops/client/delivery_service_resources.go
+++ b/traffic_ops/client/delivery_service_resources.go
@@ -100,7 +100,7 @@ type DeliveryService struct {
// DeliveryServiceMatch ...
type DeliveryServiceMatch struct {
Type string `json:"type"`
- SetNumber string `json:"setNumber"`
+ SetNumber int `json:"setNumber"`
Pattern string `json:"pattern"`
}
[3/8] incubator-trafficcontrol git commit: check for min_avail in
stats before using it
Posted by mi...@apache.org.
check for min_avail in stats before using it
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/6f74da43
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/6f74da43
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/6f74da43
Branch: refs/heads/master
Commit: 6f74da43bf7ad28fdef63e2c7aaee2c49a33a193
Parents: 0f6133d
Author: David Neuman <da...@gmail.com>
Authored: Mon Apr 17 10:25:38 2017 -0600
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Wed Apr 19 15:45:00 2017 -0600
----------------------------------------------------------------------
traffic_ops/app/lib/MojoPlugins/Stats.pm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/6f74da43/traffic_ops/app/lib/MojoPlugins/Stats.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/MojoPlugins/Stats.pm b/traffic_ops/app/lib/MojoPlugins/Stats.pm
index bc8feaa..a03bc9e 100755
--- a/traffic_ops/app/lib/MojoPlugins/Stats.pm
+++ b/traffic_ops/app/lib/MojoPlugins/Stats.pm
@@ -74,7 +74,9 @@ sub register {
my $r = $rascal_data->{$cdn_name}->{state}->{$cache};
my $h = $health_config->{profiles}->{ $c->{type} }->{ $c->{profile} };
my $min_avail = $h->{"health.threshold.availableBandwidthInKbps"};
- $min_avail =~ s/\D//g;
+ if ($min_avail) {
+ $min_avail =~ s/\D//g;
+ }
if ( ref($args) eq "HASH"
&& exists( $args->{delivery_service} )
[6/8] incubator-trafficcontrol git commit: simplify getting ssl certs
by hostname
Posted by mi...@apache.org.
simplify getting ssl certs by hostname
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/0f6133d7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/0f6133d7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/0f6133d7
Branch: refs/heads/master
Commit: 0f6133d7df1386e0c493be4430a259b55a8acdb3
Parents: 12fa762
Author: David Neuman <da...@gmail.com>
Authored: Mon Apr 17 10:24:29 2017 -0600
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Wed Apr 19 15:45:00 2017 -0600
----------------------------------------------------------------------
traffic_ops/app/lib/API/DeliveryService/SslKeys.pm | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/0f6133d7/traffic_ops/app/lib/API/DeliveryService/SslKeys.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/API/DeliveryService/SslKeys.pm b/traffic_ops/app/lib/API/DeliveryService/SslKeys.pm
index c392006..a2e1c5f 100644
--- a/traffic_ops/app/lib/API/DeliveryService/SslKeys.pm
+++ b/traffic_ops/app/lib/API/DeliveryService/SslKeys.pm
@@ -155,22 +155,9 @@ sub view_by_hostname {
return $self->alert( { Error => " - $key does not contain a valid domain name." } ) if !$domain_name;
}
- my @ds_ids_regex = $self->db->resultset('Deliveryservice')
- ->search( { 'regex.pattern' => "$host_regex" }, { join => { deliveryservice_regexes => { regex => undef } } } )->get_column('id')->all();
-
my $cdn_id = $self->db->resultset('Cdn')->search( { domain_name => $domain_name } )->get_column('id')->single();
- my@domain_profiles = $self->db->resultset('Profile')->search( { cdn => $cdn_id } )->get_column('id')->all();
-
- my $rs_ds = $self->db->resultset('Deliveryservice')->search( { 'profile' => { -in => \@domain_profiles } }, {} );
-
- my $xml_id;
- my %ds_ids_regex = map { $_ => undef } @ds_ids_regex;
-
- while ( my $row = $rs_ds->next ) {
- if ( exists( $ds_ids_regex{ $row->id } ) ) {
- $xml_id = $row->xml_id;
- }
- }
+ my $ds = $self->db->resultset('Deliveryservice')->search( { 'regex.pattern' => "$host_regex", 'cdn_id' => "$cdn_id" }, { join => { deliveryservice_regexes => { regex => undef } } } )->single();
+ my $xml_id = $ds->xml_id;
if ( !$version ) {
$version = 'latest';
[5/8] incubator-trafficcontrol git commit: Use new LoginWithAgent
method
Posted by mi...@apache.org.
Use new LoginWithAgent method
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/26a53221
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/26a53221
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/26a53221
Branch: refs/heads/master
Commit: 26a53221cdc72a5db94f98c1b2704c8d22854f96
Parents: be6dfe3
Author: David Neuman <da...@gmail.com>
Authored: Mon Apr 17 10:31:40 2017 -0600
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Wed Apr 19 15:45:00 2017 -0600
----------------------------------------------------------------------
traffic_ops/client/tests/integration/integration_helper.go | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/26a53221/traffic_ops/client/tests/integration/integration_helper.go
----------------------------------------------------------------------
diff --git a/traffic_ops/client/tests/integration/integration_helper.go b/traffic_ops/client/tests/integration/integration_helper.go
index b17306b..bc44b89 100644
--- a/traffic_ops/client/tests/integration/integration_helper.go
+++ b/traffic_ops/client/tests/integration/integration_helper.go
@@ -22,6 +22,7 @@ import (
"fmt"
"net/http"
"os"
+ "time"
traffic_ops "github.com/apache/incubator-trafficcontrol/traffic_ops/client"
)
@@ -36,7 +37,8 @@ func init() {
toPass := flag.String("toPass", "password", "Traffic Ops password")
flag.Parse()
var loginErr error
- to, loginErr = traffic_ops.Login(*toURL, *toUser, *toPass, true)
+ toReqTimeout := time.Second * time.Duration(30)
+ to, loginErr = traffic_ops.LoginWithAgent(*toURL, *toUser, *toPass, true, "traffic-ops-client-integration-tests", true, toReqTimeout)
if loginErr != nil {
fmt.Printf("\nError logging in to %v: %v\nMake sure toURL, toUser, and toPass flags are included and correct.\nExample: go test -toUser=admin -toPass=pass -toURL=http://localhost:3000\n\n", *toURL, loginErr)
os.Exit(1)
[4/8] incubator-trafficcontrol git commit: fix calls to get
domain_name from DS, remove method that is now unnecessary
Posted by mi...@apache.org.
fix calls to get domain_name from DS, remove method that is now unnecessary
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/b6c0c0c3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/b6c0c0c3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/b6c0c0c3
Branch: refs/heads/master
Commit: b6c0c0c3e5d63ffbe41df47b648ec0b61a72e3b1
Parents: 6f74da4
Author: David Neuman <da...@gmail.com>
Authored: Mon Apr 17 10:29:53 2017 -0600
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Wed Apr 19 15:45:00 2017 -0600
----------------------------------------------------------------------
traffic_ops/app/lib/UI/DeliveryService.pm | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/b6c0c0c3/traffic_ops/app/lib/UI/DeliveryService.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/UI/DeliveryService.pm b/traffic_ops/app/lib/UI/DeliveryService.pm
index cf4732e..262e90b 100644
--- a/traffic_ops/app/lib/UI/DeliveryService.pm
+++ b/traffic_ops/app/lib/UI/DeliveryService.pm
@@ -50,7 +50,7 @@ sub edit {
my $data = $rs_ds->single;
my $regexp_set = &get_regexp_set( $self, $id );
- my $cdn_domain = $self->get_cdn_domain_by_ds_id($id);
+ my $cdn_domain = $data->cdn->domain_name;
my @example_urls = &get_example_urls( $self, $id, $regexp_set, $data, $cdn_domain, $data->protocol );
my $server_count = $self->db->resultset('DeliveryserviceServer')->search( { deliveryservice => $id } )->count();
@@ -71,13 +71,6 @@ sub edit {
);
}
-sub get_cdn_domain {
- my $self = shift;
- my $id = shift;
-
- return $self->db->resultset('Deliveryservice')->search( { id => $id }, { prefetch => ['cdn']} )->get_column('domain_name')->single();
-}
-
sub get_example_urls {
my $self = shift;
my $id = shift;
@@ -946,9 +939,9 @@ sub update {
}
else {
&stash_role($self);
- my $rs_ds = $self->db->resultset('Deliveryservice')->search( { 'me.id' => $id }, { prefetch => [ { 'type' => undef }, { 'profile' => undef } ] } );
+ my $rs_ds = $self->db->resultset('Deliveryservice')->search( { 'me.id' => $id }, { prefetch => [ { 'type' => undef }, { 'profile' => undef }, { 'cdn' => undef } ] } );
my $data = $rs_ds->single;
- my $cdn_domain = $self->get_cdn_domain_by_ds_id($id);
+ my $cdn_domain = $data->cdn->domain_name;
my $server_count = $self->db->resultset('DeliveryserviceServer')->search( { deliveryservice => $id } )->count();
my $static_count = $self->db->resultset('Staticdnsentry')->search( { deliveryservice => $id } )->count();
my $regexp_set = &get_regexp_set( $self, $id );
@@ -1007,7 +1000,6 @@ sub create {
}
if ( $self->check_deliveryservice_input($cdn_id) ) {
- #print "CDN:$cdn_id\n";
my $insert = $self->db->resultset('Deliveryservice')->create(
{
xml_id => $self->paramAsScalar('ds.xml_id'),
@@ -1177,13 +1169,12 @@ sub create_dnssec_keys {
my $dnskey_ttl = get_key_ttl( $cdn_ksk, "60" );
#create the ds domain name for dnssec keys
- my $domain_name = get_cdn_domain($self, $ds_id);
my $deliveryservice_regexes = get_regexp_set($self, $ds_id);
my $rs_ds =
- $self->db->resultset('Deliveryservice')->search( { 'me.xml_id' => $xml_id }, { prefetch => [ { 'type' => undef }, { 'profile' => undef } ] } );
+ $self->db->resultset('Deliveryservice')->search( { 'me.xml_id' => $xml_id }, { prefetch => [ { 'type' => undef }, { 'profile' => undef }, { 'cdn' => undef } ] } );
my $data = $rs_ds->single;
+ my $domain_name = $data->cdn->domain_name;
my @example_urls = get_example_urls( $self, $ds_id, $deliveryservice_regexes, $data, $domain_name, $data->protocol );
-
#first one is the one we want. period at end for dnssec, substring off stuff we dont want
my $ds_name = $example_urls[0] . ".";
my $length = length($ds_name) - CORE::index( $ds_name, "." );
[2/8] incubator-trafficcontrol git commit: fix test to TrafficMonitor
config test to compare profile objects differently due to changes in object
Posted by mi...@apache.org.
fix test to TrafficMonitor config test to compare profile objects differently due to changes in object
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/d177bf20
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/d177bf20
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/d177bf20
Branch: refs/heads/master
Commit: d177bf206a9add631d7f7178192720b70b50c118
Parents: 26a5322
Author: David Neuman <da...@gmail.com>
Authored: Mon Apr 17 10:33:45 2017 -0600
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Wed Apr 19 15:45:00 2017 -0600
----------------------------------------------------------------------
.../integration/traffic_monitor_config_test.go | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/d177bf20/traffic_ops/client/tests/integration/traffic_monitor_config_test.go
----------------------------------------------------------------------
diff --git a/traffic_ops/client/tests/integration/traffic_monitor_config_test.go b/traffic_ops/client/tests/integration/traffic_monitor_config_test.go
index 9c23eb8..e7a8433 100644
--- a/traffic_ops/client/tests/integration/traffic_monitor_config_test.go
+++ b/traffic_ops/client/tests/integration/traffic_monitor_config_test.go
@@ -88,8 +88,23 @@ func TestTrafficMonitorConfig(t *testing.T) {
for _, apiProfile := range apiTMConfig.Profiles {
match := false
for _, clientProfile := range clientTMConfig.Profiles {
- if apiProfile == clientProfile {
+ if apiProfile.Name == clientProfile.Name {
match = true
+ if apiProfile.Parameters.HealthConnectionTimeout != clientProfile.Parameters.HealthConnectionTimeout {
+ t.Errorf("Prof.Param.HealthConnTimeout -- Expected %v got %v", apiProfile.Parameters.HealthConnectionTimeout, clientProfile.Parameters.HealthConnectionTimeout)
+ }
+ if apiProfile.Parameters.HealthPollingURL != clientProfile.Parameters.HealthPollingURL {
+ t.Errorf("Prof.Param.HealthPollURL -- Expected %v got %v", apiProfile.Parameters.HealthPollingURL, clientProfile.Parameters.HealthPollingURL)
+ }
+ if apiProfile.Parameters.HistoryCount != clientProfile.Parameters.HistoryCount {
+ t.Errorf("Prof.Param.HistCount -- Expected %v got %v", apiProfile.Parameters.HistoryCount, clientProfile.Parameters.HistoryCount)
+ }
+ if apiProfile.Parameters.MinFreeKbps != clientProfile.Parameters.MinFreeKbps {
+ t.Errorf("Prof.Param.MinFreeKbps -- Expected %v got %v", apiProfile.Parameters.MinFreeKbps, clientProfile.Parameters.MinFreeKbps)
+ }
+ if len(apiProfile.Parameters.Thresholds) != len(clientProfile.Parameters.Thresholds) {
+ t.Errorf("Len Prof.Param.Thresholds -- Expected %v got %v", len(apiProfile.Parameters.Thresholds), len(clientProfile.Parameters.Thresholds))
+ }
}
}
if !match {
[8/8] incubator-trafficcontrol git commit: This closes #476
Posted by mi...@apache.org.
This closes #476
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/4c176109
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/4c176109
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/4c176109
Branch: refs/heads/master
Commit: 4c176109c319b4549fc6185c394b4d76216d725c
Parents: e54b388
Author: Jeremy Mitchell <mi...@gmail.com>
Authored: Wed Apr 19 15:45:34 2017 -0600
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Wed Apr 19 15:45:34 2017 -0600
----------------------------------------------------------------------
----------------------------------------------------------------------