Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Per 4.44 KB | None | 0 0
  1. #! /opt/electriccloud/electriccommander/bin/ec-perl
  2. #############################################################################
  3. #
  4. # Copyright 2015 Electric-Cloud Inc.
  5. #
  6. # Create 100 components to deploy on 1 target in 100 directories
  7. #
  8. #############################################################################
  9. use strict;
  10. use English;
  11. use ElectricCommander;
  12. use Data::Dumper;
  13. $| = 1;
  14.  
  15. #############################################################################
  16. # OPTIONS
  17. #############################################################################
  18. my $CLEAN_UP=$ARGV[0];
  19. my $DEBUG=1;
  20.  
  21.  
  22. # Create a single instance of the Perl access to ElectricCommander
  23. printf("Starting creation of acceptance criteria\n") if ($DEBUG);
  24. my $ec = new ElectricCommander(
  25.     {
  26.         server=>"localhost",
  27.         format => "json"
  28.     });
  29. $ec->login("admin", "changeme");
  30. printf("Logged into Commander\n") if ($DEBUG);
  31.  
  32. # Check for the OS Type
  33. my $osIsWindows = $^O =~ /MSWin/;
  34.  
  35. #############################################################################
  36. #
  37. # Global Variables
  38. #
  39. #############################################################################
  40.  
  41. my $startIndex=1;
  42. my $projName="Project";
  43. my $projectNumber=10;
  44. my $procedureName="Procedure";
  45. my $procedureNumber=10;
  46. my $procedureStepName="Procedure Step";
  47. my $procedureStepNumber=10;
  48.  
  49. ######### Clean up start #########
  50. if($CLEAN_UP == 1){
  51. # Delete Project
  52.     for (my $i=$startIndex; $i <= $projectNumber; $i++) {
  53.         my $updatedProjectName=$projName . "$i";
  54.         $ec->deleteProject(
  55.             {
  56.                 projectName   => "$updatedProjectName"
  57.             });
  58.         printf("Project $updatedProjectName deleted\n") if ($DEBUG);
  59.     }
  60.     printf("Clean up finished") if ($DEBUG);
  61. ######### Clean up end #########
  62. } elsif($CLEAN_UP != 1){
  63.     # Create Project
  64.         for (my $projectCounter=$startIndex; $projectCounter <= $projectNumber; $projectCounter++) {
  65.             my $updatedProjectName = $projName . "$projectCounter";
  66.             $ec->createProject(
  67.                 {
  68.                     projectName   => "$updatedProjectName",
  69.                     description   => "application tier created automatically"
  70.                 });
  71.             printf("Project $updatedProjectName created\n") if ($DEBUG);
  72.  
  73.             # Create Procedure
  74.             if ($projectCounter != 1){
  75.                 $procedureNumber=0;
  76.             }
  77.  
  78.             for (my $procedureCounter=$startIndex; $procedureCounter <= $procedureNumber; $procedureCounter++) {
  79.             my $updatedPprocedureName = $procedureName . "$procedureCounter";
  80.                 $ec->createProcedure(
  81.                 {
  82.                     projectName   => "$updatedProjectName",
  83.                     procedureName   => "$updatedPprocedureName"
  84.                 });
  85.             printf("Procedure $updatedPprocedureName created\n") if ($DEBUG);
  86.  
  87.                 # Create Step
  88.                 if ($procedureCounter != 1){
  89.                     $procedureStepNumber=0;
  90.                 }
  91.  
  92.                 for (my $procedureStepCounter=$startIndex; $procedureStepCounter <= $procedureStepNumber; $procedureStepCounter++) {
  93.                 my $updatedPprocedureStepName = $procedureStepName . "$procedureStepCounter";
  94.                     $ec->createStep(
  95.                     {
  96.                         projectName   => "$updatedProjectName",
  97.                         procedureName   => "$updatedPprocedureName",
  98.                         stepName   => "$updatedPprocedureStepName"
  99.                     });
  100.                 printf("Procedure $updatedPprocedureStepName created\n") if ($DEBUG);
  101.                 }
  102.             }
  103.         }
  104.     }
  105. #############################################################################
  106. #
  107. # Invoke a API call
  108. #
  109. #############################################################################
  110. sub InvokeCommander {
  111.  
  112.     my $optionFlags = shift;
  113.     my $commanderFunction = shift;
  114.     my $result;
  115.     my $success = 1;
  116.     my $errMsg;
  117.     my $errCode;
  118.  
  119.     my $bSuppressLog = $optionFlags =~ /SuppressLog/i;
  120.     my $bSuppressResult = $bSuppressLog || $optionFlags =~ /SuppressResult/i;
  121.     my $bIgnoreError = $optionFlags =~ /IgnoreError/i;
  122.  
  123.     # Run the command
  124.     # print "Request to Commander: $commanderFunction\n" unless ($bSuppressLog);
  125.  
  126.     $ec->abortOnError(0) if $bIgnoreError;
  127.     $result = $ec->$commanderFunction(@_);
  128.     $ec->abortOnError(1) if $bIgnoreError;
  129.  
  130.     # Check for error return
  131.     if (defined ($result->{responses}->[0]->{error})) {
  132.         $errCode=$result->{responses}->[0]->{error}->{code};
  133.         $errMsg=$result->{responses}->[0]->{error}->{message};
  134.     }
  135.  
  136.     if ($errMsg ne "") {
  137.         $success = 0;
  138.     }
  139.     if ($result) {
  140.         print "Return data from Commander:\n" .
  141.                Dumper($result) . "\n"
  142.             unless $bSuppressResult;
  143.     }
  144.  
  145.     # Return the result
  146.     return ($success, $result, $errMsg, $errCode);
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement