How to give the user enough priviledge to reserve many machines at the same time

2010-01-12 Thread yu267155364
I build a VCL environment recently. One problem I meet is I can't reserve 
second machine after I reserving first one, even I am administrator. Is 
there any way can reserve multiple machines? Only way I discover now is that 
adding sub-image into one image.


Thanks,

Xianqing 



How to balance the workload on different blades

2010-01-21 Thread yu267155364

To whom it may concern:

Currently I am running ESX 3i servers on 7 blades. My VCL has 50 virtual 
machines can be allocated. My question is that how to balance the workload 
on different blades? For instance, 7 virtual machines have been reserved, in 
order to get best performance, how to allocate each virtual machine to 
different blades?


Thanks,

Xianqing 



Re: How to balance the workload on different blades

2010-01-26 Thread yu267155364

Hi,

Do you know where is the code VCL decides which computer will be used for 
reservation, and how this decision is being made? I am still trying to 
optimize the workload for now.


Xianqing

--
From: Josh Thompson josh_thomp...@ncsu.edu
Sent: Monday, January 25, 2010 09:07 AM
To: vcl-dev@incubator.apache.org
Subject: Re: How to balance the workload on different blades


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Xianqing,

The scheduler doesn't provide a way to do this right now.  We will be 
doing a
major overhaul to VM management in the 2.4 release which should provide 
what

you are asking.

Josh

On Thu January 21 2010 10:04:16 pm yu267155...@hotmail.com wrote:

To whom it may concern:

Currently I am running ESX 3i servers on 7 blades. My VCL has 50 virtual
machines can be allocated. My question is that how to balance the 
workload

on different blades? For instance, 7 virtual machines have been reserved,
in order to get best performance, how to allocate each virtual machine to
different blades?

Thanks,

Xianqing


- -- 
- ---

Josh Thompson
Systems Programmer
Virtual Computing Lab (VCL)
North Carolina State University

josh_thomp...@ncsu.edu
919-515-5323

my GPG/PGP key can be found at www.keyserver.net
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.11 (GNU/Linux)

iD8DBQFLXaW2V/LQcNdtPQMRApkfAJwJ5XtBSwyBbg7kmlFeo1LjhiMfHACfTGvh
EGCmFLL7JpdguAapdZv5Za0=
=LrV7
-END PGP SIGNATURE-



Re: How to balance the workload on different blades

2010-01-27 Thread yu267155364

Josh,

What I want to do is that make the workloads on each blade are equal. For 
instance, there are 6 virtual machines running in the system which has 6 
blades, I hope VCL can select a computer which belong to a host that has the 
lowest current workload. So in the end, each virtual machine can be running 
on different blades.


Thanks,

Xianqing

--
From: Josh Thompson josh_thomp...@ncsu.edu
Sent: Wednesday, January 27, 2010 06:46 AM
To: vcl-dev@incubator.apache.org
Subject: Re: How to balance the workload on different blades


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Xianqing,

The scheduling algorithm is in isAvailable in utils.php.  It would be
difficult to describe the whole thing.  Have a look at the code first.  If
you have specific questions about it, ask here.

Before you make changes to the code, it would be useful if you would 
describe
what you are planning on doing.  You may be doing something useful to 
other

parts of the community or even the whole community.  If so, we can provide
feedback on what may be the best way to implement the changes you are 
making

so that they can be most easily incorporated into the official codebase.

Thanks,
Josh

On Tue January 26 2010 3:38:37 pm yu267155...@hotmail.com wrote:

Hi,

Do you know where is the code VCL decides which computer will be used for
reservation, and how this decision is being made? I am still trying to
optimize the workload for now.

Xianqing

