当前位置: 首页>>代码示例>>PHP>>正文


PHP image::generatePassword方法代码示例

本文整理汇总了PHP中image::generatePassword方法的典型用法代码示例。如果您正苦于以下问题:PHP image::generatePassword方法的具体用法?PHP image::generatePassword怎么用?PHP image::generatePassword使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在image的用法示例。


在下文中一共展示了image::generatePassword方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: create_clone_lvm_iscsi_deployment

function create_clone_lvm_iscsi_deployment($cloud_image_id, $image_clone_name, $disk_size)
{
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    global $RESOURCE_INFO_TABLE;
    global $event;
    $event->log("create_clone", $_SERVER['REQUEST_TIME'], 5, "lvm-iscsi-deployment-cloud-hook", "Creating clone of image on storage", "", "", 0, 0, 0);
    // we got the cloudimage id here, get the image out of it
    $cloudimage = new cloudimage();
    $cloudimage->get_instance_by_id($cloud_image_id);
    // get image, this is already the new logical clone
    // we just need to physical snapshot it and update the rootdevice
    $image = new image();
    $image->get_instance_by_id($cloudimage->image_id);
    $image_id = $image->id;
    $image_name = $image->name;
    $image_type = $image->type;
    $image_version = $image->version;
    $image_rootdevice = $image->rootdevice;
    $image_rootfstype = $image->rootfstype;
    $image_storageid = $image->storageid;
    $image_isshared = $image->isshared;
    $image_comment = $image->comment;
    $image_capabilities = $image->capabilities;
    $image_deployment_parameter = $image->deployment_parameter;
    // get image storage
    $storage = new storage();
    $storage->get_instance_by_id($image_storageid);
    $storage_resource_id = $storage->resource_id;
    // get storage resource
    $resource = new resource();
    $resource->get_instance_by_id($storage_resource_id);
    $resource_id = $resource->id;
    $resource_ip = $resource->ip;
    // generate a new image password for the clone
    $image_password = $image->generatePassword(12);
    $image->set_deployment_parameters("IMAGE_ISCSI_AUTH", $image_password);
    // parse the volume group info in the identifier
    $ident_separate = strpos($image_rootdevice, ":");
    $volume_group = substr($image_rootdevice, 0, $ident_separate);
    $root_device = substr($image_rootdevice, $ident_separate);
    $image_location = dirname($root_device);
    $image_location_name = basename($image_location);
    // set default snapshot size
    if (!strlen($disk_size)) {
        $disk_size = 5000;
    }
    // update the image rootdevice parameter
    $ar_image_update = array('image_rootdevice' => "{$volume_group}:/dev/{$image_clone_name}/1");
    $event->log("cloud", $_SERVER['REQUEST_TIME'], 5, "lvm-iscsi-deployment-cloud-hook", "Updating rootdevice of image {$image_id} / {$image_name} with {$volume_group}:/dev/{$image_clone_name}/1", "", "", 0, 0, 0);
    $image->update($image_id, $ar_image_update);
    // send command
    $image_clone_cmd = $OPENQRM_SERVER_BASE_DIR . "/openqrm/plugins/lvm-storage/bin/openqrm-lvm-storage snap -n " . $image_location_name . " -v " . $volume_group . " -t lvm-iscsi-deployment -s " . $image_clone_name . " -m " . $disk_size . " -i " . $image_password . " --openqrm-cmd-mode background";
    $event->log("cloud", $_SERVER['REQUEST_TIME'], 5, "lvm-iscsi-deployment-cloud-hook", "Running : {$image_clone_cmd}", "", "", 0, 0, 0);
    $resource->send_command($resource_ip, $image_clone_cmd);
}
开发者ID:kelubo,项目名称:OpenQRM,代码行数:57,代码来源:openqrm-lvm-iscsi-deployment-cloud-hook.php

示例2: openqrm_cloud_monitor


