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/06/06 18:07:18 UTC
[4/4] incubator-trafficcontrol git commit: repoints api away from
controller that will soon be deprecated
repoints api away from controller that will soon be deprecated
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/0137fbf2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/0137fbf2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/0137fbf2
Branch: refs/heads/master
Commit: 0137fbf29181555b3e4d684926d0829360f1cbc2
Parents: 5913c53
Author: Jeremy Mitchell <mi...@gmail.com>
Authored: Fri Jun 2 10:38:16 2017 -0600
Committer: Dewayne Richardson <de...@apache.org>
Committed: Tue Jun 6 12:07:01 2017 -0600
----------------------------------------------------------------------
traffic_ops/app/lib/API/Deliveryservice.pm | 56 ++++++++++++++++++++++++
traffic_ops/app/lib/API/Deliveryservice2.pm | 56 ------------------------
traffic_ops/app/lib/TrafficOpsRoutes.pm | 2 +-
3 files changed, 57 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/0137fbf2/traffic_ops/app/lib/API/Deliveryservice.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/API/Deliveryservice.pm b/traffic_ops/app/lib/API/Deliveryservice.pm
index 2017e42..ee68788 100644
--- a/traffic_ops/app/lib/API/Deliveryservice.pm
+++ b/traffic_ops/app/lib/API/Deliveryservice.pm
@@ -976,6 +976,62 @@ sub request {
}
}
+sub assign_servers {
+ my $self = shift;
+ my $ds_xml_Id = $self->param('xml_id');
+ my $params = $self->req->json;
+
+ if ( !defined($params) ) {
+ return $self->alert("parameters are JSON format, please check!");
+ }
+ if ( !&is_oper($self) ) {
+ return $self->alert("You must be an ADMIN or OPER to perform this operation!");
+ }
+
+ if ( !exists( $params->{serverNames} ) ) {
+ return $self->alert("Parameter 'serverNames' is required.");
+ }
+
+ my $dsid = $self->db->resultset('Deliveryservice')->search( { xml_id => $ds_xml_Id } )->get_column('id')->single();
+ if ( !defined($dsid) ) {
+ return $self->alert( "DeliveryService[" . $ds_xml_Id . "] is not found." );
+ }
+
+ my @server_ids;
+ my $svrs = $params->{serverNames};
+ foreach my $svr (@$svrs) {
+ my $svr_id = $self->db->resultset('Server')->search( { host_name => $svr } )->get_column('id')->single();
+ if ( !defined($svr_id) ) {
+ return $self->alert( "Server[" . $svr . "] is not found in database." );
+ }
+ push( @server_ids, $svr_id );
+ }
+
+ # clean up
+ my $delete = $self->db->resultset('DeliveryserviceServer')->search( { deliveryservice => $dsid } );
+ $delete->delete();
+
+ # assign servers
+ foreach my $s_id (@server_ids) {
+ my $insert = $self->db->resultset('DeliveryserviceServer')->create(
+ {
+ deliveryservice => $dsid,
+ server => $s_id,
+ }
+ );
+ $insert->insert();
+ }
+
+ my $ds = $self->db->resultset('Deliveryservice')->search( { id => $dsid } )->single();
+ &UI::DeliveryService::header_rewrite( $self, $ds->id, $ds->profile, $ds->xml_id, $ds->edge_header_rewrite, "edge" );
+
+ my $response;
+ $response->{xmlId} = $ds->xml_id;
+ $response->{'serverNames'} = \@$svrs;
+
+ return $self->success($response);
+}
+
sub is_deliveryservice_request_valid {
my $self = shift;
my $details = shift;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/0137fbf2/traffic_ops/app/lib/API/Deliveryservice2.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/API/Deliveryservice2.pm b/traffic_ops/app/lib/API/Deliveryservice2.pm
index 81b340c..de443f7 100644
--- a/traffic_ops/app/lib/API/Deliveryservice2.pm
+++ b/traffic_ops/app/lib/API/Deliveryservice2.pm
@@ -305,62 +305,6 @@ sub get_types {
return $types;
}
-sub assign_servers {
- my $self = shift;
- my $ds_xml_Id = $self->param('xml_id');
- my $params = $self->req->json;
-
- if ( !defined($params) ) {
- return $self->alert("parameters are JSON format, please check!");
- }
- if ( !&is_oper($self) ) {
- return $self->alert("You must be an ADMIN or OPER to perform this operation!");
- }
-
- if ( !exists( $params->{serverNames} ) ) {
- return $self->alert("Parameter 'serverNames' is required.");
- }
-
- my $dsid = $self->db->resultset('Deliveryservice')->search( { xml_id => $ds_xml_Id } )->get_column('id')->single();
- if ( !defined($dsid) ) {
- return $self->alert( "DeliveryService[" . $ds_xml_Id . "] is not found." );
- }
-
- my @server_ids;
- my $svrs = $params->{serverNames};
- foreach my $svr (@$svrs) {
- my $svr_id = $self->db->resultset('Server')->search( { host_name => $svr } )->get_column('id')->single();
- if ( !defined($svr_id) ) {
- return $self->alert( "Server[" . $svr . "] is not found in database." );
- }
- push( @server_ids, $svr_id );
- }
-
- # clean up
- my $delete = $self->db->resultset('DeliveryserviceServer')->search( { deliveryservice => $dsid } );
- $delete->delete();
-
- # assign servers
- foreach my $s_id (@server_ids) {
- my $insert = $self->db->resultset('DeliveryserviceServer')->create(
- {
- deliveryservice => $dsid,
- server => $s_id,
- }
- );
- $insert->insert();
- }
-
- my $ds = $self->db->resultset('Deliveryservice')->search( { id => $dsid } )->single();
- &UI::DeliveryService::header_rewrite( $self, $ds->id, $ds->profile, $ds->xml_id, $ds->edge_header_rewrite, "edge" );
-
- my $response;
- $response->{xmlId} = $ds->xml_id;
- $response->{'serverNames'} = \@$svrs;
-
- return $self->success($response);
-}
-
sub _check_params {
my $self = shift;
my $params = shift;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/0137fbf2/traffic_ops/app/lib/TrafficOpsRoutes.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/TrafficOpsRoutes.pm b/traffic_ops/app/lib/TrafficOpsRoutes.pm
index b4da30e..aa4ac70 100644
--- a/traffic_ops/app/lib/TrafficOpsRoutes.pm
+++ b/traffic_ops/app/lib/TrafficOpsRoutes.pm
@@ -506,7 +506,7 @@ sub api_routes {
# delivery service / server assignments
$r->post("/api/$version/deliveryservices/:xml_id/servers")->over( authenticated => 1 )
- ->to( 'Deliveryservice2#assign_servers', namespace => $namespace );
+ ->to( 'Deliveryservice#assign_servers', namespace => $namespace );
$r->delete("/api/$version/deliveryservice_server/:dsId/:serverId" => [ dsId => qr/\d+/, serverId => qr/\d+/ ] )->over( authenticated => 1 )->to( 'DeliveryServiceServer#remove_server_from_ds', namespace => $namespace );
# alternate deliveryservice routes