PROV flavor

This commit is contained in:
CHIEFSOFT\ameye
2025-11-24 22:41:17 -05:00
parent 5cfc74c365
commit 8481b75688
+68 -16
View File
@@ -8,7 +8,7 @@ class Provision extends BaseController
public function testSocket(): void public function testSocket(): void
{ {
// TELL THE SOCKET TO REFRESH PAGE // TELL THE SOCKET TO REFRESH PAGE
// $data["product_uid"] = "bea86662-adb3-4c09-816b-014f450d9713"; // 3cc24fd6-e6c7-4c08-8a64-f06e3f790f38 // $data["product_uid"] = "bea86662-adb3-4c09-816b-014f450d9713"; // 3cc24fd6-e6c7-4c08-8a64-f06e3f790f38
$data["product_uid"] = "3cc24fd6-e6c7-4c08-8a64-f06e3f790f38"; // $data["product_uid"] = "3cc24fd6-e6c7-4c08-8a64-f06e3f790f38"; //
$data["provision_action"] = "Auto%20Configuration%20Started"; $data["provision_action"] = "Auto%20Configuration%20Started";
$SOCKET_SERVER_LOCATION = $_ENV['SOCKET_SERVER_LOCATION']; $SOCKET_SERVER_LOCATION = $_ENV['SOCKET_SERVER_LOCATION'];
@@ -219,13 +219,16 @@ class Provision extends BaseController
return 0; return 0;
} }
private function assignProvideImageName($productId, $provisionUID) private function assignProvideImageName($productId, $provisionUID): array
{ {
$PROVISION_IMAGE_NAME = match ($productId) { // $PROVISION_IMAGE_NAME = match ($productId) {
"A000001" => "registry.chiefsoft.com/pweb/pweb-01-merms-pweb0006c:latest", // "A000001" => "registry.chiefsoft.com/pweb/pweb-01-merms-pweb0006c:latest",
"A000002" => "registry.chiefsoft.com/bweb/bweb-01-merms-pweb0006c:latest", // "A000002" => "registry.chiefsoft.com/bweb/bweb-01-merms-pweb0006c:latest",
default => '', // default => '',
}; // };
$PROVISION_IMAGE_NAME = '';
$PROVISION_IMAGE_FLAVOR = 'P' . rand(1, 6); // temporary - should be blank
// let us confirm if we have a custom template for this line // let us confirm if we have a custom template for this line
$provisionUID = trim($provisionUID); $provisionUID = trim($provisionUID);
$mysql = "SELECT * FROM members_products WHERE uid::text = '$provisionUID'"; $mysql = "SELECT * FROM members_products WHERE uid::text = '$provisionUID'";
@@ -243,13 +246,16 @@ class Provision extends BaseController
if (count($imageData)) { if (count($imageData)) {
$this->assignTemplateToProvision($provisionUID, $imageData["provision_uid"]); //stamp image on the provison $this->assignTemplateToProvision($provisionUID, $imageData["provision_uid"]); //stamp image on the provison
$PROVISION_IMAGE_NAME = $imageData["provision_name"]; $PROVISION_IMAGE_NAME = $imageData["provision_name"];
$PROVISION_IMAGE_FLAVOR = $imageData["flavor"];
} }
} }
if ($product_template != '') { // We have a template if ($product_template != '') { // We have a template
$provision_name = $this->selectTemplateFromUID($product_template); //$provision_name = $this->selectTemplateFromUID($product_template);
if ($provision_name != '') { $provision_data = $this->selectTemplateDetailsFromUID($product_template);
$PROVISION_IMAGE_NAME = $provision_name; if ($provision_data[0] != '') {
$PROVISION_IMAGE_NAME = $provision_data[0]; // $provision_name;
$PROVISION_IMAGE_FLAVOR = $provision_data[1];
} }
} }
@@ -257,12 +263,13 @@ class Provision extends BaseController
$provision_name = $this->selectCustomnTemplateFromName($custom_template); $provision_name = $this->selectCustomnTemplateFromName($custom_template);
if ($provision_name != '') { if ($provision_name != '') {
$PROVISION_IMAGE_NAME = $provision_name; $PROVISION_IMAGE_NAME = $provision_name;
$PROVISION_IMAGE_FLAVOR = "";
} }
} }
log_message('critical', "***** ***** assignProvideImageName ProductTemplate: $PROVISION_IMAGE_NAME CustomTemplate: $custom_template "); log_message('critical', "***** ***** assignProvideImageName ProductTemplate: $PROVISION_IMAGE_NAME CustomTemplate: $custom_template ");
} }
return $PROVISION_IMAGE_NAME; return [$PROVISION_IMAGE_NAME,$PROVISION_IMAGE_FLAVOR];
} }
private function selectCustomnTemplateFromName($custom_id) private function selectCustomnTemplateFromName($custom_id)
@@ -279,6 +286,22 @@ class Provision extends BaseController
return $provision_name; return $provision_name;
} }
private function selectTemplateDetailsFromUID($template_uid): array
{
$mysql = "SELECT * FROM products_templates WHERE uid::text = '$template_uid'";
$query = $this->db->query($mysql);
$template_detail = $query->getResult();
$provision_name = '';
$provision_flavor = '';
if (count($template_detail) > 0) {
//var_dump($provision_detail[0]);
$result = $template_detail[0]; // Get results as an array of objects
$provision_name = trim($result->provision_name);
$provision_flavor = trim($result->flavor);
}
return [$provision_name, $provision_flavor];
}
private function selectTemplateFromUID($template_uid) private function selectTemplateFromUID($template_uid)
{ {
$mysql = "SELECT * FROM products_templates WHERE uid::text = '$template_uid'"; $mysql = "SELECT * FROM products_templates WHERE uid::text = '$template_uid'";
@@ -295,7 +318,7 @@ class Provision extends BaseController
private function pickLatestImage($productId) private function pickLatestImage($productId)
{ {
$mysql = "SELECT uid::text AS provision_uid,provision_name FROM products_templates $mysql = "SELECT uid::text AS provision_uid,provision_name,flavor FROM products_templates
WHERE product_id = trim('$productId') WHERE product_id = trim('$productId')
AND status = 1 ORDER BY id DESC limit 1"; AND status = 1 ORDER BY id DESC limit 1";
$query = $this->db->query($mysql); $query = $this->db->query($mysql);
@@ -306,6 +329,7 @@ class Provision extends BaseController
$result = $template_detail[0]; // Get results as an array of objects $result = $template_detail[0]; // Get results as an array of objects
$data["provision_uid"] = $result->provision_uid; $data["provision_uid"] = $result->provision_uid;
$data["provision_name"] = $result->provision_name; $data["provision_name"] = $result->provision_name;
$data["flavor"] = $result->flavor;
} }
return $data; return $data;
} }
@@ -326,14 +350,16 @@ class Provision extends BaseController
// default => '', // default => '',
// }; // };
// //
$PROVISION_IMAGE_NAME = $this->assignProvideImageName($productId, $provisionUID); $PROVISION_IMAGE_DATA = $this->assignProvideImageName($productId, $provisionUID);
$PROVISION_IMAGE_NAME = $PROVISION_IMAGE_DATA[0]; // $this->assignProvideImageName($productId, $provisionUID);
$PROVISION_IMAGE_FLAVOR = $PROVISION_IMAGE_DATA[1];
$partMachineLocal = $_ENV['PATH_MACHINE_LOCAL']; $partMachineLocal = $_ENV['PATH_MACHINE_LOCAL'];
$SITE_CONTENTS_GATEWAY = $_ENV['SITE_CONTENTS_GATEWAY']; $SITE_CONTENTS_GATEWAY = $_ENV['SITE_CONTENTS_GATEWAY'];
$SITE_CONTACT_GATEWAY = $_ENV['SITE_CONTACT_GATEWAY']; $SITE_CONTACT_GATEWAY = $_ENV['SITE_CONTACT_GATEWAY'];
$MYSQL_PROVISION_DATABASE_PORT = $_ENV['PROVISION_MSQL_DATABASE_IP'] . ":" . $_ENV['PROVISION_MSQL_DATABASE_PORT']; // "172.16.4.96:3307"; $MYSQL_PROVISION_DATABASE_PORT = $_ENV['PROVISION_MSQL_DATABASE_IP'] . ":" . $_ENV['PROVISION_MSQL_DATABASE_PORT']; // "172.16.4.96:3307";
$destinationHomeFolder = $_ENV['DESTINATION_HOME_FOLDER'] . $ContainerName; $destinationHomeFolder = $_ENV['DESTINATION_HOME_FOLDER'] . $ContainerName;
$templateRandom = 'P' . rand(1, 6); //$templateRandom = 'P' . rand(1, 6);
$composer_template_contents = str_replace("WHAT_CONTAINER_NAME", $ContainerName, $composer_template_contents); $composer_template_contents = str_replace("WHAT_CONTAINER_NAME", $ContainerName, $composer_template_contents);
$composer_template_contents = str_replace("DESTINATION_FOLDER", $destinationHomeFolder, $composer_template_contents); $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("ALLOCATED_PORT", $allocatedPort, $composer_template_contents);
@@ -344,7 +370,7 @@ class Provision extends BaseController
$composer_template_contents = str_replace("PROVISION_IMAGE_NAME_REPLACE", $PROVISION_IMAGE_NAME, $composer_template_contents); $composer_template_contents = str_replace("PROVISION_IMAGE_NAME_REPLACE", $PROVISION_IMAGE_NAME, $composer_template_contents);
$composer_template_contents = str_replace("SITE_CONTENTS_URL_REPLACE", $SITE_CONTENTS_GATEWAY, $composer_template_contents); $composer_template_contents = str_replace("SITE_CONTENTS_URL_REPLACE", $SITE_CONTENTS_GATEWAY, $composer_template_contents);
$composer_template_contents = str_replace("SITE_CONTACT_URL_REPLACE", $SITE_CONTACT_GATEWAY, $composer_template_contents); $composer_template_contents = str_replace("SITE_CONTACT_URL_REPLACE", $SITE_CONTACT_GATEWAY, $composer_template_contents);
$composer_template_contents = str_replace("TEMPLATE_NAME_REPLACE", $templateRandom, $composer_template_contents); $composer_template_contents = str_replace("TEMPLATE_NAME_REPLACE", $PROVISION_IMAGE_FLAVOR, $composer_template_contents);
try { try {
//Save to the specific path //Save to the specific path
@@ -381,7 +407,6 @@ class Provision extends BaseController
} }
// GET THE TEMPLATE FOR THIS PROVISIONING // GET THE TEMPLATE FOR THIS PROVISIONING
return $composer_template_contents; return $composer_template_contents;
} }
@@ -399,6 +424,25 @@ class Provision extends BaseController
log_message('critical', "***** ***** scheduleRefreshAction Started:: () "); log_message('critical', "***** ***** scheduleRefreshAction Started:: () ");
} }
} }
$mysql = "SELECT * FROM member_product_refresh WHERE product_id IN ('A000003','A000004') 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);
$subscriptionUId = $pr->subscription_uid;
if ($this->refreshBlogProvision($subscriptionUId) == 100) {
log_message('critical', "***** ***** scheduleRefreshAction Started:: () ");
}
}
}
private function refreshBlogProvision($subscriptionUId): int
{
return 0;
} }
private function refreshProvision($subscriptionUId): int private function refreshProvision($subscriptionUId): int
@@ -782,6 +826,14 @@ class Provision extends BaseController
return 0; return 0;
} }
/*
// $data["product_uid"] = "bea86662-adb3-4c09-816b-014f450d9713"; // 3cc24fd6-e6c7-4c08-8a64-f06e3f790f38
$data["product_uid"] = "3cc24fd6-e6c7-4c08-8a64-f06e3f790f38"; //
$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);
*/
public function releaseProvision() public function releaseProvision()
{ {
log_message('critical', "***** ***** ReleaseProvision :: Execute Actual Provisioning() "); log_message('critical', "***** ***** ReleaseProvision :: Execute Actual Provisioning() ");