//.........这里部分代码省略.........
                    $vm_virt->get_instance_by_id($cr->resource_type_req);
                    $virt_name = $vm_virt->get_plugin_name();
                    switch ($virt_name) {
                        case 'vmware-esx':
                        case 'vmware-server':
                        case 'vmware-server2':
                            $mac_res->generate_mac();
                            $suggested_mac = $mac_res->mac;
                            $new_forth_byte_first_bit = rand(1, 3);
                            $new_vm_mac = strtolower($vmware_mac_address_space . ":" . substr($suggested_mac, 9));
                            $new_vm_mac = substr_replace($new_vm_mac, $new_forth_byte_first_bit, 9, 1);
                            break;
                        default:
                            $mac_res->generate_mac();
                            $new_vm_mac = $mac_res->mac;
                            break;
                    }
                    // additional_nics
                    $new_additional_nics = $cr->network_req;
                    // cpu
                    $new_vm_cpu = $cr->cpu_req;
                    // memory
                    $new_vm_memory = 256;
                    if ($cr->ram_req != 0) {
                        $new_vm_memory = $cr->ram_req;
                    }
                    // disk size
                    $new_vm_disk = 5000;
                    if ($cr->disk_req != 0) {
                        $new_vm_disk = $cr->disk_req;
                    }
                    // here we generate the password for the Image and optional vnc of the VM resource
                    $image = new image();
                    $vm_vnc_password = trim($image->generatePassword(12));
                    // put the password in the cr for the image later
                    $cr_update_fields = array();
                    $cr_update_fields['cr_image_password'] = $vm_vnc_password;
                    $cr->update($cr_id, $cr_update_fields);
                    // Create VM
                    // here we start the new vm !
                    $cloudvm = new cloudvm();
                    // this method returns the resource-id
                    $cloudvm->create($cr_cu_id, $appliance_virtualization, $appliance_name, $new_vm_mac, $new_additional_nics, $new_vm_cpu, $new_vm_memory, $new_vm_disk, $vm_create_timout, $vm_vnc_password, $SOURCE_IMAGE_ID);
                    $new_vm_resource_id = $cloudvm->resource_id;
                    // check if creating the new VM resource failed
                    if ($new_vm_resource_id == 0) {
                        $event->log("cloud", $_SERVER['REQUEST_TIME'], 2, "cloud-monitor", "Failed creating a new resource for request ID {$cr_id}!", "", "", 0, 0, 0);
                        $cr->setstatus($cr_id, 'no-res');
                        // send mail to user
                        $rmail = new cloudmailer();
                        $rmail->to = "{$cu_email}";
                        $rmail->from = "{$cc_acr_admin_email}";
                        $rmail->subject = "openQRM Cloud: Not enough resources to provision a system for request " . $cr_id;
                        $rmail->template = $OPENQRM_SERVER_BASE_DIR . "/openqrm/plugins/cloud/etc/mail/not_enough_resources.mail.tmpl";
                        $arr = array('@@ID@@' => "{$cr_id}", '@@FORENAME@@' => "{$cu_forename}", '@@LASTNAME@@' => "{$cu_lastname}", '@@RESNUMBER@@' => "{$cr_resource_number}", '@@YOUR@@' => "your", '@@CLOUDADMIN@@' => $cc_acr_admin_email);
                        $rmail->var_array = $arr;
                        $rmail->send();
                        // send mail to admin
                        $rmail_admin = new cloudmailer();
                        $rmail_admin->to = "{$cc_acr_admin_email}";
                        $rmail_admin->from = "{$cc_acr_admin_email}";
                        $rmail_admin->subject = "openQRM Cloud: Error creating new resource for request " . $cr_id;
                        $rmail_admin->template = $OPENQRM_SERVER_BASE_DIR . "/openqrm/plugins/cloud/etc/mail/not_enough_resources.mail.tmpl";
                        $arr = array('@@ID@@' => "{$cr_id}", '@@FORENAME@@' => "Cloudadmin", '@@LASTNAME@@' => "", '@@RESNUMBER@@' => "{$cr_resource_number}", '@@YOUR@@' => "the", '@@CLOUDADMIN@@' => $cc_acr_admin_email);
                        $rmail_admin->var_array = $arr;
                        $rmail_admin->send();
开发者ID:kelubo,项目名称:OpenQRM,代码行数:67,代码来源:openqrm-cloud-monitor-hook.php

示例3: resize

 function resize()
 {
     $this->set_max();
     $response = $this->get_response();
     $form = $response->form;
     if (!$form->get_errors() && $this->response->submit()) {
         if ($form->get_request('size') > $this->max) {
             $form->set_error('size', sprintf($this->lang['error_size_exeeded'], number_format($this->max, 0, '', '')));
         }
         if ($form->get_request('size') < $this->min) {
             $form->set_error('size', sprintf($this->lang['error_size_undercut'], number_format($this->min, 0, '', '')));
         }
         if (!$form->get_errors()) {
             $name = $form->get_request('name');
             $command = $this->openqrm->get('basedir') . '/plugins/lvm-storage/bin/openqrm-lvm-storage resize';
             $command .= ' -t ' . $this->deployment->type;
             $command .= ' -v ' . $this->volgroup;
             $command .= ' -n ' . $this->lvol;
             $command .= ' -m ' . ($form->get_request('size') - $this->min);
             $command .= ' -u ' . $this->openqrm->admin()->name . ' -p ' . $this->openqrm->admin()->password;
             $command .= ' --openqrm-ui-user ' . $this->user->name;
             $command .= ' --openqrm-cmd-mode background';
             if ($this->deployment->type === 'lvm-iscsi-deployment') {
                 $image = new image();
                 $command .= ' -i ' . $image->generatePassword(12);
             }
             $statfile = $this->openqrm->get('basedir') . '/plugins/lvm-storage/web/storage/' . $this->resource->id . '.' . $this->volgroup . '.lv.stat';
             if (file_exists($statfile)) {
                 unlink($statfile);
             }
             $this->resource->send_command($this->resource->ip, $command);
             while (!file_exists($statfile)) {
                 usleep(10000);
                 // sleep 10ms to unload the CPU
                 clearstatcache();
             }
             $response->msg = sprintf($this->lang['msg_resized'], $this->lvol);
         }
     }
     return $response;
 }
开发者ID:kelubo,项目名称:OpenQRM,代码行数:41,代码来源:lvm-storage.resize.class.php

示例4: add

 function add()
 {
     $response = $this->get_response();
     $form = $response->form;
     if (!$form->get_errors() && $this->response->submit()) {
         if ($form->get_request('size') > $this->max) {
             $form->set_error('size', sprintf($this->lang['error_size_exeeded'], $this->max));
         }
         if (!$form->get_errors()) {
             $name = $form->get_request('name');
             $command = $this->openqrm->get('basedir') . '/plugins/lvm-storage/bin/openqrm-lvm-storage add';
             $command .= ' -n ' . $name . ' -m ' . $form->get_request('size');
             $command .= ' -t ' . $this->deployment->type . ' -v ' . $this->volgroup;
             $command .= ' -u ' . $this->openqrm->admin()->name . ' -p ' . $this->openqrm->admin()->password;
             $command .= ' --openqrm-ui-user ' . $this->user->name;
             $command .= ' --openqrm-cmd-mode background';
             if ($this->deployment->type === 'lvm-iscsi-deployment') {
                 $image = new image();
                 $command .= ' -i ' . $image->generatePassword(12);
             }
             $statfile = $this->openqrm->get('basedir') . '/plugins/lvm-storage/web/storage/' . $this->resource->id . '.' . $this->volgroup . '.lv.stat';
             if (file_exists($statfile)) {
                 $lines = explode("\n", file_get_contents($statfile));
                 if (count($lines) >= 1) {
                     foreach ($lines as $line) {
                         if ($line !== '') {
                             $line = explode('@', $line);
                             $check = $line[1];
                             if ($name === $check) {
                                 $error = sprintf($this->lang['error_exists'], $name);
                             }
                         }
                     }
                 }
             }
             if (isset($error)) {
                 $response->error = $error;
             } else {
                 if (file_exists($statfile)) {
                     unlink($statfile);
                 }
                 $this->resource->send_command($this->resource->ip, $command);
                 while (!file_exists($statfile)) {
                     usleep(10000);
                     // sleep 10ms to unload the CPU
                     clearstatcache();
                 }
                 // add check that volume $name is now in the statfile
                 $created = false;
                 $volume_path = "";
                 $lines = explode("\n", $this->file->get_contents($statfile));
                 if (count($lines) >= 1) {
                     foreach ($lines as $line) {
                         if ($line !== '') {
                             $line = explode('@', $line);
                             $check = $line[1];
                             if ($name === $check) {
                                 $created = true;
                                 switch ($this->deployment->type) {
                                     case 'lvm-aoe-deployment':
                                         // for lvm-aoe deployment we need to get the shelf + slot from get_root_identifiert
                                         $ident_file = $this->openqrm->get('basedir') . '/plugins/lvm-storage/web/storage/' . $this->resource->id . '.lv.lvm-aoe-deployment.ident';
                                         $get_ident_command = $this->openqrm->get('basedir') . '/plugins/lvm-storage/bin/openqrm-lvm-storage post_identifier';
                                         $get_ident_command .= ' -t ' . $this->deployment->type . ' -v ' . $this->volgroup;
                                         $get_ident_command .= ' -u ' . $this->openqrm->admin()->name . ' -p ' . $this->openqrm->admin()->password;
                                         $ident_file = $this->openqrm->get('basedir') . '/plugins/lvm-storage/web/storage/' . $this->resource->id . '.lv.lvm-aoe-deployment.ident';
                                         if (file_exists($ident_file)) {
                                             unlink($ident_file);
                                         }
                                         $this->resource->send_command($this->resource->ip, $get_ident_command);
                                         while (!file_exists($ident_file)) {
                                             usleep(10000);
                                             // sleep 10ms to unload the CPU
                                             clearstatcache();
                                         }
                                         $ident_lines = explode("\n", file_get_contents($ident_file));
                                         if (count($ident_lines) >= 1) {
                                             foreach ($ident_lines as $ident_line) {
                                                 if ($ident_line !== '') {
                                                     $ident_line = explode(',', $ident_line);
                                                     $ident_root_path = explode(':', $ident_line[1]);
                                                     $ident_check = $ident_root_path[1];
                                                     if ($name === $ident_check) {
                                                         $volume_path = $ident_line[1];
                                                         $rootfstype = 'ext3';
                                                         break;
                                                     }
                                                 }
                                             }
                                         }
                                         break;
                                     case 'lvm-nfs-deployment':
                                         $volume_path = '/' . $line[2] . '/' . $line[1];
                                         $rootfstype = 'nfs';
                                         break;
                                     case 'lvm-iscsi-deployment':
                                         $volume_path = $line[2] . ':/dev/' . $line[1] . '/1';
                                         $rootfstype = 'ext3';
                                         break;
                                 }
//.........这里部分代码省略.........
开发者ID:kelubo,项目名称:OpenQRM,代码行数:101,代码来源:lvm-storage.add.class.php

示例5: storage_auth_stop

function storage_auth_stop($image_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $image = new image();
    $image->get_instance_by_id($image_id);
    $image_name = $image->name;
    $image_rootdevice = $image->rootdevice;
    // generate a password for the image
    $image_password = $image->generatePassword(12);
    $image_deployment_parameter = $image->deployment_parameter;
    $storage = new storage();
    $storage->get_instance_by_id($image->storageid);
    $storage_resource = new resource();
    $storage_resource->get_instance_by_id($storage->resource_id);
    $storage_ip = $storage_resource->ip;
    $deployment = new deployment();
    $deployment->get_instance_by_type($image->type);
    $deployment_type = $deployment->type;
    $deployment_plugin_name = $deployment->storagetype;
    $event->log("storage_auth_stop_in_background", $_SERVER['REQUEST_TIME'], 5, "openqrm-iscsi-deployment-auth-hook.php", "Authenticating {$image_name} / {$image_rootdevice} with password {$image_password}", "", "", 0, 0, $appliance_id);
    $auth_stop_cmd = $OPENQRM_SERVER_BASE_DIR . "/openqrm/plugins/" . $deployment_plugin_name . "/bin/openqrm-" . $deployment_plugin_name . " auth -r " . $image_rootdevice . " -i " . $image_password . " --openqrm-cmd-mode background";
    $resource = new resource();
    $resource->send_command($storage_ip, $auth_stop_cmd);
    // and update the image params
    $image->set_deployment_parameters("IMAGE_ISCSI_AUTH", $image_password);
}
开发者ID:kelubo,项目名称:OpenQRM,代码行数:29,代码来源:openqrm-iscsi-deployment-auth-hook.php

示例6: storage_auth_stop

function storage_auth_stop($image_id)
{
    global $event;
    global $OPENQRM_SERVER_BASE_DIR;
    global $OPENQRM_SERVER_IP_ADDRESS;
    global $OPENQRM_EXEC_PORT;
    $image = new image();
    $image->get_instance_by_id($image_id);
    $image_name = $image->name;
    $image_rootdevice = $image->rootdevice;
    // generate a password for the image
    $image_password = $image->generatePassword(12);
    $image_deployment_parameter = $image->deployment_parameter;
    // parse the volume group info in the identifier
    $ident_separate = strpos($image_rootdevice, ":");
    $volume_group = substr($image_rootdevice, 0, $ident_separate);
    $root_device = substr($image_rootdevice, $ident_separate);
    $image_location = dirname($root_device);
    $image_location_name = basename($image_location);
    $storage = new storage();
    $storage->get_instance_by_id($image->storageid);
    $storage_resource = new resource();
    $storage_resource->get_instance_by_id($storage->resource_id);
    $storage_ip = $storage_resource->ip;
    $deployment = new deployment();
    $deployment->get_instance_by_type($image->type);
    $deployment_type = $deployment->type;
    $deployment_plugin_name = $deployment->storagetype;
    $auth_stop_cmd = $OPENQRM_SERVER_BASE_DIR . "/openqrm/plugins/" . $deployment_plugin_name . "/bin/openqrm-" . $deployment_plugin_name . " auth -r /dev/" . $volume_group . "/" . $image_location_name . " -i " . $image_password . " -t lvm-iscsi-deployment --openqrm-cmd-mode background";
    $resource = new resource();
    $resource->send_command($storage_ip, $auth_stop_cmd);
    // and update the image params
    $image->set_deployment_parameters("IMAGE_ISCSI_AUTH", $image_password);
}
开发者ID:kelubo,项目名称:OpenQRM,代码行数:34,代码来源:openqrm-lvm-iscsi-deployment-auth-hook.php


注:本文中的image::generatePassword方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。