You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by de...@apache.org on 2017/03/29 23:07:39 UTC
[4/4] incubator-trafficcontrol git commit: fix domain search
fix domain search
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/0ba8e528
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/0ba8e528
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/0ba8e528
Branch: refs/heads/master
Commit: 0ba8e528b3d7db0f8ccb95fc9aa9d07818a0f969
Parents: 4364ca7
Author: Derek Gelinas <de...@cable.comcast.com>
Authored: Mon Mar 20 14:03:47 2017 -0400
Committer: Dewayne Richardson <de...@apache.org>
Committed: Wed Mar 29 17:07:27 2017 -0600
----------------------------------------------------------------------
.../app/lib/API/Configs/ApacheTrafficServer.pm | 11 +++---
.../Result/DeliveryServiceInfoForCdnList.pm | 40 ++++++++++----------
.../Result/DeliveryServiceInfoForDomainList.pm | 2 +-
3 files changed, 25 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/0ba8e528/traffic_ops/app/lib/API/Configs/ApacheTrafficServer.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/API/Configs/ApacheTrafficServer.pm b/traffic_ops/app/lib/API/Configs/ApacheTrafficServer.pm
index 1485da6..cd3b524 100644
--- a/traffic_ops/app/lib/API/Configs/ApacheTrafficServer.pm
+++ b/traffic_ops/app/lib/API/Configs/ApacheTrafficServer.pm
@@ -452,11 +452,12 @@ sub profile_param_value {
#gets the delivery service data for an entire CDN.
sub cdn_ds_data {
my $self = shift;
- my $id = shift;
+ my $cdn_obj = shift;
my $dsinfo;
- my $rs;
- $rs = $self->db->resultset('DeliveryServiceInfoForCdnList')->search( {}, { bind => [$id] } );
+ my $rs = $self->db->resultset('DeliveryServiceInfoForDomainList')->search( {}, { bind => [$cdn_obj->name] } );
+
+ print STDERR Dumper($cdn_obj->name);
my $j = 0;
while ( my $row = $rs->next ) {
my $org_server = $row->org_server_fqdn;
@@ -476,7 +477,6 @@ sub cdn_ds_data {
my $cacheurl = $row->cacheurl;
my $remap_text = $row->remap_text;
my $multi_site_origin = $row->multi_site_origin;
- my $multi_site_origin_algorithm = $row->multi_site_origin_algorithm;
if ( $re_type eq 'HOST_REGEXP' ) {
my $host_re = $row->pattern;
@@ -545,7 +545,6 @@ sub cdn_ds_data {
$dsinfo->{dslist}->[$j]->{"cacheurl"} = $cacheurl;
$dsinfo->{dslist}->[$j]->{"remap_text"} = $remap_text;
$dsinfo->{dslist}->[$j]->{"multi_site_origin"} = $multi_site_origin;
- $dsinfo->{dslist}->[$j]->{"multi_site_origin_algorithm"} = $multi_site_origin_algorithm;
if ( defined($edge_header_rewrite) ) {
my $fname = "hdr_rw_" . $ds_xml_id . ".config";
@@ -1042,7 +1041,7 @@ sub cacheurl_dot_config {
}
}
elsif ( $filename eq "cacheurl.config" ) { # this is the global drop qstring w cacheurl use case
- my $data = $self->cdn_ds_data( $cdn_obj->id );
+ my $data = $self->cdn_ds_data( $cdn_obj );
foreach my $remap ( @{ $data->{dslist} } ) {
if ( $remap->{qstring_ignore} == 1 ) {
my $org = $remap->{org};
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/0ba8e528/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForCdnList.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForCdnList.pm b/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForCdnList.pm
index b5e91a1..1e59d83 100644
--- a/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForCdnList.pm
+++ b/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForCdnList.pm
@@ -1,3 +1,4 @@
+use utf8;
#
#
@@ -21,13 +22,13 @@ package Schema::Result::DeliveryServiceInfoForCdnList;
# this view returns the regexp set for a delivery services, ordered by type, set_number.
# to use, do
#
-# $rs = $self->db->resultset('DeliveryServiceInfoForCdnList')->search({}, { bind => [ $id ]});
+# $rs = $self->db->resultset('DeliveryServiceInfoForDomainList')->search({}, { bind => [ $domain ]});
#
-# where $id is the CDN id.
+# where $id is the deliveryservice id.
use strict;
use warnings;
-use utf8;
+
use base 'DBIx::Class::Core';
__PACKAGE__->table_class('DBIx::Class::ResultSource::View');
@@ -37,7 +38,7 @@ __PACKAGE__->table("DeliveryServiceInfoForCdnList:");
__PACKAGE__->result_source_instance->is_virtual(1);
__PACKAGE__->result_source_instance->view_definition( "
-SELECT DISTINCT
+SELECT
deliveryservice.xml_id,
deliveryservice.id AS ds_id,
deliveryservice.dscp,
@@ -45,44 +46,40 @@ SELECT DISTINCT
deliveryservice.qstring_ignore,
deliveryservice.org_server_fqdn,
deliveryservice.multi_site_origin,
- deliveryservice.multi_site_origin_algorithm,
deliveryservice.range_request_handling,
deliveryservice.origin_shield,
regex.pattern,
retype.name AS re_type,
dstype.name AS ds_type,
- parameter.value AS domain_name,
+ cdn.name AS domain_name,
deliveryservice_regex.set_number,
deliveryservice.edge_header_rewrite,
deliveryservice.mid_header_rewrite,
deliveryservice.regex_remap,
deliveryservice.cacheurl,
deliveryservice.remap_text,
- deliveryservice.protocol
+ deliveryservice.protocol,
+ deliveryservice.profile
FROM
deliveryservice
- JOIN deliveryservice_regex ON deliveryservice_regex.deliveryservice = deliveryservice.id
- JOIN regex ON deliveryservice_regex.regex = regex.id
- JOIN type as retype ON regex.type = retype.id
- JOIN type as dstype ON deliveryservice.type = dstype.id
- JOIN profile_parameter ON deliveryservice.profile = profile_parameter.profile
- JOIN parameter ON parameter.id = profile_parameter.parameter
- JOIN deliveryservice_server ON deliveryservice_server.deliveryservice = deliveryservice.id
- JOIN server ON deliveryservice_server.server = server.id
-WHERE
+ JOIN deliveryservice_regex ON deliveryservice_regex.deliveryservice = deliveryservice.id
+ JOIN regex ON deliveryservice_regex.regex = regex.id
+ JOIN type as retype ON regex.type = retype.id
+ JOIN type as dstype ON deliveryservice.type = dstype.id
+ JOIN cdn ON cdn.id = deliveryservice.cdn_id
+WHERE
deliveryservice.cdn_id = ?
AND parameter.name = 'domain_name'
-ORDER BY
- ds_id,
- re_type ,
- deliveryservice_regex.set_number"
+ORDER BY
+ ds_id,
+ re_type,
+ set_number"
);
__PACKAGE__->add_columns(
"xml_id", { data_type => "varchar", is_nullable => 0, size => 45 },
"org_server_fqdn", { data_type => "varchar", is_nullable => 0, size => 45 },
"multi_site_origin", { data_type => "integer", is_nullable => 0 },
- "multi_site_origin_algorithm", { data_type => "tinyint", is_nullable => 1 },
"ds_id", { data_type => "integer", is_nullable => 0 },
"dscp", { data_type => "integer", is_nullable => 0 },
"signed", { data_type => "integer", is_nullable => 0 },
@@ -100,6 +97,7 @@ __PACKAGE__->add_columns(
"protocol", { data_type => "tinyint", is_nullable => 0, size => 4 },
"range_request_handling", { data_type => "tinyint", is_nullable => 0, size => 4 },
"origin_shield", { data_type => "varchar", is_nullable => 0, size => 1024 },
+ "profile", { data_type => "integer", is_nullable => 1},
);
1;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/0ba8e528/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForDomainList.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForDomainList.pm b/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForDomainList.pm
index 20788c8..a3c1bc5 100644
--- a/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForDomainList.pm
+++ b/traffic_ops/app/lib/Schema/Result/DeliveryServiceInfoForDomainList.pm
@@ -68,7 +68,7 @@ FROM
JOIN type as dstype ON deliveryservice.type = dstype.id
JOIN cdn ON cdn.id = deliveryservice.cdn_id
WHERE
- cdn.domain_name = ?
+ cdn.name = ?
AND deliveryservice.id in (
SELECT
deliveryservice_server.deliveryservice