PROV flavor
This commit is contained in:
@@ -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() ");
|
||||||
|
|||||||
Reference in New Issue
Block a user