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? ;)

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.

Reply via email to