--
From: Josh Thompson josh_thomp...@ncsu.edu
Sent: Monday, January 25, 2010 09:07 AM
To: vcl-dev@incubator.apache.org
Subject: Re: How to balance the workload on different blades

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Xianqing,

 The scheduler doesn't provide a way to do this right now.  We will be
 doing a
 major overhaul to VM management in the 2.4 release which should provide
 what
 you are asking.

 Josh

 On Thu January 21 2010 10:04:16 pm yu267155...@hotmail.com wrote:
 To whom it may concern:

 Currently I am running ESX 3i servers on 7 blades. My VCL has 50 
 virtual

 machines can be allocated. My question is that how to balance the
 workload
 on different blades? For instance, 7 virtual machines have been
 reserved, in order to get best performance, how to allocate each 
 virtual

 machine to different blades?

 Thanks,

 Xianqing

 - --
 - ---
 Josh Thompson
 Systems Programmer
 Virtual Computing Lab (VCL)
 North Carolina State University

 josh_thomp...@ncsu.edu
 919-515-5323

 my GPG/PGP key can be found at www.keyserver.net
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.11 (GNU/Linux)

 iD8DBQFLXaW2V/LQcNdtPQMRApkfAJwJ5XtBSwyBbg7kmlFeo1LjhiMfHACfTGvh
 EGCmFLL7JpdguAapdZv5Za0=
 =LrV7
 -END PGP SIGNATURE-
- -- 
- ---

Josh Thompson
Systems Programmer
Virtual Computing Lab (VCL)
North Carolina State University

josh_thomp...@ncsu.edu
919-515-5323

my GPG/PGP key can be found at www.keyserver.net
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.11 (GNU/Linux)

iD8DBQFLYCekV/LQcNdtPQMRAlbDAJ9rE0+ShOzKpZ3QUdR846Mls1Oy6gCcDJsI
ILphaDYRE85QmPAk8PoRZFw=
=fWOT
-END PGP SIGNATURE-



The modified code for randomly choosing computer for the reservation

2010-02-22 Thread yu267155364

Hi,

I insert my code to the function allocComputer in the utils.php. The main 
function of my code is randomly pick up a machine from the computer array 
and return it to the caller. The reason is that I want to distribute the 
reserved virtual machine to different blades, therefore balance the 
workload.


Generally, what I am doing is that, I check the length of available computer 
in the array first, and randomly pick up machines from the array. Then I 
exchange this machine's id with array(0). At last, I pass this array to 
original allocComputer code to check computer's availability and set up the 
computer id.


This is simple code to achieve the some extent of distribution. For your 
reference, this is my allocComputer code.


Thanks,

Xianqing



///
/// \fn allocComputer($blockids, $currentids, $computerids, $start,
///   $nowfuture)
///
/// \param $blockids - array of computer ids
/// \param $currentids - array of computer ids
/// \param $computerids - array of computer ids
/// \param $start - start time in datetime format
/// \param $nowfuture - now or future
///
/// \return empty array if failed to allocate a computer; array with these 
keys

/// on success:\n
/// \b compid - id of computer\n
/// \b mgmtid - id of management node for computer\n
/// \b loaded - 0 or 1 - whether or not computer is loaded with desired 
image

///
/// \brief determines a computer to use from $blockids, $currentids,
/// and $computerids, looking at the arrays in that order and
/// tries to allocate a management node for it
///

function allocComputer($blockids, $currentids, $computerids, $start,
  $nowfuture) {
$ret = array();

if (count($blockids)  0)
{
$random_number = rand(0,count($blockids) - 1);
while($blockids[$random_number] == null)
$random_number = rand(0,count($blockids) - 1);
$tp = $blockids[0];
$blockids[0] = $blockids[$random_number];
$blockids[$random_number] = $tp;
#   printArray($blockids);
}
foreach($blockids as $compid) {
$mgmtnodeid = findManagementNode($compid, $start, $nowfuture);
if($mgmtnodeid == 0)
continue;
$ret['compid'] = $compid;
$ret['mgmtid'] = $mgmtnodeid;
$ret['loaded'] = 1;
return $ret;
}

if (count($currentids)  0)
{
$random_number1 = rand(0,count($currentids) - 1);
while($currentids[$random_number1] == null)
$random_number1 = rand(0,count($currentids) - 1);
$tp1 = $currentids[0];
$currentids[0] = $currentids[$random_number1];
$currentids[$random_number1] = $tp1;
#   printArray($currentids);
}
foreach($currentids as $compid) {
$mgmtnodeid = findManagementNode($compid, $start, $nowfuture);
if($mgmtnodeid == 0)
continue;
$ret['compid'] = $compid;
$ret['mgmtid'] = $mgmtnodeid;
$ret['loaded'] = 1;
return $ret;
}

if (count($computerids)  0)
{
$random_number2 = rand(0,count($computerids) - 1);
while($computerids[$random_number2] == null)
$random_number2 = rand(0,count($computerids) - 1);
$tp2 = $computerids[0];
$computerids[0] = $computerids[$random_number2];
$computerids[$random_number2] = $tp2;
#   printArray($computerids);
}
foreach($computerids as $compid) {
$mgmtnodeid = findManagementNode($compid, $start, $nowfuture);
if($mgmtnodeid == 0)
continue;
$ret['compid'] = $compid;
$ret['mgmtid'] = $mgmtnodeid;
$ret['loaded'] = 0;
return $ret;
}
return $ret;
}




