diff --git a/app/Controllers/BaseController.php b/app/Controllers/BaseController.php index 0cabcf7..9023437 100644 --- a/app/Controllers/BaseController.php +++ b/app/Controllers/BaseController.php @@ -161,10 +161,56 @@ abstract class BaseController extends Controller return $token; } + public function ansibleProvision($ansibleToken,$params){ log_message('critical', "***** ***** Provision CALL:: ansibleProvision() Token ".$ansibleToken); log_message('critical', "***** ***** Provision CALL:: ansibleProvision() Token ". serialize( $params)); + $result = "Unhandled exception"; + $base_url = "http://172.16.4.90:3000"; + $PROJECT_ID= 8; + + $url = $base_url . "/api/project/$PROJECT_ID/tasks"; + $headers = [ + 'Content-Type:application/json', + 'Accept: application/json', + 'Authorization: Bearer ' . $ansibleToken + ]; + $ch = curl_init( $url ); + $payload = json_encode( $params ); + //$payload = json_encode( array( "template_id"=> 1, "debug" => false, "dry_run" => false, "playbook" => "first-playbook.yml", "environment" => "{}" ) ); + curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload ); + curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); + curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); + $res = curl_exec($ch); + $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + $result .= "\n" . 'Launch task HTTP code: ' . $httpcode; + + curl_close($ch); + + # 4. Get tasks + $url = $base_url . "/api/project/$PROJECT_ID/tasks"; + $ch = curl_init( $url ); + curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); + curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); + $res = curl_exec($ch); + $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + $result .= "\n" . 'Get tasks HTTP code: ' . $httpcode; + + curl_close($ch); + log_message('critical', "***** ***** Provision :: ansibleProvision($httpcode) ".$httpcode); + ob_start(); + var_dump($headers); + var_dump($res); + $result .= "\n" . ob_get_clean(); + + return 0; + + } + public function ansibleProvisionBAD($ansibleToken,$params){ + log_message('critical', "***** ***** Provision CALL:: ansibleProvision() Token ".$ansibleToken); + log_message('critical', "***** ***** Provision CALL:: ansibleProvision() Token ". serialize( $params)); + $result = "Unhandled exception"; $base_url = "http://172.16.4.90:3000"; $PROJECT_ID= 8;