diff --git a/app/Config/Boot/production.php b/app/Config/Boot/production.php
index 679b341..8afcc58 100644
--- a/app/Config/Boot/production.php
+++ b/app/Config/Boot/production.php
@@ -24,4 +24,4 @@ ini_set('display_errors', '0');
*/
defined('CI_DEBUG') || define('CI_DEBUG', false);
-$_ENV['CONFIG_NAME']='
I beleive you are doing CI envrionment handling wrong. You should define CI_ENVIRONMENT environment variable and utilize the respective app/Config/Boot/...php file
';
+//$_ENV['CONFIG_NAME']='I beleive you are doing CI envrionment handling wrong. You should define CI_ENVIRONMENT environment variable and utilize the respective app/Config/Boot/...php file
';
diff --git a/app/Controllers/Provision.php b/app/Controllers/Provision.php
index d5e9e4a..5a1e305 100644
--- a/app/Controllers/Provision.php
+++ b/app/Controllers/Provision.php
@@ -5,20 +5,21 @@ namespace App\Controllers;
class Provision extends BaseController
{
-
-
- public function prepareProvision(): string
- {
-
- //http://10.10.10.13:5006/broadcast/provisioning?product_uid=bea86662-adb3-4c09-816b-014f450d9713&provision_action=Auto%20Configuration%20Started
-
+ private function testSocket(): void{
// TELL THE SOCKET TO REFRESH PAGE
$data["product_uid"] = "bea86662-adb3-4c09-816b-014f450d9713";
$data["provision_action"] = "Auto%20Configuration%20Started";
$SOCKET_SERVER_LOCATION = $_ENV['SOCKET_SERVER_LOCATION'];
- log_message('critical', "TEST TEST ***** ***** Provision :: Action To :: ".$SOCKET_SERVER_LOCATION .'/broadcast/provisioning');
- $this->APIcall("GET", $SOCKET_SERVER_LOCATION .'/broadcast/provisioning', $data);
+ log_message('critical', "TEST TEST ***** ***** Provision :: Action To :: " . $SOCKET_SERVER_LOCATION . '/broadcast/provisioning');
+ $this->APIcall("GET", $SOCKET_SERVER_LOCATION . '/broadcast/provisioning', $data);
+ }
+ public function prepareProvision(): string
+ {
+
+ //$this->testSocket();
+ $current_database = $_ENV['MAIN_DATABASE_IP'];
+ log_message('critical', "***** ***** prepareProvision :: Working Database ".$current_database );
log_message('critical', "***** ***** prepareProvision :: Starting Port Allocation ");
$this->allocatePortNo(); // allocte port for the conyainer use
@@ -44,12 +45,12 @@ class Provision extends BaseController
//PROVISION_MSQL_DATABASE="wordpress"
//PROVISION_MSQL_DATABASE_PORT="3307"
- private function prepareDataBase():string
+ private function prepareDataBase(): string
{
- $servername = $_ENV['PROVISION_MSQL_DATABASE_IP'].":". $_ENV['PROVISION_MSQL_DATABASE_PORT']; // "172.16.4.96:3307";
- $database = $_ENV['PROVISION_MSQL_DATABASE']; //"wordpress";
- $username = $_ENV['PROVISION_MSQL_DATABASE_USERNAME']; //"root";
- $password = $_ENV['PROVISION_MSQL_DATABASE_PASSWORD']; //"may12002!";
+ $servername = $_ENV['PROVISION_MSQL_DATABASE_IP'] . ":" . $_ENV['PROVISION_MSQL_DATABASE_PORT']; // "172.16.4.96:3307";
+ $database = $_ENV['PROVISION_MSQL_DATABASE']; //"wordpress";
+ $username = $_ENV['PROVISION_MSQL_DATABASE_USERNAME']; //"root";
+ $password = $_ENV['PROVISION_MSQL_DATABASE_PASSWORD']; //"may12002!";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
if ($conn->connect_error) {
@@ -64,7 +65,7 @@ class Provision extends BaseController
WHERE db_status = 0
AND product_id IN ('A000004','A000003')
AND provision_status = 0
- ORDER BY updated ASC LIMIT ".$list_limit;
+ ORDER BY updated ASC LIMIT " . $list_limit;
$query = $this->db->query($mysql);
$provision_list = $query->getResult();
@@ -72,16 +73,16 @@ class Provision extends BaseController
$memberID = $pr->member_id;
$productId = $pr->product_id;
$provisionUID = $pr->uid;
- $ContainerName = $this->generatedContainerName($productId, $pr->id ); // $productId . str_pad($pr->id, 10, "0", STR_PAD_LEFT);
+ $ContainerName = $this->generatedContainerName($productId, $pr->id); // $productId . str_pad($pr->id, 10, "0", STR_PAD_LEFT);
$dbName = $ContainerName;
// Create database
$sql = "CREATE DATABASE $dbName";
if ($conn->query($sql) === TRUE) {
- // echo "Database created successfully";
+ // echo "Database created successfully";
log_message('critical', "***** ***** prepareDataBase :: () Database created successfully ");
- $mysql = "UPDATE members_products SET updated=now() WHERE uid::TEXT = '".$provisionUID."'";
+ $mysql = "UPDATE members_products SET updated=now() WHERE uid::TEXT = '" . $provisionUID . "'";
try {
$query = $this->db->query($mysql);
@@ -91,25 +92,27 @@ class Provision extends BaseController
$sql = "GRANT SELECT , INSERT , UPDATE , DELETE ON " . $dbName . " . * TO '" . $dbName . "'@'localhost' IDENTIFIED BY '" . $provisionUID . "'";
$result = mysqli_query($conn, $sql);
- $mysql = "UPDATE members_products SET updated=now(), db_status = db_status + 1 WHERE uid::TEXT = '".$provisionUID."'";
+ $mysql = "UPDATE members_products SET updated=now(), db_status = db_status + 1 WHERE uid::TEXT = '" . $provisionUID . "'";
$query = $this->db->query($mysql);
- }
- catch(\Exception $e) {
- // echo 'Message: ' .$e->getMessage();
- log_message('critical', "***** ***** prepareDataBase Error:: () ".$e->getMessage());
+ } catch (\Exception $e) {
+ // echo 'Message: ' .$e->getMessage();
+ log_message('critical', "***** ***** prepareDataBase Error:: () " . $e->getMessage());
}
} else {
//echo "Error creating database: " . $conn->error;
- log_message('critical', "***** ***** prepareDataBase Error:: (Error creating database:) ". $conn->error);
+ log_message('critical', "***** ***** prepareDataBase Error:: (Error creating database:) " . $conn->error);
}
}
mysqli_close($conn);
return '';
}
- private function generatedContainerName($productId, $provID){
- return $productId ."-SVR-" . str_pad($provID, 10, "0", STR_PAD_LEFT);
+
+ private function generatedContainerName($productId, $provID)
+ {
+ return $productId . "-SVR-" . str_pad($provID, 10, "0", STR_PAD_LEFT);
}
+
public function updateProvision(): string
{
$list_limit = 1; // for noow
@@ -126,19 +129,19 @@ class Provision extends BaseController
FROM members_products
WHERE provision_port > 0
AND provision_status = 0 AND p_file = 0
- ORDER BY updated ASC LIMIT ".$list_limit;
+ ORDER BY updated ASC LIMIT " . $list_limit;
$query = $this->db->query($mysql);
// $num = $query->num_rows();
$provision_list = $query->getResult();
//$provision_list =[];
foreach ($provision_list as $pr) {
- $subscriptionId = $pr->subscription_id;
+ $subscriptionId = $pr->subscription_id;
$provisionPort = $pr->provision_port;
$productId = $pr->product_id;
$provisionUID = $pr->uid;
$memberID = $pr->member_id;
- $ContainerName = $this->generatedContainerName($productId, $pr->id ); // $productId . str_pad($pr->id, 10, "0", STR_PAD_LEFT);
+ $ContainerName = $this->generatedContainerName($productId, $pr->id); // $productId . str_pad($pr->id, 10, "0", STR_PAD_LEFT);
$partFolder = $ansible_folder . "/parts/" . $provisionUID;
// // make sure we compose the docker compose to use
@@ -170,18 +173,17 @@ class Provision extends BaseController
// Do the processing
$composer_template_contents = str_replace("WHAT_CONTAINER_NAME", $ContainerName, $composer_template_contents);
//$destinationHomeFolder = "/home/chiefsoft/SITES/" . $ContainerName;
- $destinationHomeFolder =$_ENV['DESTINATION_HOME_FOLDER'] . $ContainerName;
+ $destinationHomeFolder = $_ENV['DESTINATION_HOME_FOLDER'] . $ContainerName;
$composer_template_contents = str_replace("DESTINATION_FOLDER", $destinationHomeFolder, $composer_template_contents);
$composer_template_contents = str_replace("ALLOCATED_PORT", $allocatedPort, $composer_template_contents);
$composer_template_contents = str_replace("CNT_DB_NAME", $ContainerName, $composer_template_contents);
$composer_template_contents = str_replace("CNT_DB_PASS", $provisionUID, $composer_template_contents);
$composer_template_contents = str_replace("CNT_DB_DATA", '172.16.4.96:3307', $composer_template_contents);
$composer_template_contents = str_replace("PROVISION_UID_REPLACE", $provisionUID, $composer_template_contents);
- $templateRandom = 'P'. rand(1,6);
+ $templateRandom = 'P' . rand(1, 6);
$composer_template_contents = str_replace("TEMPLATE_NAME_REPLACE", $templateRandom, $composer_template_contents);
-
//Save to the specific path
$destination_composer_path = $ansible_folder . "/parts/" . $provisionUID . "/docker-compose.yml";
$composerFile = fopen($destination_composer_path, "w") or die("Unable to open file!");
@@ -198,34 +200,36 @@ class Provision extends BaseController
$myfile = fopen($ansible_folder . "/" . $prov_name, "w") or die("Unable to open file!");
fwrite($myfile, $template_content_processed);
fclose($myfile);
- $this->registerProvision($subscriptionId,$prov_name);
+ $this->registerProvision($subscriptionId, $prov_name);
$this->provisionActions($memberID, $provisionUID, "Auto Configuration Started");
}
return 0;
}
- private function scheduleRefreshAction(){
+ private function scheduleRefreshAction()
+ {
$mysql = "SELECT * FROM member_product_refresh WHERE product_id IN ('A000001','A000002') AND status =0 LIMIT 1";
$query = $this->db->query($mysql);
// $num = $query->num_rows();
$provision_list = $query->getResult();
//$provision_list =[];
foreach ($provision_list as $pr) {
- $this->db->query("UPDATE member_product_refresh SET status = status + 1 WHERE id = ".$pr->id);
+ $this->db->query("UPDATE member_product_refresh SET status = status + 1 WHERE id = " . $pr->id);
$subscriptionUId = $pr->subscription_uid;
$this->refreshProvision($subscriptionUId);
}
}
- private function refreshProvision($subscriptionUId){
+ private function refreshProvision($subscriptionUId)
+ {
log_message('critical', "***** ***** refreshProvision :: Execute Refresh Provisioning() ");
$rsyncPass = "******noNEDD****";
// $remote_composer_path = "chiefsoft@10.0.0.32:/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
// $partMachineLocal = "/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
$remote_composer_path = $_ENV['REMOTE_COMPOSER_PATH']; // "chiefsoft@10.0.0.32:/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
$partMachineLocal = $_ENV['PATH_MACHINE_LOCAL']; // "/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
- $ansibleToken = $this->ansibleLogin();
- $mysql ="SELECT pp.uid AS prov_uid, p.id AS mpid,
+ $ansibleToken = $this->ansibleLogin();
+ $mysql = "SELECT pp.uid AS prov_uid, p.id AS mpid,
p.product_id, pp.id AS plan_id, pp.uid ,
pp.provision_id, pp.play_file,
p.uid AS member_product_uid ,
@@ -245,18 +249,18 @@ class Provision extends BaseController
$provisionId = $pr->provision_id;
$productId = $pr->product_id;
$productUid = $pr->member_product_uid;
- $playbook = $pr->product_id."_repair.yml";
+ $playbook = $pr->product_id . "_repair.yml";
$provisionUID = $pr->prov_uid;
$member_id = $pr->member_id;
$internal_url = $pr->internal_url;
$provision_port = $pr->provision_port;
$members_product_id = $pr->mpid;
- log_message('critical', "Members Product ID ***** ".$pr->mpid." Provision_Status == ". $pr->provision_status);
+ log_message('critical', "Members Product ID ***** " . $pr->mpid . " Provision_Status == " . $pr->provision_status);
$this->updateToNow($productUid); // increase count not to repeat
$ansible_host = $productId . "_SERVER";
- $ContainerName = $this->generatedContainerName($productId, $pr->mpid ); //$productId ."-SVR-". str_pad($pr->mpid, 10, "0", STR_PAD_LEFT);
+ $ContainerName = $this->generatedContainerName($productId, $pr->mpid); //$productId ."-SVR-". str_pad($pr->mpid, 10, "0", STR_PAD_LEFT);
//$destinationHomeFolder = "/home/chiefsoft/SITES/" . $ContainerName;
$destinationHomeFolder = $_ENV['DESTINATION_HOME_FOLDER'] . $ContainerName;
// $composer_template_path_local = $partMachineLocal . $provisionUID;
@@ -273,9 +277,9 @@ class Provision extends BaseController
// Remember this is in a CONTAINER so the path follows
- $this_composer_part_location = "/var/www/html/ANSIBLE/parts/". $productUid;
- if (!is_dir( $this_composer_part_location )) {
- mkdir($this_composer_part_location , 0700);
+ $this_composer_part_location = "/var/www/html/ANSIBLE/parts/" . $productUid;
+ if (!is_dir($this_composer_part_location)) {
+ mkdir($this_composer_part_location, 0700);
}
// make sure we compose the docker compose to use
@@ -289,13 +293,13 @@ class Provision extends BaseController
);
$this->db->query("UPDATE provision_plans SET updated = now() WHERE id = $planId");
- // $this->db->query("UPDATE members_products SET p_file = p_file + 1 WHERE id = $provisionId");
- $params = [
- "template_id"=> 2,
- "debug"=> false,
- "dry_run"=> false,
- "playbook"=> $playbook,
- "environment"=> "{
+ // $this->db->query("UPDATE members_products SET p_file = p_file + 1 WHERE id = $provisionId");
+ $params = [
+ "template_id" => 2,
+ "debug" => false,
+ "dry_run" => false,
+ "playbook" => $playbook,
+ "environment" => "{
\"WHAT_HOST_IN_USE\":\"$ansible_host\",
\"DESTINATION_FOLDER\":\"$destinationHomeFolder\",
\"WHAT_PART_LOCAL\":\"$composer_template_path_local\",
@@ -305,15 +309,14 @@ class Provision extends BaseController
\"CONTAINER_NAME\":\"$ContainerName\"
}"
];
- $ansibleReturn = $this->ansibleProvision($ansibleToken, $params);
+ $ansibleReturn = $this->ansibleProvision($ansibleToken, $params);
- log_message('critical', "ANSIBLE RETURN ***** ".$ansibleReturn);
- if ( $ansibleReturn === 200 ){
- log_message('critical', "Calling update_To_Completed ***** ".$ansibleReturn);
+ log_message('critical', "ANSIBLE RETURN ***** " . $ansibleReturn);
+ if ($ansibleReturn === 200) {
+ log_message('critical', "Calling update_To_Completed ***** " . $ansibleReturn);
$this->update_To_Completed($productUid);
- }
- else{
- log_message('critical', "Calling WHY PATH update_To_Completed ***** ".$ansibleReturn);
+ } else {
+ log_message('critical', "Calling WHY PATH update_To_Completed ***** " . $ansibleReturn);
$this->update_To_Completed($productUid);
}
}
@@ -327,19 +330,20 @@ class Provision extends BaseController
$member_product_uid,
$member_id,
$internal_url
- ){
+ )
+ {
$public_path = FCPATH;
$ansible_folder = str_replace("public/", "ANSIBLE", $public_path);
$partMachineLocal = $_ENV['PATH_MACHINE_LOCAL'];
- $subscriptionId = $members_product_id;
+ $subscriptionId = $members_product_id;
$provisionPort = $members_product_port;
$productId = $product_id;
$provisionUID = $member_product_uid;
$memberID = $member_id;
- $ContainerName = $this->generatedContainerName($productId, $members_product_id ); // $productId . str_pad($pr->id, 10, "0", STR_PAD_LEFT);
+ $ContainerName = $this->generatedContainerName($productId, $members_product_id); // $productId . str_pad($pr->id, 10, "0", STR_PAD_LEFT);
$partFolder = $ansible_folder . "/parts/" . $member_product_uid;
/*
@@ -349,7 +353,6 @@ class Provision extends BaseController
$destination_composer_path = $ansible_folder . "/parts/" . $provisionUID . "/docker-compose.yml";
-
$allocatedPort = $provisionPort;
$this->updateToNow($provisionUID);
@@ -368,14 +371,14 @@ class Provision extends BaseController
// Do the processing
$composer_template_contents = str_replace("WHAT_CONTAINER_NAME", $ContainerName, $composer_template_contents);
//$destinationHomeFolder = "/home/chiefsoft/SITES/" . $ContainerName;
- $destinationHomeFolder =$_ENV['DESTINATION_HOME_FOLDER'] . $ContainerName;
+ $destinationHomeFolder = $_ENV['DESTINATION_HOME_FOLDER'] . $ContainerName;
$composer_template_contents = str_replace("DESTINATION_FOLDER", $destinationHomeFolder, $composer_template_contents);
$composer_template_contents = str_replace("ALLOCATED_PORT", $allocatedPort, $composer_template_contents);
$composer_template_contents = str_replace("CNT_DB_NAME", $ContainerName, $composer_template_contents);
$composer_template_contents = str_replace("CNT_DB_PASS", $provisionUID, $composer_template_contents);
$composer_template_contents = str_replace("CNT_DB_DATA", '172.16.4.96:3307', $composer_template_contents);
$composer_template_contents = str_replace("PROVISION_UID_REPLACE", $provisionUID, $composer_template_contents);
- $templateRandom = 'P'. rand(1,6);
+ $templateRandom = 'P' . rand(1, 6);
$composer_template_contents = str_replace("TEMPLATE_NAME_REPLACE", $templateRandom, $composer_template_contents);
//Save to the specific path
$composerFile = fopen($destination_composer_path, "w") or die("Unable to open file!");
@@ -393,7 +396,9 @@ class Provision extends BaseController
fwrite($myfile, $template_content_processed);
fclose($myfile);
}
- private function registerProvision($subscriptionId,$prov_name){
+
+ private function registerProvision($subscriptionId, $prov_name)
+ {
/*
CREATE TABLE provision_plans (
@@ -409,20 +414,22 @@ class Provision extends BaseController
ADD CONSTRAINT provision_plans_id_key UNIQUE (id);
*/
- try{
- $mysql = "INSERT INTO provision_plans (provision_id,play_file) VALUES($subscriptionId,'$prov_name')";
+ try {
+ $mysql = "INSERT INTO provision_plans (provision_id,play_file) VALUES($subscriptionId,'$prov_name')";
$query = $this->db->query($mysql);
- } catch ( \Exception $e){
- log_message('critical', "***** ***** registerProvision Error:: registerProvision() ".$e->getMessage());
+ } catch (\Exception $e) {
+ log_message('critical', "***** ***** registerProvision Error:: registerProvision() " . $e->getMessage());
}
- return 0;
+ return 0;
}
- private function allocatePortNo(){
+
+ private function allocatePortNo()
+ {
$list_limit = 2;
$mysql = "SELECT id, member_id, uid, internal_url,product_id,status,provision_port,updated
FROM members_products
WHERE provision_port = 0
- ORDER BY updated ASC LIMIT ".$list_limit;
+ ORDER BY updated ASC LIMIT " . $list_limit;
$query = $this->db->query($mysql);
$provision_list = $query->getResult();
@@ -431,23 +438,24 @@ class Provision extends BaseController
$productId = $pr->product_id;
$provisionUID = $pr->uid;
- $allocated_port = $this->allocatePortNumber( $productId );
- $primary_server = $this->provisionServer( $productId );
- $mysql = "UPDATE members_products SET updated=now(), provision_port=".$allocated_port.", primary_server='".$primary_server."' WHERE uid::TEXT = '".$provisionUID."' AND provision_port = 0";
+ $allocated_port = $this->allocatePortNumber($productId);
+ $primary_server = $this->provisionServer($productId);
+ $mysql = "UPDATE members_products SET updated=now(), provision_port=" . $allocated_port . ", primary_server='" . $primary_server . "' WHERE uid::TEXT = '" . $provisionUID . "' AND provision_port = 0";
$query = $this->db->query($mysql);
$this->provisionActions($memberID, $provisionUID, "Allocating Provisioning Ports");
}
}
- private function allocatePortNumber($productId){
+ private function allocatePortNumber($productId)
+ {
$portF = 0;
try {
- $mysql = "SELECT max(provision_port) AS max_port FROM members_products WHERE product_id = '".$productId."'";
+ $mysql = "SELECT max(provision_port) AS max_port FROM members_products WHERE product_id = '" . $productId . "'";
$query = $this->db->query($mysql);
$maxItem = $query->getResult()[0]->max_port;
//var_dump($maxItem);
- if ($maxItem == 0 ){
+ if ($maxItem == 0) {
switch ($productId) {
case "A000002":
$maxItem = 5500;
@@ -465,18 +473,18 @@ class Provision extends BaseController
$maxItem = 6600;
break;
}
- }
- else{
- $maxItem = $maxItem+1;
+ } else {
+ $maxItem = $maxItem + 1;
}
$portF = $maxItem;
} catch (Exception $e) {
- echo 'Caught exception: ', $e->getMessage(), "\n";
+ echo 'Caught exception: ', $e->getMessage(), "\n";
}
return $portF;
}
- private function provisionServer($productId){
+ private function provisionServer($productId)
+ {
switch ($productId) {
case "A000001":
case "A000002":
@@ -493,41 +501,43 @@ class Provision extends BaseController
return $primaryServer;
}
-/*
- *
-[A000001_SERVER]
-172.16.4.92
+ /*
+ *
+ [A000001_SERVER]
+ 172.16.4.92
-[A000002_SERVER]
-172.16.4.92
+ [A000002_SERVER]
+ 172.16.4.92
-[A000003_SERVER]
-172.16.4.91
+ [A000003_SERVER]
+ 172.16.4.91
-[A000004_SERVER]
-172.16.4.91
+ [A000004_SERVER]
+ 172.16.4.91
-[A000005_SERVER]
-172.16.4.95
- */
- private function updateToNow($provisionUID){
+ [A000005_SERVER]
+ 172.16.4.95
+ */
+ private function updateToNow($provisionUID)
+ {
try {
$mysql = "UPDATE members_products SET updated=now(),
provision_status=provision_status+1
- WHERE uid::TEXT = '".$provisionUID."'";
+ WHERE uid::TEXT = '" . $provisionUID . "'";
$query = $this->db->query($mysql);
} catch (Exception $e) {
- echo 'Caught exception: ', $e->getMessage(), "\n";
- log_message('critical', "***** ***** Provision Error:: updateToNow() ".$e->getMessage());
+ echo 'Caught exception: ', $e->getMessage(), "\n";
+ log_message('critical', "***** ***** Provision Error:: updateToNow() " . $e->getMessage());
}
}
- private function provisionActions($memberID, $provisionUID,$actionText){
+ private function provisionActions($memberID, $provisionUID, $actionText)
+ {
log_message('critical', "***** ***** Provision :: provisionActions($memberID, $provisionUID,$actionText) ");
try {
$mysql = "INSERT INTO provision_actions (member_id,product_uid,action) VALUES ($memberID,'$provisionUID', '$actionText')";
- log_message('critical', "***** ***** Provision :: provisionActions(QUERY) :: ".$mysql);
+ log_message('critical', "***** ***** Provision :: provisionActions(QUERY) :: " . $mysql);
$query = $this->db->query($mysql);
// TELL THE SOCKET TO REFRESH PAGE
@@ -535,26 +545,27 @@ class Provision extends BaseController
$data["provision_action"] = $actionText;
$SOCKET_SERVER_LOCATION = $_ENV['SOCKET_SERVER_LOCATION'];
- log_message('critical', "***** ***** Provision :: Action To :: ".$SOCKET_SERVER_LOCATION .'/broadcast/provisioning');
- $this->APIcall("GET", $SOCKET_SERVER_LOCATION .'/broadcast/provisioning', $data);
+ log_message('critical', "***** ***** Provision :: Action To :: " . $SOCKET_SERVER_LOCATION . '/broadcast/provisioning');
+ $this->APIcall("GET", $SOCKET_SERVER_LOCATION . '/broadcast/provisioning', $data);
- } catch ( \Exception $e) {
- // echo 'Caught exception: ', $e->getMessage(), "\n";
- log_message('critical', "***** ***** Provision Error:: provisionActions() ".$e->getMessage());
+ } catch (\Exception $e) {
+ // echo 'Caught exception: ', $e->getMessage(), "\n";
+ log_message('critical', "***** ***** Provision Error:: provisionActions() " . $e->getMessage());
}
return 0;
}
- public function releaseProvision(){
+ public function releaseProvision()
+ {
log_message('critical', "***** ***** ReleaseProvision :: Execute Actual Provisioning() ");
$PROCESS_LIMIT = 2;
$rsyncPass = "******noNEDD****";
- // $remote_composer_path = "chiefsoft@10.0.0.32:/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
- // $partMachineLocal = "/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
+ // $remote_composer_path = "chiefsoft@10.0.0.32:/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
+ // $partMachineLocal = "/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
$remote_composer_path = $_ENV['REMOTE_COMPOSER_PATH']; // "chiefsoft@10.0.0.32:/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
$partMachineLocal = $_ENV['PATH_MACHINE_LOCAL']; // "/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
- $ansibleToken = $this->ansibleLogin();
- $mysql ="SELECT pp.uid AS prov_uid, p.id AS mpid,
+ $ansibleToken = $this->ansibleLogin();
+ $mysql = "SELECT pp.uid AS prov_uid, p.id AS mpid,
p.product_id, pp.id AS plan_id, pp.uid ,
pp.provision_id, pp.play_file,
p.uid AS member_product_uid ,
@@ -565,7 +576,7 @@ class Provision extends BaseController
FROM provision_plans pp
LEFT JOIN members_products p ON p.id =pp.provision_id
WHERE p.provision_status = 1
- ORDER BY pp.updated ASC LIMIT ".$PROCESS_LIMIT;
+ ORDER BY pp.updated ASC LIMIT " . $PROCESS_LIMIT;
$query = $this->db->query($mysql);
$provision_list = $query->getResult();
foreach ($provision_list as $pr) {
@@ -574,18 +585,18 @@ class Provision extends BaseController
$provisionId = $pr->provision_id;
$productId = $pr->product_id;
$productUid = $pr->member_product_uid;
- $playbook = $pr->product_id.".yml";
+ $playbook = $pr->product_id . ".yml";
$provisionUID = $pr->prov_uid;
$member_id = $pr->member_id;
$internal_url = $pr->internal_url;
$provision_port = $pr->provision_port;
$members_product_id = $pr->mpid;
- log_message('critical', "Members Product ID ***** ".$pr->mpid." Provision_Status == ". $pr->provision_status);
+ log_message('critical', "Members Product ID ***** " . $pr->mpid . " Provision_Status == " . $pr->provision_status);
$this->updateToNow($productUid); // increase count not to repeat
$ansible_host = $productId . "_SERVER";
- $ContainerName = $this->generatedContainerName($productId, $pr->mpid ); //$productId ."-SVR-". str_pad($pr->mpid, 10, "0", STR_PAD_LEFT);
+ $ContainerName = $this->generatedContainerName($productId, $pr->mpid); //$productId ."-SVR-". str_pad($pr->mpid, 10, "0", STR_PAD_LEFT);
//$destinationHomeFolder = "/home/chiefsoft/SITES/" . $ContainerName;
$destinationHomeFolder = $_ENV['DESTINATION_HOME_FOLDER'] . $ContainerName;
// $composer_template_path_local = $partMachineLocal . $provisionUID;
@@ -602,9 +613,9 @@ class Provision extends BaseController
// Remember this is in a CONTAINER so the path follows
- $this_composer_part_location = "/var/www/html/ANSIBLE/parts/". $productUid;
- if (!is_dir( $this_composer_part_location )) {
- mkdir($this_composer_part_location , 0700);
+ $this_composer_part_location = "/var/www/html/ANSIBLE/parts/" . $productUid;
+ if (!is_dir($this_composer_part_location)) {
+ mkdir($this_composer_part_location, 0700);
}
// make sure we compose the docker compose to use
@@ -619,12 +630,12 @@ class Provision extends BaseController
$this->db->query("UPDATE provision_plans SET updated = now() WHERE id = $planId");
$this->db->query("UPDATE members_products SET p_file = p_file + 1 WHERE id = $provisionId");
- $params = [
- "template_id"=> 2,
- "debug"=> false,
- "dry_run"=> false,
- "playbook"=> $playbook,
- "environment"=> "{
+ $params = [
+ "template_id" => 2,
+ "debug" => false,
+ "dry_run" => false,
+ "playbook" => $playbook,
+ "environment" => "{
\"WHAT_HOST_IN_USE\":\"$ansible_host\",
\"DESTINATION_FOLDER\":\"$destinationHomeFolder\",
\"WHAT_PART_LOCAL\":\"$composer_template_path_local\",
@@ -633,35 +644,35 @@ class Provision extends BaseController
\"RSYNC_PASSWORD\":\"$rsyncPass\",
\"CONTAINER_NAME\":\"$ContainerName\"
}"
- ];
- $ansibleReturn = $this->ansibleProvision($ansibleToken, $params);
+ ];
+ $ansibleReturn = $this->ansibleProvision($ansibleToken, $params);
- log_message('critical', "ANSIBLE RETURN ***** ".$ansibleReturn);
- if ( $ansibleReturn === 200 ){
- log_message('critical', "Calling update_To_Completed ***** ".$ansibleReturn);
- $this->update_To_Completed($productUid);
- }
- else{
- log_message('critical', "Calling WHY PATH update_To_Completed ***** ".$ansibleReturn);
- $this->update_To_Completed($productUid);
- }
+ log_message('critical', "ANSIBLE RETURN ***** " . $ansibleReturn);
+ if ($ansibleReturn === 200) {
+ log_message('critical', "Calling update_To_Completed ***** " . $ansibleReturn);
+ $this->update_To_Completed($productUid);
+ } else {
+ log_message('critical', "Calling WHY PATH update_To_Completed ***** " . $ansibleReturn);
+ $this->update_To_Completed($productUid);
+ }
}
return 0;
}
- private function update_To_Completed($provisionUID){
- log_message('critical', "update_To_Completed ******** ***** ".$provisionUID);
+ private function update_To_Completed($provisionUID)
+ {
+ log_message('critical', "update_To_Completed ******** ***** " . $provisionUID);
try {
$mysql = "UPDATE members_products SET updated=now(),
provision_status=provision_status+1 ,
status = 7
WHERE status = 6
- AND uid::TEXT = '".$provisionUID."'";
+ AND uid::TEXT = '" . $provisionUID . "'";
$query = $this->db->query($mysql);
} catch (Exception $e) {
- echo 'Caught exception: ', $e->getMessage(), "\n";
- log_message('critical', "***** ***** Provision Error:: updateToCompleted() ".$e->getMessage());
+ echo 'Caught exception: ', $e->getMessage(), "\n";
+ log_message('critical', "***** ***** Provision Error:: updateToCompleted() " . $e->getMessage());
}
}
@@ -685,7 +696,8 @@ class Provision extends BaseController
// return 0;
// }
- public function directProvision(){
+ public function directProvision()
+ {
$mysql = "SELECT id AS plan_id, uid, provision_id, play_file from provision_plans ORDER BY updated ASC LIMIT 1 ";
$query = $this->db->query($mysql);
@@ -699,44 +711,44 @@ class Provision extends BaseController
$this->db->query("UPDATE members_products SET p_file = p_file + 1 WHERE id = $provisionId");
//$this->runAnsibleShell($playFile);
- try{
- log_message('critical', "***** ***** Provision :: runAnsibleShell($playFile) ");
- $shellCommand ="ansible-playbook --vault-password-file /var/www/html/ANSIBLE/secrets.pass --key-file ~/.ssh/ansible_worker -i /var/www/html/ANSIBLE/inventory /var/www/html/ANSIBLE/$playFile";
- log_message('critical', $shellCommand);
- $output = shell_exec($shellCommand );
- log_message('critical', "***** ***** Provision :: runAnsibleShell(output) AFTER SHELL RUN ".$output);
- } catch ( \Exception $e){
- log_message('critical', "***** ***** Provision Error:: runAnsibleShell() ".$e->getMessage());
+ try {
+ log_message('critical', "***** ***** Provision :: runAnsibleShell($playFile) ");
+ $shellCommand = "ansible-playbook --vault-password-file /var/www/html/ANSIBLE/secrets.pass --key-file ~/.ssh/ansible_worker -i /var/www/html/ANSIBLE/inventory /var/www/html/ANSIBLE/$playFile";
+ log_message('critical', $shellCommand);
+ $output = shell_exec($shellCommand);
+ log_message('critical', "***** ***** Provision :: runAnsibleShell(output) AFTER SHELL RUN " . $output);
+ } catch (\Exception $e) {
+ log_message('critical', "***** ***** Provision Error:: runAnsibleShell() " . $e->getMessage());
}
}
-
return 0;
}
- public function demo():string {
+ public function demo(): string
+ {
$PROJECT_ID = 8;
$result = "Unhandled exception";
$base_url = "http://172.16.4.90:3000";
- $cookies = tempnam('/tmp','cookie.txt');
+ $cookies = tempnam('/tmp', 'cookie.txt');
# 1. Login
$url = $base_url . "/api/auth/login";
- $ch = curl_init( $url );
+ $ch = curl_init($url);
# Setup request to send json via POST.
- $payload = json_encode( array( "auth"=> "admin", "password" => "may12002" ) );
- curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
- curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
+ $payload = json_encode(array("auth" => "admin", "password" => "may12002"));
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
# Return response instead of printing.
- curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
# Fetch the headers, not the body content:
//curl_setopt($ch, CURLOPT_HEADER, true); // we want headers
//curl_setopt($ch, CURLOPT_NOBODY, true); // we don't need body
# Cookie jar
- curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
+ curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
# Send request.
@@ -752,8 +764,8 @@ class Provision extends BaseController
# 2. Get token
$url = $base_url . "/api/user/tokens";
- $ch = curl_init( $url );
- curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
+ $ch = curl_init($url);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
$res = curl_exec($ch);
@@ -763,7 +775,7 @@ class Provision extends BaseController
$token = null;
$arr = json_decode($res, true);
foreach ($arr as $item) {
- if ($item["expired"]===false) {
+ if ($item["expired"] === false) {
$token = $item["id"];
break;
}
@@ -779,11 +791,11 @@ class Provision extends BaseController
'Accept: application/json',
'Authorization: Bearer ' . $token
];
- $ch = curl_init( $url );
- $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 );
+ $ch = curl_init($url);
+ $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;
@@ -792,9 +804,9 @@ class Provision extends BaseController
# 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 );
+ $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;
@@ -811,7 +823,8 @@ class Provision extends BaseController
}
- public function configureURL(){
+ public function configureURL()
+ {
log_message('critical', "***** ***** Configure URL :: Set up URL access for product ");
$limit = 1;
$mysql = "SELECT id, uid, internal_url,primary_server,provision_port,url_status FROM members_products WHERE url_status = 0 LIMIT $limit";
@@ -826,7 +839,7 @@ class Provision extends BaseController
log_message('critical', "***** ***** Configure URL Start ::: $provisionURL == $provisionServer:$provisionPort ");
// Here call haproxy actions
- list ($res, $message) = $this->configureHaproxyURL($provisionURL,$provisionServer,$provisionPort);
+ list ($res, $message) = $this->configureHaproxyURL($provisionURL, $provisionServer, $provisionPort);
// TODO: Check $res for errors
$mysql_close = "UPDATE members_products SET url_status = url_status + 1 WHERE id = $mbId ";
$this->db->query($mysql_close);
@@ -835,7 +848,8 @@ class Provision extends BaseController
}
- public function haproxy():string {
+ public function haproxy(): string
+ {
// $limit = 1;
// $mysql = "SELECT
// internal_url,
@@ -859,26 +873,27 @@ class Provision extends BaseController
// }
- list ($res, $message) = $this->configureHaproxyURL("23607.devprov.mermsemr.com","172.16.4.91","6603");
- var_dump($message);
- log_message('critical',"Message => '".$message."'");
- return "Message:
".$message;
+ list ($res, $message) = $this->configureHaproxyURL("23607.devprov.mermsemr.com", "172.16.4.91", "6603");
+ var_dump($message);
+ log_message('critical', "Message => '" . $message . "'");
+ return "Message:
" . $message;
}
- public function configureHaproxyURL($provisionURL, $provisionServer, $provisionPort) {
- $message = "";
- $base_url = $_ENV['HAPROXY_SERVER_URL']; //'http://172.16.4.99:5555';
- $username = $_ENV['HAPROXY_SERVER_USER']; //'admin';
- $password = $_ENV['HAPROXY_SERVER_PASS']; //'Hapr0xy001';
+ public function configureHaproxyURL($provisionURL, $provisionServer, $provisionPort)
+ {
+ $message = "";
+ $base_url = $_ENV['HAPROXY_SERVER_URL']; //'http://172.16.4.99:5555';
+ $username = $_ENV['HAPROXY_SERVER_USER']; //'admin';
+ $password = $_ENV['HAPROXY_SERVER_PASS']; //'Hapr0xy001';
- log_message('critical',"provisionURL => $provisionURL");
- log_message('critical',"provisionServer => $provisionServer");
- log_message('critical',"provisionPort => $provisionPort");
+ log_message('critical', "provisionURL => $provisionURL");
+ log_message('critical', "provisionServer => $provisionServer");
+ log_message('critical', "provisionPort => $provisionPort");
$status_code = [];
// 200
- list($status_code[0], $cfgver) = $this->getHaProxyCfgVer($base_url,$username,$password);
+ list($status_code[0], $cfgver) = $this->getHaProxyCfgVer($base_url, $username, $password);
$cfgver0 = trim($cfgver);
// Add backend
@@ -901,7 +916,7 @@ curl -XPOST --user admin:Hapr0xy001 \
}' \
"http://172.16.4.99:5555/v3/services/haproxy/configuration/backends?version=$CFGVER" > backend.txt
*/
- $backend = "backend".$cfgver0;
+ $backend = "backend" . $cfgver0;
$data = [
"name" => $backend,
"mode" => "http",
@@ -916,12 +931,12 @@ curl -XPOST --user admin:Hapr0xy001 \
];
$uri = '/v3/services/haproxy/configuration/backends?version=' . $cfgver0;
// 202
- list($status_code[1], $result) = $this->getHaProxyPost($base_url,$username,$password,$uri,$data);
+ list($status_code[1], $result) = $this->getHaProxyPost($base_url, $username, $password, $uri, $data);
// TODO: check the status code
// 200
- list($status_code[2], $cfgver) = $this->getHaProxyCfgVer($base_url,$username,$password);
+ list($status_code[2], $cfgver) = $this->getHaProxyCfgVer($base_url, $username, $password);
$cfgver = trim($cfgver);
// Add Server
@@ -939,7 +954,7 @@ curl -XPOST --user admin:Hapr0xy001 \
"http://172.16.4.99:5555/v3//services/haproxy/configuration/backends/$BACKEND/servers?version=$CFGVER" > server.txt
*/
# test => "server4"
- $server = "server".$cfgver0;
+ $server = "server" . $cfgver0;
$data = [
"name" => $server,
"address" => $provisionServer,
@@ -947,29 +962,29 @@ curl -XPOST --user admin:Hapr0xy001 \
"check" => "enabled",
"health_check_port" => (int)$provisionPort
];
- $uri = '/v3/services/haproxy/configuration/backends/'.$backend.'/servers?version=' . $cfgver;
+ $uri = '/v3/services/haproxy/configuration/backends/' . $backend . '/servers?version=' . $cfgver;
// 202
- list($status_code[3], $result) = $this->getHaProxyPost($base_url,$username,$password,$uri,$data);
+ list($status_code[3], $result) = $this->getHaProxyPost($base_url, $username, $password, $uri, $data);
// TODO: check the status code
// 200
- list($status_code[4], $cfgver) = $this->getHaProxyCfgVer($base_url,$username,$password);
+ list($status_code[4], $cfgver) = $this->getHaProxyCfgVer($base_url, $username, $password);
$cfgver = trim($cfgver);
- // Add a new ACL to "http" frontend
-/*
-# https://www.haproxy.com/documentation/dataplaneapi/community/?v=v3#post-/services/haproxy/configuration/frontends/-parent_name-/acls/-index-
-curl -X POST --user admin:Hapr0xy001 \
- -H 'Content-Type: application/json' -H 'Accept: application/json' \
- -d '{
- "acl_name": "acl'$CFGVER'",
- "criterion": "req.hdr(Host)",
- "value": "23233.devprov.mermsemr.com"
- }' \
- "http://172.16.4.99:5555/v3/services/haproxy/configuration/frontends/http/acls/0?version=$CFGVER"
-*/
- $acl = "acl".$cfgver0;
+ // Add a new ACL to "http" frontend
+ /*
+ # https://www.haproxy.com/documentation/dataplaneapi/community/?v=v3#post-/services/haproxy/configuration/frontends/-parent_name-/acls/-index-
+ curl -X POST --user admin:Hapr0xy001 \
+ -H 'Content-Type: application/json' -H 'Accept: application/json' \
+ -d '{
+ "acl_name": "acl'$CFGVER'",
+ "criterion": "req.hdr(Host)",
+ "value": "23233.devprov.mermsemr.com"
+ }' \
+ "http://172.16.4.99:5555/v3/services/haproxy/configuration/frontends/http/acls/0?version=$CFGVER"
+ */
+ $acl = "acl" . $cfgver0;
$data = [
"acl_name" => $acl,
"criterion" => "req.hdr(Host)",
@@ -977,26 +992,26 @@ curl -X POST --user admin:Hapr0xy001 \
];
$uri = '/v3/services/haproxy/configuration/frontends/http/acls/0?version=' . $cfgver;
// 202
- list($status_code[5], $result) = $this->getHaProxyPost($base_url,$username,$password,$uri,$data);
+ list($status_code[5], $result) = $this->getHaProxyPost($base_url, $username, $password, $uri, $data);
// TODO: check the status code
// 200
- list($status_code[6], $cfgver) = $this->getHaProxyCfgVer($base_url,$username,$password);
+ list($status_code[6], $cfgver) = $this->getHaProxyCfgVer($base_url, $username, $password);
$cfgver = trim($cfgver);
- // Add a new Backend Switching Rule to "http" frontend for "use_backend"
-/*
-# https://www.haproxy.com/documentation/dataplaneapi/community/?v=v3#post-/services/haproxy/configuration/frontends/-parent_name-/backend_switching_rules/-index-
-curl -X POST --user admin:Hapr0xy001 \
- -H 'Content-Type: application/json' -H 'Accept: application/json' \
- -d '{
- "name": "'$BACKEND'",
- "cond": "if",
- "cond_test": "'$ACL'"
- }' \
- "http://172.16.4.99:5555/v3/services/haproxy/configuration/frontends/http/backend_switching_rules/0?version=$CFGVER" > use_backend.txt
-*/
+ // Add a new Backend Switching Rule to "http" frontend for "use_backend"
+ /*
+ # https://www.haproxy.com/documentation/dataplaneapi/community/?v=v3#post-/services/haproxy/configuration/frontends/-parent_name-/backend_switching_rules/-index-
+ curl -X POST --user admin:Hapr0xy001 \
+ -H 'Content-Type: application/json' -H 'Accept: application/json' \
+ -d '{
+ "name": "'$BACKEND'",
+ "cond": "if",
+ "cond_test": "'$ACL'"
+ }' \
+ "http://172.16.4.99:5555/v3/services/haproxy/configuration/frontends/http/backend_switching_rules/0?version=$CFGVER" > use_backend.txt
+ */
$data = [
"name" => $backend,
"cond" => "if",
@@ -1004,32 +1019,33 @@ curl -X POST --user admin:Hapr0xy001 \
];
$uri = '/v3/services/haproxy/configuration/frontends/http/backend_switching_rules/0?version=' . $cfgver;
// 202
- list($status_code[7], $result) = $this->getHaProxyPost($base_url,$username,$password,$uri,$data);
+ list($status_code[7], $result) = $this->getHaProxyPost($base_url, $username, $password, $uri, $data);
// TODO: check the status code
// 200
- list($status_code[8], $cfgver) = $this->getHaProxyCfgVer($base_url,$username,$password);
+ list($status_code[8], $cfgver) = $this->getHaProxyCfgVer($base_url, $username, $password);
$cfgver = trim($cfgver);
$codes = "";
- foreach ($status_code as $i=>$code) {
- $codes .= "\n$i => $code";
+ foreach ($status_code as $i => $code) {
+ $codes .= "\n$i => $code";
}
- return [$status_code[7],"FIRST CFGVER=$cfgver0\n\n--- CODES: ----$codes\n\nLAST CFGVER=$cfgver
"];
+ return [$status_code[7], "FIRST CFGVER=$cfgver0\n\n--- CODES: ----$codes\n\nLAST CFGVER=$cfgver
"];
}
- private function getHaproxyPost($base_url,$username,$password,$uri,$data) {
+ private function getHaproxyPost($base_url, $username, $password, $uri, $data)
+ {
$url = $base_url . $uri;
$payload = json_encode($data);
$headers = array(
'Content-Type:application/json',
- 'Authorization: Basic '. base64_encode("$username:$password") // <---
+ 'Authorization: Basic ' . base64_encode("$username:$password") // <---
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
@@ -1038,7 +1054,7 @@ curl -X POST --user admin:Hapr0xy001 \
//$streamVerboseHandle = fopen('php://temp', 'w+');
//curl_setopt($ch, CURLOPT_STDERR, $streamVerboseHandle);
// End Debug
- $result = curl_exec ($ch);
+ $result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code
if ($result === FALSE) {
$result = sprintf("cUrl error (#%d): %s
\n", curl_errno($ch), htmlspecialchars(curl_error($ch)));
@@ -1049,26 +1065,28 @@ curl -X POST --user admin:Hapr0xy001 \
//$result .= "\ncUrl verbose information:\n" . htmlspecialchars($verboseLog) . "
\n";
//$result .= "$payload
\n";
// End Debug
- curl_close ($ch);
+ curl_close($ch);
return [$status_code, $result];
}
- private function getHaproxyGet($base_url,$username,$password,$uri) {
+ private function getHaproxyGet($base_url, $username, $password, $uri)
+ {
$url = $base_url . $uri;
$ch = curl_init();
- curl_setopt($ch, CURLOPT_URL,$url);
+ curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
- $result = curl_exec ($ch);
+ $result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code
- curl_close ($ch);
+ curl_close($ch);
return [$status_code, $result];
}
- private function getHaproxyCfgVer($base_url,$username,$password) {
- return $this->getHaproxyGet($base_url,$username,$password,'/v3/services/haproxy/configuration/version');
+ private function getHaproxyCfgVer($base_url, $username, $password)
+ {
+ return $this->getHaproxyGet($base_url, $username, $password, '/v3/services/haproxy/configuration/version');
}
}