Okay fixed, just do this: sudo pip uninstall cloudmonkey sudo pip install cloudmonkey
in your config add timeout = 3600 and asyncblock = true, cloudmonkey will guide you where to do it. Checkout bug issue, or commit on usage. Regards. On 16-Nov-2012, at 1:49 PM, Dave Cahill <dcah...@midokura.jp> wrote: > Fantastic, thanks Rohit. I have saved a bunch of time already using > CloudMonkey! > > > On Fri, Nov 16, 2012 at 5:17 PM, Rohit Yadav <rohit.ya...@citrix.com> wrote: > >> Thanks Dave for filing the issue, will try to fix this by end of the day. >> If not, I will post my solution on the issue. >> Regards. >> On 16-Nov-2012, at 1:19 PM, Dave Cahill <dcah...@midokura.jp> wrote: >> >>> Thanks Rohit - filed this bug to track the issue: >>> https://issues.apache.org/jira/browse/CLOUDSTACK-499 >>> >>> If you have time to write a description of how you're planning to fix >> it, I >>> could take a look at it - I have my setup 99% automated, just need to get >>> this param passing working. :) >>> >>> Thanks, >>> Dave. >>> >>> >>> On Thu, Nov 15, 2012 at 11:20 PM, Rohit Yadav <rohit.ya...@citrix.com >>> wrote: >>> >>>> >>>> On 15-Nov-2012, at 3:26 PM, Dave Cahill <dcah...@midokura.jp> wrote: >>>> >>>>> Hi Rohit, >>>>> >>>>> I've been using cloudmonkey to script my CloudStack setup process in >> dev, >>>>> and had one question. >>>>> >>>>> How do we pass complex (MAP) parameters to cloudmonkey? For example, >> when >>>>> setting up a networkoffering, there's a serviceProviderList parameter >>>> which >>>>> is a list of items, each of which has several key value pairs. I tried >> a >>>>> couple of syntaxes to pass this parameter, but didn't come across the >>>>> correct one yet - can you enlighten me? ;) >>>> >>>> Hi Dave, thanks for catching the bug. The way maps are handled in url >> are >>>> very different than how cloudmonkey parses and passing key,values. >>>> This actually needs to be fixed in Marvin, I've figured out a way but it >>>> may cause issues with marvin, will discuss with Prasanna and fix it >> soon. >>>> >>>> You may file an issues if you want to. >>>> >>>> Regards. >>>> >>>>> >>>>> Thanks for your work on this, very useful. >>>>> >>>>> Thanks, >>>>> Dave. >>>>> >>>>> >>>>> On Mon, Nov 12, 2012 at 7:01 PM, Rohit Yadav <rohit.ya...@citrix.com> >>>> wrote: >>>>> >>>>>> Hi Charles, >>>>>> >>>>>> Karaf seems nice, and no worries I don't see any suggestions as flames >>>> or >>>>>> war. I would anytime throw away any code for something better, so feel >>>> free >>>>>> to start writing your own client and share with us. Patches welcome! >>>>>> >>>>>> Let me share why I wrote it in Python: >>>>>> >>>>>> - First of all the CLI is not even a client to start with, I mean I've >>>>>> totally based it off marvin. It's a small wrapper I would say around >>>> marvin. >>>>>> - Python because, the environment is preinstalled on Macs and almost >> all >>>>>> Linux distros. >>>>>> - Scripting environment that Python provides so one can fork and edit >>>>>> their own versions of cloudmonkey CLI, this saves the user from >>>>>> hack->compile->build->run loop; one can just hack and run. >>>>>> - The best part again is marvin as dependency, you write javadocs etc. >>>> in >>>>>> your java code, apidocs gets interface definition and requirements >> from >>>> the >>>>>> java code, the commands.xml created in the process is used by marvin's >>>>>> codegenerator which generates api modules with Cmd and Response >>>> classes. >>>>>> The generated cloudstackAPI is used by both marvin clients and the >> CLI. >>>> The >>>>>> CLI which is about 400 lines of Python, in turn loads these modules >> and >>>>>> generates grammar and command handlers on the fly using some >> functional >>>>>> magic (injects functions into the classes), I don't think this kind of >>>>>> programming is even possible with Java, they don't have functions as >>>> first >>>>>> class citizens. >>>>>> >>>>>> What does the last statement mean for the developers: >>>>>> So, if a developer simply adds a new API which is java code, with >>>> required >>>>>> docs etc. apidocs will pick it up automatically and in turn marvin >> (and >>>>>> it's test clients) will get new cloudstackAPI and CLI too gets the new >>>> APIs >>>>>> on the fly. The functional closures in CLI will make sure the new APIs >>>> and >>>>>> its handlers are created with grammar rules. The developer won't need >> to >>>>>> change apidocs, marvin or CLI. I think this is one of my best hacks >> [0] >>>>>> which leverages on existing code and I think it would be very >>>> maintainable >>>>>> in future. >>>>>> >>>>>> Sorry everyone, I'm caught up with some other issues, I want to post a >>>>>> screencast and blog explaining the CLI but only after I finalize the >>>> specs >>>>>> for the CLI. Thanks for the feedback so far. >>>>>> The top TODOs left now are: >>>>>> - Reverse search >>>>>> - Bash/zsh completion >>>>>> >>>>>> Regards. >>>>>> PS. Just in case you're curious: >>>>>> [0] https://github.com/bhaisaab/hacktools >>>>>> >>>>>> ________________________________________ >>>>>> From: Charles Moulliard [ch0...@gmail.com] >>>>>> Sent: Monday, November 12, 2012 12:49 PM >>>>>> To: cloudstack-dev >>>>>> Subject: Re: CLI for CloudStack: cloudmonkey >>>>>> >>>>>> Hi, >>>>>> >>>>>> I don't want to create a developer war or position a technology >> against >>>>>> another (python against java) but we could leverage Apache Karaf (OSGI >>>>>> runtime container) project to provide the cloudmonkey client. This >> work >>>> has >>>>>> already be done for jclouds ( >> http://www.youtube.com/watch?v=EKVkm6AV19U >>>> , >>>>>> https://github.com/jclouds/jclouds-karaf) and could be easily >>>>>> created >>>>>> created for cloudmonkey. Karaf which is a shell environment proposes a >>>> lot >>>>>> of by default features (http://karaf.apache.org/ : ssh, jaas, >>>>>> provisioning, >>>>>> administration, history, config files support, ... - >>>>>> >> http://karaf.apache.org/manual/latest-2.3.x/developers-guide/index.html >>>> ) >>>>>> that we could extend with cloudmonkey commands ( >>>>>> >>>>>> >>>> >> http://karaf.apache.org/manual/latest-2.3.x/developers-guide/extending-console.html >>>>>> ) >>>>>> and rebrand Karaf into a cloudmonkey karaf container. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Charles >>>>>> >>>>>> >>>>>> On Fri, Nov 9, 2012 at 10:53 PM, Musayev, Ilya <imusa...@webmd.net> >>>> wrote: >>>>>> >>>>>>> I guess mine got wiped somehow... >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Musayev, Ilya [mailto:imusa...@webmd.net] >>>>>>> Sent: Friday, November 09, 2012 4:51 PM >>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>> Subject: RE: CLI for CloudStack: cloudmonkey >>>>>>> >>>>>>> Rohit >>>>>>> >>>>>>> History seems to retain only last session and not previous - is this >> by >>>>>>> design? >>>>>>> >>>>>>> Thanks >>>>>>> ilya >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: sebgoa [mailto:run...@gmail.com] >>>>>>> Sent: Friday, November 09, 2012 4:52 AM >>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>> Subject: Re: CLI for CloudStack: cloudmonkey >>>>>>> >>>>>>> Using lower case commands solved the issue >>>>>>> >>>>>>> thanks, and happy Diwali >>>>>>> >>>>>>> -Sebastien >>>>>>> >>>>>>> On Nov 8, 2012, at 8:14 PM, Rohit Yadav wrote: >>>>>>> >>>>>>>> Oh, forgot to see that. Yes, now all the cmds are lowercase (except >>>> for >>>>>>> few params liks isAsync=) and tab completion is advised. >>>>>>>> >>>>>>>> Regards. >>>>>>>> ________________________________________ >>>>>>>> From: Kishan Kavala [kishan.kav...@citrix.com] >>>>>>>> Sent: Thursday, November 08, 2012 11:29 PM >>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>> Cc: cloudstack-dev@incubator.apache.org >>>>>>>> Subject: Re: CLI for CloudStack: cloudmonkey >>>>>>>> >>>>>>>> Sebastian, >>>>>>>> Try set apikey in lower case. Same with set secretkey. >>>>>>>> >>>>>>>> ~kishan >>>>>>>> >>>>>>>> On 08-Nov-2012, at 10:00 PM, "Sebastien Goasguen" <run...@gmail.com >>> >>>>>>> wrote: >>>>>>>> >>>>>>>>> Actually it does not work yet. >>>>>>>>> >>>>>>>>> Now I can type 'b' but it does not get passed properly: >>>>>>>>> >>>>>>>>> π cloudmonkey> set apiKey >>>>>>>>> >> KEbkKWtYIz_q_fnpOdwnHoZUJt5tiBNiHvf-oApytBd0adU-s-DRP3an1pqL6TutyUCzj >>>>>>>>> RB9UNrBybVr3kcZ6Q >>>>>>>>> >>>>>>>>> Gives: >>>>>>>>> >>>>>>>>> INFO [cloud.api.ApiServer] (92734721@qtp-1601733969-7:) apiKey >> does >>>>>>>>> not map to a valid user -- ignoring request, apiKey: >>>>>>>>> >> KEkKWtYIz_q_fnpOdwnHoZUJt5tiBNiHvf-oApytBd0adU-s-DRP3an1pqL6TutyUCzjR >>>>>>>>> B9UNrByVr3kcZ6Q >>>>>>>>> >>>>>>>>> On Nov 8, 2012, at 5:19 PM, Sebastien Goasguen <run...@gmail.com> >>>>>>> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Nov 8, 2012, at 3:28 PM, Rohit Yadav <rohit.ya...@citrix.com> >>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Sebastien, >>>>>>>>>>> >>>>>>>>>>> Are you using it from pypi/pip, if so do this: >>>>>>>>>>> sudo pip uninstall cloudmonkey >>>>>>>>>>> sudo pip install cloudmonkey >>>>>>>>>> >>>>>>>>>> no, I am doing: sudo python ./setup.py install from the source >> tree >>>>>>>>>> >>>>>>>>>>> I've had this bug on mac osx, fixed it: >>>>>>>>>>> >> https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git >>>> ; >>>>>>>>>>> a=commit;h=36e7a7884efef7c41ac369549b7bdb93e5122110 >>>>>>>>>> >>>>>>>>>> pulled that and reinstalledβ¦and it works. >>>>>>>>>> >>>>>>>>>> thanks >>>>>>>>>> >>>>>>>>>> -sebastien >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> If it still persists for you, checkout >>>>>>>>>>> >>>> http://superuser.com/questions/297527/cant-type-the-b-letter-in-pyt >>>>>>>>>>> hon-shell-in-os-x >>>>>>>>>>> >>>>>>>>>>> Let me know if this still fails then. >>>>>>>>>>> >>>>>>>>>>> Regards. >>>>>>>>>>> >>>>>>>>>>> ________________________________________ >>>>>>>>>>> From: Sebastien Goasguen [run...@gmail.com] >>>>>>>>>>> Sent: Thursday, November 08, 2012 5:37 PM >>>>>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>>>>> Subject: Re: CLI for CloudStack: cloudmonkey >>>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I am testing the cli and I have the weirdest issue. When I set >> the >>>>>>> apikey or secretkey, the lower case 'b' letter does not print at the >>>>>> prompt. >>>>>>>>>>> So if my keys contain 'b' they don't work.. >>>>>>>>>>> >>>>>>>>>>> I tried all the other letters and they work. >>>>>>>>>>> >>>>>>>>>>> Anyone seeing this, >>>>>>>>>>> >>>>>>>>>>> -Sebastien >>>>>>>>>>> >>>>>>>>>>> On Nov 7, 2012, at 7:25 PM, Rohit Yadav <rohit.ya...@citrix.com> >>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> yes, I think I'd mentioned in the thread or somewhere. Just use >>>>>>>>>>>> pip or easy_install (apt-get install python-setuptools on >> ubuntu, >>>>>>>>>>>> install python2.6 or above and pip if you don't have it); >>>>>>>>>>>> >>>>>>>>>>>> sudo pip install cloudmonkey >>>>>>>>>>>> >>>>>>>>>>>> or sudo easy_install cloudmonkey >>>>>>>>>>>> >>>>>>>>>>>> now start cloudmonkey: >>>>>>>>>>>> $ cloudmonkey >>>>>>>>>>>> ... >>>>>>>>>>>> >>>>>>>>>>>> Will post a blog/screencast this weekend and update doc so >>>> everyone >>>>>>> can get help on its usage, though it's pretty intuitive. >>>>>>>>>>>> ________________________________________ >>>>>>>>>>>> From: Musayev, Ilya [imusa...@webmd.net] >>>>>>>>>>>> Sent: Wednesday, November 07, 2012 11:41 PM >>>>>>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>>>>>> Subject: RE: CLI for CloudStack: cloudmonkey >>>>>>>>>>>> >>>>>>>>>>>> Rohit, >>>>>>>>>>>> >>>>>>>>>>>> Can I get the CLI only without going through the whole source >> code >>>>>>> maven install? Is it part of any RPM? >>>>>>>>>>>> >>>>>>>>>>>> Thanks >>>>>>>>>>>> ilya >>>>>>>>>>>> >>>>>>>>>>>> -----Original Message----- >>>>>>>>>>>> From: Rohit Yadav [mailto:rohit.ya...@citrix.com] >>>>>>>>>>>> Sent: Monday, November 05, 2012 11:35 AM >>>>>>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>>>>>> Subject: Re: CLI for CloudStack: cloudmonkey >>>>>>>>>>>> >>>>>>>>>>>> Checkout latest code. Few changes to share: >>>>>>>>>>>> >>>>>>>>>>>> - All lowercase now >>>>>>>>>>>> - Tab tab over verbs to see list of params for that api, example >>>>>>>>>>>> list users <tab><tab> >>>>>>>>>>>> - This needs improvement but help string, using --help: list >> user >>>>>>>>>>>> --help >>>>>>>>>>>> - Caching to speedup runtime >>>>>>>>>>>> - Color and Parsing fixes >>>>>>>>>>>> >>>>>>>>>>>> Last, I'm now able to get the doc strings for each >>>> attribute/param, >>>>>>> will see this tomorrow. >>>>>>>>>>>> >>>>>>>>>>>> Need your help, just incase you want to contribute, these are >> the >>>>>>> TODOs: >>>>>>>>>>>> >>>>>>>>>>>> - search over history >>>>>>>>>>>> - fix parsing >>>>>>>>>>>> - doc strings for parameters >>>>>>>>>>>> - testing for various kinds of apis (I'm able to deploy a zone >>>>>>>>>>>> with this, but needs testing) >>>>>>>>>>>> - unicode char monkey, used in prompt may mess up history >>>>>>>>>>>> searching and text display >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Regards. >>>>>>>>>>>> >>>>>>>>>>>> On 02-Nov-2012, at 4:58 AM, Edison Su <edison...@citrix.com> >>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> -----Original Message----- >>>>>>>>>>>>>> From: Rohit Yadav [mailto:rohit.ya...@citrix.com] >>>>>>>>>>>>>> Sent: Thursday, November 01, 2012 2:23 PM >>>>>>>>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>>>>>>>> Subject: RE: CLI for CloudStack: cloudmonkey >>>>>>>>>>>>>> >>>>>>>>>>>>>> After you install the tool, so that cloudmonkey is in your >>>>>>>>>>>>>> /usr/local/bin or in $PATH... >>>>>>>>>>>>>> >>>>>>>>>>>>>> Two ways; >>>>>>>>>>>>>> 1. As command line tool, on bash/zsh, use the BNF grammar; >>>>>>>>>>>>>> <command line tool >>>>>>>>>>>>>> >> name>:<separator>:<verb>:<separator>:<action>:<separator>:<param >>>>>>>>>>>>>> name>s> >>>>>>>>>>>>>> <command line tool name>={'cloudmonkey'} <separator>={' '} >>>>>>>>>>>>>> <verb>={'list', 'create', 'delete', 'update'.... etc.} >>>>>>>>>>>>>> <action>={'Users'... etc.} <params>={'listall=#'... etc.} So; >> $ >>>>>>>>>>>>>> cloudmonkey list Users >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Got it, thanks! >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2. file redirector: >>>>>>>>>>>>>> >>>>>>>>>>>>>> $ cat test-file: >>>>>>>>>>>>>> list Users >>>>>>>>>>>>>> list <some other action> >>>>>>>>>>>>>> <some verb> <some action> >>>>>>>>>>>>>> >>>>>>>>>>>>>> $ cloudmonkey < test-file >>>>>>>>>>>>>> >>>>>>>>>>>>>> Note, I'll change the actions (Users, VirtualMachine etc.) to >>>>>>>>>>>>>> lowercase (users, virtualmachine etc.) if that's okay? >>>>>>>>>>>>> >>>>>>>>>>>>> Please do, nobody wants to type extra keystroke, if it's not >>>>>>> necessary. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regards. >>>>>>>>>>>>>> >>>>>>>>>>>>>> ________________________________________ >>>>>>>>>>>>>> From: Edison Su [edison...@citrix.com] >>>>>>>>>>>>>> Sent: Friday, November 02, 2012 1:55 AM >>>>>>>>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>>>>>>>> Subject: RE: CLI for CloudStack: cloudmonkey >>>>>>>>>>>>>> >>>>>>>>>>>>>> Oh, it reminds me that how to use the CLI on the bash command >>>>>> line? >>>>>>>>>>>>>> I think admin may want to call cloudstack API in a bash >> script, >>>>>>>>>>>>>> how can I do that? >>>>>>>>>>>>>> >>>>>>>>>>>>>>> -----Original Message----- >>>>>>>>>>>>>>> From: Marcus Sorensen [mailto:shadow...@gmail.com] >>>>>>>>>>>>>>> Sent: Thursday, November 01, 2012 1:11 PM >>>>>>>>>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>>>>>>>>> Subject: Re: CLI for CloudStack: cloudmonkey >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Yes, I look forward to using it instead of local curl calls >> on >>>>>>>>>>>>>>> the command line :-) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Nov 1, 2012 at 2:02 PM, Edison Su < >>>> edison...@citrix.com >>>>>>> >>>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -----Original Message----- >>>>>>>>>>>>>>>>> From: Rohit Yadav [mailto:rohit.ya...@citrix.com] >>>>>>>>>>>>>>>>> Sent: Thursday, November 01, 2012 11:45 AM >>>>>>>>>>>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>>>>>>>>>>> Subject: RE: CLI for CloudStack: cloudmonkey >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi Chip, please go ahead if we can fix the http/s issue. >> The >>>>>>>>>>>>>>>>> connection is based on marvin, I'm sure using CLI we'll >> find >>>>>>>>>>>>>>>>> out more bugs and fix anything in marvin thereby help >>>>>>>>>>>>>>>>> maintain >>>>>>>>>>>>>>>>> marvin->tests and >>>>>>>>>>>>>>> CLI. >>>>>>>>>>>>>>>>> Please hack that up on >>>>>>>>>>>>>>>>> tools/marvin/marvin/cloudstackConnection.py >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Edison, yes I'm working on the completedefault, I've >> figured >>>>>>>>>>>>>>>>> a solution to the parsing and tabbing issue to show params >>>>>>>>>>>>>>>>> for any api and added more verbs to the grammar like >> deploy, >>>>>>> start etc. >>>>>>>>>>>>>>>>> In the new approach doc strings and params needed for an >> api >>>>>>>>>>>>>>>>> are fetched and cached in the class locally to speed up the >>>>>>> loading process. >>>>>>>>>>>>>>>>> Till it gets committed, cloudmonkey (now) will keep telling >>>>>>>>>>>>>>>>> the user what params they are missing until it gets all the >>>>>>> required ones. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Great! Thanks for your awesome CLI, people will like it. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> One more thing, for people who may not have unicode support >>>>>>>>>>>>>>>>> the prompt may appear weird and history search (up, down ) >>>>>>>>>>>>>>>>> can mess up the visuals. For example on Mac it appears as a >>>>>>>>>>>>>>>>> colorful emoji, but I found that it looks weird on other >>>>>>>>>>>>>>>>> platforms. Will probably remove it, or the user can custom >>>>>>>>>>>>>>>>> set their prompt, using: set prompt >>>>>>>>>>>>>>>>> myprompt> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Regards. >>>>>>>>>>>>>>>>> PS. the set command is full of (fun :) hacks because of >>>>>>>>>>>>>>>>> funtional/generic programming, it basically can set any >>>>>>>>>>>>>>>>> attribute on the class, so one can do something like >> creating >>>>>>>>>>>>>>>>> something (var, func). For example set ruler # (so instead >> of >>>>>>>>>>>>>>>>> - you will have a # >>>>>>>>>>>>>>>>> separator) >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> ________________________________________ >>>>>>>>>>>>>>>>> From: Chip Childers [chip.child...@sungard.com] >>>>>>>>>>>>>>>>> Sent: Thursday, November 01, 2012 11:15 PM >>>>>>>>>>>>>>>>> To: cloudstack-dev@incubator.apache.org >>>>>>>>>>>>>>>>> Subject: Re: CLI for CloudStack: cloudmonkey >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Oct 31, 2012 at 2:10 PM, Rohit Yadav >>>>>>>>>>>>>>>>> <rohit.ya...@citrix.com> >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I was working on a CLI for cloudstack, it's based on >> Marvin >>>>>>>>>>>>>>>>>> (the neglected robot) and called cloudmonkey after our >>>>>>>>>>>>>>>>>> beloved mascot :D >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> I've committed that on master, please review: >>>>>>>>>>>>>>>>>> >>>> https://git-wip-us.apache.org/repos/asf?p=incubator-cloudsta >>>>>>>>>>>>>>>>>> ck.gi t; a=c >>>>>>>>>>>>>>>>>> ommit;h=2ceaa3911e792dbeb6c40dfb70961008a01f7e3c >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Features: >>>>>>>>>>>>>>>>>> - it's a shell and also a terminal tool, accepts file >>>>>>>>>>>>>>>>>> redirection and pipes >>>>>>>>>>>>>>>>>> - scalable to find and run old and new APIs >>>>>>>>>>>>>>>>>> - intuitive grammar and verbs >>>>>>>>>>>>>>>>>> - autocompletion (functional hack) >>>>>>>>>>>>>>>>>> - shell execution using ! or shell >>>>>>>>>>>>>>>>>> - cfg support: user defined variables, like prompt, ruler, >>>>>>> host, port etc. >>>>>>>>>>>>>>>>>> - history >>>>>>>>>>>>>>>>>> - colors (disable using set color false) >>>>>>>>>>>>>>>>>> - dynamic API loading and rule generation >>>>>>>>>>>>>>>>>> - leverages Marvin to get latest autogenerated APIs >>>>>>>>>>>>>>>>>> - emacs like shortcuts on prompt >>>>>>>>>>>>>>>>>> - uses apiKey and secretKey to interact with mgmt server >>>>>>>>>>>>>>>>>> - logs all client commands >>>>>>>>>>>>>>>>>> - PEP-8 compliant code >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> FIXMEs: >>>>>>>>>>>>>>>>>> - Reverse search over history >>>>>>>>>>>>>>>>>> - Fix input and output processing >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> It requires python and clint; pip install clint (or if you >>>>>>>>>>>>>>>>>> have to easy_install clint) mvn clean install -P developer >>>>>>>>>>>>>>>>>> cd tools/cli/cloudmonkey python cloudmonkey.py >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> If you want to have the terminal tool installed; cd >>>>>>>>>>>>>>>>>> tools/cli python setup.py sdist cd dist pip install >>>>>>>>>>>>>>>>>> cloudmonkey-0.0.4.tar.gz (or easy_install etc.) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> You can do stuff like; >>>>>>>>>>>>>>>>>> cloudmonkey < file-with-commands, or cloudmonkey list >> Users, >>>>>>>>>>>>>>>>>> or as shell; >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> (If you see unicode chars cloud and monkey below, yes they >>>>>>>>>>>>>>>>>> were put intentionally :) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> $ cloudmonkey >>>>>>>>>>>>>>>>>> β Apache CloudStack CLI. Type help or ? to list commands. >>>>>>>>>>>>>>>>>> π cloudmonkey> set apiKey <your key here> >>>>>>>>>>>>>>>>>> π cloudmonkey> set secretKey <your key here> >>>>>>>>>>>>>>>>>> π cloudmonkey> <tab><tab> >>>>>>>>>>>>>>>>>> add api create delete disable enable help >>>>>>> list quit >>>>>>>>>>>>>> remove >>>>>>>>>>>>>>>>> set shell update >>>>>>>>>>>>>>>>>> π cloudmonkey> list <tab><tab> >>>>>>>>>>>>>>>>>> Accounts Alerts >>>>>>> AsyncJobs Capabilities >>>>>>>>>>>>>>>>> Capacity Clusters >>>>>>> Configurations >>>>>>>>>>>>>>>>>> DiskOfferings DomainChildren >>>> Domains >>>>>>> Events >>>>>>>>>>>>>>>>> EventTypes FirewallRules Hosts >>>>>>>>>>>>>>>>>> HypervisorCapabilities Hypervisors >>>>>>> InstanceGroups >>>>>>>>>>>>>>>>> IpForwardingRules IsoPermissions Isos >>>>>>>>>>>>>>>>> LBStickinessPolicies >>>>>>>>>>>>>>>>>> LoadBalancerRuleInstances LoadBalancerRules >>>>>>> NetworkACLs >>>>>>>>>>>>>>>>> NetworkDevice NetworkOfferings >>>> Networks >>>>>>>>>>>>>>>>> NetworkServiceProviders >>>>>>>>>>>>>>>>>> OsCategories OsTypes >>>>>>> PhysicalNetworks Pods >>>>>>>>>>>>>>>>> PortForwardingRules PrivateGateways >>>>>>> ProjectAccounts >>>>>>>>>>>>>>>>>> ProjectInvitations Projects >>>>>>> PublicIpAddresses >>>>>>>>>>>>>>>>> RemoteAccessVpns ResourceLimits >> Routers >>>>>>>>>>>>>>>>> SecurityGroups >>>>>>>>>>>>>>>>>> ServiceOfferings SnapshotPolicies >>>>>> Snapshots >>>>>>>>>>>>>>>>> SSHKeyPairs StaticRoutes >>>>>>> StorageNetworkIpRange >>>>>>>>>>>>>>>>> StoragePools >>>>>>>>>>>>>>>>>> SupportedNetworkServices Swifts >>>>>> SystemVms >>>>>>>>>>>>>> Tags >>>>>>>>>>>>>>>>> TemplatePermissions Templates >>>>>>> TrafficTypeImplementors >>>>>>>>>>>>>>>>>> TrafficTypes Users >>>>>>> VirtualMachines >>>>>>>>>>>>>>>>> VirtualRouterElements VlanIpRanges >> Volumes >>>>>>>>>>>>>>>>> VPCOfferings >>>>>>>>>>>>>>>>>> VPCs VpnConnections >>>>>>> VpnCustomerGateways >>>>>>>>>>>>>>>>> VpnGateways VpnUsers Zones >>>>>>>>>>>>>>>>>> π cloudmonkey> list Users >>>>>>>>>>>>>>>>>> β¦ >>>>>>>>>>>>>>>>>> π cloudmonkey> !ls >>>>>>>>>>>>>>>>>> # this give you a shell too and one can do things like >>>>>>>>>>>>>>>>>> π cloudmonkey> !for i in Users Account; do echo >>>>>>>>>>>>>>>>>> `cloudmonkey list $i >>>>>>>>>>>>>>>>>> | grep id`; done; >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Example commands to deploy a datacenter; (fill in dynamic >>>>>>>>>>>>>>>>>> ids >>>>>>>>>>>>>>>>>> etc.) create Zone dns1=8.8.8.8 internaldns1=10.147.28.6 >>>>>>>>>>>>>>>>>> name=Zone1 networktype=Basic create PhysicalNetwork >>>>>>>>>>>>>>>>>> name=test-network >>>>>>>>>>>>>>> zoneid= >>>>>>>>>>>>>>>>> add >>>>>>>>>>>>>>>>>> TrafficType traffictype=Guest physicalnetworkid= add >>>>>>>>>>>>>>>>>> TrafficType traffictype=Management physicalnetworkid= >> update >>>>>>>>>>>>>>>>>> PhysicalNetwork state=Enabled id= list >>>>>>>>>>>>>>>>>> NetworkServiceProviders name=VirtualRouter >>>>>>>>>>>>>>>>>> physicalNetworkId= list VirtualRouterElements nspid= api >>>>>>>>>>>>>>>>>> configureVirtualRouterElement enabled=true id= update >>>>>>>>>>>>>>>>>> NetworkServiceProvider state=Enabled id= list >>>>>>>>>>>>>>>>>> NetworkServiceProviders name=SecurityGroupProvider >>>>>>>>>>>>>>>>>> physicalNetworkId= update NetworkServiceProvider >>>>>>>>>>>>>>>>>> state=Enabled id= create Network zoneid= >>>>>>>>>>>>>>>>>> name=guestNetworkForBasicZone >>>>>>>>>>>>>>>>>> displaytext=guestNetworkForBasicZone >>>>>>>>>>>>>>>>>> networkofferingid= create Pod zoneid= name=Pod1 >>>>>>>>>>>>>>> gateway=10.147.28.1 >>>>>>>>>>>>>>>>>> netmask=255.255.255.0 startip=10.147.28.220 >>>>>>>>>>>>>>>>>> endip=10.147.28.235 create VlanIpRange podid= networkid= >>>>>>>>>>>>>>>>>> gateway=10.147.28.1 >>>>>>>>>>>>>>>>>> netmask=255.255.255.0 startip=10.147.28.236 >>>>>>>>>>>>>>>>>> endip=10.147.28.250 forVirtualNetwork=false add Cluster >>>>>>>>>>>>>>>>>> zoneid= hypervisor=XenServer clustertype=CloudManaged >> podid= >>>>>>>>>>>>>>>>>> clustername=Cluster1 add Host >>>>>>>>>>>>>>>>> zoneid= >>>>>>>>>>>>>>>>>> podid= clusterid= hypervisor=XenServer >>>>>>>>>>>>>>>>>> clustertype=CloudManaged username=root password=password >>>>>>>>>>>>>>>>>> url=http://10.147.28.60 create StoragePool zoneid= >>>>>>>>>>>>>>>>>> clusterid= name=NFS1 >>>>>>>>>>>>>>>>>> url=nfs://10.147.28.7/export/home/rohit/primary >>>>>>>>>>>>>>>>>> add SecondaryStorage zoneId= >>>>>>>>>>>>>>>>>> url=nfs://10.147.28.7/export/home/rohit/secondary >>>>>>>>>>>>>>>>>> update Zone allocationstate=Enabled id= >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> After some stabilisation, I can put it on pypi so any user >>>>>>>>>>>>>>>>>> can just do pip >>>>>>>>>>>>>>>>> install cloudmonkey to get the CLI. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Regards. >>>>>>>>>>>>>>>>>> PS. Marvin the neglected robot and hipster cloudmonkey >>>>>>>>>>>>>>>>>> should rule the world :D >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Rohit, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> This is really really cool. It puts the "fun" in managing >>>>>>>>>>>>>>>>> instances from a command line. I've been testing it >> against >>>>>>>>>>>>>>>>> a production CloudStack environment, and it's working >> pretty >>>>>>> well. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> If you don't mind, I might hack at the code a bit to fill >> in >>>>>>>>>>>>>>>>> some gaps that I'm seeing. First example is that it >> assumes >>>>>>>>>>>>>>>>> http, which doesn't work in a public deployment where the >>>>>>> endpoint is over https. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -chip >>>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Charles Moulliard >>>>>> Apache Committer / Sr. Enterprise Architect (RedHat) >>>>>> Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks, >>>>> Dave. >>>> >>>> >>> >>> >>> -- >>> Thanks, >>> Dave. >> >> > > > -- > Thanks, > Dave.