How to disable cache

2010-06-14 Thread yu267155364
I am working on deploying VCL code. And I know virtual machine caching 
mechnism, which will boot VM before user making reservation, is useful. 
However, I want to disable the VM caching mechnism so I can develop some 
specific provisioning module. Is there any way can disable the caching 
mechnism in the VCL code?


Thanks,

Xianqing 



Re: Short question - VCL backend

2010-06-18 Thread yu267155364

Hi VCL team and Justin,

I am Xianqing, and NC state unviersity student. I just finish the project 
which porting the VCL to EC2. What I am doing is added the new provisioning 
module ec2.pm and modify 5 lines of vcl code in image.pm. The new module 
will use the EC2 api to manage virutal machine. You can use VCL interface to 
make the reservation, update the image, and create the new image. Welcome to 
ask any questions about that?


Hi VCL team,

I would like to contribute the new module to the VCL incubator in next few 
days. I submitted ICLA, so the next step to contribute my code is post it on 
the JIRA, right? Is there anythings else I have to do?


Thanks,

Xianqing

--
From: aaron_pee...@ncsu.edu
Sent: Tuesday, June 15, 2010 04:50 PM
To: vcl-dev@incubator.apache.org
Subject: Re: Short question - VCL backend


Hello Justin,

Welcome.

For the most part the vcl api is currently setup for the backend calls, or
a third party app to request a VCL resource, manage users, etc, so it's
currently supporting incoming api calls.

There might be a better way but my first thought is that a new perl
provisioning module could be created to make the api calls to EC2 or some
other cloud/cluster to accomplish this.

In addition to adding a provisioning module, the vcl database would need
to have placeholders for EC2/Eucalyptus computer resources, so it would
know what/how many compute nodes are available, etc.

Aaron



Hello VCL dev team,

My name is Justin, and I am currently researching VCL for academic
purposes
and attempting to set up a potential testing environment based on the
tutorial
herehttps://cwiki.apache.org/VCL/configuring-a-standalone-vmware-vcl-environment.html.

I was wondering, is it possible to set up a different back end, such as
Eucalyptus or EC2 using the current web interface? (I noticed one of the
features is API support for making requests and provisioning resources,
so
maybe the Amazon API can be used?)
 Also, I am installing this on Ubuntu 9.10 and apparently I have to
rebuild
the Linux kernel to install VMware... does this seem correct?

- Justin






Re: Short question - VCL backend

2010-06-21 Thread yu267155364



--
From: Justin Duperre jdupe...@gmail.com
Sent: Monday, June 21, 2010 11:11 AM
To: vcl-dev@incubator.apache.org
Subject: Re: Short question - VCL backend


Hello Xianqing,

This sounds really cool! I am actually in the process of setting up a test
environment on a single physical machine, but i hit a roadblock with 
VMware

(compatibility issues). I was able to get VCL(DB, front end, mgt. node) up
and running, and am able to access the front end via localhost.

I am hoping to have more success with your provisioning module. I actually
have a eucalyptus private cloud set up already. I have used the HybridFox
FireFox plug-in - overall it is pretty good, but the VCL front end is more
desirable. Since the EC2 API is the same as the Eucalyptus API, I should 
be

able to access this private cloud availability zone, to perform the
operations you described, right?


Yes, I think so. But you probably need to correctly configure some globe 
environment variables, so EC2 API can be used when commands are called in 
the perl code.





I would like to begin testing as soon as it is released - does this 
involve
simply replacing the modified files you described? (or a fresh VCL 
install).


You just need a freash VCL install, and then replace one module of VCL code. 
I will specify inside the JIRA later.




- Justin