<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Jan 19, 2014 at 4:33 PM, Shaun McCance <span dir="ltr"><<a href="mailto:shaunm@gnome.org" target="_blank">shaunm@gnome.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">To what extent could this reuse code from the automated config<br>
reference? Is it also a matter of importing tons of stuff then<br>
introspecting the modules?<br></blockquote><div><br></div><div>My original thinking was to reuse the bash completion script somehow... </div><div><a href="https://raw.github.com/openstack/python-novaclient/master/tools/nova.bash_completion">https://raw.github.com/openstack/python-novaclient/master/tools/nova.bash_completion</a><br>
</div><div><br></div><div>Possible?</div><div>Anne</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
--<br>
Shaun<br>
<div class=""><div class="h5"><br>
<br>
On Fri, 2014-01-17 at 15:52 -0600, Anne Gentle wrote:<br>
> Hi again all,<br>
><br>
><br>
> Are we doing any work towards automating a CLI reference?<br>
><br>
><br>
> I ask because at the Summit we talked like we wanted it, but I don't<br>
> know if it has an owner.<br>
><br>
><br>
> Thanks -<br>
> Anne<br>
><br>
><br>
> On Tue, Nov 5, 2013 at 11:46 AM, Anne Gentle <<a href="mailto:anne@openstack.org">anne@openstack.org</a>><br>
> wrote:<br>
><br>
><br>
><br>
> On Tue, Nov 5, 2013 at 8:10 AM, Diane Fleming<br>
> <<a href="mailto:diane.fleming@rackspace.com">diane.fleming@rackspace.com</a>> wrote:<br>
> Great summary!<br>
><br>
><br>
> As for Cli reference, what about doing what we do for<br>
> API ref? Just a web page with list of calls and ref<br>
> info? There really isn't enough info for a book (I<br>
> think).<br>
><br>
> Yes, that's the idea, automated. The output could certainly<br>
> look nicer than monspaced text. And we'd gather into one<br>
> deliverable so as to avoid the appendix listing at the end of<br>
> both user guides. What do you think?<br>
><br>
> The CLI reference would be the listings of commands and<br>
> subcommands, once you get to subcommands there may be a<br>
> 100-page book in there. Maybe 200. Think of nova help for<br>
> example. Then the output for nova help boot, which is rather<br>
> large, but nova help add-fixed-ip is just:<br>
> usage: nova add-fixed-ip <server> <network-id><br>
><br>
> Add new IP address on a network to server.<br>
><br>
> Positional arguments:<br>
> <server> Name or ID of server.<br>
> <network-id> Network ID.<br>
><br>
> Here's the output of nova help:<br>
> usage: nova [--version] [--debug] [--os-cache] [--timings]<br>
> [--timeout <seconds>] [--os-username<br>
> <auth-user-name>]<br>
> [--os-password <auth-password>]<br>
> [--os-tenant-name <auth-tenant-name>]<br>
> [--os-tenant-id <auth-tenant-id>] [--os-auth-url<br>
> <auth-url>]<br>
> [--os-region-name <region-name>] [--os-auth-system<br>
> <auth-system>]<br>
> [--service-type <service-type>] [--service-name<br>
> <service-name>]<br>
> [--volume-service-name <volume-service-name>]<br>
> [--endpoint-type <endpoint-type>]<br>
> [--os-compute-api-version <compute-api-ver>]<br>
> [--os-cacert <ca-certificate>] [--insecure]<br>
> [--bypass-url <bypass-url>]<br>
> <subcommand> ...<br>
><br>
> Command-line interface to the OpenStack Nova API.<br>
><br>
> Positional arguments:<br>
> <subcommand><br>
> absolute-limits Print a list of absolute limits for a<br>
> user<br>
> add-fixed-ip Add new IP address on a network to<br>
> server.<br>
> add-floating-ip Add a floating IP address to a server.<br>
> add-secgroup Add a Security Group to a server.<br>
> agent-create Create new agent build.<br>
> agent-delete Delete existing agent build.<br>
> agent-list List all builds.<br>
> agent-modify Modify existing agent build.<br>
> aggregate-add-host Add the host to the specified<br>
> aggregate.<br>
> aggregate-create Create a new aggregate with the<br>
> specified details.<br>
> aggregate-delete Delete the aggregate.<br>
> aggregate-details Show details of the specified<br>
> aggregate.<br>
> aggregate-list Print a list of all aggregates.<br>
> aggregate-remove-host<br>
> Remove the specified host from the<br>
> specified<br>
> aggregate.<br>
> aggregate-set-metadata<br>
> Update the metadata associated with<br>
> the aggregate.<br>
> aggregate-update Update the aggregate's name and<br>
> optionally<br>
> availability zone.<br>
> availability-zone-list<br>
> List all the availability zones.<br>
> backup Backup a instance by create a 'backup'<br>
> type snapshot.<br>
> boot Boot a new server.<br>
> clear-password Clear password for a server.<br>
> cloudpipe-configure<br>
> Update the VPN IP/port of a cloudpipe<br>
> instance.<br>
> cloudpipe-create Create a cloudpipe instance for the<br>
> given project.<br>
> cloudpipe-list Print a list of all cloudpipe<br>
> instances.<br>
> console-log Get console log output of a server.<br>
> coverage-report Generate coverage report.<br>
> coverage-reset Reset coverage data.<br>
> coverage-start Start Nova coverage reporting.<br>
> coverage-stop Stop Nova coverage reporting.<br>
> credentials Show user credentials returned from<br>
> auth.<br>
> delete Immediately shut down and delete<br>
> specified server(s).<br>
> diagnostics Retrieve server diagnostics.<br>
> dns-create Create a DNS entry for domain, name<br>
> and ip.<br>
> dns-create-private-domain<br>
> Create the specified DNS domain.<br>
> dns-create-public-domain<br>
> Create the specified DNS domain.<br>
> dns-delete Delete the specified DNS entry.<br>
> dns-delete-domain Delete the specified DNS domain.<br>
> dns-domains Print a list of available dns domains.<br>
> dns-list List current DNS entries for domain<br>
> and ip or domain<br>
> and name.<br>
> endpoints Discover endpoints that get returned<br>
> from the<br>
> authenticate services.<br>
> evacuate Evacuate server from failed host to<br>
> specified one.<br>
> fixed-ip-get Retrieve info on a fixed ip.<br>
> fixed-ip-reserve Reserve a fixed IP.<br>
> fixed-ip-unreserve Unreserve a fixed IP.<br>
> flavor-access-add Add flavor access for the given<br>
> tenant.<br>
> flavor-access-list Print access information about the<br>
> given flavor.<br>
> flavor-access-remove<br>
> Remove flavor access for the given<br>
> tenant.<br>
> flavor-create Create a new flavor<br>
> flavor-delete Delete a specific flavor<br>
> flavor-key Set or unset extra_spec for a flavor.<br>
> flavor-list Print a list of available<br>
> 'flavors' (sizes of<br>
> servers).<br>
> flavor-show Show details about the given flavor.<br>
> floating-ip-bulk-create<br>
> Bulk create floating ips by range.<br>
> floating-ip-bulk-delete<br>
> Bulk delete floating ips by range.<br>
> floating-ip-bulk-list<br>
> List all floating ips.<br>
> floating-ip-create Allocate a floating IP for the current<br>
> tenant.<br>
> floating-ip-delete De-allocate a floating IP.<br>
> floating-ip-list List floating ips for this tenant.<br>
> floating-ip-pool-list<br>
> List all floating ip pools.<br>
> get-password Get password for a server.<br>
> get-spice-console Get a spice console to a server.<br>
> get-vnc-console Get a vnc console to a server.<br>
> host-action Perform a power action on a host.<br>
> host-describe Describe a specific host.<br>
> host-list List all hosts by service.<br>
> host-update Update host settings.<br>
> hypervisor-list List hypervisors.<br>
> hypervisor-servers List instances belonging to specific<br>
> hypervisors.<br>
> hypervisor-show Display the details of the specified<br>
> hypervisor.<br>
> hypervisor-stats Get hypervisor statistics over all<br>
> compute nodes.<br>
> hypervisor-uptime Display the uptime of the specified<br>
> hypervisor.<br>
> image-create Create a new image by taking a<br>
> snapshot of a running<br>
> server.<br>
> image-delete Delete specified image(s).<br>
> image-list Print a list of available images to<br>
> boot from.<br>
> image-meta Set or Delete metadata on an image.<br>
> image-show Show details about the given image.<br>
> interface-attach Attach a network interface to an<br>
> instance.<br>
> interface-detach Detach a network interface from an<br>
> instance.<br>
> interface-list List interfaces attached to an<br>
> instance.<br>
> keypair-add Create a new key pair for use with<br>
> instances.<br>
> keypair-delete Delete keypair given by its name.<br>
> keypair-list Print a list of keypairs for a user<br>
> keypair-show Show details about the given keypair.<br>
> list List active servers.<br>
> list-secgroup List Security Group(s) of a server.<br>
> live-migration Migrate running instance to a new<br>
> machine.<br>
> lock Lock a server.<br>
> meta Set or Delete metadata on a server.<br>
> migrate Migrate a server. The new host will be<br>
> selected by the<br>
> scheduler.<br>
> network-associate-host<br>
> Associate host with network.<br>
> network-associate-project<br>
> Associate project with network.<br>
> network-create Create a network.<br>
> network-disassociate<br>
> Disassociate host and/or project from<br>
> the given<br>
> network.<br>
> network-list Print a list of available networks.<br>
> network-show Show details about the given network.<br>
> pause Pause a server.<br>
> quota-class-show List the quotas for a quota class.<br>
> quota-class-update Update the quotas for a quota class.<br>
> quota-defaults List the default quotas for a tenant.<br>
> quota-delete Delete quota for a tenant/user so<br>
> their quota will<br>
> Revert back to default.<br>
> quota-show List the quotas for a tenant/user.<br>
> quota-update Update the quotas for a tenant/user.<br>
> rate-limits Print a list of rate limits for a user<br>
> reboot Reboot a server.<br>
> rebuild Shutdown, re-image, and re-boot a<br>
> server.<br>
> remove-fixed-ip Remove an IP address from a server.<br>
> remove-floating-ip Remove a floating IP address from a<br>
> server.<br>
> remove-secgroup Remove a Security Group from a server.<br>
> rename Rename a server.<br>
> rescue Rescue a server.<br>
> reset-network Reset network of an instance.<br>
> reset-state Reset the state of an instance.<br>
> resize Resize a server.<br>
> resize-confirm Confirm a previous resize.<br>
> resize-revert Revert a previous resize (and return<br>
> to the previous<br>
> VM).<br>
> resume Resume a server.<br>
> root-password Change the root password for a server.<br>
> scrub Delete data associated with the<br>
> project.<br>
> secgroup-add-group-rule<br>
> Add a source group rule to a security<br>
> group.<br>
> secgroup-add-rule Add a rule to a security group.<br>
> secgroup-create Create a security group.<br>
> secgroup-delete Delete a security group.<br>
> secgroup-delete-group-rule<br>
> Delete a source group rule from a<br>
> security group.<br>
> secgroup-delete-rule<br>
> Delete a rule from a security group.<br>
> secgroup-list List security groups for the current<br>
> tenant.<br>
> secgroup-list-rules<br>
> List rules for a security group.<br>
> secgroup-update Update a security group.<br>
> service-disable Disable the service.<br>
> service-enable Enable the service.<br>
> service-list Show a list of all running services.<br>
> Filter by host &<br>
> binary.<br>
> show Show details about the given server.<br>
> ssh SSH into a server.<br>
> start Start a server.<br>
> stop Stop a server.<br>
> suspend Suspend a server.<br>
> unlock Unlock a server.<br>
> unpause Unpause a server.<br>
> unrescue Unrescue a server.<br>
> usage Show usage data for a single tenant.<br>
> usage-list List usage data for all tenants.<br>
> volume-attach Attach a volume to a server.<br>
> volume-create Add a new volume.<br>
> volume-delete Remove a volume.<br>
> volume-detach Detach a volume from a server.<br>
> volume-list List all the volumes.<br>
> volume-show Show details about a volume.<br>
> volume-snapshot-create<br>
> Add a new snapshot.<br>
> volume-snapshot-delete<br>
> Remove a snapshot.<br>
> volume-snapshot-list<br>
> List all the snapshots.<br>
> volume-snapshot-show<br>
> Show details about a snapshot.<br>
> volume-type-create Create a new volume type.<br>
> volume-type-delete Delete a specific flavor<br>
> volume-type-list Print a list of available 'volume<br>
> types'.<br>
> volume-update Update volume attachment.<br>
> x509-create-cert Create x509 cert for a user in tenant.<br>
> x509-get-root-cert Fetch the x509 root cert.<br>
> bash-completion Prints all of the commands and options<br>
> to stdout so<br>
> that the nova.bash_completion script<br>
> doesn't have to<br>
> hard code them.<br>
> help Display help about this program or one<br>
> of its<br>
> subcommands.<br>
> baremetal-interface-add<br>
> Add a network interface to a baremetal<br>
> node.<br>
> baremetal-interface-list<br>
> List network interfaces associated<br>
> with a baremetal<br>
> node.<br>
> baremetal-interface-remove<br>
> Remove a network interface from a<br>
> baremetal node.<br>
> baremetal-node-create<br>
> Create a baremetal node.<br>
> baremetal-node-delete<br>
> Remove a baremetal node and any<br>
> associated interfaces.<br>
> baremetal-node-list<br>
> Print list of available baremetal<br>
> nodes.<br>
> baremetal-node-show<br>
> Show information about a baremetal<br>
> node.<br>
> cell-capacities Get cell capacities for all cells or a<br>
> given cell.<br>
> cell-show Show details of a given cell.<br>
> force-delete Force delete a server.<br>
> restore Restore a soft-deleted server.<br>
> host-evacuate Evacuate all instances from failed<br>
> host to specified<br>
> one.<br>
> host-servers-migrate<br>
> Migrate all instances of the specified<br>
> host to other<br>
> available hosts.<br>
> instance-action Show an action.<br>
> instance-action-list<br>
> List actions on a server.<br>
> list-extensions List all the os-api extensions that<br>
> are available.<br>
> host-meta Set or Delete metadata on all<br>
> instances of a host.<br>
> migration-list Print a list of migrations.<br>
> net Show a network<br>
> net-create Create a network<br>
> net-delete Delete a network<br>
> net-list List networks<br>
><br>
> Optional arguments:<br>
> --version show program's version number and exit<br>
> --debug Print debugging output<br>
> --os-cache Use the auth token cache.<br>
> --timings Print call timing info<br>
> --timeout <seconds> Set HTTP call timeout (in seconds)<br>
> --os-username <auth-user-name><br>
> Defaults to env[OS_USERNAME].<br>
> --os-password <auth-password><br>
> Defaults to env[OS_PASSWORD].<br>
> --os-tenant-name <auth-tenant-name><br>
> Defaults to env[OS_TENANT_NAME].<br>
> --os-tenant-id <auth-tenant-id><br>
> Defaults to env[OS_TENANT_ID].<br>
> --os-auth-url <auth-url><br>
> Defaults to env[OS_AUTH_URL].<br>
> --os-region-name <region-name><br>
> Defaults to env[OS_REGION_NAME].<br>
> --os-auth-system <auth-system><br>
> Defaults to env[OS_AUTH_SYSTEM].<br>
> --service-type <service-type><br>
> Defaults to compute for most actions<br>
> --service-name <service-name><br>
> Defaults to env[NOVA_SERVICE_NAME]<br>
> --volume-service-name <volume-service-name><br>
> Defaults to<br>
> env[NOVA_VOLUME_SERVICE_NAME]<br>
> --endpoint-type <endpoint-type><br>
> Defaults to env[NOVA_ENDPOINT_TYPE] or<br>
> publicURL.<br>
> --os-compute-api-version <compute-api-ver><br>
> Accepts 1.1 or 3, defaults to<br>
> env[OS_COMPUTE_API_VERSION].<br>
> --os-cacert <ca-certificate><br>
> Specify a CA bundle file to use in<br>
> verifying a TLS<br>
> (https) server certificate. Defaults<br>
> to env[OS_CACERT]<br>
> --insecure Explicitly allow novaclient to perform<br>
> "insecure" SSL<br>
> (https) requests. The server's<br>
> certificate will not be<br>
> verified against any certificate<br>
> authorities. This<br>
> option should be used with caution.<br>
> --bypass-url <bypass-url><br>
> Use this API endpoint instead of the<br>
> Service Catalog<br>
><br>
> See "nova help COMMAND" for help on a specific command.<br>
><br>
> Here's the output for nova help boot:<br>
> usage: nova boot [--flavor <flavor>] [--image <image>]<br>
> [--image-with <key=value>] [--boot-volume<br>
> <volume_id>]<br>
> [--snapshot <snapshot_id>] [--num-instances<br>
> <number>]<br>
> [--meta <key=value>] [--file<br>
> <dst-path=src-path>]<br>
> [--key-name <key-name>] [--user-data<br>
> <user-data>]<br>
> [--availability-zone <availability-zone>]<br>
> [--security-groups <security-groups>]<br>
> [--block-device-mapping <dev-name=mapping>]<br>
> [--block-device key1=value1[,key2=value2...]]<br>
> [--swap <swap_size>]<br>
> [--ephemeral size=<size>[,format=<format>]]<br>
> [--hint <key=value>]<br>
> [--nic<br>
> <net-id=net-uuid,v4-fixed-ip=ip-addr,port-id=port-uuid>]<br>
> [--config-drive <value>] [--poll]<br>
> <name><br>
><br>
> Boot a new server.<br>
><br>
> Positional arguments:<br>
> <name> Name for the new server<br>
><br>
> Optional arguments:<br>
> --flavor <flavor> Name or ID of flavor (see 'nova<br>
> flavor-list').<br>
> --image <image> Name or ID of image (see 'nova<br>
> image-list').<br>
> --image-with <key=value><br>
> Image metadata property (see 'nova<br>
> image-show').<br>
> --boot-volume <volume_id><br>
> Volume ID to boot from.<br>
> --snapshot <snapshot_id><br>
> Sapshot ID to boot from (will create a<br>
> volume).<br>
> --num-instances <number><br>
> boot multi instances at a time<br>
> (limited by quota).<br>
> --meta <key=value> Record arbitrary key/value metadata<br>
> to /meta.js on the<br>
> new server. Can be specified multiple<br>
> times.<br>
> --file <dst-path=src-path><br>
> Store arbitrary files from <src-path><br>
> locally to <dst-<br>
> path> on the new server. You may store<br>
> up to 5 files.<br>
> --key-name <key-name><br>
> Key name of keypair that should be<br>
> created earlier<br>
> with the command keypair-add<br>
> --user-data <user-data><br>
> user data file to pass to be exposed<br>
> by the metadata<br>
> server.<br>
> --availability-zone <availability-zone><br>
> The availability zone for instance<br>
> placement.<br>
> --security-groups <security-groups><br>
> Comma separated list of security group<br>
> names.<br>
> --block-device-mapping <dev-name=mapping><br>
> Block device mapping in the format<br>
> <dev-<br>
><br>
> name>=<id>:<type>:<size(GB)>:<delete-on-terminate>.<br>
> --block-device key1=value1[,key2=value2...]<br>
> Block device mapping with the keys:<br>
> id=image_id,<br>
> snapshot_id or volume_id,<br>
> source=source type (image,<br>
> snapshot, volume or blank),<br>
> dest=destination type of<br>
> the block device (volume or local),<br>
> bus=device's bus,<br>
> device=name of the device (e.g. vda,<br>
> xda, ...),<br>
> size=size of the block device in GB,<br>
> format=device<br>
> will be formatted (e.g. swap, ext3,<br>
> ntfs, ...),<br>
> bootindex=integer used for ordering<br>
> the boot disks,<br>
> type=device type (e.g. disk,<br>
> cdrom, ...) and<br>
> shutdown=shutdown behaviour (either<br>
> preserve or<br>
> remove).<br>
> --swap <swap_size> Create and attach a local swap block<br>
> device of<br>
> <swap_size> MB.<br>
> --ephemeral size=<size>[,format=<format>]<br>
> Create and attach a local ephemeral<br>
> block device of<br>
> <size> GB and format it to <format>.<br>
> --hint <key=value> Send arbitrary key/value pairs to the<br>
> scheduler for<br>
> custom use.<br>
> --nic<br>
> <net-id=net-uuid,v4-fixed-ip=ip-addr,port-id=port-uuid><br>
> Create a NIC on the server. Specify<br>
> option multiple<br>
> times to create multiple NICs. net-id:<br>
> attach NIC to<br>
> network with this UUID (required if no<br>
> port-id), v4<br>
> -fixed-ip: IPv4 fixed address for NIC<br>
> (optional),<br>
> port-id: attach NIC to port with this<br>
> UUID (required<br>
> if no net-id)<br>
> --config-drive <value><br>
> Enable config drive<br>
> --poll Blocks while instance builds so<br>
> progress can be<br>
> reported.<br>
><br>
><br>
><br>
><br>
><br>
><br>
> As for horizon screenshots, do we need them? That GUI<br>
> is not that complicated and screenshots are a pain to<br>
> maintain (automated or not). A better project might<br>
> be to add some online help to the GUI itself?<br>
><br>
><br>
> I'll see if Summer can comment further. Workflows were a bit<br>
> deal to Horizon and there's plenty we're not documenting that<br>
> you can do in the Dashboard. I see this as just a research<br>
> spike in viability.<br>
><br>
> Thanks -<br>
> Anne<br>
><br>
><br>
><br>
><br>
> Thanks Anne (and all)!<br>
><br>
> Sent from my iPhone<br>
><br>
> On Nov 5, 2013, at 3:25 AM, "Anne Gentle"<br>
> <<a href="mailto:anne@openstack.org">anne@openstack.org</a>> wrote:<br>
><br>
><br>
> > Hi all,<br>
> ><br>
> > The first four docs discussions are done and we've<br>
> > got some decisions we want to bring to the group.<br>
> > Ideally these decisions will stick for the Icehouse<br>
> > time frame, the next six months. Tom, Summer,<br>
> > Stephen, and I were here but we want to be sure we<br>
> > came to the same conclusions on our own that our<br>
> > larger group would have as well.<br>
> ><br>
> ><br>
> > Doc automation:<br>
> ><br>
> > - We want to set up a doctools repo just for doc<br>
> > tools like the automation tools and gate tests.<br>
> > Should help with translation tools also. Open to ITS<br>
> > use.<br>
> ><br>
> > - Config items automation - Oslo will likely change<br>
> > enough this release that our tool needs to change as<br>
> > well.<br>
> > - CLI reference automation - part of the restructure<br>
> > discussion uncovered a need to streamline the Config<br>
> > ref to reference only, and also create a CLI<br>
> > reference for CLI reference only. We want to<br>
> > prioritize automating this as highly as config<br>
> > automation.<br>
> > - API doc automation - still under discussion, stay<br>
> > tuned after this Friday.<br>
> > - RST to XML workflow for training guides - Sean<br>
> > wants to filter the dev doc further.<br>
> ><br>
> > - Ceilometer has tables they auto-generate in their<br>
> > dev docs that they want to bring into<br>
> > openstack-manuals.<br>
> ><br>
> > - Horizon workflows: Summer had a great idea to<br>
> > automate screen captures of common workflows in the<br>
> > dashboard. This work would be great to do in the<br>
> > coming release, Summer is going to do a research<br>
> > spike into tooling.<br>
> ><br>
> ><br>
> ><br>
> > Restructure:<br>
> ><br>
> > Despite the tradeoff that we have to re-communicate<br>
> > some more moves to all the teams, we want to trim<br>
> > the configuration reference down to just listings of<br>
> > options, no how-to or explanatory information. Move<br>
> > this type of info to the Cloud Admin Guide. Are we<br>
> > good with this plan for Icehouse?<br>
> ><br>
> > Pull out CLI reference info from the end-user guide<br>
> > and admin user guide, put into a CLI reference that<br>
> > goes to the submenu level. Sound good?<br>
> ><br>
> ><br>
> > Install guide (always seems to be a topic of its<br>
> > own):<br>
> > - Continue with current guide, maintain and update<br>
> > for icehouse.<br>
> ><br>
> > - Look for 2-3 more resources to help with install<br>
> > guides.<br>
> ><br>
> > - Push for a real big testing drive a month before<br>
> > release instead of 2 weeks.<br>
> ><br>
> ><br>
> ><br>
> > Any questions? If you're not here, we sure wish you<br>
> > were here!<br>
> ><br>
> ><br>
> > As a side note, here are some pics from our women of<br>
> > OpenStack boat outing last night on the harbor. The<br>
> > grey fog was everywhere and we couldn't go on deck<br>
> > it was just too wet. But the buildings lighting up<br>
> > are amazing here, you can hardly capture the sights<br>
> > in photos.<br>
> > <a href="http://flic.kr/s/aHsjLUoHM2" target="_blank">http://flic.kr/s/aHsjLUoHM2</a><br>
> ><br>
> > Here's the one sightseeing day I've had so far,<br>
> > going on a "crystal bottom" cable car ride to get to<br>
> > a big Buddha statue with a monastery nearby.<br>
> > <a href="http://flic.kr/s/aHsjLWowHf" target="_blank">http://flic.kr/s/aHsjLWowHf</a><br>
> ><br>
> ><br>
> > Anne<br>
> ><br>
> > _______________________________________________<br>
> > Openstack-docs mailing list<br>
> > <a href="mailto:Openstack-docs@lists.openstack.org">Openstack-docs@lists.openstack.org</a><br>
> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs</a><br>
> ><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Openstack-docs mailing list<br>
> <a href="mailto:Openstack-docs@lists.openstack.org">Openstack-docs@lists.openstack.org</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs</a><br>
<br>
<br>
</div></div></blockquote></div><br></div></div>