From fcb0e910458a2fde904730d719011168a8d23f32 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Mon, 25 Oct 2010 13:51:09 -0700 Subject: [PATCH 001/197] nova-debug, relaunch an instance with a serial console --- tools/nova-debug | 92 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100755 tools/nova-debug diff --git a/tools/nova-debug b/tools/nova-debug new file mode 100755 index 000000000000..3ff68ca35606 --- /dev/null +++ b/tools/nova-debug @@ -0,0 +1,92 @@ +#!/usr/bin/env bash +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2010 United States Government as represented by the +# Administrator of the National Aeronautics and Space Administration. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +INSTANCES_PATH=${INSTANCES_PATH:-/var/lib/nova/instances} +if [ -z "$1" ]; then echo "specify an instance id to debug"; exit; fi + +if [ -n "$3" ]; then DEVICE=$3; fi + +CMD="all" +if [ -n "$2" ]; then CMD=$2; fi + +cd $INSTANCES_PATH/$1 + +if [ $CMD != "umount" ] && [ $CMD != "launch" ]; then +# destroy the instance +virsh destroy $1 + +# mount the filesystem +mkdir t +DEVICE=`losetup --show -f disk` +echo $DEVICE +kpartx -a $DEVICE +mount /dev/mapper/${DEVICE:4}p1 t + +fi +if [ $CMD != "mount" ] && [ $CMD != "umount" ]; then + +# make serial console listen on ttyS0 +cat >t/etc/init/ttyS0.conf < debug.xml +sed -i "s/.*<\/serial>/<\/serial>/g" debug.xml + +umount t + +virsh create debug.xml +virsh console $1 +virsh destroy $1 + +mount /dev/mapper/${DEVICE:4}p1 t + +# clear debug root password +chroot t passwd -l root + +# remove the serial console conf +rm -f t/etc/init/ttyS0.conf + +fi +if [ $CMD != "mount" ] && [ $CMD != "launch" ]; then + +# unmount the filesystem +umount t +kpartx -d $DEVICE +losetup -d $DEVICE +rmdir t + +# recreate the instance +virsh create libvirt.xml +fi From 7c5c8bc2cfc90a17f88a768610fa1bb286b8c05c Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Mon, 25 Oct 2010 14:02:32 -0700 Subject: [PATCH 002/197] add nova-debug to setup.py --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a333fbf64c3c..9525fde091c9 100644 --- a/setup.py +++ b/setup.py @@ -55,4 +55,5 @@ setup(name='nova', 'bin/nova-network', 'bin/nova-objectstore', 'bin/nova-scheduler', - 'bin/nova-volume']) + 'bin/nova-volume', + 'tools/nova-debug']) From dfe98891b46c4f02f13ea2686979ca7ff4547bd3 Mon Sep 17 00:00:00 2001 From: Ryan Lane Date: Mon, 25 Oct 2010 23:10:51 +0000 Subject: [PATCH 003/197] Making net injection create /etc/network if non-existant --- nova/compute/disk.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nova/compute/disk.py b/nova/compute/disk.py index e362b4507e07..f2e5f8570294 100644 --- a/nova/compute/disk.py +++ b/nova/compute/disk.py @@ -171,6 +171,9 @@ def _inject_key_into_fs(key, fs, execute=None): @defer.inlineCallbacks def _inject_net_into_fs(net, fs, execute=None): - netfile = os.path.join(os.path.join(os.path.join( - fs, 'etc'), 'network'), 'interfaces') + netdir = os.path.join(os.path.join(fs, 'etc'), 'network') + yield execute('sudo mkdir -p %s' % netdir) # existing dir doesn't matter + yield execute('sudo chown root:root %s' % netdir) + yield execute('sudo chmod 755 %s' % netdir) + netfile = os.path.join(netdir, 'interfaces') yield execute('sudo tee %s' % netfile, net) From 8e12d65af48e69f6ad211c6b880a3162e1d03e78 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Wed, 27 Oct 2010 00:05:42 -0400 Subject: [PATCH 004/197] New structure for documentation. --- doc/source/administration.guide.rst | 31 ++++++ doc/source/concepts.and.introduction.rst | 123 +++++++++++++++++++++++ doc/source/development.guide.rst | 49 +++++++++ doc/source/index.rst | 48 ++++----- 4 files changed, 224 insertions(+), 27 deletions(-) create mode 100644 doc/source/administration.guide.rst create mode 100644 doc/source/concepts.and.introduction.rst create mode 100644 doc/source/development.guide.rst diff --git a/doc/source/administration.guide.rst b/doc/source/administration.guide.rst new file mode 100644 index 000000000000..9bea5e2dd517 --- /dev/null +++ b/doc/source/administration.guide.rst @@ -0,0 +1,31 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Administration Guide +==================== + +How to deploy, monitor, and debug Nova. + + +Contents +-------- + +.. toctree:: + :maxdepth: 1 + + getting.started + diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst new file mode 100644 index 000000000000..fc4ebed21fc9 --- /dev/null +++ b/doc/source/concepts.and.introduction.rst @@ -0,0 +1,123 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Concepts and Introduction +========================= + + +Introduction +------------ + +Nova is the software that controls your Infrastructure as as Service (IaaS) +cloud computing platform. It is similar in scope to Amazon EC2 and Rackspace +CloudServers. Nova does not include any virtualization software, rather it +defines drivers that interact with underlying virtualization mechanisms that +run on your host operating system, and exposes functionality over a web API. + +This document does not attempt to explain fundamental concepts of cloud +computing, IaaS, virtualization, or other related technologies. Instead, it +focues on describing how Nova's implementation of those concepts is achieved. + + +Concept: Projects +----------------- + +Projects + + +Concept: Virtualization +----------------------- + +* KVM +* UML +* XEN +* HyperV + + +Concept: Volumes +---------------- + +Volumes + + +Concept: Quotas +--------------- + +* Defaults +* Override for project + + +Concept: API +------------ + +* EC2 +* OpenStack / Rackspace + + +Concept: Networking +------------------- + +* Simple networking +* NASA-Style Networking + + +Concept: Services +----------------- + +Services + + +Concept: Flags +-------------- + +python-gflags + + +Concept: Plugins +---------------- + +LazyPluggable + + +Concept: IPC +------------ + +Rabbit! + + +Concept: Fakes +-------------- + +Fakes + + +Concept: Scheduler +------------------ + +Scheduler + + +Concept: ORM +------------ + +ORM + + +Concept: Manager Pattern +------------------------ + +Managers diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst new file mode 100644 index 000000000000..18b08d6fe2a9 --- /dev/null +++ b/doc/source/development.guide.rst @@ -0,0 +1,49 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Nova Development Guide +====================== + +Nova is written in python + + +Contents +-------- + +.. toctree:: + :maxdepth: 1 + + architecture + network + storage + auth + compute + endpoint + nova + fakes + binaries + modules + packages + + +Indices and tables +------------------ + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/doc/source/index.rst b/doc/source/index.rst index 1109e9011830..d4cdd1408799 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -18,37 +18,31 @@ Welcome to Nova's documentation! ================================ -Nova is a cloud computing fabric controller (the main part of an IaaS system). -It is written in Python and relies on the standard AMQP messaging protocol, uses the Twisted framework, -and optionally uses the Redis distributed key value store for authorization. +Nova is a cloud computing fabric controller, the main part of an IaaS system. -Nova is intended to be easy to extend and adapt. For example, authentication and authorization -requests by default use an RDBMS-backed datastore driver. However, there is already support -for using LDAP backing authentication (slapd) and if you wish to "fake" LDAP, there is a module -available that uses ReDIS to store authentication information in an LDAP-like backing datastore. -It has extensive test coverage, and uses the Sphinx toolkit (the same as Python itself) for code -and developer documentation. Additional documentation is available on the -'OpenStack wiki '_. -While Nova is currently in Beta use within several organizations, the codebase -is very much under active development - please test it and log bugs! +Nova is written with the following design guidelines in mind: -Contents: +* Component based architecture: Quickly add new behaviors +* Highly available: Scale to very serious workloads +* Fault-Tollerant: Isloated processes avoid cascading failures +* Recoverable: Failures should be easy to diagnose, debug, and rectify +* Open Standards: Be a reference implementation for a community-driven api + +This documentation is generated by the Sphinx toolkit and lives in the source +tree. Additional documentation on Nova and other components of OpenStack can +be found on the 'OpenStack wiki '. + + +Contents +-------- .. toctree:: - :maxdepth: 2 - - getting.started - architecture - network - storage - auth - compute - endpoint - nova - fakes - binaries - modules - packages + :maxdepth: 1 + + concepts.and.introduction + administration.guide + development.guide + Indices and tables ================== From 32a75c0181524a0d369419495f9a6e3d67d0e1e2 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Wed, 27 Oct 2010 13:49:27 -0400 Subject: [PATCH 005/197] Doc updates. --- doc/source/administration.guide.rst | 6 ++++-- doc/source/concepts.and.introduction.rst | 25 +++++++++++++++++++----- doc/source/flags.rst | 23 ++++++++++++++++++++++ doc/source/multi.node.install.rst | 21 ++++++++++++++++++++ doc/source/quickstart.rst | 21 ++++++++++++++++++++ 5 files changed, 89 insertions(+), 7 deletions(-) create mode 100644 doc/source/flags.rst create mode 100644 doc/source/multi.node.install.rst create mode 100644 doc/source/quickstart.rst diff --git a/doc/source/administration.guide.rst b/doc/source/administration.guide.rst index 9bea5e2dd517..4ff1afc9aff1 100644 --- a/doc/source/administration.guide.rst +++ b/doc/source/administration.guide.rst @@ -27,5 +27,7 @@ Contents .. toctree:: :maxdepth: 1 - getting.started - + quickstart + getting.started + multi.node.install + flags diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index fc4ebed21fc9..701e43dfbed3 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -15,6 +15,7 @@ License for the specific language governing permissions and limitations under the License. + Concepts and Introduction ========================= @@ -32,9 +33,17 @@ This document does not attempt to explain fundamental concepts of cloud computing, IaaS, virtualization, or other related technologies. Instead, it focues on describing how Nova's implementation of those concepts is achieved. +This page outlines concepts that you will need to understand as a user or +administrator of an OpenStack installation. Each section links to more more +detailed information in the `Administration Guide`_, but you'll probably want +to read this section straight-through before tackling the specifics presented +in the administration guide. -Concept: Projects ------------------ +.. _`Administration Guide`: administration.guide.html + + +Concept: Users and Projects +--------------------------- Projects @@ -72,7 +81,7 @@ Concept: Networking ------------------- * Simple networking -* NASA-Style Networking +* VLAN Networking Concept: Services @@ -93,8 +102,8 @@ Concept: Plugins LazyPluggable -Concept: IPC ------------- +Concept: IPC/RPC +---------------- Rabbit! @@ -121,3 +130,9 @@ Concept: Manager Pattern ------------------------ Managers + + +Concept: Security Groups +------------------------ + +Security groups diff --git a/doc/source/flags.rst b/doc/source/flags.rst new file mode 100644 index 000000000000..4c950aa88626 --- /dev/null +++ b/doc/source/flags.rst @@ -0,0 +1,23 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Flags and Flagfiles +=================== + +* python-gflags +* flagfiles +* list of flags by component (see concepts list) diff --git a/doc/source/multi.node.install.rst b/doc/source/multi.node.install.rst new file mode 100644 index 000000000000..443e2c4c37ae --- /dev/null +++ b/doc/source/multi.node.install.rst @@ -0,0 +1,21 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Multi-Node Nova +=============== + +http://etherpad.openstack.org/NovaMultinodeInstall diff --git a/doc/source/quickstart.rst b/doc/source/quickstart.rst new file mode 100644 index 000000000000..7a41d4be675b --- /dev/null +++ b/doc/source/quickstart.rst @@ -0,0 +1,21 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Nova Quickstart +========================= + +http://github.com/vishvananda/novascript From 55a0cfc96b92bd050115244c850f4ad58791c83f Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Wed, 27 Oct 2010 15:52:06 -0400 Subject: [PATCH 006/197] Doc skeleton from collaborative etherpad hack session. --- doc/source/administration.guide.rst | 2 + doc/source/auth.rst | 15 +++++ doc/source/compute.rst | 21 +++++++ doc/source/concepts.and.introduction.rst | 76 ++++++++++++++++++------ doc/source/development.guide.rst | 15 ++++- doc/source/monitoring.rst | 27 +++++++++ doc/source/multi.node.install.rst | 4 ++ doc/source/network.rst | 19 ++++++ doc/source/services.rst | 31 ++++++++++ doc/source/storage.rst | 16 +++++ 10 files changed, 204 insertions(+), 22 deletions(-) create mode 100644 doc/source/monitoring.rst create mode 100644 doc/source/services.rst diff --git a/doc/source/administration.guide.rst b/doc/source/administration.guide.rst index 4ff1afc9aff1..789e97381311 100644 --- a/doc/source/administration.guide.rst +++ b/doc/source/administration.guide.rst @@ -30,4 +30,6 @@ Contents quickstart getting.started multi.node.install + services flags + monitoring diff --git a/doc/source/auth.rst b/doc/source/auth.rst index 3fcb309cd5b5..2b8ad79240e4 100644 --- a/doc/source/auth.rst +++ b/doc/source/auth.rst @@ -18,6 +18,21 @@ Auth Documentation ================== + +from etherpad todo +------------------ + +:: + * FIX RST IMPORT ERRORS + * Manager + * Driver + * ldap + * fakeldap + * redisectomy + +legacy docs +----------- + Nova provides RBAC (Role-based access control) of the AWS-type APIs. We define the following roles: Roles-Based Access Control of AWS-style APIs using SAML Assertions diff --git a/doc/source/compute.rst b/doc/source/compute.rst index 5b08dbd5b2af..76957f31662a 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -18,6 +18,27 @@ Compute Documentation ===================== + +from etherpad todo +------------------ + +:: + * FIX RST IMPORT ERRORS + * Compute Manager + * public methods + * responsibilities + * Compute Driver + * public methods + * libvirt implementation + - kvm/qemu + - uml + * xen implementation + * hyperv implementation + + +legacy docs +----------- + This page contains the Compute Package documentation. diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 701e43dfbed3..5c006454dd39 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -45,7 +45,10 @@ in the administration guide. Concept: Users and Projects --------------------------- -Projects +* access to images is limited by project +* access/secret are per user +* keypairs are per user +* quotas are per project Concept: Virtualization @@ -55,6 +58,7 @@ Concept: Virtualization * UML * XEN * HyperV +* qemu Concept: Volumes @@ -70,6 +74,13 @@ Concept: Quotas * Override for project +Concept: RBAC +------------- + +* Intersecting Roles +* cloudadmin vs. user admin flag + + Concept: API ------------ @@ -80,14 +91,30 @@ Concept: API Concept: Networking ------------------- -* Simple networking -* VLAN Networking +* VLAN + * Cloudpipe + * Certificates (See also: CA) +* Flat Networking +* Flat with DHCP +* How to generate addresses +* Floating Addresses Concept: Services ----------------- -Services +* nova-api +* nova-scheduler +* nova-compute +* nova-volume +* nova-network +* nova-instancemonitor + + +Concept: nova-manage +-------------------- + +nova manage Concept: Flags @@ -99,7 +126,13 @@ python-gflags Concept: Plugins ---------------- -LazyPluggable +* Managers/Drivers: utils.import_object from string flag +* virt/connections: conditional loading from string flag +* db: LazyPluggable via string flag +* auth_manager: utils.import_class based on string flag +* Volumes: moving to pluggable driver instead of manager +* Network: pluggable managers +* Compute: same driver used, but pluggable at connection Concept: IPC/RPC @@ -111,28 +144,33 @@ Rabbit! Concept: Fakes -------------- -Fakes +* auth +* ldap Concept: Scheduler ------------------ -Scheduler - - -Concept: ORM ------------- - -ORM - - -Concept: Manager Pattern ------------------------- - -Managers +* simple +* random Concept: Security Groups ------------------------ Security groups + + +Concept: Certificate Authority +------------------------------ + +Per-project CA +* Images +* VPNs + + +Concept: Images +--------------- + +* launching +* bundling diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 18b08d6fe2a9..2c8fa86f9b4a 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -27,11 +27,20 @@ Contents .. toctree:: :maxdepth: 1 - architecture - network + database storage - auth compute + network + auth + + +Older Contents +-------------- + +.. toctree:: + :maxdepth: 1 + + architecture endpoint nova fakes diff --git a/doc/source/monitoring.rst b/doc/source/monitoring.rst new file mode 100644 index 000000000000..e7766a6e7415 --- /dev/null +++ b/doc/source/monitoring.rst @@ -0,0 +1,27 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Monitoring +========== + +* components +* throughput +* exceptions +* hardware + +* ganglia +* syslog diff --git a/doc/source/multi.node.install.rst b/doc/source/multi.node.install.rst index 443e2c4c37ae..dad9dcd01537 100644 --- a/doc/source/multi.node.install.rst +++ b/doc/source/multi.node.install.rst @@ -19,3 +19,7 @@ Multi-Node Nova =============== http://etherpad.openstack.org/NovaMultinodeInstall + +* Puppet +* Chef +* PXE diff --git a/doc/source/network.rst b/doc/source/network.rst index 357a0517f35a..ef374a7269b3 100644 --- a/doc/source/network.rst +++ b/doc/source/network.rst @@ -18,6 +18,25 @@ nova Networking ================ + +from etherpad todo +------------------ +:: + * Network Manager + * overview (use vish email) + * public methods + * responsibilities + * Vlan + DHCP implementation + * Flat + DHCP implementation + * Flat impleplementation + * Network Driver + * public methods + * hardware specific commands + + +legacy docs +----------- + The nova networking components manage private networks, public IP addressing, VPN connectivity, and firewall rules. Components diff --git a/doc/source/services.rst b/doc/source/services.rst new file mode 100644 index 000000000000..7ff8fa6c302f --- /dev/null +++ b/doc/source/services.rst @@ -0,0 +1,31 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Services +======== + +Admin guide should go beyoned concepts & introduction by talking about how +each service interacts with each other, what requirements for deployment are, +monotoring, logging, etc + + +* nova-api +* nova-scheduler +* nova-compute +* nova-volume +* nova-network +* nova-instancemonitor diff --git a/doc/source/storage.rst b/doc/source/storage.rst index f77e5f0e523a..72880a4a1fa4 100644 --- a/doc/source/storage.rst +++ b/doc/source/storage.rst @@ -18,6 +18,22 @@ Storage in the Nova Cloud ========================= + +from etherpad todo +------------------- +:: + * Volume Manager + * public methods + * responsibilities + * Volume Driver + * public methods + * AoE implementation + * ISCSI implementation + + +legacy docs +----------- + There are three primary classes of storage in a nova cloud environment: * Ephemeral Storage (local disk within an instance) From a1287cf4e15d469163ec6465ea5f6ce200c20543 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Wed, 27 Oct 2010 17:31:46 -0400 Subject: [PATCH 007/197] cleanup rrd doc generation. --- doc/source/auth.rst | 26 ++++++++++++++---- doc/source/compute.rst | 62 +++++++++++++++++++----------------------- doc/source/conf.py | 2 +- nova/auth/fakeldap.py | 1 - nova/auth/manager.py | 3 +- 5 files changed, 51 insertions(+), 43 deletions(-) diff --git a/doc/source/auth.rst b/doc/source/auth.rst index 2b8ad79240e4..d739e4b8ecb4 100644 --- a/doc/source/auth.rst +++ b/doc/source/auth.rst @@ -195,18 +195,34 @@ The :mod:`signer` Module :undoc-members: :show-inheritance: -The :mod:`users` Module ------------------------ +The :mod:`manager` Module +------------------------- -.. automodule:: nova.auth.users +.. automodule:: nova.auth.manager :members: :undoc-members: :show-inheritance: -The :mod:`users_unittest` Module +The :mod:`ldapdriver` Module +---------------------------- + +.. automodule:: nova.auth.ldapdriver + :members: + :undoc-members: + :show-inheritance: + +The :mod:`dbdriver` Module +---------------------------- + +.. automodule:: nova.auth.dbdriver + :members: + :undoc-members: + :show-inheritance: + +The :mod:`auth_unittest` Module -------------------------------- -.. automodule:: nova.tests.users_unittest +.. automodule:: nova.tests.auth_unittest :members: :undoc-members: :show-inheritance: diff --git a/doc/source/compute.rst b/doc/source/compute.rst index 76957f31662a..93070fa88f85 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -15,33 +15,35 @@ License for the specific language governing permissions and limitations under the License. -Compute Documentation -===================== - from etherpad todo ------------------ -:: * FIX RST IMPORT ERRORS * Compute Manager * public methods * responsibilities * Compute Driver * public methods - * libvirt implementation - - kvm/qemu - - uml + * libvirt implementation (kvm/qemu vs uml) * xen implementation * hyperv implementation -legacy docs ------------ +Compute Documentation +===================== This page contains the Compute Package documentation. +The :mod:`manager` Module +------------------------- + +.. automodule:: nova.compute.manager + :members: + :undoc-members: + :show-inheritance: + The :mod:`disk` Module ---------------------- @@ -50,45 +52,37 @@ The :mod:`disk` Module :undoc-members: :show-inheritance: -The :mod:`exception` Module ---------------------------- +The :mod:`instance_types` Module +-------------------------------- -.. automodule:: nova.compute.exception +.. automodule:: nova.compute.instance_types :members: :undoc-members: :show-inheritance: -The :mod:`model` Module +The :mod:`power_state` Module +----------------------------- + +.. automodule:: nova.compute.power_state + :members: + :undoc-members: + :show-inheritance: + +The :mod:`monitor` Module ------------------------- -.. automodule:: nova.compute.model - :members: - :undoc-members: - :show-inheritance: - -The :mod:`network` Module -------------------------- - -.. automodule:: nova.compute.network +.. automodule:: nova.compute.monitor :members: :undoc-members: :show-inheritance: -The :mod:`node` Module ----------------------- - -.. automodule:: nova.compute.node - :members: - :undoc-members: - :show-inheritance: - RELATED TESTS ---------------- +------------- -The :mod:`node_unittest` Module -------------------------------- +The :mod:`compute_unittest` Module +---------------------------------- -.. automodule:: nova.tests.node_unittest +.. automodule:: nova.tests.compute_unittest :members: :undoc-members: :show-inheritance: diff --git a/doc/source/conf.py b/doc/source/conf.py index 505771ff838a..3cf79503a9f9 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -16,7 +16,7 @@ import sys, os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.append([os.path.abspath('../nova'), os.path.abspath('..'), os.path.abspath('../bin')]) +sys.path.insert(0, '../..') # -- General configuration ----------------------------------------------------- diff --git a/nova/auth/fakeldap.py b/nova/auth/fakeldap.py index cf3a84a5d9d0..1a49b73fed02 100644 --- a/nova/auth/fakeldap.py +++ b/nova/auth/fakeldap.py @@ -79,7 +79,6 @@ def _match_query(query, attrs): &, |, and ! are supported in the query. No syntax checking is performed, so malformed querys will not work correctly. - """ # cut off the parentheses inner = query[1:-1] diff --git a/nova/auth/manager.py b/nova/auth/manager.py index 001a96875268..7b2b6816167c 100644 --- a/nova/auth/manager.py +++ b/nova/auth/manager.py @@ -84,12 +84,11 @@ class AuthBase(object): @classmethod def safe_id(cls, obj): - """Safe get object id + """Safely get object id. This method will return the id of the object if the object is of this class, otherwise it will return the original object. This allows methods to accept objects or ids as paramaters. - """ if isinstance(obj, cls): return obj.id From 0211ec7d61bea7e818418b6f17fdd45770ca9337 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 27 Oct 2010 16:33:25 -0700 Subject: [PATCH 008/197] updates to auth, concepts, and network, fix of docstring --- doc/source/auth.rst | 46 ++++++++++++-------- doc/source/concepts.and.introduction.rst | 53 +++++++++++++++++------ doc/source/conf.py | 2 +- doc/source/images/cloudpipe.png | Bin 0 -> 89812 bytes doc/source/network.rst | 34 +++++++-------- nova/auth/manager.py | 1 - 6 files changed, 85 insertions(+), 51 deletions(-) create mode 100644 doc/source/images/cloudpipe.png diff --git a/doc/source/auth.rst b/doc/source/auth.rst index 2b8ad79240e4..0e3303949348 100644 --- a/doc/source/auth.rst +++ b/doc/source/auth.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -15,9 +15,10 @@ License for the specific language governing permissions and limitations under the License. -Auth Documentation -================== +.. _auth: +Auth Documentation +================== from etherpad todo ------------------ @@ -39,7 +40,7 @@ Roles-Based Access Control of AWS-style APIs using SAML Assertions “Achieving FIPS 199 Moderate certification of a hybrid cloud environment using CloudAudit and declarative C.I.A. classifications” Introduction --------------- +------------ We will investigate one method for integrating an AWS-style API with US eAuthentication-compatible federated authentication systems, to achieve access controls and limits based on traditional operational roles. Additionally, we will look at how combining this approach, with an implementation of the CloudAudit APIs, will allow us to achieve a certification under FIPS 199 Moderate classification for a hybrid cloud environment. @@ -54,24 +55,26 @@ Typical implementations of US eAuth authentication systems are structured as fol [ SUN Identity Manager or other SAML Policy Controller ] --> maps URLs to groups… [ Apache Policy Agent in front of eAuth-secured Web Application ] - + In more ideal implementations, the remainder of the application-specific account information is stored either in extended schema on the LDAP server itself, via the use of a translucent LDAP proxy, or in an independent datastore keyed off of the UID provided via SAML assertion. -Basic AWS API call structure ----------------------------- +.. _auth_roles: -AWS API calls are traditionally secured via Access and Secret Keys, which are used to sign API calls, along with traditional timestamps to prevent replay attacks. The APIs can be logically grouped into sets that align with five typical roles: +Roles +----- + +AWS API calls are traditionally secured via Access and Secret Keys, which are used to sign API calls, along with traditional timestamps to prevent replay attacks. The APIs can be logically grouped into sets that align with five typical roles: * System User * System Administrator * Network Administrator * Project Manager * Cloud Administrator -* (IT-Sec?) +* IT-Security -There is an additional, conceptual end-user that may or may not have API access: +There is an additional, conceptual end-user that may or may not have API access: -* (EXTERNAL) End-user / Third-party User +* (EXTERNAL) End-user / Third-party User Basic operations are available to any System User: @@ -106,7 +109,7 @@ Cloud Administrator: Enhancements ------------ -* SAML Token passing +* SAML Token passing * REST interfaces * SOAP interfaces @@ -151,7 +154,7 @@ Dirty Cloud – Hybrid Data Centers * CloudAudit bridge interfaces * Anything in the ARP table -A hybrid cloud environment provides dedicated, potentially co-located physical hardware with a network interconnect to the project or users’ cloud virtual network. +A hybrid cloud environment provides dedicated, potentially co-located physical hardware with a network interconnect to the project or users’ cloud virtual network. This interconnect is typically a bridged VPN connection. Any machines that can be bridged into a hybrid environment in this fashion (at Layer 2) must implement a minimum version of the CloudAudit spec, such that they can be queried to provide a complete picture of the IT-sec runtime environment. @@ -167,7 +170,7 @@ The Details System limits ------------- -The following limits need to be defined and enforced: +The following limits need to be defined and enforced: * Total number of instances allowed (user / project) * Total number of instances, per instance type (user / project) @@ -195,18 +198,18 @@ The :mod:`signer` Module :undoc-members: :show-inheritance: -The :mod:`users` Module +The :mod:`auth` Module ----------------------- -.. automodule:: nova.auth.users +.. automodule:: nova.auth.manager :members: :undoc-members: :show-inheritance: -The :mod:`users_unittest` Module +The :mod:`auth_unittest` Module -------------------------------- -.. automodule:: nova.tests.users_unittest +.. automodule:: nova.tests.auth_unittest :members: :undoc-members: :show-inheritance: @@ -219,4 +222,11 @@ The :mod:`access_unittest` Module :undoc-members: :show-inheritance: +The :mod:`ec2` Module +------------------------ + +.. automodule:: nova.api.ec2 + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 5c006454dd39..54a9c7ccd91f 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -61,25 +61,33 @@ Concept: Virtualization * qemu +Concept: Instances +------------------ + +An 'instance' is a word for a virtual machine that runs inside the cloud. + Concept: Volumes ---------------- -Volumes +A 'volume' is a detachable block storage device. You can think of it as a usb hard drive. It can only be attached to one instance at a time, and it behaves Concept: Quotas --------------- -* Defaults -* Override for project +Nova supports per-project quotas. There are currently quotas for number of instances, total number of cores, number of volumes, total number of gigabytes, and number of floating ips. Concept: RBAC ------------- -* Intersecting Roles -* cloudadmin vs. user admin flag +Nova provides roles based access control (RBAC) for access to api commands. A user can have a number of different :ref:`roles `. Roles define which api_commands a user can perform. +It is important to know that there are user-specific (sometimes called global) roles and project-specific roles. A user's actual permissions in a particular project are the INTERSECTION of his user-specific roles and is project-specific roles. + +For example: A user can access api commands allowed to the netadmin role (like allocate_address) only if he has the user-specific netadmin role AND the project-specific netadmin role. + +More information about RBAC can be found in the :ref:`auth`. Concept: API ------------ @@ -91,14 +99,31 @@ Concept: API Concept: Networking ------------------- -* VLAN - * Cloudpipe - * Certificates (See also: CA) -* Flat Networking -* Flat with DHCP -* How to generate addresses -* Floating Addresses +Nova has a concept of Fixed Ips and Floating ips. Fixed ips are assigned to an instance on creation and stay the same until the instance is explicitly terminated. Floating ips are ip addresses that can be dynamically associated with an instance. This address can be disassociated and associated with another instance at any time. +There are multiple strategies available for implementing fixed ips: + +Flat Mode +^^^^^^^^^ + +The simplest networking mode. Each instance receives a fixed ip from the pool. All instances are attached to the same bridge (br100) by default. The bridge must be configured manually. The networking configuration is injected into the instance before it is booted. Note that this currently only works on linux-style systems that keep networking configuration in /etc/network/interfaces. + +Flat DHCP Mode +^^^^^^^^^^^^^^ + +This is similar to the flat mode, in that all instances are attached to the same bridge. In this mode nova does a bit more configuration, it will attempt to bridge into an ethernet device (eth0 by default). It will also run dnsmasq as a dhcpserver listening on this bridge. Instances receive their fixed ips by doing a dhcpdiscover. + +VLAN DHCP Mode +^^^^^^^^^^^^^^ + +This is the default networking mode and supports the most features. For multiple machine installation, it requires a switch that supports host-managed vlan tagging. In this mode, nova will create a vlan and bridge for each project. The project gets a range of private ips that are only accessible from inside the vlan. In order for a user to access the instances in their project, a special vpn instance (code name cloudpipe) needs to be created. Nova generates a certificate and key for the userto access the vpn and starts the vpn automatically. + +The following diagram illustrates how the communication that occurs between the vlan (the dashed box) and the public internet (represented by the two clouds) + +.. image:: /images/cloudpipe.png + :width: 100% + +.. Concept: Services ----------------- @@ -114,7 +139,7 @@ Concept: Services Concept: nova-manage -------------------- -nova manage +nova-manage is a command line utility for performing administrative tasks and checking on the health of the system. Concept: Flags diff --git a/doc/source/conf.py b/doc/source/conf.py index 505771ff838a..34f049362bb6 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -16,7 +16,7 @@ import sys, os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.append([os.path.abspath('../nova'), os.path.abspath('..'), os.path.abspath('../bin')]) +sys.path.append([os.path.abspath('../../'), os.path.abspath('../../bin')]) # -- General configuration ----------------------------------------------------- diff --git a/doc/source/images/cloudpipe.png b/doc/source/images/cloudpipe.png new file mode 100644 index 0000000000000000000000000000000000000000..ffdd181f26a426dd36d19395936376de424a1237 GIT binary patch literal 89812 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 b{`zK=FfDxq(IfpEz#m9nO|C@NH0b{Uvb0fS literal 0 HcmV?d00001 diff --git a/doc/source/network.rst b/doc/source/network.rst index ef374a7269b3..b776ae40e724 100644 --- a/doc/source/network.rst +++ b/doc/source/network.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -43,65 +43,65 @@ Components ---------- There are several key components: -* NetworkController (Manages address and vlan allocation) +* NetworkController (Manages address and vlan allocation) * RoutingNode (NATs public IPs to private IPs, and enforces firewall rules) * AddressingNode (runs DHCP services for private networks) * BridgingNode (a subclass of the basic nova ComputeNode) * TunnelingNode (provides VPN connectivity) - + Component Diagram ----------------- Overview:: - (PUBLIC INTERNET) + (PUBLIC INTERNET) | \ / \ / \ [RoutingNode] ... [RN] [TunnelingNode] ... [TN] | \ / | | | < AMQP > | | - [AddressingNode]-- (VLAN) ... | (VLAN)... (VLAN) --- [AddressingNode] + [AddressingNode]-- (VLAN) ... | (VLAN)... (VLAN) --- [AddressingNode] \ | \ / / \ / \ / \ / \ [BridgingNode] ... [BridgingNode] - - + + [NetworkController] ... [NetworkController] \ / < AMQP > | / \ - [CloudController]...[CloudController] + [CloudController]...[CloudController] -While this diagram may not make this entirely clear, nodes and controllers communicate exclusively across the message bus (AMQP, currently). +While this diagram may not make this entirely clear, nodes and controllers communicate exclusively across the message bus (AMQP, currently). State Model ----------- Network State consists of the following facts: * VLAN assignment (to a project) -* Private Subnet assignment (to a security group) in a VLAN +* Private Subnet assignment (to a security group) in a VLAN * Private IP assignments (to running instances) * Public IP allocations (to a project) * Public IP associations (to a private IP / running instance) -While copies of this state exist in many places (expressed in IPTables rule chains, DHCP hosts files, etc), the controllers rely only on the distributed "fact engine" for state, queried over RPC (currently AMQP). The NetworkController inserts most records into this datastore (allocating addresses, etc) - however, individual nodes update state e.g. when running instances crash. +While copies of this state exist in many places (expressed in IPTables rule chains, DHCP hosts files, etc), the controllers rely only on the distributed "fact engine" for state, queried over RPC (currently AMQP). The NetworkController inserts most records into this datastore (allocating addresses, etc) - however, individual nodes update state e.g. when running instances crash. The Public Traffic Path ----------------------- - + Public Traffic:: (PUBLIC INTERNET) | - <-- [RoutingNode] + <-- [RoutingNode] | [AddressingNode] --> | - ( VLAN ) + ( VLAN ) | <-- [BridgingNode] | - + -The RoutingNode is currently implemented using IPTables rules, which implement both NATing of public IP addresses, and the appropriate firewall chains. We are also looking at using Netomata / Clusto to manage NATting within a switch or router, and/or to manage firewall rules within a hardware firewall appliance. +The RoutingNode is currently implemented using IPTables rules, which implement both NATing of public IP addresses, and the appropriate firewall chains. We are also looking at using Netomata / Clusto to manage NATting within a switch or router, and/or to manage firewall rules within a hardware firewall appliance. -Similarly, the AddressingNode currently manages running DNSMasq instances for DHCP services. However, we could run an internal DHCP server (using Scapy ala Clusto), or even switch to static addressing by inserting the private address into the disk image the same way we insert the SSH keys. (See compute for more details). +Similarly, the AddressingNode currently manages running DNSMasq instances for DHCP services. However, we could run an internal DHCP server (using Scapy ala Clusto), or even switch to static addressing by inserting the private address into the disk image the same way we insert the SSH keys. (See compute for more details). diff --git a/nova/auth/manager.py b/nova/auth/manager.py index 001a96875268..8388d5a5da62 100644 --- a/nova/auth/manager.py +++ b/nova/auth/manager.py @@ -89,7 +89,6 @@ class AuthBase(object): This method will return the id of the object if the object is of this class, otherwise it will return the original object. This allows methods to accept objects or ids as paramaters. - """ if isinstance(obj, cls): return obj.id From 938caf0eb6620599a48696e9ca14cd4013e5cffb Mon Sep 17 00:00:00 2001 From: Devin Carlen Date: Wed, 27 Oct 2010 17:14:24 -0700 Subject: [PATCH 009/197] added nova-manage docs --- doc/source/concepts.and.introduction.rst | 113 ++++++++++++++++++++++- 1 file changed, 111 insertions(+), 2 deletions(-) diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 54a9c7ccd91f..76db9e9f25f0 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -135,11 +135,120 @@ Concept: Services * nova-network * nova-instancemonitor - Concept: nova-manage -------------------- -nova-manage is a command line utility for performing administrative tasks and checking on the health of the system. +Introduction +++++++++++++ + +The nova-manage command is used to perform many essential functions for +administration and ongoing maintenance of nova, such as user creation, +vpn management, and much more. + +The standard pattern for executing a nova-manage command is: + +``nova-manage []`` + +For example, to obtain a list of all projects: + +``nova-manage project list`` + +User Maintenance +++++++++++++++++ + +* user admin: creates a new admin and prints exports + * arguments: name [access] [secret] +* user create: creates a new user and prints exports + * arguments: name [access] [secret] +* user delete: deletes an existing user + * arguments: name +* user exports: prints access and secrets for user in export format + * arguments: name +* user list: lists all users + * arguments: none +* user modify: update a users keys & admin flag + * arguments: accesskey secretkey admin + * leave any field blank to ignore it, admin should be 'T', 'F', or blank + +Project Maintenance ++++++++++++++++++++ + +* project add: Adds user to project + * arguments: project user +* project create: Creates a new project + * arguments: name project_manager [description] +* project delete: Deletes an existing project + * arguments: project_id +* project environment: Exports environment variables to an sourcable file + * arguments: project_id user_id [filename='novarc] +* project list: lists all projects + * arguments: none +* project quota: Set or display quotas for project + * arguments: project_id [key] [value] +* project remove: Removes user from project + * arguments: project user +* project scrub: Deletes data associated with project + * arguments: project +* project zipfile: Exports credentials for project to a zip file + * arguments: project_id user_id [filename='nova.zip] + +User Role Management +++++++++++++++++++++ + +* role add: adds role to user + * if project is specified, adds project specific role + * arguments: user, role [project] +* role has: checks to see if user has role + * if project is specified, returns True if user has + the global role and the project role + * arguments: user, role [project] +* role remove: removes role from user + * if project is specified, removes project specific role + * arguments: user, role [project] + + +Nova Shell +++++++++++ + +* shell bpython + * start a new bpython shell +* shell ipython + * start a new ipython shell +* shell python + * start a new python shell +* shell run + * ??? +* shell script: Runs the script from the specifed path with flags set properly. + * arguments: path + +VPN Management +++++++++++++++ + +* vpn list: Print a listing of the VPNs for all projects. + * arguments: none +* vpn run: Start the VPN for a given project. + * arguments: project +* vpn spawn: Run all VPNs. + * arguments: none + + +Floating IP Management +++++++++++++++++++++++ + +* floating create: Creates floating ips for host by range + * arguments: host ip_range +* floating delete: Deletes floating ips by range + * arguments: range +* floating list: Prints a listing of all floating ips + * arguments: none + +Network Management +++++++++++++++++++ + +* network create: Creates fixed ips for host by range + * arguments: [fixed_range=FLAG], [num_networks=FLAG], + [network_size=FLAG], [vlan_start=FLAG], + [vpn_start=FLAG] Concept: Flags From 196ab5b15cb87ea5bfe70050bfa0f14c724e2676 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 10:39:51 -0400 Subject: [PATCH 010/197] Fix wiki link. --- doc/source/index.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/source/index.rst b/doc/source/index.rst index d4cdd1408799..54cfea05a401 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -30,7 +30,9 @@ Nova is written with the following design guidelines in mind: This documentation is generated by the Sphinx toolkit and lives in the source tree. Additional documentation on Nova and other components of OpenStack can -be found on the 'OpenStack wiki '. +be found on the `OpenStack wiki`_. + +.. _`OpenStack wiki`: http://wiki.openstack.org Contents From e85ba051c27ab7d50914c7bf91db74d7cf7faa97 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 12:00:25 -0400 Subject: [PATCH 011/197] clean up the compute documentation a bit. --- doc/source/compute.rst | 78 +++++++++++++++++++++++++++++++++++------ nova/compute/manager.py | 24 ++++++++++--- nova/virt/connection.py | 11 +++++- 3 files changed, 96 insertions(+), 17 deletions(-) diff --git a/doc/source/compute.rst b/doc/source/compute.rst index 93070fa88f85..737b2de98d4c 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -16,9 +16,17 @@ under the License. +Compute +======= + +This page contains the Compute Package documentation. + + from etherpad todo ------------------ +:: + * FIX RST IMPORT ERRORS * Compute Manager * public methods @@ -30,57 +38,105 @@ from etherpad todo * hyperv implementation -Compute Documentation -===================== +Manager +------- -This page contains the Compute Package documentation. +Documentation for the compute manager and related files. For reading about +a specific virtualization backend, read Drivers_. The :mod:`manager` Module -------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: nova.compute.manager :members: :undoc-members: :show-inheritance: + The :mod:`disk` Module ----------------------- +~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: nova.compute.disk :members: :undoc-members: :show-inheritance: + The :mod:`instance_types` Module --------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: nova.compute.instance_types :members: :undoc-members: :show-inheritance: + The :mod:`power_state` Module ------------------------------ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: nova.compute.power_state :members: :undoc-members: :show-inheritance: + +Drivers +------- + + +Libvirt Implementations +~~~~~~~~~~~~~~~~~~~~~~~ + + +Libvirt: KVM +^^^^^^^^^^^^ + +KVM Driver + + +Libvirt: QEMU +^^^^^^^^^^^^^ + +QEMU Driver + + +Libvirt: UML +^^^^^^^^^^^^ + +User Mode Linux Driver + + +XEN +~~~ + +Xen Driver + + +Hyper-V +~~~~~~~ + +Hyper-V Driver + + +Monitoring +---------- + The :mod:`monitor` Module -------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: nova.compute.monitor :members: :undoc-members: :show-inheritance: -RELATED TESTS -------------- + +Tests +----- + The :mod:`compute_unittest` Module ----------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: nova.tests.compute_unittest :members: diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 574feec7c29e..c5102c35a21f 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -17,7 +17,20 @@ # under the License. """ -Handles all code relating to instances (guest vms) +Handles all processes relating to instances (guest vms). + +The :py:class:`ComputeManager` class is a :py:class:`nova.manager.Manager` that +handles RPC calls relating to creating instances. It is responsible for +building a disk image, launching it via the underlying virtualization driver, +responding to calls to check it state, attaching persistent as well as termination. + +Related Flags +------------- +:instances_path: Where instances are kept on disk +:compute_driver: Name of class that is used to handle virtualization, loaded + by `nova.utils.import_object` +:volume_manager: Name of class that handles persistent storage, loaded by + `nova.utils.import_object` """ import datetime @@ -40,12 +53,12 @@ flags.DEFINE_string('compute_driver', 'nova.virt.connection.get_connection', class ComputeManager(manager.Manager): - """ - Manages the running instances. - """ + """Manages the running instances from creation to destruction.""" + def __init__(self, compute_driver=None, *args, **kwargs): """Load configuration options and connect to the hypervisor.""" # TODO(vish): sync driver creation logic with the rest of the system + # and redocument the module docstring if not compute_driver: compute_driver = FLAGS.compute_driver self.driver = utils.import_object(compute_driver) @@ -54,7 +67,7 @@ class ComputeManager(manager.Manager): super(ComputeManager, self).__init__(*args, **kwargs) def _update_state(self, context, instance_id): - """Update the state of an instance from the driver info""" + """Update the state of an instance from the driver info.""" # FIXME(ja): include other fields from state? instance_ref = self.db.instance_get(context, instance_id) try: @@ -67,6 +80,7 @@ class ComputeManager(manager.Manager): @defer.inlineCallbacks @exception.wrap_exception def refresh_security_group(self, context, security_group_id, **_kwargs): + """This call passes stright through to the virtualization driver.""" yield self.driver.refresh_security_group(security_group_id) @defer.inlineCallbacks diff --git a/nova/virt/connection.py b/nova/virt/connection.py index 34e37adf7587..ceb7f1e4b811 100644 --- a/nova/virt/connection.py +++ b/nova/virt/connection.py @@ -17,7 +17,7 @@ # License for the specific language governing permissions and limitations # under the License. -"""Abstraction of the underlying virtualization API""" +"""Abstraction of the underlying virtualization API.""" import logging import sys @@ -39,6 +39,15 @@ def get_connection(read_only=False): Any object returned here must conform to the interface documented by FakeConnection. + + Related flags + ------------- + :connection_type: A string literal that falls through a if/elif structure + to determine what virtualization mechanism to use. + Values may be: + * fake + * libvirt + * xenapi """ # TODO(termie): maybe lazy load after initial check for permissions # TODO(termie): check whether we can be disconnected From 44885b02a6c4db9ca2cbfc4067cd37fa3c504aee Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 12:09:59 -0400 Subject: [PATCH 012/197] Add missing rst file. --- doc/source/database.rst | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 doc/source/database.rst diff --git a/doc/source/database.rst b/doc/source/database.rst new file mode 100644 index 000000000000..657e4399fccb --- /dev/null +++ b/doc/source/database.rst @@ -0,0 +1,24 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Nova Database Programming Guide +=============================== + +:: + + * general interface + * sqlalchemy implementation From 8fa3db896ca73bb8f72228afc387c9db500b9ae9 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 12:10:08 -0400 Subject: [PATCH 013/197] Clean up indentation error by preformatting. --- doc/source/concepts.and.introduction.rst | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 5c006454dd39..ee03bbdd59ba 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -91,13 +91,15 @@ Concept: API Concept: Networking ------------------- -* VLAN - * Cloudpipe - * Certificates (See also: CA) -* Flat Networking -* Flat with DHCP -* How to generate addresses -* Floating Addresses +:: + + * VLAN + * Cloudpipe + * Certificates (See also: CA) + * Flat Networking + * Flat with DHCP + * How to generate addresses + * Floating Addresses Concept: Services From 6cbc507cd821d91a9ce21e78b50748fa59ddf356 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 12:14:50 -0400 Subject: [PATCH 014/197] Remove outdated endpoint documentation. --- doc/source/development.guide.rst | 6 ++- doc/source/endpoint.rst | 91 -------------------------------- doc/source/modules.rst | 6 ++- 3 files changed, 10 insertions(+), 93 deletions(-) delete mode 100644 doc/source/endpoint.rst diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 2c8fa86f9b4a..1581b8baffce 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -41,7 +41,6 @@ Older Contents :maxdepth: 1 architecture - endpoint nova fakes binaries @@ -49,6 +48,11 @@ Older Contents packages +Removed +------- + +* endpoint + Indices and tables ------------------ diff --git a/doc/source/endpoint.rst b/doc/source/endpoint.rst deleted file mode 100644 index 399df416189e..000000000000 --- a/doc/source/endpoint.rst +++ /dev/null @@ -1,91 +0,0 @@ -.. - Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. - All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); you may - not use this file except in compliance with the License. You may obtain - a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations - under the License. - -Endpoint Documentation -====================== - -This page contains the Endpoint Package documentation. - -The :mod:`admin` Module ------------------------ - -.. automodule:: nova.endpoint.admin - :members: - :undoc-members: - :show-inheritance: - -The :mod:`api` Module ---------------------- - -.. automodule:: nova.endpoint.api - :members: - :undoc-members: - :show-inheritance: - -The :mod:`cloud` Module ------------------------ - -.. automodule:: nova.endpoint.cloud - :members: - :undoc-members: - :show-inheritance: - -The :mod:`images` Module ------------------------- - -.. automodule:: nova.endpoint.images - :members: - :undoc-members: - :show-inheritance: - - -RELATED TESTS --------------- - -The :mod:`api_unittest` Module ------------------------------- - -.. automodule:: nova.tests.api_unittest - :members: - :undoc-members: - :show-inheritance: - -The :mod:`api_integration` Module ---------------------------------- - -.. automodule:: nova.tests.api_integration - :members: - :undoc-members: - :show-inheritance: - -The :mod:`cloud_unittest` Module --------------------------------- - -.. automodule:: nova.tests.cloud_unittest - :members: - :undoc-members: - :show-inheritance: - -The :mod:`network_unittest` Module ----------------------------------- - -.. automodule:: nova.tests.network_unittest - :members: - :undoc-members: - :show-inheritance: - - diff --git a/doc/source/modules.rst b/doc/source/modules.rst index 82c61f008de8..9b31664b62e2 100644 --- a/doc/source/modules.rst +++ b/doc/source/modules.rst @@ -28,7 +28,11 @@ Modules: auth compute - endpoint fakes nova volume + +Removed: +-------- + +* endpoint From 208da85e85131a9b60a1fadea3e4242fa70dcde2 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 12:25:39 -0400 Subject: [PATCH 015/197] Whitespace and docstring cleanups --- nova/auth/fakeldap.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nova/auth/fakeldap.py b/nova/auth/fakeldap.py index 1a49b73fed02..176a00f06747 100644 --- a/nova/auth/fakeldap.py +++ b/nova/auth/fakeldap.py @@ -15,12 +15,14 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. + """ -Fake LDAP server for test harnesses. +Fake LDAP server for test harness, backs to ReDIS. This class does very little error checking, and knows nothing about ldap -class definitions. It implements the minimum emulation of the python ldap +class definitions. It implements the minimum emulation of the python ldap library to work with nova. + """ import json @@ -77,8 +79,8 @@ def initialize(_uri): def _match_query(query, attrs): """Match an ldap query to an attribute dictionary. - &, |, and ! are supported in the query. No syntax checking is performed, - so malformed querys will not work correctly. + The characters &, |, and ! are supported in the query. No syntax checking + is performed, so malformed querys will not work correctly. """ # cut off the parentheses inner = query[1:-1] From 89c881d651efcbba56406048112c3cf2cb676a8e Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 12:26:17 -0400 Subject: [PATCH 016/197] Fix underlining -> heading in rst file. --- doc/source/fakes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/fakes.rst b/doc/source/fakes.rst index a993fb4c89af..eccd4ab43dec 100644 --- a/doc/source/fakes.rst +++ b/doc/source/fakes.rst @@ -19,7 +19,7 @@ Nova Fakes ========== The :mod:`virt.fake` Module --------------------------- +--------------------------- .. automodule:: nova.virt.fake :members: From 4bd42d5ee9eadb9affb40ee6ed0f98b13609c895 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 12:26:29 -0400 Subject: [PATCH 017/197] Another heading was too distracting, use instead. --- nova/compute/manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index c5102c35a21f..174fb0aca599 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -24,8 +24,8 @@ handles RPC calls relating to creating instances. It is responsible for building a disk image, launching it via the underlying virtualization driver, responding to calls to check it state, attaching persistent as well as termination. -Related Flags -------------- +**Related Flags** + :instances_path: Where instances are kept on disk :compute_driver: Name of class that is used to handle virtualization, loaded by `nova.utils.import_object` From 7d367e04c3e0dcdf7ce2121c464884c0825a552c Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 13:23:43 -0400 Subject: [PATCH 018/197] Clean up volumes / storage info. --- doc/source/concepts.and.introduction.rst | 6 ++- doc/source/database.rst | 32 +++++++++++++--- doc/source/development.guide.rst | 2 +- doc/source/storage.rst | 47 ------------------------ doc/source/volume.rst | 17 +++++++-- 5 files changed, 46 insertions(+), 58 deletions(-) delete mode 100644 doc/source/storage.rst diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index ee03bbdd59ba..c3057c958084 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -61,10 +61,12 @@ Concept: Virtualization * qemu -Concept: Volumes +Concept: Storage ---------------- -Volumes +* Ephemeral +* Volumes +* Swift Concept: Quotas diff --git a/doc/source/database.rst b/doc/source/database.rst index 657e4399fccb..f0672f6088b3 100644 --- a/doc/source/database.rst +++ b/doc/source/database.rst @@ -15,10 +15,32 @@ License for the specific language governing permissions and limitations under the License. -Nova Database Programming Guide -=============================== +Database Programming Guide +========================== -:: +The :mod:`api` Module +--------------------- + +.. automodule:: nova.db.api + :members: + :undoc-members: + :show-inheritance: + + +Drivers +------- + +The :mod:sqlalchemy Driver +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.db.sqlalchemy.api + :members: + :undoc-members: + :show-inheritance: + + +.. automodule:: nova.db.sqlalchemy.models + :members: + :undoc-members: + :show-inheritance: - * general interface - * sqlalchemy implementation diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 1581b8baffce..d9a7c46f9b4d 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -28,7 +28,7 @@ Contents :maxdepth: 1 database - storage + volume compute network auth diff --git a/doc/source/storage.rst b/doc/source/storage.rst deleted file mode 100644 index 72880a4a1fa4..000000000000 --- a/doc/source/storage.rst +++ /dev/null @@ -1,47 +0,0 @@ -.. - Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. - All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); you may - not use this file except in compliance with the License. You may obtain - a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations - under the License. - -Storage in the Nova Cloud -========================= - - -from etherpad todo -------------------- -:: - * Volume Manager - * public methods - * responsibilities - * Volume Driver - * public methods - * AoE implementation - * ISCSI implementation - - -legacy docs ------------ - -There are three primary classes of storage in a nova cloud environment: - -* Ephemeral Storage (local disk within an instance) -* Volume Storage (network-attached FS) -* Object Storage (redundant KVS with locality and MR) - -.. toctree:: - :maxdepth: 2 - - volume - objectstore diff --git a/doc/source/volume.rst b/doc/source/volume.rst index 619968458d43..c55961a46051 100644 --- a/doc/source/volume.rst +++ b/doc/source/volume.rst @@ -15,9 +15,20 @@ License for the specific language governing permissions and limitations under the License. -Volume Documentation -==================== - +Volume Programming Guide +========================= + +The :mod:`nova.volume.manager` Module +------------------------------------- + +.. automodule:: nova.volume.manager + :members: + :undoc-members: + :show-inheritance: + +OLDHAT +------ + Nova uses ata-over-ethernet (AoE) to export storage volumes from multiple storage nodes. These AoE exports are attached (using libvirt) directly to running instances. Nova volumes are exported over the primary system VLAN (usually VLAN 1), and not over individual VLANs. From b6539d86c7217290d46682e214a9e82cfc810447 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 13:58:20 -0400 Subject: [PATCH 019/197] Remove objectstore, not referenced anywhere. --- doc/source/objectstore.rst | 66 -------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 doc/source/objectstore.rst diff --git a/doc/source/objectstore.rst b/doc/source/objectstore.rst deleted file mode 100644 index 6b8d293f46f7..000000000000 --- a/doc/source/objectstore.rst +++ /dev/null @@ -1,66 +0,0 @@ -.. - Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. - All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); you may - not use this file except in compliance with the License. You may obtain - a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations - under the License. - -Objectstore Documentation -========================= - -This page contains the Objectstore Package documentation. - - -The :mod:`bucket` Module ------------------------- - -.. automodule:: nova.objectstore.bucket - :members: - :undoc-members: - :show-inheritance: - -The :mod:`handler` Module -------------------------- - -.. automodule:: nova.objectstore.handler - :members: - :undoc-members: - :show-inheritance: - -The :mod:`image` Module ------------------------ - -.. automodule:: nova.objectstore.image - :members: - :undoc-members: - :show-inheritance: - -The :mod:`stored` Module ------------------------- - -.. automodule:: nova.objectstore.stored - :members: - :undoc-members: - :show-inheritance: - -RELATED TESTS -------------- - -The :mod:`objectstore_unittest` Module --------------------------------------- - -.. automodule:: nova.tests.objectstore_unittest - :members: - :undoc-members: - :show-inheritance: - From 9321ae23a1741267bc911e70b6755ac5c3251fbc Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 14:04:11 -0400 Subject: [PATCH 020/197] volume cleanups --- doc/source/volume.rst | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/doc/source/volume.rst b/doc/source/volume.rst index c55961a46051..f83556795e64 100644 --- a/doc/source/volume.rst +++ b/doc/source/volume.rst @@ -26,8 +26,28 @@ The :mod:`nova.volume.manager` Module :undoc-members: :show-inheritance: -OLDHAT ------- +The :mod:`nova.volume.driver` Module +------------------------------------- + +.. automodule:: nova.volume.driver + :members: + :undoc-members: + :show-inheritance: + +Tests +----- + +.. automodule:: nova.tests.volume_unittest + :members: + :undoc-members: + :show-inheritance: + +Old Docs +-------- + +:: + + TODO(todd): change for iSCSI & AoE and move to top of document Nova uses ata-over-ethernet (AoE) to export storage volumes from multiple storage nodes. These AoE exports are attached (using libvirt) directly to running instances. @@ -38,19 +58,3 @@ AoE exports are numbered according to a "shelf and blade" syntax. In order to av The underlying volumes are LVM logical volumes, created on demand within a single large volume group. -The :mod:`storage` Module -------------------------- - -.. automodule:: nova.volume.storage - :members: - :undoc-members: - :show-inheritance: - -The :mod:`storage_unittest` Module ----------------------------------- - -.. automodule:: nova.tests.storage_unittest - :members: - :undoc-members: - :show-inheritance: - From 39fd6f43873e6d314504f53dc4cb1c8a3a3cfbc3 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 28 Oct 2010 11:33:29 -0700 Subject: [PATCH 021/197] wip architecture, a few auth formatting fixes, binaries, and overview --- doc/source/architecture.rst | 20 +++++----- doc/source/auth.rst | 49 ++++++++++++----------- doc/source/binaries.rst | 51 +++++++++++++++++++----- doc/source/concepts.and.introduction.rst | 3 ++ doc/source/services.rst | 25 ++++++------ 5 files changed, 92 insertions(+), 56 deletions(-) diff --git a/doc/source/architecture.rst b/doc/source/architecture.rst index 11813d2c8c3a..eba6cbfb8835 100644 --- a/doc/source/architecture.rst +++ b/doc/source/architecture.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -30,14 +30,16 @@ Below you will find a helpful explanation. :: - [ User Manager ] ---- ( LDAP ) - | - | / [ Storage ] - ( ATAoE ) - [ API server ] -> [ Cloud ] < AMQP > - | \ [ Nodes ] - ( libvirt/kvm ) - < HTTP > - | - [ S3 ] + [ Auth Manager ] ---- ( LDAP ) + | + | + | + | / [ Storage ] - ( ATAoE/iSCSI ) + [ Web Dashboard ] -> [ nova-api ] < AMQP > - + | \ [ Nodes ] - ( libvirt/kvm ) + < HTTP > + | + [ nova-objectstore ] * API: receives http requests from boto, converts commands to/from API format, and sending requests to cloud controller diff --git a/doc/source/auth.rst b/doc/source/auth.rst index 4d303725359e..adcb759a2de7 100644 --- a/doc/source/auth.rst +++ b/doc/source/auth.rst @@ -24,7 +24,7 @@ from etherpad todo ------------------ :: - * FIX RST IMPORT ERRORS + * Manager * Driver * ldap @@ -65,46 +65,47 @@ Roles AWS API calls are traditionally secured via Access and Secret Keys, which are used to sign API calls, along with traditional timestamps to prevent replay attacks. The APIs can be logically grouped into sets that align with five typical roles: -* System User -* System Administrator +* Base User +* System Administrator/Developer (currently have the same permissions) * Network Administrator * Project Manager -* Cloud Administrator -* IT-Security +* Cloud Administrator/IT-Security (currently have the same permissions) There is an additional, conceptual end-user that may or may not have API access: * (EXTERNAL) End-user / Third-party User -Basic operations are available to any System User: +Basic operations are available to any : -* Launch Instance -* Terminate Instance (their own) -* Create keypair -* Delete keypair -* Create, Upload, Delete: Buckets and Keys (Object Store) – their own -* Create, Attach, Delete Volume (Block Store) – their own +* Describe Instances +* Describe Images +* Describe Volumes +* Describe Keypairs +* Create Keypair +* Delete Keypair +* Create, Upload, Delete: Buckets and Keys (Object Store) -System Administrators: +System Administrators/Developers/Project Manager: +* Create, Attach, Delete Volume (Block Store) +* Launch, Reboot, Terminate Instance * Register/Unregister Machine Image (project-wide) -* Change Machine Image properties (public / private) * Request / Review CloudAudit Scans -Network Administrator: - -* Change Firewall Rules, define Security Groups -* Allocate, Associate, Deassociate Public IP addresses - Project Manager: -* Launch and Terminate Instances (project-wide) -* CRUD of Object and Block store (project-wide) +* Add and remove other users (currently no api) +* Set roles (currently no api) -Cloud Administrator: +Network Administrator: -* Register / Unregister Kernel and Ramdisk Images -* Register / Unregister Machine Image (any) +* Change Machine Image properties (public / private) +* Change Firewall Rules, define Security Groups +* Allocate, Associate, Deassociate Public IP addresses + +Cloud Administrator/IT-Security: + +* All permissions Enhancements ------------ diff --git a/doc/source/binaries.rst b/doc/source/binaries.rst index 90a9581f7f8d..6771f345e9d9 100644 --- a/doc/source/binaries.rst +++ b/doc/source/binaries.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -18,14 +18,43 @@ Nova Binaries =============== -* nova-api -* nova-compute -* nova-manage -* nova-objectstore -* nova-volume +The configuration of these binaries relies on "flagfiles" using the google +gflags package:: -The configuration of these binaries relies on "flagfiles" using the google -gflags package. If present, the nova.conf file will be used as the flagfile -- otherwise, it must be specified on the command line:: - - $ python node_worker.py --flagfile flagfile + $ nova-xxxxx --flagfile flagfile + +The binaries can all run on the same machine or be spread out amongst multiple boxes in a large deployment. + +nova-manage +----------- + +Nova manage is a command line utility to administer the system. It will autmatically try to load a flagfile from /etc/nova/nova-manage.conf to save you having to type it. Info on the commands can be found :ref:`here `. + +nova-api +-------- + +Nova api receives xml requests and sends them to the rest of the system. It is a wsgi app that routes and authenticate requests. It supports the ec2 and openstack apis. + +nova-objectstore +---------------- + +Nova objectstore is an ultra simple file-based storage system for images that replicates most of the S3 Api. It will soon be replaced with glance and a simple image manager. + +nova-compute +------------ + +Nova compute is responsible for managing virtual machines. It loads a Service object which exposes the public methods on ComputeManager via rpc. + +nova-volume +----------- + +Nova volume is responsible for managing attachable block storage devices. It loads a Service object which exposes the public methods on VolumeManager via rpc. + +nova-network +------------ + +Nova network is responsible for managing floating and fixed ips, dhcp, bridging and vlans. It loads a Service object which exposes the public methods on one of the subclasses of NetworkManager. Different networking strategies are as simple as changing the network_manager flag:: + + $ nova-network --network_manager=nova.network.manager.FlatManager + +IMPORTANT: Make sure that you also set the network_manager on nova-api and nova_compute, since make some calls to network manager in process instead of through rpc. More information on the interactions between services, managers, and drivers can be found :ref:`here ` diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 76db9e9f25f0..7f4aa153cba8 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -135,6 +135,9 @@ Concept: Services * nova-network * nova-instancemonitor + +.. _manage_usage: + Concept: nova-manage -------------------- diff --git a/doc/source/services.rst b/doc/source/services.rst index 7ff8fa6c302f..607f5974b6b9 100644 --- a/doc/source/services.rst +++ b/doc/source/services.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -15,17 +15,18 @@ License for the specific language governing permissions and limitations under the License. -Services -======== +.. _service_manager_driver: -Admin guide should go beyoned concepts & introduction by talking about how -each service interacts with each other, what requirements for deployment are, -monotoring, logging, etc +Services Managers and Drivers +============================= +Describe division of responsibilities for each component. -* nova-api -* nova-scheduler -* nova-compute -* nova-volume -* nova-network -* nova-instancemonitor +Service +------- + +Manager +------- + +Driver +------ From 73773c2897894a4b7c40268f04fa100425411824 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 28 Oct 2010 11:38:43 -0700 Subject: [PATCH 022/197] fix title levels --- doc/source/concepts.and.introduction.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 7f4aa153cba8..f36949835e7d 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -142,7 +142,7 @@ Concept: nova-manage -------------------- Introduction -++++++++++++ +^^^^^^^^^^^^ The nova-manage command is used to perform many essential functions for administration and ongoing maintenance of nova, such as user creation, @@ -157,7 +157,7 @@ For example, to obtain a list of all projects: ``nova-manage project list`` User Maintenance -++++++++++++++++ +^^^^^^^^^^^^^^^^ * user admin: creates a new admin and prints exports * arguments: name [access] [secret] @@ -174,7 +174,7 @@ User Maintenance * leave any field blank to ignore it, admin should be 'T', 'F', or blank Project Maintenance -+++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^ * project add: Adds user to project * arguments: project user @@ -196,7 +196,7 @@ Project Maintenance * arguments: project_id user_id [filename='nova.zip] User Role Management -++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^ * role add: adds role to user * if project is specified, adds project specific role @@ -211,7 +211,7 @@ User Role Management Nova Shell -++++++++++ +^^^^^^^^^^ * shell bpython * start a new bpython shell @@ -225,7 +225,7 @@ Nova Shell * arguments: path VPN Management -++++++++++++++ +^^^^^^^^^^^^^^ * vpn list: Print a listing of the VPNs for all projects. * arguments: none @@ -236,7 +236,7 @@ VPN Management Floating IP Management -++++++++++++++++++++++ +^^^^^^^^^^^^^^^^^^^^^^ * floating create: Creates floating ips for host by range * arguments: host ip_range @@ -246,7 +246,7 @@ Floating IP Management * arguments: none Network Management -++++++++++++++++++ +^^^^^^^^^^^^^^^^^^ * network create: Creates fixed ips for host by range * arguments: [fixed_range=FLAG], [num_networks=FLAG], From 828b299a5660537062b11e6e58cfdf4c840053e1 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 14:39:25 -0400 Subject: [PATCH 023/197] cleanup todos --- doc/source/compute.rst | 13 +------------ doc/source/database.rst | 10 ++++++++-- doc/source/volume.rst | 10 ++++++---- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/doc/source/compute.rst b/doc/source/compute.rst index 737b2de98d4c..f3173122afe1 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -22,20 +22,9 @@ Compute This page contains the Compute Package documentation. -from etherpad todo ------------------- - :: - * FIX RST IMPORT ERRORS - * Compute Manager - * public methods - * responsibilities - * Compute Driver - * public methods - * libvirt implementation (kvm/qemu vs uml) - * xen implementation - * hyperv implementation + TODO(todd): Document drivers Manager diff --git a/doc/source/database.rst b/doc/source/database.rst index f0672f6088b3..41b362d19784 100644 --- a/doc/source/database.rst +++ b/doc/source/database.rst @@ -18,6 +18,12 @@ Database Programming Guide ========================== +:: + + TODO(todd): should sqlalchemy.api be here? + pep-256 on db/api.py and models.py (periods) + document register_models (where should it be called from?) + The :mod:`api` Module --------------------- @@ -30,8 +36,8 @@ The :mod:`api` Module Drivers ------- -The :mod:sqlalchemy Driver -~~~~~~~~~~~~~~~~~~~~~~~~~~ +The :mod:`sqlalchemy` Driver +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: nova.db.sqlalchemy.api :members: diff --git a/doc/source/volume.rst b/doc/source/volume.rst index f83556795e64..f4162560cc70 100644 --- a/doc/source/volume.rst +++ b/doc/source/volume.rst @@ -18,6 +18,12 @@ Volume Programming Guide ========================= +:: + + TODO(todd): document for iSCSI & AoE (see 'Old Docs') + pep-257 + + The :mod:`nova.volume.manager` Module ------------------------------------- @@ -45,10 +51,6 @@ Tests Old Docs -------- -:: - - TODO(todd): change for iSCSI & AoE and move to top of document - Nova uses ata-over-ethernet (AoE) to export storage volumes from multiple storage nodes. These AoE exports are attached (using libvirt) directly to running instances. Nova volumes are exported over the primary system VLAN (usually VLAN 1), and not over individual VLANs. From 1915bb227d1eb847a681173772f4b9a769d64331 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 15:10:15 -0400 Subject: [PATCH 024/197] Todo cleanups in docs. --- doc/source/auth.rst | 26 ++++++++++++++------------ doc/source/compute.rst | 4 ++-- doc/source/network.rst | 39 ++++++++++++++++++++++++--------------- 3 files changed, 40 insertions(+), 29 deletions(-) diff --git a/doc/source/auth.rst b/doc/source/auth.rst index d739e4b8ecb4..f4a7e0147e3d 100644 --- a/doc/source/auth.rst +++ b/doc/source/auth.rst @@ -15,20 +15,22 @@ License for the specific language governing permissions and limitations under the License. -Auth Documentation -================== - - -from etherpad todo ------------------- +Authentication and Authorization Development Guide +================================================== :: - * FIX RST IMPORT ERRORS - * Manager - * Driver - * ldap - * fakeldap - * redisectomy + + TOOD(todd); + * Authentication + * Manager + * Driver + * ldap + * fakeldap + * redisectomy + * Authorizztion + * RBAC + * Quotas + legacy docs ----------- diff --git a/doc/source/compute.rst b/doc/source/compute.rst index f3173122afe1..9b4d1022769b 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -16,8 +16,8 @@ under the License. -Compute -======= +Virtualization Programming Guide +================================ This page contains the Compute Package documentation. diff --git a/doc/source/network.rst b/doc/source/network.rst index ef374a7269b3..f9434b453387 100644 --- a/doc/source/network.rst +++ b/doc/source/network.rst @@ -15,23 +15,32 @@ License for the specific language governing permissions and limitations under the License. -nova Networking -================ +Networking Programming Guide +============================ - -from etherpad todo ------------------- :: - * Network Manager - * overview (use vish email) - * public methods - * responsibilities - * Vlan + DHCP implementation - * Flat + DHCP implementation - * Flat impleplementation - * Network Driver - * public methods - * hardware specific commands + + TODO(todd): + * document how managers work + * document backend (linux-net) + * document hardware specific commands + * pep 257 + +The :mod:`Manager` module +------------------------- + +.. automodule:: nova.network.manager + :members: + :undoc-members: + :show-inheritance: + +The :mod:`LinuxNet` driver +-------------------------- + +.. automodule:: nova.network.linux_net + :members: + :undoc-members: + :show-inheritance: legacy docs From a592636054511382105dc81d4a6b2a44df0dad9a Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 17:08:13 -0400 Subject: [PATCH 025/197] :func: links to python functions in the documentation. --- nova/compute/manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 174fb0aca599..3346d1299357 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -28,9 +28,9 @@ responding to calls to check it state, attaching persistent as well as terminati :instances_path: Where instances are kept on disk :compute_driver: Name of class that is used to handle virtualization, loaded - by `nova.utils.import_object` + by :func:`nova.utils.import_object` :volume_manager: Name of class that handles persistent storage, loaded by - `nova.utils.import_object` + :func:`nova.utils.import_object` """ import datetime From 7dedbca140c7e923c7b2fcaa8679a19249fb8350 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 28 Oct 2010 14:27:24 -0700 Subject: [PATCH 026/197] link binaries section to concepts --- doc/source/binaries.rst | 2 ++ doc/source/concepts.and.introduction.rst | 10 ++-------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/doc/source/binaries.rst b/doc/source/binaries.rst index 6771f345e9d9..3ea07d9c268a 100644 --- a/doc/source/binaries.rst +++ b/doc/source/binaries.rst @@ -15,6 +15,8 @@ License for the specific language governing permissions and limitations under the License. +.. _binaries: + Nova Binaries =============== diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index f36949835e7d..7f59c0c92d42 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -125,16 +125,10 @@ The following diagram illustrates how the communication that occurs between the .. -Concept: Services +Concept: Binaries ----------------- -* nova-api -* nova-scheduler -* nova-compute -* nova-volume -* nova-network -* nova-instancemonitor - +Nova is implemented by a number of related binaries. These binaries can run on the same machine or many machines. A detailed description of each binary is given in the :ref:`binaries section ` of the developer guide. .. _manage_usage: From 1106d7622e9327d4db417ae8bc7a18bb5d64fa1c Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 18:59:03 -0400 Subject: [PATCH 027/197] A shell script for showing modules that aren't documented in .rst files. --- doc/find_undocumented_classes.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 doc/find_undocumented_classes.sh diff --git a/doc/find_undocumented_classes.sh b/doc/find_undocumented_classes.sh new file mode 100755 index 000000000000..845e0b5e0ac2 --- /dev/null +++ b/doc/find_undocumented_classes.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +NOVA_DIR='../nova/' # include trailing slash +DOCS_DIR='source' + +modules='' +for x in `find ${NOVA_DIR} -name '*.py'`; do + if [ `basename ${x} .py` == "__init__" ] ; then + continue + fi + relative=nova.`echo ${x} | sed -e 's$^'${NOVA_DIR}'$$' -e 's/.py$//' -e 's$/$.$g'` + modules="${modules} ${relative}" +done + +for mod in ${modules} ; do + op=`grep ${mod} ${DOCS_DIR}/*.rst` + if [ -z "${op}" ] ; then + echo ${mod} + fi +done From 654a61c26d94a719e0ea665699b8075084ad79e3 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 18:59:25 -0400 Subject: [PATCH 028/197] Clean up todos and the like for docs. --- doc/source/auth.rst | 131 +++++++++++++++---------------- doc/source/compute.rst | 5 +- doc/source/database.rst | 2 + doc/source/development.guide.rst | 9 ++- doc/source/network.rst | 1 + doc/source/volume.rst | 1 + 6 files changed, 81 insertions(+), 68 deletions(-) diff --git a/doc/source/auth.rst b/doc/source/auth.rst index 0230ec5c4509..203efe1a598d 100644 --- a/doc/source/auth.rst +++ b/doc/source/auth.rst @@ -22,16 +22,71 @@ Authentication and Authorization Development Guide :: - TOOD(todd); - * Authentication - * Manager - * Driver - * ldap - * fakeldap - * redisectomy - * Authorizztion - * RBAC - * Quotas + TOOD(todd): * Authorizztion + * RBAC + * Quotas + + +Auth Manager +------------ + +The :mod:`manager` Module +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.auth.manager + :members: + :undoc-members: + :show-inheritance: + +Drivers +------- + +The :mod:`ldapdriver` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.auth.ldapdriver + :members: + :undoc-members: + :show-inheritance: + +The :mod:`dbdriver` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.auth.dbdriver + :members: + :undoc-members: + :show-inheritance: + +API Integration +--------------- + +The :mod:`signer` Module +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.auth.signer + :members: + :undoc-members: + :show-inheritance: + + +Related Tests +------------- + +The :mod:`auth_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.auth_unittest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`access_unittest` Module +--------------------------------- + +.. automodule:: nova.tests.access_unittest + :members: + :undoc-members: + :show-inheritance: legacy docs @@ -194,59 +249,3 @@ Further Challenges -The :mod:`signer` Module ------------------------- - -.. automodule:: nova.auth.signer - :members: - :undoc-members: - :show-inheritance: - -The :mod:`manager` Module -------------------------- - -.. automodule:: nova.auth.manager - :members: - :undoc-members: - :show-inheritance: - -The :mod:`ldapdriver` Module ----------------------------- - -.. automodule:: nova.auth.ldapdriver - :members: - :undoc-members: - :show-inheritance: - -The :mod:`dbdriver` Module ----------------------------- - -.. automodule:: nova.auth.dbdriver - :members: - :undoc-members: - :show-inheritance: - -The :mod:`auth_unittest` Module --------------------------------- - -.. automodule:: nova.tests.auth_unittest - :members: - :undoc-members: - :show-inheritance: - -The :mod:`access_unittest` Module ---------------------------------- - -.. automodule:: nova.tests.access_unittest - :members: - :undoc-members: - :show-inheritance: - -The :mod:`ec2` Module ---------------------- - -.. automodule:: nova.api.ec2 - :members: - :undoc-members: - :show-inheritance: - diff --git a/doc/source/compute.rst b/doc/source/compute.rst index 9b4d1022769b..d29b9678106f 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -24,7 +24,10 @@ This page contains the Compute Package documentation. :: - TODO(todd): Document drivers + TODO(todd): * Document drivers + * get docstrings to come in for ComputeManager + * fix formatting of ascii art in disk module + * document instance_types and power_states Manager diff --git a/doc/source/database.rst b/doc/source/database.rst index 41b362d19784..bab6b472dfd9 100644 --- a/doc/source/database.rst +++ b/doc/source/database.rst @@ -23,6 +23,8 @@ Database Programming Guide TODO(todd): should sqlalchemy.api be here? pep-256 on db/api.py and models.py (periods) document register_models (where should it be called from?) + document any relevant test cases + document flags The :mod:`api` Module --------------------- diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index d9a7c46f9b4d..04fee329af68 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -18,7 +18,14 @@ Nova Development Guide ====================== -Nova is written in python +Nova is written in python. + +:: + + TODO(todd): * API + * Exceptions + * Nova libraries (utils, etc) + * Building packages Contents diff --git a/doc/source/network.rst b/doc/source/network.rst index f53360bd7738..b044c6413b17 100644 --- a/doc/source/network.rst +++ b/doc/source/network.rst @@ -25,6 +25,7 @@ Networking Programming Guide * document backend (linux-net) * document hardware specific commands * pep 257 + * document flags The :mod:`Manager` module ------------------------- diff --git a/doc/source/volume.rst b/doc/source/volume.rst index f4162560cc70..27977761aef1 100644 --- a/doc/source/volume.rst +++ b/doc/source/volume.rst @@ -22,6 +22,7 @@ Volume Programming Guide TODO(todd): document for iSCSI & AoE (see 'Old Docs') pep-257 + document flags The :mod:`nova.volume.manager` Module From 7cc4bcd344221d517054641171f759b88112a459 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 20:13:40 -0400 Subject: [PATCH 029/197] Pep-257 cleanups. --- nova/db/api.py | 128 +++++++++++++++++++++++++++---------------------- 1 file changed, 70 insertions(+), 58 deletions(-) diff --git a/nova/db/api.py b/nova/db/api.py index 0731e2e05d95..7cce591adc9a 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -16,7 +16,7 @@ # License for the specific language governing permissions and limitations # under the License. """ -Defines interface for DB access +Defines interface for DB access. """ from nova import exception @@ -34,17 +34,17 @@ IMPL = utils.LazyPluggable(FLAGS['db_backend'], class NoMoreAddresses(exception.Error): - """No more available addresses""" + """No more available addresses.""" pass class NoMoreBlades(exception.Error): - """No more available blades""" + """No more available blades.""" pass class NoMoreNetworks(exception.Error): - """No more available networks""" + """No more available networks.""" pass @@ -62,30 +62,33 @@ def service_get(context, service_id): def service_get_all_by_topic(context, topic): - """Get all compute services for a given topic """ + """Get all compute services for a given topic.""" return IMPL.service_get_all_by_topic(context, topic) def service_get_all_compute_sorted(context): - """Get all compute services sorted by instance count + """Get all compute services sorted by instance count. + + Returns a list of (Service, instance_count) tuples. - Returns a list of (Service, instance_count) tuples """ return IMPL.service_get_all_compute_sorted(context) def service_get_all_network_sorted(context): - """Get all network services sorted by network count + """Get all network services sorted by network count. + + Returns a list of (Service, network_count) tuples. - Returns a list of (Service, network_count) tuples """ return IMPL.service_get_all_network_sorted(context) def service_get_all_volume_sorted(context): - """Get all volume services sorted by volume count + """Get all volume services sorted by volume count. + + Returns a list of (Service, volume_count) tuples. - Returns a list of (Service, volume_count) tuples """ return IMPL.service_get_all_volume_sorted(context) @@ -116,6 +119,7 @@ def floating_ip_allocate_address(context, host, project_id): """Allocate free floating ip and return the address. Raises if one is not available. + """ return IMPL.floating_ip_allocate_address(context, host, project_id) @@ -144,6 +148,7 @@ def floating_ip_disassociate(context, address): """Disassociate an floating ip from a fixed ip by address. Returns the address of the existing fixed ip. + """ return IMPL.floating_ip_disassociate(context, address) @@ -182,6 +187,7 @@ def fixed_ip_associate(context, address, instance_id): """Associate fixed ip to instance. Raises if fixed ip is not available. + """ return IMPL.fixed_ip_associate(context, address, instance_id) @@ -190,6 +196,7 @@ def fixed_ip_associate_pool(context, network_id, instance_id): """Find free ip in network and associate it to instance. Raises if one is not available. + """ return IMPL.fixed_ip_associate_pool(context, network_id, instance_id) @@ -205,7 +212,7 @@ def fixed_ip_disassociate(context, address): def fixed_ip_disassociate_all_by_timeout(context, host, time): - """Disassociate old fixed ips from host""" + """Disassociate old fixed ips from host.""" return IMPL.fixed_ip_disassociate_all_by_timeout(context, host, time) @@ -283,7 +290,7 @@ def instance_get_floating_address(context, instance_id): def instance_get_by_internal_id(context, internal_id): - """Get an instance by ec2 id.""" + """Get an instance by internal id.""" return IMPL.instance_get_by_internal_id(context, internal_id) @@ -307,7 +314,7 @@ def instance_update(context, instance_id, values): def instance_add_security_group(context, instance_id, security_group_id): - """Associate the given security group with the given instance""" + """Associate the given security group with the given instance.""" return IMPL.instance_add_security_group(context, instance_id, security_group_id) @@ -369,10 +376,12 @@ def network_count_reserved_ips(context, network_id): def network_create_safe(context, values): - """Create a network from the values dict + """Create a network from the values dict. The network is only returned if the create succeeds. If the create violates - constraints because the network already exists, no exception is raised.""" + constraints because the network already exists, no exception is raised. + + """ return IMPL.network_create_safe(context, values) @@ -413,22 +422,22 @@ def network_get_by_instance(context, instance_id): def network_get_index(context, network_id): - """Get non-conflicting index for network""" + """Get non-conflicting index for network.""" return IMPL.network_get_index(context, network_id) def network_get_vpn_ip(context, network_id): - """Get non-conflicting index for network""" + """Get non-conflicting index for network.""" return IMPL.network_get_vpn_ip(context, network_id) def network_set_cidr(context, network_id, cidr): - """Set the Classless Inner Domain Routing for the network""" + """Set the Classless Inner Domain Routing for the network.""" return IMPL.network_set_cidr(context, network_id, cidr) def network_set_host(context, network_id, host_id): - """Safely set the host for network""" + """Safely set the host for network.""" return IMPL.network_set_host(context, network_id, host_id) @@ -474,7 +483,9 @@ def export_device_create_safe(context, values): The device is not returned. If the create violates the unique constraints because the shelf_id and blade_id already exist, - no exception is raised.""" + no exception is raised. + + """ return IMPL.export_device_create_safe(context, values) @@ -482,17 +493,17 @@ def export_device_create_safe(context, values): def auth_destroy_token(context, token): - """Destroy an auth token""" + """Destroy an auth token.""" return IMPL.auth_destroy_token(context, token) def auth_get_token(context, token_hash): - """Retrieves a token given the hash representing it""" + """Retrieves a token given the hash representing it.""" return IMPL.auth_get_token(context, token_hash) def auth_create_token(context, token): - """Creates a new token""" + """Creates a new token.""" return IMPL.auth_create_token(context, token) @@ -595,47 +606,47 @@ def volume_update(context, volume_id, values): def security_group_get_all(context): - """Get all security groups""" + """Get all security groups.""" return IMPL.security_group_get_all(context) def security_group_get(context, security_group_id): - """Get security group by its internal id""" + """Get security group by its internal id.""" return IMPL.security_group_get(context, security_group_id) def security_group_get_by_name(context, project_id, group_name): - """Returns a security group with the specified name from a project""" + """Returns a security group with the specified name from a project.""" return IMPL.security_group_get_by_name(context, project_id, group_name) def security_group_get_by_project(context, project_id): - """Get all security groups belonging to a project""" + """Get all security groups belonging to a project.""" return IMPL.security_group_get_by_project(context, project_id) def security_group_get_by_instance(context, instance_id): - """Get security groups to which the instance is assigned""" + """Get security groups to which the instance is assigned.""" return IMPL.security_group_get_by_instance(context, instance_id) def security_group_exists(context, project_id, group_name): - """Indicates if a group name exists in a project""" + """Indicates if a group name exists in a project.""" return IMPL.security_group_exists(context, project_id, group_name) def security_group_create(context, values): - """Create a new security group""" + """Create a new security group.""" return IMPL.security_group_create(context, values) def security_group_destroy(context, security_group_id): - """Deletes a security group""" + """Deletes a security group.""" return IMPL.security_group_destroy(context, security_group_id) def security_group_destroy_all(context): - """Deletes a security group""" + """Deletes a security group.""" return IMPL.security_group_destroy_all(context) @@ -643,18 +654,18 @@ def security_group_destroy_all(context): def security_group_rule_create(context, values): - """Create a new security group""" + """Create a new security group.""" return IMPL.security_group_rule_create(context, values) def security_group_rule_get_by_security_group(context, security_group_id): - """Get all rules for a a given security group""" + """Get all rules for a a given security group.""" return IMPL.security_group_rule_get_by_security_group(context, security_group_id) def security_group_rule_destroy(context, security_group_rule_id): - """Deletes a security group rule""" + """Deletes a security group rule.""" return IMPL.security_group_rule_destroy(context, security_group_rule_id) @@ -662,107 +673,107 @@ def security_group_rule_destroy(context, security_group_rule_id): def user_get(context, id): - """Get user by id""" + """Get user by id.""" return IMPL.user_get(context, id) def user_get_by_uid(context, uid): - """Get user by uid""" + """Get user by uid.""" return IMPL.user_get_by_uid(context, uid) def user_get_by_access_key(context, access_key): - """Get user by access key""" + """Get user by access key.""" return IMPL.user_get_by_access_key(context, access_key) def user_create(context, values): - """Create a new user""" + """Create a new user.""" return IMPL.user_create(context, values) def user_delete(context, id): - """Delete a user""" + """Delete a user.""" return IMPL.user_delete(context, id) def user_get_all(context): - """Create a new user""" + """Create a new user.""" return IMPL.user_get_all(context) def user_add_role(context, user_id, role): - """Add another global role for user""" + """Add another global role for user.""" return IMPL.user_add_role(context, user_id, role) def user_remove_role(context, user_id, role): - """Remove global role from user""" + """Remove global role from user.""" return IMPL.user_remove_role(context, user_id, role) def user_get_roles(context, user_id): - """Get global roles for user""" + """Get global roles for user.""" return IMPL.user_get_roles(context, user_id) def user_add_project_role(context, user_id, project_id, role): - """Add project role for user""" + """Add project role for user.""" return IMPL.user_add_project_role(context, user_id, project_id, role) def user_remove_project_role(context, user_id, project_id, role): - """Remove project role from user""" + """Remove project role from user.""" return IMPL.user_remove_project_role(context, user_id, project_id, role) def user_get_roles_for_project(context, user_id, project_id): - """Return list of roles a user holds on project""" + """Return list of roles a user holds on project.""" return IMPL.user_get_roles_for_project(context, user_id, project_id) def user_update(context, user_id, values): - """Update user""" + """Update user.""" return IMPL.user_update(context, user_id, values) def project_get(context, id): - """Get project by id""" + """Get project by id.""" return IMPL.project_get(context, id) def project_create(context, values): - """Create a new project""" + """Create a new project.""" return IMPL.project_create(context, values) def project_add_member(context, project_id, user_id): - """Add user to project""" + """Add user to project.""" return IMPL.project_add_member(context, project_id, user_id) def project_get_all(context): - """Get all projects""" + """Get all projects.""" return IMPL.project_get_all(context) def project_get_by_user(context, user_id): - """Get all projects of which the given user is a member""" + """Get all projects of which the given user is a member.""" return IMPL.project_get_by_user(context, user_id) def project_remove_member(context, project_id, user_id): - """Remove the given user from the given project""" + """Remove the given user from the given project.""" return IMPL.project_remove_member(context, project_id, user_id) def project_update(context, project_id, values): - """Update Remove the given user from the given project""" + """Update Remove the given user from the given project.""" return IMPL.project_update(context, project_id, values) def project_delete(context, project_id): - """Delete project""" + """Delete project.""" return IMPL.project_delete(context, project_id) @@ -771,6 +782,7 @@ def project_delete(context, project_id): def host_get_networks(context, host): """Return all networks for which the given host is the designated - network host + network host. + """ return IMPL.host_get_networks(context, host) From 2132c0de46fd3f1b938e4b3b01b73fb2efaf6a38 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 20:28:13 -0400 Subject: [PATCH 030/197] Pep-257 --- nova/db/sqlalchemy/models.py | 47 +++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py index 2a3cfa94c20c..894ebcdddc57 100644 --- a/nova/db/sqlalchemy/models.py +++ b/nova/db/sqlalchemy/models.py @@ -15,7 +15,6 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - """ SQLAlchemy models for nova data """ @@ -35,13 +34,13 @@ from nova import auth from nova import exception from nova import flags -FLAGS = flags.FLAGS +FLAGS = flags.FLAGS BASE = declarative_base() class NovaBase(object): - """Base class for Nova Models""" + """Base class for Nova Models.""" __table_args__ = {'mysql_engine': 'InnoDB'} __table_initialized__ = False created_at = Column(DateTime, default=datetime.datetime.utcnow) @@ -50,7 +49,7 @@ class NovaBase(object): deleted = Column(Boolean, default=False) def save(self, session=None): - """Save this object""" + """Save this object.""" if not session: session = get_session() session.add(self) @@ -63,7 +62,7 @@ class NovaBase(object): raise def delete(self, session=None): - """Delete this object""" + """Delete this object.""" self.deleted = True self.deleted_at = datetime.datetime.utcnow() self.save(session=session) @@ -128,7 +127,8 @@ class NovaBase(object): class Service(BASE, NovaBase): - """Represents a running service on a host""" + """Represents a running service on a host.""" + __tablename__ = 'services' id = Column(Integer, primary_key=True) host = Column(String(255)) # , ForeignKey('hosts.id')) @@ -139,7 +139,7 @@ class Service(BASE, NovaBase): class Instance(BASE, NovaBase): - """Represents a guest vm""" + """Represents a guest vm.""" __tablename__ = 'instances' id = Column(Integer, primary_key=True) internal_id = Column(Integer, unique=True) @@ -215,7 +215,7 @@ class Instance(BASE, NovaBase): class Volume(BASE, NovaBase): - """Represents a block storage device that can be attached to a vm""" + """Represents a block storage device that can be attached to a vm.""" __tablename__ = 'volumes' id = Column(Integer, primary_key=True) ec2_id = Column(String(12), unique=True) @@ -246,7 +246,7 @@ class Volume(BASE, NovaBase): class Quota(BASE, NovaBase): - """Represents quota overrides for a project""" + """Represents quota overrides for a project.""" __tablename__ = 'quotas' id = Column(Integer, primary_key=True) @@ -260,7 +260,7 @@ class Quota(BASE, NovaBase): class ExportDevice(BASE, NovaBase): - """Represates a shelf and blade that a volume can be exported on""" + """Represates a shelf and blade that a volume can be exported on.""" __tablename__ = 'export_devices' __table_args__ = (schema.UniqueConstraint("shelf_id", "blade_id"), {'mysql_engine': 'InnoDB'}) @@ -283,7 +283,7 @@ class SecurityGroupInstanceAssociation(BASE, NovaBase): class SecurityGroup(BASE, NovaBase): - """Represents a security group""" + """Represents a security group.""" __tablename__ = 'security_groups' id = Column(Integer, primary_key=True) @@ -313,7 +313,7 @@ class SecurityGroup(BASE, NovaBase): class SecurityGroupIngressRule(BASE, NovaBase): - """Represents a rule in a security group""" + """Represents a rule in a security group.""" __tablename__ = 'security_group_rules' id = Column(Integer, primary_key=True) @@ -335,7 +335,7 @@ class SecurityGroupIngressRule(BASE, NovaBase): class KeyPair(BASE, NovaBase): - """Represents a public key pair for ssh""" + """Represents a public key pair for ssh.""" __tablename__ = 'key_pairs' id = Column(Integer, primary_key=True) @@ -348,7 +348,7 @@ class KeyPair(BASE, NovaBase): class Network(BASE, NovaBase): - """Represents a network""" + """Represents a network.""" __tablename__ = 'networks' __table_args__ = (schema.UniqueConstraint("vpn_public_address", "vpn_public_port"), @@ -377,9 +377,12 @@ class Network(BASE, NovaBase): class AuthToken(BASE, NovaBase): - """Represents an authorization token for all API transactions. Fields - are a string representing the actual token and a user id for mapping - to the actual user""" + """Represents an authorization token for all API transactions. + + Fields are a string representing the actual token and a user id for + mapping to the actual user + + """ __tablename__ = 'auth_tokens' token_hash = Column(String(255), primary_key=True) user_id = Column(Integer) @@ -390,7 +393,7 @@ class AuthToken(BASE, NovaBase): # TODO(vish): can these both come from the same baseclass? class FixedIp(BASE, NovaBase): - """Represents a fixed ip for an instance""" + """Represents a fixed ip for an instance.""" __tablename__ = 'fixed_ips' id = Column(Integer, primary_key=True) address = Column(String(255)) @@ -409,7 +412,7 @@ class FixedIp(BASE, NovaBase): class User(BASE, NovaBase): - """Represents a user""" + """Represents a user.""" __tablename__ = 'users' id = Column(String(255), primary_key=True) @@ -421,7 +424,7 @@ class User(BASE, NovaBase): class Project(BASE, NovaBase): - """Represents a project""" + """Represents a project.""" __tablename__ = 'projects' id = Column(String(255), primary_key=True) name = Column(String(255)) @@ -469,7 +472,7 @@ class UserProjectAssociation(BASE, NovaBase): class FloatingIp(BASE, NovaBase): - """Represents a floating ip that dynamically forwards to a fixed ip""" + """Represents a floating ip that dynamically forwards to a fixed ip.""" __tablename__ = 'floating_ips' id = Column(Integer, primary_key=True) address = Column(String(255)) @@ -485,7 +488,7 @@ class FloatingIp(BASE, NovaBase): def register_models(): - """Register Models and create metadata""" + """Register Models and create metadata.""" from sqlalchemy import create_engine models = (Service, Instance, Volume, ExportDevice, FixedIp, FloatingIp, Network, SecurityGroup, From 05ada3f47a4250fb278ecc84c16f51922106b83d Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 28 Oct 2010 20:32:32 -0400 Subject: [PATCH 031/197] Finished TODO item --- doc/source/database.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/source/database.rst b/doc/source/database.rst index bab6b472dfd9..926f9be26d4b 100644 --- a/doc/source/database.rst +++ b/doc/source/database.rst @@ -21,7 +21,6 @@ Database Programming Guide :: TODO(todd): should sqlalchemy.api be here? - pep-256 on db/api.py and models.py (periods) document register_models (where should it be called from?) document any relevant test cases document flags From ee4ce8a55194be3fcb1e861e4206451cc7812d46 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 29 Oct 2010 11:23:49 -0400 Subject: [PATCH 032/197] Remove "nova Packages and Dependencies" --- doc/source/development.guide.rst | 6 ------ doc/source/packages.rst | 29 ----------------------------- 2 files changed, 35 deletions(-) delete mode 100644 doc/source/packages.rst diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 04fee329af68..61a664171059 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -52,14 +52,8 @@ Older Contents fakes binaries modules - packages -Removed -------- - -* endpoint - Indices and tables ------------------ diff --git a/doc/source/packages.rst b/doc/source/packages.rst deleted file mode 100644 index 6029ad7d749b..000000000000 --- a/doc/source/packages.rst +++ /dev/null @@ -1,29 +0,0 @@ -.. - Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. - All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); you may - not use this file except in compliance with the License. You may obtain - a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations - under the License. - -nova Packages & Dependencies -============================ - -Nova is being built on Ubuntu Lucid. - -The following packages are required: - - apt-get install python-ipy, python-libvirt, python-boto, python-pycurl, python-twisted, python-daemon, python-redis, python-carrot, python-lockfile - -In addition you need to install python: - - * python-gflags - http://code.google.com/p/python-gflags/ From 133cd9973e17458bea3594490e70ccd3c524cf12 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 29 Oct 2010 11:58:57 -0400 Subject: [PATCH 033/197] Document Fakes --- doc/source/development.guide.rst | 1 + doc/source/fakes.rst | 34 ++++++++++++++++++++++++++++++-- nova/auth/fakeldap.py | 4 +--- 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 61a664171059..0d852a0987d6 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -39,6 +39,7 @@ Contents compute network auth + fakes Older Contents diff --git a/doc/source/fakes.rst b/doc/source/fakes.rst index eccd4ab43dec..72e5c287b101 100644 --- a/doc/source/fakes.rst +++ b/doc/source/fakes.rst @@ -15,8 +15,13 @@ License for the specific language governing permissions and limitations under the License. -Nova Fakes -========== +Fakes Programming Guide +======================= + +:: + + TODO(todd): * document general info about fakes + The :mod:`virt.fake` Module --------------------------- @@ -41,3 +46,28 @@ The :mod:`fakerabbit` Module :members: :undoc-members: :show-inheritance: + +The :class:`FakeAOEDriver` Class +-------------------------------- + +.. autoclass:: nova.volume.driver.FakeAOEDriver + :members: + :undoc-members: + :show-inheritance: + +The :class:`service_unittest.FakeManager` Class +----------------------------------------------- + +.. autoclass:: nova.tests.service_unittest.FakeManager + :members: + :undoc-members: + :show-inheritance: + +The :mod:`api.openstack.fakes` Module +------------------------------------------------ + +.. automodule:: nova.tests.api.openstack.fakes + :members: + :undoc-members: + :show-inheritance: + diff --git a/nova/auth/fakeldap.py b/nova/auth/fakeldap.py index 176a00f06747..46e0135b4c65 100644 --- a/nova/auth/fakeldap.py +++ b/nova/auth/fakeldap.py @@ -15,9 +15,7 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - -""" -Fake LDAP server for test harness, backs to ReDIS. +"""Fake LDAP server for test harness, backs to ReDIS. This class does very little error checking, and knows nothing about ldap class definitions. It implements the minimum emulation of the python ldap From 5feb2edcc322a8d44d3d698e2d3c27d81d16fe3f Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 29 Oct 2010 12:16:49 -0400 Subject: [PATCH 034/197] Fakes cleanup (stop duplicate autodoc of FakeAOEDriver). --- doc/source/volume.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/source/volume.rst b/doc/source/volume.rst index 27977761aef1..91678d22ae40 100644 --- a/doc/source/volume.rst +++ b/doc/source/volume.rst @@ -40,6 +40,7 @@ The :mod:`nova.volume.driver` Module :members: :undoc-members: :show-inheritance: + :exclude-members: FakeAOEDriver Tests ----- From 3ec095bed60490c844067c8d58ed43dbedee5f0a Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 29 Oct 2010 12:35:46 -0400 Subject: [PATCH 035/197] Update database page a bit. --- doc/source/database.rst | 22 +++++++++++++++------- nova/db/sqlalchemy/api.py | 2 +- nova/db/sqlalchemy/models.py | 8 ++++++-- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/doc/source/database.rst b/doc/source/database.rst index 926f9be26d4b..67f940fe1d08 100644 --- a/doc/source/database.rst +++ b/doc/source/database.rst @@ -20,8 +20,7 @@ Database Programming Guide :: - TODO(todd): should sqlalchemy.api be here? - document register_models (where should it be called from?) + TODO(todd): document register_models (where should it be called from?) document any relevant test cases document flags @@ -37,17 +36,26 @@ The :mod:`api` Module Drivers ------- -The :mod:`sqlalchemy` Driver -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Driver: Sqlalchemy +~~~~~~~~~~~~~~~~~~ + +The :mod:`sqlalchemy.api` Module +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. automodule:: nova.db.sqlalchemy.api - :members: - :undoc-members: - :show-inheritance: +The :mod:`sqlalchemy.models` Module +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. automodule:: nova.db.sqlalchemy.models :members: :undoc-members: :show-inheritance: +The :mod:`sqlalchemy.session` Module +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. automodule:: nova.db.sqlalchemy.session + :members: + :undoc-members: + :show-inheritance: diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index a3d8dde2fadf..d9b98655ea32 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -16,7 +16,7 @@ # License for the specific language governing permissions and limitations # under the License. """ -Implementation of SQLAlchemy backend +Implementation of SQLAlchemy backend. """ import random diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py index 894ebcdddc57..29c3b74da0c9 100644 --- a/nova/db/sqlalchemy/models.py +++ b/nova/db/sqlalchemy/models.py @@ -16,7 +16,7 @@ # License for the specific language governing permissions and limitations # under the License. """ -SQLAlchemy models for nova data +SQLAlchemy models for nova data. """ import datetime @@ -488,7 +488,11 @@ class FloatingIp(BASE, NovaBase): def register_models(): - """Register Models and create metadata.""" + """Register Models and create metadata. + + Called from nova.db.sqlalchemy.__init__ as part of loading the driver, + it will never need to be called explicitly elsewhere. + """ from sqlalchemy import create_engine models = (Service, Instance, Volume, ExportDevice, FixedIp, FloatingIp, Network, SecurityGroup, From 489ddea1668c742f62acd6fd3e9af78f2f782912 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 29 Oct 2010 15:30:39 -0400 Subject: [PATCH 036/197] Update database docs. --- doc/source/database.rst | 12 ++++++------ nova/db/api.py | 10 ++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/doc/source/database.rst b/doc/source/database.rst index 67f940fe1d08..b58ea147d5cc 100644 --- a/doc/source/database.rst +++ b/doc/source/database.rst @@ -18,12 +18,6 @@ Database Programming Guide ========================== -:: - - TODO(todd): document register_models (where should it be called from?) - document any relevant test cases - document flags - The :mod:`api` Module --------------------- @@ -59,3 +53,9 @@ The :mod:`sqlalchemy.session` Module :members: :undoc-members: :show-inheritance: + +Tests +----- + +Tests are lacking for the db api layer and for the sqlalchemy driver. +Failures in the drivers would be dectected in other test cases, though. diff --git a/nova/db/api.py b/nova/db/api.py index 7cce591adc9a..659bfd6b8678 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -17,6 +17,16 @@ # under the License. """ Defines interface for DB access. + +The underlying driver is loaded as a :class:`LazyPluggable`. + +**Related Flags** + +:db_backend: string to lookup in the list of LazyPluggable backends. + `sqlalchemy` is the only supported backend right now. + +:sql_connection: string specifying the sqlalchemy connection to use, like: + `sqlite:///var/lib/nova/nova.sqlite`. """ from nova import exception From 5ffbfdd32bda3de071f994760ab9539bed40172a Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 29 Oct 2010 15:40:58 -0400 Subject: [PATCH 037/197] Remove fakes duplication. --- doc/source/development.guide.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 0d852a0987d6..df8eb341ad63 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -50,7 +50,6 @@ Older Contents architecture nova - fakes binaries modules From 7ca505a729ee3caae968cf25059721ab51d1327c Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 29 Oct 2010 16:18:00 -0400 Subject: [PATCH 038/197] Volume documentation. --- nova/tests/volume_unittest.py | 21 +++++++++++-------- nova/volume/driver.py | 24 +++++++++++---------- nova/volume/manager.py | 39 ++++++++++++++++++++++++++++------- 3 files changed, 56 insertions(+), 28 deletions(-) diff --git a/nova/tests/volume_unittest.py b/nova/tests/volume_unittest.py index fdee30b48f83..896800cea700 100644 --- a/nova/tests/volume_unittest.py +++ b/nova/tests/volume_unittest.py @@ -16,7 +16,8 @@ # License for the specific language governing permissions and limitations # under the License. """ -Tests for Volume Code +Tests for Volume Code. + """ import logging @@ -33,7 +34,8 @@ FLAGS = flags.FLAGS class VolumeTestCase(test.TrialTestCase): - """Test Case for volumes""" + """Test Case for volumes.""" + def setUp(self): logging.getLogger().setLevel(logging.DEBUG) super(VolumeTestCase, self).setUp() @@ -44,7 +46,7 @@ class VolumeTestCase(test.TrialTestCase): @staticmethod def _create_volume(size='0'): - """Create a volume object""" + """Create a volume object.""" vol = {} vol['size'] = size vol['user_id'] = 'fake' @@ -56,7 +58,7 @@ class VolumeTestCase(test.TrialTestCase): @defer.inlineCallbacks def test_create_delete_volume(self): - """Test volume can be created and deleted""" + """Test volume can be created and deleted.""" volume_id = self._create_volume() yield self.volume.create_volume(self.context, volume_id) self.assertEqual(volume_id, db.volume_get(context.get_admin_context(), @@ -70,7 +72,7 @@ class VolumeTestCase(test.TrialTestCase): @defer.inlineCallbacks def test_too_big_volume(self): - """Ensure failure if a too large of a volume is requested""" + """Ensure failure if a too large of a volume is requested.""" # FIXME(vish): validation needs to move into the data layer in # volume_create defer.returnValue(True) @@ -83,7 +85,7 @@ class VolumeTestCase(test.TrialTestCase): @defer.inlineCallbacks def test_too_many_volumes(self): - """Ensure that NoMoreBlades is raised when we run out of volumes""" + """Ensure that NoMoreBlades is raised when we run out of volumes.""" vols = [] total_slots = FLAGS.num_shelves * FLAGS.blades_per_shelf for _index in xrange(total_slots): @@ -100,7 +102,7 @@ class VolumeTestCase(test.TrialTestCase): @defer.inlineCallbacks def test_run_attach_detach_volume(self): - """Make sure volume can be attached and detached from instance""" + """Make sure volume can be attached and detached from instance.""" inst = {} inst['image_id'] = 'ami-test' inst['reservation_id'] = 'r-fakeres' @@ -149,12 +151,13 @@ class VolumeTestCase(test.TrialTestCase): @defer.inlineCallbacks def test_concurrent_volumes_get_different_blades(self): - """Ensure multiple concurrent volumes get different blades""" + """Ensure multiple concurrent volumes get different blades.""" + volume_ids = [] shelf_blades = [] def _check(volume_id): - """Make sure blades aren't duplicated""" + """Make sure blades aren't duplicated.""" volume_ids.append(volume_id) admin_context = context.get_admin_context() (shelf_id, blade_id) = db.volume_get_shelf_and_blade(admin_context, diff --git a/nova/volume/driver.py b/nova/volume/driver.py index 3fa29ba37018..b9908937430d 100644 --- a/nova/volume/driver.py +++ b/nova/volume/driver.py @@ -15,9 +15,9 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - """ -Drivers for volumes +Drivers for volumes. + """ import logging @@ -39,7 +39,8 @@ flags.DEFINE_string('num_shell_tries', 3, class AOEDriver(object): - """Executes commands relating to AOE volumes""" + """Executes commands relating to AOE volumes.""" + def __init__(self, execute=process.simple_execute, *args, **kwargs): self._execute = execute @@ -63,7 +64,7 @@ class AOEDriver(object): @defer.inlineCallbacks def create_volume(self, volume_name, size): - """Creates a logical volume""" + """Creates a logical volume.""" # NOTE(vish): makes sure that the volume group exists yield self._execute("vgs %s" % FLAGS.volume_group) if int(size) == 0: @@ -77,14 +78,14 @@ class AOEDriver(object): @defer.inlineCallbacks def delete_volume(self, volume_name): - """Deletes a logical volume""" + """Deletes a logical volume.""" yield self._try_execute("sudo lvremove -f %s/%s" % (FLAGS.volume_group, volume_name)) @defer.inlineCallbacks def create_export(self, volume_name, shelf_id, blade_id): - """Creates an export for a logical volume""" + """Creates an export for a logical volume.""" yield self._try_execute( "sudo vblade-persist setup %s %s %s /dev/%s/%s" % (shelf_id, @@ -95,13 +96,13 @@ class AOEDriver(object): @defer.inlineCallbacks def discover_volume(self, _volume_name): - """Discover volume on a remote host""" + """Discover volume on a remote host.""" yield self._execute("sudo aoe-discover") yield self._execute("sudo aoe-stat") @defer.inlineCallbacks def remove_export(self, _volume_name, shelf_id, blade_id): - """Removes an export for a logical volume""" + """Removes an export for a logical volume.""" yield self._try_execute("sudo vblade-persist stop %s %s" % (shelf_id, blade_id)) yield self._try_execute("sudo vblade-persist destroy %s %s" % @@ -109,7 +110,7 @@ class AOEDriver(object): @defer.inlineCallbacks def ensure_exports(self): - """Runs all existing exports""" + """Runs all existing exports.""" # NOTE(vish): The standard _try_execute does not work here # because these methods throw errors if other # volumes on this host are in the process of @@ -125,11 +126,12 @@ class AOEDriver(object): class FakeAOEDriver(AOEDriver): - """Logs calls instead of executing""" + """Logs calls instead of executing.""" + def __init__(self, *args, **kwargs): super(FakeAOEDriver, self).__init__(self.fake_execute) @staticmethod def fake_execute(cmd, *_args, **_kwargs): - """Execute that simply logs the command""" + """Execute that simply logs the command.""" logging.debug("FAKE AOE: %s", cmd) diff --git a/nova/volume/manager.py b/nova/volume/manager.py index 2874459f93b2..f6e220c5fdd4 100644 --- a/nova/volume/manager.py +++ b/nova/volume/manager.py @@ -15,10 +15,31 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - """ -Volume manager manages creating, attaching, detaching, and -destroying persistent storage volumes, ala EBS. +Volume manager manages creating, attaching, detaching, and persistent storage. + +Persistant storage volumes keep their state independent of instances. You can +attach to an instance, terminate the instance, spawn a new instance (even +one from a different image) and re-attach the volume with the same data +intact. + +**Related Flags** + +:volume_topic: What :mod:`rpc` topic to listen to (default: `volume`). +:volume_manager: The module name of a class derived from + :class:`manager.Manager` (default: + :class:`nova.volume.manager.AOEManager`). +:storage_availability_zone: Defaults to `nova`. +:volume_driver: Used by :class:`AOEManager`. Defaults to + :class:`nova.volume.driver.AOEDriver`. +:num_shelves: Number of shelves for AoE (default: 100). +:num_blades: Number of vblades per shelf to allocate AoE storage from + (default: 16). +:volume_group: Name of the group that will contain exported volumes (default: + `nova-volumes`) +:aoe_eth_dev: Device name the volumes will be exported on (default: `eth0`). +:num_shell_tries: Number of times to attempt to run AoE commands (default: 3) + """ import logging @@ -47,15 +68,17 @@ flags.DEFINE_integer('blades_per_shelf', class AOEManager(manager.Manager): - """Manages Ata-Over_Ethernet volumes""" + """Manages Ata-Over_Ethernet volumes.""" + def __init__(self, volume_driver=None, *args, **kwargs): + """Load the driver from the one specified in args, or from flags.""" if not volume_driver: volume_driver = FLAGS.volume_driver self.driver = utils.import_object(volume_driver) super(AOEManager, self).__init__(*args, **kwargs) def _ensure_blades(self, context): - """Ensure that blades have been created in datastore""" + """Ensure that blades have been created in datastore.""" total_blades = FLAGS.num_shelves * FLAGS.blades_per_shelf if self.db.export_device_count(context) >= total_blades: return @@ -66,7 +89,7 @@ class AOEManager(manager.Manager): @defer.inlineCallbacks def create_volume(self, context, volume_id): - """Creates and exports the volume""" + """Creates and exports the volume.""" context = context.elevated() logging.info("volume %s: creating", volume_id) @@ -104,7 +127,7 @@ class AOEManager(manager.Manager): @defer.inlineCallbacks def delete_volume(self, context, volume_id): - """Deletes and unexports volume""" + """Deletes and unexports volume.""" context = context.elevated() volume_ref = self.db.volume_get(context, volume_id) if volume_ref['attach_status'] == "attached": @@ -123,7 +146,7 @@ class AOEManager(manager.Manager): @defer.inlineCallbacks def setup_compute_volume(self, context, volume_id): - """Setup remote volume on compute host + """Setup remote volume on compute host. Returns path to device. """ From 3bc84d66d35976794b559ad305dd10eec450216f Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 29 Oct 2010 16:19:57 -0400 Subject: [PATCH 039/197] Change volume TODO list. --- doc/source/volume.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/source/volume.rst b/doc/source/volume.rst index 91678d22ae40..39b33a50075e 100644 --- a/doc/source/volume.rst +++ b/doc/source/volume.rst @@ -20,9 +20,7 @@ Volume Programming Guide :: - TODO(todd): document for iSCSI & AoE (see 'Old Docs') - pep-257 - document flags + TODO(todd): rework after iSCSI merge (see 'Old Docs') The :mod:`nova.volume.manager` Module From bf15a6eb3de8c688dc1364959dd3e00d3e26a563 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Sat, 30 Oct 2010 20:05:31 -0400 Subject: [PATCH 040/197] Update compute/disk.py docs. --- nova/compute/disk.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/nova/compute/disk.py b/nova/compute/disk.py index e362b4507e07..0b8568d33c13 100644 --- a/nova/compute/disk.py +++ b/nova/compute/disk.py @@ -15,10 +15,11 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - """ Utility methods to resize, repartition, and modify disk images. + Includes injection of SSH PGP keys into authorized_keys file. + """ import logging @@ -41,20 +42,23 @@ flags.DEFINE_integer('block_size', 1024 * 1024 * 256, @defer.inlineCallbacks def partition(infile, outfile, local_bytes=0, resize=True, local_type='ext2', execute=None): - """Takes a single partition represented by infile and writes a bootable - drive image into outfile. + """ + Turns a partition (infile) into a bootable drive image (outfile). The first 63 sectors (0-62) of the resulting image is a master boot record. Infile becomes the first primary partition. If local bytes is specified, a second primary partition is created and formatted as ext2. - In the diagram below, dashes represent drive sectors. - +-----+------. . .-------+------. . .------+ - | 0 a| b c|d e| - +-----+------. . .-------+------. . .------+ - | mbr | primary partiton | local partition | - +-----+------. . .-------+------. . .------+ + :: + + In the diagram below, dashes represent drive sectors. + +-----+------. . .-------+------. . .------+ + | 0 a| b c|d e| + +-----+------. . .-------+------. . .------+ + | mbr | primary partiton | local partition | + +-----+------. . .-------+------. . .------+ + """ sector_size = 512 file_size = os.path.getsize(infile) From 878eb4d25075f8d78f24ad9f78eb5d43702192ca Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Mon, 1 Nov 2010 16:13:18 -0400 Subject: [PATCH 041/197] Virt documentation. --- doc/source/compute.rst | 53 ++++++++++++++++++++------------------- nova/virt/connection.py | 20 +++++++++------ nova/virt/fake.py | 7 ++++-- nova/virt/libvirt_conn.py | 22 +++++++++++++++- nova/virt/xenapi.py | 12 +++++++++ 5 files changed, 77 insertions(+), 37 deletions(-) diff --git a/doc/source/compute.rst b/doc/source/compute.rst index d29b9678106f..ba5f2917cf17 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -24,10 +24,7 @@ This page contains the Compute Package documentation. :: - TODO(todd): * Document drivers - * get docstrings to come in for ComputeManager - * fix formatting of ascii art in disk module - * document instance_types and power_states + TODO(todd): * document instance_types and power_states Manager @@ -45,6 +42,13 @@ The :mod:`manager` Module :undoc-members: :show-inheritance: +The :mod:`connection` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.virt.connection + :members: + :undoc-members: + :show-inheritance: The :mod:`disk` Module ~~~~~~~~~~~~~~~~~~~~~~ @@ -76,40 +80,37 @@ The :mod:`power_state` Module Drivers ------- - Libvirt Implementations ~~~~~~~~~~~~~~~~~~~~~~~ +The libvirt driver is capable of supporting KVM, QEMU, and UML. -Libvirt: KVM -^^^^^^^^^^^^ - -KVM Driver - - -Libvirt: QEMU -^^^^^^^^^^^^^ - -QEMU Driver - - -Libvirt: UML -^^^^^^^^^^^^ - -User Mode Linux Driver +The :mod:`libvirt_conn` Module +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. automodule:: nova.virt.libvirt_conn + :members: + :undoc-members: + :show-inheritance: XEN ~~~ -Xen Driver +The :mod:`xenapi` Module +^^^^^^^^^^^^^^^^^^^^^^^^ +.. automodule:: nova.virt.xenapi + :members: + :undoc-members: + :show-inheritance: -Hyper-V -~~~~~~~ - -Hyper-V Driver +FAKE +~~~~ +.. automodule:: nova.virt.fake + :members: + :undoc-members: + :show-inheritance: Monitoring ---------- diff --git a/nova/virt/connection.py b/nova/virt/connection.py index ceb7f1e4b811..11f0fa8ced65 100644 --- a/nova/virt/connection.py +++ b/nova/virt/connection.py @@ -32,19 +32,23 @@ FLAGS = flags.FLAGS def get_connection(read_only=False): - """Returns an object representing the connection to a virtualization - platform. This could be nova.virt.fake.FakeConnection in test mode, - a connection to KVM or QEMU via libvirt, or a connection to XenServer - or Xen Cloud Platform via XenAPI. + """ + Returns an object representing the connection to a virtualization + platform. + + This could be :mod:`nova.virt.fake.FakeConnection` in test mode, + a connection to KVM, QEMU, or UML via :mod:`libvirt_conn`, or a connection + to XenServer or Xen Cloud Platform via :mod:`xenapi`. Any object returned here must conform to the interface documented by - FakeConnection. + :mod:`FakeConnection`. + + **Related flags** - Related flags - ------------- :connection_type: A string literal that falls through a if/elif structure to determine what virtualization mechanism to use. - Values may be: + Values may be + * fake * libvirt * xenapi diff --git a/nova/virt/fake.py b/nova/virt/fake.py index 66eff4c665ea..f855523d3634 100644 --- a/nova/virt/fake.py +++ b/nova/virt/fake.py @@ -18,8 +18,11 @@ # under the License. """ -A fake (in-memory) hypervisor+api. Allows nova testing w/o a hypervisor. -This module also documents the semantics of real hypervisor connections. +A fake (in-memory) hypervisor+api. + +Allows nova testing w/o a hypervisor. This module also documents the +semantics of real hypervisor connections. + """ from twisted.internet import defer diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index e32945fa5b13..0170fc6d1714 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -18,7 +18,27 @@ # under the License. """ -A connection to a hypervisor (e.g. KVM) through libvirt. +A connection to a hypervisor through libvirt. + +Supports KVM, QEMU, UML, and XEN. + +**Related Flags** + +:libvirt_type: Libvirt domain type. Can be kvm, qemu, uml, xen + (default: kvm). +:libvirt_uri: Override for the default libvirt URI (depends on libvirt_type). +:libvirt_xml_template: Libvirt XML Template (QEmu/KVM). +:libvirt_xen_xml_template: Libvirt XML Template (Xen). +:libvirt_uml_xml_template: Libvirt XML Template (User Mode Linux). +:libvirt_rescue_xml_template: XML template for rescue mode (KVM & QEMU). +:libvirt_rescue_xen_xml_template: XML templage for rescue mode (XEN). +:libvirt_rescue_uml_xml_template: XML template for rescue mode (UML). +:rescue_image_id: Rescue ami image (default: ami-rescue). +:rescue_kernel_id: Rescue aki image (default: aki-rescue). +:rescue_ramdisk_id: Rescue ari image (default: ari-rescue). +:injected_network_template: Template file for injected network +:allow_project_net_traffic: Whether to allow in project network traffic + """ import logging diff --git a/nova/virt/xenapi.py b/nova/virt/xenapi.py index a17e405ab1ed..0f563aa41c12 100644 --- a/nova/virt/xenapi.py +++ b/nova/virt/xenapi.py @@ -33,6 +33,18 @@ long-running operations. FIXME: get_info currently doesn't conform to these rules, and will block the reactor thread if the VM.get_by_name_label or VM.get_record calls block. + +**Related Flags** + +:xenapi_connection_url: URL for connection to XenServer/Xen Cloud Platform. +:xenapi_connection_username: Username for connection to XenServer/Xen Cloud + Platform (default: root). +:xenapi_connection_password: Password for connection to XenServer/Xen Cloud + Platform. +:xenapi_task_poll_interval: The interval (seconds) used for polling of + remote tasks (Async.VM.start, etc) + (default: 0.5). + """ import logging From 501850f3d470da646378c8e7de7657024411d2e0 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Mon, 1 Nov 2010 16:26:35 -0400 Subject: [PATCH 042/197] :noindex: on the fakes page for virt.fakes which is included in compute.rst --- doc/source/fakes.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/source/fakes.rst b/doc/source/fakes.rst index 72e5c287b101..5988e2ab88ad 100644 --- a/doc/source/fakes.rst +++ b/doc/source/fakes.rst @@ -30,6 +30,7 @@ The :mod:`virt.fake` Module :members: :undoc-members: :show-inheritance: + :noindex: The :mod:`fakeldap` Module -------------------------- From c8e2341c98ffacfafffbadb7d204f10ff87cf89c Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Mon, 1 Nov 2010 20:33:03 -0400 Subject: [PATCH 043/197] API endpoint documentation. --- doc/source/api.rst | 112 +++++++++++++++++++++++++++++++ doc/source/development.guide.rst | 13 +--- doc/source/index.rst | 10 +-- nova/api/__init__.py | 8 ++- 4 files changed, 125 insertions(+), 18 deletions(-) create mode 100644 doc/source/api.rst diff --git a/doc/source/api.rst b/doc/source/api.rst new file mode 100644 index 000000000000..03ec6195d8fa --- /dev/null +++ b/doc/source/api.rst @@ -0,0 +1,112 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +API Endpoints +============= + +:: + + TODO(todd): get actual docstrings from ec2/osapi_verions instead of @wsgify + +Nova has a system for managing multiple APIs on different subdomains. +Currently there is support for the OpenStack API, as well as the Amazon EC2 +API. + +Common Components +----------------- + +The :mod:`nova.api` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.api + :members: + :undoc-members: + :show-inheritance: + +The :mod:`cloud` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.api.cloud + :members: + :undoc-members: + :show-inheritance: + +OpenStack API +------------- + +The :mod:`openstack` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack + :members: + :undoc-members: + :show-inheritance: + +The :mod:`auth` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack.auth + :members: + :undoc-members: + :show-inheritance: + +The :mod:`backup_schedules` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack.backup_schedules + :members: + :undoc-members: + :show-inheritance: + +The :mod:`faults` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack.faults + :members: + :undoc-members: + :show-inheritance: + +The :mod:`flavors` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack.flavors + :members: + :undoc-members: + :show-inheritance: + +The :mod:`images` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack.images + :members: + :undoc-members: + :show-inheritance: + +The :mod:`ratelimiting` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack.ratelimiting + :members: + :undoc-members: + :show-inheritance: + +The :mod:`servers` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack.servers + :members: + :undoc-members: + :show-inheritance: + +The :mod:`sharedipgroups` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. automodule:: nova.api.openstack.sharedipgroups + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index df8eb341ad63..8addc7813e3e 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -39,21 +39,10 @@ Contents compute network auth + api fakes -Older Contents --------------- - -.. toctree:: - :maxdepth: 1 - - architecture - nova - binaries - modules - - Indices and tables ------------------ diff --git a/doc/source/index.rst b/doc/source/index.rst index 54cfea05a401..261919629629 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -22,11 +22,11 @@ Nova is a cloud computing fabric controller, the main part of an IaaS system. Nova is written with the following design guidelines in mind: -* Component based architecture: Quickly add new behaviors -* Highly available: Scale to very serious workloads -* Fault-Tollerant: Isloated processes avoid cascading failures -* Recoverable: Failures should be easy to diagnose, debug, and rectify -* Open Standards: Be a reference implementation for a community-driven api +* **Component based architecture**: Quickly add new behaviors +* **Highly available**: Scale to very serious workloads +* **Fault-Tollerant**: Isloated processes avoid cascading failures +* **Recoverable**: Failures should be easy to diagnose, debug, and rectify +* **Open Standards**: Be a reference implementation for a community-driven api This documentation is generated by the Sphinx toolkit and lives in the source tree. Additional documentation on Nova and other components of OpenStack can diff --git a/nova/api/__init__.py b/nova/api/__init__.py index 8a1d9fe320d0..27b8199db54c 100644 --- a/nova/api/__init__.py +++ b/nova/api/__init__.py @@ -15,9 +15,15 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - """ Root WSGI middleware for all API controllers. + +**Related Flags** + +:osapi_subdomain: subdomain running the OpenStack API (default: api) +:ec2api_subdomain: subdomain running the EC2 API (default: ec2) +:FAKE_subdomain: set to 'api' or 'ec2', requests default to that endpoint + """ import routes From ff588ab5baf400c243daeff82e7ca2fd27d87143 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Mon, 1 Nov 2010 21:13:51 -0400 Subject: [PATCH 044/197] Exceptions docs. --- doc/source/development.guide.rst | 4 ++-- doc/source/exceptions.rst | 27 +++++++++++++++++++++++++++ doc/source/nova.rst | 9 +-------- 3 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 doc/source/exceptions.rst diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 8addc7813e3e..7322545de5b6 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -22,8 +22,7 @@ Nova is written in python. :: - TODO(todd): * API - * Exceptions + TODO(todd): * Nova libraries (utils, etc) * Building packages @@ -40,6 +39,7 @@ Contents network auth api + exceptions fakes diff --git a/doc/source/exceptions.rst b/doc/source/exceptions.rst new file mode 100644 index 000000000000..aaf5b2c1a9a1 --- /dev/null +++ b/doc/source/exceptions.rst @@ -0,0 +1,27 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Exceptions Programming Guide +============================ + +The :mod:`nova.excepton` Module +------------------------------- + +.. automodule:: nova.exception + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/nova.rst b/doc/source/nova.rst index 4b9c44a5f027..a5573cb414b1 100644 --- a/doc/source/nova.rst +++ b/doc/source/nova.rst @@ -34,14 +34,6 @@ The :mod:`adminclient` Module :undoc-members: :show-inheritance: -The :mod:`datastore` Module ---------------------------- - -.. automodule:: nova.datastore - :members: - :undoc-members: - :show-inheritance: - The :mod:`exception` Module --------------------------- @@ -49,6 +41,7 @@ The :mod:`exception` Module :members: :undoc-members: :show-inheritance: + :noindex: The :mod:`flags` Module --------------------------- From e0f889443f5c0732db28871f350c45e7c8e8d031 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Mon, 1 Nov 2010 21:47:16 -0400 Subject: [PATCH 045/197] Add ec2 api docs. --- doc/source/api.rst | 51 ++++++++++++++++++++++++++++++++++++++++ nova/api/ec2/__init__.py | 4 +++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/doc/source/api.rst b/doc/source/api.rst index 03ec6195d8fa..75905d8b3094 100644 --- a/doc/source/api.rst +++ b/doc/source/api.rst @@ -110,3 +110,54 @@ The :mod:`sharedipgroups` Module :members: :undoc-members: :show-inheritance: + +EC2 API +------- + +The :mod:`nova.api.ec2` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.api.ec2 + :members: + :undoc-members: + :show-inheritance: + +The :mod:`admin` Module +~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.api.ec2.admin + :members: + :undoc-members: + :show-inheritance: + +The :mod:`apirequest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.api.ec2.apirequest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`cloud` Module +~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.api.ec2.cloud + :members: + :undoc-members: + :show-inheritance: + +The :mod:`images` Module +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.api.ec2.images + :members: + :undoc-members: + :show-inheritance: + +The :mod:`metadatarequesthandler` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.api.ec2.metadatarequesthandler + :members: + :undoc-members: + :show-inheritance: diff --git a/nova/api/ec2/__init__.py b/nova/api/ec2/__init__.py index 0df4d37105a2..816314901d28 100644 --- a/nova/api/ec2/__init__.py +++ b/nova/api/ec2/__init__.py @@ -15,8 +15,10 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. +""" +Starting point for routing EC2 requests. -"""Starting point for routing EC2 requests""" +""" import logging import routes From 500f101c64a8e5db91111a7afd7c95ac360b67fb Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Mon, 1 Nov 2010 22:32:41 -0400 Subject: [PATCH 046/197] Language change for conformity. --- doc/source/api.rst | 4 ++-- doc/source/auth.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/source/api.rst b/doc/source/api.rst index 75905d8b3094..3f1c69a15e36 100644 --- a/doc/source/api.rst +++ b/doc/source/api.rst @@ -15,8 +15,8 @@ License for the specific language governing permissions and limitations under the License. -API Endpoints -============= +API Endpoint Programming Guide +============================== :: diff --git a/doc/source/auth.rst b/doc/source/auth.rst index 203efe1a598d..61db39ec32f6 100644 --- a/doc/source/auth.rst +++ b/doc/source/auth.rst @@ -17,7 +17,7 @@ .. _auth: -Authentication and Authorization Development Guide +Authentication and Authorization Programming Guide ================================================== :: From 56c22eab57bc1096c0cd7e6756b42d163649fae1 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Mon, 1 Nov 2010 23:32:56 -0400 Subject: [PATCH 047/197] More docs. --- doc/source/compute.rst | 8 ++ doc/source/development.guide.rst | 7 +- doc/source/nova.rst | 103 +++++++++++++++---- doc/source/{exceptions.rst => scheduler.rst} | 34 +++++- 4 files changed, 123 insertions(+), 29 deletions(-) rename doc/source/{exceptions.rst => scheduler.rst} (58%) diff --git a/doc/source/compute.rst b/doc/source/compute.rst index ba5f2917cf17..e9e37ebf8bb3 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -58,6 +58,14 @@ The :mod:`disk` Module :undoc-members: :show-inheritance: +The :mod:`images` Module +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.virt.images + :members: + :undoc-members: + :show-inheritance: + The :mod:`instance_types` Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 7322545de5b6..261059d9bd1a 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -22,9 +22,7 @@ Nova is written in python. :: - TODO(todd): - * Nova libraries (utils, etc) - * Building packages + TODO(todd): * Building packages Contents @@ -39,8 +37,9 @@ Contents network auth api - exceptions + scheduler fakes + nova Indices and tables diff --git a/doc/source/nova.rst b/doc/source/nova.rst index a5573cb414b1..59fd56c857e8 100644 --- a/doc/source/nova.rst +++ b/doc/source/nova.rst @@ -15,8 +15,24 @@ License for the specific language governing permissions and limitations under the License. -NOVA Libraries -=============== +Nova Libraries Programming Guide +================================ + +The :mod:`adminclient` Module +----------------------------- + +.. automodule:: nova.adminclient + :members: + :undoc-members: + :show-inheritance: + +The :mod:`context` Module +------------------------- + +.. automodule:: nova.context + :members: + :undoc-members: + :show-inheritance: The :mod:`crypto` Module ------------------------ @@ -25,14 +41,6 @@ The :mod:`crypto` Module :members: :undoc-members: :show-inheritance: - -The :mod:`adminclient` Module ------------------------------ - -.. automodule:: nova.adminclient - :members: - :undoc-members: - :show-inheritance: The :mod:`exception` Module --------------------------- @@ -41,44 +49,99 @@ The :mod:`exception` Module :members: :undoc-members: :show-inheritance: - :noindex: - + The :mod:`flags` Module ---------------------------- +----------------------- .. automodule:: nova.flags :members: :undoc-members: :show-inheritance: +The :mod:`manager` Module +------------------------- + +.. automodule:: nova.manager + :members: + :undoc-members: + :show-inheritance: + +The :mod:`process` Module +------------------------- + +.. automodule:: nova.process + :members: + :undoc-members: + :show-inheritance: + +The :mod:`quota` Module +----------------------- + +.. automodule:: nova.quota + :members: + :undoc-members: + :show-inheritance: + The :mod:`rpc` Module ---------------------------- +--------------------- .. automodule:: nova.rpc :members: :undoc-members: :show-inheritance: - + The :mod:`server` Module ---------------------------- +------------------------ .. automodule:: nova.server :members: :undoc-members: :show-inheritance: - + +The :mod:`service` Module +------------------------- + +.. automodule:: nova.service + :members: + :undoc-members: + :show-inheritance: + The :mod:`test` Module ---------------------------- +---------------------- .. automodule:: nova.test :members: :undoc-members: :show-inheritance: - + +The :mod:`twistd` Module +------------------------ + +.. automodule:: nova.twistd + :members: + :undoc-members: + :show-inheritance: + The :mod:`utils` Module ---------------------------- +----------------------- .. automodule:: nova.utils :members: :undoc-members: :show-inheritance: + +The :mod:`validate` Module +-------------------------- + +.. automodule:: nova.validate + :members: + :undoc-members: + :show-inheritance: + +The :mod:`wsgi` Module +---------------------- + +.. automodule:: nova.wsgi + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/exceptions.rst b/doc/source/scheduler.rst similarity index 58% rename from doc/source/exceptions.rst rename to doc/source/scheduler.rst index aaf5b2c1a9a1..e809b0c5426f 100644 --- a/doc/source/exceptions.rst +++ b/doc/source/scheduler.rst @@ -15,13 +15,37 @@ License for the specific language governing permissions and limitations under the License. -Exceptions Programming Guide -============================ +Scheduler Programming Guide +=========================== -The :mod:`nova.excepton` Module -------------------------------- +The :mod:`manager` Module +------------------------- -.. automodule:: nova.exception +.. automodule:: nova.scheduler.manager + :members: + :undoc-members: + :show-inheritance: + +The :mod:`driver` Module +------------------------ + +.. automodule:: nova.scheduler.driver + :members: + :undoc-members: + :show-inheritance: + +The :mod:`chance` Module +------------------------ + +.. automodule:: nova.scheduler.chance + :members: + :undoc-members: + :show-inheritance: + +The :mod:`simple` Module +------------------------ + +.. automodule:: nova.scheduler.simple :members: :undoc-members: :show-inheritance: From e50b8627ccac7f051d4ebea8879bd8d5c083837c Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 2 Nov 2010 13:57:50 -0700 Subject: [PATCH 048/197] cloudpipe docs --- doc/source/cloudpipe.rst | 77 ++++++++++++++++++++++++ doc/source/concepts.and.introduction.rst | 2 +- 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 doc/source/cloudpipe.rst diff --git a/doc/source/cloudpipe.rst b/doc/source/cloudpipe.rst new file mode 100644 index 000000000000..952a753512bc --- /dev/null +++ b/doc/source/cloudpipe.rst @@ -0,0 +1,77 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + + +.. _cloudpipe: + +Cloudpipe +========= + +Cloudpipe is a method for connecting end users to their project insnances in vlan mode. + +Overview +-------- + +The support code for cloudpipe implements admin commands (via nova-manage) to automatically create a vm for a project that allows users to vpn into the private network of their project. Access to this vpn is provided through a public port on the network host for the project. This allows users to have free access to the virtual machines in their project without exposing those machines to the public internet. + +Cloudpipe Image +--------------- + +The cloudpipe image is basically just a linux instance with openvpn installed. It needs a simple script to grab user data from the metadata server, b64 decode it into a zip file, and run the autorun.sh script from inside the zip. The autorun script will configure and run openvpn to run using the data from nova. + +It is also useful to have a cron script that will periodically redownload the metadata and copy the new crl. This will keep revoked users from connecting and will disconnect any users that are connected with revoked certificates when their connection is renegotiated (every hour). + +Cloudpipe Launch +---------------- + +When you use nova-manage to launch a cloudpipe for a user, it goes through the following process: + +#. creates a keypair called -vpn and saves it in the keys directory +#. creates a security group -vpn and opens up 1194 and icmp +#. creates a cert and private key for the vpn instance and saves it in the CA/projects// directory +#. zips up the info and puts it b64 encoded as user data +#. launches an m1.tiny instance with the above settings using the flag-specified vpn image + +Vpn Access +---------- + +In vlan networking mode, the second ip in each private network is reserved for the cloudpipe instance. This gives a consistent ip to the instance so that nova-network can create forwarding rules for access from the outside world. The network for each project is given a specific high-numbered port on the public ip of the network host. This port is automatically forwarded to 1194 on the vpn instance. + +If specific high numbered ports do not work for your users, you can always allocate and associate a public ip to the instance, and then change the vpn_public_ip and vpn_public_port in the database. This will be turned into a nova-manage command or a flag soon. + + +Certificates and Revocation +--------------------------- + +If the use_project_ca flag is set (required to for cloudpipes to work securely), then each project has its own ca. This ca is used to sign the certificate for the vpn, and is also passed to the user for bundling images. When a certificate is revoked using nova-manage, a new Certificate Revocation List (crl) is generated. As long as cloudpipe has an updated crl, it will block revoked users from connecting to the vpn. + +The :mod:`cloudpipe` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.cloudpipe.pipelib + :members: + :undoc-members: + :show-inheritance: + +The :mod:`crypto` Module +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.crypto + :members: + :undoc-members: + :show-inheritance: + diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 29b8f064add4..d2ab6f14bf3c 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -129,7 +129,7 @@ This is similar to the flat mode, in that all instances are attached to the same VLAN DHCP Mode ~~~~~~~~~~~~~~ -This is the default networking mode and supports the most features. For multiple machine installation, it requires a switch that supports host-managed vlan tagging. In this mode, nova will create a vlan and bridge for each project. The project gets a range of private ips that are only accessible from inside the vlan. In order for a user to access the instances in their project, a special vpn instance (code name cloudpipe) needs to be created. Nova generates a certificate and key for the userto access the vpn and starts the vpn automatically. +This is the default networking mode and supports the most features. For multiple machine installation, it requires a switch that supports host-managed vlan tagging. In this mode, nova will create a vlan and bridge for each project. The project gets a range of private ips that are only accessible from inside the vlan. In order for a user to access the instances in their project, a special vpn instance (code named :ref:`cloudpipe `) needs to be created. Nova generates a certificate and key for the userto access the vpn and starts the vpn automatically. More information on cloudpipe can be found :ref:`here `. The following diagram illustrates how the communication that occurs between the vlan (the dashed box) and the public internet (represented by the two clouds) From e493e324eb9a9fe31e72551b34bab768b507bc1d Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Tue, 2 Nov 2010 18:05:47 -0400 Subject: [PATCH 049/197] Document final undocumented python modules. --- doc/source/api.rst | 108 +++++++++++++++++++++++++++++++ doc/source/cloudpipe.rst | 27 ++++++++ doc/source/compute.rst | 8 ++- doc/source/development.guide.rst | 3 + doc/source/glance.rst | 27 ++++++++ doc/source/network.rst | 11 ++++ doc/source/nova.rst | 83 ++++++++++++++++++++++++ doc/source/objectstore.rst | 62 ++++++++++++++++++ doc/source/scheduler.rst | 11 ++++ nova/image/service.py | 34 ++++------ 10 files changed, 353 insertions(+), 21 deletions(-) create mode 100644 doc/source/cloudpipe.rst create mode 100644 doc/source/glance.rst create mode 100644 doc/source/objectstore.rst diff --git a/doc/source/api.rst b/doc/source/api.rst index 3f1c69a15e36..0908d9e57b1a 100644 --- a/doc/source/api.rst +++ b/doc/source/api.rst @@ -161,3 +161,111 @@ The :mod:`metadatarequesthandler` Module :members: :undoc-members: :show-inheritance: + +Tests +----- + +The :mod:`api_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api_unittest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`api_integration` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api_integration + :members: + :undoc-members: + :show-inheritance: + +The :mod:`cloud_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.cloud_unittest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`api.fakes` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.fakes + :members: + :undoc-members: + :show-inheritance: + +The :mod:`api.test_wsgi` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.test_wsgi + :members: + :undoc-members: + :show-inheritance: + +The :mod:`test_api` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.openstack.test_api + :members: + :undoc-members: + :show-inheritance: + +The :mod:`test_auth` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.openstack.test_auth + :members: + :undoc-members: + :show-inheritance: + +The :mod:`test_faults` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.openstack.test_faults + :members: + :undoc-members: + :show-inheritance: + +The :mod:`test_flavors` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.openstack.test_flavors + :members: + :undoc-members: + :show-inheritance: + +The :mod:`test_images` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.openstack.test_images + :members: + :undoc-members: + :show-inheritance: + +The :mod:`test_ratelimiting` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.openstack.test_ratelimiting + :members: + :undoc-members: + :show-inheritance: + +The :mod:`test_servers` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.openstack.test_servers + :members: + :undoc-members: + :show-inheritance: + +The :mod:`test_sharedipgroups` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.api.openstack.test_sharedipgroups + :members: + :undoc-members: + :show-inheritance: + diff --git a/doc/source/cloudpipe.rst b/doc/source/cloudpipe.rst new file mode 100644 index 000000000000..f2e7cb85ad3e --- /dev/null +++ b/doc/source/cloudpipe.rst @@ -0,0 +1,27 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Cloudpipe Programmer Guide +========================== + +The :mod:`pipelib` Module +------------------------- + +.. automodule:: nova.cloudpipe.pipelib + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/compute.rst b/doc/source/compute.rst index e9e37ebf8bb3..ff6aeab92fd6 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -135,7 +135,6 @@ The :mod:`monitor` Module Tests ----- - The :mod:`compute_unittest` Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -144,3 +143,10 @@ The :mod:`compute_unittest` Module :undoc-members: :show-inheritance: +The :mod:`virt_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.virt_unittest + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 261059d9bd1a..306decccbb8b 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -40,6 +40,9 @@ Contents scheduler fakes nova + cloudpipe + objectstore + glance Indices and tables diff --git a/doc/source/glance.rst b/doc/source/glance.rst new file mode 100644 index 000000000000..3d0f4ebec8ce --- /dev/null +++ b/doc/source/glance.rst @@ -0,0 +1,27 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Glance Integration Programming Guide +==================================== + +The :mod:`image.service` Module +------------------------------- + +.. automodule:: nova.image.service + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/network.rst b/doc/source/network.rst index b044c6413b17..cbff22d3f6c3 100644 --- a/doc/source/network.rst +++ b/doc/source/network.rst @@ -43,6 +43,17 @@ The :mod:`LinuxNet` driver :undoc-members: :show-inheritance: +Tests +----- + +The :mod:`network_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.network_unittest + :members: + :undoc-members: + :show-inheritance: + legacy docs ----------- diff --git a/doc/source/nova.rst b/doc/source/nova.rst index 59fd56c857e8..17d32c010858 100644 --- a/doc/source/nova.rst +++ b/doc/source/nova.rst @@ -145,3 +145,86 @@ The :mod:`wsgi` Module :members: :undoc-members: :show-inheritance: + +Tests +----- + +The :mod:`declare_flags` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.declare_flags + :members: + :undoc-members: + :show-inheritance: + +The :mod:`fake_flags` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.fake_flags + :members: + :undoc-members: + :show-inheritance: + +The :mod:`flags_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.flags_unittest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`process_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.process_unittest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`quota_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.quota_unittest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`real_flags` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.real_flags + :members: + :undoc-members: + :show-inheritance: + +The :mod:`rpc_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.rpc_unittest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`runtime_flags` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.runtime_flags + :members: + :undoc-members: + :show-inheritance: + +The :mod:`twistd_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.twistd_unittest + :members: + :undoc-members: + :show-inheritance: + +The :mod:`validator_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.validator_unittest + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/objectstore.rst b/doc/source/objectstore.rst new file mode 100644 index 000000000000..4087b5dd0fa5 --- /dev/null +++ b/doc/source/objectstore.rst @@ -0,0 +1,62 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Objectstore Programming Guide +============================= + +The :mod:`handler` Module +------------------------- + +.. automodule:: nova.objectstore.handler + :members: + :undoc-members: + :show-inheritance: + +The :mod:`bucket` Module +------------------------ + +.. automodule:: nova.objectstore.bucket + :members: + :undoc-members: + :show-inheritance: + +The :mod:`stored` Module +------------------------ + +.. automodule:: nova.objectstore.stored + :members: + :undoc-members: + :show-inheritance: + +The :mod:`image` Module +----------------------- + +.. automodule:: nova.objectstore.image + :members: + :undoc-members: + :show-inheritance: + +Tests +----- + +The :mod:`objectstore_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.objectstore_unittest + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/source/scheduler.rst b/doc/source/scheduler.rst index e809b0c5426f..df820c2f261b 100644 --- a/doc/source/scheduler.rst +++ b/doc/source/scheduler.rst @@ -49,3 +49,14 @@ The :mod:`simple` Module :members: :undoc-members: :show-inheritance: + +Tests +----- + +The :mod:`scheduler_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.scheduler_unittest + :members: + :undoc-members: + :show-inheritance: diff --git a/nova/image/service.py b/nova/image/service.py index 37cadddccdc9..52ddd4e0f9de 100644 --- a/nova/image/service.py +++ b/nova/image/service.py @@ -45,13 +45,9 @@ class BaseImageService(object): Returns a sequence of mappings of id and name information about images. - :retval a sequence of mappings with the following signature: - - [ - {'id': opaque id of image, - 'name': name of image - }, ... - ] + :rtype: array + :retval: a sequence of mappings with the following signature + {'id': opaque id of image, 'name': name of image} """ raise NotImplementedError @@ -60,19 +56,17 @@ class BaseImageService(object): """ Returns a sequence of mappings of detailed information about images. - :retval a sequence of mappings with the following signature: - - [ - {'id': opaque id of image, - 'name': name of image, - 'created_at': creation timestamp, - 'updated_at': modification timestamp, - 'deleted_at': deletion timestamp or None, - 'deleted': boolean indicating if image has been deleted, - 'status': string description of image status, - 'is_public': boolean indicating if image is public - }, ... - ] + :rtype: array + :retval: a sequence of mappings with the following signature + {'id': opaque id of image, + 'name': name of image, + 'created_at': creation timestamp, + 'updated_at': modification timestamp, + 'deleted_at': deletion timestamp or None, + 'deleted': boolean indicating if image has been deleted, + 'status': string description of image status, + 'is_public': boolean indicating if image is public + } If the service does not implement a method that provides a detailed set of information about images, then the method should raise From a6f867eb72599bb0bb1fe43f99d8c4b07972e5dd Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 2 Nov 2010 15:16:41 -0700 Subject: [PATCH 050/197] Documentation on Services, Managers, and Drivers --- doc/source/services.rst | 42 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/doc/source/services.rst b/doc/source/services.rst index 607f5974b6b9..517a51901177 100644 --- a/doc/source/services.rst +++ b/doc/source/services.rst @@ -20,13 +20,53 @@ Services Managers and Drivers ============================= -Describe division of responsibilities for each component. +The responsibilities of Services, Managers, and Drivers, can be a bit confusing to people that are new to nova. This document attempts to outline the division of responsibilities to make understanding the system a little bit easier. + +Currently, Managers and Drivers are specified by flags and loaded using utils.load_object(). This method allows for them to be implemented as singletons, classes, modules or objects. As long as the path specified by the flag leads to an object (or a callable that returns an object) that responds to getattr, it should work as a manager or driver. Service ------- +A service is a very thin wrapper around a Manager object. It exposes the manager's public methods to other components of the system via rpc. It will report state periodically to the database and is responsible for initiating any periodic tasts that need to be executed on a given host. + +The :mod:`service` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.service + :members: + :undoc-members: + :show-inheritance: + Manager ------- +Managers are responsible for a certain aspect of the sytem. It is a logical grouping of code relating to a portion of the system. In general other components should be using the manager to make changes to the components that it is responsible for. + +For example, other components that need to deal with volumes in some way, should do so by calling methods on the VolumeManager instead of directly changing fields in the database. This allows us to keep all of the code relating to volumes in the same place. + +We have adopted a basic strategy of Smart managers and dumb data, which means rather than attaching methods to data objects, components should call manager methods that act on the data. + +Methods on managers that can be executed locally should be called directly. If a particular method must execute on a remote host, this should be done via rpc to the service that wraps the manager + +Managers should be responsible for most of the db access, and non-implementation specific data. Anything implementation specific that can't be generalized should be done by the Driver. + +In general, we prefer to have one manager with multiple drivers for different implementations, but sometimes it makes sense to have multiple managers. You can think of it this way: Abstract different overall strategies at the manager level(FlatNetwork vs VlanNetwork), and different implementations at the driver level(LinuxNetDriver vs CiscoNetDriver). + +Managers will often provide methods for initial setup of a host or periodic tasksto a wrapping service. + +The :mod:`manager` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.manager + :members: + :undoc-members: + :show-inheritance: + Driver ------ + +A manager will generally load a driver for some of its tasks. The driver is responsible for specific implementation details. Anything running shell commands on a host, or dealing with other non-python code should probably be happening in a driver. + +Drivers should minimize touching the database, although it is currently acceptable for implementation specific data. This may be reconsidered at some point. + +It usually makes sense to define an Abstract Base Class for the specific driver (i.e. VolumeDriver), to define the methods that a different driver would need to implement. From 7898451cd91821e01451ff8f65de1169eeef8ae2 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 2 Nov 2010 16:49:34 -0700 Subject: [PATCH 051/197] removed some old instructions and updated concepts --- doc/source/concepts.and.introduction.rst | 18 +++------- doc/source/getting.started.rst | 44 ++++-------------------- 2 files changed, 11 insertions(+), 51 deletions(-) diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index d2ab6f14bf3c..d73447ba9cb9 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -71,19 +71,13 @@ Concept: Storage Volumes ~~~~~~~ -A 'volume' is a detachable block storage device. You can think of it as a usb hard drive. It can only be attached to one instance at a time, and it behaves -Ephemeral -~~~~~~~~~ -:: +A 'volume' is a detachable block storage device. You can think of it as a usb hard drive. It can only be attached to one instance at a time, so it does not work like a SAN. If you wish to expose the same volume to multiple instances, you will have to use an NFS or SAMBA share from an existing instance. - TODO(vish): document +Local Storage +~~~~~~~~~~~~~ -Swift -~~~~~ -:: - - TODO(vish): document +Every instance larger than m1.tiny starts with some local storage (up to 160GB for m1.xlarge). This storage is currently the second partition on the root drive. Concept: Quotas --------------- @@ -308,9 +302,7 @@ Security groups Concept: Certificate Authority ------------------------------ -Per-project CA -* Images -* VPNs +Nova does a small amount of certificate management. These certificates are used for :ref:`project vpns ` and decrypting bundled images. Concept: Images diff --git a/doc/source/getting.started.rst b/doc/source/getting.started.rst index 2df4a45ea51a..70f26038f337 100644 --- a/doc/source/getting.started.rst +++ b/doc/source/getting.started.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -18,7 +18,7 @@ Getting Started with Nova ========================= -This code base is continually changing so dependencies also change. +This code base is continually changing so dependencies also change. Dependencies ------------ @@ -30,7 +30,7 @@ Related servers we rely on Optional servers * OpenLDAP: By default, the auth server uses the RDBMS-backed datastore by setting FLAGS.auth_driver to 'nova.auth.dbdriver.DbDriver'. But OpenLDAP (or LDAP) could be configured. -* ReDIS: By default, this is not enabled as the auth driver. +* ReDIS: By default, this is not enabled as the auth driver. Python libraries we don't vendor @@ -62,49 +62,17 @@ Configuration These instructions are incomplete, but we are actively updating the `OpenStack wiki `_ with more configuration information. -On the cloud controller - -* Add yourself to the libvirtd group, log out, and log back in -* Fix hardcoded ec2 metadata/userdata uri ($IP is the IP of the cloud), and masqurade all traffic from launched instances - -:: - - iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination $IP:8773 - iptables --table nat --append POSTROUTING --out-interface $PUBLICIFACE -j MASQUERADE - - -* Configure NginX proxy (/etc/nginx/sites-enabled/default) - -:: - - server { - listen 3333 default; - server-name localhost; - client_max_body_size 10m; - - access_log /var/log/nginx/localhost.access.log; - - location ~ /_images/.+ { - root NOVA_PATH/images; - rewrite ^/_images/(.*)$ /$1 break; - } - - location / { - proxy_pass http://localhost:3334/; - } - } - On the volume node -* Create a filesystem (you can use an actual disk if you have one spare, default is /dev/sdb) +* Create a volume group (you can use an actual disk for the volume group as well) :: # This creates a 1GB file to create volumes out of dd if=/dev/zero of=MY_FILE_PATH bs=100M count=10 losetup --show -f MY_FILE_PATH - # replace loop0 below with whatever losetup returns - echo "--storage_dev=/dev/loop0" >> NOVA_PATH/bin/nova.conf + # replace /dev/loop0 below with whatever losetup returns + vgcreate nova-volumes /dev/loop0 Running --------- From 583d1b1c4d039f1f9751c8a2cc0cf59bb77551e0 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Tue, 2 Nov 2010 20:31:17 -0400 Subject: [PATCH 052/197] Fixes after trunk merge. --- doc/source/nova.rst | 24 ------------------------ nova/tests/fake_flags.py | 1 + 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/doc/source/nova.rst b/doc/source/nova.rst index 17d32c010858..3963992ae028 100644 --- a/doc/source/nova.rst +++ b/doc/source/nova.rst @@ -34,14 +34,6 @@ The :mod:`context` Module :undoc-members: :show-inheritance: -The :mod:`crypto` Module ------------------------- - -.. automodule:: nova.crypto - :members: - :undoc-members: - :show-inheritance: - The :mod:`exception` Module --------------------------- @@ -58,14 +50,6 @@ The :mod:`flags` Module :undoc-members: :show-inheritance: -The :mod:`manager` Module -------------------------- - -.. automodule:: nova.manager - :members: - :undoc-members: - :show-inheritance: - The :mod:`process` Module ------------------------- @@ -98,14 +82,6 @@ The :mod:`server` Module :undoc-members: :show-inheritance: -The :mod:`service` Module -------------------------- - -.. automodule:: nova.service - :members: - :undoc-members: - :show-inheritance: - The :mod:`test` Module ---------------------- diff --git a/nova/tests/fake_flags.py b/nova/tests/fake_flags.py index 4bbef88320e7..bc377f0dae5e 100644 --- a/nova/tests/fake_flags.py +++ b/nova/tests/fake_flags.py @@ -24,6 +24,7 @@ flags.DECLARE('volume_driver', 'nova.volume.manager') FLAGS.volume_driver = 'nova.volume.driver.FakeAOEDriver' FLAGS.connection_type = 'fake' FLAGS.fake_rabbit = True +flags.DECLARE('auth_driver', 'nova.auth.manager') FLAGS.auth_driver = 'nova.auth.dbdriver.DbDriver' flags.DECLARE('network_size', 'nova.network.manager') flags.DECLARE('num_networks', 'nova.network.manager') From ea79ca7e8855cf130cadb63fc42780c90a51fb15 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 2 Nov 2010 17:36:03 -0700 Subject: [PATCH 053/197] update of the architecture and fix some links --- doc/source/administration.guide.rst | 3 +- doc/source/architecture.rst | 44 +++++++++++++++-------------- doc/source/development.guide.rst | 8 ++++-- doc/source/getting.started.rst | 38 +++++++++++++++++-------- 4 files changed, 55 insertions(+), 38 deletions(-) diff --git a/doc/source/administration.guide.rst b/doc/source/administration.guide.rst index 789e97381311..8c36d3d44f2e 100644 --- a/doc/source/administration.guide.rst +++ b/doc/source/administration.guide.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -30,6 +30,5 @@ Contents quickstart getting.started multi.node.install - services flags monitoring diff --git a/doc/source/architecture.rst b/doc/source/architecture.rst index eba6cbfb8835..1e23e13617c8 100644 --- a/doc/source/architecture.rst +++ b/doc/source/architecture.rst @@ -15,36 +15,38 @@ License for the specific language governing permissions and limitations under the License. -nova System Architecture +Nova System Architecture ======================== Nova is built on a shared-nothing, messaging-based architecture. All of the major nova components can be run on multiple servers. This means that most component to component communication must go via message queue. In order to avoid blocking each component while waiting for a response, we use deferred objects, with a callback that gets triggered when a response is received. -In order to achieve shared-nothing with multiple copies of the same component (especially when the component is an API server that needs to reply with state information in a timely fashion), we need to keep all of our system state in a distributed data system. Updates to system state are written into this system, using atomic transactions when necessary. Requests for state are read out of this system. In limited cases, these read calls are memoized within controllers for short periods of time. (Such a limited case would be, for instance, the current list of system users.) - +Nova recently moved to using a sql-based central database that is shared by all components in the system. The amount and depth of the data fits into a sql database quite well. For small deployments this seems like an optimal solution. For larger deployments, and especially if security is a concern, nova will be moving towards multiple data stores with some kind of aggregation system. Components ---------- -Below you will find a helpful explanation. +Below you will find a helpful explanation of the different components. :: - [ Auth Manager ] ---- ( LDAP ) - | - | - | - | / [ Storage ] - ( ATAoE/iSCSI ) - [ Web Dashboard ] -> [ nova-api ] < AMQP > - - | \ [ Nodes ] - ( libvirt/kvm ) - < HTTP > - | - [ nova-objectstore ] + /- ( LDAP ) + [ Auth Manager ] --- + | \- ( DB ) + | + | [ scheduler ] - [ volume ] - ( ATAoE/iSCSI ) + | / + [ Web Dashboard ] -> [ api ] -- < AMQP > ------ [ network ] - ( Flat/Vlan ) + | \ + < HTTP > [ scheduler ] - [ compute ] - ( libvirt/xen ) + | | + [ objectstore ] < - retrieves images - -* API: receives http requests from boto, converts commands to/from API format, and sending requests to cloud controller -* Cloud Controller: global state of system, talks to ldap, s3, and node/storage workers through a queue -* Nodes: worker that spawns instances -* S3: tornado based http/s3 server -* User Manager: create/manage users, which are stored in ldap -* Network Controller: allocate and deallocate IPs and VLANs +* DB: sql database for data storage. Used by all components (LINKS NOT SHOWN) +* Web Dashboard: potential external component that talks to the api +* api: component that receives http requests, converts commands and communicates with other components via the queue or http (in the case of objectstore) +* Auth Manager: component responsible for users/projects/and roles. Can backend to DB or LDAP. This is not a separate binary, but rather a python class that is used by most components in the system. +* objectstore: twisted http server that replicates s3 api and allows storage and retrieval of images +* scheduler: decides which host gets each vm and volume +* volume: manages dynamically attachable block devices. +* network: manages ip forwarding, bridges, and vlans +* compute: manages communication with hypervisor and virtual machines. diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index 261059d9bd1a..45ebe2f10b2b 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -1,6 +1,6 @@ .. Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. + Administrator of the National Aeronautics and Space Administration. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -31,11 +31,13 @@ Contents .. toctree:: :maxdepth: 1 + architecture + services database volume compute - network - auth + network + auth api scheduler fakes diff --git a/doc/source/getting.started.rst b/doc/source/getting.started.rst index 70f26038f337..a0148e4b6871 100644 --- a/doc/source/getting.started.rst +++ b/doc/source/getting.started.rst @@ -29,24 +29,37 @@ Related servers we rely on Optional servers -* OpenLDAP: By default, the auth server uses the RDBMS-backed datastore by setting FLAGS.auth_driver to 'nova.auth.dbdriver.DbDriver'. But OpenLDAP (or LDAP) could be configured. -* ReDIS: By default, this is not enabled as the auth driver. +* OpenLDAP: By default, the auth server uses the RDBMS-backed datastore by setting FLAGS.auth_driver to 'nova.auth.dbdriver.DbDriver'. But OpenLDAP (or LDAP) could be configured by specifying 'nova.auth.ldapdriver.LdapDriver'. There is a script in the sources(nova/auth/slap.sh) to install a very basic openldap server on ubuntu. +* ReDIS: There is a fake ldap driver that backends to redis. This was created for testing ldap implementation on systems that don't have an easy means to install ldap. -Python libraries we don't vendor +Python libraries that we use (from pip-requires): + +.. literalinclude:: ../../tools/pip-requires + +Other libraries: -* M2Crypto: python library interface for openssl -* curl * XenAPI: Needed only for Xen Cloud Platform or XenServer support. Available from http://wiki.xensource.com/xenwiki/XCP_SDK or http://community.citrix.com/cdn/xs/sdks. -Vendored python libaries (don't require any installation) +External unix tools that are required: -* Twisted: just for the twisted.internet.defer package -* Tornado: scalable non blocking web server for api requests -* boto: python api for aws api -* IPy: library for managing ip addresses +* iptables +* ebtables +* gawk +* curl +* kvm +* libvirt +* dnsmasq +* vlan +* open-iscsi and iscsitarget (if you use iscsi volumes) +* aoetools and vblade-persist (if you use aoe-volumes) + +Nova uses cutting-edge versions of many packages. There are ubuntu packages in the nova-core ppa. You can use add this ppa to your sources list on an ubuntu machine with the following commands:: + + sudo apt-get install -y python-software-properties + sudo add-apt-repository ppa:nova-core/ppa Recommended ------------------ +----------- * euca2ools: python implementation of aws ec2-tools and ami tools * build tornado to use C module for evented section @@ -55,7 +68,7 @@ Recommended Installation -------------- - Due to many changes it's best to rely on the `OpenStack wiki `_ for installation instructions. +Due to many changes it's best to rely on the `OpenStack wiki `_ for installation instructions. Configuration --------------- @@ -88,3 +101,4 @@ Launch nova components * nova-compute * nova-objectstore * nova-volume +* nova-scheduler From 1119f7e0eeffc0bc2f918b0c5fb8eb87cd3e3784 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 2 Nov 2010 17:37:11 -0700 Subject: [PATCH 054/197] more descriptive title for cloudpipe --- doc/source/cloudpipe.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/cloudpipe.rst b/doc/source/cloudpipe.rst index 952a753512bc..d632a40e6678 100644 --- a/doc/source/cloudpipe.rst +++ b/doc/source/cloudpipe.rst @@ -18,8 +18,8 @@ .. _cloudpipe: -Cloudpipe -========= +Cloudpipe -- Per Project Vpns +============================= Cloudpipe is a method for connecting end users to their project insnances in vlan mode. From 2cbef8ffd80546f1dcd850322621b04395591d69 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Wed, 3 Nov 2010 14:30:13 -0400 Subject: [PATCH 055/197] Doc cleanups. --- doc/source/auth.rst | 21 ++++-- doc/source/compute.rst | 6 -- doc/source/development.guide.rst | 10 ++- doc/source/network.rst | 8 +-- doc/source/nova.rst | 16 ----- nova/network/manager.py | 116 +++++++++++++++++++------------ 6 files changed, 93 insertions(+), 84 deletions(-) diff --git a/doc/source/auth.rst b/doc/source/auth.rst index 61db39ec32f6..77d97f68b2f5 100644 --- a/doc/source/auth.rst +++ b/doc/source/auth.rst @@ -20,12 +20,13 @@ Authentication and Authorization Programming Guide ================================================== -:: - - TOOD(todd): * Authorizztion - * RBAC - * Quotas +The :mod:`quota` Module +----------------------- +.. automodule:: nova.quota + :members: + :undoc-members: + :show-inheritance: Auth Manager ------------ @@ -68,7 +69,6 @@ The :mod:`signer` Module :undoc-members: :show-inheritance: - Related Tests ------------- @@ -81,13 +81,20 @@ The :mod:`auth_unittest` Module :show-inheritance: The :mod:`access_unittest` Module ---------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. automodule:: nova.tests.access_unittest :members: :undoc-members: :show-inheritance: +The :mod:`quota_unittest` Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. automodule:: nova.tests.quota_unittest + :members: + :undoc-members: + :show-inheritance: legacy docs ----------- diff --git a/doc/source/compute.rst b/doc/source/compute.rst index ff6aeab92fd6..e4c6c6ae7eda 100644 --- a/doc/source/compute.rst +++ b/doc/source/compute.rst @@ -21,12 +21,6 @@ Virtualization Programming Guide This page contains the Compute Package documentation. - -:: - - TODO(todd): * document instance_types and power_states - - Manager ------- diff --git a/doc/source/development.guide.rst b/doc/source/development.guide.rst index e4af2da565b0..704cbe39921a 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/development.guide.rst @@ -20,9 +20,14 @@ Nova Development Guide Nova is written in python. -:: +Prerequisites +------------- +.. toctree:: + :maxdepth: 1 - TODO(todd): * Building packages + concepts.and.introduction + architecture + development.environment Contents @@ -31,7 +36,6 @@ Contents .. toctree:: :maxdepth: 1 - architecture services database volume diff --git a/doc/source/network.rst b/doc/source/network.rst index cbff22d3f6c3..9426ece8267c 100644 --- a/doc/source/network.rst +++ b/doc/source/network.rst @@ -20,12 +20,8 @@ Networking Programming Guide :: - TODO(todd): - * document how managers work - * document backend (linux-net) - * document hardware specific commands - * pep 257 - * document flags + TODO(todd): * document hardware specific commands (maybe in admin guide?) + * document a map between flags and managers/backends The :mod:`Manager` module ------------------------- diff --git a/doc/source/nova.rst b/doc/source/nova.rst index 3963992ae028..58125dc80866 100644 --- a/doc/source/nova.rst +++ b/doc/source/nova.rst @@ -58,14 +58,6 @@ The :mod:`process` Module :undoc-members: :show-inheritance: -The :mod:`quota` Module ------------------------ - -.. automodule:: nova.quota - :members: - :undoc-members: - :show-inheritance: - The :mod:`rpc` Module --------------------- @@ -157,14 +149,6 @@ The :mod:`process_unittest` Module :undoc-members: :show-inheritance: -The :mod:`quota_unittest` Module -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. automodule:: nova.tests.quota_unittest - :members: - :undoc-members: - :show-inheritance: - The :mod:`real_flags` Module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/nova/network/manager.py b/nova/network/manager.py index 8a20cb491443..b033bb0a4c04 100644 --- a/nova/network/manager.py +++ b/nova/network/manager.py @@ -17,7 +17,30 @@ # under the License. """ -Network Hosts are responsible for allocating ips and setting up network +Network Hosts are responsible for allocating ips and setting up network. + +There are multiple backend drivers that handle specific types of networking +topologies. All of the network commands are issued to a subclass of +:class:`NetworkManager`. + +**Related Flags** + +:network_driver: Driver to use for network creation +:flat_network_bridge: Bridge device for simple network instances +:flat_network_dns: Dns for simple network +:flat_network_dhcp_start: Dhcp start for FlatDhcp +:vlan_start: First VLAN for private networks +:vpn_ip: Public IP for the cloudpipe VPN servers +:vpn_start: First Vpn port for private networks +:cnt_vpn_clients: Number of addresses reserved for vpn clients +:network_size: Number of addresses in each private subnet +:floating_range: Floating IP address block +:fixed_range: Fixed IP address block +:date_dhcp_on_disassociate: Whether to update dhcp when fixed_ip + is disassociated +:fixed_ip_disassociate_timeout: Seconds after which a deallocated ip + is disassociated + """ import datetime @@ -63,15 +86,16 @@ flags.DEFINE_integer('fixed_ip_disassociate_timeout', 600, class AddressAlreadyAllocated(exception.Error): - """Address was already allocated""" + """Address was already allocated.""" pass class NetworkManager(manager.Manager): - """Implements common network manager functionality + """Implements common network manager functionality. - This class must be subclassed. + This class must be subclassed to support specific topologies. """ + def __init__(self, network_driver=None, *args, **kwargs): if not network_driver: network_driver = FLAGS.network_driver @@ -86,7 +110,7 @@ class NetworkManager(manager.Manager): self._on_set_network_host(ctxt, network['id']) def set_network_host(self, context, network_id): - """Safely sets the host of the network""" + """Safely sets the host of the network.""" logging.debug("setting network host") host = self.db.network_set_host(context, network_id, @@ -95,34 +119,34 @@ class NetworkManager(manager.Manager): return host def allocate_fixed_ip(self, context, instance_id, *args, **kwargs): - """Gets a fixed ip from the pool""" + """Gets a fixed ip from the pool.""" raise NotImplementedError() def deallocate_fixed_ip(self, context, address, *args, **kwargs): - """Returns a fixed ip to the pool""" + """Returns a fixed ip to the pool.""" raise NotImplementedError() def setup_fixed_ip(self, context, address): - """Sets up rules for fixed ip""" + """Sets up rules for fixed ip.""" raise NotImplementedError() def _on_set_network_host(self, context, network_id): - """Called when this host becomes the host for a network""" + """Called when this host becomes the host for a network.""" raise NotImplementedError() def setup_compute_network(self, context, instance_id): - """Sets up matching network for compute hosts""" + """Sets up matching network for compute hosts.""" raise NotImplementedError() def allocate_floating_ip(self, context, project_id): - """Gets an floating ip from the pool""" + """Gets an floating ip from the pool.""" # TODO(vish): add floating ips through manage command return self.db.floating_ip_allocate_address(context, self.host, project_id) def associate_floating_ip(self, context, floating_address, fixed_address): - """Associates an floating ip to a fixed ip""" + """Associates an floating ip to a fixed ip.""" self.db.floating_ip_fixed_ip_associate(context, floating_address, fixed_address) @@ -130,18 +154,18 @@ class NetworkManager(manager.Manager): self.driver.ensure_floating_forward(floating_address, fixed_address) def disassociate_floating_ip(self, context, floating_address): - """Disassociates a floating ip""" + """Disassociates a floating ip.""" fixed_address = self.db.floating_ip_disassociate(context, floating_address) self.driver.unbind_floating_ip(floating_address) self.driver.remove_floating_forward(floating_address, fixed_address) def deallocate_floating_ip(self, context, floating_address): - """Returns an floating ip to the pool""" + """Returns an floating ip to the pool.""" self.db.floating_ip_deallocate(context, floating_address) def lease_fixed_ip(self, context, mac, address): - """Called by dhcp-bridge when ip is leased""" + """Called by dhcp-bridge when ip is leased.""" logging.debug("Leasing IP %s", address) fixed_ip_ref = self.db.fixed_ip_get_by_address(context, address) instance_ref = fixed_ip_ref['instance'] @@ -158,7 +182,7 @@ class NetworkManager(manager.Manager): logging.warn("IP %s leased that was already deallocated", address) def release_fixed_ip(self, context, mac, address): - """Called by dhcp-bridge when ip is released""" + """Called by dhcp-bridge when ip is released.""" logging.debug("Releasing IP %s", address) fixed_ip_ref = self.db.fixed_ip_get_by_address(context, address) instance_ref = fixed_ip_ref['instance'] @@ -183,26 +207,26 @@ class NetworkManager(manager.Manager): self.driver.update_dhcp(context, network_ref['id']) def get_network(self, context): - """Get the network for the current context""" + """Get the network for the current context.""" raise NotImplementedError() def create_networks(self, context, num_networks, network_size, *args, **kwargs): - """Create networks based on parameters""" + """Create networks based on parameters.""" raise NotImplementedError() @property def _bottom_reserved_ips(self): # pylint: disable-msg=R0201 - """Number of reserved ips at the bottom of the range""" + """Number of reserved ips at the bottom of the range.""" return 2 # network, gateway @property def _top_reserved_ips(self): # pylint: disable-msg=R0201 - """Number of reserved ips at the top of the range""" + """Number of reserved ips at the top of the range.""" return 1 # broadcast def _create_fixed_ips(self, context, network_id): - """Create all fixed ips for network""" + """Create all fixed ips for network.""" network_ref = self.db.network_get(context, network_id) # NOTE(vish): Should these be properties of the network as opposed # to properties of the manager class? @@ -222,10 +246,10 @@ class NetworkManager(manager.Manager): class FlatManager(NetworkManager): - """Basic network where no vlans are used""" + """Basic network where no vlans are used.""" def allocate_fixed_ip(self, context, instance_id, *args, **kwargs): - """Gets a fixed ip from the pool""" + """Gets a fixed ip from the pool.""" # TODO(vish): when this is called by compute, we can associate compute # with a network, or a cluster of computes with a network # and use that network here with a method like @@ -239,21 +263,21 @@ class FlatManager(NetworkManager): return address def deallocate_fixed_ip(self, context, address, *args, **kwargs): - """Returns a fixed ip to the pool""" + """Returns a fixed ip to the pool.""" self.db.fixed_ip_update(context, address, {'allocated': False}) self.db.fixed_ip_disassociate(context.elevated(), address) def setup_compute_network(self, context, instance_id): - """Network is created manually""" + """Network is created manually.""" pass def setup_fixed_ip(self, context, address): - """Currently no setup""" + """Currently no setup.""" pass def create_networks(self, context, cidr, num_networks, network_size, *args, **kwargs): - """Create networks based on parameters""" + """Create networks based on parameters.""" fixed_net = IPy.IP(cidr) for index in range(num_networks): start = index * network_size @@ -271,7 +295,7 @@ class FlatManager(NetworkManager): self._create_fixed_ips(context, network_ref['id']) def get_network(self, context): - """Get the network for the current context""" + """Get the network for the current context.""" # NOTE(vish): To support mutilple network hosts, This could randomly # select from multiple networks instead of just # returning the one. It could also potentially be done @@ -280,7 +304,7 @@ class FlatManager(NetworkManager): FLAGS.flat_network_bridge) def _on_set_network_host(self, context, network_id): - """Called when this host becomes the host for a network""" + """Called when this host becomes the host for a network.""" net = {} net['injected'] = True net['bridge'] = FLAGS.flat_network_bridge @@ -289,19 +313,19 @@ class FlatManager(NetworkManager): class FlatDHCPManager(NetworkManager): - """Flat networking with dhcp""" + """Flat networking with dhcp.""" def setup_fixed_ip(self, context, address): - """Setup dhcp for this network""" + """Setup dhcp for this network.""" network_ref = db.fixed_ip_get_by_address(context, address) self.driver.update_dhcp(context, network_ref['id']) def deallocate_fixed_ip(self, context, address, *args, **kwargs): - """Returns a fixed ip to the pool""" + """Returns a fixed ip to the pool.""" self.db.fixed_ip_update(context, address, {'allocated': False}) def _on_set_network_host(self, context, network_id): - """Called when this host becomes the host for a project""" + """Called when this host becomes the host for a project.""" super(FlatDHCPManager, self)._on_set_network_host(context, network_id) network_ref = self.db.network_get(context, network_id) self.db.network_update(context, @@ -313,11 +337,11 @@ class FlatDHCPManager(NetworkManager): class VlanManager(NetworkManager): - """Vlan network with dhcp""" + """Vlan network with dhcp.""" @defer.inlineCallbacks def periodic_tasks(self, context=None): - """Tasks to be run at a periodic interval""" + """Tasks to be run at a periodic interval.""" yield super(VlanManager, self).periodic_tasks(context) now = datetime.datetime.utcnow() timeout = FLAGS.fixed_ip_disassociate_timeout @@ -330,13 +354,13 @@ class VlanManager(NetworkManager): def init_host(self): """Do any initialization that needs to be run if this is a - standalone service. + standalone service. """ super(VlanManager, self).init_host() self.driver.init_host() def allocate_fixed_ip(self, context, instance_id, *args, **kwargs): - """Gets a fixed ip from the pool""" + """Gets a fixed ip from the pool.""" # TODO(vish): This should probably be getting project_id from # the instance, but it is another trip to the db. # Perhaps this method should take an instance_ref. @@ -356,11 +380,11 @@ class VlanManager(NetworkManager): return address def deallocate_fixed_ip(self, context, address, *args, **kwargs): - """Returns a fixed ip to the pool""" + """Returns a fixed ip to the pool.""" self.db.fixed_ip_update(context, address, {'allocated': False}) def setup_fixed_ip(self, context, address): - """Sets forwarding rules and dhcp for fixed ip""" + """Sets forwarding rules and dhcp for fixed ip.""" fixed_ip_ref = self.db.fixed_ip_get_by_address(context, address) network_ref = self.db.fixed_ip_get_network(context, address) if self.db.instance_is_vpn(context, fixed_ip_ref['instance_id']): @@ -370,19 +394,19 @@ class VlanManager(NetworkManager): self.driver.update_dhcp(context, network_ref['id']) def setup_compute_network(self, context, instance_id): - """Sets up matching network for compute hosts""" + """Sets up matching network for compute hosts.""" network_ref = db.network_get_by_instance(context, instance_id) self.driver.ensure_vlan_bridge(network_ref['vlan'], network_ref['bridge']) def restart_nets(self): - """Ensure the network for each user is enabled""" + """Ensure the network for each user is enabled.""" # TODO(vish): Implement this pass def create_networks(self, context, cidr, num_networks, network_size, vlan_start, vpn_start): - """Create networks based on parameters""" + """Create networks based on parameters.""" fixed_net = IPy.IP(cidr) for index in range(num_networks): vlan = vlan_start + index @@ -407,12 +431,12 @@ class VlanManager(NetworkManager): self._create_fixed_ips(context, network_ref['id']) def get_network(self, context): - """Get the network for the current context""" + """Get the network for the current context.""" return self.db.project_get_network(context.elevated(), context.project_id) def _on_set_network_host(self, context, network_id): - """Called when this host becomes the host for a network""" + """Called when this host becomes the host for a network.""" network_ref = self.db.network_get(context, network_id) net = {} net['vpn_public_address'] = FLAGS.vpn_ip @@ -424,11 +448,11 @@ class VlanManager(NetworkManager): @property def _bottom_reserved_ips(self): - """Number of reserved ips at the bottom of the range""" + """Number of reserved ips at the bottom of the range.""" return super(VlanManager, self)._bottom_reserved_ips + 1 # vpn server @property def _top_reserved_ips(self): - """Number of reserved ips at the top of the range""" + """Number of reserved ips at the top of the range.""" parent_reserved = super(VlanManager, self)._top_reserved_ips return parent_reserved + FLAGS.cnt_vpn_clients From 60c82177da9c4ebbb89e5534959d0d5a52bfa49a Mon Sep 17 00:00:00 2001 From: Eric Day Date: Wed, 3 Nov 2010 12:38:15 -0700 Subject: [PATCH 056/197] Fix for bug#613264, allowing hosts to be specified for nova-api and objectstore listeners. --- bin/nova-api | 6 ++++-- nova/objectstore/handler.py | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bin/nova-api b/bin/nova-api index a9002ae2d19e..a9c53dbcdf4c 100755 --- a/bin/nova-api +++ b/bin/nova-api @@ -38,15 +38,17 @@ from nova import server FLAGS = flags.FLAGS flags.DEFINE_integer('osapi_port', 8774, 'OpenStack API port') +flags.DEFINE_string('osapi_host', '0.0.0.0', 'OpenStack API host') flags.DEFINE_integer('ec2api_port', 8773, 'EC2 API port') +flags.DEFINE_string('ec2api_host', '0.0.0.0', 'EC2 API host') def main(_args): from nova import api from nova import wsgi server = wsgi.Server() - server.start(api.API('os'), FLAGS.osapi_port) - server.start(api.API('ec2'), FLAGS.ec2api_port) + server.start(api.API('os'), FLAGS.osapi_port, host=FLAGS.osapi_host) + server.start(api.API('ec2'), FLAGS.ec2api_port, host=FLAGS.ec2api_host) server.wait() diff --git a/nova/objectstore/handler.py b/nova/objectstore/handler.py index b26906001437..aaf207db4a01 100644 --- a/nova/objectstore/handler.py +++ b/nova/objectstore/handler.py @@ -438,6 +438,7 @@ def get_application(): # Disabled because of lack of proper introspection in Twisted # or possibly different versions of twisted? # pylint: disable-msg=E1101 - objectStoreService = internet.TCPServer(FLAGS.s3_port, factory) + objectStoreService = internet.TCPServer(FLAGS.s3_port, factory, + interface=FLAGS.s3_host) objectStoreService.setServiceParent(application) return application From d65c35bcadc6cc4e4d1fc61502d43fd001ce2f0e Mon Sep 17 00:00:00 2001 From: Eric Day Date: Wed, 3 Nov 2010 13:13:59 -0700 Subject: [PATCH 057/197] Added an extra argument to the objectstore listen to separate out the listening host from the connecting host. --- nova/objectstore/handler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nova/objectstore/handler.py b/nova/objectstore/handler.py index aaf207db4a01..c8920b00c899 100644 --- a/nova/objectstore/handler.py +++ b/nova/objectstore/handler.py @@ -61,6 +61,7 @@ from nova.objectstore import image FLAGS = flags.FLAGS +flags.DEFINE_string('s3_listen_host', '', 'Host to listen on.') def render_xml(request, value): @@ -439,6 +440,6 @@ def get_application(): # or possibly different versions of twisted? # pylint: disable-msg=E1101 objectStoreService = internet.TCPServer(FLAGS.s3_port, factory, - interface=FLAGS.s3_host) + interface=FLAGS.s3_listen_host) objectStoreService.setServiceParent(application) return application From 80a6dd72ef48ec4c7dc72b39073800bb7fe1e70a Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 3 Nov 2010 14:04:36 -0700 Subject: [PATCH 058/197] prettier theme --- doc/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 27bc4ea6c9ff..3f6ca2313813 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -99,7 +99,7 @@ modindex_common_prefix = ['nova.'] # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' +html_theme = 'sphinxdoc' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the From 817690b03f2e498fb08eba3ca455719229f24640 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 3 Nov 2010 15:06:00 -0700 Subject: [PATCH 059/197] pep8 whitespace and line length fixes --- nova/adminclient.py | 4 ++-- nova/compute/manager.py | 3 ++- nova/db/api.py | 4 ++-- nova/db/sqlalchemy/models.py | 4 ++-- nova/volume/driver.py | 4 ++-- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/nova/adminclient.py b/nova/adminclient.py index 0227cddd7941..af55197fc198 100644 --- a/nova/adminclient.py +++ b/nova/adminclient.py @@ -273,10 +273,10 @@ class NovaAdminClient(object): def get_user_roles(self, user, project=None): """Returns a list of roles for the given user. - + Omitting project will return any global roles that the user has. Specifying project will return only project specific roles. - + """ params = {'User': user} if project: diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 3aed1e5a5d9c..890d79fba92e 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -22,7 +22,8 @@ Handles all processes relating to instances (guest vms). The :py:class:`ComputeManager` class is a :py:class:`nova.manager.Manager` that handles RPC calls relating to creating instances. It is responsible for building a disk image, launching it via the underlying virtualization driver, -responding to calls to check it state, attaching persistent as well as termination. +responding to calls to check it state, attaching persistent as well as +termination. **Related Flags** diff --git a/nova/db/api.py b/nova/db/api.py index 6f1043d8fd5d..8f9dc244301c 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -395,7 +395,7 @@ def network_create_safe(context, values): The network is only returned if the create succeeds. If the create violates constraints because the network already exists, no exception is raised. - + """ return IMPL.network_create_safe(context, values) @@ -499,7 +499,7 @@ def export_device_create_safe(context, values): The device is not returned. If the create violates the unique constraints because the shelf_id and blade_id already exist, no exception is raised. - + """ return IMPL.export_device_create_safe(context, values) diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py index bc9a7480ed69..01b5cf350710 100644 --- a/nova/db/sqlalchemy/models.py +++ b/nova/db/sqlalchemy/models.py @@ -411,10 +411,10 @@ class Network(BASE, NovaBase): class AuthToken(BASE, NovaBase): """Represents an authorization token for all API transactions. - + Fields are a string representing the actual token and a user id for mapping to the actual user - + """ __tablename__ = 'auth_tokens' token_hash = Column(String(255), primary_key=True) diff --git a/nova/volume/driver.py b/nova/volume/driver.py index 89e5c8d5767d..156aad2a0954 100644 --- a/nova/volume/driver.py +++ b/nova/volume/driver.py @@ -114,7 +114,7 @@ class VolumeDriver(object): escaped_name)) def ensure_export(self, context, volume): - """Safely and synchronously recreates an export for a logical volume.""" + """Synchronously recreates an export for a logical volume.""" raise NotImplementedError() @defer.inlineCallbacks @@ -228,7 +228,7 @@ class ISCSIDriver(VolumeDriver): """Executes commands relating to ISCSI volumes.""" def ensure_export(self, context, volume): - """Safely and synchronously recreates an export for a logical volume.""" + """Synchronously recreates an export for a logical volume.""" iscsi_target = self.db.volume_get_iscsi_target_num(context, volume['id']) iscsi_name = "%s%s" % (FLAGS.iscsi_target_prefix, volume['name']) From 6b8ee54df1a77c46b692cf43cc73009684cc9033 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 4 Nov 2010 00:02:56 -0400 Subject: [PATCH 060/197] have "contents" look the same as other headings. --- doc/source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/index.rst b/doc/source/index.rst index 261919629629..3c05d721de79 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -36,7 +36,7 @@ be found on the `OpenStack wiki`_. Contents --------- +======== .. toctree:: :maxdepth: 1 From 8ff07424548ad4d25b1653351d0bffaac7bc0642 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 4 Nov 2010 02:06:10 -0400 Subject: [PATCH 061/197] Cleanup nova-manage section. --- doc/source/concepts.and.introduction.rst | 117 +------------ doc/source/nova.manage.rst | 200 +++++++++++++++++++++++ 2 files changed, 205 insertions(+), 112 deletions(-) create mode 100644 doc/source/nova.manage.rst diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index d73447ba9cb9..2055298122ee 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -35,11 +35,9 @@ focues on describing how Nova's implementation of those concepts is achieved. This page outlines concepts that you will need to understand as a user or administrator of an OpenStack installation. Each section links to more more -detailed information in the `Administration Guide`_, but you'll probably want -to read this section straight-through before tackling the specifics presented -in the administration guide. - -.. _`Administration Guide`: administration.guide.html +detailed information in the :doc:`administration.guide`, +but you'll probably want to read this section straight-through before tackling +the specifics presented in the administration guide. Concept: Users and Projects @@ -142,117 +140,12 @@ Nova is implemented by a number of related binaries. These binaries can run on Concept: nova-manage -------------------- -Introduction -~~~~~~~~~~~~ - The nova-manage command is used to perform many essential functions for administration and ongoing maintenance of nova, such as user creation, vpn management, and much more. -The standard pattern for executing a nova-manage command is: - -``nova-manage []`` - -For example, to obtain a list of all projects: - -``nova-manage project list`` - -User Maintenance -~~~~~~~~~~~~~~~~ - -* user admin: creates a new admin and prints exports - * arguments: name [access] [secret] -* user create: creates a new user and prints exports - * arguments: name [access] [secret] -* user delete: deletes an existing user - * arguments: name -* user exports: prints access and secrets for user in export format - * arguments: name -* user list: lists all users - * arguments: none -* user modify: update a users keys & admin flag - * arguments: accesskey secretkey admin - * leave any field blank to ignore it, admin should be 'T', 'F', or blank - -Project Maintenance -~~~~~~~~~~~~~~~~~~~ - -* project add: Adds user to project - * arguments: project user -* project create: Creates a new project - * arguments: name project_manager [description] -* project delete: Deletes an existing project - * arguments: project_id -* project environment: Exports environment variables to an sourcable file - * arguments: project_id user_id [filename='novarc] -* project list: lists all projects - * arguments: none -* project quota: Set or display quotas for project - * arguments: project_id [key] [value] -* project remove: Removes user from project - * arguments: project user -* project scrub: Deletes data associated with project - * arguments: project -* project zipfile: Exports credentials for project to a zip file - * arguments: project_id user_id [filename='nova.zip] - -User Role Management -~~~~~~~~~~~~~~~~~~~~ - -* role add: adds role to user - * if project is specified, adds project specific role - * arguments: user, role [project] -* role has: checks to see if user has role - * if project is specified, returns True if user has - the global role and the project role - * arguments: user, role [project] -* role remove: removes role from user - * if project is specified, removes project specific role - * arguments: user, role [project] - - -Nova Shell -~~~~~~~~~~ - -* shell bpython - * start a new bpython shell -* shell ipython - * start a new ipython shell -* shell python - * start a new python shell -* shell run - * ??? -* shell script: Runs the script from the specifed path with flags set properly. - * arguments: path - -VPN Management -~~~~~~~~~~~~~~ - -* vpn list: Print a listing of the VPNs for all projects. - * arguments: none -* vpn run: Start the VPN for a given project. - * arguments: project -* vpn spawn: Run all VPNs. - * arguments: none - - -Floating IP Management -~~~~~~~~~~~~~~~~~~~~~~ - -* floating create: Creates floating ips for host by range - * arguments: host ip_range -* floating delete: Deletes floating ips by range - * arguments: range -* floating list: Prints a listing of all floating ips - * arguments: none - -Network Management -~~~~~~~~~~~~~~~~~~ - -* network create: Creates fixed ips for host by range - * arguments: [fixed_range=FLAG], [num_networks=FLAG], - [network_size=FLAG], [vlan_start=FLAG], - [vpn_start=FLAG] +See :doc:`nova.manage` in the Administration Guide for more +details. Concept: Flags diff --git a/doc/source/nova.manage.rst b/doc/source/nova.manage.rst new file mode 100644 index 000000000000..eeb463f528bd --- /dev/null +++ b/doc/source/nova.manage.rst @@ -0,0 +1,200 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + + +nova-manage +=========== + +Introduction +~~~~~~~~~~~~ + +The nova-manage command is used to perform many essential functions for +administration and ongoing maintenance of nova, such as user creation, +vpn management, and much more. + +The standard pattern for executing a nova-manage command is: + +``nova-manage []`` + +For example, to obtain a list of all projects: + +``nova-manage project list`` + +You can run without arguments to see a list of available command categories: + +``nova-manage`` + +You can run with a category argument to see a list of all commands in that +category: + +``nova-manage user`` + +User Maintenance +~~~~~~~~~~~~~~~~ + +Users, including admins, are created through the ``user`` commands. + +* user admin: creates a new admin and prints exports + * arguments: name [access] [secret] +* user create: creates a new user and prints exports + * arguments: name [access] [secret] +* user delete: deletes an existing user + * arguments: name +* user exports: prints access and secrets for user in export format + * arguments: name +* user list: lists all users + * arguments: none +* user modify: update a users keys & admin flag + * arguments: accesskey secretkey admin + * leave any field blank to ignore it, admin should be 'T', 'F', or blank + +Project Maintenance +~~~~~~~~~~~~~~~~~~~ + +* project add: Adds user to project + * arguments: project user +* project create: Creates a new project + * arguments: name project_manager [description] +* project delete: Deletes an existing project + * arguments: project_id +* project environment: Exports environment variables to an sourcable file + * arguments: project_id user_id [filename='novarc] +* project list: lists all projects + * arguments: none +* project quota: Set or display quotas for project + * arguments: project_id [key] [value] +* project remove: Removes user from project + * arguments: project user +* project scrub: Deletes data associated with project + * arguments: project +* project zipfile: Exports credentials for project to a zip file + * arguments: project_id user_id [filename='nova.zip] + +User Role Management +~~~~~~~~~~~~~~~~~~~~ + +* role add: adds role to user + * if project is specified, adds project specific role + * arguments: user, role [project] +* role has: checks to see if user has role + * if project is specified, returns True if user has + the global role and the project role + * arguments: user, role [project] +* role remove: removes role from user + * if project is specified, removes project specific role + * arguments: user, role [project] + + +Nova Shell +~~~~~~~~~~ + +* shell bpython + * start a new bpython shell +* shell ipython + * start a new ipython shell +* shell python + * start a new python shell +* shell run + * ??? +* shell script: Runs the script from the specifed path with flags set properly. + * arguments: path + +VPN Management +~~~~~~~~~~~~~~ + +* vpn list: Print a listing of the VPNs for all projects. + * arguments: none +* vpn run: Start the VPN for a given project. + * arguments: project +* vpn spawn: Run all VPNs. + * arguments: none + + +Floating IP Management +~~~~~~~~~~~~~~~~~~~~~~ + +* floating create: Creates floating ips for host by range + * arguments: host ip_range +* floating delete: Deletes floating ips by range + * arguments: range +* floating list: Prints a listing of all floating ips + * arguments: none + +Network Management +~~~~~~~~~~~~~~~~~~ + +* network create: Creates fixed ips for host by range + * arguments: [fixed_range=FLAG], [num_networks=FLAG], + [network_size=FLAG], [vlan_start=FLAG], + [vpn_start=FLAG] + + +Concept: Flags +-------------- + +python-gflags + + +Concept: Plugins +---------------- + +* Managers/Drivers: utils.import_object from string flag +* virt/connections: conditional loading from string flag +* db: LazyPluggable via string flag +* auth_manager: utils.import_class based on string flag +* Volumes: moving to pluggable driver instead of manager +* Network: pluggable managers +* Compute: same driver used, but pluggable at connection + + +Concept: IPC/RPC +---------------- + +Rabbit! + + +Concept: Fakes +-------------- + +* auth +* ldap + + +Concept: Scheduler +------------------ + +* simple +* random + + +Concept: Security Groups +------------------------ + +Security groups + + +Concept: Certificate Authority +------------------------------ + +Nova does a small amount of certificate management. These certificates are used for :ref:`project vpns ` and decrypting bundled images. + + +Concept: Images +--------------- + +* launching +* bundling From d14dafebf80cfc1776be5496b44a1970167114d8 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 4 Nov 2010 02:06:28 -0400 Subject: [PATCH 062/197] add missing file. --- doc/source/development.environment.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 doc/source/development.environment.rst diff --git a/doc/source/development.environment.rst b/doc/source/development.environment.rst new file mode 100644 index 000000000000..ee19ba2bf0b9 --- /dev/null +++ b/doc/source/development.environment.rst @@ -0,0 +1,23 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Setting up a development environment +==================================== + +:: + + TODO(anthony) From b65b41e5957d5ded516343b3611292c9744d169f Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Thu, 4 Nov 2010 12:42:14 +0100 Subject: [PATCH 063/197] Add a templating mechanism in the flag parsing. Add a state_path flag that will be used as the top-level dir for all other state (such as images, instances, buckets, networks, etc). This way you only need to change one flag to put all your state in e.g. /var/lib/nova. --- nova/compute/manager.py | 2 +- nova/compute/monitor.py | 2 +- nova/crypto.py | 4 ++-- nova/flags.py | 22 ++++++++++++++++++++-- nova/network/linux_net.py | 2 +- nova/objectstore/bucket.py | 2 +- nova/objectstore/image.py | 4 ++-- 7 files changed, 28 insertions(+), 10 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 850cded8aa5b..65fa5043162d 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -33,7 +33,7 @@ from nova.compute import power_state FLAGS = flags.FLAGS -flags.DEFINE_string('instances_path', utils.abspath('../instances'), +flags.DEFINE_string('instances_path', '$state_path/instances', 'where instances are stored on disk') flags.DEFINE_string('compute_driver', 'nova.virt.connection.get_connection', 'Driver to use for volume creation') diff --git a/nova/compute/monitor.py b/nova/compute/monitor.py index d0154600f368..024f3ed3c3b5 100644 --- a/nova/compute/monitor.py +++ b/nova/compute/monitor.py @@ -46,7 +46,7 @@ flags.DEFINE_integer('monitoring_instances_delay', 5, 'Sleep time between updates') flags.DEFINE_integer('monitoring_instances_step', 300, 'Interval of RRD updates') -flags.DEFINE_string('monitoring_rrd_path', '/var/nova/monitor/instances', +flags.DEFINE_string('monitoring_rrd_path', '$state_path/monitor/instances', 'Location of RRD files') diff --git a/nova/crypto.py b/nova/crypto.py index 16b4f5e1f26a..045f7f53f8b6 100644 --- a/nova/crypto.py +++ b/nova/crypto.py @@ -39,9 +39,9 @@ from nova import flags FLAGS = flags.FLAGS flags.DEFINE_string('ca_file', 'cacert.pem', 'Filename of root CA') -flags.DEFINE_string('keys_path', utils.abspath('../keys'), +flags.DEFINE_string('keys_path', '$state_path/keys', 'Where we keep our keys') -flags.DEFINE_string('ca_path', utils.abspath('../CA'), +flags.DEFINE_string('ca_path', '$state_path/CA', 'Where we keep our root CA') flags.DEFINE_boolean('use_intermediate_ca', False, 'Should we use intermediate CAs for each project?') diff --git a/nova/flags.py b/nova/flags.py index 4ae86d9b2c41..2b8bbbdb7a54 100644 --- a/nova/flags.py +++ b/nova/flags.py @@ -26,6 +26,8 @@ import os import socket import sys +from string import Template + import gflags @@ -134,8 +136,21 @@ class FlagValues(gflags.FlagValues): def __getattr__(self, name): if self.IsDirty(name): self.ParseNewFlags() - return gflags.FlagValues.__getattr__(self, name) + val = gflags.FlagValues.__getattr__(self, name) + if type(val) is str: + tmpl = Template(val) + return tmpl.substitute(StrWrapper(self)) + return val +class StrWrapper(object): + def __init__(self, obj): + self.wrapped = obj + + def __getitem__(self, name): + if hasattr(self.wrapped, name): + return str(getattr(self.wrapped, name)) + else: + raise KeyError(name) FLAGS = FlagValues() gflags.FLAGS = FLAGS @@ -218,8 +233,11 @@ DEFINE_string('vpn_key_suffix', DEFINE_integer('auth_token_ttl', 3600, 'Seconds for auth tokens to linger') +DEFINE_string('state_path', os.path.abspath("./"), + "Top-level directory for maintaining nova's state") + DEFINE_string('sql_connection', - 'sqlite:///%s/nova.sqlite' % os.path.abspath("./"), + 'sqlite:///$state_path/nova.sqlite', 'connection string for sql database') DEFINE_string('compute_manager', 'nova.compute.manager.ComputeManager', diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index 7b323efa1500..f504b3d29b48 100644 --- a/nova/network/linux_net.py +++ b/nova/network/linux_net.py @@ -38,7 +38,7 @@ flags.DEFINE_string('dhcpbridge_flagfile', '/etc/nova/nova-dhcpbridge.conf', 'location of flagfile for dhcpbridge') -flags.DEFINE_string('networks_path', utils.abspath('../networks'), +flags.DEFINE_string('networks_path', '$state_path/networks', 'Location to keep network config files') flags.DEFINE_string('public_interface', 'vlan1', 'Interface for public IP addresses') diff --git a/nova/objectstore/bucket.py b/nova/objectstore/bucket.py index 0ba4934d12f4..fce3ec27bc95 100644 --- a/nova/objectstore/bucket.py +++ b/nova/objectstore/bucket.py @@ -33,7 +33,7 @@ from nova.objectstore import stored FLAGS = flags.FLAGS -flags.DEFINE_string('buckets_path', utils.abspath('../buckets'), +flags.DEFINE_string('buckets_path', '$state_path/buckets', 'path to s3 buckets') diff --git a/nova/objectstore/image.py b/nova/objectstore/image.py index b7b2ec6ab580..51aef7343f14 100644 --- a/nova/objectstore/image.py +++ b/nova/objectstore/image.py @@ -39,8 +39,8 @@ from nova.objectstore import bucket FLAGS = flags.FLAGS -flags.DEFINE_string('images_path', utils.abspath('../images'), - 'path to decrypted images') +flags.DEFINE_string('images_path', '$state_path/images', + 'path to decrypted images') class Image(object): From bbd11f550765a91af17cb200a2b857f263765918 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 4 Nov 2010 14:44:22 -0400 Subject: [PATCH 064/197] Nova quickstart: move vish's novascript into contrib, and convert reademe.md to a quickstart.rst --- contrib/nova.sh | 161 ++++++++++++++++++++++++++++++++++++++ doc/source/quickstart.rst | 79 ++++++++++++++++++- 2 files changed, 238 insertions(+), 2 deletions(-) create mode 100755 contrib/nova.sh diff --git a/contrib/nova.sh b/contrib/nova.sh new file mode 100755 index 000000000000..9bc36d6fbdbe --- /dev/null +++ b/contrib/nova.sh @@ -0,0 +1,161 @@ +#!/usr/bin/env bash +DIR=`pwd` +CMD=$1 +SOURCE_BRANCH=lp:nova +if [ -n "$2" ]; then + SOURCE_BRANCH=$2 +fi +DIRNAME=nova +NOVA_DIR=$DIR/$DIRNAME +if [ -n "$3" ]; then + NOVA_DIR=$DIR/$3 +fi + +if [ ! -n "$HOST_IP" ]; then + # NOTE(vish): This will just get the first ip in the list, so if you + # have more than one eth device set up, this will fail, and + # you should explicitly set HOST_IP in your environment + HOST_IP=`ifconfig | grep -m 1 'inet addr:'| cut -d: -f2 | awk '{print $1}'` +fi +TEST=0 +USE_MYSQL=0 +MYSQL_PASS=nova +USE_LDAP=0 +LIBVIRT_TYPE=qemu + +if [ "$USE_MYSQL" == 1 ]; then + SQL_CONN=mysql://root:$MYSQL_PASS@localhost/nova +else + SQL_CONN=sqlite:///$NOVA_DIR/nova.sqlite +fi + +if [ "$USE_LDAP" == 1 ]; then + AUTH=ldapdriver.LdapDriver +else + AUTH=dbdriver.DbDriver +fi + +mkdir -p /etc/nova +cat >/etc/nova/nova-manage.conf << NOVA_CONF_EOF +--verbose +--nodaemon +--dhcpbridge_flagfile=/etc/nova/nova-manage.conf +--FAKE_subdomain=ec2 +--cc_host=$HOST_IP +--routing_source_ip=$HOST_IP +--sql_connection=$SQL_CONN +--auth_driver=nova.auth.$AUTH +--libvirt_type=$LIBVIRT_TYPE +NOVA_CONF_EOF + +if [ "$CMD" == "branch" ]; then + sudo apt-get install -y bzr + rm -rf $NOVA_DIR + bzr branch $SOURCE_BRANCH $NOVA_DIR + cd $NOVA_DIR + mkdir -p $NOVA_DIR/instances + mkdir -p $NOVA_DIR/networks +fi + +# You should only have to run this once +if [ "$CMD" == "install" ]; then + sudo apt-get install -y python-software-properties + sudo add-apt-repository ppa:nova-core/ppa + sudo apt-get update + sudo apt-get install -y dnsmasq open-iscsi kpartx kvm gawk iptables ebtables + sudo apt-get install -y user-mode-linux kvm libvirt-bin + sudo apt-get install -y screen iscsitarget euca2ools vlan curl rabbitmq-server + sudo modprobe kvm + sudo /etc/init.d/libvirt-bin restart + sudo apt-get install -y python-twisted python-sqlalchemy python-mox python-greenlet python-carrot + sudo apt-get install -y python-daemon python-eventlet python-gflags python-tornado python-ipy + sudo apt-get install -y python-libvirt python-libxml2 python-routes + if [ "$USE_MYSQL" == 1 ]; then + cat < test.pem + euca-run-instances -k test -t m1.tiny ami-tiny + euca-describe-instances + +To see output from the various workers, switch screen windows + +:: + + " + +will give you a list of running windows. + +When the instance is running, you should be able to ssh to it. + +:: + + chmod 600 test.pem + ssh -i test.pem root@10.0.0.3 + +When you exit screen + +:: + + + +nova will terminate. It may take a while for nova to finish cleaning up. If +you exit the process before it is done because there were some problems in your +build, you may have to clean up the nova processes manually. If you had any +instances running, you can attempt to kill them through the api: + +:: + + ./nova.sh terminate + +Then you can destroy the screen: + +:: + + ./nova.sh clean + +If things get particularly messed up, you might need to do some more intense +cleanup. Be careful, the following command will manually destroy all runnning +virsh instances and attempt to delete all vlans and bridges. From 3a8dadd4d31dd564a08a9e285cc6f3318dc243b3 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 4 Nov 2010 17:36:32 -0400 Subject: [PATCH 065/197] Getting Started Guide. --- doc/source/administration.guide.rst | 1 + doc/source/concepts.and.introduction.rst | 3 +- doc/source/getting.started.rst | 83 ++++++++++++++++++++---- doc/source/index.rst | 4 +- doc/source/quickstart.rst | 8 +++ doc/source/reaching.out.rst | 28 ++++++++ 6 files changed, 110 insertions(+), 17 deletions(-) create mode 100644 doc/source/reaching.out.rst diff --git a/doc/source/administration.guide.rst b/doc/source/administration.guide.rst index 8c36d3d44f2e..2d09bed717f4 100644 --- a/doc/source/administration.guide.rst +++ b/doc/source/administration.guide.rst @@ -30,5 +30,6 @@ Contents quickstart getting.started multi.node.install + nova.manage flags monitoring diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 2055298122ee..5810280b43aa 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -144,8 +144,7 @@ The nova-manage command is used to perform many essential functions for administration and ongoing maintenance of nova, such as user creation, vpn management, and much more. -See :doc:`nova.manage` in the Administration Guide for more -details. +See doc:`nova.manage` in the Administration Guide for more details. Concept: Flags diff --git a/doc/source/getting.started.rst b/doc/source/getting.started.rst index a0148e4b6871..6873c49cd8f7 100644 --- a/doc/source/getting.started.rst +++ b/doc/source/getting.started.rst @@ -18,19 +18,31 @@ Getting Started with Nova ========================= -This code base is continually changing so dependencies also change. +This code base is continually changing, so dependencies also change. If you +encounter any problems, see the :doc:`reaching.out` page. +The `contrib/nova.sh` script should be kept up to date, and may be a good +resource to review when debugging. Dependencies ------------ Related servers we rely on -* RabbitMQ: messaging queue, used for all communication between components +* **RabbitMQ**: messaging queue, used for all communication between components Optional servers -* OpenLDAP: By default, the auth server uses the RDBMS-backed datastore by setting FLAGS.auth_driver to 'nova.auth.dbdriver.DbDriver'. But OpenLDAP (or LDAP) could be configured by specifying 'nova.auth.ldapdriver.LdapDriver'. There is a script in the sources(nova/auth/slap.sh) to install a very basic openldap server on ubuntu. -* ReDIS: There is a fake ldap driver that backends to redis. This was created for testing ldap implementation on systems that don't have an easy means to install ldap. +* **OpenLDAP**: By default, the auth server uses the RDBMS-backed datastore by + setting FLAGS.auth_driver to `nova.auth.dbdriver.DbDriver`. But OpenLDAP + (or LDAP) could be configured by specifying `nova.auth.ldapdriver.LdapDriver`. + There is a script in the sources (`nova/auth/slap.sh`) to install a very basic + openldap server on ubuntu. +* **ReDIS**: There is a fake ldap auth driver + `nova.auth.ldapdriver.FakeLdapDriver` that backends to redis. This was + created for testing ldap implementation on systems that don't have an easy + means to install ldap. +* **MySQL**: Either MySQL or another database supported by sqlalchemy needs to + be avilable. Currently, only sqlite3 an mysql have been tested. Python libraries that we use (from pip-requires): @@ -38,7 +50,9 @@ Python libraries that we use (from pip-requires): Other libraries: -* XenAPI: Needed only for Xen Cloud Platform or XenServer support. Available from http://wiki.xensource.com/xenwiki/XCP_SDK or http://community.citrix.com/cdn/xs/sdks. +* **XenAPI**: Needed only for Xen Cloud Platform or XenServer support. Available + from http://wiki.xensource.com/xenwiki/XCP_SDK or + http://community.citrix.com/cdn/xs/sdks. External unix tools that are required: @@ -53,7 +67,9 @@ External unix tools that are required: * open-iscsi and iscsitarget (if you use iscsi volumes) * aoetools and vblade-persist (if you use aoe-volumes) -Nova uses cutting-edge versions of many packages. There are ubuntu packages in the nova-core ppa. You can use add this ppa to your sources list on an ubuntu machine with the following commands:: +Nova uses cutting-edge versions of many packages. There are ubuntu packages in +the nova-core ppa. You can use add this ppa to your sources list on an ubuntu +machine with the following commands:: sudo apt-get install -y python-software-properties sudo add-apt-repository ppa:nova-core/ppa @@ -68,34 +84,73 @@ Recommended Installation -------------- -Due to many changes it's best to rely on the `OpenStack wiki `_ for installation instructions. +You can install from packages for your particular Linux distribution if they are +available. Otherwise you can install from source by checking out the source +files from the `Nova Source Code Repository `_ +and running:: + + python setup.py install Configuration --------------- -These instructions are incomplete, but we are actively updating the `OpenStack wiki `_ with more configuration information. +Configuring the host system +~~~~~~~~~~~~~~~~~~~~~~~~~~~ -On the volume node +As you read through the Administration Guide you will notice configuration hints +inline with documentation on the subsystem you are configuring. Presented in +this "Getting Started with Nova" document, we only provide what you need to +get started as quickly as possible. For a more detailed description of system +configuration, start reading through :doc:`multi.node.install`. -* Create a volume group (you can use an actual disk for the volume group as well) - -:: +* Create a volume group (you can use an actual disk for the volume group as + well):: # This creates a 1GB file to create volumes out of dd if=/dev/zero of=MY_FILE_PATH bs=100M count=10 losetup --show -f MY_FILE_PATH # replace /dev/loop0 below with whatever losetup returns + # nova-volumes is the default for the --volume_group flag vgcreate nova-volumes /dev/loop0 + +Configuring Nova +~~~~~~~~~~~~~~~~ + +Configuration of the entire system is performed through python-gflags. The +best way to track configuration is through the use of a flagfile. + +A flagfile is specified with the ``--flagfile=FILEPATH`` argument to the binary +when you launch it. Flagfiles for nova are typically stored in +``/etc/nova/nova.conf``, and flags specific to a certain program are stored in +``/etc/nova/nova-COMMAND.conf``. Each configuration file can include another +flagfile, so typically a file like ``nova-manage.conf`` would have as its first +line ``--flagfile=/etc/nova/nova.conf`` to load the common flags before +specifying overrides or additional options. + +A sample configuration to test the system follows:: + + --verbose + --nodaemon + --FAKE_subdomain=ec2 + --auth_driver=nova.auth.dbdriver.DbDriver + Running --------- -Launch servers +There are many parts to the nova system, each with a specific function. They +are built to be highly-available, so there are may configurations they can be +run in (ie: on many machines, many listeners per machine, etc). This part +of the guide only gets you started quickly, to learn about HA options, see +:doc:`multi.node.install`. + +Launch supporting services * rabbitmq * redis (optional) +* mysql (optional) -Launch nova components +Launch nova components, each should have ``--flagfile=/etc/nova/nova.conf`` * nova-api * nova-compute diff --git a/doc/source/index.rst b/doc/source/index.rst index 3c05d721de79..9a62570ed66e 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -30,7 +30,8 @@ Nova is written with the following design guidelines in mind: This documentation is generated by the Sphinx toolkit and lives in the source tree. Additional documentation on Nova and other components of OpenStack can -be found on the `OpenStack wiki`_. +be found on the `OpenStack wiki`_. Also see the :doc:`reaching.out` page for +other ways to interact witht the community. .. _`OpenStack wiki`: http://wiki.openstack.org @@ -44,6 +45,7 @@ Contents concepts.and.introduction administration.guide development.guide + reaching.out Indices and tables diff --git a/doc/source/quickstart.rst b/doc/source/quickstart.rst index 91e3c9ccbb5a..511ed24835c0 100644 --- a/doc/source/quickstart.rst +++ b/doc/source/quickstart.rst @@ -18,6 +18,14 @@ Nova Quickstart =============== +:: + + TODO(todd): * Document the assumptions about pluggable interfaces + (sqlite3 instead of mysql, etc) + * Document env vars that can change things + (USE_MYSQL, HOST_IP) + + The `contrib/novascript.sh` file in the source distribution is a script that will quickly set up nova to run on a single machine. It is tested against Ubuntu only, but other distributions are forthcoming. diff --git a/doc/source/reaching.out.rst b/doc/source/reaching.out.rst new file mode 100644 index 000000000000..0d8f675e06cc --- /dev/null +++ b/doc/source/reaching.out.rst @@ -0,0 +1,28 @@ +.. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Reaching Out +============ + +The OpenStack community is a very friendly place. Feel free to ask questions. +This document points you to some of the places you may want to communicate +with people at. + +:: + + TODO(todd): * Write This + * Don't end a sentence with a preposition From 74762113966fb873816afa7bc7c0f2e2e9eb2ec5 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 4 Nov 2010 17:49:13 -0400 Subject: [PATCH 066/197] document purpose of documentation. --- doc/source/getting.started.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/source/getting.started.rst b/doc/source/getting.started.rst index 6873c49cd8f7..79d2cf204404 100644 --- a/doc/source/getting.started.rst +++ b/doc/source/getting.started.rst @@ -23,6 +23,14 @@ encounter any problems, see the :doc:`reaching.out` page. The `contrib/nova.sh` script should be kept up to date, and may be a good resource to review when debugging. +The purpose of this document is to get a system installed that you can use to +test your setup assumptions. Working from this base installtion you can +tweak configurations and work with different flags to monitor interaction with +your hardware, network, and other factors that will allow you to determine +suitability for your deployment. After following this setup method, you should +be able to experiment with different managers, drivers, and flags to get the +best performance. + Dependencies ------------ From 0de105e28ece8e742943abd3e6332d6e5694642c Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 4 Nov 2010 18:17:02 -0400 Subject: [PATCH 067/197] start adding info to multi-node admin guide. --- doc/source/multi.node.install.rst | 36 +++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/doc/source/multi.node.install.rst b/doc/source/multi.node.install.rst index dad9dcd01537..1d484e779f4a 100644 --- a/doc/source/multi.node.install.rst +++ b/doc/source/multi.node.install.rst @@ -18,8 +18,40 @@ Multi-Node Nova =============== -http://etherpad.openstack.org/NovaMultinodeInstall +When you move beyond evaluating the technology and into building an actual +production environemnt, you will need to know how to configure your datacenter +and how to deploy components across your clusters. This guide should help you +through that process. + +Bare-metal Provisioning +----------------------- + +To install the base operating system you can use PXE booting. + +Deployment Technologies +----------------------- + +Once you have machines with a base operating system installation, you can deploy +code and configuration with your favorite tools: * Puppet * Chef -* PXE + +Types of Hosts +-------------- + +A single machine in your cluster can act as one or more of the following types +of host: + +Nova Services + +* Network +* Compute +* Volume +* API +* Objectstore + +Other supporting services + +* Datastore +* Message Queue From 4ea4eac3f1a33c1f618c82c5c2312b4626aa7244 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 4 Nov 2010 19:00:46 -0400 Subject: [PATCH 068/197] Change directory structure for great justice! --- doc/source/{ => adminguide}/binaries.rst | 0 doc/source/{ => adminguide}/flags.rst | 0 .../{ => adminguide}/getting.started.rst | 4 +- .../index.rst} | 1 + doc/source/{ => adminguide}/monitoring.rst | 0 .../{ => adminguide}/multi.node.install.rst | 0 doc/source/{ => adminguide}/nova.manage.rst | 2 +- doc/source/{ => adminguide}/quickstart.rst | 0 doc/source/concepts.and.introduction.rst | 2 +- doc/source/{ => devguide}/api.rst | 0 doc/source/{ => devguide}/architecture.rst | 0 doc/source/{ => devguide}/auth.rst | 0 doc/source/{ => devguide}/cloudpipe.rst | 0 doc/source/{ => devguide}/compute.rst | 0 doc/source/{ => devguide}/database.rst | 0 .../development.environment.rst | 0 doc/source/{ => devguide}/fakes.rst | 0 doc/source/{ => devguide}/glance.rst | 0 .../index.rst} | 2 +- doc/source/{ => devguide}/network.rst | 0 doc/source/{ => devguide}/nova.rst | 0 doc/source/{ => devguide}/objectstore.rst | 0 doc/source/{ => devguide}/scheduler.rst | 0 doc/source/{ => devguide}/services.rst | 0 doc/source/{ => devguide}/volume.rst | 0 doc/source/index.rst | 4 +- doc/source/modules.rst | 38 ------------------- 27 files changed, 8 insertions(+), 45 deletions(-) rename doc/source/{ => adminguide}/binaries.rst (100%) rename doc/source/{ => adminguide}/flags.rst (100%) rename doc/source/{ => adminguide}/getting.started.rst (98%) rename doc/source/{administration.guide.rst => adminguide/index.rst} (98%) rename doc/source/{ => adminguide}/monitoring.rst (100%) rename doc/source/{ => adminguide}/multi.node.install.rst (100%) rename doc/source/{ => adminguide}/nova.manage.rst (98%) rename doc/source/{ => adminguide}/quickstart.rst (100%) rename doc/source/{ => devguide}/api.rst (100%) rename doc/source/{ => devguide}/architecture.rst (100%) rename doc/source/{ => devguide}/auth.rst (100%) rename doc/source/{ => devguide}/cloudpipe.rst (100%) rename doc/source/{ => devguide}/compute.rst (100%) rename doc/source/{ => devguide}/database.rst (100%) rename doc/source/{ => devguide}/development.environment.rst (100%) rename doc/source/{ => devguide}/fakes.rst (100%) rename doc/source/{ => devguide}/glance.rst (100%) rename doc/source/{development.guide.rst => devguide/index.rst} (97%) rename doc/source/{ => devguide}/network.rst (100%) rename doc/source/{ => devguide}/nova.rst (100%) rename doc/source/{ => devguide}/objectstore.rst (100%) rename doc/source/{ => devguide}/scheduler.rst (100%) rename doc/source/{ => devguide}/services.rst (100%) rename doc/source/{ => devguide}/volume.rst (100%) delete mode 100644 doc/source/modules.rst diff --git a/doc/source/binaries.rst b/doc/source/adminguide/binaries.rst similarity index 100% rename from doc/source/binaries.rst rename to doc/source/adminguide/binaries.rst diff --git a/doc/source/flags.rst b/doc/source/adminguide/flags.rst similarity index 100% rename from doc/source/flags.rst rename to doc/source/adminguide/flags.rst diff --git a/doc/source/getting.started.rst b/doc/source/adminguide/getting.started.rst similarity index 98% rename from doc/source/getting.started.rst rename to doc/source/adminguide/getting.started.rst index 79d2cf204404..65ba2d57e541 100644 --- a/doc/source/getting.started.rst +++ b/doc/source/adminguide/getting.started.rst @@ -19,7 +19,7 @@ Getting Started with Nova ========================= This code base is continually changing, so dependencies also change. If you -encounter any problems, see the :doc:`reaching.out` page. +encounter any problems, see the :doc:`../reaching.out` page. The `contrib/nova.sh` script should be kept up to date, and may be a good resource to review when debugging. @@ -54,7 +54,7 @@ Optional servers Python libraries that we use (from pip-requires): -.. literalinclude:: ../../tools/pip-requires +.. literalinclude:: ../../../tools/pip-requires Other libraries: diff --git a/doc/source/administration.guide.rst b/doc/source/adminguide/index.rst similarity index 98% rename from doc/source/administration.guide.rst rename to doc/source/adminguide/index.rst index 2d09bed717f4..ad1788b8b434 100644 --- a/doc/source/administration.guide.rst +++ b/doc/source/adminguide/index.rst @@ -29,6 +29,7 @@ Contents quickstart getting.started + binaries multi.node.install nova.manage flags diff --git a/doc/source/monitoring.rst b/doc/source/adminguide/monitoring.rst similarity index 100% rename from doc/source/monitoring.rst rename to doc/source/adminguide/monitoring.rst diff --git a/doc/source/multi.node.install.rst b/doc/source/adminguide/multi.node.install.rst similarity index 100% rename from doc/source/multi.node.install.rst rename to doc/source/adminguide/multi.node.install.rst diff --git a/doc/source/nova.manage.rst b/doc/source/adminguide/nova.manage.rst similarity index 98% rename from doc/source/nova.manage.rst rename to doc/source/adminguide/nova.manage.rst index eeb463f528bd..683cf5e14fd2 100644 --- a/doc/source/nova.manage.rst +++ b/doc/source/adminguide/nova.manage.rst @@ -190,7 +190,7 @@ Security groups Concept: Certificate Authority ------------------------------ -Nova does a small amount of certificate management. These certificates are used for :ref:`project vpns ` and decrypting bundled images. +Nova does a small amount of certificate management. These certificates are used for :ref:`project vpns <../cloudpipe>` and decrypting bundled images. Concept: Images diff --git a/doc/source/quickstart.rst b/doc/source/adminguide/quickstart.rst similarity index 100% rename from doc/source/quickstart.rst rename to doc/source/adminguide/quickstart.rst diff --git a/doc/source/concepts.and.introduction.rst b/doc/source/concepts.and.introduction.rst index 5810280b43aa..d409fbaecd28 100644 --- a/doc/source/concepts.and.introduction.rst +++ b/doc/source/concepts.and.introduction.rst @@ -35,7 +35,7 @@ focues on describing how Nova's implementation of those concepts is achieved. This page outlines concepts that you will need to understand as a user or administrator of an OpenStack installation. Each section links to more more -detailed information in the :doc:`administration.guide`, +detailed information in the :doc:`adminguide/index`, but you'll probably want to read this section straight-through before tackling the specifics presented in the administration guide. diff --git a/doc/source/api.rst b/doc/source/devguide/api.rst similarity index 100% rename from doc/source/api.rst rename to doc/source/devguide/api.rst diff --git a/doc/source/architecture.rst b/doc/source/devguide/architecture.rst similarity index 100% rename from doc/source/architecture.rst rename to doc/source/devguide/architecture.rst diff --git a/doc/source/auth.rst b/doc/source/devguide/auth.rst similarity index 100% rename from doc/source/auth.rst rename to doc/source/devguide/auth.rst diff --git a/doc/source/cloudpipe.rst b/doc/source/devguide/cloudpipe.rst similarity index 100% rename from doc/source/cloudpipe.rst rename to doc/source/devguide/cloudpipe.rst diff --git a/doc/source/compute.rst b/doc/source/devguide/compute.rst similarity index 100% rename from doc/source/compute.rst rename to doc/source/devguide/compute.rst diff --git a/doc/source/database.rst b/doc/source/devguide/database.rst similarity index 100% rename from doc/source/database.rst rename to doc/source/devguide/database.rst diff --git a/doc/source/development.environment.rst b/doc/source/devguide/development.environment.rst similarity index 100% rename from doc/source/development.environment.rst rename to doc/source/devguide/development.environment.rst diff --git a/doc/source/fakes.rst b/doc/source/devguide/fakes.rst similarity index 100% rename from doc/source/fakes.rst rename to doc/source/devguide/fakes.rst diff --git a/doc/source/glance.rst b/doc/source/devguide/glance.rst similarity index 100% rename from doc/source/glance.rst rename to doc/source/devguide/glance.rst diff --git a/doc/source/development.guide.rst b/doc/source/devguide/index.rst similarity index 97% rename from doc/source/development.guide.rst rename to doc/source/devguide/index.rst index 704cbe39921a..6232a3181e07 100644 --- a/doc/source/development.guide.rst +++ b/doc/source/devguide/index.rst @@ -25,7 +25,7 @@ Prerequisites .. toctree:: :maxdepth: 1 - concepts.and.introduction + ../concepts.and.introduction architecture development.environment diff --git a/doc/source/network.rst b/doc/source/devguide/network.rst similarity index 100% rename from doc/source/network.rst rename to doc/source/devguide/network.rst diff --git a/doc/source/nova.rst b/doc/source/devguide/nova.rst similarity index 100% rename from doc/source/nova.rst rename to doc/source/devguide/nova.rst diff --git a/doc/source/objectstore.rst b/doc/source/devguide/objectstore.rst similarity index 100% rename from doc/source/objectstore.rst rename to doc/source/devguide/objectstore.rst diff --git a/doc/source/scheduler.rst b/doc/source/devguide/scheduler.rst similarity index 100% rename from doc/source/scheduler.rst rename to doc/source/devguide/scheduler.rst diff --git a/doc/source/services.rst b/doc/source/devguide/services.rst similarity index 100% rename from doc/source/services.rst rename to doc/source/devguide/services.rst diff --git a/doc/source/volume.rst b/doc/source/devguide/volume.rst similarity index 100% rename from doc/source/volume.rst rename to doc/source/devguide/volume.rst diff --git a/doc/source/index.rst b/doc/source/index.rst index 9a62570ed66e..0dcc1945eaea 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -43,8 +43,8 @@ Contents :maxdepth: 1 concepts.and.introduction - administration.guide - development.guide + adminguide/index + devguide/index reaching.out diff --git a/doc/source/modules.rst b/doc/source/modules.rst deleted file mode 100644 index 9b31664b62e2..000000000000 --- a/doc/source/modules.rst +++ /dev/null @@ -1,38 +0,0 @@ -.. - Copyright 2010 United States Government as represented by the - Administrator of the National Aeronautics and Space Administration. - All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); you may - not use this file except in compliance with the License. You may obtain - a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations - under the License. - -Nova Documentation -================== - -This page contains the Nova Modules documentation. - -Modules: --------- - -.. toctree:: - :maxdepth: 4 - - auth - compute - fakes - nova - volume - -Removed: --------- - -* endpoint From 990f4451e7779654188afa514baef270182f8697 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 5 Nov 2010 14:09:36 -0400 Subject: [PATCH 069/197] update types of services that may run on machines. --- doc/source/adminguide/getting.started.rst | 1 + doc/source/adminguide/multi.node.install.rst | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/source/adminguide/getting.started.rst b/doc/source/adminguide/getting.started.rst index 65ba2d57e541..1a5e913ceb96 100644 --- a/doc/source/adminguide/getting.started.rst +++ b/doc/source/adminguide/getting.started.rst @@ -157,6 +157,7 @@ Launch supporting services * rabbitmq * redis (optional) * mysql (optional) +* openldap (optional) Launch nova components, each should have ``--flagfile=/etc/nova/nova.conf`` diff --git a/doc/source/adminguide/multi.node.install.rst b/doc/source/adminguide/multi.node.install.rst index 1d484e779f4a..5ea0b603831f 100644 --- a/doc/source/adminguide/multi.node.install.rst +++ b/doc/source/adminguide/multi.node.install.rst @@ -53,5 +53,6 @@ Nova Services Other supporting services -* Datastore * Message Queue +* Database (optional) +* Authentication database (optional) From f9bd8f41807a27d62b538707b9aaff44746d8933 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 5 Nov 2010 14:30:46 -0400 Subject: [PATCH 070/197] Change order of secions so puppeting is last, add more initial setup tasks. --- doc/source/adminguide/multi.node.install.rst | 25 +++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/doc/source/adminguide/multi.node.install.rst b/doc/source/adminguide/multi.node.install.rst index 5ea0b603831f..eaf8dd9660c6 100644 --- a/doc/source/adminguide/multi.node.install.rst +++ b/doc/source/adminguide/multi.node.install.rst @@ -28,15 +28,6 @@ Bare-metal Provisioning To install the base operating system you can use PXE booting. -Deployment Technologies ------------------------ - -Once you have machines with a base operating system installation, you can deploy -code and configuration with your favorite tools: - -* Puppet -* Chef - Types of Hosts -------------- @@ -56,3 +47,19 @@ Other supporting services * Message Queue * Database (optional) * Authentication database (optional) + +Initial Setup +------------- + +* Networking +* Cloudadmin User Creation + +Deployment Technologies +----------------------- + +Once you have machines with a base operating system installation, you can deploy +code and configuration with your favorite tools to specify which machines in +your cluster have which roles: + +* Puppet +* Chef From 0a4785be35bf1fc66e41b7565edf5e3936b70673 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 5 Nov 2010 11:56:12 -0700 Subject: [PATCH 071/197] additions to home page --- doc/source/index.rst | 110 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/doc/source/index.rst b/doc/source/index.rst index 0dcc1945eaea..5dec404ef760 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -27,6 +27,7 @@ Nova is written with the following design guidelines in mind: * **Fault-Tollerant**: Isloated processes avoid cascading failures * **Recoverable**: Failures should be easy to diagnose, debug, and rectify * **Open Standards**: Be a reference implementation for a community-driven api +* **API Compatibility**: Nova strives to provide API-compatible with popular systems like Amazon EC2 This documentation is generated by the Sphinx toolkit and lives in the source tree. Additional documentation on Nova and other components of OpenStack can @@ -47,6 +48,115 @@ Contents devguide/index reaching.out +Recommended System Configuration +================================ + +Although Nova can be run on a variety of system architectures, for most users the following will be simplest: + +* Ubuntu Lucid +* 10GB Hard Disk Space +* 512MB RAM + +For development, Nova can run from within a VM. + +Quickstart +========== + +To make getting started with Nova easier, we provide a setup script that makes it easy to download and run the most recent version of Nova on your local machine. + +* sudo -i # become root +* cd # go to home directory +* git clone git://github.com/vishvananda/novascript.git +* cd novascript + +Inside this directory, you will find nova.sh, which is a utility designed to assist with getting your development environment up and running. + +Use nova.sh to install and run the current trunk. You can also specify a specific branch by putting lp:~someone/nova/some-branch after the branch command + +* ./nova.sh branch +* ./nova.sh install +* ./nova.sh run + +The run command will drop you into a screen session with all of the workers running in different windows You can use eucatools to run commands against the cloud. + +* euca-add-keypair test > test.pem +* euca-run-instances -k test -t m1.tiny ami-tiny +* euca-describe-instances + +To see output from the various workers, switch screen windows + +* " + +will give you a list of running windows. + +When the instance is running, you should be able to ssh to it. + +* chmod 600 test.pem +* ssh -i test.pem root@10.0.0.3 + +When you exit screen + +* + +nova will terminate. It may take a while for nova to finish cleaning up. If you exit the process before it is done because there were some problems in your build, you may have to clean up the nova processes manually. If you had any instances running, you can attempt to kill them through the api: + +* ./nova.sh terminate + +Then you can destroy the screen: + +* ./nova.sh clean + +If things get particularly messed up, you might need to do some more intense cleanup. Be careful, the following command will manually destroy all runnning virsh instances and attempt to delete all vlans and bridges. + +* ./nova.sh scrub + +You can edit files in the install directory or do a bzr pull to pick up new versions. You only need to do + +* ./nova.sh run + +to run nova after the first install. The database should be cleaned up on each run. + +Notes +----- + +The script starts nova-volume in fake mode, so it will not create any actual volumes. + +if you want to USE_VENV because you have different versions of python packages on your system that you want to keep, you should run install before branch: + +* ./nova.sh install +* ./nova.sh branch +* ./nova.sh run + +A sample image should be downloaded by the script, but if necessary you can download it by hand: + +* wget http://c2477062.cdn.cloudfiles.rackspacecloud.com/images.tgz + +untar the file to create a usable images directory + +* tar -zxf /path/to/images.tgz + +If you want to be able to contact the metadata server and route to the outside world from instances, you will need to make sure $HOST_IP is set properly. The script attemps to grab it from ifconfig, but if you have multiple adapters set up, it may fail. Fix it with export HOST_IP="": + +Customization +------------- + +You can make nova use mysql instead of sqlite with USE_MYSQL, it will attempt to install mysql with the specified root password and create a database called nova. + +If you are running nova on bare metal that supports hardware virtualization, you should probably edit the libvirt line near the top + +* LIBVIRT_TYPE=kvm + +If you are running in a virtual machine and software emulation is too slow for you, you can use user mode linux. + +* LIBVIRT_TYPE=uml + +You will need a few bleeding edge packages to make it work, so you should make sure to use the PPA. + +* USE_PPA=1 + +If you have any issues, there is usually someone in #openstack on irc.freenode.net that can help you out. + + Indices and tables ================== From c5e616f5908c0c5966c0a3612b9cc565387f50a9 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 5 Nov 2010 15:11:04 -0400 Subject: [PATCH 072/197] Format TODO items for sphinx todo extension. --- doc/source/adminguide/quickstart.rst | 9 ++++----- doc/source/devguide/api.rst | 4 +--- doc/source/devguide/development.environment.rst | 4 +--- doc/source/devguide/fakes.rst | 4 +--- doc/source/devguide/network.rst | 6 +++--- doc/source/devguide/volume.rst | 4 +--- doc/source/index.rst | 5 +++++ doc/source/reaching.out.rst | 5 +---- 8 files changed, 17 insertions(+), 24 deletions(-) diff --git a/doc/source/adminguide/quickstart.rst b/doc/source/adminguide/quickstart.rst index 511ed24835c0..718ea7d1488e 100644 --- a/doc/source/adminguide/quickstart.rst +++ b/doc/source/adminguide/quickstart.rst @@ -18,12 +18,11 @@ Nova Quickstart =============== -:: +.. todo:: - TODO(todd): * Document the assumptions about pluggable interfaces - (sqlite3 instead of mysql, etc) - * Document env vars that can change things - (USE_MYSQL, HOST_IP) + * Document the assumptions about pluggable interfaces (sqlite3 instead of + mysql, etc) (todd) + * Document env vars that can change things (USE_MYSQL, HOST_IP) (todd) The `contrib/novascript.sh` file in the source distribution is a script that diff --git a/doc/source/devguide/api.rst b/doc/source/devguide/api.rst index 0908d9e57b1a..d1d50d745427 100644 --- a/doc/source/devguide/api.rst +++ b/doc/source/devguide/api.rst @@ -18,9 +18,7 @@ API Endpoint Programming Guide ============================== -:: - - TODO(todd): get actual docstrings from ec2/osapi_verions instead of @wsgify +.. todo:: get actual docstrings from ec2/osapi_verions instead of @wsgify Nova has a system for managing multiple APIs on different subdomains. Currently there is support for the OpenStack API, as well as the Amazon EC2 diff --git a/doc/source/devguide/development.environment.rst b/doc/source/devguide/development.environment.rst index ee19ba2bf0b9..34104c96420c 100644 --- a/doc/source/devguide/development.environment.rst +++ b/doc/source/devguide/development.environment.rst @@ -18,6 +18,4 @@ Setting up a development environment ==================================== -:: - - TODO(anthony) +.. todo:: write this diff --git a/doc/source/devguide/fakes.rst b/doc/source/devguide/fakes.rst index 5988e2ab88ad..61622754c97f 100644 --- a/doc/source/devguide/fakes.rst +++ b/doc/source/devguide/fakes.rst @@ -18,9 +18,7 @@ Fakes Programming Guide ======================= -:: - - TODO(todd): * document general info about fakes +.. todo:: document general info about fakes The :mod:`virt.fake` Module diff --git a/doc/source/devguide/network.rst b/doc/source/devguide/network.rst index 9426ece8267c..318286383200 100644 --- a/doc/source/devguide/network.rst +++ b/doc/source/devguide/network.rst @@ -18,10 +18,10 @@ Networking Programming Guide ============================ -:: +.. todo:: - TODO(todd): * document hardware specific commands (maybe in admin guide?) - * document a map between flags and managers/backends + * document hardware specific commands (maybe in admin guide?) (todd) + * document a map between flags and managers/backends (todd) The :mod:`Manager` module ------------------------- diff --git a/doc/source/devguide/volume.rst b/doc/source/devguide/volume.rst index 39b33a50075e..19b7508702f2 100644 --- a/doc/source/devguide/volume.rst +++ b/doc/source/devguide/volume.rst @@ -18,9 +18,7 @@ Volume Programming Guide ========================= -:: - - TODO(todd): rework after iSCSI merge (see 'Old Docs') +.. todo:: rework after iSCSI merge (see 'Old Docs') (todd or vish) The :mod:`nova.volume.manager` Module diff --git a/doc/source/index.rst b/doc/source/index.rst index 0dcc1945eaea..58c3cad58109 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -48,6 +48,11 @@ Contents reaching.out +Outstanding Documentation Tasks +=============================== + +.. todolist:: + Indices and tables ================== diff --git a/doc/source/reaching.out.rst b/doc/source/reaching.out.rst index 0d8f675e06cc..064d2d87afbc 100644 --- a/doc/source/reaching.out.rst +++ b/doc/source/reaching.out.rst @@ -22,7 +22,4 @@ The OpenStack community is a very friendly place. Feel free to ask questions. This document points you to some of the places you may want to communicate with people at. -:: - - TODO(todd): * Write This - * Don't end a sentence with a preposition +.. todo:: Write reaching.out.rst (todd) From dd505245c27d2abd2d710a44a120b21cacb9089c Mon Sep 17 00:00:00 2001 From: root Date: Fri, 5 Nov 2010 12:49:42 -0700 Subject: [PATCH 073/197] add in custom todo, and custom css --- doc/ext/__init__.py | 0 doc/ext/nova_todo.py | 86 +++++++++++++++++++++++++++++++++++ doc/source/_static/tweaks.css | 44 ++++++++++++++++++ doc/source/_theme/layout.html | 2 + doc/source/_theme/theme.conf | 5 ++ doc/source/conf.py | 8 ++-- 6 files changed, 142 insertions(+), 3 deletions(-) create mode 100644 doc/ext/__init__.py create mode 100644 doc/ext/nova_todo.py create mode 100644 doc/source/_static/tweaks.css create mode 100644 doc/source/_theme/layout.html create mode 100644 doc/source/_theme/theme.conf diff --git a/doc/ext/__init__.py b/doc/ext/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/doc/ext/nova_todo.py b/doc/ext/nova_todo.py new file mode 100644 index 000000000000..7a06b1bf9eac --- /dev/null +++ b/doc/ext/nova_todo.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +# This is a hack of the builtin todo extension, to make the todo_list more user friendly + +from sphinx.ext.todo import * +from docutils.parsers.rst import directives + +def _(s): + return s + +def process_todo_nodes(app, doctree, fromdocname): + if not app.config['todo_include_todos']: + for node in doctree.traverse(todo_node): + node.parent.remove(node) + + # Replace all todolist nodes with a list of the collected todos. + # Augment each todo with a backlink to the original location. + env = app.builder.env + + if not hasattr(env, 'todo_all_todos'): + env.todo_all_todos = [] + + my_todo_list = nodes.bullet_list("", nodes.Text('','')); + + # remove the item that was added in the constructor, since I'm tired of + # reading through docutils for the proper way to construct an empty list + my_todo_list.remove(my_todo_list[0]) + + my_todo_list.set_class('todo_list') + for node in doctree.traverse(todolist): + if not app.config['todo_include_todos']: + node.replace_self([]) + continue + + content = [] + + for todo_info in env.todo_all_todos: + para = nodes.paragraph() + filename = env.doc2path(todo_info['docname'], base=None) + + # Create a reference + newnode = nodes.reference('', '') + + link = _('%s, line %d') % (filename, todo_info['lineno']); + innernode = nodes.emphasis(link, link) + newnode['refdocname'] = todo_info['docname'] + + try: + newnode['refuri'] = app.builder.get_relative_uri( + fromdocname, todo_info['docname']) + newnode['refuri'] += '#' + todo_info['target']['refid'] + except NoUri: + # ignore if no URI can be determined, e.g. for LaTeX output + pass + + newnode.append(innernode) + para += newnode + para.set_class("link") + + todo_entry = todo_info['todo'] + + env.resolve_references(todo_entry, todo_info['docname'], app.builder) + + item = nodes.list_item("", para) + todo_entry[1].set_class("details") + item.append(todo_entry[1]) + + my_todo_list.insert(0, item) + + + node.replace_self(my_todo_list) + +def setup(app): + app.add_config_value('todo_include_todos', False, False) + + app.add_node(todolist) + app.add_node(todo_node, + html=(visit_todo_node, depart_todo_node), + latex=(visit_todo_node, depart_todo_node), + text=(visit_todo_node, depart_todo_node)) + + app.add_directive('todo', Todo) + app.add_directive('todolist', TodoList) + app.connect('doctree-read', process_todos) + app.connect('doctree-resolved', process_todo_nodes) + app.connect('env-purge-doc', purge_todos) + diff --git a/doc/source/_static/tweaks.css b/doc/source/_static/tweaks.css new file mode 100644 index 000000000000..d1cbed96d104 --- /dev/null +++ b/doc/source/_static/tweaks.css @@ -0,0 +1,44 @@ +ul.todo_list { + list-style-type: none; + margin: 0; + padding: 0; +} + +ul.todo_list li { + display: block; + margin: 0; + padding: 7px 0; + border-top: 1px solid #eee; +} + +ul.todo_list li p { + display: inline; +} + +ul.todo_list li p.link { + font-weight: bold; +} + +ul.todo_list li p.details { + font-style: italic; +} + +ul.todo_list li { +} + +div.admonition { + border: 1px solid #FF6666; +} + +div.admonition p.admonition-title { + background-color: #FF6666; + border-bottom: 1px solid #FF6666; +} + +em { + font-style: normal; +} + +table.docutils { + font-size: 11px; +} \ No newline at end of file diff --git a/doc/source/_theme/layout.html b/doc/source/_theme/layout.html new file mode 100644 index 000000000000..ed1cab0a6e39 --- /dev/null +++ b/doc/source/_theme/layout.html @@ -0,0 +1,2 @@ +{% extends "sphinxdoc/layout.html" %} +{% set css_files = css_files + ['_static/tweaks.css'] %} diff --git a/doc/source/_theme/theme.conf b/doc/source/_theme/theme.conf new file mode 100644 index 000000000000..e039fe01f99d --- /dev/null +++ b/doc/source/_theme/theme.conf @@ -0,0 +1,5 @@ +[theme] +inherit = sphinxdoc +stylesheet = sphinxdoc.css +pygments_style = friendly + diff --git a/doc/source/conf.py b/doc/source/conf.py index 3f6ca2313813..177c6568edb0 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -17,13 +17,14 @@ import sys, os # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath('../../')) - +sys.path.insert(0, '../') +sys.path.insert(0, './') # -- General configuration ----------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.pngmath', 'sphinx.ext.ifconfig'] +extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'ext.nova_todo', 'sphinx.ext.coverage', 'sphinx.ext.pngmath', 'sphinx.ext.ifconfig'] todo_include_todos = True # Add any paths that contain templates here, relative to this directory. @@ -99,7 +100,8 @@ modindex_common_prefix = ['nova.'] # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'sphinxdoc' +html_theme_path = ["."] +html_theme = '_theme' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the From 3ef09f689b7f151aa9225b69d85c96fd39fd2c9c Mon Sep 17 00:00:00 2001 From: root Date: Fri, 5 Nov 2010 13:25:40 -0700 Subject: [PATCH 074/197] use include to grab todd's quickstart --- doc/source/index.rst | 98 +------------------------------------------- 1 file changed, 1 insertion(+), 97 deletions(-) diff --git a/doc/source/index.rst b/doc/source/index.rst index 5dec404ef760..bfc2984fe9b3 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -59,103 +59,7 @@ Although Nova can be run on a variety of system architectures, for most users th For development, Nova can run from within a VM. -Quickstart -========== - -To make getting started with Nova easier, we provide a setup script that makes it easy to download and run the most recent version of Nova on your local machine. - -* sudo -i # become root -* cd # go to home directory -* git clone git://github.com/vishvananda/novascript.git -* cd novascript - -Inside this directory, you will find nova.sh, which is a utility designed to assist with getting your development environment up and running. - -Use nova.sh to install and run the current trunk. You can also specify a specific branch by putting lp:~someone/nova/some-branch after the branch command - -* ./nova.sh branch -* ./nova.sh install -* ./nova.sh run - -The run command will drop you into a screen session with all of the workers running in different windows You can use eucatools to run commands against the cloud. - -* euca-add-keypair test > test.pem -* euca-run-instances -k test -t m1.tiny ami-tiny -* euca-describe-instances - -To see output from the various workers, switch screen windows - -* " - -will give you a list of running windows. - -When the instance is running, you should be able to ssh to it. - -* chmod 600 test.pem -* ssh -i test.pem root@10.0.0.3 - -When you exit screen - -* - -nova will terminate. It may take a while for nova to finish cleaning up. If you exit the process before it is done because there were some problems in your build, you may have to clean up the nova processes manually. If you had any instances running, you can attempt to kill them through the api: - -* ./nova.sh terminate - -Then you can destroy the screen: - -* ./nova.sh clean - -If things get particularly messed up, you might need to do some more intense cleanup. Be careful, the following command will manually destroy all runnning virsh instances and attempt to delete all vlans and bridges. - -* ./nova.sh scrub - -You can edit files in the install directory or do a bzr pull to pick up new versions. You only need to do - -* ./nova.sh run - -to run nova after the first install. The database should be cleaned up on each run. - -Notes ------ - -The script starts nova-volume in fake mode, so it will not create any actual volumes. - -if you want to USE_VENV because you have different versions of python packages on your system that you want to keep, you should run install before branch: - -* ./nova.sh install -* ./nova.sh branch -* ./nova.sh run - -A sample image should be downloaded by the script, but if necessary you can download it by hand: - -* wget http://c2477062.cdn.cloudfiles.rackspacecloud.com/images.tgz - -untar the file to create a usable images directory - -* tar -zxf /path/to/images.tgz - -If you want to be able to contact the metadata server and route to the outside world from instances, you will need to make sure $HOST_IP is set properly. The script attemps to grab it from ifconfig, but if you have multiple adapters set up, it may fail. Fix it with export HOST_IP="": - -Customization -------------- - -You can make nova use mysql instead of sqlite with USE_MYSQL, it will attempt to install mysql with the specified root password and create a database called nova. - -If you are running nova on bare metal that supports hardware virtualization, you should probably edit the libvirt line near the top - -* LIBVIRT_TYPE=kvm - -If you are running in a virtual machine and software emulation is too slow for you, you can use user mode linux. - -* LIBVIRT_TYPE=uml - -You will need a few bleeding edge packages to make it work, so you should make sure to use the PPA. - -* USE_PPA=1 - -If you have any issues, there is usually someone in #openstack on irc.freenode.net that can help you out. - +.. include:: adminguide/quickstart.rst Indices and tables From 64ce9316b694ae286ce8caaeb9c486dc9af12c50 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 5 Nov 2010 13:44:22 -0700 Subject: [PATCH 075/197] small tweaks before context switch --- doc/source/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/index.rst b/doc/source/index.rst index bfc2984fe9b3..4da06740cfe2 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -18,7 +18,7 @@ Welcome to Nova's documentation! ================================ -Nova is a cloud computing fabric controller, the main part of an IaaS system. +Nova is a cloud computing fabric controller, the main part of an IaaS system. Individuals and organizations can use it to host and manage their own cloud computing systems. Nova originated as a project out of NASA Ames Research Laboratory. Nova is written with the following design guidelines in mind: @@ -32,7 +32,7 @@ Nova is written with the following design guidelines in mind: This documentation is generated by the Sphinx toolkit and lives in the source tree. Additional documentation on Nova and other components of OpenStack can be found on the `OpenStack wiki`_. Also see the :doc:`reaching.out` page for -other ways to interact witht the community. +other ways to interact with the community. .. _`OpenStack wiki`: http://wiki.openstack.org From 07f5d3abe26b57ef8d82ddaab80141e0130d95ac Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 5 Nov 2010 17:33:08 -0400 Subject: [PATCH 076/197] Community contact info. --- doc/source/reaching.out.rst | 41 ++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/doc/source/reaching.out.rst b/doc/source/reaching.out.rst index 064d2d87afbc..ee7035aa3888 100644 --- a/doc/source/reaching.out.rst +++ b/doc/source/reaching.out.rst @@ -22,4 +22,43 @@ The OpenStack community is a very friendly place. Feel free to ask questions. This document points you to some of the places you may want to communicate with people at. -.. todo:: Write reaching.out.rst (todd) + +#openstack on Freenode IRC Network +---------------------------------- + +There is a very active chat channel at ``_. This +is usually the best place to ask questions and find your way around. + +OpenStack Wiki +-------------- + +The wiki is a living source of knowledge. It is edited by the community, and +has collections of links and other sources of information. + +`OpenStack Wiki `_ + +Nova on Launchpad +----------------- + +Launchapd is a code hosting service that hosts the Nova source code. From +launchpad you can report bugs, ask questions, and register blueprints (feature +requests). + +`Launchpad Nova Page `_ + +OpenStack Blog +-------------- + +The OpenStack blog includes a weekly newsletter that aggregates OpenStack news +from around the internet, as well as providing inside information on upcoming +events and posts from OpenStack contributors. + +`OpenStack Blog `_ + +See also: `Planet OpenStack `_, aggregating blogs +about OpenStack from around the internet into a single feed. + +Twitter +------- + +Because all the cool kids do it: `@openstack `_. From 9675be4ffd54db83b7417c968943238958ace9db Mon Sep 17 00:00:00 2001 From: root Date: Fri, 5 Nov 2010 15:29:54 -0700 Subject: [PATCH 077/197] add twitter feed to the home page --- doc/source/_static/jquery.tweet.js | 154 +++++++++++++++++++++++++++++ doc/source/_static/tweaks.css | 10 +- doc/source/_theme/layout.html | 83 ++++++++++++++++ 3 files changed, 246 insertions(+), 1 deletion(-) create mode 100644 doc/source/_static/jquery.tweet.js diff --git a/doc/source/_static/jquery.tweet.js b/doc/source/_static/jquery.tweet.js new file mode 100644 index 000000000000..c93fea8768a8 --- /dev/null +++ b/doc/source/_static/jquery.tweet.js @@ -0,0 +1,154 @@ +(function($) { + + $.fn.tweet = function(o){ + var s = { + username: ["seaofclouds"], // [string] required, unless you want to display our tweets. :) it can be an array, just do ["username1","username2","etc"] + list: null, //[string] optional name of list belonging to username + avatar_size: null, // [integer] height and width of avatar if displayed (48px max) + count: 3, // [integer] how many tweets to display? + intro_text: null, // [string] do you want text BEFORE your your tweets? + outro_text: null, // [string] do you want text AFTER your tweets? + join_text: null, // [string] optional text in between date and tweet, try setting to "auto" + auto_join_text_default: "i said,", // [string] auto text for non verb: "i said" bullocks + auto_join_text_ed: "i", // [string] auto text for past tense: "i" surfed + auto_join_text_ing: "i am", // [string] auto tense for present tense: "i was" surfing + auto_join_text_reply: "i replied to", // [string] auto tense for replies: "i replied to" @someone "with" + auto_join_text_url: "i was looking at", // [string] auto tense for urls: "i was looking at" http:... + loading_text: null, // [string] optional loading text, displayed while tweets load + query: null // [string] optional search query + }; + + if(o) $.extend(s, o); + + $.fn.extend({ + linkUrl: function() { + var returning = []; + var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi; + this.each(function() { + returning.push(this.replace(regexp,"$1")); + }); + return $(returning); + }, + linkUser: function() { + var returning = []; + var regexp = /[\@]+([A-Za-z0-9-_]+)/gi; + this.each(function() { + returning.push(this.replace(regexp,"@$1")); + }); + return $(returning); + }, + linkHash: function() { + var returning = []; + var regexp = / [\#]+([A-Za-z0-9-_]+)/gi; + this.each(function() { + returning.push(this.replace(regexp, ' #$1')); + }); + return $(returning); + }, + capAwesome: function() { + var returning = []; + this.each(function() { + returning.push(this.replace(/\b(awesome)\b/gi, '$1')); + }); + return $(returning); + }, + capEpic: function() { + var returning = []; + this.each(function() { + returning.push(this.replace(/\b(epic)\b/gi, '$1')); + }); + return $(returning); + }, + makeHeart: function() { + var returning = []; + this.each(function() { + returning.push(this.replace(/(<)+[3]/gi, "")); + }); + return $(returning); + } + }); + + function relative_time(time_value) { + var parsed_date = Date.parse(time_value); + var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); + var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); + var pluralize = function (singular, n) { + return '' + n + ' ' + singular + (n == 1 ? '' : 's'); + }; + if(delta < 60) { + return 'less than a minute ago'; + } else if(delta < (45*60)) { + return 'about ' + pluralize("minute", parseInt(delta / 60)) + ' ago'; + } else if(delta < (24*60*60)) { + return 'about ' + pluralize("hour", parseInt(delta / 3600)) + ' ago'; + } else { + return 'about ' + pluralize("day", parseInt(delta / 86400)) + ' ago'; + } + } + + function build_url() { + var proto = ('https:' == document.location.protocol ? 'https:' : 'http:'); + if (s.list) { + return proto+"//api.twitter.com/1/"+s.username[0]+"/lists/"+s.list+"/statuses.json?per_page="+s.count+"&callback=?"; + } else if (s.query == null && s.username.length == 1) { + return proto+'//twitter.com/status/user_timeline/'+s.username[0]+'.json?count='+s.count+'&callback=?'; + } else { + var query = (s.query || 'from:'+s.username.join('%20OR%20from:')); + return proto+'//search.twitter.com/search.json?&q='+query+'&rpp='+s.count+'&callback=?'; + } + } + + return this.each(function(){ + var list = $('

@@ -132,6 +135,9 @@ gflags package:

  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • diff --git a/doc/build/html/adminguide/distros/others.html b/doc/build/html/adminguide/distros/others.html index ff0beb440f00..4b9d5987b1bc 100644 --- a/doc/build/html/adminguide/distros/others.html +++ b/doc/build/html/adminguide/distros/others.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -184,6 +187,9 @@ cd ..
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/distros/ubuntu.10.04.html b/doc/build/html/adminguide/distros/ubuntu.10.04.html index 7d7e93054aaa..32517eecc271 100644 --- a/doc/build/html/adminguide/distros/ubuntu.10.04.html +++ b/doc/build/html/adminguide/distros/ubuntu.10.04.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -144,6 +147,9 @@ sudo apt-get update && sudo apt-get install python-gflags
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/distros/ubuntu.10.10.html b/doc/build/html/adminguide/distros/ubuntu.10.10.html index e828bfb25521..52e419a7d082 100644 --- a/doc/build/html/adminguide/distros/ubuntu.10.10.html +++ b/doc/build/html/adminguide/distros/ubuntu.10.10.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -149,6 +152,9 @@ Processing triggers for python-support ...
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/euca2ools.html b/doc/build/html/adminguide/euca2ools.html index d4ea9ebc32cc..472f51394425 100644 --- a/doc/build/html/adminguide/euca2ools.html +++ b/doc/build/html/adminguide/euca2ools.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -153,6 +156,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/flags.html b/doc/build/html/adminguide/flags.html index 822167d730d1..a964f09485d1 100644 --- a/doc/build/html/adminguide/flags.html +++ b/doc/build/html/adminguide/flags.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -113,6 +116,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/getting.started.html b/doc/build/html/adminguide/getting.started.html index 8b53b88ba9d7..404d9bf01433 100644 --- a/doc/build/html/adminguide/getting.started.html +++ b/doc/build/html/adminguide/getting.started.html @@ -45,6 +45,9 @@
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • @@ -271,6 +274,9 @@ of the guide only gets you started quickly, to learn about HA options, see
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • diff --git a/doc/build/html/adminguide/index.html b/doc/build/html/adminguide/index.html index 0e51c33474ec..96b0e9f774e8 100644 --- a/doc/build/html/adminguide/index.html +++ b/doc/build/html/adminguide/index.html @@ -47,6 +47,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -191,6 +194,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/managing.images.html b/doc/build/html/adminguide/managing.images.html index fdd9e029de74..09656840ab51 100644 --- a/doc/build/html/adminguide/managing.images.html +++ b/doc/build/html/adminguide/managing.images.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -112,6 +115,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/managing.instances.html b/doc/build/html/adminguide/managing.instances.html index 40dbe544bc8e..78c6ca811a41 100644 --- a/doc/build/html/adminguide/managing.instances.html +++ b/doc/build/html/adminguide/managing.instances.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -145,6 +148,9 @@ ssh -i test.pem root@ip.of.instance
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/managing.networks.html b/doc/build/html/adminguide/managing.networks.html index 5473facbc0a7..d8c8523409a2 100644 --- a/doc/build/html/adminguide/managing.networks.html +++ b/doc/build/html/adminguide/managing.networks.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -217,6 +220,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/managing.projects.html b/doc/build/html/adminguide/managing.projects.html index f0ab79c16907..cbbfc89b818a 100644 --- a/doc/build/html/adminguide/managing.projects.html +++ b/doc/build/html/adminguide/managing.projects.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -215,6 +218,9 @@ nova-manage project remove john_project john
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/managing.users.html b/doc/build/html/adminguide/managing.users.html index cac641aaa447..3baf37c6b6e9 100644 --- a/doc/build/html/adminguide/managing.users.html +++ b/doc/build/html/adminguide/managing.users.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -247,6 +250,9 @@ the global role and the project role
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/managingsecurity.html b/doc/build/html/adminguide/managingsecurity.html index b6cf52b80901..71956896b65c 100644 --- a/doc/build/html/adminguide/managingsecurity.html +++ b/doc/build/html/adminguide/managingsecurity.html @@ -45,6 +45,9 @@
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • @@ -116,6 +119,9 @@ configuration.

  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • diff --git a/doc/build/html/adminguide/monitoring.html b/doc/build/html/adminguide/monitoring.html index 67acb4a9e0ef..4d347249df0f 100644 --- a/doc/build/html/adminguide/monitoring.html +++ b/doc/build/html/adminguide/monitoring.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -116,6 +119,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/multi.node.install.html b/doc/build/html/adminguide/multi.node.install.html index 1af213d17d2b..bf1d2bf70e43 100644 --- a/doc/build/html/adminguide/multi.node.install.html +++ b/doc/build/html/adminguide/multi.node.install.html @@ -47,6 +47,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -367,6 +370,9 @@ your cluster have which roles:

  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/network.flat.html b/doc/build/html/adminguide/network.flat.html index 5fcbe5180468..790fadf54f56 100644 --- a/doc/build/html/adminguide/network.flat.html +++ b/doc/build/html/adminguide/network.flat.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -155,6 +158,9 @@ instance to protect against IP/MAC address spoofing and ARP poisoning.

  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/network.vlan.html b/doc/build/html/adminguide/network.vlan.html index a11c8d8a7b09..0d87a52732b3 100644 --- a/doc/build/html/adminguide/network.vlan.html +++ b/doc/build/html/adminguide/network.vlan.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -271,6 +274,9 @@ instance is started on that host
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/adminguide/nova.manage.html b/doc/build/html/adminguide/nova.manage.html index 25db4239a9b9..2b9a4ae96c04 100644 --- a/doc/build/html/adminguide/nova.manage.html +++ b/doc/build/html/adminguide/nova.manage.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -64,7 +67,11 @@
    • The nova-manage command
      • Introduction
      • -
      • Nova Shell
          +
        • Nova Project
        • +
        • Nova Role
        • +
        • Nova Shell
        • +
        • Nova VPN
        • +
        • Nova Floating IPs
          • Concept: Flags
          • Concept: Plugins
          • Concept: IPC/RPC
          • @@ -118,60 +125,117 @@

            The nova-manage command is used to perform many essential functions for administration and ongoing maintenance of nova, such as user creation, vpn management, and much more.

            -

            The standard pattern for executing a nova-manage command is:

            -

            nova-manage <category> <command> [<args>]

            -

            For example, to obtain a list of all projects:

            +

            The standard pattern for executing a nova-manage command is: +nova-manage <category> <command> [<args>]

            +

            For example, to obtain a list of all projects: +nova-manage project list

            +

            Run without arguments to see a list of available command categories: +nova-manage

            +

            Categories are user, project, role, shell, vpn, and floating. Detailed descriptions are below.

            +

            You can also run with a category argument such as user to see a list of all commands in that category: +nova-manage user

            +

            These sections describe the available categories and arguments for nova-manage.

            +

            nova-manage user admin <username>

            +
            +Create an admin user with the name <username>.
            +

            nova-manage user create <username>

            +
            +Create a normal user with the name <username>.
            +

            nova-manage user delete <username>

            +
            +Delete the user with the name <username>.
            +

            nova-manage user exports <username>

            +
            +Outputs a list of access key and secret keys for user to the screen
            +

            nova-manage user list

            +
            +Outputs a list of all the user names to the screen.
            +

            nova-manage user modify <accesskey> <secretkey> <admin?T/F>

            +
            +Updates the indicated user keys, indicating with T or F if the user is an admin user. Leave any argument blank if you do not want to update it.
            + +
            +

            Nova Project

            +

            nova-manage project add <projectname>

            +
            +Add a nova project with the name <projectname> to the database.
            +

            nova-manage project create <projectname>

            +
            +Create a new nova project with the name <projectname> (you still need to do nova-manage project add <projectname> to add it to the database).
            +

            nova-manage project delete <projectname>

            +
            +Delete a nova project with the name <projectname>.
            +

            nova-manage project environment <projectname> <username>

            +
            +Exports environment variables for the named project to a file named novarc.

            nova-manage project list

            -

            You can run without arguments to see a list of available command categories:

            -

            nova-manage

            -

            You can run with a category argument to see a list of all commands in that -category:

            -

            nova-manage user

            +
            +Outputs a list of all the projects to the screen.
            +

            nova-manage project quota <projectname>

            +
            +Outputs the size and specs of the project’s instances including gigabytes, instances, floating IPs, volumes, and cores.
            +

            nova-manage project remove <projectname>

            +
            +Deletes the project with the name <projectname>.
            +

            nova-manage project zipfile

            +
            +Compresses all related files for a created project into a zip file nova.zip.
            +
            +
            +

            Nova Role

            +

            nova-manage role <action> [<argument>] +nova-manage role add <username> <rolename> <(optional) projectname>

            +
            +Add a user to either a global or project-based role with the indicated <rolename> assigned to the named user. Role names can be one of the following five roles: admin, itsec, projectmanager, netadmin, developer. If you add the project name as the last argument then the role is assigned just for that project, otherwise the user is assigned the named role for all projects.
            +
            +
            nova-manage role has <username> <projectname>
            +
            Checks the user or project and responds with True if the user has a global role with a particular project.
            +
            nova-manage role remove <username> <rolename>
            +
            Remove the indicated role from the user.
            +

            Nova Shell

            -
              -
            • -
              shell bpython
              -
                -
              • start a new bpython shell
              • -
              -
              +

              nova-manage shell bpython

              +
              +Starts a new bpython shell.
              +

              nova-manage shell ipython

              +
              +Starts a new ipython shell.
              +

              nova-manage shell python

              +
              +Starts a new python shell.
              +

              nova-manage shell run

              +
              +Starts a new shell using python.
              +

              nova-manage shell script <path/scriptname>

              +
              +Runs the named script from the specified path with flags set.
              +
            +
            +

            Nova VPN

            +

            nova-manage vpn list

            +
            +Displays a list of projects, their IP prot numbers, and what state they’re in.
            +

            nova-manage vpn run <projectname>

            +
            +Starts the VPN for the named project.
            +

            nova-manage vpn spawn

            +
            +Runs all VPNs.
            +
            +
            +

            Nova Floating IPs

            +

            nova-manage floating create <host> <ip_range>

            +
            +
            +
            Creates floating IP addresses for the named host by the given range.
            +
            floating delete <ip_range> Deletes floating IP addresses in the range given.
            - -
          • -
            shell ipython
            -
              -
            • start a new ipython shell
            • -
            -
            -
            -
          • -
          • -
            shell python
            -
              -
            • start a new python shell
            • -
            -
            -
            -
          • -
          • -
            shell run
            -
              -
            • ???
            • -
            -
            -
            -
          • -
          • -
            shell script: Runs the script from the specifed path with flags set properly.
            -
              -
            • arguments: path
            • -
            -
            -
            -
          • -
          + +

          nova-manage floating list

          +
          +Displays a list of all floating IP addresses.

          Concept: Flags

          python-gflags

          @@ -236,6 +300,9 @@ category:

        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/adminguide/single.node.install.html b/doc/build/html/adminguide/single.node.install.html index a47d6654128c..1cd3bb6b8897 100644 --- a/doc/build/html/adminguide/single.node.install.html +++ b/doc/build/html/adminguide/single.node.install.html @@ -47,6 +47,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -393,6 +396,9 @@ sudo reboot
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/autoindex.html b/doc/build/html/api/autoindex.html index 6b6c7e03d4f7..e078001b3aca 100644 --- a/doc/build/html/api/autoindex.html +++ b/doc/build/html/api/autoindex.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -205,6 +208,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..adminclient.html b/doc/build/html/api/nova..adminclient.html index 7031d9dcfb4f..ff6352d3cc43 100644 --- a/doc/build/html/api/nova..adminclient.html +++ b/doc/build/html/api/nova..adminclient.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.cloud.html b/doc/build/html/api/nova..api.cloud.html index a6cd0e1cfd07..ec41ee55d7bc 100644 --- a/doc/build/html/api/nova..api.cloud.html +++ b/doc/build/html/api/nova..api.cloud.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.ec2.admin.html b/doc/build/html/api/nova..api.ec2.admin.html index 1b727dde97ee..505f1e0c3b7f 100644 --- a/doc/build/html/api/nova..api.ec2.admin.html +++ b/doc/build/html/api/nova..api.ec2.admin.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.ec2.apirequest.html b/doc/build/html/api/nova..api.ec2.apirequest.html index cd52bcb88f47..6df0faae2811 100644 --- a/doc/build/html/api/nova..api.ec2.apirequest.html +++ b/doc/build/html/api/nova..api.ec2.apirequest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.ec2.cloud.html b/doc/build/html/api/nova..api.ec2.cloud.html index e61f71563324..55f24e1fbbaf 100644 --- a/doc/build/html/api/nova..api.ec2.cloud.html +++ b/doc/build/html/api/nova..api.ec2.cloud.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.ec2.images.html b/doc/build/html/api/nova..api.ec2.images.html index 0a0e90b132bb..f2c3b8e4769e 100644 --- a/doc/build/html/api/nova..api.ec2.images.html +++ b/doc/build/html/api/nova..api.ec2.images.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.ec2.metadatarequesthandler.html b/doc/build/html/api/nova..api.ec2.metadatarequesthandler.html index 640f4e805454..37614715bd87 100644 --- a/doc/build/html/api/nova..api.ec2.metadatarequesthandler.html +++ b/doc/build/html/api/nova..api.ec2.metadatarequesthandler.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.openstack.auth.html b/doc/build/html/api/nova..api.openstack.auth.html index 7417ac0b139b..f84c10d5a277 100644 --- a/doc/build/html/api/nova..api.openstack.auth.html +++ b/doc/build/html/api/nova..api.openstack.auth.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.openstack.backup_schedules.html b/doc/build/html/api/nova..api.openstack.backup_schedules.html index 1caa3d4074a9..2d55564f7ac1 100644 --- a/doc/build/html/api/nova..api.openstack.backup_schedules.html +++ b/doc/build/html/api/nova..api.openstack.backup_schedules.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.openstack.faults.html b/doc/build/html/api/nova..api.openstack.faults.html index bc426fc73142..7c063885b75f 100644 --- a/doc/build/html/api/nova..api.openstack.faults.html +++ b/doc/build/html/api/nova..api.openstack.faults.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.openstack.flavors.html b/doc/build/html/api/nova..api.openstack.flavors.html index 27651ff3cab6..6d0e1a6538c8 100644 --- a/doc/build/html/api/nova..api.openstack.flavors.html +++ b/doc/build/html/api/nova..api.openstack.flavors.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.openstack.images.html b/doc/build/html/api/nova..api.openstack.images.html index a096ddb2689d..1ef4ae126bc7 100644 --- a/doc/build/html/api/nova..api.openstack.images.html +++ b/doc/build/html/api/nova..api.openstack.images.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.openstack.servers.html b/doc/build/html/api/nova..api.openstack.servers.html index 1b6941c41eb7..8727b855d017 100644 --- a/doc/build/html/api/nova..api.openstack.servers.html +++ b/doc/build/html/api/nova..api.openstack.servers.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..api.openstack.sharedipgroups.html b/doc/build/html/api/nova..api.openstack.sharedipgroups.html index 6e58a4076431..6c4b5a6f9cc7 100644 --- a/doc/build/html/api/nova..api.openstack.sharedipgroups.html +++ b/doc/build/html/api/nova..api.openstack.sharedipgroups.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..auth.dbdriver.html b/doc/build/html/api/nova..auth.dbdriver.html index 343a38837c1d..5207cf7a42e4 100644 --- a/doc/build/html/api/nova..auth.dbdriver.html +++ b/doc/build/html/api/nova..auth.dbdriver.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..auth.fakeldap.html b/doc/build/html/api/nova..auth.fakeldap.html index 045af4609872..45a9f6dbae87 100644 --- a/doc/build/html/api/nova..auth.fakeldap.html +++ b/doc/build/html/api/nova..auth.fakeldap.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..auth.ldapdriver.html b/doc/build/html/api/nova..auth.ldapdriver.html index f9fd15a4d02a..554f9a549e2c 100644 --- a/doc/build/html/api/nova..auth.ldapdriver.html +++ b/doc/build/html/api/nova..auth.ldapdriver.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..auth.manager.html b/doc/build/html/api/nova..auth.manager.html index 7afc881798ca..280a654f7e2a 100644 --- a/doc/build/html/api/nova..auth.manager.html +++ b/doc/build/html/api/nova..auth.manager.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..auth.signer.html b/doc/build/html/api/nova..auth.signer.html index 0303c3e648dd..639e286fc825 100644 --- a/doc/build/html/api/nova..auth.signer.html +++ b/doc/build/html/api/nova..auth.signer.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..cloudpipe.pipelib.html b/doc/build/html/api/nova..cloudpipe.pipelib.html index dd9345b40230..c581f5ae6df3 100644 --- a/doc/build/html/api/nova..cloudpipe.pipelib.html +++ b/doc/build/html/api/nova..cloudpipe.pipelib.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..compute.disk.html b/doc/build/html/api/nova..compute.disk.html index c02928d75bf0..ee418bb8e6cb 100644 --- a/doc/build/html/api/nova..compute.disk.html +++ b/doc/build/html/api/nova..compute.disk.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..compute.instance_types.html b/doc/build/html/api/nova..compute.instance_types.html index 7fa6f8bcb05f..4bdd84b9addc 100644 --- a/doc/build/html/api/nova..compute.instance_types.html +++ b/doc/build/html/api/nova..compute.instance_types.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..compute.manager.html b/doc/build/html/api/nova..compute.manager.html index 88a56adee539..6853a34cfd49 100644 --- a/doc/build/html/api/nova..compute.manager.html +++ b/doc/build/html/api/nova..compute.manager.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..compute.monitor.html b/doc/build/html/api/nova..compute.monitor.html index 589b415adce5..af9cf9637c67 100644 --- a/doc/build/html/api/nova..compute.monitor.html +++ b/doc/build/html/api/nova..compute.monitor.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..compute.power_state.html b/doc/build/html/api/nova..compute.power_state.html index 30a24e7f04bc..ed4035d5fdcc 100644 --- a/doc/build/html/api/nova..compute.power_state.html +++ b/doc/build/html/api/nova..compute.power_state.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..context.html b/doc/build/html/api/nova..context.html index 315928b41a5e..3381bd687c29 100644 --- a/doc/build/html/api/nova..context.html +++ b/doc/build/html/api/nova..context.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..crypto.html b/doc/build/html/api/nova..crypto.html index 9d610d3cb301..f075ff5eda56 100644 --- a/doc/build/html/api/nova..crypto.html +++ b/doc/build/html/api/nova..crypto.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..db.api.html b/doc/build/html/api/nova..db.api.html index 5389462c8ce8..0186cf8b5864 100644 --- a/doc/build/html/api/nova..db.api.html +++ b/doc/build/html/api/nova..db.api.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..db.sqlalchemy.api.html b/doc/build/html/api/nova..db.sqlalchemy.api.html index 6030f24e43f0..4fd3332cff47 100644 --- a/doc/build/html/api/nova..db.sqlalchemy.api.html +++ b/doc/build/html/api/nova..db.sqlalchemy.api.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..db.sqlalchemy.models.html b/doc/build/html/api/nova..db.sqlalchemy.models.html index db4d18884100..5ca3d842e268 100644 --- a/doc/build/html/api/nova..db.sqlalchemy.models.html +++ b/doc/build/html/api/nova..db.sqlalchemy.models.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..db.sqlalchemy.session.html b/doc/build/html/api/nova..db.sqlalchemy.session.html index 622b97136def..b6e2a24b3321 100644 --- a/doc/build/html/api/nova..db.sqlalchemy.session.html +++ b/doc/build/html/api/nova..db.sqlalchemy.session.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..exception.html b/doc/build/html/api/nova..exception.html index 312727354fcd..bbab225bec07 100644 --- a/doc/build/html/api/nova..exception.html +++ b/doc/build/html/api/nova..exception.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..fakerabbit.html b/doc/build/html/api/nova..fakerabbit.html index ae6cf9b921c9..ed2ed41580a5 100644 --- a/doc/build/html/api/nova..fakerabbit.html +++ b/doc/build/html/api/nova..fakerabbit.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..flags.html b/doc/build/html/api/nova..flags.html index a0c61346e8ca..b3b7bff17cf1 100644 --- a/doc/build/html/api/nova..flags.html +++ b/doc/build/html/api/nova..flags.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..image.service.html b/doc/build/html/api/nova..image.service.html index 682e6be33f7f..ea1c163eca84 100644 --- a/doc/build/html/api/nova..image.service.html +++ b/doc/build/html/api/nova..image.service.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..manager.html b/doc/build/html/api/nova..manager.html index cb6a0409a994..aa05152451fd 100644 --- a/doc/build/html/api/nova..manager.html +++ b/doc/build/html/api/nova..manager.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..network.linux_net.html b/doc/build/html/api/nova..network.linux_net.html index f3f1d5e5cc54..e1a0c3db9c39 100644 --- a/doc/build/html/api/nova..network.linux_net.html +++ b/doc/build/html/api/nova..network.linux_net.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..network.manager.html b/doc/build/html/api/nova..network.manager.html index a9e7f74d7304..943e690733af 100644 --- a/doc/build/html/api/nova..network.manager.html +++ b/doc/build/html/api/nova..network.manager.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..objectstore.bucket.html b/doc/build/html/api/nova..objectstore.bucket.html index e380ad535cdc..7d70ce96b59e 100644 --- a/doc/build/html/api/nova..objectstore.bucket.html +++ b/doc/build/html/api/nova..objectstore.bucket.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..objectstore.handler.html b/doc/build/html/api/nova..objectstore.handler.html index 26ef1abbd7d3..7361f82108f3 100644 --- a/doc/build/html/api/nova..objectstore.handler.html +++ b/doc/build/html/api/nova..objectstore.handler.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..objectstore.image.html b/doc/build/html/api/nova..objectstore.image.html index 872d19dd7a44..ac03daf189ca 100644 --- a/doc/build/html/api/nova..objectstore.image.html +++ b/doc/build/html/api/nova..objectstore.image.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..objectstore.stored.html b/doc/build/html/api/nova..objectstore.stored.html index a73d96c62ada..0113156f711a 100644 --- a/doc/build/html/api/nova..objectstore.stored.html +++ b/doc/build/html/api/nova..objectstore.stored.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..process.html b/doc/build/html/api/nova..process.html index f126f8e74378..139d2451f687 100644 --- a/doc/build/html/api/nova..process.html +++ b/doc/build/html/api/nova..process.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..quota.html b/doc/build/html/api/nova..quota.html index cc52faab8dba..29a43a565024 100644 --- a/doc/build/html/api/nova..quota.html +++ b/doc/build/html/api/nova..quota.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..rpc.html b/doc/build/html/api/nova..rpc.html index e8cc9658c04a..6d1a533e44d3 100644 --- a/doc/build/html/api/nova..rpc.html +++ b/doc/build/html/api/nova..rpc.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..scheduler.chance.html b/doc/build/html/api/nova..scheduler.chance.html index 7591e58269ee..53c586fdd0f2 100644 --- a/doc/build/html/api/nova..scheduler.chance.html +++ b/doc/build/html/api/nova..scheduler.chance.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..scheduler.driver.html b/doc/build/html/api/nova..scheduler.driver.html index 2a8e80a37c1b..0bf7a128e8ff 100644 --- a/doc/build/html/api/nova..scheduler.driver.html +++ b/doc/build/html/api/nova..scheduler.driver.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..scheduler.manager.html b/doc/build/html/api/nova..scheduler.manager.html index 32c4370857e2..f23a8f7fc5d5 100644 --- a/doc/build/html/api/nova..scheduler.manager.html +++ b/doc/build/html/api/nova..scheduler.manager.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..scheduler.simple.html b/doc/build/html/api/nova..scheduler.simple.html index 6a743b708be8..47e1592c44b0 100644 --- a/doc/build/html/api/nova..scheduler.simple.html +++ b/doc/build/html/api/nova..scheduler.simple.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..server.html b/doc/build/html/api/nova..server.html index 0e657d8e6502..0a11ffeedfde 100644 --- a/doc/build/html/api/nova..server.html +++ b/doc/build/html/api/nova..server.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..service.html b/doc/build/html/api/nova..service.html index 9136c5d2c560..9618be9ac327 100644 --- a/doc/build/html/api/nova..service.html +++ b/doc/build/html/api/nova..service.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..test.html b/doc/build/html/api/nova..test.html index dadb754c6dbb..d56167fc8af9 100644 --- a/doc/build/html/api/nova..test.html +++ b/doc/build/html/api/nova..test.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.access_unittest.html b/doc/build/html/api/nova..tests.access_unittest.html index c5396ceb8d78..06dbd8324f76 100644 --- a/doc/build/html/api/nova..tests.access_unittest.html +++ b/doc/build/html/api/nova..tests.access_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.fakes.html b/doc/build/html/api/nova..tests.api.fakes.html index 01f513e2cb02..ef1de2aa7f3b 100644 --- a/doc/build/html/api/nova..tests.api.fakes.html +++ b/doc/build/html/api/nova..tests.api.fakes.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.fakes.html b/doc/build/html/api/nova..tests.api.openstack.fakes.html index fde7e916ffd5..461bc2d771e1 100644 --- a/doc/build/html/api/nova..tests.api.openstack.fakes.html +++ b/doc/build/html/api/nova..tests.api.openstack.fakes.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.test_api.html b/doc/build/html/api/nova..tests.api.openstack.test_api.html index 97d1c1ca5012..24358a6137bc 100644 --- a/doc/build/html/api/nova..tests.api.openstack.test_api.html +++ b/doc/build/html/api/nova..tests.api.openstack.test_api.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.test_auth.html b/doc/build/html/api/nova..tests.api.openstack.test_auth.html index 740741b5be84..47e60bbb3046 100644 --- a/doc/build/html/api/nova..tests.api.openstack.test_auth.html +++ b/doc/build/html/api/nova..tests.api.openstack.test_auth.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.test_faults.html b/doc/build/html/api/nova..tests.api.openstack.test_faults.html index 1c052a6d0a4b..addcae962dc6 100644 --- a/doc/build/html/api/nova..tests.api.openstack.test_faults.html +++ b/doc/build/html/api/nova..tests.api.openstack.test_faults.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.test_flavors.html b/doc/build/html/api/nova..tests.api.openstack.test_flavors.html index 77c0c1048132..7424d8326fcb 100644 --- a/doc/build/html/api/nova..tests.api.openstack.test_flavors.html +++ b/doc/build/html/api/nova..tests.api.openstack.test_flavors.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.test_images.html b/doc/build/html/api/nova..tests.api.openstack.test_images.html index 9475d52a8261..c1792fc59323 100644 --- a/doc/build/html/api/nova..tests.api.openstack.test_images.html +++ b/doc/build/html/api/nova..tests.api.openstack.test_images.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.test_ratelimiting.html b/doc/build/html/api/nova..tests.api.openstack.test_ratelimiting.html index 0d948d3d20b1..3c68f12fb64d 100644 --- a/doc/build/html/api/nova..tests.api.openstack.test_ratelimiting.html +++ b/doc/build/html/api/nova..tests.api.openstack.test_ratelimiting.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.test_servers.html b/doc/build/html/api/nova..tests.api.openstack.test_servers.html index cb5f0414254f..2dac591d586f 100644 --- a/doc/build/html/api/nova..tests.api.openstack.test_servers.html +++ b/doc/build/html/api/nova..tests.api.openstack.test_servers.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.openstack.test_sharedipgroups.html b/doc/build/html/api/nova..tests.api.openstack.test_sharedipgroups.html index e22564a33dd7..9bd9e47ea485 100644 --- a/doc/build/html/api/nova..tests.api.openstack.test_sharedipgroups.html +++ b/doc/build/html/api/nova..tests.api.openstack.test_sharedipgroups.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api.test_wsgi.html b/doc/build/html/api/nova..tests.api.test_wsgi.html index df2254044666..95a4d56cbf75 100644 --- a/doc/build/html/api/nova..tests.api.test_wsgi.html +++ b/doc/build/html/api/nova..tests.api.test_wsgi.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api_integration.html b/doc/build/html/api/nova..tests.api_integration.html index 664c7cfa23f8..712d8c4d3380 100644 --- a/doc/build/html/api/nova..tests.api_integration.html +++ b/doc/build/html/api/nova..tests.api_integration.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.api_unittest.html b/doc/build/html/api/nova..tests.api_unittest.html index 31cf4ac95f7c..4ad2792632b5 100644 --- a/doc/build/html/api/nova..tests.api_unittest.html +++ b/doc/build/html/api/nova..tests.api_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.auth_unittest.html b/doc/build/html/api/nova..tests.auth_unittest.html index aa5d687df6ae..6ca964a1cf64 100644 --- a/doc/build/html/api/nova..tests.auth_unittest.html +++ b/doc/build/html/api/nova..tests.auth_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.cloud_unittest.html b/doc/build/html/api/nova..tests.cloud_unittest.html index d108dfe37411..0c8d3687fb46 100644 --- a/doc/build/html/api/nova..tests.cloud_unittest.html +++ b/doc/build/html/api/nova..tests.cloud_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.compute_unittest.html b/doc/build/html/api/nova..tests.compute_unittest.html index 0666c0d8fcaf..f5ce3fab735f 100644 --- a/doc/build/html/api/nova..tests.compute_unittest.html +++ b/doc/build/html/api/nova..tests.compute_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.declare_flags.html b/doc/build/html/api/nova..tests.declare_flags.html index 3afcdcf6953b..129da5c52271 100644 --- a/doc/build/html/api/nova..tests.declare_flags.html +++ b/doc/build/html/api/nova..tests.declare_flags.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.fake_flags.html b/doc/build/html/api/nova..tests.fake_flags.html index 13d16c7d651b..b33df49b60a6 100644 --- a/doc/build/html/api/nova..tests.fake_flags.html +++ b/doc/build/html/api/nova..tests.fake_flags.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.flags_unittest.html b/doc/build/html/api/nova..tests.flags_unittest.html index ecd30a05466d..8cc34bdf8a07 100644 --- a/doc/build/html/api/nova..tests.flags_unittest.html +++ b/doc/build/html/api/nova..tests.flags_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.network_unittest.html b/doc/build/html/api/nova..tests.network_unittest.html index f622a499a3b5..33a7e74735e1 100644 --- a/doc/build/html/api/nova..tests.network_unittest.html +++ b/doc/build/html/api/nova..tests.network_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.objectstore_unittest.html b/doc/build/html/api/nova..tests.objectstore_unittest.html index f21e6dbf2692..7dfe1be72134 100644 --- a/doc/build/html/api/nova..tests.objectstore_unittest.html +++ b/doc/build/html/api/nova..tests.objectstore_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.process_unittest.html b/doc/build/html/api/nova..tests.process_unittest.html index 7c7d3cdff993..a8ba0ce59cc5 100644 --- a/doc/build/html/api/nova..tests.process_unittest.html +++ b/doc/build/html/api/nova..tests.process_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.quota_unittest.html b/doc/build/html/api/nova..tests.quota_unittest.html index 3be7186c73af..e05748864272 100644 --- a/doc/build/html/api/nova..tests.quota_unittest.html +++ b/doc/build/html/api/nova..tests.quota_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.real_flags.html b/doc/build/html/api/nova..tests.real_flags.html index d91f0635e24f..e114ed111919 100644 --- a/doc/build/html/api/nova..tests.real_flags.html +++ b/doc/build/html/api/nova..tests.real_flags.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.rpc_unittest.html b/doc/build/html/api/nova..tests.rpc_unittest.html index a0676a0f854f..990fe2978798 100644 --- a/doc/build/html/api/nova..tests.rpc_unittest.html +++ b/doc/build/html/api/nova..tests.rpc_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.runtime_flags.html b/doc/build/html/api/nova..tests.runtime_flags.html index ac0cde93d8fd..c7364d8fa1c7 100644 --- a/doc/build/html/api/nova..tests.runtime_flags.html +++ b/doc/build/html/api/nova..tests.runtime_flags.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.scheduler_unittest.html b/doc/build/html/api/nova..tests.scheduler_unittest.html index e5a8eca35ae7..4ec641f4c7fb 100644 --- a/doc/build/html/api/nova..tests.scheduler_unittest.html +++ b/doc/build/html/api/nova..tests.scheduler_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.service_unittest.html b/doc/build/html/api/nova..tests.service_unittest.html index 1b132022b271..500b7dc1617e 100644 --- a/doc/build/html/api/nova..tests.service_unittest.html +++ b/doc/build/html/api/nova..tests.service_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.twistd_unittest.html b/doc/build/html/api/nova..tests.twistd_unittest.html index 616903cf968e..5f815c34fba5 100644 --- a/doc/build/html/api/nova..tests.twistd_unittest.html +++ b/doc/build/html/api/nova..tests.twistd_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.validator_unittest.html b/doc/build/html/api/nova..tests.validator_unittest.html index 8646d5d3bb43..7733c866b48a 100644 --- a/doc/build/html/api/nova..tests.validator_unittest.html +++ b/doc/build/html/api/nova..tests.validator_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.virt_unittest.html b/doc/build/html/api/nova..tests.virt_unittest.html index 06f893ead869..6d216d863e65 100644 --- a/doc/build/html/api/nova..tests.virt_unittest.html +++ b/doc/build/html/api/nova..tests.virt_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..tests.volume_unittest.html b/doc/build/html/api/nova..tests.volume_unittest.html index 01358f7848e7..78e564998c7f 100644 --- a/doc/build/html/api/nova..tests.volume_unittest.html +++ b/doc/build/html/api/nova..tests.volume_unittest.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..twistd.html b/doc/build/html/api/nova..twistd.html index 5e8a2eb1fa1f..05315b86565c 100644 --- a/doc/build/html/api/nova..twistd.html +++ b/doc/build/html/api/nova..twistd.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..utils.html b/doc/build/html/api/nova..utils.html index 47a08caf3619..8e2be80c352e 100644 --- a/doc/build/html/api/nova..utils.html +++ b/doc/build/html/api/nova..utils.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..validate.html b/doc/build/html/api/nova..validate.html index 997f18f6808f..4efcecb45eb9 100644 --- a/doc/build/html/api/nova..validate.html +++ b/doc/build/html/api/nova..validate.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..virt.connection.html b/doc/build/html/api/nova..virt.connection.html index d8d122c897ae..2761d24a7908 100644 --- a/doc/build/html/api/nova..virt.connection.html +++ b/doc/build/html/api/nova..virt.connection.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..virt.fake.html b/doc/build/html/api/nova..virt.fake.html index 4578f5c1fb7f..090e7a2239f1 100644 --- a/doc/build/html/api/nova..virt.fake.html +++ b/doc/build/html/api/nova..virt.fake.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..virt.images.html b/doc/build/html/api/nova..virt.images.html index 2ec504dd45b0..a00223beb023 100644 --- a/doc/build/html/api/nova..virt.images.html +++ b/doc/build/html/api/nova..virt.images.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..virt.libvirt_conn.html b/doc/build/html/api/nova..virt.libvirt_conn.html index f1cda3ada11c..459871e2ef16 100644 --- a/doc/build/html/api/nova..virt.libvirt_conn.html +++ b/doc/build/html/api/nova..virt.libvirt_conn.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..virt.xenapi.html b/doc/build/html/api/nova..virt.xenapi.html index 2f888f8ba69e..0b8bfdfbed93 100644 --- a/doc/build/html/api/nova..virt.xenapi.html +++ b/doc/build/html/api/nova..virt.xenapi.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..volume.driver.html b/doc/build/html/api/nova..volume.driver.html index a7b0d8d47123..eb58ebc7beec 100644 --- a/doc/build/html/api/nova..volume.driver.html +++ b/doc/build/html/api/nova..volume.driver.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..volume.manager.html b/doc/build/html/api/nova..volume.manager.html index 54b80c171ef5..70c1809f64be 100644 --- a/doc/build/html/api/nova..volume.manager.html +++ b/doc/build/html/api/nova..volume.manager.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/api/nova..wsgi.html b/doc/build/html/api/nova..wsgi.html index db82ed890dc6..5568569b1c33 100644 --- a/doc/build/html/api/nova..wsgi.html +++ b/doc/build/html/api/nova..wsgi.html @@ -48,6 +48,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -109,6 +112,9 @@
        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/cloud101.html b/doc/build/html/cloud101.html index e26d94f61a1d..2bd8cd59eb5f 100644 --- a/doc/build/html/cloud101.html +++ b/doc/build/html/cloud101.html @@ -47,6 +47,9 @@
        • index
        • +
        • + modules |
        • next |
        • @@ -186,6 +189,9 @@ can run any software or operating system.

        • index
        • +
        • + modules |
        • next |
        • diff --git a/doc/build/html/code.html b/doc/build/html/code.html index cd16f818fb83..5f443aa710e1 100644 --- a/doc/build/html/code.html +++ b/doc/build/html/code.html @@ -45,6 +45,9 @@
        • index
        • +
        • + modules |
        • nova v2010.1 documentation »
        @@ -185,6 +188,9 @@ Generating source/api/nova..wsgi.rst

      • index
      • +
      • + modules |
      • nova v2010.1 documentation »
      diff --git a/doc/build/html/community.html b/doc/build/html/community.html index 226b54cb623b..f093dc2bbdf9 100644 --- a/doc/build/html/community.html +++ b/doc/build/html/community.html @@ -46,6 +46,9 @@
    • index
    • +
    • + modules |
    • previous |
    • @@ -168,6 +171,9 @@ aggregation with your blog posts, there are instructions for index +
    • + modules |
    • previous |
    • diff --git a/doc/build/html/devref/api.html b/doc/build/html/devref/api.html index fad85bfa0876..55c9c02b13b9 100644 --- a/doc/build/html/devref/api.html +++ b/doc/build/html/devref/api.html @@ -48,6 +48,9 @@
    • index
    • +
    • + modules |
    • next |
    • @@ -262,6 +265,9 @@ API.

    • index
    • +
    • + modules |
    • next |
    • diff --git a/doc/build/html/devref/architecture.html b/doc/build/html/devref/architecture.html index a8eb08936f6e..e668285becd3 100644 --- a/doc/build/html/devref/architecture.html +++ b/doc/build/html/devref/architecture.html @@ -45,6 +45,9 @@
    • index
    • +
    • + modules |
    • nova v2010.1 documentation »
    @@ -129,6 +132,9 @@
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • diff --git a/doc/build/html/devref/auth.html b/doc/build/html/devref/auth.html index f7aa9f623b18..3ec1b029fbf9 100644 --- a/doc/build/html/devref/auth.html +++ b/doc/build/html/devref/auth.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -323,6 +326,9 @@ RBAC of CloudAudit API calls is critical, since detailed system information is a
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/devref/cloudpipe.html b/doc/build/html/devref/cloudpipe.html index c255b9a440b5..3d930429be01 100644 --- a/doc/build/html/devref/cloudpipe.html +++ b/doc/build/html/devref/cloudpipe.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -164,6 +167,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/devref/compute.html b/doc/build/html/devref/compute.html index 4ddc169077da..a78ae473995d 100644 --- a/doc/build/html/devref/compute.html +++ b/doc/build/html/devref/compute.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -68,14 +71,14 @@
  • The nova.virt.connection Module
  • The nova.compute.disk Module
  • The nova.virt.images Module
  • -
  • The nova.compute.instance_types Module
  • -
  • The nova.compute.power_state Module
  • +
  • The nova.compute.instance_types Module
  • +
  • The nova.compute.power_state Module
  • Drivers
  • Monitoring
      @@ -141,11 +144,18 @@ a specific virtualization backend, read

      The nova.virt.images Module

      -
      -

      The nova.compute.instance_types Module

      +
      +

      The nova.compute.instance_types Module

      +

      The built-in instance properties.

      -
      -

      The nova.compute.power_state Module

      +
      +

      The nova.compute.power_state Module

      +

      The various power states that a VM can be in.

      +
      +
      +nova.compute.power_state.name(code)
      +
      +
      @@ -156,8 +166,201 @@ a specific virtualization backend, read

      The nova.virt.xenapi Driver

      -
      -

      The nova.virt.fake Driver

      +
      +

      The nova.virt.fake Driver

      +

      A fake (in-memory) hypervisor+api.

      +

      Allows nova testing w/o a hypervisor. This module also documents the +semantics of real hypervisor connections.

      +
      +
      +class nova.virt.fake.FakeConnection
      +

      Bases: object

      +

      The interface to this class talks in terms of ‘instances’ (Amazon EC2 and +internal Nova terminology), by which we mean ‘running virtual machine’ +(XenAPI terminology) or domain (Xen or libvirt terminology).

      +

      An instance has an ID, which is the identifier chosen by Nova to represent +the instance further up the stack. This is unfortunately also called a +‘name’ elsewhere. As far as this layer is concerned, ‘instance ID’ and +‘instance name’ are synonyms.

      +

      Note that the instance ID or name is not human-readable or +customer-controlled – it’s an internal ID chosen by Nova. At the +nova.virt layer, instances do not have human-readable names at all – such +things are only known higher up the stack.

      +

      Most virtualization platforms will also have their own identity schemes, +to uniquely identify a VM or domain. These IDs must stay internal to the +platform-specific layer, and never escape the connection interface. The +platform-specific layer is responsible for keeping track of which instance +ID maps to which platform-specific ID, and vice versa.

      +

      In contrast, the list_disks and list_interfaces calls may return +platform-specific IDs. These identify a specific virtual disk or specific +virtual network interface, and these IDs are opaque to the rest of Nova.

      +

      Some methods here take an instance of nova.compute.service.Instance. This +is the datastructure used by nova.compute to store details regarding an +instance, and pass them into this layer. This layer is responsible for +translating that generic datastructure into terms that are specific to the +virtualization platform.

      +
      +
      +FakeConnection.attach_volume(instance_name, device_path, mountpoint)
      +

      Attach the disk at device_path to the instance at mountpoint

      +
      + +
      +
      +FakeConnection.block_stats(instance_name, disk_id)
      +

      Return performance counters associated with the given disk_id on the +given instance_name. These are returned as [rd_req, rd_bytes, wr_req, +wr_bytes, errs], where rd indicates read, wr indicates write, req is +the total number of I/O requests made, bytes is the total number of +bytes transferred, and errs is the number of requests held up due to a +full pipeline.

      +

      All counters are long integers.

      +

      This method is optional. On some platforms (e.g. XenAPI) performance +statistics can be retrieved directly in aggregate form, without Nova +having to do the aggregation. On those platforms, this method is +unused.

      +

      Note that this function takes an instance ID, not a +compute.service.Instance, so that it can be called by compute.monitor.

      +
      + +
      +
      +FakeConnection.destroy(instance)
      +

      Destroy (shutdown and delete) the specified instance.

      +

      The given parameter is an instance of nova.compute.service.Instance, +and so the instance is being specified as instance.name.

      +

      The work will be done asynchronously. This function returns a +Deferred that allows the caller to detect when it is complete.

      +
      + +
      +
      +FakeConnection.detach_volume(instance_name, mountpoint)
      +

      Detach the disk attached to the instance at mountpoint

      +
      + +
      +
      +FakeConnection.get_console_output(instance)
      +
      + +
      +
      +FakeConnection.get_info(instance_name)
      +

      Get a block of information about the given instance. This is returned +as a dictionary containing ‘state’: The power_state of the instance, +‘max_mem’: The maximum memory for the instance, in KiB, ‘mem’: The +current memory the instance has, in KiB, ‘num_cpu’: The current number +of virtual CPUs the instance has, ‘cpu_time’: The total CPU time used +by the instance, in nanoseconds.

      +

      This method should raise exception.NotFound if the hypervisor has no +knowledge of the instance

      +
      + +
      +
      +classmethod FakeConnection.instance()
      +
      + +
      +
      +FakeConnection.interface_stats(instance_name, iface_id)
      +

      Return performance counters associated with the given iface_id on the +given instance_id. These are returned as [rx_bytes, rx_packets, +rx_errs, rx_drop, tx_bytes, tx_packets, tx_errs, tx_drop], where rx +indicates receive, tx indicates transmit, bytes and packets indicate +the total number of bytes or packets transferred, and errs and dropped +is the total number of packets failed / dropped.

      +

      All counters are long integers.

      +

      This method is optional. On some platforms (e.g. XenAPI) performance +statistics can be retrieved directly in aggregate form, without Nova +having to do the aggregation. On those platforms, this method is +unused.

      +

      Note that this function takes an instance ID, not a +compute.service.Instance, so that it can be called by compute.monitor.

      +
      + +
      +
      +FakeConnection.list_disks(instance_name)
      +

      Return the IDs of all the virtual disks attached to the specified +instance, as a list. These IDs are opaque to the caller (they are +only useful for giving back to this layer as a parameter to +disk_stats). These IDs only need to be unique for a given instance.

      +

      Note that this function takes an instance ID, not a +compute.service.Instance, so that it can be called by compute.monitor.

      +
      + +
      +
      +FakeConnection.list_instances()
      +

      Return the names of all the instances known to the virtualization +layer, as a list.

      +
      + +
      +
      +FakeConnection.list_interfaces(instance_name)
      +

      Return the IDs of all the virtual network interfaces attached to the +specified instance, as a list. These IDs are opaque to the caller +(they are only useful for giving back to this layer as a parameter to +interface_stats). These IDs only need to be unique for a given +instance.

      +

      Note that this function takes an instance ID, not a +compute.service.Instance, so that it can be called by compute.monitor.

      +
      + +
      +
      +FakeConnection.reboot(instance)
      +

      Reboot the specified instance.

      +

      The given parameter is an instance of nova.compute.service.Instance, +and so the instance is being specified as instance.name.

      +

      The work will be done asynchronously. This function returns a +Deferred that allows the caller to detect when it is complete.

      +
      + +
      +
      +FakeConnection.rescue(instance)
      +

      Rescue the specified instance.

      +
      + +
      +
      +FakeConnection.spawn(instance)
      +

      Create a new instance/VM/domain on the virtualization platform.

      +

      The given parameter is an instance of nova.compute.service.Instance. +This function should use the data there to guide the creation of +the new instance.

      +

      The work will be done asynchronously. This function returns a +Deferred that allows the caller to detect when it is complete.

      +

      Once this successfully completes, the instance should be +running (power_state.RUNNING).

      +

      If this fails, any partial instance should be completely +cleaned up, and the virtualization platform should be in the state +that it was before this call began.

      +
      + +
      +
      +FakeConnection.unrescue(instance)
      +

      Unrescue the specified instance.

      +
      + +
      + +
      +
      +class nova.virt.fake.FakeInstance
      +

      Bases: object

      +
      + +
      +
      +nova.virt.fake.get_connection(_)
      +
      +
      @@ -189,6 +392,9 @@ a specific virtualization backend, read index +
    • + modules |
    • next |
    • diff --git a/doc/build/html/devref/database.html b/doc/build/html/devref/database.html index 40e0e490b22e..9bc28b63f2c7 100644 --- a/doc/build/html/devref/database.html +++ b/doc/build/html/devref/database.html @@ -48,6 +48,9 @@
    • index
    • +
    • + modules |
    • next |
    • @@ -143,6 +146,9 @@ Failures in the drivers would be dectected in other test cases, though.

    • index
    • +
    • + modules |
    • next |
    • diff --git a/doc/build/html/devref/development.environment.html b/doc/build/html/devref/development.environment.html index eadf137a7a44..ca1b61ab5cbc 100644 --- a/doc/build/html/devref/development.environment.html +++ b/doc/build/html/devref/development.environment.html @@ -45,6 +45,9 @@
    • index
    • +
    • + modules |
    • nova v2010.1 documentation »
    @@ -96,6 +99,9 @@
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • diff --git a/doc/build/html/devref/fakes.html b/doc/build/html/devref/fakes.html index 2137b9939443..180043e53e6b 100644 --- a/doc/build/html/devref/fakes.html +++ b/doc/build/html/devref/fakes.html @@ -48,6 +48,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -63,7 +66,7 @@

    Table Of Contents

    • Fake Drivers
        -
      • The nova.virt.fake Module
      • +
      • The nova.virt.fake Module
      • The nova.auth.fakeldap Module
      • The nova.fakerabbit Module
      • The nova.volume.driver.FakeAOEDriver Class
      • @@ -113,8 +116,201 @@

        When the real thing isn’t available and you have some development to do these fake implementations of various drivers let you get on with your day.

        -
        -

        The nova.virt.fake Module

        +
        +

        The nova.virt.fake Module

        +

        A fake (in-memory) hypervisor+api.

        +

        Allows nova testing w/o a hypervisor. This module also documents the +semantics of real hypervisor connections.

        +
        +
        +class nova.virt.fake.FakeConnection
        +

        Bases: object

        +

        The interface to this class talks in terms of ‘instances’ (Amazon EC2 and +internal Nova terminology), by which we mean ‘running virtual machine’ +(XenAPI terminology) or domain (Xen or libvirt terminology).

        +

        An instance has an ID, which is the identifier chosen by Nova to represent +the instance further up the stack. This is unfortunately also called a +‘name’ elsewhere. As far as this layer is concerned, ‘instance ID’ and +‘instance name’ are synonyms.

        +

        Note that the instance ID or name is not human-readable or +customer-controlled – it’s an internal ID chosen by Nova. At the +nova.virt layer, instances do not have human-readable names at all – such +things are only known higher up the stack.

        +

        Most virtualization platforms will also have their own identity schemes, +to uniquely identify a VM or domain. These IDs must stay internal to the +platform-specific layer, and never escape the connection interface. The +platform-specific layer is responsible for keeping track of which instance +ID maps to which platform-specific ID, and vice versa.

        +

        In contrast, the list_disks and list_interfaces calls may return +platform-specific IDs. These identify a specific virtual disk or specific +virtual network interface, and these IDs are opaque to the rest of Nova.

        +

        Some methods here take an instance of nova.compute.service.Instance. This +is the datastructure used by nova.compute to store details regarding an +instance, and pass them into this layer. This layer is responsible for +translating that generic datastructure into terms that are specific to the +virtualization platform.

        +
        +
        +FakeConnection.attach_volume(instance_name, device_path, mountpoint)
        +

        Attach the disk at device_path to the instance at mountpoint

        +
        + +
        +
        +FakeConnection.block_stats(instance_name, disk_id)
        +

        Return performance counters associated with the given disk_id on the +given instance_name. These are returned as [rd_req, rd_bytes, wr_req, +wr_bytes, errs], where rd indicates read, wr indicates write, req is +the total number of I/O requests made, bytes is the total number of +bytes transferred, and errs is the number of requests held up due to a +full pipeline.

        +

        All counters are long integers.

        +

        This method is optional. On some platforms (e.g. XenAPI) performance +statistics can be retrieved directly in aggregate form, without Nova +having to do the aggregation. On those platforms, this method is +unused.

        +

        Note that this function takes an instance ID, not a +compute.service.Instance, so that it can be called by compute.monitor.

        +
        + +
        +
        +FakeConnection.destroy(instance)
        +

        Destroy (shutdown and delete) the specified instance.

        +

        The given parameter is an instance of nova.compute.service.Instance, +and so the instance is being specified as instance.name.

        +

        The work will be done asynchronously. This function returns a +Deferred that allows the caller to detect when it is complete.

        +
        + +
        +
        +FakeConnection.detach_volume(instance_name, mountpoint)
        +

        Detach the disk attached to the instance at mountpoint

        +
        + +
        +
        +FakeConnection.get_console_output(instance)
        +
        + +
        +
        +FakeConnection.get_info(instance_name)
        +

        Get a block of information about the given instance. This is returned +as a dictionary containing ‘state’: The power_state of the instance, +‘max_mem’: The maximum memory for the instance, in KiB, ‘mem’: The +current memory the instance has, in KiB, ‘num_cpu’: The current number +of virtual CPUs the instance has, ‘cpu_time’: The total CPU time used +by the instance, in nanoseconds.

        +

        This method should raise exception.NotFound if the hypervisor has no +knowledge of the instance

        +
        + +
        +
        +classmethod FakeConnection.instance()
        +
        + +
        +
        +FakeConnection.interface_stats(instance_name, iface_id)
        +

        Return performance counters associated with the given iface_id on the +given instance_id. These are returned as [rx_bytes, rx_packets, +rx_errs, rx_drop, tx_bytes, tx_packets, tx_errs, tx_drop], where rx +indicates receive, tx indicates transmit, bytes and packets indicate +the total number of bytes or packets transferred, and errs and dropped +is the total number of packets failed / dropped.

        +

        All counters are long integers.

        +

        This method is optional. On some platforms (e.g. XenAPI) performance +statistics can be retrieved directly in aggregate form, without Nova +having to do the aggregation. On those platforms, this method is +unused.

        +

        Note that this function takes an instance ID, not a +compute.service.Instance, so that it can be called by compute.monitor.

        +
        + +
        +
        +FakeConnection.list_disks(instance_name)
        +

        Return the IDs of all the virtual disks attached to the specified +instance, as a list. These IDs are opaque to the caller (they are +only useful for giving back to this layer as a parameter to +disk_stats). These IDs only need to be unique for a given instance.

        +

        Note that this function takes an instance ID, not a +compute.service.Instance, so that it can be called by compute.monitor.

        +
        + +
        +
        +FakeConnection.list_instances()
        +

        Return the names of all the instances known to the virtualization +layer, as a list.

        +
        + +
        +
        +FakeConnection.list_interfaces(instance_name)
        +

        Return the IDs of all the virtual network interfaces attached to the +specified instance, as a list. These IDs are opaque to the caller +(they are only useful for giving back to this layer as a parameter to +interface_stats). These IDs only need to be unique for a given +instance.

        +

        Note that this function takes an instance ID, not a +compute.service.Instance, so that it can be called by compute.monitor.

        +
        + +
        +
        +FakeConnection.reboot(instance)
        +

        Reboot the specified instance.

        +

        The given parameter is an instance of nova.compute.service.Instance, +and so the instance is being specified as instance.name.

        +

        The work will be done asynchronously. This function returns a +Deferred that allows the caller to detect when it is complete.

        +
        + +
        +
        +FakeConnection.rescue(instance)
        +

        Rescue the specified instance.

        +
        + +
        +
        +FakeConnection.spawn(instance)
        +

        Create a new instance/VM/domain on the virtualization platform.

        +

        The given parameter is an instance of nova.compute.service.Instance. +This function should use the data there to guide the creation of +the new instance.

        +

        The work will be done asynchronously. This function returns a +Deferred that allows the caller to detect when it is complete.

        +

        Once this successfully completes, the instance should be +running (power_state.RUNNING).

        +

        If this fails, any partial instance should be completely +cleaned up, and the virtualization platform should be in the state +that it was before this call began.

        +
        + +
        +
        +FakeConnection.unrescue(instance)
        +

        Unrescue the specified instance.

        +
        + +
        + +
        +
        +class nova.virt.fake.FakeInstance
        +

        Bases: object

        +
        + +
        +
        +nova.virt.fake.get_connection(_)
        +
        +

        The nova.auth.fakeldap Module

        @@ -145,6 +341,9 @@ fake implementations of various drivers let you get on with your day.

      • index
      • +
      • + modules |
      • next |
      • diff --git a/doc/build/html/devref/glance.html b/doc/build/html/devref/glance.html index f15a349e30a8..f4176962e309 100644 --- a/doc/build/html/devref/glance.html +++ b/doc/build/html/devref/glance.html @@ -48,6 +48,9 @@
      • index
      • +
      • + modules |
      • next |
      • @@ -119,6 +122,9 @@
      • index
      • +
      • + modules |
      • next |
      • diff --git a/doc/build/html/devref/index.html b/doc/build/html/devref/index.html index dd3e0eb28624..0e8fb70d3b72 100644 --- a/doc/build/html/devref/index.html +++ b/doc/build/html/devref/index.html @@ -47,6 +47,9 @@
      • index
      • +
      • + modules |
      • next |
      • @@ -255,14 +258,14 @@
      • The nova.virt.connection Module
      • The nova.compute.disk Module
      • The nova.virt.images Module
      • -
      • The nova.compute.instance_types Module
      • -
      • The nova.compute.power_state Module
      • +
      • The nova.compute.instance_types Module
      • +
      • The nova.compute.power_state Module
    • Drivers
    • Monitoring
        @@ -378,7 +381,7 @@
    • Fake Drivers @@ -102,6 +105,9 @@
    • index
    • +
    • + modules |
    • nova v2010.1 documentation »
    diff --git a/doc/build/html/livecd.html b/doc/build/html/livecd.html index 4fb6cc63ebb2..d1b7f225d0cb 100644 --- a/doc/build/html/livecd.html +++ b/doc/build/html/livecd.html @@ -47,6 +47,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -106,6 +109,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/man/novamanage.html b/doc/build/html/man/novamanage.html index 95728484b5fd..2a86f24ef8c5 100644 --- a/doc/build/html/man/novamanage.html +++ b/doc/build/html/man/novamanage.html @@ -45,6 +45,9 @@
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • @@ -56,7 +59,14 @@
  • control and manage cloud computer instances and images
    • SYNOPSIS
    • DESCRIPTION
    • -
    • OPTIONS
    • +
    • OPTIONS +
    • FILES
    • SEE ALSO
    • BUGS
    • @@ -125,58 +135,117 @@ nova-manage <category> <action> [<args>]

      OPTIONS

      -

      Run without arguments to see a list of available command categories. Categories are user, project, role, shell, vpn, and floating. Detailed descriptions are below. -:: -nova-manage

      -

      You can also run with a category argument such as user to see a list of all commands in that category. -:: -nova-manage user

      -

      Here are the available categories and arguments for nova-manage:

      +

      The standard pattern for executing a nova-manage command is: +nova-manage <category> <command> [<args>]

      +

      For example, to obtain a list of all projects: +nova-manage project list

      +

      Run without arguments to see a list of available command categories: +nova-manage

      +

      Categories are user, project, role, shell, vpn, and floating. Detailed descriptions are below.

      +

      You can also run with a category argument such as user to see a list of all commands in that category: +nova-manage user

      +

      These sections describe the available categories and arguments for nova-manage.

      +

      nova-manage user admin <username>

      +
      +Create an admin user with the name <username>.
      +

      nova-manage user create <username>

      +
      +Create a normal user with the name <username>.
      +

      nova-manage user delete <username>

      +
      +Delete the user with the name <username>.
      +

      nova-manage user exports <username>

      +
      +Outputs a list of access key and secret keys for user to the screen
      +

      nova-manage user list

      +
      +Outputs a list of all the user names to the screen.
      +

      nova-manage user modify <accesskey> <secretkey> <admin?T/F>

      +
      +Updates the indicated user keys, indicating with T or F if the user is an admin user. Leave any argument blank if you do not want to update it.
      +
      +

      Nova Project

      +

      nova-manage project add <projectname>

      +
      +Add a nova project with the name <projectname> to the database.
      +

      nova-manage project create <projectname>

      +
      +Create a new nova project with the name <projectname> (you still need to do nova-manage project add <projectname> to add it to the database).
      +

      nova-manage project delete <projectname>

      +
      +Delete a nova project with the name <projectname>.
      +

      nova-manage project environment <projectname> <username>

      +
      +Exports environment variables for the named project to a file named novarc.
      +

      nova-manage project list

      +
      +Outputs a list of all the projects to the screen.
      +

      nova-manage project quota <projectname>

      +
      +Outputs the size and specs of the project’s instances including gigabytes, instances, floating IPs, volumes, and cores.
      +

      nova-manage project remove <projectname>

      +
      +Deletes the project with the name <projectname>.
      +

      nova-manage project zipfile

      +
      +Compresses all related files for a created project into a zip file nova.zip.
      +
      +
      +

      Nova Role

      +

      nova-manage role <action> [<argument>] +nova-manage role add <username> <rolename> <(optional) projectname>

      +
      +Add a user to either a global or project-based role with the indicated <rolename> assigned to the named user. Role names can be one of the following five roles: admin, itsec, projectmanager, netadmin, developer. If you add the project name as the last argument then the role is assigned just for that project, otherwise the user is assigned the named role for all projects.
      -
      nova-manage user <action> [<argument>]
      -
      user admin <username> Create an admin user with the name <username>. -user create <username> Create a normal user with the name <username>. -user delete <username> Delete the user with the name <username>. -user exports <username> Outputs a list of access key and secret keys for user to the screen -user list Outputs a list of all the user names to the screen. -user modify <accesskey> <secretkey> <admin?T/F> Updates the indicated user keys, indicating with T or F if the user is an admin user. Leave any argument blank if you do not want to update it.
      -
      nova-manage project <action> [<argument>]
      -
      project add <projectname> Add a nova project with the name <projectname> to the database. -project create <projectname> Create a new nova project with the name <projectname> (you still need to do nova-manage project add <projectname> to add it to the database). -project delete Delete a nova project with the name <projectname>. -project environment <projectname> <username> Exports environment variables for the named project to a file named novarc. -project list Outputs a list of all the projects to the screen. -project quota <projectname> Outputs the size and specs of the project’s instances including gigabytes, instances, floating IPs, volumes, and cores. -project remove <projectname> Deletes the project with the name <projectname>. -project zipfile Compresses all related files for a created project into a zip file nova.zip.
      -
      nova-manage role <action> [<argument>]
      -
      role add <username> <rolename> <(optional) projectname> Add a user to either a global or project-based role with the indicated <rolename> assigned to the named user. Role names can be one of the following five roles: admin, itsec, projectmanager, netadmin, developer. If you add the project name as the last argument then the role is assigned just for that project, otherwise the user is assigned the named role for all projects. -role has <username> <projectname> Checks the user or project and responds with True if the user has a global role with a particular project. -role remove <username> <rolename> Remove the indicated role from the user.
      -
      nova-manage shell <action> [<argument>]
      -
      shell bpython Starts a new bpython shell. -shell ipython Starts a new ipython shell. -shell python Starts a new python shell. -shell run Starts a new shell using python. -shell script <path/scriptname> Runs the named script from the specified path with flags set.
      -
      nova-manage vpn <action> [<argument>]
      -
      vpn list Displays a list of projects, their IP prot numbers, and what state they’re in. -vpn run <projectname> Starts the VPN for the named project. -vpn spawn Runs all VPNs.
      -
      nova-manage floating <action> [<argument>]
      -
      floating create <host> <ip_range> Creates floating IP addresses for the named host by the given range. -floating delete <ip_range> Deletes floating IP addresses in the range given. -floating list Displays a list of all floating IP addresses.
      +
      nova-manage role has <username> <projectname>
      +
      Checks the user or project and responds with True if the user has a global role with a particular project.
      +
      nova-manage role remove <username> <rolename>
      +
      Remove the indicated role from the user.
      - --- - - - -
      ---help, -hShow this help message and exit.
      +
      +
      +

      Nova Shell

      +

      nova-manage shell bpython

      +
      +Starts a new bpython shell.
      +

      nova-manage shell ipython

      +
      +Starts a new ipython shell.
      +

      nova-manage shell python

      +
      +Starts a new python shell.
      +

      nova-manage shell run

      +
      +Starts a new shell using python.
      +

      nova-manage shell script <path/scriptname>

      +
      +Runs the named script from the specified path with flags set.
      +
      +
      +

      Nova VPN

      +

      nova-manage vpn list

      +
      +Displays a list of projects, their IP prot numbers, and what state they’re in.
      +

      nova-manage vpn run <projectname>

      +
      +Starts the VPN for the named project.
      +

      nova-manage vpn spawn

      +
      +Runs all VPNs.
      +
      +
      +

      Nova Floating IPs

      +

      nova-manage floating create <host> <ip_range>

      +
      +
      +
      Creates floating IP addresses for the named host by the given range.
      +
      floating delete <ip_range> Deletes floating IP addresses in the range given.
      +
      +
      +

      nova-manage floating list

      +
      +Displays a list of all floating IP addresses.
      +

      FILES

      @@ -210,6 +279,9 @@ floating list Displays a list of all floating IP addresses. index +
    • + modules |
    • nova v2010.1 documentation »
    diff --git a/doc/build/html/nova.concepts.html b/doc/build/html/nova.concepts.html index 04f302dc3d66..6f8c4f6311ad 100644 --- a/doc/build/html/nova.concepts.html +++ b/doc/build/html/nova.concepts.html @@ -47,6 +47,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -288,6 +291,9 @@ vpn management, and much more.

  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/object.model.html b/doc/build/html/object.model.html index cabe2aab60ce..aec102391d69 100644 --- a/doc/build/html/object.model.html +++ b/doc/build/html/object.model.html @@ -45,6 +45,9 @@
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • @@ -151,6 +154,9 @@ digraph foo {
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • diff --git a/doc/build/html/objects.inv b/doc/build/html/objects.inv index 337533c6071c..1e2a63d0fcbc 100644 --- a/doc/build/html/objects.inv +++ b/doc/build/html/objects.inv @@ -2,5 +2,5 @@ # Project: nova # Version: 2010.1 # The remainder of this file is compressed using zlib. -xmPN0 +,l.6ULZyiҤJ -z&T%r{v ?C Z{C`F3h=}C];P~e^ ViFhȲ6Xy2Z(sOah index +
  • + modules |
  • next |
  • @@ -249,6 +252,9 @@ virsh instances and attempt to delete all vlans and bridges.

  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/build/html/search.html b/doc/build/html/search.html index b96e1bd3ea27..94f207ce1495 100644 --- a/doc/build/html/search.html +++ b/doc/build/html/search.html @@ -51,6 +51,9 @@
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • @@ -99,6 +102,9 @@
  • index
  • +
  • + modules |
  • nova v2010.1 documentation »
  • diff --git a/doc/build/html/searchindex.js b/doc/build/html/searchindex.js index c5acadaff958..a4753dacee7b 100644 --- a/doc/build/html/searchindex.js +++ b/doc/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{},terms:{prefix:[58,90],tweet:70,ip_rang:[35,19],novadev:73,under:[53,119],spec:[19,119,70],ramdisk:73,digit:119,everi:[26,52],dectect:69,eucatool:104,upload:[73,24,119],rabbitmq:[58,38,26,65,79],ifac:90,direct:14,chef:90,second:[26,52],ebtabl:[58,57,79,117],aggreg:[131,70],libxslt:58,even:106,keyserv:65,eventlet:[58,79],commonnam:73,poison:[57,117],"new":[38,19,104,121,123,85,70,52,58,43,117,132,73],net:[58,19,65,70,90],maverick:[38,73],metadata:[117,52,119],ongo:[26,43],behavior:123,here:[38,19,10,123,26,35,90,58,117,65,111],path:[132,106,19,43,92],aki:73,permit:[53,121],bashrc:90,unix:79,refenc:14,total:[26,85,119],highli:[123,79,90],describ:[123,26,104,48,70,142,14,117,73,24,119],would:[132,79,119,69],noarch:58,call:[26,119,52,10,117],python26:58,recommend:[104,73,79,90],nate:[106,117],type:[38,48,70,90,53,35,92,73,65,119],until:[73,26],eucalyptussoftwar:58,relat:[134,19,26,70,79,53,119],"10gb":[104,117],notic:[58,79],warn:38,relai:[53,70],vpn:[19,106,26,52,135,35,92,117,73,119,43],must:[38,26,121,85,131,117,8,65,119],join:[117,70],err:58,"0at28z12":73,setup:[104,79,90,58,117,73],work:[38,26,48,79,52,90,53,14,132,73,57,119],conceptu:119,rework:[7,123],hansen:38,root:[38,26,104,90,73,31],overrid:79,defer:[38,131],give:[121,65,104,52,123],indic:[123,19,92],want:[38,19,104,48,26,90,117,65],end:[119,52,90],turn:52,how:[123,26,104,70,90,14,117,57,119],env:[104,90],answer:70,verifi:121,config:[73,90],updat:[121,19,106,52,90,58,117,73,65,119],compute_unittest:[134,15,0,92,125],mess:104,after:[7,121,123,79,104],diagram:[48,26,92,117,106],befor:[26,104,79,73,57,31],test_wsgi:[84,0,92,125,109],demonstr:117,fedora:[73,58],attempt:[132,26,85,104],third:119,bootstrap:90,credenti:[73,85,119,121],receiv:[53,48,26,131,10],"18th":90,environ:[121,19,104,123,48,85,90,127,73,119],exclus:106,ethernet:[7,26],order:[121,26,90,131,117,7],oper:[38,26,121,48,90,53,117,119],diagnos:123,over:[7,48,26,106,90],becaus:[26,104,70],privileg:90,incid:119,flexibl:48,vari:73,fip:119,uuid:121,fit:[58,131],backup_schedul:[0,78,92,125,109],fix:[53,35,26,10],cla:70,better:90,persist:[79,14],cred:90,easier:[132,73,90],them:[121,104,10,90,117,132,73],thei:[19,85,90,79,31,119],proce:117,volume_unittest:[7,74,0,92,125],objectstor:[38,93,0,10,66,125,61,79,135,139,92,23,73,90,131],power_st:[134,0,125,92,107],each:[26,104,48,79,52,90,35,142,131,117,7,57],debug:[123,79],mean:[73,79,131],interop:119,laboratori:123,devref:123,cloud02:73,extract:73,admincli:[13,0,125,92,67],network:[0,106,70,73,38,10,123,79,43,117,119,121,14,89,48,125,52,90,53,35,92,57,135,26,27,142,131],bridge_port:90,newli:73,content:[123,90],got:73,gov:[48,123],ntp:117,free:[38,70,52,58],standard:[48,26,43,123],fakerabbit:[128,0,40,125,92],test_fault:[0,110,92,125,109],ata:7,openssl:[73,58],installt:79,isn:40,onto:[57,117],rang:[19,14,26,90,35,117],independ:119,capac:48,restrict:[121,14],instruct:[38,70],alreadi:[117,90],imagestor:73,primari:7,sometim:26,master:90,autorun:52,john:[121,85],zipfil:[8,19,85,121],listen:[53,26,79],iptabl:[106,57,79,117,58],consol:[53,24],tool:[48,79,90,53,58,14,24],enjoi:121,auth_unittest:[0,45,92,119,125],provid:[123,26,117,48,79,70,35,52,14,106,73,119],tree:123,project:[106,85,8,73,123,56,43,117,119,121,19,14,48,52,90,135,58,131,57,53,26,35,92],matter:121,num_network:35,provis:[48,90],fashion:119,ram:104,mind:123,xensourc:79,seem:131,computemanag:10,deregist:24,simplifi:121,though:[90,104,14,69],usernam:[121,19],object:[123,56,10,53,131,14,132,119],regular:121,cblah2:73,tradit:119,flagfil:[51,14,10,79],doc:[123,26,106,90,142,92,7,73,119],metal:90,doe:[26,31,43],declar:[92,119],came:48,random:[121,26,43],transluc:119,syntax:[7,121,85,104,123],directli:[7,121,90],pkg:90,protocol:119,iscsitarget:79,insnanc:52,dhcpserver:26,priv:73,involv:[123,142,79,70],acquir:121,explain:26,configur:[123,19,104,10,26,52,79,53,58,142,117,73,90,57],apach:119,ldap:[131,26,43,119,79],oct:73,watch:73,amazon:[53,123,26,117,109],root_password:90,report:70,validator_unittest:[77,0,125,92,67],"public":[121,26,10,123,48,52,35,92,117,106,57,31,119],runn:104,respond:[132,19],respons:[10,53,131,132,73,119],best:[79,70],subject:[53,73],databas:[135,19,104,69,79,52,90,53,92,132,73,131],irt:73,discoveri:119,figur:[123,117],outstand:123,simplest:[26,104],irc:70,approach:[121,119],attribut:[48,24,123],accord:[7,48],extend:119,protect:[142,57,117],easi:[123,79],fault:[123,0,125,22,92,109],howev:[106,35,90],against:[58,57,104,117],reservationid:119,logic:[7,119],s3_host:90,login:31,seri:14,com:[26,79,90,58,73,65],compromis:142,applianc:106,"2nd":90,guid:[123,26,106,79,90,92,14],assum:[117,90],etherd:58,three:[35,119],been:[117,121,79,67,90],trigger:[38,131,117],interest:70,basic:[106,79,52,90,53,14,31,119],saa:48,tini:[73,26,31,52,104],quickli:[123,79,104],toller:123,worker:[53,104],ani:[121,19,26,48,85,52,79,119,104],emploi:121,ident:119,servic:[117,123,26,0,88,10,135,48,113,125,106,79,70,90,53,92,14,44,132,73,93],properti:[79,119,90],sourceforg:58,dashboard:[121,131,117],publicli:[121,85],vagu:[123,142],spawn:[35,19,119],clusto:106,printabl:73,toolkit:123,ratelimit:[92,109],conf:[73,19,79],sever:106,cloudaudit:[92,119],perform:[121,26,117,79,90,43,14,7],make:[38,85,10,106,90,53,58,73,132,8],meetup:70,complex:[57,104],split:[73,117,90],complet:[38,121,48,53,73,119],nic:117,rais:117,ownership:119,engin:[53,106],kid:70,kept:79,scenario:[123,14],thu:90,inherit:119,thi:[104,106,85,70,7,73,38,79,14,119,121,19,117,123,52,90,53,127,92,132,26,58,142,65,31,131],gzip:73,countrynam:73,facto:121,just:[121,19,104,123,48,52,142,67],bandwidth:48,human:48,yet:[121,35,67,90],languag:48,previous:73,expos:[121,26,52,10],had:104,spread:10,har:48,save:[73,52],applic:[48,119],mayb:[106,123],background:14,measur:[48,85],daemon:[58,14,10,79],specif:[134,121,26,104,123,106,79,52,90,53,43,14,117,132,119,92],filenam:[121,85],manual:[19,104,26,90,58,57],volumemanag:10,test_serv:[0,109,6,125,92],xlarg:26,underli:[7,26],www:[58,26],right:[121,142,123],old:[7,123,92],deal:132,somehow:90,swiftadmin:123,intern:106,preliminari:119,subclass:[106,10],cnf:[73,90],apirequest:[28,0,92,125,109],condit:[7,26,43],unbundl:24,core:[123,85,56,26,19,79,58,14,90],load_object:132,repositori:[79,90],post:70,"super":121,redownload:52,br100:[26,90],postgresql:90,slightli:104,span:[1,2,3,4,5,6,9,11,12,13,15,16,17,18,20,21,22,23,27,28,29,30,32,33,34,36,75,41,42,44,45,46,47,49,50,77,55,78,59,60,61,62,63,64,66,68,71,72,74,39,76,54,80,81,82,83,84,86,87,89,91,94,95,96,98,99,100,101,102,103,105,107,108,110,112,113,114,115,116,118,120,122,124,126,128,129,130,133,136,137,138,139,140,141,143,144],libvirt_conn:[4,134,0,92,125],produc:53,meerkat:38,ppa:[65,79,90],tackl:26,"float":[35,19,26,10],encod:52,down:48,contrib:[79,104],storag:[135,26,10,88,48,53,92,7,93,119,131],eth0:[26,90],accordingli:121,git:[58,90],fabric:[53,123],wai:[123,106,79,70,90,14,73],support:[38,26,10,121,48,79,52,90,35,117,109,85,31],nova:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,49,50,52,53,54,55,78,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,58,128,129,130,131,132,133,134,136,137,138,139,140,141,143,144],"class":[1,2,3,4,5,6,9,11,12,13,15,16,17,18,20,21,22,23,27,28,29,30,32,33,34,36,75,40,41,42,44,45,46,47,49,50,77,55,78,59,60,61,62,63,64,66,68,71,72,74,39,76,54,80,81,82,83,84,86,87,89,91,92,94,95,96,98,99,100,101,102,103,105,107,108,110,112,113,114,115,116,118,120,121,122,124,126,128,129,130,131,132,133,136,137,138,139,140,141,143,144],avail:[38,19,123,48,40,26,70,79,53,58,90,43,117,24,85,31,119],reli:[106,79,10],linux_net:[106,0,125,92,27],sqlite3:[123,79,104],form:[19,85],offer:[53,48,70],sqlalchemi:[18,0,69,125,79,90,58,92,39,114],icmp:52,"true":[73,19,121,90],freenod:70,reset:24,projectmanag:[121,19],maximum:119,"0a520304":73,vishi:90,fundament:26,autoconf:58,service_unittest:[126,0,40,125,92],classif:119,featur:[26,117,70],b64:52,"abstract":132,decrypt:[26,43],exist:[121,26,106,85,90,53,35,7,119],glanc:[135,88,10,92],mybucket:73,check:[121,19,85,79,58,73],underutil:48,encrypt:[73,142],when:[38,104,48,40,79,52,90,53,131,117,106,73,65,31,119],role:[121,19,26,85,90,53,92,14,119,131],scriptnam:19,test:[0,104,69,106,81,70,108,82,6,109,7,73,74,110,76,77,9,40,79,80,42,14,15,16,45,119,120,84,122,125,86,20,21,124,50,126,91,54,92,55,93,134,105,58,29,140,97,141,98,64,144,30,31,67],test_imag:[0,125,92,21,109],webob:79,node:[38,123,106,90,53,117,7,73,57],irclog:70,kvm:[58,26,79,104],intens:104,intent:90,consid:90,sql:[131,90],adminguid:123,ignor:121,time:[53,26,104,70,117],concept:[123,26,51,85,142,43],chain:106,skip:85,global:[121,19,26],focus:26,eauthent:119,llc:19,decid:131,depend:[38,48,79,90,58,73,65],zone:24,bpython:[19,43],supposedli:48,sourc:[121,19,0,104,123,79,70,73,8,65],string:[26,43],revalid:58,uml:[26,104],octob:90,word:26,exact:58,nodaemon:79,cool:70,organizationalunitnam:73,administr:[121,26,117,123,79,35,43,14,73,24,57,119],level:[123,85,121,48,142,92,119],rpc_unittest:[0,30,92,67,125],greenlet:[58,79,90],pnova:90,prevent:[53,119],blade:7,sign:[121,70,52,119],port:[117,52],addr:90,current:[121,19,104,35,106,26,79,132,117,109,7,73,57,85,119],gener:[121,26,0,123,40,52,90,117,132,73,31],gawk:[58,79],address:[121,19,56,104,123,106,26,90,53,35,117,85,24,57,119],along:119,wait:[31,131],box:[26,117,10],queue:[53,131,79,90],throughput:37,tunnelingnod:106,particularli:104,"95c71fe2":65,ipc:[26,43],semant:119,tweak:[79,104],modul:[1,2,3,4,5,6,7,9,11,12,13,15,16,17,18,20,21,22,23,27,28,29,30,32,33,34,36,123,39,40,41,42,44,45,46,47,49,50,52,77,55,78,59,60,61,62,63,64,66,67,68,69,71,72,74,75,76,54,79,80,81,82,83,84,86,87,88,89,91,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,112,113,114,115,116,118,119,120,122,124,125,126,58,128,129,130,132,133,134,135,136,137,138,139,140,141,143,144],ipi:[58,79],fake:[134,123,26,0,40,79,125,135,71,98,43,109,16,92],instal:[25,26,104,38,123,79,52,90,58,14,117,73,65,57],newslett:70,todai:48,live:[8,90,123,70,25],handler:[23,93,0,92,125],scope:26,checkout:104,minim:132,afford:[48,121],peopl:[132,48,123,70,90],pylint:79,enhanc:[92,119],easiest:90,behalf:121,focu:35,cat:[58,90],whatev:79,purpos:[121,79],heart:53,agent:[57,119],topic:14,critic:119,api_unittest:[0,109,92,125,80],occur:[26,117],alwai:[123,117,52],lxml:58,multipl:[117,123,26,104,10,48,79,90,53,131,14,109,7],write:[127,90,123,70,73],map:[106,123,119,117,121],aoe:[7,58,79],atao:131,clone:[65,104,90],intrus:142,membership:70,mai:[117,38,85,104,48,79,90,53,14,106,132,119],data:[85,48,52,142,92,132,73,119,131],man:31,hyperv:26,practic:73,favorit:90,inform:[19,10,26,70,92,117,31,119],"switch":[73,26,104,117,106],combin:119,zxvf:58,callabl:132,talk:[123,70,14,131],root_password_again:90,brain:48,use_ldap:104,still:[123,19,90],dynam:[26,131,117],group:[38,19,56,123,48,26,52,79,58,70,90,43,117,106,7,24,119],monitor:[134,0,47,125,79,142,92,14,37],polici:119,amqplib:79,avil:79,platform:[48,26,79],window:104,main:[123,65,14],scheduler_unittest:[141,0,125,92,97],non:[132,38],synopsi:19,initi:[104,90],nation:48,recap:57,now:[38,58,142,123,73],secgroup:119,introduct:[123,26,43,119,92],term:48,workload:123,name:[121,19,26,123,85,90,58,117,73],drop:104,crypto:[99,0,125,92,52],separ:[121,85,131,35],compil:73,replai:119,replac:[7,79,10],individu:[7,106,123,119,121],receipt:121,continu:[53,38,65,79,58],ensur:[53,58,142],wrap:119,keypair:[26,104,52,73,24,31,119],sql_connect:90,happen:132,subnet:[106,57,117,90],shown:[65,131],accomplish:[73,31,14,121],space:[38,104,117],internet:[106,26,70,52,117],she:[85,31],project_manag:85,state:[38,19,106,92,73,65],california:73,org:[58,19,70],care:104,thing:[104,73,40,31,90],place:[106,38,70,48],router:106,principl:58,think:26,first:[38,104,79,90,58,117,65,31],origin:[123,85,48,53,35,14,57],redhat:58,onc:[38,48,70,90,58,14,8,65],yourself:73,environemnt:90,bridgingnod:106,accesskei:[121,19],open:[123,79,70,35,52,117],size:[19,85,117,119],sharedipgroup:[0,109,92,125,32],given:[35,19,57,26,52],workaround:90,iaa:[48,26,123],cumul:119,draft:70,manager_id:85,forthcom:104,especi:131,copi:[106,38,52,73],specifi:[121,85,104,19,52,79,117,132,90,57],broadcast:90,forward:[131,52,90],soren:38,mostli:57,holder:121,than:[38,26],serv:[48,117],wide:[58,119],were:104,browser:8,pre:[1,2,3,4,5,6,9,11,12,13,15,16,17,18,20,21,22,23,27,28,29,30,32,33,34,36,75,41,42,44,45,46,47,49,50,77,55,78,59,60,61,62,63,64,66,68,71,72,74,39,76,54,80,81,82,83,84,86,87,89,91,94,95,96,98,99,100,101,102,103,105,107,108,110,112,113,114,115,116,118,120,122,124,126,58,128,129,130,133,136,137,138,139,140,141,143,144],san:26,ann:73,argument:[121,19,85,79,35,43],slap:79,dash:[26,117],test_api:[124,0,92,125,109],declare_flag:[0,125,20,67,92],recover:123,date:[38,19,79],destroi:104,xxxxx:10,note:[38,26,121,85,90,58,65,57],ideal:119,take:[53,38,104],noth:131,channel:70,begin:[53,121,90],sure:[38,10],normal:[19,85],tornado:[58,79],compress:19,paid:48,pair:[142,31],twistd_unittest:[91,0,125,92,67],later:70,drive:26,runtim:119,newer:58,show:[19,79],permiss:[121,26,104,119],xml:[73,10],onli:[117,121,26,104,48,79,90,53,35,14,106,85,57],explicitli:26,activ:[119,70],enough:117,sighup:90,variou:[53,121,26,40,104],get:[117,38,26,104,121,48,40,79,70,90,53,123,131,14,73,8,65,24],repo:58,ssl:73,cannot:[121,117],ssh:[106,73,31,104],requir:[38,26,121,48,79,70,90,52,117,65],bzr331:38,priviledg:14,where:[73,70,90],wiki:[123,79,70],kernel:[73,58],netadmin:[121,19,26],auth_driv:79,reserv:[73,52],xenserv:79,concern:[104,131],kmod:58,detect:142,review:[79,119],getattr:132,between:[123,26,10,106,79,90,53,142,117],"import":[73,26,10,121],across:[106,85,90],assumpt:[104,123,79,90],api_command:26,screen:[58,19,104],tut:[123,92],virt_unittest:[134,0,92,125,140],come:[58,70,90],region:24,imf:119,tutori:92,mani:[38,26,48,79,90,43,106,31],overview:[123,14,106,52,35,92,117],period:52,dispatch:53,swift:19,fixed_ip:90,mark:90,real_flag:[76,0,125,92,67],certifi:73,those:[26,142,52],"case":[90,131,119,69],process_unittest:[42,0,125,92,67],xcp_sdk:79,ctrl:104,canon:73,worri:90,blah:73,twistd:[136,0,125,92,67],develop:[121,19,104,123,40,26,127,92,119],saml:119,iscsi:[7,53,131,79,123],same:[121,85,10,106,26,90,58,43,117,57,119],paa:48,subdomain:109,vblade:[58,79],finish:[73,104],confidenti:119,driver:[134,26,0,125,10,69,106,49,40,79,97,135,132,43,119,7,101,92],someon:104,decompress:73,driven:123,capabl:[48,117],openldap:[58,79],extern:[79,90,131,117,57,119],tradition:119,appropri:[106,121],moder:119,pep8:79,without:[121,19,52,43,117,119],disassoci:[26,24],model:[18,121,0,56,69,48,125,53,123,92,14,106],rolenam:19,execut:[53,121,43,90],rest:[119,10],weekli:70,kill:104,touch:132,flavor:[0,36,92,125,109],samba:26,hint:79,except:[0,125,92,117,75,37,67],littl:[132,48],blog:[38,70],vulner:119,real:[40,70,90],mox:[58,79],around:[38,70,90],libc:38,swig:58,traffic:[106,92,117],world:52,server:[0,104,106,34,109,73,38,79,117,119,14,123,48,125,52,90,53,58,130,92,57,35,65,67,131],appic:73,dnsmasq:[106,26,79,117,58],either:[19,79,117,119],cascad:123,output:[53,19,24,104],manag:[68,0,103,106,109,85,102,8,7,73,111,123,10,3,79,43,14,119,121,19,117,89,125,52,90,53,35,92,132,134,135,26,59,97,31,131],udev:58,confirm:[38,65,24],rpm:58,definit:[53,48,119,123],token:119,exit:[19,104],inject:[26,57,31],refer:[135,123,31,92],test_auth:[0,29,92,125,109],power:48,broker:[53,92,119],bazaar:70,central:131,stand:70,act:[57,117,90],bond:117,processor:85,road:73,ansolab:73,euca2ool:[38,121,79,58,14,24,31],effici:26,unregist:119,cloudserv:26,your:[121,26,104,40,79,70,90,52,73],loc:119,log:[142,70],her:85,start:[38,19,104,26,79,35,43,117,73,8,65,57],interfac:[123,26,104,35,79,90,53,58,14,117,57,119],low:119,lot:104,fixed_rang:[35,90],programmat:53,fcbj2non:73,bundl:[121,26,52,43,73,8,24],amongst:10,categor:[121,119,67],congratul:73,pull:104,dirti:[92,119],possibl:[79,90],"default":[121,26,104,79,90,58,117,57,119],bucket:[0,125,61,90,92,73,93,119],virsh:[73,104],expect:[38,73],uid:[38,119],creat:[38,19,85,117,121,26,52,79,53,35,90,14,73,7,8,24,57,31,119],certain:[121,79],use_ppa:65,file:[134,121,19,88,10,104,106,79,70,90,135,58,52,73,93,85,92],again:73,googl:10,fakeldap:[11,0,40,125,92],personnel:121,hybrid:[48,92,119,123],field:121,cleanup:104,collis:7,rdbm:79,you:[104,85,70,8,73,38,10,40,79,43,14,121,19,48,52,90,58,131,26,142,65,92],import_class:[26,43],architectur:[123,104,53,142,131,14],fake_subdomain:[79,90],track:79,vocabulari:119,pool:[48,26,117],cloudpip:[26,0,1,125,52,135,92,117],directori:[38,104,52,90,73,119],descript:[123,85,56,26,19,79,53,35],goe:52,chown:90,libvirt_typ:104,potenti:[131,119],demo:8,all:[121,19,104,10,35,26,70,79,58,142,43,14,117,85,90,57,119,131],dist:73,consider:142,illustr:[26,117],lack:69,ala:106,runtime_flag:[0,125,92,67,120],abil:[48,121],follow:[38,19,104,121,106,26,52,79,53,123,70,14,117,73,90,85,119],disk:[134,38,0,104,106,125,79,135,58,92,7,100],secretkei:[121,19],auth_manag:[26,43],init:90,program:[48,123,79,92],project_id:[121,85,52],liter:[1,2,3,4,5,6,9,11,12,13,15,16,17,18,20,21,22,23,27,28,29,30,32,33,34,36,75,41,42,44,45,46,47,49,50,77,55,78,59,60,61,62,63,64,66,68,71,72,74,39,76,54,80,81,82,83,84,86,87,89,91,94,95,96,98,99,100,101,102,103,105,107,108,110,112,113,114,115,116,118,120,122,124,126,128,129,130,133,136,137,138,139,140,141,143,144],host_ip:104,managingsecur:123,util:[26,0,119,48,125,85,58,43,14,62,132,24,67,92],mechan:[48,26],failur:[123,69],veri:[123,26,79,70,90,58,67],vishvananda:90,bridge_stp:90,list:[38,19,51,104,121,79,52,90,35,43,73,65,85],user_nam:90,fakeldapdriv:79,past:[38,73],syslog:37,zero:79,design:[123,26,70],pass:[53,57,117,52,119],further:[92,119],what:[48,19,123,79,90],sun:119,section:[19,26,79,35,92,14],abl:[8,79,104],brief:[123,56,35],overload:119,rackspac:[53,73,26],delet:[121,19,104,85,53,35,24,119],version:[38,19,104,79,70,58,14,24,119],intersect:[121,26],method:[132,119,52,10,79],variat:57,trunk:[104,117],renegoti:52,modifi:[121,19,24],valu:[85,104],search:[123,92],mac:[57,117],amount:[48,26,43,131],pick:104,action:[121,19,142],via:[26,14,10,52,43,117,119,131],depart:121,ldapdriv:[0,104,125,79,92,119,133],ask:70,establish:[53,119],select:[35,19,90],rackspacecloud:73,xenwiki:79,regist:[73,24,119,70],two:[26,57,117,14],organizationnam:73,virt:[33,134,26,0,40,125,4,5,71,43,46,92],more:[38,19,104,10,106,26,79,35,43,14,117,73,90,31,119],flat:[123,26,90,35,131,14,57],flag:[121,19,0,10,123,106,125,26,52,79,58,51,43,14,119,132,35,90,112,67,92],particular:[19,26,79],cacert:73,isloat:123,none:[73,85,35,121],endpoint:[53,135,92,109],hour:[48,52],cluster:[117,90],outlin:[132,26],dev:79,learn:[70,14,79],deb:65,dhcpbridg:73,scan:119,challeng:[92,119],registr:119,share:[48,26,31,119,131],accept:132,minimum:[119,117],cours:73,interconnect:119,goal:[142,117],secur:[121,26,56,104,123,106,52,142,43,117,31,119,131],rather:[26,131],anoth:[26,79,90],divis:132,orukptrc:73,simpl:[26,0,97,10,125,52,90,43,138,92],distro:[73,58,123],resourc:[85,48,79,53,35,14],vlan:[123,26,56,104,10,106,79,52,90,53,35,131,14,117,7,85,57],rbac:[121,26,92,119],pat:73,datastor:[106,79,119],associ:[123,26,106,85,52,117,73,24,119],github:90,confus:132,author:[121,19,135,26,53,92,24,119,43],callback:131,allocate_address:26,egg:73,"1b0bh8n":73,help:[19,24,131,90],soon:[52,10],uvh:58,i386:58,through:[121,26,104,10,35,48,79,52,90,53,58,142,70,73,31],paramet:119,style:[26,57,119],binari:[26,79,10,131],might:104,computenod:106,wouldn:38,good:[79,70],"return":[132,121,85,79,119],timestamp:119,framework:53,detach:[53,26,24],mysql_pass:[104,90],document:[134,123,26,104,106,40,79,70,90,132,31],troubleshoot:73,authent:[135,26,10,90,53,142,92,119],easili:[53,121,90],achiev:[26,119],test_ratelimit:[0,125,92,50,109],found:[123,26,117,10],intervent:48,subsystem:[58,79],"340sp34k05bbe9a7":73,api_integr:[0,125,92,82,109],hard:[26,104],connect:[134,19,0,125,48,46,26,52,35,43,117,106,73,119,92],todd:[7,106,104,123],cc_host:90,http:[123,19,48,26,70,79,53,58,131,73,65,90],beyond:90,todo:[117,123,56,104,48,111,40,90,53,127,142,92,14,106,7,65,57],event:[53,79,70],ftp:58,research:123,john_project:[121,85],print:[121,35],postgr:90,proxi:[119,90],advanc:14,pub:58,dhcpdiscov:26,reason:90,base:[38,19,10,121,48,26,79,53,123,43,14,132,73,90,119,131],put:[38,104,123,52,73,111,31],loop0:79,recv:65,bash:[121,90],launch:[121,26,117,79,52,43,14,73,57,85,119,92],script:[38,19,104,121,79,52,90,70,43,73,65,31],heartbeat:90,assign:[121,19,106,26,53,35,117],use_mysql:[104,90],feed:70,major:[53,131],feel:[58,70],misc:[135,92,67],number:[19,26,85,52,90,35,117,7,119],done:[38,104,123,48,58,65],blank:[121,19],stabl:[123,65],losetup:79,differ:[26,104,10,48,79,35,131,117,109,132,57],guest:[57,90],projectnam:[19,85],interact:[121,26,10,123,79,53,35,14],dbdriver:[0,104,125,41,79,92,119],store:[38,0,123,66,125,79,70,53,92,65,93,31,119,131],schema:119,option:[65,19,90,31,79],relationship:[92,119],similarli:106,part:[8,123,79,73],eventu:90,kind:[35,131],yum:58,remot:26,seamlessli:119,bridg:[123,26,104,10,90,35,131,117,57,119],consumpt:85,toward:131,comput:[0,106,70,72,73,38,10,79,43,117,119,19,47,123,48,125,90,53,58,92,57,134,26,107,35,59,142,100,131],packag:[38,65,79,10,73],dedic:[119,117],euca:[104,73,24,31,90],outbound:117,built:[79,131],lib:[38,73],self:48,also:[123,19,104,10,48,26,52,79,58,70,117,106,90,119],folk:90,gpgcheck:58,distribut:[106,58,79,104],"160gb":26,previou:73,quota:[19,0,26,125,85,92,63,119],pipelib:[0,1,92,52,125],most:[26,104,10,106,90,131,117,24,57],plan:119,dai:[48,24,40,73],bzr:[58,65,104,70,90],clear:106,clean:104,latest:[58,38,65,90,73],visibl:117,wsgi:[0,87,10,125,92,67],cdn:[73,79],session:[0,104,69,125,92,39],cdp:119,fine:104,find:[14,70,131,117,24,92],firewal:[106,142,119,117,121],copyright:19,networkmanag:10,solut:131,queu:[53,26],instancemonitor:73,factor:79,localitynam:73,unus:[7,117],express:106,"12t21":73,mainten:[26,43],fastest:[73,14],restart:90,rfc:117,common:[121,79,90,135,92,117,109,67],remov:[121,19,85,53,57,119],crl:52,arp:[57,119,117],certif:[26,52,43,117,73,119,92],set:[38,19,104,10,121,79,52,90,53,127,43,117,85,119],ifconfig:104,see:[38,19,51,104,121,106,26,70,79,58,123,43,14,7,73,65,31,119],bare:90,arg:[19,43],ari:73,kpartx:58,experi:79,signatur:[73,121],c2477062:73,isol:[85,117],ipython:[19,43],both:[26,106,90,142,24,57],last:[19,90],boto:79,context:[0,125,67,129,92],load:[26,10,79,58,43,132,73],simpli:[121,57],point:[132,8,70],tgz:73,schedul:[38,26,0,103,138,135,131,2,49,125,79,97,90,53,35,43,73,92],addressingnod:106,linux:[123,26,79,52,35,117,57],throughout:[53,67],backend:[134,123,106,79,131,119],g06qbntt:73,java:48,devic:[26,10,48,90,58,131],secret:[73,19,26,119,121],strategi:[35,26,10],fire:90,imag:[0,106,109,85,5,8,73,111,123,24,56,10,43,14,118,119,121,19,88,125,52,90,53,139,92,93,57,134,26,137,113,31,131],understand:[132,26],demand:[7,48],look:[106,119,90],straight:26,"while":[38,131,104,117,106],kick:90,abov:52,error:[73,121,90],gmt:73,ami:[104,73,31,119,79],xvzf:73,larger:[26,131],vol:24,itself:119,cento:[73,58],bridge_maxwait:90,network_manag:[10,90],grant:90,belong:117,read:[134,38,26,79,70,90,35,14,73,65],decod:52,zope:79,novarc:[73,19,121,85,90],optim:[48,131,90],wherea:121,user:[104,85,8,73,38,56,43,117,119,121,19,14,48,52,90,53,35,131,24,26,142,31],robust:26,typic:[53,79,70,119],recent:131,stateless:119,lower:92,task:[53,123,132,14],entri:[38,90,53,117,73,57],nova_comput:10,pymox:79,spend:104,propos:119,explan:131,vpn_public_port:52,collabor:70,shape:48,mysql:[104,58,79,90],openstack:[0,70,36,6,109,73,110,38,10,40,81,117,118,19,125,86,21,123,124,50,90,22,58,130,92,78,26,60,29,98,65,32],cut:79,vswitch:35,ganglia:37,subsequ:53,build:[104,79,90,58,73,8],bin:[38,58,90,73],vendor:[53,119],format:[121,119],nginx:58,bit:[132,73,26],formal:70,success:121,docutil:[1,2,3,4,5,6,9,11,12,13,15,16,17,18,20,21,22,23,27,28,29,30,32,33,34,36,75,41,42,44,45,46,47,49,50,77,55,78,59,60,61,62,63,64,66,68,71,72,74,39,76,54,80,81,82,83,84,86,87,89,91,94,95,96,98,99,100,101,102,103,105,107,108,110,112,113,114,115,116,118,120,122,124,126,128,129,130,133,136,137,138,139,140,141,143,144],resolv:[73,90],manifest:73,collect:[48,70],princip:85,"boolean":90,popular:123,modprob:58,scapi:106,encount:79,creation:[26,119,43,117,90],some:[123,26,104,10,40,70,58,92,132,131],back:[73,79,70],understood:142,sampl:[123,85,48,79,14,73],flatmanag:[10,90],scale:[48,123],novascript:90,"512mb":104,prot:19,per:[26,79,52,135,92,117,57,119],pem:[73,31,104],larg:[7,48,119,10],cloud:[0,104,70,109,73,123,12,79,117,119,121,19,14,48,125,90,53,35,92,26,142,143],stateorprovincenam:73,nose:79,machin:[38,26,104,10,79,52,90,53,131,14,117,73,119],run:[104,106,7,73,38,10,79,43,117,119,19,14,48,52,90,53,58,131,132,24,57,26,35,65,31],agreement:70,step:[58,38,65,90,73],prerequisit:38,wget:[73,58],fakemanag:[40,92],"1gb":[79,117],block:[26,10,52,53,58,131,119],instance_typ:[134,0,72,125,92],within:[121,85,104,106,117,7,119],contributor:70,institut:48,question:70,"long":[132,73,119,52],includ:[121,19,26,70,79,53,65,90],gflag:[19,51,26,10,79,58,43,65],routingnod:106,netomata:106,blueprint:70,properli:43,openstackppa:65,link:[123,26,65,70,131],eauth:[92,119],don:[48,121,79,90],line:[38,123,79,90,73,24,31],objectstore_unittest:[54,93,0,92,125],sdk:79,info:[73,40,111,52,123],cia:119,consist:[106,85,52,35],planet:70,similar:[53,26,57,119,117],my_file_path:79,ec2_url:90,repres:[26,117],chat:70,home:[38,90],curl:[58,79],amqp:[106,26,131,90],titl:[0,125],nat:[106,117],scrub:[85,104],gigabyt:[19,26],lucid:[73,65,104,90],loopback:90,depth:131,nasa:123,addgroup:90,pluggabl:[123,26,43,104],code:[26,104,79,70,90,52,117,73,132,8,65],edg:79,queri:[53,106,119,90],quarantin:121,privat:[123,26,106,52,35,117,48,73,31,119],friendli:70,send:[73,31,10],sens:132,sent:73,unzip:[38,121,90,73],volum:[101,0,85,7,73,123,56,10,40,3,79,43,119,19,125,90,135,131,24,53,26,92],spoof:[57,117],relev:[53,70,90],"try":73,race:7,"0ubuntu2":38,sourcabl:85,pleas:58,fortun:14,cron:52,download:[48,24,58],append:85,compat:[53,123,24,119,90],index:[123,92],access:[121,19,117,48,26,52,92,14,73,85,119],fakeaoedriv:[40,92],can:[104,85,70,73,38,10,79,43,14,119,121,19,117,123,48,52,90,58,131,132,26,35,142,65,31],"17d1333t97fd":73,ec2_secret_kei:73,let:[121,40],ubuntu:[38,104,123,79,90,73,65],becom:121,sinc:[121,119,10,90],convert:131,hypervisor:[53,131],euca_repo_conf_eof:58,technolog:[48,26,35,90],cert:[73,52,90],network_unittest:[64,0,92,125,106],chang:[121,104,10,79,52,90,58,119],chanc:[2,0,125,92,97],revoc:[92,52],control:[121,19,117,123,48,26,70,90,53,35,14,106,85,57,119],danger:31,revok:[24,52],appli:[119,90],app:10,gatewai:[57,117,90],apt:[38,65,79,90],api:[0,104,69,36,6,109,73,110,38,114,10,135,12,40,79,81,142,117,83,16,17,119,84,121,85,125,86,21,123,124,131,50,52,90,22,130,92,78,94,53,26,137,28,60,29,118,98,143,31,32],redi:[38,65,79],test_flavor:[81,0,92,125,109],pxe:90,from:[121,19,104,123,48,26,52,79,53,70,142,43,117,7,73,65,57,85],usb:26,zip:[121,19,85,52,90,73],commun:[123,26,106,79,70,53,142,131,117],next:[7,90],implic:53,few:58,usr:[73,58,90],inet:90,remaind:119,rabbit:[43,90],account:[119,70],retriev:[73,131],carrot:[58,79],obvious:7,fetch:119,employe:121,quickstart:[73,123,104,14,90],tar:[73,79,58],process:[38,0,96,10,123,48,125,52,90,53,92,14,119,73,67,104],lock:53,sudo:[38,104,79,90,73,8,65],high:[123,142,52,90],tag:[26,117,70],onlin:70,gcc:58,rabbit_host:90,filepath:79,instead:[123,26,43,10,104],aoe_rules_eof:58,await:73,physic:[53,35,26,119,90],alloc:[121,85,106,52,53,117,7,24,119],essenti:[26,43],bind:90,issu:[53,90],allow:[121,26,79,52,35,131,117,132,31,119],move:[131,26,43,90],meter:48,lockfil:79,infrastructur:[53,48,26,119,117],openvpn:52,therefor:[31,117],crash:106,python:[38,19,51,26,79,58,43,132,73,65,90,131],auto:90,handi:121,auth:[26,0,104,60,11,131,40,41,68,125,79,116,43,109,133,119,92],devel:58,front:119,strive:123,anyth:[132,119],edit:[58,65,104,70,90],test_sharedipgroup:[0,86,92,125,109],mode:[123,26,14,35,52,90,58,117,57],use_project_ca:52,cloudfil:73,product:[38,24,117,90],consum:48,"static":106,ec2:[121,26,0,137,10,123,28,12,125,79,90,92,109,83,85,94],citrix:[123,79,117],our:[73,70],itsec:[121,19],fake_flag:[0,125,92,67,105],special:[26,85,117],out:[123,10,48,79,117,73,57],variabl:[121,19,85,104],contigu:117,req:58,reboot:[53,73,24,31,119],categori:[19,43],suitabl:79,hardwar:[123,85,106,79,53,117,37,119],dhcp:[26,10,106,90,35,117,57],insid:[117,26,70,52,104],releas:[123,65,24,58],could:[123,106,79,35,117,8,119],vpn_start:35,segreg:117,keep:[26,57,52,90],length:73,enforc:[106,119,117],outsid:[35,52],organiz:85,softwar:[26,48,79,90,53,73],echo:[65,90],vlan_start:35,puppet:90,owner:[121,90],prioriti:[123,104],newus:8,licens:70,mkdir:90,system:[104,70,109,7,73,38,10,79,117,119,121,85,14,123,48,90,58,92,132,57,26,35,142,31,131],messag:[38,19,26,121,106,79,90,53,131,65],attach:[26,10,53,131,7,24,57,119],attack:[142,119],volume_group:79,aoetool:[58,79],termin:[121,26,104,53,24,31,119],"0x10001":73,"final":58,shell:[132,19,43],eavesdrop:70,volumedriv:132,shelf:7,rsa:73,botleneck:58,rst:[123,0],haven:[121,67],structur:[85,119],metadatarequesthandl:[83,0,92,125,109],seriou:123,sec:119,py2:73,cc_addr:90,have:[121,26,104,123,48,40,79,52,90,117,73,65,57,119],tabl:[123,92,119,90],need:[121,19,104,123,48,26,52,79,58,117,132,73,65,90,119],border:142,rout:[53,58,79,10,117],accuraci:58,which:[38,26,10,106,85,70,90,53,58,131,65,119],datacent:90,soap:119,singl:[38,104,123,70,90,53,58,7,73,65,57,119],unless:104,deploy:[123,10,48,79,70,90,131,14],discov:[7,58],deploi:[48,90],vish:[7,123],segment:117,why:48,url:[58,119],request:[121,85,10,70,53,92,73,119,131],snapshot:24,xenapi:[33,134,0,125,79,92],determin:[53,79],occasion:53,fact:106,verbos:[79,90],bring:48,cloudcontrol:106,locat:[73,119,90],launchpad:[104,19,65,70,90],start_on_boot:90,should:[121,104,123,48,79,90,132,117,7,73],local:[73,26,121],contribut:[123,117,70],familiar:14,autom:48,csrc:[48,123],graduat:73,increas:90,lazyplugg:[26,43],enabl:[123,35,48,53,58,142],organ:[121,35,123],"4e6498a2":73,xmlsoft:58,sudoer:104,integr:[135,119,92,88,90],partit:26,contain:[48,19,85,117,90],grab:[7,65,57,52],nist:[48,123],view:19,debconf:90,legaci:[106,92,119],bridge_fd:90,knowledg:70,elast:[48,117],network_s:[35,90],mountainview:73,backchannel:119,modulu:73,quota_unittest:[108,0,125,92,119],pattern:43,boundari:142,written:[123,58],cloud101:123,progress:38,email:48,kei:[121,19,123,106,26,52,142,117,73,65,85,31,119],ec2_access_kei:73,lvm:[7,53],job:119,entir:[106,79],disconnect:52,eclips:48,problem:[7,38,79,104],addit:[123,79,58,117,57,119],plugin:[26,43],admin:[121,19,0,125,117,123,106,109,85,52,90,35,92,14,73,8,94],wsgiref:79,vgcreat:79,etc:[123,26,104,48,79,90,58,106,73,65,57,119],instanc:[117,121,19,85,56,104,48,26,52,53,35,142,14,106,7,73,24,57,31,119],runinst:119,vpn_public_ip:52,guidelin:123,chmod:[73,31,104],distinguish:73,rpc:[26,0,10,106,125,43,95,67,92],respect:35,qemu:[58,26,104],quit:131,addition:119,compos:53,compon:[123,51,106,79,90,53,92,109,37,131],json:73,uroot:90,electr:48,immedi:117,upcom:70,inbound:117,assert:119,present:[26,79],replic:[131,10,90],multi:[73,123,90],align:119,defin:[132,121,26,119,90],ultra:10,layer:[135,119,92,117,69],libxml2:58,flags_unittest:[122,0,125,92,67],archiv:[73,90],fiddl:104,welcom:[123,70],networkcontrol:106,parti:119,member:85,handl:[53,117],"35z":73,slave:90,hostnam:53,upon:[53,121],libvirt:[7,131,79,90],m2crypto:79,access_unittest:[144,0,125,92,119],mysql_prese:90,audit:[142,119],off:[119,90],center:[48,92,119],well:[38,121,79,70,131,109,67],exampl:[121,26,104,123,48,85,43,117,57,31,119],command:[104,106,85,73,123,79,43,14,121,19,52,90,53,58,131,132,24,26,35,142,65,31],choos:90,usual:[7,132,70],xen:[26,79,131],obtain:[57,43],virtual:[134,135,26,104,10,52,53,35,92,73,119,131],simultan:117,adv:65,web:[26,48,53,131,8,119],rapid:48,priorit:119,add:[121,19,56,104,123,79,85,90,58,92,117,73,24,57,31,119],valid:[0,104,115,125,92,67],notauthor:85,match:[73,119],pubsub:119,branch:[104,90],howto:[123,92],prese:90,ldconfig:38,realiz:53,five:[121,19,119],know:[26,90],password:[104,31,90],python2:[73,58],insert:[106,117,123],resid:14,like:[123,26,48,79,70,90,58,131,73,57,119],cloud_unittest:[0,9,92,125,109],necessari:53,page:[123,26,79,70,92,65,31],project_nam:90,eucalyptu:58,twitter:70,"export":[121,19,85,90,7,73],trucker:73,small:[73,26,43,117,131],librari:[135,58,79,67,92],tmp:73,feder:119,lead:132,broad:[53,14],avoid:[7,123,131],reconsid:132,leav:[121,19],investig:119,usag:[121,31,14,104],host:[38,19,104,123,106,26,52,79,53,58,35,70,14,117,132,73,65,90,57,131],although:[132,85,104],user_id:[121,85],about:[134,123,19,104,40,26,70,79,35,14],actual:[26,79,90],anyjson:79,own:[123,117,52],objecstor:[93,92],import_object:[26,43],easy_instal:58,automat:[121,26,117,52,90],automak:58,"56m":73,rectifi:123,merg:[7,123],pictur:119,transfer:[53,48,142],snmp:119,mykei:[73,119],much:[48,26,43],"var":[38,104],cloudadmin:90,"function":[121,26,14,79,53,43,117],baseurl:58,inlin:79,bug:[19,70],deassoci:119,count:79,made:[73,90],wish:[26,85],googlecod:[58,79],displai:[19,85],asynchron:119,record:[106,119],below:[123,19,131,79,90],limit:[121,26,85,92,117,119],signer:[0,116,92,119,125],otherwis:[121,19,79,58],dmz:117,epel:58,pii:119,evalu:[53,90],dure:90,twist:[58,65,131],implement:[123,26,106,40,79,52,35,92,117,132,57,119],pip:79,probabl:[132,26,104,90],boot:[26,90,117,73,57,31],detail:[79,19,106,26,90,92,117,132,73,119],mehod:73,other:[121,26,104,69,123,79,70,90,53,58,35,131,117,132,73,119,142],futur:[135,35,92,88],rememb:121,varieti:104,"100m":79,singleton:132,debian:[73,65,58],stai:26,sphinx:123,nogroup:38,reliabl:26,rule:[121,106,52,58,117,119],emerg:48},objtypes:{},titles:["<no title>","The nova..cloudpipe.pipelib Module","The nova..scheduler.chance Module","The nova..volume.manager Module","The nova..virt.libvirt_conn Module","The nova..virt.images Module","The nova..tests.api.openstack.test_servers Module","Storage Volumes, Disks","Live CD","The nova..tests.cloud_unittest Module","Nova Daemons","The nova..auth.fakeldap Module","The nova..api.ec2.cloud Module","The nova..adminclient Module","Administration Guide","The nova..tests.compute_unittest Module","The nova..tests.api.fakes Module","The nova..db.api Module","The nova..db.sqlalchemy.models Module","nova-manage","The nova..tests.declare_flags Module","The nova..tests.api.openstack.test_images Module","The nova..api.openstack.faults Module","The nova..objectstore.handler Module","Euca2ools","Installing the Live CD","Nova Concepts and Introduction","The nova..network.linux_net Module","The nova..api.ec2.apirequest Module","The nova..tests.api.openstack.test_auth Module","The nova..tests.rpc_unittest Module","Managing Instances","The nova..api.openstack.sharedipgroups Module","The nova..virt.xenapi Module","The nova..server Module","Networking Overview","The nova..api.openstack.flavors Module","Monitoring","Installing on Ubuntu 10.10 (Maverick)","The nova..db.sqlalchemy.session Module","Fake Drivers","The nova..auth.dbdriver Module","The nova..tests.process_unittest Module","The nova-manage command","The nova..service Module","The nova..tests.auth_unittest Module","The nova..virt.connection Module","The nova..compute.monitor Module","Cloud Computing 101","The nova..scheduler.driver Module","The nova..tests.api.openstack.test_ratelimiting Module","Flags and Flagfiles","Cloudpipe – Per Project Vpns","Service Architecture","The nova..tests.objectstore_unittest Module","The nova..test Module","Object Model","Flat Network Mode (Original and Flat)","Installation on other distros (like Debian, Fedora or CentOS )","The nova..compute.manager Module","The nova..api.openstack.auth Module","The nova..objectstore.bucket Module","The nova..utils Module","The nova..quota Module","The nova..tests.network_unittest Module","Installing on Ubuntu 10.04 (Lucid)","The nova..objectstore.stored Module","Common and Misc Libraries","The nova..auth.manager Module","The Database Layer","Getting Involved","The nova..virt.fake Module","The nova..compute.instance_types Module","Installing Nova on a Single Host","The nova..tests.volume_unittest Module","The nova..exception Module","The nova..tests.real_flags Module","The nova..tests.validator_unittest Module","The nova..api.openstack.backup_schedules Module","Getting Started with Nova","The nova..tests.api_unittest Module","The nova..tests.api.openstack.test_flavors Module","The nova..tests.api_integration Module","The nova..api.ec2.metadatarequesthandler Module","The nova..tests.api.test_wsgi Module","Managing Projects","The nova..tests.api.openstack.test_sharedipgroups Module","The nova..wsgi Module","Glance Integration - The Future of File Storage","The nova..network.manager Module","Installing Nova on Multiple Servers","The nova..tests.twistd_unittest Module","Developer Guide","Objectstore - File Storage Service","The nova..api.ec2.admin Module","The nova..rpc Module","The nova..process Module","Scheduler","The nova..tests.api.openstack.fakes Module","The nova..crypto Module","The nova..compute.disk Module","The nova..volume.driver Module","The nova..manager Module","The nova..scheduler.manager Module","Nova Quickstart","The nova..tests.fake_flags Module","Networking","The nova..compute.power_state Module","The nova..tests.quota_unittest Module","API Endpoint","The nova..tests.api.openstack.test_faults Module","Managing Images","The nova..flags Module","The nova..image.service Module","The nova..db.sqlalchemy.api Module","The nova..validate Module","The nova..auth.signer Module","VLAN Network Mode","The nova..api.openstack.images Module","Authentication and Authorization","The nova..tests.runtime_flags Module","Managing Users","The nova..tests.flags_unittest Module","Welcome to Nova’s documentation!","The nova..tests.api.openstack.test_api Module","<no title>","The nova..tests.service_unittest Module","Setting up a development environment","The nova..fakerabbit Module","The nova..context Module","The nova..api.openstack.servers Module","Nova System Architecture","Services, Managers and Drivers","The nova..auth.ldapdriver Module","Virtualization","Module Reference","The nova..twistd Module","The nova..api.ec2.images Module","The nova..scheduler.simple Module","The nova..objectstore.image Module","The nova..tests.virt_unittest Module","The nova..tests.scheduler_unittest Module","Security Considerations","The nova..api.cloud Module","The nova..tests.access_unittest Module"],objnames:{},filenames:["code","api/nova..cloudpipe.pipelib","api/nova..scheduler.chance","api/nova..volume.manager","api/nova..virt.libvirt_conn","api/nova..virt.images","api/nova..tests.api.openstack.test_servers","devref/volume","installer","api/nova..tests.cloud_unittest","adminguide/binaries","api/nova..auth.fakeldap","api/nova..api.ec2.cloud","api/nova..adminclient","adminguide/index","api/nova..tests.compute_unittest","api/nova..tests.api.fakes","api/nova..db.api","api/nova..db.sqlalchemy.models","man/novamanage","api/nova..tests.declare_flags","api/nova..tests.api.openstack.test_images","api/nova..api.openstack.faults","api/nova..objectstore.handler","adminguide/euca2ools","livecd","nova.concepts","api/nova..network.linux_net","api/nova..api.ec2.apirequest","api/nova..tests.api.openstack.test_auth","api/nova..tests.rpc_unittest","adminguide/managing.instances","api/nova..api.openstack.sharedipgroups","api/nova..virt.xenapi","api/nova..server","adminguide/managing.networks","api/nova..api.openstack.flavors","adminguide/monitoring","adminguide/distros/ubuntu.10.10","api/nova..db.sqlalchemy.session","devref/fakes","api/nova..auth.dbdriver","api/nova..tests.process_unittest","adminguide/nova.manage","api/nova..service","api/nova..tests.auth_unittest","api/nova..virt.connection","api/nova..compute.monitor","cloud101","api/nova..scheduler.driver","api/nova..tests.api.openstack.test_ratelimiting","adminguide/flags","devref/cloudpipe","service.architecture","api/nova..tests.objectstore_unittest","api/nova..test","object.model","adminguide/network.flat","adminguide/distros/others","api/nova..compute.manager","api/nova..api.openstack.auth","api/nova..objectstore.bucket","api/nova..utils","api/nova..quota","api/nova..tests.network_unittest","adminguide/distros/ubuntu.10.04","api/nova..objectstore.stored","devref/nova","api/nova..auth.manager","devref/database","community","api/nova..virt.fake","api/nova..compute.instance_types","adminguide/single.node.install","api/nova..tests.volume_unittest","api/nova..exception","api/nova..tests.real_flags","api/nova..tests.validator_unittest","api/nova..api.openstack.backup_schedules","adminguide/getting.started","api/nova..tests.api_unittest","api/nova..tests.api.openstack.test_flavors","api/nova..tests.api_integration","api/nova..api.ec2.metadatarequesthandler","api/nova..tests.api.test_wsgi","adminguide/managing.projects","api/nova..tests.api.openstack.test_sharedipgroups","api/nova..wsgi","devref/glance","api/nova..network.manager","adminguide/multi.node.install","api/nova..tests.twistd_unittest","devref/index","devref/objectstore","api/nova..api.ec2.admin","api/nova..rpc","api/nova..process","devref/scheduler","api/nova..tests.api.openstack.fakes","api/nova..crypto","api/nova..compute.disk","api/nova..volume.driver","api/nova..manager","api/nova..scheduler.manager","quickstart","api/nova..tests.fake_flags","devref/network","api/nova..compute.power_state","api/nova..tests.quota_unittest","devref/api","api/nova..tests.api.openstack.test_faults","adminguide/managing.images","api/nova..flags","api/nova..image.service","api/nova..db.sqlalchemy.api","api/nova..validate","api/nova..auth.signer","adminguide/network.vlan","api/nova..api.openstack.images","devref/auth","api/nova..tests.runtime_flags","adminguide/managing.users","api/nova..tests.flags_unittest","index","api/nova..tests.api.openstack.test_api","api/autoindex","api/nova..tests.service_unittest","devref/development.environment","api/nova..fakerabbit","api/nova..context","api/nova..api.openstack.servers","devref/architecture","devref/services","api/nova..auth.ldapdriver","devref/compute","devref/modules","api/nova..twistd","api/nova..api.ec2.images","api/nova..scheduler.simple","api/nova..objectstore.image","api/nova..tests.virt_unittest","api/nova..tests.scheduler_unittest","adminguide/managingsecurity","api/nova..api.cloud","api/nova..tests.access_unittest"]}) \ No newline at end of file +Search.setIndex({objects:{"nova.virt":{fake:[40,0,1]},nova:{exception:[67,0,1],validate:[67,0,1]},"nova.compute":{instance_types:[134,0,1],power_state:[134,0,1]}},terms:{prefix:[57,90],tweet:70,ip_rang:[139,20,43],novadev:73,under:[52,119],spec:[20,43,70,119],ramdisk:73,digit:119,everi:[27,51],dectect:69,cmd:67,eucatool:104,upload:[73,25,119],rabbitmq:[57,38,27,65,79],ifac:90,direct:15,chef:90,second:[27,51],ebtabl:[57,56,79,117],aggreg:[134,40,131,70],libxslt:57,even:106,keyserv:65,eventlet:[57,79],commonnam:73,poison:[56,117],"new":[134,38,20,104,121,123,40,85,70,51,57,43,117,132,73],net:[20,70,90,57,65,67],maverick:[38,73],metadata:[117,51,119],ongo:[27,43],behavior:123,mem:[134,40],never:[134,40],here:[134,38,27,10,123,40,90,139,57,117,65,111],path:[132,106,20,43,92],aki:73,permit:[52,121],bashrc:90,unix:79,refenc:15,total:[134,27,40,85,119],highli:[123,79,90],describ:[123,20,104,48,27,70,142,43,15,117,73,25,119],would:[132,79,119,69],noarch:57,call:[134,27,10,40,51,117,119],python26:57,recommend:[104,73,79,90],nate:[106,117],type:[38,48,70,90,52,139,92,119,73,65,67],until:[73,27],eucalyptussoftwar:57,relat:[134,20,27,79,70,52,43,119],"10gb":[104,117],notic:[57,79],tx_err:[134,40],warn:38,relai:[52,70],vpn:[20,106,27,51,135,139,43,117,73,119,92],must:[134,38,27,121,40,85,131,117,8,65,119],join:[117,70],err:[134,57,40],"0at28z12":73,setup:[104,79,90,57,117,73],work:[134,38,27,48,40,79,51,90,52,15,132,73,56,119],conceptu:119,rework:[7,123],hansen:38,root:[38,27,104,90,73,32],overrid:79,defer:[134,38,40,131],give:[134,121,104,123,40,51,65],vpn_start:139,indic:[134,123,20,40,43,92],want:[38,20,104,48,27,90,43,117,65],end:[119,51,90],turn:51,how:[123,27,104,70,90,15,117,56,119],env:[104,90],answer:70,verifi:121,config:[73,90],updat:[121,20,106,51,90,57,43,117,73,65,119],compute_unittest:[134,16,0,92,125],mess:104,after:[7,121,123,79,104],diagram:[48,27,92,117,106],befor:[134,27,104,40,79,73,56,32],test_wsgi:[84,0,92,125,109],demonstr:117,fedora:[73,57],attempt:[132,27,85,104],third:119,classmethod:[134,40],opaqu:[134,40],bootstrap:90,credenti:[73,85,119,121],perform:[134,121,27,117,40,79,90,43,15,7],"18th":90,environ:[121,20,104,123,48,85,90,127,43,73,119],exclus:106,ethernet:[7,27],order:[121,27,90,131,117,7],oper:[38,27,121,48,90,52,117,119],diagnos:123,over:[7,48,27,106,90],becaus:[27,104,70],privileg:90,incid:119,flexibl:48,vari:73,fip:119,uuid:121,fit:[57,131],backup_schedul:[0,78,92,125,109],fix:[52,139,27,10],cla:70,better:90,persist:[79,15],cred:90,easier:[132,73,90],them:[134,121,104,10,40,90,117,132,73],wr_req:[134,40],thei:[134,20,40,79,90,43,85,32,119],proce:117,volume_unittest:[7,74,0,92,125],objectstor:[38,93,0,10,66,125,60,79,135,91,92,24,73,90,131],power_st:[134,0,125,107,40,92],each:[27,104,48,79,51,90,139,142,131,117,7,56],debug:[123,79],mean:[134,73,40,79,131],interop:119,laboratori:123,devref:123,group:[38,20,55,123,48,27,51,79,57,70,90,43,117,106,7,25,119],cloud02:73,extract:73,admincli:[13,0,125,92,67],network:[0,106,70,73,38,10,123,40,79,43,117,119,121,15,89,48,125,51,90,52,139,92,56,134,135,27,28,142,131],bridge_port:90,newli:73,content:[123,90],got:73,gov:[48,123],ntp:117,free:[38,70,51,57],standard:[48,20,123,27,43],fakerabbit:[128,0,40,125,92],test_fault:[0,114,92,125,109],ata:7,openssl:[73,57],installt:79,isn:40,confus:132,rang:[20,117,27,90,139,43,15,67],instance_nam:[134,40],fakeinst:[134,40],independ:119,capac:48,restrict:[121,15],instruct:[38,70],alreadi:[117,90],imagestor:73,primari:7,sometim:27,stack:[134,40],master:90,autorun:51,john:[121,85],zipfil:[8,20,85,43,121],listen:[52,27,79],iptabl:[106,56,79,117,57],consol:[52,25],tool:[48,79,90,52,57,15,25],enjoi:121,auth_unittest:[0,45,92,119,125],provid:[123,27,117,48,79,70,139,51,15,106,73,119],tree:123,project:[106,85,8,73,123,55,43,117,119,121,20,15,48,51,90,52,139,131,56,135,27,57,92],matter:121,num_network:139,provis:[48,90],fashion:119,tx_drop:[134,40],mind:123,xensourc:79,seem:131,computemanag:10,deregist:25,transmit:[134,40],simplifi:121,though:[90,104,15,69],usernam:[121,20,43],object:[134,123,55,10,40,52,131,15,132,119],regular:121,cblah2:73,tradit:119,flagfil:[129,15,10,79],max_mem:[134,40],doc:[123,27,106,90,142,92,7,73,119],metal:90,doe:[27,32,43],declar:[92,119],notempti:67,came:48,random:[121,27,43],transluc:119,syntax:[7,121,85,104,123],directli:[7,121,40,134,90],pkg:90,contrib:[79,104],protocol:119,iscsitarget:79,insnanc:51,dhcpserver:27,priv:73,involv:[123,142,79,70],acquir:121,explain:27,configur:[123,20,104,10,27,51,79,52,57,142,117,73,90,56],apach:119,ldap:[131,27,43,119,79],oct:73,watch:73,amazon:[134,123,27,40,52,117,109],root_password:90,report:70,validator_unittest:[53,0,125,92,67],wr_byte:[134,40],"public":[121,27,10,123,48,51,139,92,117,106,56,32,119],runn:104,respond:[132,20,43],respons:[134,10,40,52,131,132,73,119],fail:[134,40],best:[79,70],subject:[52,73],databas:[135,20,104,69,131,79,51,90,52,43,132,73,92],irt:73,discoveri:119,figur:[123,117],outstand:123,simplest:[27,104],irc:70,approach:[121,119],attribut:[48,25,123],accord:[7,48],extend:119,protect:[142,56,117],easi:[123,79],fault:[123,0,125,23,92,109],howev:[106,139,90],against:[57,56,104,117],reservationid:119,logic:[7,119],s3_host:90,login:32,seri:15,com:[27,79,90,57,73,65],compromis:142,applianc:106,"2nd":90,guid:[134,123,27,106,40,79,90,92,15],assum:[117,90],duplic:67,etherd:57,three:[139,119],been:[117,121,79,67,90],trigger:[38,131,117],interest:70,basic:[106,79,51,90,52,15,32,119],saa:48,tini:[73,27,32,51,104],quickli:[123,79,104],toller:123,worker:[52,104],ani:[134,121,20,104,48,40,27,51,79,43,85,119],emploi:121,ident:[134,40,119],servic:[0,106,70,73,123,10,40,79,117,44,15,88,48,125,90,135,92,132,93,134,52,27,113],properti:[134,79,119,90],sourceforg:57,dashboard:[121,131,117],publicli:[121,85],vagu:[123,142],spawn:[134,20,40,139,43,119],clusto:106,printabl:73,toolkit:123,ratelimit:[92,109],conf:[73,20,79],sever:106,cloudaudit:[92,119],receiv:[134,27,10,48,40,52,131],make:[38,85,10,106,90,52,57,73,132,8],meetup:70,complex:[56,104],split:[73,117,90],complet:[134,38,121,48,40,52,73,119],nic:117,rais:[134,40,117,67],ownership:119,kib:[134,40],kid:70,kept:79,scenario:[123,15],thu:90,inherit:119,thi:[104,106,70,7,73,38,40,79,15,119,121,85,117,123,51,90,52,127,92,132,134,27,57,142,65,32,131],gzip:73,countrynam:73,facto:121,just:[121,20,104,123,48,51,142,43,67],bandwidth:48,human:[134,48,40],yet:[139,121,67,90],languag:48,previous:73,expos:[121,27,51,10],had:104,spread:10,har:48,save:[73,51],applic:[48,119],mayb:[106,123],background:15,measur:[48,85],daemon:[57,15,10,79],specif:[134,121,27,104,123,106,40,79,51,90,52,92,15,117,132,119],manual:[20,104,27,90,57,56],volumemanag:10,test_serv:[0,109,6,125,92],xlarg:27,underli:[7,27],www:[57,27],right:[121,142,123],old:[7,123,92],deal:132,somehow:90,intern:[134,106,40],successfulli:[134,40],preliminari:119,subclass:[106,10],cnf:[73,90],apirequest:[29,0,92,125,109],condit:[7,27,43],unbundl:25,core:[123,20,55,27,79,90,57,43,15,85],load_object:132,repositori:[79,90],post:70,"super":121,redownload:51,br100:[27,90],postgresql:90,slightli:104,unfortun:[134,40],span:[1,2,3,4,5,6,9,11,12,13,16,17,18,19,21,22,23,24,28,29,30,31,33,34,35,36,75,41,42,44,45,46,47,49,50,53,54,78,58,59,60,62,63,64,66,68,71,72,74,39,76,77,80,81,82,83,84,86,87,89,91,94,95,96,98,99,100,101,102,103,105,107,108,114,112,113,110,115,116,118,120,122,124,126,128,61,130,133,136,137,138,14,140,141,143,144],libvirt_conn:[4,134,0,92,125],produc:52,meerkat:38,ppa:[65,79,90],tackl:27,"float":[139,20,27,10,43],encod:51,down:48,wrap:119,storag:[135,27,10,88,48,52,92,7,93,119,131],eth0:[27,90],accordingli:121,git:[57,90],fabric:[52,123],wai:[123,106,79,70,90,15,73],support:[38,27,10,121,48,79,51,90,139,117,109,85,32],nova:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,49,50,51,52,53,54,78,58,59,60,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,57,128,61,130,131,132,133,134,136,137,138,139,140,141,143,144],"class":[1,2,3,4,5,6,9,11,12,13,16,17,18,19,21,22,23,24,28,29,30,31,33,34,35,36,75,40,41,42,44,45,46,47,49,50,53,54,78,58,59,60,62,63,64,66,68,71,72,74,39,76,77,80,81,82,83,84,86,87,89,91,92,94,95,96,98,99,100,101,102,103,105,107,108,114,112,113,110,115,116,118,120,121,122,124,126,128,61,130,131,132,133,134,136,137,138,14,140,141,143,144],avail:[38,20,123,48,40,27,70,79,52,57,90,43,117,25,85,32,119],reli:[106,79,10],linux_net:[106,0,125,92,28],sqlite3:[123,79,104],form:[134,20,40,85],offer:[52,48,70],sqlalchemi:[19,0,69,125,79,90,57,92,39,110],icmp:51,"true":[73,20,121,43,90],freenod:70,reset:25,projectmanag:[121,20,43],rescu:[134,40],maximum:[134,40,119],vishi:90,fundament:27,autoconf:57,service_unittest:[126,0,40,125,92],classif:119,featur:[27,117,70],b64:51,"abstract":132,decrypt:[27,43],exist:[121,27,106,85,90,52,139,7,119],glanc:[135,88,10,92],lutz:67,mybucket:73,check:[121,20,85,79,57,43,73],underutil:48,encrypt:[73,142],when:[134,38,104,48,40,79,51,90,52,131,117,106,73,65,32,119],role:[121,20,27,131,85,90,52,43,15,119,92],scriptnam:[20,43],test:[0,104,69,106,81,70,108,82,6,109,7,73,74,114,76,77,9,40,79,80,42,15,16,17,45,119,120,84,122,125,86,21,22,124,50,126,57,53,92,54,93,134,105,14,30,140,97,141,98,64,144,31,32,67],test_imag:[0,125,92,22,109],webob:79,node:[38,123,106,90,52,117,7,73,56],irclog:70,kvm:[57,27,79,104],intens:104,intent:90,consid:90,sql:[131,90],adminguid:123,ignor:121,time:[134,27,104,40,70,52,117],concept:[123,27,129,85,142,43],chain:106,skip:85,global:[121,20,27,43],focus:27,known:[134,40],eauthent:119,llc:20,decid:131,depend:[38,48,79,90,57,73,65],zone:25,bpython:[20,43],readabl:[134,40],supposedli:48,sourc:[121,20,0,104,123,79,70,73,8,65],string:[27,43],revalid:57,uml:[27,104],octob:90,word:27,exact:57,nodaemon:79,cool:70,organizationalunitnam:73,administr:[121,27,117,123,79,139,43,15,73,25,56,119],level:[123,85,121,48,142,92,119],rpc_unittest:[0,31,92,67,125],greenlet:[57,79,90],pnova:90,prevent:[52,119],blade:7,sign:[121,70,51,119],port:[117,51],addr:90,current:[134,121,20,104,106,40,27,79,139,132,117,109,7,73,56,85,119],gener:[134,121,27,0,123,40,51,90,117,132,73,32],gawk:[57,79],address:[121,20,55,104,123,106,27,90,52,139,43,117,85,25,56,119],along:119,wait:[32,131],box:[27,117,10],queue:[52,131,79,90],throughput:37,tunnelingnod:106,particularli:104,"95c71fe2":65,ipc:[27,43],semant:[134,40,119],tweak:[79,104],modul:[1,2,3,4,5,6,7,9,11,12,13,16,17,18,19,21,22,23,24,28,29,30,31,33,34,35,36,123,39,40,41,42,44,45,46,47,49,50,51,53,54,78,58,59,60,62,63,64,66,67,68,69,71,72,74,75,76,77,79,80,81,82,83,84,86,87,88,89,91,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,112,113,114,115,116,118,119,120,122,124,125,126,57,128,61,130,132,133,134,135,136,137,138,14,140,141,143,144],ipi:[57,79],fake:[134,123,27,0,40,79,125,135,71,98,43,109,17,92],instal:[26,27,104,38,123,79,51,90,57,15,117,73,65,56],newslett:70,tx_byte:[134,40],memori:[134,40],todai:48,live:[8,90,123,70,26],handler:[24,93,0,92,125],scope:27,checkout:104,apierror:67,afford:[48,121],peopl:[132,48,123,70,90],pylint:79,enhanc:[92,119],easiest:90,behalf:121,focu:139,cat:[57,90],whatev:79,purpos:[121,79],heart:52,agent:[56,119],topic:15,critic:119,api_unittest:[0,109,92,125,80],occur:[27,117],alwai:[123,117,51],lxml:57,multipl:[117,123,27,104,10,48,79,90,52,131,15,109,7],write:[134,123,40,70,90,127,73],map:[134,123,121,106,40,117,119],aoe:[7,57,79],atao:131,clone:[65,104,90],intrus:142,membership:70,mai:[117,38,85,104,48,40,134,79,90,52,15,106,132,119],data:[134,85,48,40,51,142,92,132,73,119,131],man:32,hyperv:27,practic:73,favorit:90,inform:[134,20,10,40,27,70,92,117,32,119],"switch":[73,27,104,117,106],combin:119,zxvf:57,callabl:132,talk:[134,123,40,70,131,15],root_password_again:90,brain:48,use_ldap:104,still:[123,20,43,90],dynam:[27,131,117],swiftadmin:123,monitor:[134,0,47,40,79,125,142,92,15,37],polici:119,amqplib:79,avil:79,platform:[134,48,27,40,79],window:104,main:[123,65,15],scheduler_unittest:[141,0,125,92,97],non:[132,38],synopsi:20,initi:[104,90],nation:48,recap:56,now:[38,57,142,123,73],secgroup:119,introduct:[123,27,43,119,92],term:[134,48,40],workload:123,name:[134,121,20,27,123,40,85,90,57,43,117,73],drop:[134,40,104],crypto:[99,0,125,92,51],separ:[139,85,131,121],compil:73,domain:[134,40],replai:119,replac:[7,79,10],individu:[7,106,123,119,121],receipt:121,continu:[52,38,65,79,57],contributor:70,keypair:[27,104,51,73,25,32,119],get_info:[134,40],sql_connect:90,happen:132,subnet:[106,56,117,90],shown:[65,131],accomplish:[73,32,15,121],space:[38,104,117],internet:[106,27,70,51,117],she:[85,32],project_manag:85,state:[134,38,20,106,40,43,73,65,92],california:73,org:[57,20,70],"byte":[134,40],care:104,thing:[134,104,40,90,73,32],place:[106,38,70,48],router:106,principl:57,think:27,first:[38,104,79,90,57,117,65,32],origin:[123,85,48,52,139,15,56],redhat:57,onc:[134,38,48,40,70,90,57,15,8,65],yourself:73,environemnt:90,bridgingnod:106,accesskei:[121,20,43],open:[123,79,70,139,51,117],size:[20,85,43,117,119],sharedipgroup:[0,109,92,125,33],given:[134,20,40,27,51,139,43,56],workaround:90,iaa:[48,27,123],cumul:119,draft:70,manager_id:85,forthcom:104,device_path:[134,40],grant:90,especi:131,copi:[106,38,51,73],specifi:[134,121,20,104,40,79,51,90,43,117,132,85,56],broadcast:90,forward:[131,51,90],soren:38,mostli:56,date:[38,20,79],holder:121,than:[38,27],serv:[48,117],wide:[57,119],were:104,browser:8,pre:[1,2,3,4,5,6,9,11,12,13,16,17,18,19,21,22,23,24,28,29,30,31,33,34,35,36,75,41,42,44,45,46,47,49,50,53,54,78,58,59,60,62,63,64,66,68,71,72,74,39,76,77,80,81,82,83,84,86,87,89,91,94,95,96,98,99,100,101,102,103,105,107,108,114,112,113,110,115,116,118,120,122,124,126,57,128,61,130,133,136,137,138,14,140,141,143,144],san:27,ann:73,argument:[121,20,85,79,139,43,67],slap:79,dash:[27,117],test_api:[124,0,92,125,109],declare_flag:[0,125,21,67,92],recover:123,disk_stat:[134,40],engin:[52,106],destroi:[134,40,104],xxxxx:10,note:[134,38,27,121,40,85,90,57,65,56],ideal:119,take:[52,38,40,134,104],noth:131,channel:70,begin:[52,121,90],sure:[38,10],normal:[20,85,43],tornado:[57,79],compress:[20,43],paid:48,pair:[142,32],synonym:[134,40],twistd_unittest:[14,0,125,92,67],later:70,drive:27,runtim:119,newer:57,show:79,permiss:[121,27,104,119],xml:[73,10],onli:[117,121,27,104,48,40,134,79,90,52,139,15,106,85,56],explicitli:27,rx_drop:[134,40],activ:[119,70],enough:117,invalidinputexcept:67,sighup:90,variou:[134,121,27,104,40,52],get:[117,38,27,104,121,48,40,134,79,70,90,52,123,131,15,73,8,65,25],repo:57,ssl:73,cannot:[121,117],ssh:[106,73,32,104],requir:[38,27,121,48,79,70,90,51,117,65],bzr331:38,priviledg:15,where:[134,73,40,70,90],wiki:[123,79,70],kernel:[73,57],netadmin:[121,20,27,43],auth_driv:79,reserv:[73,51],rmi:67,xenserv:79,concern:[134,40,104,131],kmod:57,detect:[134,40,142],review:[79,119],getattr:132,between:[123,27,10,106,79,90,52,142,117],"import":[73,27,10,121],across:[106,85,90],assumpt:[104,123,79,90],api_command:27,screen:[57,20,43,104],tut:[123,92],virt_unittest:[134,0,92,125,140],come:[57,70,90],region:25,imf:119,tutori:92,mani:[38,27,48,79,90,43,106,32],overview:[123,15,106,51,139,92,117],period:51,dispatch:52,swift:20,fixed_ip:90,rd_req:[134,40],mark:90,real_flag:[76,0,125,92,67],certifi:73,those:[134,27,40,51,142],"case":[90,131,119,69],process_unittest:[42,0,125,92,67],xcp_sdk:79,ctrl:104,canon:73,worri:90,blah:73,detach_volum:[134,40],twistd:[136,0,125,92,67],develop:[121,20,104,123,40,27,127,92,119,43],saml:119,iscsi:[7,52,131,79,123],same:[121,85,10,106,27,90,57,43,117,56,119],paa:48,html:67,subdomain:109,vblade:[57,79],finish:[73,104],confidenti:119,driver:[134,27,0,125,10,69,106,49,40,79,97,135,132,43,119,7,101,92],someon:104,decompress:73,driven:123,capabl:[48,117],openldap:[57,79],extern:[79,90,131,117,56,119],tradition:119,appropri:[106,121],moder:119,pep8:79,without:[134,121,20,40,51,43,117,119],disassoci:[27,25],model:[19,121,0,55,69,48,125,52,123,92,15,106],rolenam:[20,43],execut:[52,121,20,43,90],rest:[134,40,119,10],weekli:70,kill:104,touch:132,flavor:[0,36,92,125,109],samba:27,hint:79,except:[134,0,40,125,92,117,75,37,67],littl:[132,48],blog:[38,70],versa:[134,40],vulner:119,real:[134,40,70,90],mox:[57,79],around:[38,70,90],libc:38,swig:57,traffic:[106,92,117],world:51,tx_packet:[134,40],integ:[134,40],server:[0,104,106,35,109,73,38,79,117,119,15,123,48,125,51,90,52,139,130,92,56,57,65,67,131],appic:73,dnsmasq:[106,27,79,117,57],either:[20,119,43,117,79],cascad:123,output:[52,20,25,43,104],manag:[68,0,103,106,109,85,102,8,7,73,111,123,10,3,79,43,15,119,121,20,117,89,125,51,90,52,139,92,132,134,135,27,58,97,32,131],udev:57,confirm:[38,65,25],rpm:57,definit:[52,48,119,123],token:119,exit:104,inject:[27,56,32],refer:[135,123,32,92],test_auth:[0,30,92,125,109],power:[134,48],broker:[52,92,119],bazaar:70,central:131,stand:70,act:[56,117,90],bond:117,processor:85,road:73,ansolab:73,euca2ool:[38,121,79,57,15,25,32],effici:27,terminolog:[134,40],unregist:119,cloudserv:27,your:[121,27,104,40,79,70,90,51,73],loc:119,log:[142,70,67],her:85,disk_id:[134,40],start:[38,20,104,27,79,139,43,117,73,8,65,56],interfac:[134,123,27,104,57,40,79,90,52,139,15,117,56,119],low:119,lot:104,fixed_rang:[139,90],programmat:52,fcbj2non:73,bundl:[121,27,51,43,73,8,25],regard:[134,40],interface_stat:[134,40],amongst:10,wrap_except:67,categor:[121,119,67],congratul:73,pull:104,dirti:[92,119],possibl:[79,90],"default":[121,27,104,79,90,57,119,117,56,67],bucket:[0,125,60,90,92,73,93,119],virsh:[73,104],expect:[38,73],uid:[38,119],creat:[85,8,7,73,38,40,79,43,117,119,121,20,15,51,90,52,139,25,56,134,27,32],certain:[121,79],use_ppa:65,file:[134,121,20,88,10,104,106,79,51,90,135,57,70,92,73,93,85,43],again:73,googl:10,fakeldap:[11,0,40,125,92],personnel:121,hybrid:[48,92,119,123],field:121,cleanup:104,collis:7,rdbm:79,you:[104,85,70,8,73,38,10,40,79,43,15,121,20,48,51,90,57,131,27,142,65,92],import_class:[27,43],architectur:[123,104,52,142,131,15],fake_subdomain:[79,90],track:[134,40,79],vocabulari:119,pool:[48,27,117],cloudpip:[27,0,1,125,51,135,92,117],directori:[38,104,51,90,73,119],descript:[123,20,55,27,79,52,139,43,85,67],goe:51,chown:90,libvirt_typ:104,potenti:[131,119],escap:[134,40],cpu:[134,40],demo:8,all:[134,121,20,104,10,57,40,27,70,79,139,142,43,15,117,85,90,56,119,131],dist:73,consider:142,illustr:[27,117],lack:69,ala:106,runtime_flag:[0,125,92,67,120],abil:[48,121],follow:[38,20,104,121,106,27,51,79,52,70,123,43,15,117,73,90,85,119],disk:[134,38,0,104,106,40,79,125,135,57,92,7,100],secretkei:[121,20,43],auth_manag:[27,43],init:90,program:[48,123,79,92],project_id:[121,85,51],liter:[1,2,3,4,5,6,9,11,12,13,16,17,18,19,21,22,23,24,28,29,30,31,33,34,35,36,75,41,42,44,45,46,47,49,50,53,54,78,58,59,60,62,63,64,66,68,71,72,74,39,76,77,80,81,82,83,84,86,87,89,91,94,95,96,98,99,100,101,102,103,105,107,108,114,112,113,110,115,116,118,120,122,124,126,128,61,130,133,136,137,138,14,140,141,143,144],far:[134,40],host_ip:104,managingsecur:123,util:[27,0,119,48,125,85,57,43,15,62,132,25,67,92],mechan:[48,27],failur:[123,69],veri:[123,27,79,70,90,57,67],typetest:67,vishvananda:90,bridge_stp:90,list:[134,38,20,129,104,121,40,79,51,90,139,43,73,65,85],unrescu:[134,40],stderr:67,user_nam:90,fakeldapdriv:79,past:[38,73],syslog:37,zero:79,design:[123,27,70],pass:[134,40,51,52,117,56,119],further:[134,40,92,119],what:[123,20,48,79,90,43],sun:119,section:[20,27,79,139,43,15,92],abl:[8,79,104],brief:[139,55,123],overload:119,rackspac:[52,73,27],delet:[134,121,20,104,40,85,52,139,43,25,119],version:[38,20,104,79,70,57,15,25,119],intersect:[121,27],method:[134,10,40,79,51,132,119],contrast:[134,40],full:[134,40],variat:56,trunk:[104,117],renegoti:51,modifi:[121,20,25,43],valu:[85,104],search:[123,92],mac:[56,117],amount:[48,27,43,131],pick:104,action:[121,20,142,43],via:[27,15,10,51,43,117,119,131],depart:121,ldapdriv:[0,104,125,79,92,119,133],filenam:[121,85],establish:[52,119],select:[139,20,90],rackspacecloud:73,xenwiki:79,stdout:67,regist:[73,25,119,70],two:[27,56,117,15],organizationnam:73,virt:[34,134,27,0,40,125,4,5,71,43,46,92],more:[38,20,104,10,106,27,79,139,43,15,117,73,90,32,119],flat:[123,27,90,139,131,15,56],flag:[121,20,0,10,123,106,125,27,51,79,139,57,129,43,15,119,132,90,112,67,92],particular:[79,20,27,43],cacert:73,isloat:123,none:[73,85,121,67,139],endpoint:[52,135,92,109],hour:[48,51],cluster:[117,90],outlin:[132,27],dev:79,learn:[70,15,79],deb:65,dhcpbridg:73,scan:119,challeng:[92,119],registr:119,share:[48,27,32,119,131],accept:132,get_console_output:[134,40],minimum:[119,117],cours:73,interconnect:119,goal:[142,117],secur:[121,27,55,104,123,106,51,142,43,117,32,119,131],rather:[27,131],anoth:[27,79,90],divis:132,orukptrc:73,simpl:[27,0,97,10,125,51,90,43,138,92],distro:[73,57,123],resourc:[85,48,79,52,139,15],vlan:[123,27,55,104,10,106,79,51,90,52,139,131,15,117,7,85,56],rbac:[121,27,92,119],pat:73,datastor:[106,79,119],associ:[134,123,27,106,40,85,51,117,73,25,119],github:90,onto:[56,117],author:[121,20,135,27,52,92,25,119,43],callback:131,allocate_address:27,egg:73,"1b0bh8n":73,help:[25,131,90],soon:[51,10],uvh:57,held:[134,40],i386:57,through:[121,27,104,10,57,48,79,51,90,52,139,142,70,73,32],paramet:[134,40,119],style:[27,56,119],binari:[27,79,10,131],might:104,computenod:106,wouldn:38,good:[79,70],"return":[134,121,85,40,79,132,119],timestamp:119,framework:52,detach:[52,134,27,25,40],mysql_pass:[104,90],document:[134,123,27,104,106,40,79,70,90,132,32],troubleshoot:73,datastructur:[134,40],authent:[135,27,10,90,52,142,92,119],easili:[52,121,90],achiev:[27,119],test_ratelimit:[0,125,92,50,109],processexecutionerror:67,found:[123,27,117,10],intervent:48,subsystem:[57,79],"340sp34k05bbe9a7":73,api_integr:[0,125,92,82,109],hard:[27,104],connect:[134,20,0,125,117,48,40,27,51,139,43,46,106,73,119,92],todd:[7,106,104,123],cc_host:90,http:[123,20,48,27,70,79,52,57,131,73,65,90,67],beyond:90,todo:[117,123,55,104,48,111,40,90,52,127,142,92,15,106,7,65,56],event:[52,79,70],ftp:57,research:123,john_project:[121,85],print:[139,121],postgr:90,proxi:[119,90],advanc:15,pub:57,dhcpdiscov:27,reason:90,base:[134,38,20,10,121,48,40,27,79,52,123,43,15,119,132,73,90,67,131],ask:70,loop0:79,recv:65,bash:[121,90],launch:[121,27,117,79,51,43,15,73,56,85,119,92],script:[38,20,104,121,79,51,90,70,43,73,65,32],heartbeat:90,assign:[121,20,106,27,52,139,43,117],use_mysql:[104,90],feed:70,major:[52,131],feel:[57,70],misc:[135,92,67],number:[134,20,40,27,51,90,139,43,117,7,85,119],done:[134,38,104,123,48,40,57,65],blank:[121,20,43],stabl:[123,65],losetup:79,differ:[27,104,10,48,79,139,131,117,109,132,56],guest:[56,90],projectnam:[20,85,43],interact:[121,27,10,123,79,52,139,15],dbdriver:[0,104,125,41,79,92,119],scheme:[134,40],store:[134,38,0,125,123,66,40,79,70,52,92,65,93,32,119,131],schema:119,option:[134,20,40,79,90,43,65,32],relationship:[92,119],similarli:106,part:[8,123,79,73],eventu:90,notfound:[134,40,67],kind:[139,131],yum:57,remot:27,seamlessli:119,bridg:[123,27,104,10,90,139,131,117,56,119],consumpt:85,list_interfac:[134,40],toward:131,comput:[0,106,70,72,73,38,10,40,79,43,117,119,20,47,123,48,125,90,52,139,92,56,134,27,107,57,58,142,100,131],packag:[38,65,79,10,73],dedic:[117,67,119],euca:[104,73,25,32,90],outbound:117,built:[134,79,131],lib:[38,73],self:48,also:[134,123,20,104,10,48,40,27,51,79,57,70,43,117,106,90,119],folk:90,gpgcheck:57,pipelin:[134,40],distribut:[106,57,79,104],"160gb":27,previou:73,quota:[20,0,27,125,85,43,63,119,92],pipelib:[0,1,92,51,125],most:[134,27,104,10,106,40,90,131,117,25,56],plan:119,dai:[48,25,40,73],bzr:[57,65,104,70,90],clear:106,rangetest:67,clean:[134,40,104],latest:[57,38,65,90,73],visibl:117,wsgi:[0,87,10,125,92,67],cdn:[73,79],session:[0,104,69,125,92,39],cdp:119,fine:104,find:[15,70,131,117,25,92],firewal:[106,142,119,117,121],copyright:20,networkmanag:10,solut:131,queu:[52,27],instancemonitor:73,factor:79,localitynam:73,unus:[7,134,40,117],express:106,"12t21":73,mainten:[27,43],fastest:[73,15],restart:90,rfc:117,common:[121,79,90,135,92,117,109,67],remov:[121,85,20,52,43,56,119],crl:51,arp:[56,119,117],certif:[27,51,43,117,73,119,92],set:[38,20,104,10,121,79,51,90,52,127,43,117,85,119],ifconfig:104,see:[38,20,129,104,121,106,27,70,79,57,123,43,15,7,73,65,32,119],bare:90,arg:[20,43],ari:73,kpartx:57,experi:79,signatur:[73,121],c2477062:73,isol:[85,117],ipython:[20,43],both:[27,106,90,142,25,56,67],last:[20,43,90],boto:79,context:[61,0,125,92,67],load:[27,10,79,57,43,132,73],simpli:[121,56],point:[132,8,70],tgz:73,schedul:[38,27,0,103,138,135,131,2,49,125,79,97,90,52,139,43,73,92],addressingnod:106,shutdown:[134,40],linux:[123,27,79,51,139,117,56],throughout:[52,67],backend:[134,123,106,79,131,119],g06qbntt:73,java:48,devic:[27,10,48,90,57,131],due:[134,40],secret:[121,20,27,43,73,119],strategi:[139,27,10],ram:104,fire:90,imag:[0,106,109,85,5,8,73,111,123,25,55,10,43,15,118,119,121,20,88,125,51,90,52,91,92,93,56,134,27,137,113,32,131],understand:[132,27],demand:[7,48],look:[106,119,90],straight:27,"while":[38,131,104,117,106],kick:90,abov:51,error:[73,121,67,90],gmt:73,ami:[104,73,32,119,79],xvzf:73,larger:[27,131],vol:25,block_stat:[134,40],itself:119,cento:[73,57],decor:67,bridge_maxwait:90,network_manag:[10,90],minim:132,belong:117,nanosecond:[134,40],read:[134,38,27,40,79,70,90,139,15,73,65],decod:51,zope:79,higher:[134,40],novarc:[121,20,85,90,43,73],optim:[48,131,90],wherea:121,user:[104,85,8,73,38,55,43,117,119,121,20,15,48,51,90,52,139,131,25,27,142,32],robust:27,typic:[52,79,70,119],recent:131,stateless:119,lower:92,task:[52,123,132,15],entri:[38,90,52,117,73,56],nova_comput:10,pymox:79,spend:104,propos:119,explan:131,vpn_public_port:51,collabor:70,shape:48,mysql:[104,57,79,90],openstack:[0,70,36,6,109,73,114,38,10,40,81,117,118,20,125,86,22,123,124,50,90,23,57,130,92,78,27,59,30,98,65,33],cut:79,vswitch:139,ganglia:37,subsequ:52,build:[104,79,90,57,73,8],bin:[38,57,90,73],vendor:[52,119],format:[121,119],nginx:57,bit:[132,73,27],formal:70,success:121,docutil:[1,2,3,4,5,6,9,11,12,13,16,17,18,19,21,22,23,24,28,29,30,31,33,34,35,36,75,41,42,44,45,46,47,49,50,53,54,78,58,59,60,62,63,64,66,68,71,72,74,39,76,77,80,81,82,83,84,86,87,89,91,94,95,96,98,99,100,101,102,103,105,107,108,114,112,113,110,115,116,118,120,122,124,126,128,61,130,133,136,137,138,14,140,141,143,144],resolv:[73,90],manifest:73,collect:[48,70],princip:85,"boolean":90,popular:123,modprob:57,scapi:106,encount:79,creation:[134,27,40,90,43,117,119],some:[134,123,27,104,10,40,70,57,92,132,131],back:[134,73,40,79,70],understood:142,sampl:[123,85,48,79,15,73],flatmanag:[10,90],scale:[48,123],novascript:90,"512mb":104,prot:[20,43],per:[27,79,51,135,92,117,56,119],pem:[73,32,104],larg:[7,48,119,10],cloud:[0,104,70,109,73,123,12,79,117,119,121,20,15,48,125,90,52,139,92,27,142,143],stateorprovincenam:73,nose:79,machin:[134,38,27,104,10,40,79,51,90,52,131,15,117,73,119],run:[104,106,7,73,38,10,40,79,43,117,119,20,15,48,51,90,52,139,131,132,25,56,134,27,57,65,32],agreement:70,step:[57,38,65,90,73],prerequisit:38,wget:[73,57],fakemanag:[40,92],"1gb":[79,117],block:[134,27,10,40,51,52,57,131,119],instance_typ:[134,0,72,125,92],within:[121,85,104,106,117,7,119],ensur:[52,57,142],institut:48,question:70,"long":[134,40,51,132,73,119],custom:[134,40],includ:[121,20,27,70,79,52,43,65,90,67],gflag:[20,129,27,10,79,57,43,65],routingnod:106,netomata:106,blueprint:70,properli:[],openstackppa:65,link:[123,27,65,70,131],translat:[134,40],eauth:[92,119],don:[48,121,79,90],line:[38,123,79,90,73,25,32],objectstore_unittest:[77,93,0,92,125],sdk:79,info:[73,40,111,51,123],cia:119,consist:[139,85,51,106],caller:[134,40],planet:70,similar:[52,27,56,119,117],my_file_path:79,ec2_url:90,repres:[134,27,40,117],chat:70,home:[38,90],curl:[57,79],amqp:[106,27,131,90],titl:[0,125],invalid:67,nat:[106,117],scrub:[85,104],gigabyt:[20,27,43],lucid:[73,65,104,90],vice:[134,40],loopback:90,depth:131,nasa:123,addgroup:90,pluggabl:[123,27,43,104],code:[134,27,104,79,70,90,51,117,73,132,8,65,67],partial:[134,40],edg:79,queri:[52,106,119,90],quarantin:121,privat:[123,27,48,51,139,117,106,73,32,119],elsewher:[134,40],friendli:70,send:[73,32,10],sens:132,sent:73,unzip:[38,121,90,73],volum:[101,0,85,7,73,123,55,10,40,3,79,43,119,20,125,90,135,131,25,52,27,92],spoof:[56,117],num_cpu:[134,40],relev:[52,70,90],"try":73,race:7,"0ubuntu2":38,sourcabl:85,pleas:57,fortun:15,uniqu:[134,40],cron:51,download:[48,25,57],append:85,compat:[52,123,25,119,90],index:[123,92],access:[121,20,117,48,27,51,43,15,73,85,119,92],fakeaoedriv:[40,92],can:[104,85,70,73,38,10,40,79,43,15,119,121,20,117,123,48,51,90,139,131,132,134,27,57,142,65,32],"17d1333t97fd":73,ec2_secret_kei:73,let:[121,40],ubuntu:[38,104,123,79,90,73,65],ioerror:67,becom:121,sinc:[121,119,10,90],convert:131,iface_id:[134,40],hypervisor:[52,134,40,131],euca_repo_conf_eof:57,technolog:[48,27,139,90],cert:[73,51,90],network_unittest:[64,0,92,125,106],fakeconnect:[134,40],chang:[121,104,10,79,51,90,57,119],chanc:[2,0,125,92,97],revoc:[92,51],control:[134,121,20,117,123,48,40,27,70,90,52,139,15,106,85,56,119],danger:32,revok:[25,51],appli:[119,90],app:10,gatewai:[56,117,90],apt:[38,65,79,90],api:[0,104,69,36,6,109,73,110,38,114,10,135,12,40,79,81,142,117,83,17,18,119,84,121,85,125,86,22,123,124,131,50,51,90,23,130,92,78,94,134,52,27,137,29,59,30,118,98,143,32,33],redi:[38,65,79],test_flavor:[81,0,92,125,109],pxe:90,from:[121,20,104,123,48,27,51,79,52,70,142,43,117,7,73,65,56,85],usb:27,zip:[121,20,85,51,90,43,73],commun:[123,27,106,79,70,52,142,131,117],next:[7,90],implic:52,few:57,usr:[73,57,90],inet:90,remaind:119,rabbit:[43,90],account:[119,70],retriev:[134,73,40,131],carrot:[57,79],obvious:7,fetch:119,employe:121,quickstart:[73,123,104,15,90],tar:[73,79,57],process:[38,0,96,10,123,48,125,51,90,52,92,15,119,73,67,104],lock:52,sudo:[38,104,79,90,73,8,65],high:[123,142,51,90],tag:[27,117,70],onlin:70,attach_volum:[134,40],gcc:57,rabbit_host:90,filepath:79,instead:[123,27,43,10,104],aoe_rules_eof:57,"0a520304":73,exit_cod:67,physic:[52,139,27,119,90],alloc:[121,85,106,51,52,117,7,25,119],essenti:[27,43],bind:90,counter:[134,40],issu:[52,90],allow:[134,121,27,40,79,51,139,131,117,132,32,119],move:[131,27,43,90],meter:48,lockfil:79,chosen:[134,40],infrastructur:[52,48,27,119,117],openvpn:51,therefor:[32,117],crash:106,python:[38,20,129,27,79,57,43,132,73,65,90,131],auto:90,handi:121,auth:[27,0,104,59,11,131,40,41,68,125,79,116,43,109,133,119,92],devel:57,front:119,strive:123,anyth:[132,119],edit:[57,65,104,70,90],test_sharedipgroup:[0,86,92,125,109],get_connect:[134,40],mode:[123,27,117,57,51,90,139,15,56],use_project_ca:51,cloudfil:73,product:[38,25,117,90],consum:48,"static":106,ec2:[134,121,27,0,137,10,123,29,12,40,79,125,90,92,109,83,85,94],citrix:[123,79,117],our:[73,70],itsec:[121,20,43],fake_flag:[0,125,92,67,105],special:[27,85,117],out:[123,10,48,79,117,73,56],variabl:[121,20,85,43,104],instance_id:[134,40],contigu:117,req:[134,57,40],reboot:[134,40,52,73,25,32,119],identifi:[134,40],categori:[20,43],suitabl:79,hardwar:[123,85,106,79,52,117,37,119],dhcp:[27,10,106,90,139,117,56],statist:[134,40],await:73,insid:[117,27,70,51,104],dictionari:[134,40],releas:[123,65,25,57],could:[123,106,79,139,117,8,119],put:[38,104,123,51,73,111,32],segreg:117,keep:[134,27,40,51,90,56],length:73,enforc:[106,119,117],outsid:[139,51],organiz:85,softwar:[27,48,79,90,52,73],list_inst:[134,40],echo:[65,90],vlan_start:139,puppet:90,owner:[121,90],prioriti:[123,104],newus:8,unknown:67,licens:70,mkdir:90,system:[104,70,109,7,73,38,10,79,117,119,121,85,15,123,48,90,139,92,132,56,27,57,142,32,131],messag:[38,27,121,106,79,90,52,131,65,67],attach:[134,27,10,40,52,131,7,25,56,119],attack:[142,119],volume_group:79,aoetool:[57,79],termin:[121,27,104,52,25,32,119],"0x10001":73,"final":57,shell:[132,20,43],eavesdrop:70,volumedriv:132,shelf:7,rsa:73,botleneck:57,rst:[123,0],haven:[121,67],structur:[85,119],metadatarequesthandl:[83,0,92,125,109],seriou:123,sec:119,py2:73,cc_addr:90,have:[134,121,27,104,123,48,40,79,51,90,117,73,65,56,119],tabl:[123,92,119,90],need:[134,121,20,104,123,48,40,27,51,79,57,43,117,132,73,65,90,119],border:142,rout:[52,57,79,10,117],accuraci:57,which:[134,38,27,10,106,40,85,70,90,52,57,131,65,119],datacent:90,soap:119,singl:[38,104,123,70,90,52,57,7,73,65,56,119],courtesi:67,unless:104,deploy:[123,10,48,79,70,90,131,15],discov:[7,57],deploi:[48,90],vish:[7,123],segment:117,why:48,url:[57,119],request:[134,121,85,10,40,70,52,92,73,119,131],snapshot:25,xenapi:[34,134,0,125,79,40,92],determin:[52,79],occasion:52,fact:106,verbos:[79,90],bring:48,cloudcontrol:106,locat:[73,119,90],launchpad:[104,20,65,70,90],start_on_boot:90,should:[134,121,104,123,48,40,79,90,132,117,7,73,67],local:[73,27,121],contribut:[123,117,70],familiar:15,autom:48,csrc:[48,123],graduat:73,increas:90,lazyplugg:[27,43],enabl:[123,139,48,52,57,142],organ:[139,123,121],"4e6498a2":73,xmlsoft:57,sudoer:104,integr:[135,119,92,88,90],partit:27,contain:[134,20,48,40,85,90,117],grab:[7,65,56,51],nist:[48,123],view:20,debconf:90,legaci:[106,92,119],bridge_fd:90,knowledg:[134,40,70],packet:[134,40],elast:[48,117],network_s:[139,90],mountainview:73,backchannel:119,modulu:73,quota_unittest:[108,0,125,92,119],pattern:[20,43],boundari:142,written:[123,57],cloud101:123,progress:38,email:48,argcheck:67,kei:[121,20,123,106,27,51,142,43,117,73,65,85,32,119],ec2_access_kei:73,lvm:[7,52],job:119,entir:[106,79],disconnect:51,eclips:48,problem:[7,38,79,104],addit:[123,79,57,117,56,119],plugin:[27,43],admin:[121,20,0,125,117,123,106,109,85,51,90,139,43,15,73,8,94,92],wsgiref:79,vgcreat:79,etc:[123,27,104,48,79,90,57,106,73,65,56,119],instanc:[104,106,85,7,73,55,40,43,117,119,121,20,15,48,51,52,139,25,56,134,27,142,32],rx_err:[134,40],runinst:119,vpn_public_ip:51,guidelin:123,chmod:[73,32,104],distinguish:73,rpc:[27,0,10,106,125,43,95,67,92],respect:139,qemu:[57,27,104],quit:131,addition:119,compos:52,compon:[123,129,106,79,90,52,92,109,37,131],json:73,uroot:90,electr:48,immedi:117,upcom:70,inbound:117,assert:119,rd_byte:[134,40],present:[27,79],replic:[131,10,90],multi:[73,123,90],align:119,defin:[132,121,27,119,90],ultra:10,layer:[134,69,40,135,92,117,119],libxml2:57,flags_unittest:[122,0,125,92,67],archiv:[73,90],fiddl:104,welcom:[123,70],networkcontrol:106,parti:119,began:[134,40],member:85,handl:[52,117,67],"35z":73,slave:90,hostnam:52,upon:[52,121],libvirt:[134,40,79,90,131,7],m2crypto:79,access_unittest:[144,0,125,92,119],mysql_prese:90,audit:[142,119],off:[119,90],center:[48,92,119],well:[38,121,79,70,131,109,67],exampl:[121,20,104,123,48,27,43,117,85,56,32,119],command:[104,106,85,73,123,79,43,15,121,20,51,90,52,139,131,132,25,27,57,142,65,32],choos:90,usual:[7,132,70],xen:[134,27,40,79,131],obtain:[20,56,43],virtual:[134,135,27,104,10,40,51,52,139,92,73,119,131],rx_byte:[134,40],simultan:117,adv:65,web:[27,48,52,131,8,119],rapid:48,priorit:119,add:[121,20,55,104,123,79,85,90,57,43,117,73,25,56,32,119,92],valid:[0,104,115,125,92,67],notauthor:[85,67],match:[73,119],pubsub:119,branch:[104,90],howto:[123,92],prese:90,ldconfig:38,realiz:52,five:[121,20,43,119],know:[27,90],password:[104,32,90],python2:[73,57],insert:[106,117,123],resid:15,like:[123,27,48,79,70,90,57,131,73,56,119],cloud_unittest:[0,9,92,125,109],necessari:52,page:[123,27,79,70,92,65,32],project_nam:90,eucalyptu:57,twitter:70,"export":[121,20,85,90,43,7,73],trucker:73,small:[73,27,43,117,131],librari:[135,57,79,67,92],tmp:73,feder:119,lead:132,broad:[52,15],avoid:[7,123,131],reconsid:132,leav:[121,20,43],investig:119,usag:[121,32,15,104],host:[38,20,104,123,106,57,27,51,79,52,139,70,43,15,117,132,73,65,90,56,131],although:[132,85,104],user_id:[121,85],about:[134,123,20,104,40,27,70,79,139,15],actual:[27,79,90],anyjson:79,own:[134,123,40,117,51],objecstor:[93,92],import_object:[27,43],easy_instal:57,automat:[121,27,117,51,90],automak:57,"56m":73,rectifi:123,merg:[7,123],pictur:119,transfer:[52,48,40,134,142],snmp:119,mykei:[73,119],much:[48,27,43],"var":[38,104],cloudadmin:90,"function":[134,121,27,117,40,79,52,43,15],baseurl:57,inlin:79,bug:[20,70],deassoci:119,count:79,made:[134,73,40,90],wish:[27,85],googlecod:[57,79],displai:[20,85,43],asynchron:[134,40,119],record:[106,119],below:[123,20,79,90,131,43],limit:[121,27,85,92,117,119],signer:[0,116,92,119,125],otherwis:[57,121,20,43,79],dmz:117,epel:57,pii:119,evalu:[52,90],dure:90,twist:[57,65,131],implement:[123,27,106,40,79,51,139,92,117,132,56,119],list_disk:[134,40],mountpoint:[134,40],pip:79,probabl:[132,27,104,90],boot:[27,90,117,73,56,32],detail:[134,20,27,106,40,79,90,43,117,132,73,119,92],mehod:73,other:[121,27,104,69,123,79,70,90,52,139,57,142,131,117,132,73,119],futur:[135,139,92,88],rememb:121,varieti:104,rx_packet:[134,40],cpu_tim:[134,40],"100m":79,singleton:132,debian:[73,65,57],stai:[134,27,40],sphinx:123,nogroup:38,reliabl:27,rule:[121,106,51,57,117,119],emerg:48},objtypes:{"0":"py:module"},titles:["<no title>","The nova..cloudpipe.pipelib Module","The nova..scheduler.chance Module","The nova..volume.manager Module","The nova..virt.libvirt_conn Module","The nova..virt.images Module","The nova..tests.api.openstack.test_servers Module","Storage Volumes, Disks","Live CD","The nova..tests.cloud_unittest Module","Nova Daemons","The nova..auth.fakeldap Module","The nova..api.ec2.cloud Module","The nova..adminclient Module","The nova..tests.twistd_unittest Module","Administration Guide","The nova..tests.compute_unittest Module","The nova..tests.api.fakes Module","The nova..db.api Module","The nova..db.sqlalchemy.models Module","nova-manage","The nova..tests.declare_flags Module","The nova..tests.api.openstack.test_images Module","The nova..api.openstack.faults Module","The nova..objectstore.handler Module","Euca2ools","Installing the Live CD","Nova Concepts and Introduction","The nova..network.linux_net Module","The nova..api.ec2.apirequest Module","The nova..tests.api.openstack.test_auth Module","The nova..tests.rpc_unittest Module","Managing Instances","The nova..api.openstack.sharedipgroups Module","The nova..virt.xenapi Module","The nova..server Module","The nova..api.openstack.flavors Module","Monitoring","Installing on Ubuntu 10.10 (Maverick)","The nova..db.sqlalchemy.session Module","Fake Drivers","The nova..auth.dbdriver Module","The nova..tests.process_unittest Module","The nova-manage command","The nova..service Module","The nova..tests.auth_unittest Module","The nova..virt.connection Module","The nova..compute.monitor Module","Cloud Computing 101","The nova..scheduler.driver Module","The nova..tests.api.openstack.test_ratelimiting Module","Cloudpipe – Per Project Vpns","Service Architecture","The nova..tests.validator_unittest Module","The nova..test Module","Object Model","Flat Network Mode (Original and Flat)","Installation on other distros (like Debian, Fedora or CentOS )","The nova..compute.manager Module","The nova..api.openstack.auth Module","The nova..objectstore.bucket Module","The nova..context Module","The nova..utils Module","The nova..quota Module","The nova..tests.network_unittest Module","Installing on Ubuntu 10.04 (Lucid)","The nova..objectstore.stored Module","Common and Misc Libraries","The nova..auth.manager Module","The Database Layer","Getting Involved","The nova..virt.fake Module","The nova..compute.instance_types Module","Installing Nova on a Single Host","The nova..tests.volume_unittest Module","The nova..exception Module","The nova..tests.real_flags Module","The nova..tests.objectstore_unittest Module","The nova..api.openstack.backup_schedules Module","Getting Started with Nova","The nova..tests.api_unittest Module","The nova..tests.api.openstack.test_flavors Module","The nova..tests.api_integration Module","The nova..api.ec2.metadatarequesthandler Module","The nova..tests.api.test_wsgi Module","Managing Projects","The nova..tests.api.openstack.test_sharedipgroups Module","The nova..wsgi Module","Glance Integration - The Future of File Storage","The nova..network.manager Module","Installing Nova on Multiple Servers","The nova..objectstore.image Module","Developer Guide","Objectstore - File Storage Service","The nova..api.ec2.admin Module","The nova..rpc Module","The nova..process Module","Scheduler","The nova..tests.api.openstack.fakes Module","The nova..crypto Module","The nova..compute.disk Module","The nova..volume.driver Module","The nova..manager Module","The nova..scheduler.manager Module","Nova Quickstart","The nova..tests.fake_flags Module","Networking","The nova..compute.power_state Module","The nova..tests.quota_unittest Module","API Endpoint","The nova..db.sqlalchemy.api Module","Managing Images","The nova..flags Module","The nova..image.service Module","The nova..tests.api.openstack.test_faults Module","The nova..validate Module","The nova..auth.signer Module","VLAN Network Mode","The nova..api.openstack.images Module","Authentication and Authorization","The nova..tests.runtime_flags Module","Managing Users","The nova..tests.flags_unittest Module","Welcome to Nova’s documentation!","The nova..tests.api.openstack.test_api Module","<no title>","The nova..tests.service_unittest Module","Setting up a development environment","The nova..fakerabbit Module","Flags and Flagfiles","The nova..api.openstack.servers Module","Nova System Architecture","Services, Managers and Drivers","The nova..auth.ldapdriver Module","Virtualization","Module Reference","The nova..twistd Module","The nova..api.ec2.images Module","The nova..scheduler.simple Module","Networking Overview","The nova..tests.virt_unittest Module","The nova..tests.scheduler_unittest Module","Security Considerations","The nova..api.cloud Module","The nova..tests.access_unittest Module"],objnames:{"0":"Python module"},filenames:["code","api/nova..cloudpipe.pipelib","api/nova..scheduler.chance","api/nova..volume.manager","api/nova..virt.libvirt_conn","api/nova..virt.images","api/nova..tests.api.openstack.test_servers","devref/volume","installer","api/nova..tests.cloud_unittest","adminguide/binaries","api/nova..auth.fakeldap","api/nova..api.ec2.cloud","api/nova..adminclient","api/nova..tests.twistd_unittest","adminguide/index","api/nova..tests.compute_unittest","api/nova..tests.api.fakes","api/nova..db.api","api/nova..db.sqlalchemy.models","man/novamanage","api/nova..tests.declare_flags","api/nova..tests.api.openstack.test_images","api/nova..api.openstack.faults","api/nova..objectstore.handler","adminguide/euca2ools","livecd","nova.concepts","api/nova..network.linux_net","api/nova..api.ec2.apirequest","api/nova..tests.api.openstack.test_auth","api/nova..tests.rpc_unittest","adminguide/managing.instances","api/nova..api.openstack.sharedipgroups","api/nova..virt.xenapi","api/nova..server","api/nova..api.openstack.flavors","adminguide/monitoring","adminguide/distros/ubuntu.10.10","api/nova..db.sqlalchemy.session","devref/fakes","api/nova..auth.dbdriver","api/nova..tests.process_unittest","adminguide/nova.manage","api/nova..service","api/nova..tests.auth_unittest","api/nova..virt.connection","api/nova..compute.monitor","cloud101","api/nova..scheduler.driver","api/nova..tests.api.openstack.test_ratelimiting","devref/cloudpipe","service.architecture","api/nova..tests.validator_unittest","api/nova..test","object.model","adminguide/network.flat","adminguide/distros/others","api/nova..compute.manager","api/nova..api.openstack.auth","api/nova..objectstore.bucket","api/nova..context","api/nova..utils","api/nova..quota","api/nova..tests.network_unittest","adminguide/distros/ubuntu.10.04","api/nova..objectstore.stored","devref/nova","api/nova..auth.manager","devref/database","community","api/nova..virt.fake","api/nova..compute.instance_types","adminguide/single.node.install","api/nova..tests.volume_unittest","api/nova..exception","api/nova..tests.real_flags","api/nova..tests.objectstore_unittest","api/nova..api.openstack.backup_schedules","adminguide/getting.started","api/nova..tests.api_unittest","api/nova..tests.api.openstack.test_flavors","api/nova..tests.api_integration","api/nova..api.ec2.metadatarequesthandler","api/nova..tests.api.test_wsgi","adminguide/managing.projects","api/nova..tests.api.openstack.test_sharedipgroups","api/nova..wsgi","devref/glance","api/nova..network.manager","adminguide/multi.node.install","api/nova..objectstore.image","devref/index","devref/objectstore","api/nova..api.ec2.admin","api/nova..rpc","api/nova..process","devref/scheduler","api/nova..tests.api.openstack.fakes","api/nova..crypto","api/nova..compute.disk","api/nova..volume.driver","api/nova..manager","api/nova..scheduler.manager","quickstart","api/nova..tests.fake_flags","devref/network","api/nova..compute.power_state","api/nova..tests.quota_unittest","devref/api","api/nova..db.sqlalchemy.api","adminguide/managing.images","api/nova..flags","api/nova..image.service","api/nova..tests.api.openstack.test_faults","api/nova..validate","api/nova..auth.signer","adminguide/network.vlan","api/nova..api.openstack.images","devref/auth","api/nova..tests.runtime_flags","adminguide/managing.users","api/nova..tests.flags_unittest","index","api/nova..tests.api.openstack.test_api","api/autoindex","api/nova..tests.service_unittest","devref/development.environment","api/nova..fakerabbit","adminguide/flags","api/nova..api.openstack.servers","devref/architecture","devref/services","api/nova..auth.ldapdriver","devref/compute","devref/modules","api/nova..twistd","api/nova..api.ec2.images","api/nova..scheduler.simple","adminguide/managing.networks","api/nova..tests.virt_unittest","api/nova..tests.scheduler_unittest","adminguide/managingsecurity","api/nova..api.cloud","api/nova..tests.access_unittest"]}) \ No newline at end of file diff --git a/doc/build/html/service.architecture.html b/doc/build/html/service.architecture.html index eb06a80061dc..347f0e9c0428 100644 --- a/doc/build/html/service.architecture.html +++ b/doc/build/html/service.architecture.html @@ -47,6 +47,9 @@
  • index
  • +
  • + modules |
  • next |
  • @@ -174,6 +177,9 @@
  • index
  • +
  • + modules |
  • next |
  • diff --git a/doc/source/adminguide/nova.manage.rst b/doc/source/adminguide/nova.manage.rst index 89fb396691e6..4235d97b18aa 100644 --- a/doc/source/adminguide/nova.manage.rst +++ b/doc/source/adminguide/nova.manage.rst @@ -27,37 +27,146 @@ administration and ongoing maintenance of nova, such as user creation, vpn management, and much more. The standard pattern for executing a nova-manage command is: - ``nova-manage []`` For example, to obtain a list of all projects: - ``nova-manage project list`` -You can run without arguments to see a list of available command categories: - +Run without arguments to see a list of available command categories: ``nova-manage`` -You can run with a category argument to see a list of all commands in that -category: +Categories are user, project, role, shell, vpn, and floating. Detailed descriptions are below. +You can also run with a category argument such as user to see a list of all commands in that category: ``nova-manage user`` +These sections describe the available categories and arguments for nova-manage. + +Nova User +~~~~~~~~~ + +``nova-manage user admin `` + + Create an admin user with the name . + +``nova-manage user create `` + + Create a normal user with the name . + +``nova-manage user delete `` + + Delete the user with the name . + +``nova-manage user exports `` + + Outputs a list of access key and secret keys for user to the screen + +``nova-manage user list`` + + Outputs a list of all the user names to the screen. + +``nova-manage user modify `` + + Updates the indicated user keys, indicating with T or F if the user is an admin user. Leave any argument blank if you do not want to update it. + +Nova Project +~~~~~~~~~~~~ + +``nova-manage project add `` + + Add a nova project with the name to the database. + +``nova-manage project create `` + + Create a new nova project with the name (you still need to do nova-manage project add to add it to the database). + +``nova-manage project delete `` + + Delete a nova project with the name . + +``nova-manage project environment `` + + Exports environment variables for the named project to a file named novarc. + +``nova-manage project list`` + + Outputs a list of all the projects to the screen. + +``nova-manage project quota `` + + Outputs the size and specs of the project's instances including gigabytes, instances, floating IPs, volumes, and cores. + +``nova-manage project remove `` + + Deletes the project with the name . + +``nova-manage project zipfile`` + + Compresses all related files for a created project into a zip file nova.zip. + +Nova Role +~~~~~~~~~ + +nova-manage role [] +``nova-manage role add <(optional) projectname>`` + + Add a user to either a global or project-based role with the indicated assigned to the named user. Role names can be one of the following five roles: admin, itsec, projectmanager, netadmin, developer. If you add the project name as the last argument then the role is assigned just for that project, otherwise the user is assigned the named role for all projects. + +``nova-manage role has `` + Checks the user or project and responds with True if the user has a global role with a particular project. + +``nova-manage role remove `` + Remove the indicated role from the user. Nova Shell ~~~~~~~~~~ -* shell bpython - * start a new bpython shell -* shell ipython - * start a new ipython shell -* shell python - * start a new python shell -* shell run - * ??? -* shell script: Runs the script from the specifed path with flags set properly. - * arguments: path +``nova-manage shell bpython`` + Starts a new bpython shell. + +``nova-manage shell ipython`` + + Starts a new ipython shell. + +``nova-manage shell python`` + + Starts a new python shell. + +``nova-manage shell run`` + + Starts a new shell using python. + +``nova-manage shell script `` + + Runs the named script from the specified path with flags set. + +Nova VPN +~~~~~~~~ + +``nova-manage vpn list`` + + Displays a list of projects, their IP prot numbers, and what state they're in. + +``nova-manage vpn run `` + + Starts the VPN for the named project. + +``nova-manage vpn spawn`` + + Runs all VPNs. + +Nova Floating IPs +~~~~~~~~~~~~~~~~~ + +``nova-manage floating create `` + + Creates floating IP addresses for the named host by the given range. + floating delete Deletes floating IP addresses in the range given. + +``nova-manage floating list`` + + Displays a list of all floating IP addresses. Concept: Flags -------------- diff --git a/doc/source/man/novamanage.rst b/doc/source/man/novamanage.rst index acd76aac0ff7..0cb6c7c902cf 100644 --- a/doc/source/man/novamanage.rst +++ b/doc/source/man/novamanage.rst @@ -26,57 +26,148 @@ nova-manage controls cloud computing instances by managing nova users, nova proj OPTIONS ======= -Run without arguments to see a list of available command categories. Categories are user, project, role, shell, vpn, and floating. Detailed descriptions are below. -:: -nova-manage +The standard pattern for executing a nova-manage command is: +``nova-manage []`` -You can also run with a category argument such as user to see a list of all commands in that category. -:: -nova-manage user +For example, to obtain a list of all projects: +``nova-manage project list`` -Here are the available categories and arguments for nova-manage: +Run without arguments to see a list of available command categories: +``nova-manage`` -nova-manage user [] - user admin Create an admin user with the name . - user create Create a normal user with the name . - user delete Delete the user with the name . - user exports Outputs a list of access key and secret keys for user to the screen - user list Outputs a list of all the user names to the screen. - user modify Updates the indicated user keys, indicating with T or F if the user is an admin user. Leave any argument blank if you do not want to update it. +Categories are user, project, role, shell, vpn, and floating. Detailed descriptions are below. + +You can also run with a category argument such as user to see a list of all commands in that category: +``nova-manage user`` + +These sections describe the available categories and arguments for nova-manage. + +Nova User +~~~~~~~~~ + +``nova-manage user admin `` + + Create an admin user with the name . + +``nova-manage user create `` + + Create a normal user with the name . + +``nova-manage user delete `` + + Delete the user with the name . + +``nova-manage user exports `` + + Outputs a list of access key and secret keys for user to the screen + +``nova-manage user list`` + + Outputs a list of all the user names to the screen. + +``nova-manage user modify `` + + Updates the indicated user keys, indicating with T or F if the user is an admin user. Leave any argument blank if you do not want to update it. -nova-manage project [] - project add Add a nova project with the name to the database. - project create Create a new nova project with the name (you still need to do nova-manage project add to add it to the database). - project delete Delete a nova project with the name . - project environment Exports environment variables for the named project to a file named novarc. - project list Outputs a list of all the projects to the screen. - project quota Outputs the size and specs of the project's instances including gigabytes, instances, floating IPs, volumes, and cores. - project remove Deletes the project with the name . - project zipfile Compresses all related files for a created project into a zip file nova.zip. +Nova Project +~~~~~~~~~~~~ + +``nova-manage project add `` + + Add a nova project with the name to the database. + +``nova-manage project create `` + + Create a new nova project with the name (you still need to do nova-manage project add to add it to the database). +``nova-manage project delete `` + + Delete a nova project with the name . + +``nova-manage project environment `` + + Exports environment variables for the named project to a file named novarc. + +``nova-manage project list`` + + Outputs a list of all the projects to the screen. + +``nova-manage project quota `` + + Outputs the size and specs of the project's instances including gigabytes, instances, floating IPs, volumes, and cores. + +``nova-manage project remove `` + + Deletes the project with the name . + +``nova-manage project zipfile`` + + Compresses all related files for a created project into a zip file nova.zip. + +Nova Role +~~~~~~~~~ + nova-manage role [] - role add <(optional) projectname> Add a user to either a global or project-based role with the indicated assigned to the named user. Role names can be one of the following five roles: admin, itsec, projectmanager, netadmin, developer. If you add the project name as the last argument then the role is assigned just for that project, otherwise the user is assigned the named role for all projects. - role has Checks the user or project and responds with True if the user has a global role with a particular project. - role remove Remove the indicated role from the user. +``nova-manage role add <(optional) projectname>`` + + Add a user to either a global or project-based role with the indicated assigned to the named user. Role names can be one of the following five roles: admin, itsec, projectmanager, netadmin, developer. If you add the project name as the last argument then the role is assigned just for that project, otherwise the user is assigned the named role for all projects. + +``nova-manage role has `` + Checks the user or project and responds with True if the user has a global role with a particular project. + +``nova-manage role remove `` + Remove the indicated role from the user. + +Nova Shell +~~~~~~~~~~ + +``nova-manage shell bpython`` + + Starts a new bpython shell. + +``nova-manage shell ipython`` + + Starts a new ipython shell. + +``nova-manage shell python`` + + Starts a new python shell. + +``nova-manage shell run`` + + Starts a new shell using python. + +``nova-manage shell script `` + + Runs the named script from the specified path with flags set. + +Nova VPN +~~~~~~~~ + +``nova-manage vpn list`` + + Displays a list of projects, their IP prot numbers, and what state they're in. + +``nova-manage vpn run `` + + Starts the VPN for the named project. + +``nova-manage vpn spawn`` + + Runs all VPNs. -nova-manage shell [] - shell bpython Starts a new bpython shell. - shell ipython Starts a new ipython shell. - shell python Starts a new python shell. - shell run Starts a new shell using python. - shell script Runs the named script from the specified path with flags set. +Nova Floating IPs +~~~~~~~~~~~~~~~~~ + +``nova-manage floating create `` + + Creates floating IP addresses for the named host by the given range. + floating delete Deletes floating IP addresses in the range given. -nova-manage vpn [] - vpn list Displays a list of projects, their IP prot numbers, and what state they're in. - vpn run Starts the VPN for the named project. - vpn spawn Runs all VPNs. - -nova-manage floating [] - floating create Creates floating IP addresses for the named host by the given range. - floating delete Deletes floating IP addresses in the range given. - floating list Displays a list of all floating IP addresses. - ---help, -h Show this help message and exit. +``nova-manage floating list`` + + Displays a list of all floating IP addresses. + FILES ======== From 8257fcc259185e5b13f09d3e15cb81487c799c3b Mon Sep 17 00:00:00 2001 From: Anne Gentle Date: Wed, 17 Nov 2010 15:58:10 -0600 Subject: [PATCH 153/197] Documenting all nova-manage commands --- doc/source/adminguide/network.vlan.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/source/adminguide/network.vlan.rst b/doc/source/adminguide/network.vlan.rst index a7cccc098762..5bbc54bed53e 100644 --- a/doc/source/adminguide/network.vlan.rst +++ b/doc/source/adminguide/network.vlan.rst @@ -31,8 +31,9 @@ In this mode, each project gets its own VLAN, Linux networking bridge, and subne In the VLAN network mode, all the VM instances of a project are connected together in a VLAN with the specified private subnet. Each running VM instance is assigned an IP address within the given private subnet. -.. todo:: Insert Figure 2 from "An OpenStack Network Overview" contributed by Citrix - +.. image:: /images/Novadiagram.png + :width: 790 + While network traffic between VM instances belonging to the same VLAN is always open, Nova can enforce isolation of network traffic between different projects by enforcing one VLAN per project. In addition, the network administrator can specify a pool of public IP addresses that users may allocate and then assign to VMs, either at boot or dynamically at run-time. This capability is similar to Amazon's 'elastic IPs'. A public IP address may be associated with a running instances, allowing the VM instance to be accessed from the public network. The public IP addresses are accessible from the network host and NATed to the private IP address of the project. From 7712287139c5dbd058909f205609d02065097878 Mon Sep 17 00:00:00 2001 From: Anne Gentle Date: Wed, 17 Nov 2010 16:02:11 -0600 Subject: [PATCH 154/197] adding images --- .../doctrees/adminguide/network.vlan.doctree | Bin 44409 -> 43599 bytes .../doctrees/adminguide/nova.manage.doctree | Bin 40037 -> 40401 bytes doc/build/doctrees/environment.pickle | Bin 1802539 -> 1803550 bytes doc/build/doctrees/man/novamanage.doctree | Bin 38494 -> 38822 bytes .../html/_sources/adminguide/network.vlan.txt | 5 +++-- .../html/_sources/adminguide/nova.manage.txt | 3 +++ doc/build/html/_sources/man/novamanage.txt | 3 +++ doc/build/html/adminguide/network.vlan.html | 11 ++++----- doc/build/html/adminguide/nova.manage.html | 4 ++++ doc/build/html/index.html | 21 ++++++++---------- doc/build/html/man/novamanage.html | 4 ++++ doc/build/html/objects.inv | 7 ++++-- doc/build/html/searchindex.js | 2 +- doc/source/adminguide/nova.manage.rst | 5 ++++- 14 files changed, 40 insertions(+), 25 deletions(-) diff --git a/doc/build/doctrees/adminguide/network.vlan.doctree b/doc/build/doctrees/adminguide/network.vlan.doctree index befc018f73a553e3b58f301037e6515c1f6645fa..02e6e7ef14474f35a1bbdf7d1bb4feb7e1462266 100644 GIT binary patch literal 43599 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 z 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 ATL1t6 diff --git a/doc/build/doctrees/adminguide/nova.manage.doctree b/doc/build/doctrees/adminguide/nova.manage.doctree index 4ecc07aa6d57cbc6315af4ecd8ab6710167c6f69..c70fd2d716f3c8107a1f0d873f699d49993c63b9 100644 GIT binary patch literal 40401 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 YbXtCLGoIAW;bi!pZ14k&l5DB{e`ABrVE_OC literal 40037 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 diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle index df5a85ad9075ef93637d581060d4b3cd320feff4..bcc1d22d09dd29f88755559db954960a76d190fd 100644 GIT binary patch literal 1803550 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�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 z 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

    xj2t{LELeVHC6pb=KpMDO* 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

    CPU4W@tTm{{v78wIy=c>Sb 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%0A_7iXte~LD@PM^_~so2laudmoI&}&$+ zU)mT|>{n!;#@8IJd45BbBi|CWKHm{F`|pAE75f7pcx)!u-YfP;Sn?J76GuJIQS}x3 zGi;$^8CYN0Ux>?8vA<#u{IVR{T!?-*lbrd3hm|vb66Nh*MESLVs8#tJ*sx;%fi+a@ zzv$qn<;+x2v5ns0C}}nZyXJC4X)aHc<_bhQ68*HRMb`@YTByYQ zV=b`zu{KeTu0xbd9f(?qb%706Vm%JVCcANfzq;88oWwh$ z%}MTJCP{YZ4wBrJD9PQ3lI%g0WKW<=(jAXQFQS)ZZ*UU#L7S88OH)Bf_Jai*%OZv<%4Nigux|fQH-gMug*q z3NAL2yxbe?UXCOx45Ns0cpst`ZZxoAuI$SJo-6x-@!}h8ZsGPflO)G-2L<*3q9jX* zk{m~rWGOI}q;)W!a*m11h@LCuV7&N7o0FVCQ$emwgasdxt3aCIXHvTG?dRH(aeV4q z!AH{ch|tNV$0YVO$x5QUm`s!xRYXm_8kk9sDd?u@!Pxlx4~~2I0VnaHXmiVSn3*Iri#sT$vxyQqoG76qh!Q#y=$Sz$JhDd-JsFP% zC-E_8bCSoJNs`BL2T2}Jl;jCSNuEfQx}~c|I_Im-GVIkY^WSgBRU4 zfX}+3d&9jKdQ^Xx^kN%$NfrWX7wEy~oZP9ah*n8UIg_ig13aFGO%h*&HY}7qJEDW3 ztQK|G^jaO`Iy=Vo;TX|#xv2eLcTJzqRObz*aAQyi)p?Vd6vUgs9>iOS3gWFq1@Shb zf_OVHt_Z?t-EQ;JoCB-{rYEK_o5eZ!Ugv)?z1s^=5;^W#UJ2k z&F(>>rvDI8Iq)!1bAAL^|IF)A^v1-Gq3t|4+TxT(jgE>RM`v(!+^OUzj8`&#(zw{h zJY~GO@zcf!+n8sJzcTx?#+MsEXZ)V=^Tz#*UofsPe$jY{9p@$E$;K}mA7Eo%F`j1p zs_`bquNl|a_}7geF#8+E1I#|(cy+VCX}q@C-!gvM>~9;-F@DGR7~^-1x3KZ=8P7BO z`^N3f{(ZH=27_b^`BcoUmj z3**tos~F#6V_F)&ZM>@SLB^{YZ*AjOH=b|yR>u1pw>B=eF>Q={7`HVZXWY)XvGE$l z=h(jOjgK(uBxX5@d<5b>lC@oW(BG!U`= zBNl$dijP?85os%j97sYOD|&0 zMJ%?6RTiZu`nW5gq1?X8i<(u5wkvGx<}0O zhzTAsvm>T-#9WS;#1XSMV%kQ`*NBN4F+(G!X2hI~n2Zs#Fk<>e%)5vQ7ctW!rdY(> zikMUpvngU4Ma-Xwi4!qnBBn~j9Eq455wjvRfEEpZC&dv!6BE|pz*I9)2YAnIDWB~e$+t%$nPZw*YZ^xM$v&%?I`<9&Rz zxhwtlW|Ghj+(AM+5+&4)D50H*651K)&&%k9d%g?NpNDq`C-JUmbCSE6Ns>LdgCu(r zCE1H8$=*as_5r#i-EqmjM1LOM51hpP(dHy~r>Wq1_yAZk&%^gXS1Ti}f$VECdlEI< zK}5}VFi}$+0?a%QABt}JJe)D`dF}*St?}xVd5jESRiJI*(L{0HnV5TCELpQBR z#=z%!Jke5kLzEHzCAb#15sT`k6qVrTIP6wGKdw+zUNyBMuCB7r#GQa$kjf`wgOARm zl~+;IK{%9UGaU}uypZ?43U1jIevGXd4|2(9duRD%Q#d6kgfu+WOmhA-useS`QPDYr zs5qQSRQS#UrfGOK&7OwmfRp%Kw7CU3&rA|JpF1eZ7Z4?MAyGmX5hZjn&~t)Lc&slW zdK%6FfYyb9=&bjKyHCVCpq1LJi++MMLIG!>-b zb+Ba8@OpG3TN!EHz`iDPBT=)xiKyA$Ow<%_0cO(hR&>)eWDIJ=C0myYMj4Drup*kKkc=^C&h+{21D>2v#zjd?=Zk9_E)FEc>sH zkLwsu*fE|A$A~)RBJzJ-05;B4-czRVbWjMD_l%hovS+~_vge2j+4Dq&>;- z%}Ks%CP}`>9VGcaQIa1JCHWyyk{zp~gfBEk~5l@<2}kI^m&Rfdf42 znt+pdMYK7|re>04GwvYCm57pTPL$-zL`k*)x+L9k$yGSOv#upLiC0CNlU$9af~;E| zmQ2>QLN~INkydN=HJLU<&9*I3vu#Jz6xRS|vaUV4Y1T0YKF>9Q`Sbl+up!UZ#wLl^ zu>p3z?-lZl9@U@kJJ`T=!@yB%BY|~8zVKE&Ul8#7wCiDLq|-~0?Il0fr&)e%K$N2$ ziE?Q}q9U;o(4)@DxHp}MRzpjg!p0a0A3I}{#G9ZEOJi37x)cg&QCERYb&SpI7@LP< zM8k7&`oFFMBQo{a#T2>*g;0-Mm`Tyw67132im2#qO;q%@Au4*?0@Hfjj%KgN?ZHXB z1KJP{Ez^!>l2AA9pk>;LD50H+6553*q3%FmCOYBEv@0-t+GaO&lDLPNm}bGbo@SC} zFR*L&CQ7ppQJQ^;((DIxP5R@S{fS0NR|Jd(c!+kON`K6y%=hMz%E48pOUP zGnlB^4k0Q+Ly4N=UcgL24nsFBNXEeDIh<%I+#XfLPb(Ms@7wf@OD9&;mY3Gn#pUq` z3`71FW0S;tqm?I7Nyt4q8B%y5*MjuP{YX2+sBnl7|9#9Pk4A&tqkV~Tc|W3@8$(n~ z_6IhM|5y(2G&=x{7vE@e@gHXU+fRuGs9+ce>-#1>&2zrqF-|QX;PoqEqpOLE^{(G+@^9w zm`cdkBh92(90m4R98FZPjv*>6#}c)Y#{tum;qf$kmYx8{zoMhft=~yzlF-TAK|w!- zD4|n{5;~12q0@n$GIYX2e+Dp|49`Rde~WIWf|KFdW|HPPVAnjCD9!VT(mbCi%?p68 zNq=1PLZYYXMPU3bI@+9@m(Wy@rgLD)oD45TH?pOX)@AH#GM5uI+bf8Q(3M0@aV{{E zmRF&hrX^$G^Sqj9X}K=aa=7j%)@+{sbF-cx>(47|;&~X1RJ{fp{2&}!`4d%#QzBhm zTyCbP#Ov%3*M~!d6uZGp^6N&h`*jmhj^9j_i?)0gm8#aI|H);js zDu1ako)4SOiuAkw3G=dqlbTK2gqm zK-6M<2=v9Ey8H1F(JHEe=Eryl?tFp`UL&IoOJpZ@PC69NqMj0erel0=$M_-~qu`%$ zzJxg&m8E=ooSv4yvSWW8jvb2g8#5_T-%>+?`i`hTeNR-NejqAPKLQ&T%1<2Nh4M2P z-%dvxLZY?#)l8E7jXOy4ccLW!AWHI2q9p$Ux+LB4wOK&)LirnvSH@^_lK;|FP$>Vw zk}VW{k2_8arP2GDLTQXnwosO1Uo%~vC|6b>%9SQW&3{E;rcj!qn-&TK--r zrVUYx(H7{7L3Q_|9S0N^N~*aA9)dgVu}R`J(S{|mLgA#BSSV}h7;D=x)(OWbD3lH` zXQQ%=g|e<4d%bY%P$)%aQlQqSh61$#QGx16RG>B_Do`5%8x~3@4)8+R7@WkN(T0#{ zZ8kBJBsb*_lH80a$<2w9>_U`eSD;JM9bcO*h+ZgLf|GbFv^mMGX(}j`ZD7I2v@0f0 zskFaou>XMRQZuEzv|@ZkssEjMO}s6KrB{~i(8(6e_UvoMI}qj4jzqcCjVM2M0%i(k zXLQqoVW8ZZU5J)w>ovmXa0@3l+$UF*KFR5h(a61Bu}R|H(8}vkOS5ke3|BreXdy)x z^4hTANxG-qLcUg4_#}Nw=1F=_2;eL4XmhL5+f0gDAFxNQFHvFbM^pg&6O{3e|jKW=DqLVKD?LW8)2mS-?gLPLlW8cLMVUO>+{I^l~njOa-|9E>-}(dHzJ z%_Paaxq~D}5+yl`D9L?@k{k_mNxI{b`w~6L_XFc2?Pzn7`_ojA4mU&g@aIRThI;ZKAOSz3V&UUb_4p75h2JQb%$ z_2>CXHn1`bw4XNfJBaw_qpp=@B~$dT>G5O?igZ$`vhnhunr3-0g(w#fB+8kXs2J1$ zJ>Hy#`%z1@I^^%FEnK_~W8l|RY?62y+OQmU=BFE>tQPeYX}XRv!;W!KI7W0*E;dVf zwlA!~lQT6q(-aO43gP^pm`QOv1nhA;l&H8JMpWEp5f!)Dz_bPrr`c=p2yhY~i8h2o z3v`s3By==)&;lJpl+dw62^~k2(D6WDAUfd-bOJEEP(BeIyy>ka2V^B<@142k8srE9?+ghC_sunrkNcaTVD8xSA+O=Mm-7HAF??T42MdUk7V= zVSGJ0NqmEu3Re0?GfDF%uxs8-l;$l&Y2Hed=50XNq(2_P+kqjw?m!1`b(^U`^DZ+< z^KP(f-b0k;y+mo=N0jFMK-Z){uK57bv+F@Het{irF1sG4sUW)^fu*>a-7T!c|2jO% zZu)%XF?6!2_Bi{R*%L%f{Yj!y?J1(>`!q094_SBD`t{2uY%o~*NF1=b)x)wgQ#_w z4{W#&Z^9b#?Jach8|!8&So?R(B+YlhuK6BOn(q^(`2kUy9|B#I{&*NaBKk9mkHPqj zb+oy)|I|#9{ERzj%|0he@(ZFQza&cXE1*l#9hdx?=;`(iIElYSo0I&Grh;_)9u_=p z=AS_Ds>q*_%h76QD z^9L~hwBt|Mkc59>gTF1e0bIfQ8!~^xrVOP2_0K>4u|58+--ACZW={d!*{vuYlaPe;|*Os?*W|HJuV3%B*D9Lq*lI%c~k++xiop1uINF@#1~e5EP)As@1%yxV)$-SGs_SHDatS>bbuzo}ZtUpl!+nuO@4FEPQpglOi3uquXiT6YsLei@TO@quN$-!Wk972@j zP@*LFB1&=?&?V`PuhDR#7tjcB5*MS*N$yQkK>>|~rMN@GD^OWQ&7`z?MsZA9J^P@O zt)9{BYr6Xq<Vc}PV5iNRL@v+)9PWA+>--<`RXZw4e2!w8~k;-4JfRhGT4+C zbiTfN%59JF^?R(|D0lgxr||>~h2B z712s(;lkB;9F9%F2LED?HmsP{4X3}vx`}m+8aqa9I7UI;)WMvM&ob7{R6F*xaO_Yw z)6JwspFs^p>mZ_{HIt}l9ZXcT5@5r+IfMheZVm+}@nL8~NP6|4X_lEJIUDSfhZ7}v z1W}Sl5+!*Q&?V`PFVN9MubX4Q_;WP0ImzQ_DyW;|VJTjxzHaQoQ!%*&f60@U%?TWm zmd%OiWXt9x_BGp+iE`%@q9S-IQ9hgo%#_XP=%!`EAh{!F0P|&YCTz&Av#`O-Ya38l zHs`>mw4m?xWpl3WabEo%t2Oenu@k=>jnBv9QLi36_yxeUYA&Q%UR*?!n->%1&?Q7I z${e6C3TNQHTuQX6S*Y%1co=S7jtzd79c@@HD;iFIiA8gzjxiUTB)$r*j!{rFSHql* z&N3FwJUjL^;n<;Qt~HaE{5onVSl1I3tQ&|5){R63>n32sqPdv^yl8F#C-JRlLr8k{ zpy@U-GtHW=*7rYLr;I9hc*8<1#e_Lzf2QfI5&qL^B%jaSCHSb4=a_mu}V)+ zl+P3BrsczMxl2z1^X2mtY{;{xu}R`*Y(Qc8JPVr=gi)w3pXY3k=j-=ayHW0{lXLb3 z42^pApw5fHw31$;Sq{BSl*g|S<=d-7t<-BkUnx$;-Fls9m9(TOyn&H$c0M*q{3hD4 zoK{qHX^BPkmX7hZ9pjyFjDn(i7v^ltma(Ybvtz#>jvb2X12ZWRKBR`?_7PEW` zeL_^+J_R-`s?RvUi|TW55`Td~VV`i*@}`gfwd z`h%!I{z;T8e*rTUwE*3;qCV%S!9Dmj>A!*biuwmOB-y{%;Ah}$Kw(8S`VjkD!Z8H( z71bE_Bwh}!0y3(7qg+L0Jzbth>D7a~tYEvyn2CyV^urGYT+0KwX{0S*=Q|gE%~s8yzQ9Y zXlP}st%GW)vNmQ?INMTP;cQ1#IM*O5ob8DU=bAtdXXeiETCj#Y!)v3155=2_Nf9(V zm`R%Jf?abxqBM($(p;Y?%?*IANq>9^I}*LjHUuZ}MrgwVDQh~>R8VFc!-6}*daJA^ z?#yob2*bkka5Kz!0$5-snVHo}hr#ufHq z|E*v}nr)3u5^sanYa=^mTkdIDM`uIUE#{qw?d)*dhr@++*uhM4W=F6)(~T%^cOuHK zorzk9U4RYOp*yVM&hW12;7xZk6|8*^GfA^2*fo0*rP-S(%|1kF_652o{qZpNBl=mr zKRAhZN1I#w0cMiq9^64|HjpUEJ&BSWM3m%Upi9ynmmEU$bQ=mz;=R!3B!|&dkZ!|a zDc&IW`l7O8oW0KAJscM>{09JtwqR8Sd^_x*M1B z7%I*(+d;mR(=1=c6Xom#qTHHD)B;rieStU+_b4J-X)Q*55(dG=N^FvNGTN|!R$6o< zlvYg-^D$Jbf50TJ(lM&-7*oPAbV652#|Ofkjnq<}(9_d)Y{#w%#}1`iYbJ%Pjv5Nt zRH8yQji``KCn{t!fDOy&AP(>{nhD15x}yyt(JCcolH?)WL6V0OC3zT8lCy}CoDFnI zy5p;KIMK`K2r%9hN1Ky8il%}xIvSP+FVm-&SK-T3X#pL>A!z{}i%zzHj$>c5J)S6c zP9Vyi6N&QSBw(h1PDVE^AO^`DIR%(6pi^N(cAbVz5}$4Z3Jd5A*pwFZy}p3Xv^~zM z-=py5vK)=i=H6PAb8M)*IG1L5aUM}_o==oR7Z9~57Xp1zI0N_PBBJH_LUk|3!*J^o zY?62m+OS+!G@Seri{?@t<1#zO<>43wMRNtr+2|}|(OhZAo*RxGismXaDOguiL&2Iy zRIsigDp=PN6|C!k4U6V_4)CJ60i47)q75O@`rKqDN#4vIBzX%_lD85ic^grZw*y_0 z?)duLLG+@z6O5mLLz|Plo2G)Ixd)a}JQ)_eOt(|AeaZY@JRU0MK6J7bb3gl<>H|di z@*q*ZJVcZO4+Aq5^9Z_W#V|td#iPJ{#XJTZQtNSSlK2T5P*^cf!ls;{=d-5{T>SZCSui!zr z^eQ$<{2JP@PF5|P_!6t-bsggkJI4HQjDl);6XtAWman{Q++$AhB|u3ObX(= zR96t+BPxjR6BWb{hzjC|Ko4T(HN!`+hSv-qql35i%~bHb@l!KN^E0q(eomC;7er}( zNtEVSK-Z){zHna?y^y{EEt(3_Zf#hyZ;FRc zm1zCb_b1ljurwDtpp(tTb=lX9*CWcMBBEScpC~^z0A_NrBf4oWGEnZ!hQR!3d?VP9 zhMllU;*D)U;c2`xY)U}-Uw<0k#P-;avrm?i^G@HSc03g|a)<70O+S3gvD@g|Y`x zq3j9tP-af)yJXu|?2V+PYyP+LP_DPFN-ZFvp8Nj%g#aryYVxFX&QooodSV_)+cPSnIl5EZOq zqGr1{FjGMz(M>Ce;qWPsB3i~ZLAH;uDeMCqQfxFfNxUywc`&Me#D3h%@{MkWd|S*p ze2g7z|8TId>SN6$M-BkHBPB$6I*urxN{L#5GGN0MD2FxN02+@@5>GHw!KzO*lQb*9 zt{D-fIf*FEN}@C;16`B;cnGVAeiE++C-D@txm7>VOp=VbgVw8tD9Ku)BBk_sBS!%9C-5U-L;4+s4gMI-1{9vakAY3uN8jsD;K$k? z$JOt_SCH;#{jVAx&%ITOC)iMVaU#v~;v}NnJeeqmP9bVhP6hg+a0c$nX+$ffh3cM; zhvC*4*d+0pXv1<@A#w7dkQQ~~K1;_q+m3NgI7Y#V`&^i_(OJq9clyldJUjOJ;n<;2 zFEEpWbs;qrtc!>W*2P2x>k^`ZH3!(RXfEXdFPh81_@q195E8A=6=ss;mE1v+bBU6? ziYUpeiISWLbV<77>vIj!i{@Hz5?_ZlCwV-Sg%6+s_;XqF2P6XoM0M0xWlQOofd(3gYq?#Sar zE0>0%Pv9{)^dvU;`Z?OLN>(eJ_7ZF5X&vJkJI1r&7zMTR9L(9cEM=|uu!X$Wwdh9* zo)|?J4uY`%T;uaL!xzE~L&d#lCdKv+h2l{_$#zIH@~K-ptiq(CG*9fZ_(A#Nb5WH zHJR^;n(YrnMd(MOruY*uQ@uZ27_Jd|I$kuad_4Z>5uZ|tf5pSd``@rh z;@{EAgJ>Sp#ZsTnh16fn^Q}MZ5Pyb4grxe*O!8y_*gg51C|Ca>%Bg>eip77xhH-E7 zF$VY_LNo^B?R2!cxGzsr<_{rOK)?PEA)26PK`;12h!t&&{t%)m*{9KrqczW!h;pPk zQA@HiQL}FWtp7uZRnQv~w?vCSgy?Y^{{&)HbOuK~jaM`7WxTp^Z{t?ReT-Wh_cd-~ z+|RhJaew1>#=9G@VLZUNz40E#YZ?zUUdwn-WW5%sdaM!p`77=DeMx#Rg-1p6X?joeRm3;PA2 zYcl7z^>K_O-oWPEvj+<<(rKronY4l%f_()yB5H{{5w(~b6P1dcf$8~e6Po?}wkbG? zH$$6Cz|GAhp)TA(snV4wp)H6K+L9=tt$?2Mbi!k@HPN5CYy-w8`9f^|cMwH}EK$oODF1a(&Pj9<`@o{*xImumVDmcCE221Aj)&t$hRz_Mq+1F%x z5jET1M9sDjQB&*-%$(l(p_`uG7z3YYe_;N}$?mY>oHhWPB;LaY^h6d!cZPEsJ*t0B zGSCL@83vAO(a7(ncdea<|2!>=2jQ_uDKyxIY2rg@*2ISr<=I|D`7n$q*M|c=%vAU3 zk01`k*e@uAiW_4lg=>GXhifcR;W~h*aFq}hu5rM$;!0`uiYo&raXH!$4z0_0Gf8Ly zchI^_Buc1)D4~cbp-Dhr7dqkVQc3iRn+#6kDzrJtYBNc43U`p?fka8hL`l{VC0Pq} zNxI{bbwsbYsbGA69Boc=I!y%?Hv^VT#T|rhWGf@Bne1ya2NN~hgs9mbLevxw1!gMl zFm%(3V+?$rvw-=En++Rs^>A#G_y`-&6G4)mPk+Ht?u0a8$VY*p)vBT3)(! zSO0MK(HIkHg^#h}a^P5+<-l=7d3ZcgzMMc*2u=igxH$`V<0PV0-XgV6#t?XQ3O4w= zG_+wctODu85-adD9piL6#u?!l(HFVM{9hILWu^kpG=;N*La4yA&7`oM1NN|;OH|m- zBPwj?6BV`#fN2F@NV8YqMPU3K9NG{Lt{L!GSa$@eNEL}`9Tl;-C|X?_88P5R@SUlP3xzXB)m*JyKY zenV418GZ{(rVPJBH?pOX*7xjdGCvSC+aHOF&`(57@n>MB41Ym4Eknk@=lLtqvbQy| zcW`;_wCZ>g|C3_~KGr(5qI_EX8%7{?f5#??|3E7zqPByvr==bJ3)#Dv7uSE~gPQCTTVSyXJ~S zX*MNFvl&sED*=7E>5qr8IjkYYRz@d@TbQXpa}_g5vnALyS0zewHKH_ECrYyw&^76g zYqlnOinReJaa**x6l+IQL5i&b3w}tCr^zl=TJJ73wK2YxFrfn9^=Z$C)BCb(qLa

      EosW!{Micq`kOynqi5?5>)+md}6+i|q!xjj*i z>_F^itF|Liv+oA1zxlHhdSl|9(c;N7jfs1p z?QHwoj@dgXJ@HVugTe*yyy!(N#_Xb-_sXo^Lhc=>7n9!D18-KN&4seBndEdo9=4x3 z-Jhta>`s*b1BhC^J%9}>eITr%()UCM?^c_spwb7MNt#2zt~rz_&Ao`y97dGpaG-0_ z9}mU|qE~t`7{7&%Hs|I@nhGj?6fAh(GA(lbxCj4Ji9c?FURh1N4~L}HJ{p~DweQQm zX1gCz?u;S!vk>l2ln-NpnQA`(-L%>nBzL5QXw}ZIz@>#gsH6&C*0n!=>YYw(97dwz zOR-7fGPGXtOWLoT3Rd+D)Y4S_c$1hABtq3sG?SdJ0K3x>QBj#hl>e1Pt>I)~!!@je zHC&ad(ZT!OW-7>=1I;AO80?xgL}}I%rCCRm=2W0-(jO1^G@`%!m=4DK-Dq=pbC8)N zIg>l|v$Z{#D9MB<$wP>eJQV1XbjKwRBYLXN0w?iov^mMcX(~w7BVZ|Bwd2$&_??iD z4e^n*rrCKEI@#{u^eOs7MFv5FRJj9KBt+)=|LhSAUQCqaB}7TiAxiR6 zpi9yn5AbC~PmasM_{KQeoaB`>6(q-8Sc=!^IKHwPzw}l$p-aV-Y?55XN7E#^8l7yC z%wt~@y@n`Ht|j&}Pp%_s`qu+9Npb_aX_7EL?!%2lOOkd-l72p?q5(s*$#N40Az5z5 zCW&uB>&dd1U2f%ZEom5;WloygOzQR^6_Vx-Gs*8e!S456Lauwl~N z#{r%+_k)x80kpXle9%mie26>rvrs=wl;k5sNj^%H^0Xx&C z%ZGuZ)!1*7v5lD&yS8ADT|1&;w+2zMYfn_{)&!=txE9S`i)(}Nt#Gs<99pCfW|Gjl z+(C=99#KL?LYlk8+BNp8#?B-xoL$xVoo+>|KE z&44aRcU*FFqSs;=*;XF{0tQX#HPRIf4iAs@&5Q1_gysm4nTs01g3r0EZG4 zz`ckH;4q>BI2@Q(wD@7-K zrN#imeUJUo!S~C}RPg%s05eIm1nipQh|(-2O0$e8&2pe?(jV6xPxP{!0LCxEq0PBj zK~q6lMzCbcauT|cEseA)+1F$y6E)i^q9RmH)D))xGi7-ox@lQ520qW2Xj#k~lEceO z@g;=X8AZLTt7v#;r$L)84w zC2IcX5jE-aftj?s0Nph07!{xSg+xm`e%5DTxn-PYauFUvu3d~x5?_MWbFD)$cClQe ztBcFEf?E>>F9iJ5xUkQ!jbkeN32=^SUmCPSl3r#exqms>-M@mU_*_X;B<2#ed{+U} z6X4Y}duq-D?8f(B>rXr>P({AAluu{(BJJ z$W}&L53#SwJWSMVA0cYCj}kS-$AFncd>q|05g7xY=M%vE(~>7)Lk2#DO%gwC1MF!@ z^&*4gI9@GN(+;H4UfW?*RjE0prH**V2*I=p_CT&a$vrW@unT)t#FL! zuv|R;uO}X}co46+V}{5`Tv_C;7dZB>4k( zkmQd{7zSqk)><#kOG-=2YijCW3pB;hNDJM}_UhAv@A0ifv;1gIl%p#XCzJGv6YU|+K$mC93#3o7pMQH z9_xx*R8*Cf<2PSwW4@=})b8~BAky*DP?q;|x zaeu?@h>79$#0v~}AkH(~k@%EhH{utDI}w}qq1w*GPKLV>w>9ie>}9wsvBYpUVzprp z;z@=*iPstSBHm-zoA{PtAL5^eeTnV+Qn(*+2gClvzJ|LK%M1q)4>#O{xTS?;An_uz z?n%7Qa1ikw!@#LJ-oytDM-tyR z97X)ra35le{*)L^T+47@VmHJ6i2V)65Q`1>C)OH{C7y100CA3C3GqS0am4oxONsv) zmJvJbPT_LmE{5ZYdl*h2Rv1ns9%EQRoNE{nA2*yt{M4|L__N_;Vygj^s3LA5X6Z;w-K^$&)Br!HTig=je(Zq`l zk0IV~cr5WV|W_z2E)^d z&l{dWeB1C$;$Mbm5u4$&q+{ZYcprS$2U@@1zTR+BHVKy3R-1WyX37HgDR- zt~BaxG4MLO*l6TI$9`_t8}(MXaVNXvs5hW|ZM*8Ix7*qG*o8;ET~?cE*BBQm^+bd)Sppy>ZKLZ5Jo?S`FxK*C*>O*y6`u?GmNlc8{!LS1FAgJNhiU zP^q`;9o_6&rQU(7{Aiae^$zcShh4GMTPtdA7cKSr*WPN^E%i&~4w_VTFJM4;byQHz# zX8jwR++bHVJvQm%pY6h?-i)hvwriVuCw5uGE^q1$oioj@aO$0L#Cmp-Q*UDVFuTsF zS3CAoyVR-oNZp-wwX@!Wo&WjRE_izE=!>_tYo2>9MXy-fb5@ z^;$mP-mZV@4Y{{nXwb==F6;$tlPwVVLs9y2wAK0}}z2h%yXO~0u$`9#jS48y= zxw3~{6xCbxmF?`hs9x!dQ|!`cy#*^>+sUqudTijl%k2WG-Y4JBvumV!XE%P?E|cn= z_*qxGQmQxjtM+!WRIl4vyV~_qy<=ysXO~R%_H8rBuA1u29&(CZIMqA!)H=I%s@J>m zA$IvxuU(I?>P|>+@tL}s@}8*->^%mdOb&vw5zFlQ$Ks%E~x6QKWHDj zrut*;V!N!WciNjZc4bxXhrQOai>rDEbe(V4SM@fZ*VQhu>W%xMr(I>$`*FckyU<#1 z!3KNoXxCaj*8R;7>~gE#_;J;C#Z|BD%E&Id+ON|^7ut1Kk5zAYsa<;2+k5WgcJ)<@m6o6 zq3783TfOADS#}Ax-h!_EkFcw_9;^QHCA*NTx6}KV+qGQ1Bk!JXmvi+#ee^23qN}&> zhg;Z1UA@-bN7{8=y?!;#?9#5@yqCJ$)!ljvHW|>;F7SG6kKK%7N6T8@}*WvZ0? zcKKJY`|>y1GXV7_*N(uGfSU4JehjK6o@Y-2uHln_;jK(7oQI1PPUacWoBk(W@ct) zX69d+`+MK-%)H&%+nrUM{L#i<-+aEivomkrym>SGfE8y~yY2aU^T4KBb6?%GnhUjN zZ^P!rdShlNb)j=;tFz+T&dReV*UmI%>y28sv&t7-?A03^hUHqbvQV3B);nA3)!v5A z>RUdrv!*&VH7%@Oy*V|tp<9#7Yw!8cvCg{b$y4jiUd>qTDU_UQ&Jkx%o;bQBg4NbcZEB!9IWc_R zMdLkFZ_ag&Jp0Nuha7Uqs0AD~x$^u?7k7@H9GLI*+LxYt?o6xN-DK&TT4wIt>N%Bm z{oF;1+BDx=XxyZLJbCCjz0NU{M~*ISuXlS>TZbm5#z(Fi>KuFa{895qPhJ!iXh;!H z4~mm|+~g6XOQ^f4@mg=BS6k>DZ=tt~LT99eho(!Dc>?Zqu(i-`)DBDy&ey7YJ11J` z?W54DE#kQWf#8!Sj~`tcTWn5^;5Am{rR=M1Z?)Q;lP&(PQT)D|S(>lU&3k?hh$^Q{ z9_Fe9_0jE|YT*||;e8dtvgDnHD&EnWS!~o?ZJch27e|Q;Ea7i9U7pl4CQp&Otn_LV z^@ZBh#K?{zwu>DjJ0~ZGI%isip{T-)l&kDyb)IroZgX8G}#-jLsWc2btSn@=7+x-_xWu1#&Lbcbt|-lC~>ZegL9L~pt$g*-F^ zAo*-Gr-7zaOwZlxEiLxKC|2yCr=|-Nc`J0-p?#GGjKG9+tXk*RmKirK^=4h6L2*)V zgWfvaXjSAs8?}lVHnkcIQ0E-WzEkvmXHn4KaSnwNn1sa~CTS9~P(iTi+CNLDaeHx^4w++D_u$TPD9vM1ov3}T*Qo$yIZjr%mP^PZZNC2x1SYOT+*n8oIt-~`gKDA}niZ*R6!wL)X0OZc5XZfM`I%oL@HLDLu6q?7| z9%*)a70hwOo`{dtsauKo+pab$U3G9W1fs7-onwHIH?ynvE}Inm~lGT1CdNRytspWAJzHQ0YzmKUEH6wc}#h5Yv9hAFwr>QvjbW;z|q zja!i*{E!qT&ZJEry3VfYt7~FNx)yv;qe_CIL=R1Q=i)hW;#VuscEIC0C{s0Z|`A+sg3%-s4zI5k$5CSv((V}g; zCdWDtw)FT6t?+eg91ASo|3ffc=F7gkw$$xB)Z)*NzJR{hjH0AH3@*`*nnZYK=)66A zId!qX-}@exlqT^J=w5@Bb{FA2v9yCNiA^5pbslNSamyf+Xq5BleheiZHM!oJqweBD z=h2p1=EO1hYPnjLu*bm6?5MQcG6$Mskh1ewi;NF9GS@>9f2#q3;K%v9Y}V#Fk3Yz} zl(K|9Ve-txiw_*-yz1BJN3^Y6ap=rQk`>+bxC?PlG8DC#lk{*6UNV^oV9UPqzZ`iCeC- z6>zBV40uK(3+MJQ1M4e|%9;?IQNOQCyK}i{R zI?rCt%g7xP6A1awp#wrUa7w)7@rkjKom)H4wfOiHx|`=bDueXr;Z3%kSxd;W6X zM0Wh>=TPGX2*~V^!D?Otx10te20hWjXw`Y46^fhT1zXs^i~<(LUW8#}*e!(7biUXs z#I1&3I`a}~0=X|if8+FQTvoLh+JC79$3xG3lQUnO)R$Q^zksk_{hC_mOXXwhNx^n4PPUPbSw)~y;;vmI?Z zueK6#6ETBA^|mZ#dYLUDhWyv0Lu)V}d+IYaMDseYwIcEU8?i$kM48v2!T3>P953PZ z79aO!3x*j0hf9$-~%EU*R+(wi@$bVaE9UG|21>)UT!V13G2c-#p51?G461ic6P{(_h zQ{kpI+mLx)YFG~-WWSHglx`&H+F0R?d#mqXPSxZ#&Vi6br4L{Y);`>1vs<5Q)@ESx z@xL9F?%vJ^t=i_OOVn3Sc__+#2(GtXz(Sz&!gQsv47-W$QPwpI?7}>S6 z^V#KS+*ZGLRyx*uLO6EnPQ{WMOMI9uh(5CAgX)~hR(hF zk?w?9taZL_`SEc#cVw{ua=!s1XZ?K1zM(rlzBt`O5>DrvRv>QwbBC7CqUSe z!}GXUIlS6$Ta9=(%a2{AIaK%#>PTBC@=7}2wfK0jrLc7ZLGt%td|d5I-p4?%XFA`v z=(wMpTm6ne@(-;i2ohCD{_b6S&31`oTKx5i;s8Lh;!vQRQLl7u`@jqRPOwrWyih2TyrC(N&F*M zqwF{f@453Qi;O!6xqTGH$^3I)!!Vt{SnNSJ3`6o?gYf#6feD-GH$F7DYv-2E->gQw z`xM4oGc@Y`JyqXgZ94xr==zq@B>oe|i;gq?539;U2Ri?<*mw)f&Z{yI(*KQEi!-_@ zkE-(@D-btfxi2+Ep~8PLV7L}2Ga^|O>HN>aGQ` zyf4U|GA3pP$o+XiwwBCFm594aq1DZ#23Z!LW0hBPVP$tGcA9Qht6JPcD46;OFv_ig zoVX*Yq0r7HxV&oCs$SguqzA@)6xG&2OoTm9+aK29)Hb<)D z*66IYKr#nO>7yVmoz_dUs?E_V7B|TSVuTQXjKeec8jp=Xm}3(-q^r;gcD}sDQSl@wVyV_g zA*CyeXJ}4Vsd%@E#4|04DyKM=0W&u>*=$#;dl|AYr>aWaeX1B;)XE@;KMivk* z+ESOaS2JTyS9E+f*iCY-Q^kor16ZF%CQoC|ROWTeB$L7HS#;1 z8+Wma#Gj&I@EqtSEQ(zMF`3zMj|+kVOXl_}5x1*-TVzN7*u?M{}1sC5~%q#qzli(xnX!CbBy@z$F4Py-72+rgJvkr=s= z!ChO1rbfnhPVN{Q8yPe^R3!c&8AH)eqR>tVt+)QyXsc~@DgE5&xX=xKFDXjgC~)Fx z(C1DjVCD+N#-~`>n#pjeG3GSX({?WQ_%byLUF?)^JpqkV-PQpybX;~6yDlLviJiAh zS7Jv#ju3Zh;A#0K3#5*~Z1&OkT)Uwu9;S0@bbZ$BQK@)*HP@?A3^lHVhV*|o3Ff@K zi5Bigp}VP6{Hb!M!dV&>uYzJ~em~Ilc?{<6Dt4V(vY&J&BnsUFLeli)X|Aa?rIwuw zeNR=1Th3IA&LD`t7w}jgwz*mMKh^^6Y;Bh8w7q6ZmEz&TTzi%Sr0%_;E3LvV6sNjW zMb+ZQCTGbwp-^JlNvMgK*tLDvo}n>QRf%}7EiyHZLy;MXh{fDftL&8_&AptOD#ZQi z{kD|vNCAZSS>VNK!)SnI7&E8j_=K-7&ga(C%{+)QocOF!8E|B#-7||-$pA8S#mA#= z1u3Wjj1O=%&k(!qB<1Hxn_7e_O+E78(lg%&YEZ1~YAl|!k7uSg(+klO6i!PB3cS`M< zuHxgaf7&0)Fv#zLFPkB~?UG&K&2B?{2Di`CEUHj^K9=cfMLde`gQ%D+H)Xd}m+$qcx%>z~HpoZRrM4<;kNLsgj%~SHG>|=>T)s>xBJ@a6d zi$^~f@($(b!%_1g(3FZCbgdgsj1S2@ROR9mi)z@cb5N9e7^I{g?L*Psx0~U1n}@4X zd>u^2jZ{>iA4Hu;Ku4yih?Ck3$44qYK8RJqAS(+K`6wX8>bpv^=}P9&ijDWfOvEIE zp}=DxfaxlZNJ!?9k5z@ZSx(!{5JCFmKo?6AjQ3-;S@U@1$H$eJ-yj@{JOLuIj?%YC zWexc@nIoGgs$SeYr=KUnqwbTSD<+I1@<6*?YtEP_t4`d6^^M22Jh@K+_ZE2xx3=BU z*uY?7OR9OQDvm`bd|9K@pMsl1=lwhl_aoiMcQ0{1d`Eq{ipR}RK}StU6nX}P#6g(2 zYNR>aavtV0RU+;{_02p}5YnFox)?b(s-^w)?X`WihIzIs#f@C<=+=j$=5wGaJ}9ED zcEcRrn>#STJXZzdleO%t%cW88dC-&oX7@*@=7rB!srY20V8fhk8kBeeB;aY`@E)!x z4_2!4HSf3><;7gT%ukfx;-13yxKz@Bd8-P7aNVyN^jo0 zU8UkLCOt&waH#VR=t$Ul^O9_|Hl`x(I?mZ+zPfp*3dP^dv=pwOu#Z~g(J1#W$fYtl ztb6S$VTflznRlz|L1l8}ASwMGNJ|rRquN+a_DTEc+Iv+p-l1{_v^0rI?}L)q2JLSn z<6B0yj!c;Mt4#dGW!gxVLy-@-$FT#BOpK6xAwgT&UTr?8I`PNJwVr7bl|BR|an>1d z8f>+f%!id9H=lhGCzK}hBVdYgBU73<(qHY9n2#zvKECw90}NF@1{Fkt#A9$x7$AnpuPZygD3;mdKAMbK|ivY;|1Gv)38Gag* z2nLSj`M+h7`{GXyK=L0!mOA%dye@W_KPf)mkTQL+4@8+iLq>*FwIs~9#hyI7t=jxW z)#3q}+-h>ePJ*N6U!f^o(%%vG>c}RK0Uj7`{-%QQMZto{3t*J{JLJTiF~!EY6E-So z{-IiNJCmO7^kb;dlMY!u08ZW~C~QM?Vfwz=m@Ut{J`7x$K+1b@q3Xkx8ei?{hPhXX!*B$UVx6R;h1>VJhH<3g*<~{iC2IEyb-YA)IT+y`xnoZkWQgw=9Ml$3O#fy;{emSnfB+Dn9;NkzrX$oz;?J zkbNB3(r9qROfm~TUg_~!@U)cjV|G9w`vkD1Zro&#m1q{*vI|7<@o-pS4^|X)PVzdb z{h^FTpS(<+{@@{p2yxdi=hleyDbSHgq#yNcgl}McaAd@sx=g8pF)xMUBb^2*@pf!v zj;XJwt3o_&Io)oP;-sDds=RDm=66uAKxEETaQtOw!AcLlS3_u4rzg@OU@K zt~-SoD%{xJJuQ$}rk^y9Y*qO3J4LEIx!b^%?#vWV$t=>0)DeZp-*XU_$xcrbr?#osTHFiQnqBgJr z9R3iFxZBXcnAxQw@fMY5O#%{iMxo>5PI3!a)r+3rAg(-eX+1RqzEMM1{w2Me_9Yib7qgS;|;c36nq7R{42rt zo1!J)Z|Hs0$#Z?i z+*9%KCSQDBB9#>;519L?M7&w$_4y`B3-(`i!XByCC_tV(frwZN35P*i&e)Upjq(lpIORp;OvlyE5WFo+=9 zgGAzyaXAsfJY4bdxoQ8vhvK9@0#xaA=}lY`BEW&Vk5qd6b)?;behgI}1r@0vzpp`} zNs`WZV97jMHR2Uiu&=>$DDoJHNaN)@PtB|!s~U0p)c3Lz2KkQz9|0wIEE&E6VjjOt zc)@98{!1d}3GU_*JMiD2Yc2N76O|wLZBp(>2EluO67cdpXcwW!lO?%W=~XfFWEC7e zxJ9>OHt*yqxD&C9z82+FQmF*t6q#JWU zAp03$pINfi#5_~A;$Je&+W6=e6Y4(;`tIv3ZE=a7tx9nN5X6(^tPp(2s>Nfp&2xa1 z_YrQYGtX6Wyz^(DA;j>ep9cjvr^Ax{XQQ#^`HGLfZgG8N|FIlvte+-JQAmFQ=;Anf zufZ;`*u!CDW-s58HZN4M>+w11G?BtDg0SRF`&q5s!0cSR7pr7^fXST`iU*0k&=y6l zmq1GrrrmIsKIj9Na9X>0sY=GTZ1tHre7z<)?!)t_`!eXtFbcD=6JLM9sVPJLd${K1 zDjDBRo4>r*52WTRpebP{jmvN{W>e8$se)4&o_Pcmouqcf0s9nvZ#-(&NT9H?|A{$!`K#CN+-i5|oe+_GabBy@p(V!lBAr zpd!r;O`HSoWYbjYUBrIPTU95Xa+u$~Gc>Bb4Qk?U=?fF5)y>!6u3~YMQTXl^MWuJR z=aOK=3=bxo>b0iCoXSknyi=v(&sEL)U}ly^wRb^H23_Cs`Q2IbZq@$&?K1?^T6(3?e&BWkFPVA5_G_L)c#PFW#>T@n^{9U!)c{M4| zQvTR%nUAVeygm0zWl_}m7<9yv`4%Q~dL$y6kE=}FQ7LF+4nv7gK*Dcv;qhjlRCqjB zt1k$o$D4f$%*2Q#>6PZw%037qmT-9IpMi>0j*lJ7n8Li6&#FeeatdO{4nv90K|)T5 zf_Y|uDeE+t&#PFxZ8e182d+XIHNOB&aeHt;!0rm&W5%9j{w;Hc{Vg-oHD6TK_z;~r zGN1rQ*)Ks>hBPcB$Q(e@gnQ=8DidF$>szp~<;neu<6?p)Rm)v`UsZ10gU`(GTybK* z2CNts`)v!5_f+=Q7Td!!=Ict2`xE_rupdUPZ@5R0QANfQ`HbR1+k8_+;=V-gXyPfP ze+zW6C0Ka3gRyn4&9_w|ZiHv0pl@1P2o=5q1)K*6hqktV$h)$b0&i(m&39EOK2_+i zumU1gzvrF{qmB#z+dU26SGnsxe5FBD`2kd9CKpaf%nwx~UU#vn2>Cw(UuIf9Y=?=y zJJ>)vBqMk~R;_sT6-4m*i4^_`grz?sRw?#+`>vf^%}-S+-fuFYPFI}Rp8+eaO(z=g zYqt#C&HP;1@wZYq%Wxp7`~oUR$(-9xDcnZ@%`a6W{#LBVX4`ZYLjJG77thOi$u={? z{95txm{+ccY#F5g26U;TbX<=k<8M_Ue*fusN)|$e-|_zC(d?>%B>f{F@Arz2hrLp3 z3K<09e*j!eBjee!L$@ZM!M1l{{!bO+Lu2{@`Y}}bBUGeg7AAQ+m8Vc9UHCJ_scaSt++J%M5gW zI7cyu$|bw=BW`Q^d>CITlFD}YOA0oF&1ZX zW!$KlrknSh)hZUBm!vIkK8jjvpp}YeZ?84ydh=$js>HiPK|I@1D6kF!V#EB}2?m#4 zn=cz0oG|NEBtCB}SUpKd6x!gPMALC-kmq^a2OQCcEAsU5%UN89Ig`a zu9r89PjRSm1T=7(xr9ULVIQgRvPID(pVb#8@hA|bHMtmCup!bMt@L)45;BoXk5=RJ@>vgfUmUECSFLzhH!@fSK+2u~ zSqZMVaf6>gGbgH2e3;K2G>9PkB(U*@+{&C?4YIx8oU9sg<5JKQ(=3Xe0x{|EJ`iCS z9L%XI6MsPkaR^JHz-bWZ%d@n*Pfk~rcylXIv3Zt6QR)o$EN+}~AILRls!IH|^v&eM z!zmPFe}A!_zX9OimXxi_aVb&MLtPzo_qZ_QK@)TqM*h?8U=3( zL1}HNw2$p0JBK!p4GmmwZl-ea)|QdWV^Qqp5EJ*_H*Gs2-$GU5qkTb}PR8Z4ftS(V zjmv{Foxi2B;|XuMgRua3+qVK&PL!A$kfT53JhEFWG=8E)D$L=E5_cQmd}NLpsOKo~ zI!5Mno6aUM<n~uMs*_+*HrpZkhZ(+koN4GRVIOe0LDPoOo(3 zR&GfPNgP7(niAEMzusA6uf?0Bavh_9zv6uT5+VsdmW<4*h?^7Zn1 zyRl^MpmOo3TfwLnz^Hde=p}Rf?cMqMY|q?DW#Vr-SH?0(zcc8G4L~Ehi=yN9MH;2# zf~LP`?i#*8$iAy%yM#ip2b3MRFS)kgb2o$QTR+X2T_7G*c)U*fT7SaeeQyC@{4mb= zkw{{r23<3x0`Z#Z3mc>$R2YWBi4wGM=Yk+PV(37xCQI?HrrD}8@fMpt7NmehwQW$7 z`a*vhm4jDh6_D#eBdQaxuk_<&8023DzBomGk|OVEOpdL+T=8+Is9=I(DHPZa0SVl? z+QOG&aAdVzJC%jN9jX)`=F=5cNTcFTC`zZ}L>N=0k%^%lW|!*3qY!;_VNW1?6l`f; zTSvCrv)5g0%3PuNF%IQ%pR4AkD(d&s-HxmDl$j}d+p}#s8A5BD(1&Ss3b?)BVLMdIBfvcEZ@QSM%lOPYc6 zwx?9*Ae({ZP~qNCkeHEoeI+e5m7iZxrT8FQ-~tCQ%1uMgn|#=Po+~P*rK(Et<$!E- zf@4PtM3ot+Y!Fi|DR?vW*;!LldOR!`G_#~Up|gNW99UN}^gGNuMs`k444F9V(=-l$H%w?`2EY&OTYR87WEE5PhPzQSeagA=kiOc68Dj^2}S{h{A<9M5StDA zxjF596dxb-a{`B{dF_3HmcD5HEqH)#V7XTD@#yeE!Iv&l!~XrCks9`S2zf(Ji0+#E ztI9zQ`w5Bl^Z*EnZ{z~HkCLv;z7+5RqJ{Lq=}-`lOQF{+%-ZO#^CaqC#y<)TGR@TUkD-OKLvd0`l*!>^Hhb$ z0}?qFGU+`}16V>r)tL@qw}%+v@3He2`~APXT?{`J%Nn5=DA9Zzve<)BM`Em2e$X+Wf;Q= zRj|<;sn_z4=iC zGI-ao09nii-UAz`+b*K`_-$wEKOqqQD!|1r(fX2u{M{MLuU3Kh3ofd8B~j=#?kRj0 zubUgZRz>0tVnGsbYIg8C2#CY$x}5zC9258IZG7bM^{Nz)66D&AERB!!1}LtRx*Ob% zlU3fR0`V6j-LLP<;v^9ICP3wdaDwelow8Fd^JW!@`$K7$y&prBw?IW!FOjV){_dWN zY3^zx)NS6XB5^a7TFmN$P~vTn==UHbtyV&t?mHN7SF!8kL8OtCeg~uxKu>)D64Cj0 zs$9HBrYkVRApc$9CyNR)8k%=2IzGEf{Yk&w>C9q z*NQ%@67koXyH;cwq<;i-G2w_WSQGwHCCAfiG69Cfc7F^=oYEt0o}UZ&_%exopPuxK zL!SUqoILA-**M526&klZxek~{Lp}wv1lm%k;EQ*G119Tpi><}3`LxQ!6D~v7y9mcB z{|q$6NcemmZY#4Ee4=F^(R@~A<3^$&VCZu0UJV9p*gx}m)rlvD>^;v4mkmv9DcR%>+iVuR%<#x$E?!t*&f+m)rfi3dLQA+-~nFRQLuI zq$waS!4JfKQ_*pYxKPW6HBg+)Z-I%RlKsFjR>%go4~&nSZ!0@KisuGn6hn>gKto;w zqRJT;-F#PN;$ucmpgO(zi8|kdPAX0+K0FS_bN%!CsuX|W89#B-4%@iz1V*_ZK<*e> z25>DxK6E-UHZXX(`JpPsJ<`kxr2Qny{0K7XMvTC(Ys5cRrT8-yH{t|Fv7bQ9Iq{6+ z*o2dxs!rT;XPo$iK={u9zi|?Ik}g!)@9NijTJBZ-T;;Y$1LlRVDxb@n_yul48oYn6 z{$yhFOBIc`!~#*zp~$ZwB2Iozi^nDNYt@RI*OFEb7WIAuJ@IS&(!UIdwo#hjs#4sq zDOmki5M_P`83}GPFlock7nTj{M{*d4`k?oeBQJw35EYqg?J#R*c0(6>iiQrNxB3g zUFKgZ5jQ+y;A&OPxpoE_1d{&^vRm-&EVg>)KZ?E13%)2%=zjqXRs&j#_yUNc+xUQT>_F=q#F)Hqi6E_1tT;cJyU3ff3G7~=n3Nm6bp6$|J2aw5Vj#QDj zY3vJYrzw1jquf*2U5!#r{C=Z3S_R_s@YKFWxleq)4i!ZP@y7r!P1wzP?0>}Nk<^sW_HGffFDgy&mS?EoPml@OZD! zH}n=l_DNt%n?=M21D1^&oviryy=Uis0fqciz?Z?0@l*sd_88fYQZwdMm52{jGqrBj zFc9nKv{@8&PJ@n|CU0#A9;J~4AmGFb$DFR3@qj>RQDR7Hp8;)gDN;YQUlvihcr6yn zfkK6|pdbUWtmO16uIt}O>G4j}H_9XovTqDF*0I>1Msd3DO%xp;jC1-U$`gB2U{NXI z$CJ&?lwD%gOTL>-k()zA>Sc-_V_}yuw@`uj6g;&fHdUP1vw@XHt7{wb)kl7$_?F7P zPBW4$ha$Ivh*XfD_DCveqar(QZ><_}lU^|EaTrS6#z{;KHD_cI$bSvWoTC!)rV|WF zA%px);A8f|0dJu#_QRNS6&??02k;btl-yQGT$Ngcx%NRftDY)5CL! zAp4GBOV}yN%d%mN9hItSnLDXSe5zlRoRwlx?aoj`_`71d^YYmkL?Q9EnR|jRaTgVg zI~@ga=q!(-cZF!$M2(EwPxK9_*uj}7$Dzn(h=_CU0;rN6(lYL=nu976Zwt9G)D(z1 zTc9Jo-J3$2+HQtaBR+l>SVET|f9N?qGYkRvwpU?DO)rLTRgHLLFguF&k@z6npd)W3 zz4kZ0ztT1%Dib$cX_JzLP~kEtNbJ$Q61RPSw6$L>@8v2If0o>Lk|t4UJCwvT^ec0; zJ7$M!#2=(!RW6xs>;yh+z~iF>gF|MQDjaMBCWp^33K5wQz;oUzQJ&_IKiX(VrB|I7 zm+%Tzi+^A!-;vH`Qh5x@(&995CbrK`cE(jP{+0^E5uQYy3Fyf1f+1KAkDfD?1)gy> zsVec|CEegM4Dxq_kHJ6;nLmP=rzP%Dfp|mc3ubXy&Du~ZTnPnfXZF&RP3|*yQ+)jX zyLqW$EXBDDc@MGRVpNf#>H+YRBDGB_6FWNFoVfe3*McPAnO=k)^Vk@2NU* zpDvrt9Ac<&FDOXE^0pFbQOt}mQz{ZS$pz+8L6o^SWaPcOaEYv>xHE_|F6wkXUjBKT8RGV>XFbDEwU;1p#N`rg;YRgp1Hv}0P z)n=h4qo-d2pzX50DV2ghG&AOO%Rf${D?AVs!P~&Q7gywqt zu08Te;JwQf$+SA15{-gdYGrwa#o^KffPm zNk!sTzThbW80D^koNGINmC@WsRjyOp@#P7=FTk0d09IaimZ(ZRE2H39FeeFsl)WEh zlXadEOvUc6LUHFi8yQza4+`lI06pyr$wb_`LJw4pxEU;Tg*=Hm4}y-o6}l?YI=0Iu z8S`M3h({y(+!O~O`5_=nvQZMt;yOBA51-5aP!$@9u8^1PCAD5qI;Z_%5SL-ZdoVQq z*1$hpHRJVH;JzdzKIJ1IBt}MtMIL2qZ^b-PMatGMbhR%e5dJ8@WuSL4(vfZwoi&eE zh4^FS#!1s8Dm?~DVrZP_;!YlWtZKyl$y`&JI(O`Gpr_u3G!r~Y?Lf~wUM1p>QSder z5+CCU5RwY>;SnxKxK)fNE>kHTCdnmH=}AzM0n3fLyNr3V^5do~cc|TEQ&OJ-YU0*g zqhp?`su#D;X_umpLXGD@1G%e`L0~gYpR4S6 z0KJP6eo;n?6Z$+r5tkpX^ePQ;w`H#N{N-YkPX?!o6Z-;SCDu80rEE1A8yYq*RA#(6 z!02Ei`^SSo=-2j|Z(R&v~D>l-&vn#`AgDL$1cVb518J6`Ac6Q$(Kp05H~hHLLE zUMAl=H?LkMyr3U}!P|Zf;L-r~w&lcv*D5<+DUll=IzamCK$m_Q&QoO2Hm_HW_>?Qx za=H+laH#SIsEAXGXOLM6OkDDHD)UBFiU*bRpQevT#Wz9Goj!$ykTsP_&&3w!gv zZnG^Ru->eBr;5aJ$$pd+pEagckflv_{=*uju4=z^gbv_D1j?t_-B8>;`>!6KAr7*XDJ93J^%&j zpUwr8;MHVv!eC|lgDMe!lt}c-p(ykr2qpV@w$zRJuqwnS9J!9B0Lc9axX$Vh*CbMH zKC0M*vASfC{4tQR@JWAiYCv)^ur^%p^(xcm<0=xbopj&KM^Wn&&=Ly|1Gckew{w_J zsz$ueyL2JycD-rF^KNU@!aQ2%nd zeCgJHu1edOFv$Ov<2#pLPc8km^5c_+T!-FMsPG#oNcZ$+P3Qb_UdV4%CElnD>{<#% zso%MW;rEnMi^9KGnfS{{M-4Iz^8Wz7v|#UF+3yyJG2?d&{!dlnu6M2ncssmuIJ6|Q53 znG`1R-yq5e@A9+cWur?rC30f^qwM%1c5ZT33Phd%LPr93&e6g&0m)R%KydEp|5Pu& zo|5Z!?!HAP$KF641p$e_@oN+=Vf|>u$GzNe zC`}PqBgcR&HNCmj^2bmdtKfLRdRmHjA0R1C>T#eV`cbd;P!}nO?0BWeYo+f@v;aeu z6QJTItm1#T3G0a}5N{}%39AB#KFK|R@2Tn%Tw+dEe%#M1=&A{cLZ?6|<>xumbE=BO z2jiS6j6W5O_|t$-pBQH4{qpzeDigPG5^I;ky#33z_b4020~qzrfS$bgWF+;;9Og{b ziu*B>D(;857I<4pQ2IQT zif=tHe4YSD#q*(vRZGM}>o#}m0+or6wrLL}Ri4}n!96qeB&l8NQ>A!lzwm+b zsMNm*`hM<=$96XRVpS}$+1a^s!XW<=@TJw!^Ae9$q5@)mtJpGpdzFaW>*A9I6BxBF zg_gM1Zk}!v-|wI*@z`nTS)>tU-x2K8L{JhtbQ{V?_o6z9S zalVVn#D|-LVLHvC*j*te{m0oI#&MGaa?F6r#etVNh?UA2k@xOF4c&8 zI=NLRtpO17N5PlHHyPUIYCTyCHdiP*9`Hzc=vtV_F(9R5@cdBmtT4SW<4TSD{e8!W zIsnNNAj=DO>v{4V_D|AoCzT(s^xW0F6o@*zosP}(!N1Dqa;mkiJmm6X~i{F zh?|e%Vag>3&4MjWnBEZn4@WqfImO4DaN*JzD7^Q1@TFPVE|M(Inz~BF`+I&bNkCM& z8Y)slIMKnmi+hzHA7-}i1uijGHcGHYzEII&G&F|P7tz1{WN zes1g7JUKipyHr{#5bq12tCP#3S{rK8Sk+e;Y*e~kdt{&Ks94F=q}X9d;izYz=Uwcv z8YU=q6{Ksrsus5)pJTOWnb@GxkIjddfQxbNoS3XfNN?l>m^avuS%I5~3chcuM2 zT6NKMW%Dz)IX+Sa;+rb_hq)XY)gI;4($6S<9ewggt6IDV7S)yGQ0FmD$M--uhjx*5 zw|T7U#NC5}ZkIw)>T!@dDV=qCV6mNihVt>M77uEq9qS?(^_~DdvF_gPii1BYnauL? z%o9~BKKU##zX^##PlAwSyZECjf+LO*J2p>Ny?6+;Ai=Z`NZF@ARvNmDr&Bw)Vaz;L zb>a0O&=t4_Rn`sRiXK=N}y78@pm<)ZA~Pdq&HT*b%xWv-b_ zI8=EaROIEN!@JYZpRf41J0~+p-7}UHC-nsZb-pHx!7n^$DvFc(B2Z=2u*)Q^+1_{? zM=rfs$#Ea2f04u^NPh|Fvc6#b<TuM288oFwhqES0 z!qSskUaq3?Kws{V;-*e19#vlfRdE#EVQw7PU#U9raj`#4mZFgUD$w2B18+)ZXRlUx z{0-&JJuHIc*MOX?#mMlIT8nwDYQzVT+_jhhMXlFC3l19(LY+bcu4`Ve8u91I)gXfG zH-IhmkEzu_lg-(@QPJ^vcwQAb2H9@{JE^0AE^WF^oG@=zk+}OH_a9EBTrC7N%Dn}0 z^0L__XT}}uodF3AfSmrVQiy1=;?cS34prT7=8xmge zFCZZBrauI>^kvta>|K9Y(eb{V+l-R?{s`ET9XK_zlY1IJx=d`|o<@t{Eq@GHnH1|T z8=JpvKCbwo6pS!NjQ}G6l734ZpY`Rl^w72 zyxOq{Vm||{yimVW9kpaWtL%7(63^T>m2`Q6KL@b*Tw3k;1L>bvdVG9rNCA)Uqfp}u z&=4=i*;JPXV7{mV@wspA*y14Me+hi)Ni@lv8)0VfWyQyPQlC}!1hT&Zwu~-ry@Hb} z-GB5|m53YW^u#J3MXj$vOWuVVH(6%uNesSgzOF*?Syf?Z+>@yD4d_TjHd$n|Yrf{2 z%an;Mu~`yjz6BY1E&4c22mH2b#G6&&qi9m#cfgnGa?J|i0vFKyu4=?PbZ*N^IDCrl z32Sk3eS7KB>H?2r{Jvbc*8Bhx7#E!SwxNM7=7*|V@@zcMOFkQ~@uC!ksy`AELLzeJ zcj}+S>e1KVr~6g@gRCgs{8^f2n&u$()QTSso{a`<3r|`su4E==~T;r zK=!Y|ma$`MXy=xxf$eetl-AL&Rbcti?0yVYeghS;@m_!DuAM{Xx5|&Z8qHQy{ed)q zV^vMB2OA@c+iW0UgD4b_N0LEb9>faE{ACy-;f!Z!LRrN;-6 zpp9lARQNL##L!P|9@;vxGxL`JqAKyFsz4kM|50MuZMqTx)LkR@zu+E$*sqvH98lA)%$WZvzGxjxZ`c-`?=3WL;wm9zQRI*{ zB68%6W%KEncDQ?oH)7OWWtpYgYR*c=$XaC=oiwkd z;x(X13a;bL&rC0v^(s(y^YZK9=H>5XZ2)W49AFz2R@RL1^MHm6#2p6Qin)e4Tw$dz z$YtZZ<~3*cHXQ-bnuYp8eRjzlsj#BiihoD8KyYvN67TLPLfbsI!5qD8s4Wmc?Il8w z0raTBikWUTH(jwUltM|w*)_U^MEq&Muh_cXoUYjG*owDqC+G}-Hg*@AmBpF5 znEHL@OeGfi2L48Ush|e@ML|*EEC?KvpwQB+zeZhAbCayN$D%Id<5 zxry@2ERXy;cm(-7SvLg>Bc6P`XGZR)Jk5BU`q3 z+JI#L4QMLg2Fgcf{@I+PqD2V{zMe8AgXhcq8}&9(Z)R~}VQH$z?qYLvB5`E|&xcgZ>*taX*{QnT7JHFJRii{`(+l6;YX>Ms&~Auw@W>3GdnsPP@hj%8iPdQp?_){5rT-`8!#61nX#bqc{me=5b9qFz-%EE^ z1V^bm^R}mFrp;XxUUu8^>)^KK?_}K-tPSm@DfcqXfFjFUMN%jrCzmO(83L=@^|mZR z4Jy0LHuCo&76cNvfVj3-F&HPzkTT1xxGND*-8FKD!Cg1o#-?dmg4n9yvWDi11Z01a z=xsz}$VVc!8Cf>E&~*TZ=*xiizTg&9nUjftNL;QG2k#3ijY8WYw6ZCgc{`L{*6QTf zL8Zvw$=V6l;iL5faukXGF4r!lmikl8nO4{d0}>TRp|GyimdU5gL(LTmFMFB3NO0f& zBGF?&AK`lX7TK=Vn(LZz6)5XA#ogSoC^7+&wX;pT>3ve^WsTgG2=3lpBX>8rYY+pd zcFi8emKkYVAfVbygkA|~YC2l=#>CuB6|U!WRFM?C3W6J^7we6gp12uZb9dD#ir#rE zyV%!w5)9e*0Q)fH%*!lM4sAf*ywc02C+T8AZKeN#GWUYax^X64jO;Q~DpA%zrE`lv zQ*Q-$&msEWK(BR2_?wE7%i2zG=)aq$xNGE2lPi5s5(;{zx@@j15!|r5M(zx`l^T+5 zyQa2mt}796-8FJ&!Cf<5>DDf~(99{etgYJu0o7h2be=c6SVhQPojc*}Jj@f?Knfcy|WSb<^@W1e}9wx{599 zW4=fL_7{on5#4L;tu^_*f@Pz9kpS&461@-T^|NwpBpOWD>{oW#z^G*cxLzgw0O)J0 zqY^X{?`cWdMNxO(!rCklfE|R`Yk1S`R=0kDZrOblTz1o1CSdDT((eoUVQ$FXQEM)C z&9%!GC?0T0qQLziuwj2~dfK%1i@#v*ulTa@JSh}BKysM^4}ieo?g_4#Y0b`d%>z}V zEHG322o^<&2SH+^%QTj~HWl+=6)1B8Q>B8ZNL{DKL!hyy(p*CH_MwU|>!!9qK(?0% zeHfsJ?eESpAdh&ydAOp>s>T;fha&tnps4T&D6E`qw9O+GT$HEl8+^u2NnxTM#hbOG zJsnjHgd9Qi4lFO>!76@+LUgAAJ2T%#l zwrK#KtJE^b%9RMP?i#tzBiH7_bxN`o4UAUUap##7et}8WPJG`z*6`X5MI-5&dkpk^GekzYp=FI@KE*=p|1jT z<39Pmw?t|=O?DSs#HO<=8+3^WiyC`Gr(5CU0v{& z4+OkFJR~1Tl~DP6RiVu3D>j`LMTz%8Vzmt_ykF5}k!Suss2pA)@dF^Plbxrw3O}gO zvi|Oi1YCcS=nnyXgjzVUjk5gnVHGGEOSC|lNi=p9`y-IqXc`F6HEP)B_t8=f-|SPR zg6BwG=c9ZK8Y_E}=<;!8mstS$b-jaXU=|Dfb!3t=Fs@^H~)s>uy>ms6o9-`sYAjyI*d9 zUY3nMuk12Q>PiG;ca7XHfO|CJfs*Of?M-zT+wGR=nJ=nBnK5PA^yIA%Mxif3=!B#p z%vPG!B^;9@p?ULVRV!Lc)`IbVlBQDjE0lGOU}UrXgKU1n7EAM0l`Z;&b9p<+Fe&;q zi28}h2-b7V*Hx;lH54~Fk|^*E2;?|ojD(wSs@4tUh!IQSZ$Wr%caGzy`L+s`HA7b- zXol_@x!(adm6I}4Yfo_+@m-ZDa%7j;GCYxT--Fz$#l`xJ`MwI2r554m!2{p|aX$cV zot(_nrl0deMV1XKzDR)e7m5B6(0=ZKaF_Y9(hq*_01)v%0p8DnwgEv*hJNS!AkKQmIO2XzX{1vybK{m9sx^^Y>Zz@B z=06H9YgGJwaKF4l;(tL*Ip=ue=6{MVGIH85;!X#CMwvs_LPiz^YpDR?p>oltw3oGA zSz)Z9jpalLLng&mK+Idzfg!U}bq?O54p@u23TSUpkwjuvE4=Le7TY?2c;{8;YL=-?DBBcDqFHOVNSH0OCAA`&x3Ivh%`qkw9NbzziG$f-5v#zV`<5y z-*-1H_GYIpnZntaN2^llER5MM!CTJ(QtlYYt(7DKW|bVP5@iFZD-me8YvdjW?v482 zK3=-yVov#`lH*lz@`ic;83EqR3AmY6l36rwPE@@z_Z2@69uF6YI|;b86MOBsK_@G* ztj>D2L;!UZa!&zwrKC-mQd12yOn$s0oW;Kf2sc;BC1Moxl zSSww2hy9`7J%pSIh&MgM3+61n!GkwF!*++vjeuUcFmpR|V}+L8ru;gnNclT&^Cn=e zm6W$RBvs#3d1Wu#l?a&b8o4(Eca2TgHaAynshh$4?tp3;gx&(s^*za?s7+(3>TKnf z&7!qTi1sAXZwdP0^Q~T2{j z4B|%l7+|A@%^>36U!vSHtJrVGQXJB65BiGPhPhOsWqw9q$^}7pu%HEV$K`{|gU+p-8Uw}L5~pk=GoHYJu>1pGXxXj~v}1UNre8ODZ!%anTXa}|Jyza03r^YS4W zJlu9gmo+(8BDiOFjocmJ9-f$I8A{Dgr5C+E{e65wDlm%d;?3`^E$wfa88fQ*vYU4$ zf}3~O$h`vG_55<{9vmh+rsT3=SyCBg4O+?sY$cIC4*IG3sF{hDX)l-w)hpWXrlsQ* z9 z$x)OxHe&9jvSmRPUq0=o`D+1_np4nRE2~m%IYQXnTUE+>j4Kh;qPs?J1>AL0Q#ibfJSUMb)T2M-LTuB8!pu2EPTLrIY z#|^L)?m#%T)Vt8#m*^VRy`D?GX)0yAkUi2y`RDLqVfi4KF}+ef@3mw~2JbNQZ`50a z-fB)X%|2Brv*P@Hz~&Va_k*}@zkF6g+FjQiP-vNz@I?Zyzew~F(5vPet!ZB|@(SbhV_(_NLAKlv!4x{C$Ar6%y|c;*qn9 zID2af3oktxAXeWTv2+0gcbRH@8#XqiAmuaf>?(AUgN z!;dr%QFK|Q+X4aCULy3NfUcUyiE0m1WLd+&&jTPX5chE4Tqi`PA^Kp~JVME3HEuha zmJCEP|3LT`-`yVqJUk5ZYkIDSzJVu#i4UxYOki0_TV?o@| zU7U7DH<-sMw$!E6LIFErQQ+|qNZH)!YP*dbF-(Ze6I86I`j_c1r>T^EB4pQ#YbH5E z=rm7KrLqREWrC;DtE4{}^uyfYQSC}ozBK$46)0VFx5rSiSfG*SQRbd1=8OL-O-MKK{T$ zW0P#YtkpIRHEIiznK~hVHZM?_-37r;Z}pS%vYQd*$x7Ex@{5!L@8E^FgSFiSo51lR z)hv4pu0&8{?i#r-26sI_AjXxgmngZcfohq6tyf8ZDd;O^8s=q+EerL{ge_*q?$dfX zKx>;#`}nU=TG`{f62UFHYrMf%l6y_vCRn{{*<4p5;JRz%z8c(BnB$w*D70+!!_NaE zE)e%x;8IZ?oO<*+zY(leSGQ|(=1mGK zdw%>ppy2{>Zw79yTLm$1QDWKa_vD!cC*7~(faKn0)^tXe) zPDjgkD7?(=_C+#mJL(esPM{@~darqxQp?_z{5k;2-^qG6Z_~IWJ@Xy~mffZ=5>Wj` zqTdVjn(2BMo44Pm;4&}D76`ER5~1&R(B{0Hf%Spw07Zce6qgA7AfT(;OLF{x`H(Wp zMkD?{K=KNS9|mz{S9a`wM0sVeNPZpA+PU=8UZReMxo7db}?ZNcf9He;MetI3q>A|75s8Xf z&->-{+WbJtW%p~R6cP`?;z&hRsbt;R^>O4+tz?a9(zm;Bes9Aac z-X0)%`~QLDI$00tVGEr3ud0-_OkX5;5Py;A{{g+CI%5u5=d;PnCg|00vr^S=RXSA4 zPac*&1=XxjWLZcpT`aiQ^gr-^S3<@|ylnIDnpG-v@DVS^qR489tgX&2aM#rurI*>N z{`3^bAayOM-U!&YY}P6J;EjMqQDQwLHk#IS%bjj$HmE?^h?6Q6yn@tqYHXy&4oOQN z7-D{fIc(V)3sS05W3EP^k)l!KaA>S;@10}D+!4wz8`WHifbFi4dnCBx?^Sy6Q_N8c zF6&6XNJw@ZqK^i8)zw`&`t2CSmIgfJ=K&Jsi8~g!^|JUOBLx;Zj#Fk?9rQOsrI36) z$Ud)WM?(gT6O?`Mc})Nje^mQW?TmAM(xTS+s8%+ zVRfZ;PEm=`l1Y-y%8&_>X;*W$!t}E#d@6)DTA$QT%T80pqQINC@=2-SxsuB^P5g99 z*aL^`=zWGtly%!wsX!xjosV%QGzycSBr0IeQq3DQ`AN{cfg9llR$YUtxv?shbrAeK zcr08X?k2#k=PBQ8X*X47nZKiD0;}9HE*NpJFlm@J2S{`gLFxp=Rkf{7tZV^6)J0V_<2yBxWK15 z7r2!>EBnlCmrd)p$5NiO^FUkc(r(Q8N-Q&#kwhJGF93H%y=5*`WSLKwIW)H3BItGi z<=G6rJo$c)xkwdmD4XHYyn&1DlT^(ms#E$TVg5kfW)IvRAUQOT{=}sUD|6^C&ZQ*BDghTk90M|oC_;Ys{&Ye}IbbDK&inVO1BXRDMewG3G zqRd@Y<=~%1IDD1?z}I#=4e3W0n9WKqYv`^-SpSwn?jX1uTXHg)|DwqjWtWYcsZs$y zb)6bR&{!uakj+Z7xnzb_psZSak$~}$A#nu6HDK;#+r7-k&{>(rj0FS)OcIFc1mmDjmW(Itb;351)qVEax z5y`&e`b@K8?xg~yA&uA`X0RwS1ra&_!=A5mZ>5*L0#_oqdv}f83b?D}Nb;_kR%lsc z$Ik;IE)Z8GZcZ{O%*?WJ_<4ZC1>$PJtzO_3n_1s8YCf-cEh^2IMXYp|j0viI&v1Y~!O+y!t~RqC@< z(^P2Ld&kd1qFf-Z1>6QZFUDz-rmfJj_Ma3A(8*;AbRZxL==-X22ANTK*~n-M1YmoK z&@P}klN*`A$%>*_kDdzcykRCco=o{gK9dB5lQi zWOhKYWrofd3Bdj$(Mv$DlI4}Qxkj;NZ3aINkhnnHeSkYH^PR6v$hWA?xMimMs?45( z`uB77EGE7BnEki31n=Zp+{wmjtATG6@MQk`sc@Menkp4MX6iaM?hlQ_G%*N=A3Q)s z%KC^FOFx!g^hY5)5EARfc1n;9NA*2O`DK$ojZEQJVRBkZ{#rqQ~a3__n+O{QJbk(w$$WBnrEqK z(W13~?Zr(i!BOhjkXqAO6c4Lzo}>J-*I^3;b!RUT`dmQQVj+B=oI(9OrIvYau0()! z*T{W7xPI@0{rt@f6kgU7+!hBG3l!4-K$#ap=4f?BH_1{>7vDvCk!lr1ue3~ja^`>( zdoje0vI{t=6VhIyT1AHd`&Vt3hTtO15l6X_)kr6LbrLx!KN(7bXu95q4 zaM!~JwwW@oP;%MOpk+d~Cz1Y2(2qt=pfxkyO|=8^0OnPyQq}_6ODqv+^zo?mYG|#+ z0cKdyc#SHQ)sQO@D7b6nz82h#_6sX^wd{4uE*mYRrrmLf0X_wz#Oop92PJZg4R?yv9 z^DgM}HpQ2b|r$EaM#HFAh;_Awwn(rvTSLm5^gma*iO)g z0n%!nF&|Oh^{7_62J=y%kJ5S4zPc;~%FgePsX|#(*P`hLrxzWMPw{a`t+C&*H=j^} zG8e)Y2rAiLBJ`7lN)`paZt|&RLv4WoYA+G`X+T#uWglGCd`6jNZX$mlAbEwv&w{wV zS8K>6^w`fSwQR`KG67kylKy$#FSfkRm@g=~?0)(CfXXW*ei6hKt*-f!;>wzCCi>U1 z(atXeBtC?Zh(g1BMQLSy%asUj&t2mUeihseQ&Vmy`IPyZqRS!$NuhwAT&BR+A+T|< z)o7Vf`TC#O@^7fZG6EhggY1;df=7x*jc-C@jrA+dw-jI2Bb*}|bU1Fk#awTT*`+R%Z1!%^CMNeo<6(-QtZbR^V?OBrDeaJ^b-{;I#0xp^1iGs z7*wSHC&g0or;uEa^r3oFJ}zc{rcz~wN6Q2%dX@B_gDxMMcISosLg8hDvM&;_{Y9dG z3G|V8C^?;AQ+u(|z$pd4QiY-gymU>aN(Mq1D)oL1J?%DI&2LocdUTtuME^EG51ZfJ z5a?l|e-HE-+VC~^$b}!K_$ACgsNPsXh*$yf`KW8lo6>aN#{c0qR*Q{nw#*+@t!x0| z?}Hb^DHV9@y6FuZ_s9aA;vv4Bbz1Hsa{!hqOFPO>htE){cP#X5aFU0G z9H&ZU4ikfuC=vZzNI5Y>LeR? zjog#LU1MLDIYqH$Q)ksH@dV+F0II zW+mH7n=&&qGcz+YGc(>Yb9>MG&YbhX?&>H`e>Bl-GtV<04Z}%LEs=TxM#@mdIN2QD z3!gTWBOx77-X@1iuiK1AY|7<-$3J^=<(E^FnIz199g@9IA8YEgV;_&$YEecWdCf z9bbjwdqk!(jE3_~Gx)!0H^r@z!R8g+21z(tc8wivO@#|g<~`CFp?H(XAoR9?9uqfI zI44|aRPS|8F$&o98@ab5S8AgN8qzIz`vr4Ti~=|PM(!QJ&DFHf!4Nxq?r4tdSkp2j zg?EB*5js$?Lu9zKS-dx1qZBShePfHCqf5=Gb<~8=Ps-rlnrTi zN${Gm8}PkL2j@_O8yTLHR^_1idKJL6TUMtVXW<4!S1vY9mkMF;GWm6?Rh@~@JqGRd z7!njwjB4?T9Rhac;G7&lh4V5-Vu#|ek$b)6kt}l=<|Z2x=@_LFh5WtX%dNn;Tuk+4 z#-9IHWW#&8*ktYlQ*OmD4zC&6xntM1aJfOx?UAd;1WQxa?nD-y)VrpX_SNO|Dn7I; z3_5>GYZ60muf-o-k(UUK?=4yD~aEKCZ(#WeE9o@Ym|A);F^4 z^1f|@!#j5G3gf1j|JHQAaXAVd6L1_O`duw4x+aY)mpn6l;aO)%V^V)562sQr6K2kN2DiM?sVE)r^q0DKj88$V;|Q@o-*?M zUkEm;(!^S9G7o?$@7)d@8z-&1$ZZ<8*T(hnCe)_nR00JT5QMh?#|Oj8Ld@Ex4L$$O z=*ZeK2H967_Ex?^G1lrBV~@$@AX6**KKg2Hm^zAZap?Z4l z?_-YnpR+6v(i>AG5Pl8d@;M=aYy^<}5RfH{k?obGCN`5^@rN3E{#SeqlW%48q?MLAmN+y#ETw&KQ;u~S zOAqtmCYV2?k!_6-N$-1}LHHv8UxFMmy?u`~aIb!~lm#^H?bEmfJ_hN@D1>TWm5P2d0!|v7Xj9!mQ)*hP}3LLO=7nllw&D&R-cRlsH*@VxI);YE5ufRd}+o=YJDA-(q8s{}k}$h78rO+99p&nDD0> zeEzDAEP>|P1A4FX5YnFpy5x0wyVEE5bmPxo6n7@RZzT5-J_B_52>T=}$P)idgFBU| zQsN5~rv6#rOU5S|lQd-Ft$DW5=g;_L-G;=m8h5B`zb!VaJsUXgjWe~?`k<5S&HR$WtWyS z;nn8pRTa_M3>udr4H$@$*FdstxN*3$t2I;KDkm+5*BZaqYpDDgiAHulKC!POR(G4< zwQG1Vyxy?AvMa@EG@>;C2GMT-dO3`Jll9tu)ceC5jomBzR(2uD1|axN0I$&{niX^@ zjn$`Ss^QH>?^QWgx3uM*Lel#iVMxxqsLgDZ9ctfi8tU;n*nI?>9bItM%$NQJ24#yuQLGK zm7%%z&enwH@?SQsH{-=Xn95;+SXh*()PDu~Wlb5ClodynJ$0Fn@l}&~S(rxSC29Z+ zqQ3_8IxT5RV8)$_^2$45GFezHJ(>N|B37Q!Y#tE#HA33v?nW{sF{`c_PproFeo?)AZ_FP)&A5`?;mSTNiAouGvM2%Ov~)N!Tz}uQd+H zbgcgRcvT7lRC+Oi=KoCWWseHrC2OEaqwbf`tdIDg>)aJ}*+Barra!U|uRx>jpU|Cx zbak8vSi!M?Td`t5veti@`ECoi@W|>o9njS?qlqI28*Q;hg8j+W;fk+|#M!>I3ov6cg zX@6mT!_f=o=eu7^6!MP&|1?gb#6L#bv(wn-N#53~%-)yND5cTTnhi2Dc#%21@-dr| zxd1Lxu^6e)&Y;$_18u-w-@v(oqqVa0-F8lN@|6kwFCglvW7{J%RLlQWljO=m};b)*}%o=zog>tup}|ECJr3Ysx7kpevN}jgYTEkJ#>M zw7v%F&DpTYY`sPn^l}URVHttw%|NfTcSAb#!pL+u*4SRw)b-_v6!MP)f4T8zQS&<9 z=w7MPl@12kCxE?H@8x#+QuS3h(F|UzL}M48L=HvKNf52q8vT%*y_>ZNPBxX7HE4XQ zG*Ez1b_%Zwy&0S?Q$b>OaFOw;3sz;ZDa(Qeqv|xMR!eh(9Y8w`n{R9~@3Sp4C@ueJV9IX-`ORWsonPrxk!E-d zm+A#)T575bsuxK8spJNF|+s$D+ zp?jq;of{o)VbXohEyy?vtal~_lX6QWW#!By`h79@J1m1pAyiE6y?R+pz6V*5AS%w{ z)!M?rik)0h>9eB!RwnG#0ci0H3lHtrZdBUOhJBf~7q>~hEu3RAFXz)}yfzJhLG-ym zZ;oTeaR;hO95UYCkkU7V^UTxhqO@!%FeoehlBd#qYna!SyO*Wmy+539Qm^@5jvl?z z+aa4bx3DA&?*o`r-UiAg>C{9SpbHn6$ZK5Zk6O$Cq}~?PtRHZof4dIFU1)f(@X)Tm znEo^rH;|zyx*e0R|LMTR;r7P&3T};5UUqL z6Q<~dUIgf>G$6L8dT5x#WZ_~Xd-eGgm2XiQL&FXjR_j@U6|{W%sxq!{i7C8JEsINu zg_K0gU0_+Kjf<_-cB7_!sXI;Njge?{dNhz{Q8fV7$tVna4T^F|beCy+?fsw+M^Pvm zb#lD^hA*N#<_bJhvKuMMm8m?YB@CMQh|5%hsJIl0WpShXbROv*Sao2A!AMSA;+Thl3^gGlRMSl4Q8e3uL~XdB`(^LfR9#^zh1 zfgFmWeGr|h|8MH+l(|a7ytO;C5y{KVyUWQU4c2vtp@Yn1+!e`KTx%bcy%%KFOt`{q z-nD6+ixJQLIa`OzL?*a5mo&#Lj*%)u}uW(PJ zdmR_j;iqQ`mmtKC0KZzx*nx|+(7cxkyw64B^0sKeK$KK@4ca%e?Qj*PS{OBjmz!$L zm;eT+>R=CpmUh%IH$=5)n5WgSz!ck{3 zwV@wV?JyxmdTYXzxq4NMtufK7iGk@7c_z&VU|ur3pChrA;r*d$A}=GJNs)L_8G+aq zu**}?JtW(}${_r-k-bm4OYt8WWM2jLs?@DBJvY)Cy%L*)2E%(#yGxIdVQ6T>z)BI` z0oi>$%ozMyRfscAD`Gmz^?6+nWPPwWmFHc ztyK(!!$$W$v098xK^GD|bMRy};CAEc`p8VU+8o{|(B-DrWVtFRHtpH_dt_)W0Mx2ch*9&GdR*{dk}0{ zcP%<{!-LJ@efwSC6EMhr2-r)jqqWMGt$nh%sTv+?WbeyFEG9h{ozRB?dTjg%P`4at zUEP?Ps>Uzj5=s5T&Cx6K)oNn~p(zWNnG`<);u9p3u=5%!L)Gzm{)g~LbMJEAzgouu z4tY=qnJIV_Qm|S&kfpa|$8M>6#XrKM&FbYHD5IJaI&`Z5Bhm60Sk@u=xV>>CzdbES zZPdeKP2{zsG&*mr2J$Sb9tYL3^b*x%d9|FhVG6G*)Ailck%A|HY!eNnmB!NT`Lcud2 zSf({;*}&y+c&5R<+()DFd1wF(qMrry@-zq>x19{nUO2nm!0R8;@$bkW`#E55#&EB! z6VDYA{dN2n!gI~zm4b;uPfs45&x3QLo^vQ`$!6so!1_R%%Km&adXsmRK&1vsI0|0? z;c4ZrTgkXmvp||?a&j34uwQ6$Zvdf8i}$zG5!^+=1ic6eTAS*d!|bL?wbd6}0=yis zOKmkzqUR;>th%x-OJ^?`+P!OAGd|Rpn#3#N8I_k-hLHa<@Hr+^>^|b4-%y-a@p6+b zG;i{1GO}xNWHSw~KpIx+N28UPSDMwUmTS!T0JSGP_DECkDhO7f>j3+Z?1{C*R~z4J zuM|2TG6K=B0b0)T1y$Pdb@eNvLaW) z*_1aj$bSd;8_SuKtSZFVRCuRZydM2BffrT&F<~iw7sPUG1R8`WZ(=nzyxWXkewIb0 zD+@*vCGVjm*8M8mTS0c5k}6PmuSvX*Jw>IVjG^IuFf2V(ukH`^@rwK}yx-tnJx*hh zt^q+1`~iSBBL9_Q79GU0Q_exux!W!IK0as??=>SK-Jz~5+CBu^+I)3YGsX{_$?F@| z*pz7iHQ$7y=pzu_)VgzZUOxu1$M&?OPgQE^n7N@{(;qdxx46ofUAu^T37DvlAyMm7 z0VxG5&#~*PHV;igb*5l58QfaH$U*VJH?lm9SIK8UM z>C87{W^|_JQ%KE8Ix~pVvf^a?Z9ygk>qGdorNhexl*D&H13j=zz-N$v8#QW`9ev@m zrnv=PpDw!*X)z}MJq?UU&gZ~cEr)5clYMaRipDfvqwslSdOh44mtYMTh>|ZrvIhSF za;$9rfB2$Vyj)8o)1rZlM9r6=*_i6@dt}N;YwPUHOsjcOXw6QCFPp1Z`$_LomuaA7 z8hu}Z&lU~rZSHTj4mHD9&EsW~I%k8|q=AH?;A;@9kbd1g^@;l7-LWI|>&Ew{Hb_LG zivW_p0rK*~Y^?B21AC>s#v@$=oYF=3w*c>4RX0#S&HAU{Lqr%H7*swBxs<_qw+^kuE=K0j12D_3O_cHcaOVI zy8(pspMbsuRnvWqG1*Bs{M5)^&qSeO8)FmsGaxrv#xDhkd>7kncln>2;MyHK(+f!F zFW@}hUSKV?(J`Xm!T*`p>wGj!*Md67r23aoud>ssWDW&RzzV-IotNWgQTZ}t!APRy z*N|)+*9u|zfi9qkfz1HfE}qS*`MKhOLaY# z_s(OY;Gr0wUs(pp@#wq0Fs;v_HZqRQZ^I2tR(WRK(Z=^W8d5ys3k>E%VE(;3o>nSP$n&`FoE}!y0lUwgY1=HpIYv>(bHaK z@@2a&oj8Z*!YUJbJL<#O#w!ox9YznY2u8sfM|*&Wv6~Kp8Y@paV$hdPr9zmx;4>wBu!i$-Iu2EN;BF zWfV0Vp|Nqnln+<7HD?+#b6C?TyT636$(+499JHpRrLux(F8^4hGZ~waj1%Hpj$Fo8 z>*G5aY{|BDbKzJ^h1cDXap=#2U9i+22mRVK+%&{oAa&3mZ&I&9nPMlSG%jRIlpKkk z6W}>nJ3w^3oqRrxT7Dhhi6-@GL5iYP1HHIR!bwQNx>Ts_lx^tc4NjfZC!5xLwYro^ z1r$xEz_ccgaw0RAk2z)%r<%trn>t2I^BhV}gCrZa5sj?d52u^KtEgx(!5gRnSOi1C z84zsJN(IKdxgJexb2m1VS7A^DO&TcksJsc3YqiJZ(*8X%K}d zawv*!N)c+|JpQ3Ffb3T`qnHXeGm+QS$YN8K1r0{k&7rc+q@AsahU{4pZebelIq4-7 zt|wtAxFrOuWXS|uX)+&NsuGfQRm|X(fQU+ZnL+$nz^|4QQdmE!=;rd_R>t@82a8LI zg_K0g*|3~o8#+moBkjyKa;PygDZMaqfb2PD^m>+z6K@*!)TZ4b&+<>1Pb|^V}+>;rLcH~4X4Ttkh>-F&GfK=zg^9Y!t z+aN`@{~?P0LD|3aP%DfLOoVWOC81ZFP>VgydFj_c2}j{=AdI5+LpIeMd*c|}dD4zp!DQwCi!!Y(`-O=FQ z-BAJs8Ytl?yc1Jjm3{iR3=M}no4`vwVi2C961D}f<+iOR{s>zQ>AlMqk6a7k57PTU z-<-<9t&NFoO*xXaDFyy)O{&uM&~GNMTDiG!K^YyFk8r^y+geTdz0=J!?URw5985rzyP_IpR{)0ij?3f{y(Sx5jNDh9q~I zo|J4j>@uI%alW9YQkl=B>_$?oa{vRzvX$3V7&Nt40n`2fUakg|L&c>~Wbue29hdlfIFl=z|Idz50gvhhcCw(vID|JXuM+Pr5yjLaBn7lU{ zNEizCL6EyOvic%iZuld+HNqhKu3)dWeZQpA7IzT4!uVc&#Nsmj7E%%|cZ20-vY$#} z=Ku-!+C1RyroX2%Rx8VTVqGx}Ein}fH!*qlK=O{uy3@7cll9Tx)6(N@NRm;Qk}TK( zrFsPFm0HxNF|lwj(|IqC#-vOG2}41Zg3=gO7+tVHV^W}j{y20-K@9?(vYBtGrYgyp zsoWAwW}`@Jm!>Xl=v?)r4(B?(T($o3btNDgW z(|LV1hM>Hou0fI1P60d~T zi1C^V6ygs6zrI}X#Kp8tvv}WBIexsPQXgNou(ky$nsBUdT19i(d|qj#QR&fua(G== zL9sG*L+@=)$Ik3v2JgOg>C9FN`EBq|&9y+{Es!o>&XpYCwM!_>nDSC5qs+m0UAb@% zI8!pqD@{dUZ3J5eN#S|WwBD6=Ej%NI{6pZclddbCsFVK9!$`tmlX&m?Xo}7Y>&BvL z4yrZ!+2=N>zuH7zVW*KP(m+O{=HAeByz_EmgY4{aA2a<=-g!bPy#~?~wL2(vn@Z22 zyuI0MxBHsiYw{bY>quCEO8xzy&uUnBz88f1o9>8eScH)N0MM~LRb06x54fH-_kN%$ zyjR3x>!T~PXnGK@W4eLEFKqk22b;vJYsH8(6d8m+1aMtEID!tFL0Pc*P@^Bgr=%3} z9|rzWIBPOI+@RhB=l0B4%=?*YL?-JIV6B^x(g53vbLd&SDj#WVuaRic$+i&6m;|Hi zQE)B7K=H6FkqwVFey>whw6~!!I*ho)JqEaZeSAk#YGIExs#m4bDmW9Z0jZAzL&4)9 zSS@GQ$P$$U2WHumC&$->$D6`?l8j4!2Ze?wz_0{&B%az3o@i)yUXMf~Ig3r?lbC4R z!a@HCPd2if_el*K??=QdprU`!@)THBO*d-$WiJ9L(fCIQPc?~m^HWq_K^a5C(_q+) zECBstaorRb)5Sl-(@o`#c}SsAN12&#IP~Pw{S3I*q@|@>#>UX%=b0eSG^sZL+hvVv z4n)hdV9{(MmbmAi7oKej@8#-Q;+}sV`Og7=eX&|IP;KJul<-`$c;B|h=abUF4tAF( z7-i3cY;Crsm<)-IHMo}l`3qKMu_?=f2BYc)P#v4A)>LO@ZY%3cTkuzSp&7lxHwU3I z7cN0*ei6)z_$ebFc(Hlh%olkG4H}uemw>l4J;%QOojb!z4e74$$>rub0=X{(cXbW( z&v`IzyE2B=ZsFxd_nvw_F4LX=fiQ|*0ntjGJtniym<7MmG+r*CG2`>j=ABs<{3-}m z*&0Obuq~5j!>bo;=rVa(rWZvFFX1&X@WdxM@nCkE8->2s@ZPkjLdj$Rf?o&l4dr=< z*Bj0&=!%83#3ktsAg$Ckxzw2tOv`?;Z#1fRmo+BuvIY`{f;T}R?@QdfS57LLkpsJA z8Pc0g;guN{H@z$+5-o3m<%Dt@?-JQs9#eR@-%NO`8NFssnL}~;#{!&*cpDO-E2ia; zZu#ckZccB4U6&k}2$J6c@;V!*8=8}av{S>lwD3+dc;B5x=jB)^2czpy|9$S!MV0HE`Vc%>cP$PZ2p=|s*M#WuF2w^2c-uY#_G;4CxZdsyl)G%)2~fqWSz3Q6m-f@K2XtLF1= ztwy6q17HySHK31|s%UOQgI)DQQ;lZ5KkaMqbyK;6;Mur+PaLh^fR)=fNyUZ@>u;LG zD+>zMmlU1QZvnb^oX5DM3iEA4diBy`6~+jpeh1Y2qHuH-u;Pxcg796Fc%N&op3X;+ z3m1^Ieh=0jr-!8Nm3iB~Z~D7AU92(?l};kLcDp!R*ToNzq*Yl1XPA3BhaXxByz(iF z%InX9k;Lo%5hSZqITOnkmQg=8i`PHivy1|Vj-SBM(FYpqaz8bX*9=?GXG|!iKZEob zZU%E;Ed1Ow-n0+I;O$CL3Ht?Ln{C~^POs9PQN#Zk-rYpA*^p)7I<=%Hk=9?rsvj-8 z7Jg-(Yx~h6I-$P?bcJrmfGr)Q4)+`5di@C+k+(<#kwW}$fzRqY?E3wk(Y>s*>$?O7 z*}n(da^;=KmH)6{v}VLixCX!=`j1SuT+=BpyWyI8^)<3fp%Z+w*7z`fq0OrgwI&sO3-;{T(76njz&vTA397 zVGb|nFBB#jf#`n%z0tl2WcT>O()lg_GKV*GYy{pe3l(`Z{u{=%oYT%BPpr2Y#$Vw- zX7gHOS#0XEpuwp6FI4N%KPtoGvNDccrSZ>jy=A&U$Xi`7EAflnt{pVmt}nz~w_!Tp z>;~rX-sr9$Vx*9NL-5z-XGLw)E5Ehx!8$PSezX@HQO7mivkJs@;bZkpUba5{K z5|ewY*c1~#g@DZj&S4LEnMw6hs5STA*Jz^WW0|>*Aoq?8vX_IsB6Z^rrm=t(2KU-{ zUB&_ug!Gl9TRmo$m6%lvrgwec2_bzo=$K*>#|gQ!V;Xc^V-7E)u;}_MI$(6Ig{$)< z+yePf(o%tQ$L_GfbY2go#NjnsT=F)8cak># zY*ZSfEV#=%T%h524Y2a`OtURypvXn?tbPrjue18=X=bZebd)@?`Ppu~42y+bvVKO6Kj*!sjj?7Ycs&4Z25 zYGRM)%c|j`*=mplL1x|Mlr33nc0pvON1txdx1&F2k7Xk4l^ zU?58F0EwLzxU)4OAL5p=>NFPQ-O)r|;jQd~r~sqvPLQ2m?s6)u9M@SAcQ*Is&P!Cr z#fMqyi0C@m9BGlm+%pQov;NAsH($BRd}G%9C9C z&FmFuDIzbu2qAqN=o_@rlJ@n|`tEkKc%O>`sL?=?M%_iwEgr^XGxo1tYzA+#Mxh^r zkqO)ZU~Yy>wle1uLwm1i)=$giXF-Eebr+~sjLOowty0YIpOzu=nXuC=UPlZfl3yec zJ;1BTb(}~iOua2HYS?9bcZy~Aj?Q6p=#WLzZkU$p5hi}bwRq5CK7F}l~~rcp`PfO4o9f?}hNnr_3cSaL+KH0RN@2*YOb262=?lLksS z3im>o)q-$ARtvh!bl$gN^&a{xl&8_Q54P2)F5}Z+cNM>p%gy9f$~)`H1rjZHg@rR~ zxG(eW=G0uc!VK4HW{m*|z8k>Hqy;KFj_lZt)?m21alPL2Tm#mklX?$O*D@o=T8+54 zoweP28r=K7v)FtBS#SVF0bo>(Ky{OzRhZI_dG|8CH!gMUsxn0l6IMmScxub8)=Yg= z29m?5*{{{9EgGNL8nCC@hFF#HYO^*sB7JmntVU%!0vGY`FlMq|-5v(%v8z@uG}BQ> zI+nI4<&?w<{~5+j=)I3I79VR4K{ksSZ>a>*E6Q@a&n6sUlLib4nReJrezkE4cXf7o%>|V zBdjXNTJnRY@&*MmKzc&DFg?$s@DPM+bsi!I1f;o)(~b|D&AWGqO-~mLC3BE0J|OF> zEBHsa+R)zId&Y^+L}Qb9ZxA_vwzE1~pW;&Wa38~Z^|nIAGb0dv4baQu5s=!(ysweH z`c#Y;Q_KS;^Yi8I2lUF)OC0WRaPLNIOyV_=z6GZJ0Tf`MbF4Bbn;pbmeI956uVE2m z5?_K4{~+L(%9~i7tMH%U!G`v7^%#rj9Dvw|FxC3yz7qVL-9wNCgPlj=u6z2pFQALhAik2H~YNyWK68G_tLfxEF9CgRw~ zmM}4kZYK_?gz#vSc)5fT(o^Zmqwz5?>WbvtBq=>_l0wzs7;l)dFRlyEY2R6T>--r&FGbqN{F{sJJ-08 zw&5sz5`=5h(Ah{_2iS*658=rs^GcR318;c}Jx_rrzrRfy9(bx*yaA3}eO~vsi45|e z27bp>Lu+k^r<>=0GS$$)ls^OV<+8I;y?IVW76;Uu=Y?mQ(7Uh{kB_RrAp2QhFHIYY zu$A&`BYRDt@_r=NE_n{1Yb^_}kIqh{85++uxHr>8V>8_v=+970{qrCy+?jL3^G$K2 zcjjEOU%-pdJQ3HXIqD0|;9Z2q=0#{Ahob035FHmFB`oDHf!ww@-yvsAOf|-K%TczRHxXWHW-q(#+D0hzsC*fe%h01HgOsDKtx}VH zxoODO7BZhu2zaydK}$L<7Ck`5yfR2$-DL zAvx@#iAO`=nZDk{UgfD!Uo`;1Zvc2{s2{G^DtorcKf@arjE%A4SC9dSeG{;D@K^ri z!0a);*+jki5M-hZcCkDQUFA4H4BJPf<$3y3S2UCG79`kq2GWBnRevOvnm@QBZ4LN8nyxp{3xvY_?(?CX|<{i`&x`~HovHA5oP2=UE z7MUIkp@mEoJ@0~NmF7XaWk`x$9Pc)Z_w{R3N;IGxD&7Od+W2*{Y8qruYMCb@%bU#N zWs-&1R26=SJlfs|+v>FJf)iEPP!8`mmv=?6l^pAZ9UMA707qfbi;R!fLw&3tTLOI0 zOx`T|dHYOqNJ>8h=?S_3xPPvRO<;#+$HyCo<7!~Jp&vH2H+Zfb-b)R1g;M?z$XB-~ z>$1IYWovt^e{@Lx9uFTip?6nPT>3gVbbJgBY(8Q0==6*JxLMqHKE5bp zq2O~A;G`1i8koRp`%!6)f8GRMyR>k|Ne)5y7Xa4-)MegG+HmoUM)&Sdmv)R{X!sHg zI<<25R2@?*zifD~HroXs8DxJ2?DetRgSF@hnP5B=Pm%qqIlT9>qX(sgqUvi<9hcu_ z{IcrQY#o_O+PM7dCiJovrSP5705&c!Au0X_#2j^C#SmSj-!zk3v6Q!l7Q6%+pV)5^ zt1mR>eur-x)_W=%t?*HRLG*WkK1CY_sS?mm8?4F$(wyVF=JT4D#=?w83)qnqlF!Ov z_XcJnzK29uRe%Rxj&UUP`({0&sz64f<_FNE6}(uyDa*kseevJnhi39#h*(}~eBRaK zPYFrokD$!fjLPV@Y>e?^b9w!RUA`!82ATH7_zCDY<=EVGJfISD_NOIVtCW8n#1@P{ zHSs;13SBumFSGn(PZ2NuXGk1t>r7pk>fq=h%#m682BPmSOy?F;f|q ze}(WbBf6EC7%e`B9D?M3gM5>GjWW0K_&(X|J)Kk`r%+5C2>&suH~CSCv}yo-6Z7Di zp#LI4D|Lrov>s(pJzQ_Ou6FW16pcx-1`>vX>kCRc+S5L@6&%bZJ$d=r!8b6OH$Y+( z+AP$`r1^$0+e9_#Qp%F0)iR>eKdmzc_{9ds$NyCP{` z3iA?aKW&wLpWCu}Wtn-rseSpuf*6^^cvj(FVJ07@Z%GS%e>mPOUQSf#4bC%&KLPkcmHymw!ifey(klJA z=a7C9=u2gk42!UF5=l7O(B7Ud5yUgn-|iBM9&%Y;3;oAjP^m?b`stGH#U#=*%cmi2}8+E zAX$eAJ5^cL8+gD@+JWgzvv|d47CmODU1*fu6td-Q_UqsPE$Q9~H#3X((x!M+6c}XR z9PHe@r<5_ac)ZvxOycz(#~xk0n)GDBJdeU#Lbxfrblpon-Mxw_y}c+hMCtAoiIkoN zX?aFm>LS0D8L!KXxLp7E*^t?0277boHlAZD?~Bs92ro?oITWwzT!@ah>7rZ|I)c_5 zmxbcp59gV&S9i5V?=jm{8euaT+=NR2`FTu)$147AmEucYz7->Qo^z(gIhFn1so>Es}G5dFX0e2(6&4#0xDgg9}It zhUHSXTKs6{V>1c2LlU^&V}R3eZf`!XQdr2(7@5F30Jt*WcR3{Y`i_S6o}tF%TdDzc zfeMC#J3+uzKe$@CKw0Y{!#H?;(u~8L+dG@g>+8_llMr<3Z(YdrZ-Kw}LZ~4*{!14^ zZMB4Wb5kvLcC;svw2eDIOMwC?~rt2{~Hl$;1~iNTMk@zoD5i z8^#YijqlxAaP^U7ob;{hU3Gp%Py@zon);d>#3u zF#UVMUza91N_|O|kzn)}>tUhDp`pslkq>Vg z!%3APX}0Mq#8K0D6;6w;A8rSXt{Pk`;#RpeIgS96Si+cDydtHvTdop_t^;iq=iRe2 zau7}5WS!@okDI}}4xJ+z?^aq@Qh-r5!Ryc-bg94MIwsBHWjh*?77auS@eSZ@hOx|N zp2Dq?fw4Yh4Og1S`&hg7xR-Dg?uT$q`sySH#I8Qv*=NdJUhhelPc{dl-V;WaF0do9FG zyQ^i3aj$}LwN0%@^M?cC!CYSNg2mWrDZSIA<; zntv9wzv}VO$yw-DjLWsu2Z6h= znUqH$DJ!!L6Q(d87#?X>@6FC)@tK4SKUb+S)4ueS+VMxZ$h7JyVf14>zr zmd@Ka7*{FcIBZ?8_)OEfqvT3S)}Bn7pC#Pcy^E&jE@U+Gxu7f zSH>cz$RPX$gb&WeC1i1dU3j6vdo>MFHce`?+N{KL-*=Z z)kIsGEi#d>0CL&j97YEd^OeTzwQ4Ogr?628U(9@TQeOq?8YWa1VaA*MYGcoTEAls4 z5?p}L@ERCa$qQMXo|bYizT55aTI2VsYR0q|UcNGgg4aPH_gYr5r2F!EW6yuDWj&ML z7K=>e8xpclcQg-gG~~7Y5RF0dn?T0|Vt}x)q3{3C;lseha|zdi2$& zrV{t9#-0E5km6}du~~Fd-v;V2jpkLe4VhW<_5}hbYVFx+He&eFrRW5{BPA0JsFcii zE|7{hL6ez9C-q&RE*_j4iMdI5w;_9Vlg2w*%zRR865j)&>Kyw|w% zzqGOxXKu1FF{#NdP{@B@jxUqH(ye&E@#p{OP-bBtmh?>nZxG@?0K9y3`u-;V2aVsW zwjA%vxE#C5qh^z!h@s&_FsvAylU`8ysuTai#-Bgam*PqyY4Y<3vOfa0JkGxAwCt`` z4<9wG^CHLpUb!hckskwcogqj1rDB8OZkeI;aijODp~jn1>q^g&DEb6Mk{ij6k?E#< z()ial>o5k%p8|Q&;9SCf+OYHI8u2>wRf7m1^D|&du7No%iThdO&VRGVFry~DA6ax# zKL@I0a@@-{VLxx!`IB3lsm@lOMI$nQ@OWF@KiFO# z^+m{{lln7Ir9j;!qc3&Y=@l)UcKEr0uf@Atf)M`;Cc0gpsA2ajei#2|>|WiC@%a^Q zNuEIPF9BZ6wjrs%GV1(qZ>bJs078EasC;Pyb=(Xz^nPR5YgMJDg};H|*Yqg;;j2cyoP*utGHG6?@8;PNtKF7g&^L6ly%KN-JQ&s2PJ zqY^LfJd`q@5{QyNLn2wwRyKSGrQzESe=))Q^_0Q|6c9xJ6=?ZVWa6!?8bPHg{LRSo ze<}H9Qx=`nzmqCRsYSNyeChsS)cJ3C>7~mvi2kQ=X63L6>32Xedw^eI_?P^8P53t) zdrz_a7bSaIt8^X5P{%iX~%A!#@-!2?w zMsI4OMeSisL|ShI>qd)Vf5ba_v^l+jGK<*5Ngj>IbY5o#Pg#~!b0hOb=DZHqnJ3b^ z7}gUoG(96L4%-#UXc|raS0nh5hsZ85v$vT{#^L2=!7f-6Z@$dG^UHGr8A` zXq3)dU1ZX{9Ojer8xgcyGLccXydIljSHZ}E>i&9IVR~T8nIH`qi2maQChJ_&5-V&8 z9psz@G!`etB~AL{&E{n^3ZYE{okVI+fOc8CJyns@<)Y|B6ZNXn>t!JtCHeToo&;?1 zL@i7~mJX8WIN2QDx8qEX%2R1R1?CMMLv2xes%gDqPyzAs%0qypQFj`2i^oO}RO)<6 zr<?vwAojmRFGxaTRq6thBHm;ef|1+Q>%e4NQ!R?@zVBevpQRekLYG5>eUv}8yI87 ztIGhy-W=F<_93?`!_vH&q}PoswMGaJ1bLwnejg1r;-RBe)WUWQ|JNS)d)C zlgZ92qb)h7g(DGRc6uh<$_!q~pTm@|p#w|%*|2XcJvNS>;4L`E#NN$Q0<9WIZ-L?{ zJQu>%dJxba8O@8&={!?;nXAU7N&^O>xmA`pj%&NroZ zTa`qm26|wbfZHGer|0K~#@#}vTk%}OekpNMK7WCwVy`ph%*h(#$W@1c>A5Y^vsQ0b zoPrzg`-P_W=KN~x!hO%7D7qa)>vOLm_j`$|+ndU(uIJ*@mJ4S*`tAVV#@zoO*Lb$0 z@s4Kn%FrC4Y|Insyc3+u#zrTltWL$iolVrMF|N5-ibhEuLGl)mZE+N)@Kk5wm25SE z_n5Q-K!XNyD2n+dx}WIQ}uFdb@GGkGkg(kOa|k5iG~% z9@G};M4puPf1?&{7n{wS@}Gm0pLPjK^A4ET$JutfFli69kW{{0Vp8wHbWGeUp{TkG zRGT!5k<(PqNX7}d*C|b-h&xcn*K*iW;q^A25L-=T zi0hBycQR^1FDLC<6Um_{szJ0Y9pcJ&I*ggYE2X=f14{(Sb&yxgPOVHg6eCE^_%I6O5(G`{!cr)cEo5hNc1SsJgSO)2N*D!cH{ zUDb(j*zjI4U~$vUDv@ZJgJoS>+_WVfqY>}Z)h6=t$S!N63MiWH4b#cmT;J6iXpPB< z5;blizhz3!nyRC99`0jSuLh$iUY!PdahZf`kc1U7gj8+U8jaK`bYBzpnhBuAszs#H zLcCk#-w*svxo_1r3g33PF%#}@Ca;vsA?V753rJcY0Bb&%k?uU%pjjq6#OL@x(_V*M zrpToCLGZE$fsQ?#9NM0iVO>1L2b*#sH3&p6KExc0s)s2*?+;+9?xx zqM3iK`Ccb##Jgc^oXudDyia7|VAcJl+Ie!%^e$PHBJ;!k+;6lB?xIPvj>Wx!1G= z%@i1k*ep7kPXbd8n$rau*up&CmnR$Ct7l}fX~=>Gqv|P8ot(=gQVVWac4lfzCt!LW zPc^SM%9TS=oC|kFGZjxmDy(}~x)Fxrq~@5fKi%X<)V*86QTPl9ms~krpGZ&bndb1G z8YA)2vgl+!3(QSfY0@vp5amjzXPd#Rs3?LG4eV+ac~m|J%6zB%-sY%G${OR2k@1ar zu4%pAJVB zL6WbNrEF6_rPrJ6I@HOEOnTn{@9{h>6#p2}btO0mWxI6T$sq3=P3^rT#PA~L1Je5@ zc-P6ob?TTkw-iEZSX*VWhIz?p%r?N!%+s*C0Oer$2xf4XoJ7CFwCqr_U@eWMY;!Kiv zn(I1zCj}&}?}Bx$wQ}T$Lav$-?Ym9rJyDCz%d=3%qUk*_K~%j=fLhAUVrEDem*436*42hBa|6tm?) z116&Udz<@Zu4;1-U$#uS4c|1E_a!Ky@Gwd^3cm&62Hi=s z*!vZ}Z9Z?Rp91L9K#@k>cc9A`@z}FDYejt5gx8^nFCc0C9<0X}K8USodCI8(@oo9O zdA-lQ0O8dZekow-{sG+i$vZ=H?V0)kc9j0mv|cNFo|iP^(f1?xPVTJ8$~1-6Y^c@y z>&=GLj(==wuYYg8+Hny||4-mQu9USF>Z?CBwO7S)^VU3<_MgGNx$sERsqFDV|J>Z} z_+Ebezw<%osWkrr=GBD~SswFr_&+mxm5ZJQGB|Yn5{{Gf+fJV|JHMnOoYNzu)gOLk zM(<@-Qny^9jAa6TjRfSIdvcO7S_9hL`;DouLvydlr1!V*E+3O6f?3t|cjoeXH8dVC zQv=Ms3I9Fd`D%G;Z(<{;vDBsb2a|d4>^xs;Czt*|!oM~bPiB?IxAjkE_440b?D(!~ z0p6}Cjjlh#wMijw#cF`+lNFGJ9m1&c&V{|ae33`083Wt>4a)lTz? z;)VWg!QNQujzwttyBm?-zr(vhdcot2)qyR8=T)#xO{*y*D*rI0cW)KI3)R4m0*$(V zLbr6FTH8I8`j7r)4sTZ0foe_1H*x@C{|&75)TY@jTWUB)L~dUAk2$9dqM}pk2ZsMe^N9G@(7ZT0eQV%ns_-o zFW#p`rtqq?8ozL#3NXqRLuTE%J7k5#;UPIL1~+VpxxB8At~V^tqG~BrYtl&|bq;LC z_UbYddF|CMM~dV?v@D0k8Zy#k#+>xo_D-y&Twx;b?sY8{3oy!7Lbj+;OYMMF#`hXB z5`_;&qms57H2cc?TL)yGgcRobJk}Wfh`#bNkIJ=BF0al?bH+v**O|xr7BwC(MFV^w zgs%sD)uH<6XlNb6%oKU6WERc_<9i=sE-DqdFj2H@gyqCs;U_P-lxI4c9i5xZ>1`sN z1JRiacL6g6n~{PgaVqZiSvgwfShIO6zdB~(B0izV0eXu<9lEd(VW1&%iewXpT!+Q+ zro9K=-wV$=OSV96SElD=KZRzc6(-Kofn29j?TDDZ6Og`qn}*+eyxS*QLcBLMcX!Ko zJLA!J5`6gu38^L(jVGJYtF+8x%oFK6176{ zUlrx{Ci18UTa9KK{5svl*P$xf$)*1c_?NZixDuP?bz{?c1zU>7%giH4z6r?r@w}Zf zVPJMT-pe!1;oZx5o?s40<4s}AcQwShdfHUEnK`dRS3?0w>&;<3LAyNBWvc4~wrQ0- z+``me+gmyDp5~Sxc0eh=CFGl@jH6U}%yK>s5O+ zKJU5)kWCqkvfDtmLHF11Z`Fp=kgMz@7A`QG*QineZ5k-jsJkt6n_KNRs~G4k-90q4 z1$CDAN?&M3@44m~wB~;(Kq5ov?jtoPWIFK;={KKOAyEV`O#@{fmD`{^sdoh}nzx(T-(aIT z-k3;Juc>#~OvOb=#oA(zM0{s1HnUgF*4UJ4Aa-tKug(sLmZtNZFP)VszL%K5o32zo z(;3m3`nv#nY(AqItjpTWrsUf3_U$x>SFckDFG2&XVHJqf4nSMFY1L7j{j|$`*WsoS zMbU0vpEkvJwT5PElLK*Uig4u%Hl&$P^1c>EE{9F#edS%IPL*J^?S(Dh^}J<9TF9ev=6k%GmzmJ3 z+su=#6q)qygLhfn+CDY)FE^D}B~H7EP48}6uU4!SUYiEGASu2FFEy=4-rM9K(yED1?w;oKUX?BjnoBU+ zMqraE)DxVfRpw#Z0H2`Q3HFMl^_nG7MZ{rfa`RLk8Cl6 z4MXCc88f!`#cK5Urd0#4JkO%4PF3!O!D5D}8aI_Uw494hTP|!k+9qHt%pSS8K9#C% zlcw{Yxt7CpX#jxjp@1h1!11J)yZ9|*y7}!2LBaIjB7??4smj%vqHw#EwXJK75mX?%< zgJ$u%izN!LN~4l?h}VF|1Qr$T3$nkeG@fR$h({h&IBayU&Z`J2G*ISIIS1vEL$dp1 z>dU>_Bwihmk!Z-GlX-72*QIQIuujPBLOx|9k96iwIAq+R<`laV?`>X^8% znY>(9qw`WUkY`bKKd3hAz1-21{)c?MBHZ76UeT_M!o%qRQu+W&HBH$P|Frl#JaEBM zWfU&514!wEAT7>$kS&1@ga@1Ki03?jL&rnlSd4RTVh;3BV|(Ro;jA1+Ch%bZ%8@5= zI!vn4J>00?;z*0g`(vRxY8m7|0{msE{mq}lBaQA=7`54+Yr<#bM}d5zz7%QXHov@7 zE;2mYTwXVuf=X}K!Rl0FtVHF7JqG%GzA2+?m_wCTdp*{~*CF35AZdME*&637Xm0)Z z|An=Hr1c4~N@q#h?8@eZW5<~AM00xOtpW<)QZ_3bH0quN-AVb{O}7ctPd2YNu}4Yt zY55(~Z6>evi940==;_I%_c`z` zYfsM3$YwP0<~`R`Ze|jr#g`z5Ao+P97h9icPfodU&o_rxM9uSn%6lWc0LDUlV4L-( zzR-k6+#WC(FYiT=E#omwIlLQ}qVdM%5hT9^8m@-;SYB#$ugue^#A`q~ zRJ;s|8yC6&(~xhP@R-{nF1*~t`;grn`N(fi1=I8jq-lfH>ZfrIhg9VU<=>hMztYm+ zeb5Tv#cQBQqwZDEaglBOSfsgqcv||i;)nfe^Lb6W>A4t>K9qP}a1_1qsiTc z)aaFr52xEMS829vhGrVxgfyIj%g=_+aJuS5Q)VHJ+4mgYY{~E@a45^3_Pk&w;w?x- zepT`n_0Z~X;9LgXzUHmw_sZRQa>EWR?Qes9U3GS*bLybo9blxYAh?TkjEGe~M)zv?8k1M3 zf%I<*J^;a{wrl}kksM5#cd}wyzWekMvsLALiR_%UXeDonZ_&=$zeabV0xDwaT0{|kAc1losl?9TKb{<- z=b7j{gXqryz4ofv)^uo8WcM1GV;<-Fh0mJ7TS}B-Q_zJ(&*$J-g4y|%_EcSVIrzNc zz1zY_glEyo`~sM^y0Ot7k$K;ED&dR9_L81r#QUy+j6}_spjnMm!>hH)dWHKR%Btt^ z%_Ur9jC30obb~+mOdR zBDY*>i?WGd_@VK=rbRBtDIiGy5$H>#GkQkmZjH{>!;g*YEg(pdcw;gEsXt+wvz%Wx z_mvez;ity-y7Db5=@ycr7a%%*2FEhl96)}Q8g})79N}er@2!z&BB{EUJ25ON!)~i@b{Kj}*zkcpb zU{un63)-^u0E3(qIum|pMDN||@(vI|^6x=jR~@ZYs-sfg$QYwcz?Uk8Y##gvGk7^3 zqQ^(og+t9Bp;^T(qOgyG^pCb%qgRGMnZo-3OZ!aaAmslU{4>Yo;9_)%$e}*?4^RTd zFS0&fm9^A7ybnKyznFJ#kJrUeXUTclp*|k3&wh0TOw(VHrgiPPHr{?Iu(0`#lvc<( z|7L#g)*^a*S-Wtk`8zZ#QD2aW-Jw1q_du@jA7=3SxKd0?N)+<{3H}n9T0T36e6MuSxa4cVK$IK<$%Z%q zMh5sQlKC_a*5xae)uUmNnYg+PKv9QjNsC-MfWkVnd2dUX(l-a9Wqt4Kx*%*Y z)Bogcxq!xvy^XgGoBp@P+tRoh#xEo>_$Zd$tQrkG(FG5HR+l<(ZF7i%r} zSB9qLe8u{hO|{vMs@Lge^~Rx%6QA~cRNBvg-DWXrMQB9U;>rg*J|$a6-`L#VP_#~5 zq*?=AkQCnp;^pn>Lt`u`r{zS&aHgreH-qu$DG*4$Dah-mWeZbG+pXZ(0BKs)Zfxcor-U`=*nn4X2@%!)HT$h&hwqa?aks1SZGX2G>|Y9+yMgYxm}w)&>9PO zG_u!6AyHz=Q&iIK1lsy-)%IL}qdL`^Xjith_orspoek|h;kv{hOY!OG3Z!rggqzaw zA;>qTt7Gy7*QD_^AtlXLb9#fpT}~kBz|q(TWA2?A5B(-NvUh5n+-=~lvYc6V{TPvl z9kv_Xt7KYK-ZBd%5FHo6u|%Gne4x`4jj?dC(Y-FN+~ZD>N!$VAu~~DAn_Sh$hGg`3 zTF!*3hfB=h4N_+iUO*NsGbz3c#4Azp;5i1>b4Ew5nhrb7=9N(c)U2ub@>(y6b(R-AFolv?j zg?oK|ouj0%d7yDv-nl&{^}f`6{CJtU)tCmPa0tR>X+rLlYy{s9!{+ho`$|#JQz{_VXYG=+N zAUbMrXe)6Jt;8|Idu2qIwj2oL*1EmYN({a2gN6)dF&Lu@;Y9IVQ`a&uj$217=qv<>NU z>1Sw+&&j)he}x${xhcp{z zCHr+qkNi})k6FCRK_NO_g-$<^e~wgrNxW)sic3cahmME9vBIjaa>|?3%pYn3??zcfDl9|{`40ns zjrOl$N7*#Y^l)={^M*7s6&lD$)I5ThkzPP4pJv*%5FTj?Z|FHiq@f5Q{ZXJFJ=>Id zg|f`XsNPJQQWY`AC-5-jy)rjt)6NU@B8TTVi|^pr@^o;O%|8R zVYAg7ks%8CAw1nI-a5!G^Uez>nx4UHk%m5plI2a2#VGQvKhrE;W};Df!!)2ADxSrQ zN!L79A0Ls4CKDr)qt(N+P2*imms?gq(exacma_oG2n7ap!gEdGRl-XJuM$Xp9>_Wm zN5;lw|ElL3*lYcCsofJn@(Vy-V?8&A8qIUhVJFZFjqlwXi_B+WAw$vgB6t?_8fCA* z$?#&sdu`g%eL-vzUjpJf+$K4ca6;<3(t5*jpwjYrslmM|&la6&w@?m7*UR8qG1?x( zgu-fjlG)VD&EjQKDI!);78!)U0`T>@(l!=GoXGl0b9h&x@p&N{kfJ+-QT8gxmU2Q( zYUaM$6kdT;DmroyqF=-7kOF0fd$h-SpnK|VnE@4EYZAADtMPduU1_wv4z^9{-IjfI zTcfk%JbzOr+{m=q*PGDmh3)crbl_-w1B`1>;gV@;GQ`-fOjT!_Qu@BpT;4K+ zjD)wE&#ORMRLU%rKym!dzKM}U%X?rsN}9s$@LmIZ zS!wA5Mr^{~$0SQ;f#J}J=4=`n4evLyR}81POmGK>jt{`GQfn;@BLK`y=d;p1lUGVLBOlR(J+1lSm!!L$d=Ao!$_y`BPz6kkw_OyZ|NT#<6s zvHFCJZ@0szjq0VhOLm+fq<;qVWvOGTEt|L1!)J}{)r7kAZ4p88=RjVB10Cd+HN)qP z>dgv86y6ApOWYTLTa|SOq>hCz8rI7NdUh;C5+z@PWTlq&jW*+iFPp<_3200vUjqq4 z!B-$yXYbI+h*Ys;ZO1{$&%SCFFSEAj@pX|_gmmkNN)ATX*XXj=Vs&h6WKw1&VL`*! z7wod=bXh0|qw5=Rt?I24(Y;ZOwWvrht`3S z`r#@zH*bgUo6Q?=RSa*O2D&k+{sGjOC~%;9rBv&GXc}+8AeS{UDrr9gZG*n$D5Ye# zKIt39l$-ElV|x`;1@ICyP^3}!6X;|;*R;$HkUp|@eMF{r><>RRk=JTK)F>%2i2oV! z+6_26RXuc$yu{(>hWCnWjY@?EltaZYpg2bE<)P}-{_uZBmQ>9<^pm^$h)LEj!CI0g zxS-_!mEpX#L|taZ2!PaIgStWcN#r5yl+KrW=$n$w0K#v~;5||W@K$J`NTcqz(5*^i zJAK>t?&=%9>)^KVI}>>yTbK2zhN0p2FszZrdJN(HU-gRh9Iy8_l6#N+i4$gH>c8jI(Urg3(DU7yZvPoILHQ)BWvHIOhA{2hYjGCYf;Y2<(MSNMnFy)Rtjv11_5 zAp4(W>*;mUYjt=o{L9#0Jxb#-=^7w}@P7lo3e~6B97W+JYnA_FeD5{OqQ;w3B2n^R zNP4^lmk;dR(I2k2TGz$=&))(Hn2hU-Wbg7+m6y-DJ$E?Vz{K7|O7VD=1qRtS1bdy9 zWc_jf@gderk1~ZfFHfV>p@BS$svA+2k|5_VN~@CJv<#6QZ7Q!)(dB9iD4LFeNh=j{ z!)n#$!D>4!GK=@!bg5JrhK9v3=-l&0drXd%3`-2}J(4c?$RK+u*el|>RsHqR*@+=3 zZk8<=&OVx0@D>?_F9&?1)o2^-p}HKLB9lgjF;i!SS-hsE5%|n4ROHdP62>*To}&Z% zWlJ=99IH&`RlswRsmp~EjHcBv#Xj1qbhCyvCh$5IN`175P2yS*rAItSm2#>QXJD-} zs+Wanyp-k~gz)u%pEB>%2z2O%4JP#Rm@+Ghc^YnL;e<1c>lEf*K)}RoL}ECnb*d#* z^iAfx7FE?6qLQ{5w58(*D&tc8b427=1A5OwVlmyh*km3D=E~A4^>Dm#y$nAWll)v* zUf=k{q2!_aU`7}lqh*isFdwj*uQifOz;zRQ&qS#+HR z*E+3g%B8Y>+Gxr`oLenerP29NG>~Uebv9Jk)+Fv4F~W_HWMuIi^YkiLviZNGvyG`4 z1mhdq0i)<#h>n)=EU6=g^Nj9&TczIW7@xpf1Gr>jsx?|^;Gf}qgL<1gFcR-e7M;x7 zfVn*N5H{MfOT7}l$ibm>`)46<(vc5c$O+@=xEk>-FSmg|HIP1S2iC%ft0cLwN$ z(tSI)7f)#4WVpSFyn=*r;;quyB;EnUH6t>>_#!Q)$rc(zx?gb-i9D{2e2#CMx*#jIA7xugL@scDQ3J?aj#LO zkbf8OmtdQNcq7A3LwlckDcu=^-~oVj^rO|RNvnE)*ky39Jnho5Nf6R^lb*}b4@em_ zXmszcXhhx?4M@2l6yh%h{{LA!>%h2<>-)D28f2McJJ_@-S8be>F}0ncAe>Yx#etO&NbHz)z`ymTt%bu5zFci241Xc&jz-?jlR;BRUxJ5jM zdrHHL9Z1HM7z9zJ29;CN$Gw352iw*|jeCkMg-1MPDBMe$UWUwyc48=&S5U_lEYCAj z%xJ^7)V!u6oADNN0SuxifIdEk+Qz_;F(k3H%mq7RF2^t_CGXU}9!ivBEN~^4>J6y( zY~g9mx9#K>NqTj#V!4Vtnt-9gG!&M{_IAvUglSEN8PUDoBAM}4$_SF1AfJ@?<#ui1 z#4?^>q0I6yO7v}nr0yJa`(Ifnv?O;WURlg0)`kMS8jS;uiP_K*c@bU>n(})0g0_05J#S$; z^GH@SZy{9pf`Yi-z%d*1)#O4!qD&VuBe{|wTiG$&^z47%CiuLJrT_ z)0~~1uzgJ7atU}HXoX)nQ^>zJ__-$S3-=Ltku_-_Y4_#TS~tV&-|1(#pP=63$d-H_ zxsZNR;QkP}hNfIG1%`DnoVCr>_n3>J9>#44et3XHhn=b@%8=c%x$_!e^GY6wD_P#{ z&W`Om>w>Md#`I)(kR-h+G|YI9WqV>D4D6^JHccFtHy<7%vgenPCGjdn4iz2>g|+3? zRLdkVdjWQeJxns*;4hm~B^T^PotIgZdN`z*U(5cJxic0l19H1HYkRQf!y}~SjX!$w zYYl)X^hgM;xU6IIUK=0B6ffaXQt&!48uC_p5oA9a?9z@mx)iX&WBD>_GvP5(@pfMn zIWgj^SJI7MB1Ip|8!F-%?M1f2<0R#MM>3?6N*!Rxe?0ihrfeG*-2W4Mros~h_tyQR z70D$4u}=hcUBA0NZnb=p1crH1^1^bzJ*E2pNGL_0%zKF*UrWc{nhH;mly@%!eqsWM zeJZfa(?%%Ev1{Ymr-|#;sEWN*M3DS+kT><;kkxF9L_wHDc!qQ?aGWarkjh6@kSYI6 z$dAr-oA$iN5P*e9=I|_OdRwxdEWG`j{N{Dpw8 zS3op=u{f=cxgo4Ae34YV*i->1qf!r!dM}PQlVkcU%|tD{L^9qhR=*MNrc5FIrJxVK zku$@~Byr{5NK7gCa>{6v{Q{ynX0iGA6_WAR)n&{(QAsG?&MTp_J`I(ScFJy;>8I>x zc$Kti*8mV{{t)gkMKdEJZE$A4~v9S-Y6L%28~8wB(|=)T40XwN6`Mo?FF_DpkVh31J((3^zzMmgD(FEtl3hZ1jw z1ahHrt0cWnZxP;Gj4-oU@k{2Uz7^D^ys`K+-gd~$zNbNRGT#m+{OPO*?-0-~;ZXhQ zdin1JYfZ{pXg}gP4GW$5@Gfz^4>MWw0aTE9&F_W|qSHeI!L!})9^t)J)Y7v}#w5NM z#3lA0=VQ40`vmk{oF!niCGY*{z?d5^+!P-wVBVD{bRwH zjX6s~8$Nc(a9EPuhamjpfa4u5*cjj9wm%{4BHm%NCGV5q<=vJ010vf#C8YNlDm=SH zko;+o*V;;%?ZRtKj-_*l?ttSjJ|hLMxtBQ~h)N|GwLS~24P}p!HB>h2Le6vhay}0DN*S7E8x_wvpilE*Yo@TMSmjL8`72K1ouBJ5b#agT_LC%}A086}IlhQD+ zv;adq1yxw;e;xWoa==<`wmZ|DnzvmV-;k&`)gIDT6f7!z6H3MIw#mk93>^KIbi8(d zh)yO^<=aph(f`@B#f0!3DIDgg5){(E3;Gdln>Bn-Os_lXpEXRxbZXxRYF+sYQRqnc zf#6;+U|~P_#fisD{~`2Nq}37I+=&H`@FNL%A6&%}OM;O8W6*O$$V}zoCt@E)Lr4V4 zKLxpb;7VS)2|ts7wUL~NToJNF7Fd4| zzmS+Wp0C(+(1W7VFQK%wIL;&dN_=n7T6r7@p}z)n6)qm9*^b%PkhuM9s^$o~WQwwRP! z@?G1`34av)Fj{g0kozZaH`r$DIcqK0-$7%+`tNy5i5vbb4KH9rh|~>L1F88JXdXY= zoSK5Cf z0-aTP%f}>kE7ZDSA}p1Pw`!4X`Q&p!Ac`!5NM#7x#LdETDS1^ke(Q{3qgbh|5VVP# zQE>!{$0PiXsiZg|%A0v>bds!)thXjE3Pn{KWKww)$|sc5URc21e9gkT>n)pJPg-)J zm6GKixSy7}!PiQ3hvVky!%(^JZ#`&U!8%;QNx9b90ev<5J=Tk2ckp^$gBN&_ zK@`u0YAWTAgZy1r_rnJ3)fOp1kab+%KOWy{DK+^GQ$LPh+Ab{HxYo=yck4ZiB@>*$>;F-{{UD z$rhagt0e%**9Uoo;qOy+jOjdD?;8m0RqwvA`Ai`Bh9Dn1 zG2OIuE7nYo3F8ToFvo!4b4s{&?mSmm58%P03wz|}~2Y-m} zJ@<+y)QJQ2+kv^#9Ha4UW*k9fg>ZYJy~iU{Ub#vM#Opo_8q3Eo-^_&C@TZ46i0@rG z%!n@A6T1c2wdEn@gnhl!$ak| zB%c$>$rp3}j;-6mxgvY*@Ss;60CKm3tNOAK?kK4D(5vdp0-1LL(-JmxvE+qy8H;*5 zPh2lJG}*=XS!R%ZKG<@fVuOCTKxpp?S6nhT=99dGI5oFhhOO(#Y{;0qfKlsGXf3NZ zIy}D6{uS;j39n~KR(y6P0=ahsH>VLsc4`Y(x0dtnf_qEX6}}~5sBjM`a8LXU+T?qR zyoeBy37C>rBTc77-%B*_A#gNf@t|o%ITHx21DYR#xRoD<9+ejnliay z_mxq+n>`S^njK#?E3P+Y@2hvsIAECrXk;FF0Zd}thDdutOH8k~gdMN52f!;*t#NdO`b@-k!SbJN`Nv*GeX$1>uY54!{)_TIoAhooBF`T_g{_m1uGiHCpP zM-pE2bS6Y|O65QGK`DD*$mY`}@pa8K!u=%X4ZNy*Wn++if3RcX8au#gCOkk~?{)S? z%fXt&2ZFf5nmLPv@QTyy1Vvyw~b97LF$| zkB&TQJ`|cK6}yh&&L!KyVvgFhd#M{9CSlJtUVwO$MX`#@3wSs#V3qa=Tvp##XQKH> zNYk5R%9fHUWfD~$36+&8&H+E{9}9JVltjD^y&^SiyEVE`eJWgzHnN-$PP^n;1>G4p?10D+ww0RIVdOblh z-t(y#^$A0TCqm&k>05_7Z?){)I1Ud_l8{%mMd-bsULF;n48_tx$k>+k6zO=w!>WUj zjX?5KK|a|T?S!XEYuK^Dxi2h8ys4r%d>Hj~TtYdtD{ir}(5`1l)~gx{q>7a+uE+jAj zs*ht<|2&}=F#w_|Y0n33IX225=@%35yg)>+yUJ#K-njq<(Juu0xHt&1pysaaH;D;# zxoGnusdy`+k-%MDA+{?+m{ff+RLhx#>Xxn?nOnNyC6e@NQXU@j#&W?buUM3NDWsMo z6B7a)c$)XiB;k#SXhwb+K<>-IU6B?E<{EQzZQHf@3X#2Dxngx8K}dfk=x}Uzn)Zdf zN?3cehw9jdC0VZq%g&0JZ8TdJH)Q7>9+>CbeT}f*qb`j3Fp6SkQRuZ0+Mu@5f^W>R z)tEfH-kim0?XQ!Zx4JI`)l}*OQuFoD9MS(WSGPX!4HEJq$7I(l1PbYI1bvlx?^&_q zS#!0$-S8$Uc;f`wMumP7Ro)Dh98_aluj}D0;(I+tMHdJHxo-t`^~7$*8*bk*mVXIv z6W*JT+QN`EIn8$bqz6&dc{_9%OT(PDwu>#iLkgbft|yiz+Y|dvV2_Je(3`Dj;`Gho zT~hEClu87?gi^VP6*+w~HQx=*8z`{DW|};qW41AGPMey!B5b60&{p#?W$4DE$ljw1 zxzzbMh2>?abO<86w)bAa^Ef@cPnYrk=Xu2ZP49=Mk~3TKa3+BKfV8|38d@+M-N-x6 zg@oZveGmd`&#zDH*gbYmV}2VF+3k)2vLBL)_mMFwFKSegDD+_nExD}QZjISVZJqED z(Y=8(ZFmE+Ch?;nj@mIe*0Wd^9{UN;;>X1GI%ZnN8rjPr{o|moOWg#jh^333uh|N= zdGbFY4X@#@=w^CZ)cPc}P8wWhN4QIFBEzR7>N(1k zcfTNkVXpT)4j-tz12D>c5pqX!b6YEXNp!Dy?epnGdjh`<;1XsYWZuHBi0OS0eR&H} zB=M^tj+)~obS&4{c*?Q+HE}&3YhlT+q9`(1FD1Uti>9ZfyVnNR-w@op=sxcXtV#SP zh#09)bq}^C!nXum#7Lc{q*D}B zy1e3k07P7b?@7rUW)*!4CFIZKT_6TN%Cmyp{x=glxws$fy+4^Ud2 zhfZ-rgT3hx{wN`Dc$AH)lM4ljGJk^1`s^OCihEw^^pZbI$_p3H07~UTFO714f!wCP zm|j~AMPhTzF2i3X>G`qxAXM)ATM10{zfnEae%oo%m>o;OWh~gH6RCSENesG>m%mFky2S?%SLnJjsk8pt=}*? zzkOZdXo0<#nk;$oeH8MKAz#kfnjO1nZrx+W_gtc~q=HJ3Lxm+&NZ$*7SXRXOuv7}( z9VE;0HS6 zAaTDEBv9OG@65rD8-O3>B^og%PcyBjhVw zM|iL0ksa?sB~VDeF6hfswHQAb8dKqVf_p=ZirPd3$=3&Yr7~{=SXg)^n)eHRsP zd;mwqn?P~BURtnS3brrTaxJ3{-1Lz31n8{;Jvi#!40gg_;pUR@I<#y@m0Tc% z@LK?0UTv}6U6xqZcKp}I&j`1a%#~POC=;o9D`+CJ3C`d7?gSn4x0aN*_60-UO)r7y z+W=j;&v^3ma9c@uF0xqfu6UpEWLzq_-EhUt;r9Q372{&nSy064B%G}_hO%kyfu@bw z?jSL*t4y|hhyxrx$1Tt(a`VPqK4I%2D-0QYMh+FWL19JeR2M8j%GTDx*%I)ob!Bf% z2Mzqi!O=@MVa#T;_NIJnmKC0h*MF6np!y==yN$^|fp z-VJmy-)wd-SeP4c1g`#ED2>CMZ?3U1A^^RocaezqwPaI@wm4r7I7}BKFP>pIeYTOMP zBWZ2!V3$em?k)juFf+I!7ZF6?1L$S8t1ut`7w##r*I^|qKARGO+#0xf_+_uxBDe1) zuy@53A0H7U*FioZ9raLd za{uhv`gAu;O3$mb**HD3eiCIGkm>c1?6(>=My)2a*7f*@n%x7FmfCbaTqZGZAl73a-&Z-$PbN}v4-_}%6irq~ zYIHH?K$kEpRj+N%3<~DL0Fa_{5VbsPw&|oXh4D-JwHsQJ^SZWdO}Shsp(xab(5d}t z!+Xw7<*{+0Bi)OgP@aAm_51%gsKCqFi_6i94yQ4bp=o_#ki7R*jKTXyW)w)LX(cZPkUdyZ~1%NH+mQul+J<0^OV z*nYu<+jfNm;(CLrim^e0kbaQYY{${+h_`UL*xoglPP3IcsrLr;1g#0Mx^wppJ%Kn% zCEQ0U-d+}A_`eqAhv%2XB?FX4-yvxPvG5)R6fk zJV0D;2#{=f`2!qkJP;bHn&zirexL_Q;jpS^!cgGB5LlDr47OTE;Q59HEZB~}he*V0 zTCz3oBNs|23Oy7;Yx{Sc@QpuAO5PZ-FsD{gjQdwWqu9eCwvyQzZRh1=V_!_4{Rjzp z{aiLpvu4|2hb^2LM2$y6BPR@E$U#aN^r%BtshBX8Kva1&R90B#3e@U&>OnU=Mhae7 zb}98m2|)5=L0)bLd|O;;+zT2WC$9H_n;G9g*__nJgPLcN@&5QxJV9vpqgV*@md_%7 z6!G_hLyadwV_6!>ai;Pl(Y=9X#rRM2lqZ9`abP>#LM!dEdx})NweHNgqFr_w%UgOX zq*taU*$#@IZeiFNo+d@_L$7Gfg`vXJp@7!U0^4nGW_X6si)j6#EqTubZ?#p|_ClCw zpn8S{?1>1^64+}uWXyN1l2FunHgq;%m&(>{yK0uZ#*Rd7*LH3@pTCFaNX_%@_H1;i zVo~n7kjwRVra9S&buTV(^Z!;C36Ax57(Av#<0DH(BIx_+&}eOTk*3#@vj>VyLBUY6&kB z*sD4fzN{V;m0k{|%4BQUf)X##^C*ui1|GGtW(Uo7ju^ znxidwZ|60q*J1v^85_VN&-OdS^{%<%RTdm-yb~Hn1stFd-X*R#tmu2nG$-!ez#V~I z1Md-Rk;&h4Mw0gewcG|q@Px*tq4$aDU0`WEC39Zj`$65ealW>!K;~UOw|`= z?Pr_&`#vMO*Kh(rd^L$upM?~1H)2)Cl7F<3O7L@%@a7`rttSP5 z*tLvyUyz9BbuBR}Vsr{5Wxoj7-jmMh-m=;6m!#;8EAxbxPcIjE(s^Q0>dTN?-=BEf zt`^A}Eh1Cuo5vZI@Ex%|U%`;5gao3-ccHPVBBBqgQwZYzp47ai@d{)55{{bR=Y6F{ z2x-VHZ-Bk=A4usCW*KM&`PBL`RQMqjPQqN*W-yJ$*tS_NmRyM6=i6q2LB)@xcNeF} zDM03h!t|F=$`}8sN`n{kV_eMg&i+ZXgPr{g*0%mc(%#-Lm{F)~PwY>DUBN9;aT&2` z^OT@7F-?WGce?4N_ZK7UGf*>Nt7GO zY*jh@N+Bi#`juA zko+fJz1GQWnXMgciS5s#dsi=0@>NP8YWxKnt8GcLJC9};qq3bSguhC~o2bh;eqIA8 z>ii8l7{%2mu&pKhUHC9s)Y7%Kb+3hT6&t!w+}EUj=HC;V43UYj6$3aM14QSE$|%0VnlO z@!?-+9B51|FtjwRmi{hh9Muovb@czSm(I&rgUeWMA5-jRr)>naR-)br3TE+!OZLRB z1NOM?!g$(S7&pk)($QS&rQpp!N(2g(%G`3Bh}1lex01Y6HixwLw?RT)WvOs(5kc}s zkXL96YR58|&xTE6drgE4c?&8LL;msLFR_Rj9FNxt;RK<*c@u4jl{JYcf_U=a+{3;J zoH=0*MVvNql61WMRaZ0t>0wg+WT=m%Q)lCkaEi3tVWG_gGzE#jM+Vtf2m4qwQVfSa zRamcA>1p6#OWZYpO9{Sm;!|chwH9C^TvK!}EFo?h$OOKT-aiRS+0!7qltYdA%TZIW zB_*#b>l>-ioXl&3xh@T=(M5*#e0%&LccfoOc+ay@F(~h4QR}+UTAjmQCYuxUTiWIY zpAOfPkmr2L#(Y+}P>?8deaPgBw5PET%cD1t!eLaT$RPWMU~ejK_DI_kY}CDZ^BJdy zF$o>o%V(!pdh>A|xED(08$o$R%9Cm@-@e91xUtl{p1LBzYJ!k{I_P%Zk0rOYV{>db zN!Tp3=P`*^yoVBi*fW4l+2<{9$9y`-a;^R>*fij#!g@`1<+6_< zNWK}!c~h2+q-VLKD%@OjuhFjP5QL$^Eua9eu6-VMrs-t3rPzz`>Lz0nZw2Bp@WtBb zE!Yv`a~ks(HYfIU!&WJH zjnP2VbY>8~4e)$^h9&MfTU_tss;H+abrMv`LRVS@SBlgSZ}p zW6Ns~w>nnA?I#Xk4R;jYi}OtY3RJ_Wb|+px&uC)qq4Ol*U4P%XPOv8Nd=QV<4oLI4 zEgV4BI&)f%TWf9er3<9tjfh0yZKyQJr1B0Zr)*gE;`_2;?Ubtb=&EW_FN|_`hTIx9 zd6-NeZ0<$;jGep{c1g+`2*^6UCp#mhmqn%BP_hGY^Kt6z1TC`6y#F|*!d4$Il;W^Q zD(fM^76VKwUj*eN=IRH+#ZvGZ-oB+~GbZX1pq7t!CoLP#_&md1?jok=If`a{NM!=S zmlAA!1YA8?F6u1Wj zR#=!oXYUyP-C3|BXYMJ!clF5->v6pd!fSvpo#^fxYrT@a~S6t7T#mo$M(T0fAifMLU7Qdi)) zObP(6peUx~2jo$(0l}qQe`s1FzNs)J5pP=2w`f6gGN-{ru3b~x6J`XomvDt)U}nL~ zO_pRe!CIY{E1KQ>J%-DK^`;HkIKGTl7fE!@tCmTW*#jA*;F;Tl=#g2$y^&PunrTYf z9B4gDC^ikTT^OQz1J$Y}6d*`%gT5-yf0Q62bcFZDF4>k(Bo_pt$XT(3!viGY%~ng#ssteUfgqRnqamS{9lUIB`a$A*4{PX~ z7K~aChE@*9wEtuokdvSDA(HZ*R>cZYnM9q3LT6-Ra%`?UHQ$~Jb^DATCIxSvV0L^J zJ@({29Nd*fzh>Q}?c58G5Zb%=!Zf~YTOFI{EG&{J@<@oR$lGe?+sJAY9wiAc#3~z7 zAQvKq_(uc3N-xa(A>CO7Dm_LD-c87s5-Md9RUQkK{LKZSM1SQ zQ2sN-_nL@`Tts~^sy!2GBlcoB4`_BVDtVSfJcnPli#4+hA^h2ZuQFE*m$GJC>9_D4 z33wxjY)gS$5Qrkrg-8zIk15!28`yLEJn4A5UsEd=%_-LNmjtBV^P$JCVf)#;x1VE+ z)7!R&7f5L_T|)sN`Gp{_%)>}Tms-U5M0k5ov86izbR z5EDMO)B48Uj1GU5;9e|=jQKoN5{f#nhR&!354IM`m&(uAzA|zs@p?!sOaAO`!yf({ME5Se!V3-pxo-q_T{&-=LKDK9 zq~LwEWqZDa@*f1G;F}@1Der4P*Czj4n^RL92gjW^Z;`6E@|z)4%!NTBW#3BK{3#+l zb$+HjSqgZ4+ab$l2xW6&kVx6LLv|V0R%Ofwp^{M4`5|-=IA8}uGdSl*;(O~?rRz?{ zB>tFJ9$%-m&3JWOBnUqd*<0-^j7wFc%%adwA#{Yrv4)?C>|Jx;?7)nP`Z-Xmu>3pG z9mCs8jmj?sb~~3*~*~>Qv6ew;!Q7w;1f`(4@k{_LG!pG z42T;faxwf{lHS}Qo5b%+C5!K}w~>of{0|hdl+*3h_qX=hV$Xl2vWTUeY)$6>z_cSy z>|i{5%Q&nC!=rGOb$RcFH=yo28LtE(|EdPM=twx9!qvp|F1EjwHfzF;01O|DfKOSWWX$%XWj0>?lgFLh3~_qW2af_uJ{ilt5v z$Xx>NNLoL$9kte&g{2~U z06v;(7}Z9gR-|K#FDLKUuUWO63oE4Qg}!QxLsgY3pwu3P_KJz=<`~a_tD)@(E2ZYW zAQ)1pmq7F?phs|y7W$bu{#h-u=P>R$h)V#1*8tq_`d;W*TM*WY@3nGi9y#3gO(6Bw zL2n6tIrvvtFA?t}rVXEutVui$#HAL7U|tr))`ty3dZV{e>_RdoaU-u0?IMn7vhy?q zTtu@FZOJYfhAd22WvxGnzNL(mNUn^XswpL zUv$8y3ho8jR;=y~;HY>FC}PZMQ!r~+uPKE^j5%pa+G(JzRDW-gjpmwZglmcFjhtl4 z8n03UQRCXsSYwAcSZjkLKy1bk>r}XoWV~TzvZhD{i8|Niy`-bZtXenu;fCu;#Ou~7 zPAwCL3fG6iXqpb=!?9}62se;`=UAwiNM{Q9Hw1rK$68N2g4VVu&4w|tJ-0Kg;yWnJ z3B3`Z$CwVs#5WeuYmEB_BMCs{=|I{fJ!PP?{}iH^XtU`4Bt04Png>zTIRiS`Z4n<{ zI8zc{cVF?enHo2vMrp5EJcIG(hpZt}YN*r+ z1X1G_&{%&q0#Pop*uXJcoU`H5I2QQ2;g(YJM&pcRvCXl2VkN5PQSeq2v;j)ThUy$W z<9G9mPBjmNTT9Su@C4wksl-ua#!>G!&|8yNf$YEI!>9+#(0yBpd9^KDQ!5urC<@&U zLK`i!X>;n}7!sVOgQ{v4I*SD4x0jsvFcX7nLwVFZ3z{Pn?ao1K85nhGjq5>>WA<%oLgU^rV`Z#2`_u$VDX=Kytb z|87}3K)}*YTgs#6?4+f>3g=2@x6@tslj7U36iqg=;2EB9to7k}A=_~w*yBEhL#w#! z;f_-Enqf1GkE>)(>YYG^!x0g@o%w^|JTbioR%S+H63^##YS*xNF~bF7dP|>!yN1o4 z*d4%*rlaM$bxT%)-LN}F_By$WL+LVw{5$iqE%mMKD7Ox@WibM~1oti*W_-S7dt!G3 zdy-aK%=@2{L&kw8%Hcu@4ckgCz>uYyDlGLcg1&7Z9!n`}FP4-y7&jZ8=v6tGmK+v03o?lO5UuK|qq1l9pO#&WnLQ$iRQ(R&4@tnaWSYXYno7H-X0 zD@=;!&0zb&!eLEf14OR$SPH!}!<2xFn0g@l-kGFLgSH~gd#o>>+B?|_Gh({_H(LU4 zR9gShRdWhY)4df(-sg`gQD2ar0^aHugZIQ zxGjvEf@Y=X4J@-Q)p9`~ip)V|X_{oi$Ji3x8`f9M%(I)Z%}YPOKCxr>*d^zmwXfcs zWzzeO;NA>sU}szj!wcUFiP1Y)8UULfkENd>9I}8lX0+t9>BCT<3xPE$XHy5KxmYLO zsLfv<<|X0{d@8a(l}XfDfX+w`iE81OuulqJ<;`}yja(pv@cn>qN@1<2Wx0uir><^m z*$1TLIbteeV=I7EJqXoN%p*INLeA1tSOnr+xLi`+4x64CXbD01y#YT-IjP{IWJ0U6 zEnnHLG?5JVk=C&8Ie(J^@d>I_iKYI1p}*Wbmh4LD6n zdnjld)H|DB(?&4nxWJj&*2z9h^kH>Wrb9aRULZ9e4$al&*vHhRKSF9=g08YLA5r-a zkw&RULTY)(c9`2N7pY3R;ZYKCzlCTl0-Kr?@ zAq{8pZk`C`l!(y0MM(AVBuRPqQ<^|o;}^|IeKM#^kd%fEe0YkG-WS%B$cDxQJ{7>c z4XIOa26%(*)CW6ILTK;hRz$m%Nz{2dbdKcA>=^=kS^M>b0!FwXvm^CFA3KC_W3z_~s@Jzi@OoQIrBK=!ll|Bb9A}o)kZZIS z?>xLra$Y8s$cW!;e0W2tRDL;>*W|5~leQ1N5jJ!8+bg8$-D0-plgxz@ibAi1P);FY zxAiLFy-8vIa!OxO3i5b0n9C7XY5R#Sm9Py0UvtPy*Lauu zgJewNn?YP1yX&ZK5x;Hg_unG2H@GMp^U}+Ih%`#Q6;jLf6fMd&yiFp9`S52+emls; zx<=Y18{Q$hH~kzkwn!jqyb~JA@@iqwwm|+a33zQ@-{``=5)w#$H^_a5qQ!F$-y^

      k`Lob@=05mgxXWKol75)tmj>*h~E*03Lk~SXgnl*^O*g#y4(sMJ7j@u$v2q` z2}6O8L*O{NU~Pw(70cK|4pmQgb7qCxq`v!K?F5vdlMa!-U{B z9I^nConED5T+EQ9?}L=5ZgB|N4L=ak`)n%)oe4tv4?)jQyIV&-^zb9W594V^2H8Ib z`?xsrN9$?(Q*9?C9CNkt&EY3faeH6-9Z29aA3~(&PoaqesL*Z1)1iJQA@9R01>wn@ z)SrX8PQ#`e{9g>4HJ_u;M58a^bjc3e+%{Xy8mYPe9L-fo$ZAWz;C=zW|$ zIO_cldgZrgNk43R3>|X6m)v2$y@E!yKR~T$_&ec`lJM$ZMZ+JnC;th|(#rQ_qZ8Lz z&1Y;wS{~aG{w$qgu657(QHA9_{RR3*+nj3ByuN>xj@O!%CShhs(%(QjvDg-|t#qu- z7Rzu6Kic0VaEa4g7Mw%eUXdhtDgVHwtgkQ3x6j#rUW`YyL+0Q?Ni}Msd$^;WXXr3QshwKC@8FA_ira!#4!brwvdMB`;;v;RLZ|lzNcG3zTbd*rB`uZKumztyka6Si38daK z=#9iqeQXv#J7Kwmyjq*=ct<@9vPZxkRn4}!Fj79R5Z!zIvLs)n$f3e06js>`l0#?A zNMkbamD2EDzig?YQYKMl6;#$MI+U@YxfE7Q%Ih+-NgVjA)Ptkm8t5(SwkBsL!`S{A zduD4T;yHhkReU1_f!uZAuCx_Ii)zF=q6IACfQ0ped!c91l@--ln{8ZNgD1{$c~Pjjpw@XCWaw-Gsi=3EGv*_vAAKeQr_V%LQj_BP_goqe5fJxO?RlcnkvZOOZSy!bGS_rK8M+Fz|>IY+_` zMD`w%wXU#^*F8w0&JCfnE)TR~U=E_vEfsDUlakx(rrf!ds)SMOMi5(@|GQNZoB|w^ zPu^Hs-k2zx_h^+_lsX+!*lc^r?hAM9w5)GovlKiJTIr2sYckIOQ}4JD&J=O6?>Krr zZUSC$;-ooX!%cfzL2u*GrG#*MNqXIB!JuYQv~~}18Fo|-S3W3v7GzhX zWtG%!ggZ#f>y;|jV-ke)EubTGc44mG-4nKo>%H>QCq+}zwt=>~r?#=qg|o%=UPq5{ z`Q4{_-<@bSsdWytietAp8Vu)3$LmcsjEov}I}LrZ9>$0ve>?c6$oWu8w`A@M)-=px z!X2eJ>=bt)hDDPpp+_0aYq%4xp~sbdR(H?Ndbf+y0>gQd_A1;Jy0S}1ik=VARp~u& zktVJIULZMd{*i3UZ?E7`V+SqVIp1*xR(Dz;azWZC<| zBZmrigThiv*lAxgA{@fq1@|Ter7WMxn8bUKNFOKm8`vQiA}-P~N^>%6U@p0=Ymw$i z(jM+5q&JYE4ewsoB-TMJA~&;hH;jwy)r}#~Hj}6_0hKlOTH`R^=3QOO@Phs1lhW~m zAhI=YA{Q(lLq<`k0ikuN8JTQM)w(l{*;&lH8(~UP-ng=&8R}(GYZ_W3xFekAgcab~ zFe43bkRm(Yk4m7B-sGJO%$E^d5iXO;m0tV=k9vEcw|3wV5DU->vy$_i!-aXgt6;9q zaXT&^TLkS(uro;GiAi%18_fxv;HtDY6k5{p`rvFym0U;|-c1_<$cTX5IiVx4&48|O z=T~WP0!y;?l9gtAA&BMqSNhz+2|#2Q$gAgkU-2YmTVxB?D#xt0@%Jz82SoQiziiHX$%QhD zQU@Wms&Mk!9@xnROX+dBbi5X&u#HM`5GNF6?hTohbWYo;);iMqK2mW%be>~Pg?99#P)nA6~pxL zv@-L7ej#;LtwoeEpep^zV`()eTj62O~qw6#6!dFH3>((mqHKY(mj|hyi5X%7?;A5 zte1mT8nMUJceB=7hF1veecMIt?5nH=jbg8aSSiw?5nd$?uR3W+LJ5_oqwD+CAg?a9 zDf8_G+txlAULygoHkFJiQ7R`G@8PvjIx6OWeVyRmH`X_dr#W%22kxZ)q%2d`wqD+- zbuICpZ8r{Ykj^e=>d_C1chZ;LrI*gjcq1-jBu|1S8{-Sp;Z0KYyu8_tYPmoN;co_f ztwrY9Fnrd04(9x{@hN7j;Vshe8ue@*H7Zz?dMl)gZ63ASfp##j-rFQ|nB(9CqQ={y zF_NbD=B%;QQsEsE@al1eTOcyXeka(QnsXg~^qqrN1*R;4lw~PGMKE{UyCmcd88UOMIY!P7;-X|e%G9)|Rno5W-BK`fmn-tX? z4}sB<8WQp5b;+C(RVXTbkV@svOgQ~u4xvmRl9D$eDw|WT{D;h=+=n5@jKA2fi_Kjh zk%~8FDLEx0v}Vl#dDMjTQR>FLO4OkAqj5B{t0&Wfga-K5N6@Pl)b4 zl%cbqGLJX#NeGU}o!o+#?o-n7>XPi@lg}xmK_UIqpclbV!OrNInh&25-V`Z<3RYFsNS>h>rTv=sLulh|8vXgd$7|1zHrFIlK(jwllVmt*XXkCt<2GD z8p4-^_F8UP_dbGxMWru8DX-U#+ku2O8f=8GNX2`R742%KkpETiuN7UPs9YFp+Gx|Ho<-Ue?!fStHH4X)Jc61E;?sb+6;ic2vy; zhQ1U2O~R3mb8L5Q`|jO4w%jRvOK@*3g?1$O5J>(u$SbW);h}+y-a~i(9l_o2BALcI z(Z`|0cPWvk)>i4dGxd%oDEgix+;RItn73z2g?nDr+J z=|2R0b$xtdtUhj|X-laWkNyfjl7d&KVa&@Pq)_6=kXU2iWKYgX^YguR@~4ULr+*4bkJ}&_X1~jP0Urhl4d+&YU*X zZ=~ya0Yss!N`p)){}#&S9S@dggX74Q@thu;|C9J(?|7)dQvY|*Ut-f)c%J6R!|x^K zRT9|n7G+G}9{^lwV^=1A%XzHBAI0?s+b~V_qnAPapMc+pYmFQE?88Z!`1a7v{AcM5 zs~@r*GIj4GQuQxTEuATbMXSF`$!ijZb*4rk{coVB?f)IiW*Po2wD%HvM~E;c@gE?r zwie9RMJ#f#V=Hk?PZ9npviGSbW4?(&5LNyK6%K8!mLknY__y$j8QLamGXDeS$;Ez` z^1c~#^^86b|CP?APG4V;4sqv!{v-}`fDoFlhhN~QxcZPVcK3Vc9_EE^c zs*#GrWAnL?;c61_`sB(;$jqU{5s)~c*d8Z8dVSXB=NNg1BPHjB1yyWDv2K14N#&!U zTn^c>qw6sgx5@p{QuJIrLp~nM50zomItE%RQ|KBi2^Y+dm5w*^sEB$Kh6+oda3qF& zVX3HIHSZhr!(#4@orsx2{s{QUF~xaf7t_uaf_sjy-bTfi zz|5S~QBeC`4)s}!fetH0ztS!T0;#tOdaKJjMJyU4)ThI0sd+8|8S@iV$$p6_>a2mz zGTQ|)jq!o~3~MFeg?nYI^oa{W@H*Z=n&#Lmw)qOf+QNGAy>>Vm6F&%|%5hLZ|6#{% znZtZCY!H1B{YNq;aU+Pw!hg;BzDYc9{?S+8Gl9_K0kz~(ab|P&`4@&0#PwF|XvJqx zvM2RKP*2E#4;(t#F5B6r?SHaG?%G0VhLa@YjomVaO1V(Qr1Z&<-jKJiS@@eBH^B^@ zSorUTQzYws5<*Z{r9L1vuMW-S>3D}u9j85=Djlz`R-6h!1j*L`x%WZF)*9ogn5*fU zQabzx*~g^xX^<{r(X4H^*}e4=*OK00#-e2sRjv({^>RJN0rt6eT04SruOq2pOFns( zPXN9wm3na0yDs!rq;Ga_GcI9WPdeUIwc^815Yn#?IyNFqOp*IMlcqG>*WzEjJg{>rDC@ ze={cP7V&azq?u0UOnKjLDX@FF(Kf!uehxKm1r2tAGx2E2TMO=8b!oIS5sgW_4T#Hg zZ?pTn3+@zdE2b9#IM`hQK<@3pHRoZ6;nH*UY1@l-`$GozOpXzELjb{N0gOk0<^ZQM z+(FbuJc49Q;ua8#@bT<+4_gKHn&oT~C-f@iU#PMTDr;?&$+iVgrDNF?yI7AoTSDF} zLFTL@DwSZ=ItNpL@t^6-{#=jB4AVw#s@4%$jfjhxu46{c^bD zAq$mld1vK65JsUpLFm-}b!2nC+Cjl7)7V*DTR2b37d!Ljei+sJ|2U|?%Q+vHqb+{+ z4kj!%!F&i7dvt*=!1HldPHf98O6`EuiMc-IQ$sD97Ket`EO)c@?K`FEZDJLNcdJr5 zI<$vM^*ckoymB3Lt?ZJZ*Le(`+!ncycSB<&A0ldD&7l=8lz=x+lpXI#CH%rWxCr#T zg41eGjGMo5Pq_Gy`4wM6rjUOL_@$HHQ`3JJ33$`;iijkg972Ulc?aoeqJ>ucCEQg4 z-V;iev3|z`lQM<;yMbScT-$LOYhjWLATKG)mm*kE^k~aUO;;vgfFJ=ZzV9*C!oH} z&bI389kUIiwh?twa^6ivE2@+L#5RB(soMb9HZnvnYM2t(^J6DFl6x3rPlJ6t#=?_r zJMDO3c9uVpmTq@UKRzR+9Zp-_PoZT0AL-1BXkI`Q7qDWg#kC>qVKLu9xJ;VfXOj)7 zl?#zV{2t(sX?riUn4Wn_waZ6yY6{%SE6NZ=DhC<=sw@G0w zbcFXF#*ptD6w>#SZapB}OCjb>38H%yDcSK!_b|xrg1u5Jf^&N&@q3sT-fJ~vN&%G; zh#CvfI6i7KJzdlKR_3>xIQ{h6#Oa&EKFN7~Y>863qe?2Z_d{FB32Xpht0tC8g|oB+ zQuW4%!$uPYjA92NhP}5VL`=`IIFJhm_Po%C0(wl|UGgvyy$+>s7F^z8@^Bzm zrA#d5Ylt6FH#|acZzf!k(WT(@osqBA;bDE&Ws6rJT5M0`9-i_(=zHkK~&GXRuL+gAf!JL^tILy z#8??iLxG7go#9WChCA%5jF%~~DD`CCNJ<4{?c08ffeufRh<76uIfN2~^rwP8YF=q; z&y*WHJWY775lWV9gZe1sKOOudXX+N6{|rGF+0Vn8uxA1`lG|!?qS$uqXNl@PiEPJf z%>_aTe>UN^e8lstyJOQ6li@jndn1U#j`*Tz7~-D`{Hiq27`G(sty-r&doVmt65h96 zF-R#m)ObEL*5*UDQapBz2X?(cGG49B=Dd$wD6=T_Lf#JCP1tXqlUGcJ7fHu`9pyNV z9tZ_q41sl;W7{r28+z30v(364)*%sZ7lZ71H!78BRC_7ZMzOXZ(+W-;oG{P8%cSEC zk_yXMyLv&CcsV3SlDoy+L2zKbLIQ4gjCjNBk&VAc2HCF!d$op{ww4eRyM|Xuz*`8F zF>gR6p{Vm}=&ayWA=sJnn>l`ejWoPho($u=z*I&M(q9X@9h_F5$A+lvtg$*4bEC$* z0I!qUuvn+O5F=3UyHDPlUM%%r&$~-u7&Z>IrP$f<2I+ZsR}ssRAf&$$^i|!1a~v6u z^B;a{Vvq|)ps+51B%A2Wjw$8}jy)cd)a^Wpf@hXBfU2~19Mg)OO=-b-VW?Kb4Qrhb;7pRj#*!4p-HwhGaKF^z87a+vgfNWl?xtkO-PlO9Mz$8%m?(yCJzOwdK=oiy?fEG`!XGiXH$2 za^DN?I?I*PooVl9nib0%faN3$yLz7#ygsIsYh{o_o%ciMxK!6|Bw=9^b=!*+{}4VP zCGUAvd@cPn>V1%UMX;t#9uV(&A;UGphotAOp)0$28DM{@d;(YSLD9gAWHm~HGrN_`np*^_1`Vc2YU+6F>jk&ZVGu4tl!p~6?8 zu+#!CxcklAXKjRUi0}4%w$HkJ6qkxNZUKri z--OIcjV;omPxzKpyrH5@`65(GAZmP@w=&V)H--V04d5-8+=QKl`yGjRV-eVrKLDY? zcOfup8*-ZFdpD7mjpSP4d%}BfIa^X97ZQd7--p1lcDzg{*cd4MKxEHRW+sGYQ__A2 z+A(%47mua+kzk8-wIl$MKL+yn=-!Lz*2d17oZM+MN?TmsY3)MziDb?j(!}L~W)Fo| z-}9GVF4cbu^<}YTuTQjXa{M!?c{erC9}qz7&we9>YZpS9V#2K5zuMU|>BR-MBoLBm5FqheAW3pYtV80uFBdFKKmc}UAn#|vVIT8mw zV|(^4G#2a>4N<+uCE4*}dl+Q@4(!p?xS?yap0N>rFS_R@sc056h5SE&za}nY#aO7E zm-CO(@J3XHb^L^ivgP88*@3C`CukKr_8WV{pQYhFCCv-@oK$M;CHXJB3;op^cjn`> zpMRBt=YEiNuR_71(%+y|tj9FX$r=7G4exCX(Ex??e}InIx!DODOt->6MfL)+O2dO_ zOWwc0J9?tsKyci@1@q=fef?duC-6VKK>K3T`QHB()4RaZR~~K2`yY6l1|sj6QJQV; zRW{@u4PIlIAy*X9CoaXWYHaJc(@LWaRG7H05w0dpuS?CgtTMSE5JirFNU6f$0FNUj zaJUsFpX6~A=%*u)(jn8qWJX23N91 z2Tm8qR)=FH?R|o>=JQmkU{Pral(Ym??^qkYR1)rZcQC-P1q8{iIBi7 zcz(hh72H;MlK9?Ov2^V+C-r1rcxm4f9TTSr>@~DQ_AP-z{?*CXd$+{Q*e!Od_+Hx} zOFkEsB8LjsfWr0qBN@$0(25`Mm~~Hf1kjcl^GVv)-$uBm#P8`e>HSb%L;oL#EAjG9 z!{x2TtWGD(rRia~mM+A53O%#Kehy`>4VjV4I*n=OPqd|mZn%#4Ue%@@@2-bH@^wKj zKKh!4f8iBgPjIhp>!tO-LV~DqeP|qM34S}_2I6|HRNrU|)`Z;>O)fY zbjYT`4SJNAWn;WOX`A1XCNlpmY?i(kJsbx&*)T0@_5X2DftPazE@!2MWtv+Oex4Lg zc&5a?Wt75{H(wMZi6S?F$Vh7c`Lsf~sT8~sLPft38D!rK?2Rd|6zVqDW+0@+7h<>V z&86clbRzqN!sF9+->(E}j(HUJ-s+@JgFvwOmA#q{PrJ?TPWOWf^%TQ_Bg+05H1wF`Dm z_mpJ^Z%*4^!tKTO#>~l{mt4uB)>+URo!A-L=+SWU*TnpRa0jV)em7edqakJbFcjDV zf#nOfAr~7Zm^W#w=-xA@8PR0`x!b@++FoEMdDwW|M{~C5Zr5(cgbz|EaSkL_<~X*A z(44m=xY=;71iW4?n^GhfGKUh|c^7F3{*vt%oPE&+TQ0nG=eBT1iFmzF#lh?)5LNC3 z6{c%A*yZZNd7^vkGNo~qJtY{Ecs_|7M%&od^5tG2qBm0O8++57%pG8k%-Jfujb!XR z)45JJ>=f3UD`Y!9>s%m&@H+!OIx%SuLmVp|XBJ_X@ZJEzEJ^Moki9#y;{3=$7r?cUXt)? zRYkmDrjTC;|3p1VbByw|*ZhL)vCV~Xsd+)t;`F|rDk{|{pk5wyH(UE`&^;+Z?+Fea zbQ4641~k_7PiHQs+iOZf-VxgU_PoLVKN3pOX^56G6IwLwc(axA*Uw1R8%UwnmRA0X zVwp$5CIs^WX|ubp*=^c6?%^^?d0lwL*iaZM?1943wliX?FpRYC8v#2 z3Q>?OrcsXR3Itbh46-AVR^niU!SenaandwWNSLiOLbUAsk}~DAmUwWeYuxN z(FKUE$x*7!Zp!sw!94q<=dEXFYpUf!2}Pm(5JIraLd(YKjn=+!Kmy*BxinnK)?^+8 za}?t|Tja8a?%+(jy(e5QuIG1yB`>-ULHNA^$M9;-j((nO>rVl9t@3R<|c14X8(kTi0rNH!-CjkO4vgIJBrsE9wwAG z&gyg4(44r31GfY@{NwX|gpgk4fDNxs#soeRz;qZ+K;+h=MD#AQZ|rR;y3>A?N0Vt) z7+)OX%N`@9ca^12E*bMG9}D7=g@v5b|8W9(lVY>sUCWld$AfnQDjBvN+DK;Wj`O$o z2I4+J65e1kW2lo0RZL1h5z-@Yh?v_O?k3BK@g!-vGY8nk*H|Wy{A7}?O|i+L#oyvb zc#6p07&Y0E-NPXJsbH_SzjJ~dV`|jG7 zbI;m!))qT~sCLJTEDgmoq~>{ZGJ}e_FaV_JGa-spThO#0!SYQv8y2+mEU9^8$Ye~h zK@e4*4V9I-Lp~daI$*) zRDC{Fm$N|#mSxn|5W)*2B)uD6CNVD*CIhII3%xYT zy&Q7+cpy9f_!Uy{hT9dx_;lp)E5SSs(LE`U$KoHyrbByA%?4M^&~D8kU9I)}HkNyp z^mYwdFA!%)Hd1H|q4N%3%{#PSV`^f?qSC@^r08`FrJg3*lJ{EhM)mr}H`i+m3*mL5 zdLO7Pd#gd@P~r7Z$gcO~-FbufUMpSkULu3+H-cRRZ|05SZxY^X!xXN`%U3CZsPSfK zEKfZ_bbG%=e6L#dxBs*!_N~Bfz%GNG+s@}6h1z_(w$&Pa>{keHlZ5vn_H0zBVo~nx zkUK%KA86fnA{h1T(4N~J6A-*ZlHR0VnDo?)gKne(O6_+-d&J^Ki|n-FT@v$ZK(eD$ z4}6AY{KE?A3YGavUR{ZS(f<0V#OX5E)ZJB@VZNqRt1Qvy7PvZG^II$JyaS z67agaXhnJnKE3=;ko6W1ue`53c zIiVNTyk>h|^5=nF8;7Nv$Ho_$vy(OZdTj6!z978Uv}SWYqg*JnDD_21EsbH^-M!X! ze@Oz~^$)~;!=BJD1A2tDci}6dd2`9WNwgUg^;Mu&j9k~V6GhLsJfWIdV?;d!_S$qX$0>R%0 zctxk(Z61J=HNt-&wAZ{9hP?cuh);zAKZL+&`LrV&!G<46!RuYhmQlmbT%S!9#!wXb zF+_?U62ad;k-}m2kU94Ir(myB$62%Bj9DJ-X0xiFNyM9g$e#D0Qklj(`8m{uOTyHV|qKSXe|B+ zzmbC5&__Eyq8zXkiaJcr*B1Mqg4yUf~)gW>JQbG2R|HU9uj`Gq-#+8syNf0Uf}$z)eBZ!i~1C<^@vLWox7 z$jL@F%s=pFiFh9FY#HlwFNOktfxxl0H)k&b+QMH&_PoNS?L0Ik?QfvjDLDCj&#s;1 z6LSy#U10CIWNTh>E+AYrp(ykZ2#xeSweU|#cx_3x8+`PH{|oTdc0OMkCF?Bee@nsZ zFiOT0DU}nHO8Xi=oI>4OPTQ%(pG$M`*Oe)uiBcPn9tenL~*qAb|v4c5+=~PdHL&ua=rg zuKF}3?I_TeUe;~5m<6R9juy{b8=w)1g*lnWfH^u>Z_ZBCnFH8PNiV_1b-FQ_-m>GPiFHMrxzD?f?ZhCPW5!XEaM0Ebt+ z5ej)8Vw268ut{|9NmR7QAdq`JxTP!&6Y{}Wkbs3`kK4o*XIpf`3DVm+q%L_wmZ5B3 z$%(iUEXCs-k9}4dPLiPaR!Z$@GA8k45KGVOU^qp{!+T~2$-R0X_dq!HN^;}roYw#s z%YNq7n`%yD$*z{Y!r_{d@ZygO0KcoESmyCYPJ`g`>B;fAv6jVL@3GafYe~lQtkH}L zWdOO?2G^nKFkGH-y9r8$C_bEftY@ z!0oFJV-oN>cNy~8szeO=Hv)fI3R0fHiSIWS-1~kiLYqM#_jGXKl1GNx340?pA=)gm zH_=OWv2K?cWS>E{8Zid-pDDICa+MwFDk;4GCZMk?=f$`G$7Y*Ym%pi0hE3^mtt#77 zsQd>3c{?}b?O45^ww#b-U4*TMn@h->QDi%c?b=zGr9&RZK zZ%R>EQ=}*gMyXpt3V~s1WqVJ!wImi17?!QcybYKuW4?_TZ^;qDZ3Xt`bo6bNA~pL_ zRJk2h@>G9!W1jJ%;r3GTzT<4l=aUPWLy5B>vBIiRToI3XG43D%?>m+u6;vXI{4L-w z&&oKY;R`Kw~K@3WNzza-XxrTWtcZ1^PFDh8R6V3!#sn`?O>jQsWr|tZ;Wk= z>HjXo@4FYqQ!(68N_Ta-gaTy=(XjeXEFXRGpQ=@OL3irC$KAY(XVlAi7siVb0sA;!tJ>WR}HbXEsW+oYgx;_xgimMS&85+&hE25F|?sCXV6$zeuP*l1UN~2il-yiB7 zJC$o@4PIxjuV-%QpP zM#8w@-lbQ}`yzwv39yf5LcDI66x3Ta>|5uH_5?O~v6ha-0%&vS=#;qL#U?vGiXH~p z(_o*f2_^zA%af#o^D}k=55`wB65KJQAs1wbV|^H!*U{uXCf7okL)#xNlcaZ#6)uU$ zAbStkYkGDjMQ>P`m4eqy$(qkmC2UTLEGo@GX*4DCW=MhM0S_&yc*Eq1G~k&+ejEIJ z@|CR?HD+yox!;1+?YGd8jJL5OeR>fPZzyim>qAm=FYk#d0^ll4E6qV--n;2bGf*%{ z?}A?5^JFW0=HZza-dk!O>gyti8Vk@ELGOz!nG915`y}8^$6?23)B_-RKfs&v(DTlg zIp|>TUY7$>@uuS$LZw_7BvSSuWY^^XX^Zvh^9>8Y-F6^cE8HaIp-24-nrQSPd-D zM*_hQ1bAuc1}59{;X%TB)v2QIFaW6!26Y*;qR#DMF4cz!>-8Rexm2S)sSgEpwLbY~ zs97AwxD5jzCb;*gE4u1VT_CDF94d+#!C6Zdc5W`AM;x+94ijOG%mslc@<@oRNm1!o zB8BH?vz5c6B;zfZCu^!ykf`%$=oHZfmcwGEJ!x&e`3S;eq;#0k1!Wr59t*XVlWjY? z+4kn*UkLgLkCTu$Qp={ir(DP!N<5wt#c(J77M>spZz51pYpp4bf2G0`p^!5;nY(PE z6P_fxH z6~s#+krJPqZg`pCp6_Jfy3L#q?0(+fgywLp$Kg|#*)n5M>C=CMM7{n^_N-MZm1$Ia zBh+kPQrBWpEc^^VYN0tjGaue0Ew9&3)>Nt>QRmIju`T&y7OfiIBJ>T1Ojq-wff*1R z4M}<{Nb!A7G@5p3hG2_)->@d}?I2IQSzy=cR>D2=7fTEBquj95r7H*`EZv7&Tx+-KT^;%u$0u$o@3g>oNAVb$tZW z+CiNM=56~mzP`^$#cMk=fR85^dTEsVEamhx)2T?~mdD2YN}rRQ7hNkr@9XHnQSbB6 z+i2|!?h0d#^y^%`h0QPF3zGDh+cb7!Zc=;!dZ`v2Gi=S6%K7qK)=p>YJ~*QDqTH7n-b1|aq8 zpsq>%zMUhsXQ7jJtA0axuc@gRHIzxz`6hI7sLw)cvK_u9zUM)yX#PPU_uJsEDw-Y} ztJyAM+oU17H>%CHd=0r^yBH#fBHx9`atmFyFRT_fiG5FeuU3^Jp8p?hXB`;lakTNa z;W)M|TQbKEr=d&ZaEgv0abv1whnnVk(w(G>Pj{C+$+l8vW@ct)`pV4A%*@Q+JkRdV z3-_Mp?4*A*xmB~zZ(drMot@R{RQ)bg=gY|`II(7r#A7z9?t3b0JyX>4CZ`1`{Cx`R zw57gZI@=$pu+`aWJ*sO7Dpda=)Z>OGiRpJgQfbS%)HTNMNPUX_7^25TXW~ZgVAz;! zpdR76QOEs6QC4F5D8-A2gr(Hx)Z_FAC!e_Asont&p;4QPzlY*6$%sKZz(1&{RN$*X(1Dyn zCyn4g6k|P()cF<}39A1S>eiBEUGi)GOL@2GlB7t}j(_tiL%f~$T$L-+?mtSkzU_ig zJ(VHhzaR|8ywo!Pc1>iecDGs)cWYRmw$|nI(o$3+<<_F6XWDio*JrKCZAG_HiZxv* z=*SZtG7bS_-oDCSzgcm-?G9CSt9N0oV87O<>S0h#M}JEm>#{psl`XsV{msA4&>`Un z5EdaFvp=mBi-!2+j#P;C$t0CYNs3X6prZgkg@AXyW0iMp%b}ShJi>%e z-ocJrq0-jt-s97aO1u**L0PJE+wAbntx}d1*RKkEX|$BpBk@>X7xLhu+mfX=-=4eG z%CZIvnH;(q5dzi#Fi*yka{bM=_>bIiDs2s%Qdx~-ZE7A5%_TUENIb9DaZ-Xar|LHh zoS^cS8$K<-8 zjXw&$FiKGQR45F1<9)W|yvyhFrCLog^*sR@oAzzUYEl?V>a%K6k_eAPznF7$86j=K{77}6N?-2 zq4J2LOO#^0AgQrHs7%G%LvffxDUO!LTJ718aNONN#VxOAQlHn56jO4<-I2IBuj-Yy?WUfMO*aCcFJ*=~heM5H7rybi)cd57eV zx{PKoRf6TV%~$t#PL2+*hr`}6HiIUS>wz4U@g=uGFm+*l5^skjx21Cscjr!mnto| z8!T8F9@kiUvsUi=5ryERu*@*`h}GWT@t@RFE|ekCjP@1$pU$5;0c+bA+4%f?=n-TD7Hfm z_SqOGm;7kD)N&JN$CdZg`5~xDt!tnaQ)D1>5k{=;TGg~>W(6a=s6zd_Lw`tcaZ7x? z(V47|!%KFZLadfvtMjgCNsc;?Vr1O|tl@Cxgmeg!Y=279`_v^|*IlnL>roe+S&`Ku zs|?m)*mnZYgUn27l__^mhoev-jZ0D9-|BadjME2Ed%$G?-Cc- z+Vu8s*HDx-RE!$_?)MTTbPCWFx>KaY#JHigbu9^`ZYs4`5TjP^vCSkeNp1_=dG#@$ zOH+b0U0Xp`&nUJ0l_j;Qc_TFA+ayyjY=3g9dJu1u*PwO>+KB^2S{50YNgFk-`c}iO ztrBh5QdA;k29#mUBIH{U^Q*0Wow#PUS4q|oE;AkJ5+Z0HKr2GqEK>-H=4({PT5>uE zj)AFl+i2>A5i(b*&a~IM`>L$f!KP+cs7bB+L2HT60EAD)pU_dBV$8+; zRoZ$CiGcq&l5$#*#0P*lz+4tc6g5#nZXfqRMOj};E+0msLG=egJsV~!v1F}%Xsu=N z_F%V+8>CT6~>S0+f9iWDx~3&J*A;PI$QL zT3u}FVQY1&J_4$T$uL3!cplleT+TJZ>XdsFr|USVWlL*fr)+d{Rrh#B zS_6<+pTtR^B^`q$$C32dvTwys@AKN)T6yg zQDi9p0>~eO-RnEoZQCICzUp46>Xyegv*|t7r|gSpb#%5)Rrbqf!xyWr)dRlI-+g0wzw zl9s}XBGpKH1857w#Io7Cu|AH&ble*iWPNM}b5fNd;Y}dOriezXQgv@uUF$Q;H4VN# z1>XX};Upaq5A_NsRKHdAE!TWfpLZxJrsRlw8*r&}#Ib!`;&$JzBx@d&c>PIAie8D3 zcK|Z99^SqklE}K|N|)89S#uR4+b)0wVN08L`n*pSt?lAgX(uxh>#BhvX}>8 z$fQQLNyMM-BZ{$Rn6XM2*|qk_!c#_zq>qBMP*1&!X<$F580)<$7=5KOSA5)Gh#nm8 zzr))8G4}~2ScBl?E9O&4iYmq{`6N)t?ki!IGDG{6>K{OMUsk2sr=d0s2N92HythWmm_Tg`J(v+p;W zeG!^5cds1&F1^W@RMzYneHIWty?~$ut^G2UeZY%Ez9ZTCSNc{C)u^17pz>FtoN-C` zg?Nk%-Pe?Hb6gUMAcG=V&*_hLl zpDD&_vSLT-DWQuEG6ejb7ZWxP$##X7tNCq5a%P26toNW`-%&=2q+fzG7&0tK-l}Oi zi&qB6?pKPjh6n}O84?{beho%+$H)q#B(3<3%3B{xfzOr_RQ@fL7X^2O#K)^I<9DiW zy;=pnjFb>5zo-2YOfQ?NLt^qjsJ=D7O2y!7b*lams$mF;lcxWqk_R?~l)BXWGxUbS z?UL|AMxaX~1MwXGMWwBGrr>U8q)7TJNQc&tp7C$0e1KjM)TY?qAr_Aro2+zvG(gAw zLzS%;u%MStbjbK87;)J^-X6x~|4RXu)1u&}1QDwL8|opXx+G2u@vF&KB>&pu{-X@@ z#>@7ON;Qm4{qKwvN&f|Dna^N|nMc(ht&7c2h}^i<%DA7wnimEM-)u7>Vz(TLw-!l1 zh}_eZ{k^wQ!hsATQI%?kKrO^TOa6+r?oidUKBL^qHnMj3g_gshxiIVj!B9pHkZX;* z!&TX8j0?7ps0^(>0)&B(`wlT}%$j$k0<2hxf~hm^1G2@T zF{bVQ(aN*Jathl0UaI8J13yU-HrA5q)%J0Bi~_ADRQt(nuNj2Mm=DIHu<2eR2e4(o zQIiFf1$|R`@7RYBDFdJ!Gv4;YPzih8?-r`Q^_6QiUWJxKgxZ79J{m{*RBLt z%2xDcYKv>AOvS}eoUbt$~`RH!}-^_V0F8%f;~)wZTV4Vr4R7K^o_vM9i_kER{c&Aug`e^0@5elNAvT z99Ju=*OFTji~*X2f=pjky8bF7WdtL7^Mj21b9j8dEt4QkSo>fYYxZ{Ca6k5|w zOvS#D=Q^LDEUO_YXo^!pq?|~KzWfqrfh9N@%ID)l-17 zXFzt94?YMxmt{wqB&w;_%0AhxJ5xEmc8SJyfnu9-F^EMZKB-ADB}d%Zz=`9u!!;^t@qN(c?UZD>Ez(u}dzRB8<{V&_?yFVy zNQaLhSoq1V)2&sSbzM<`q*%zw5qK_u3lf(AV#?fk%CQ>Mq#{X45jq5%55Qnt*{f9B zV^eFT#c>xX!)gR#T@qqJg$TJ2ka^Or3YGpLcah4Q^N@yr_Nm&`ycn9t$aV0f3fYO$ zc9*EA<@Al!{9Q?DQ2O?eK0@Xs6-l=5?x3pH2bo(P3Ide8BP5T;5*wxs;(fZ4s#-T7 zvo7arQ}WJ`To^npH_S}6y(9K6Dr^m;3!F46L&7=`26e|v{NXNDgw@x^D*h2_DgGd3 zJt)U(k13hF(-c59#8q%do+n49QG zW$Il9y_l9^&*-EaUU0c;T0WGRE+LgVff7{S4CSHl@Z=OaS@((#y1OdD>YNImeMX9; zD?mDm7dYOLjlf$}-g;+qHwCq+xD|>E{AQD;^mY@-UcXIctQb{(fL=B2>hq#2v z_>2;m#Yy01)9p}stF??(*($_B)FI+-Kn!8CDwb#Pu2(_p6H7hiSeu$lJA2)@GORJ;+)G=cMbZRFiF+pOeQ}eDv0g)+;rOpO?#T&4WYob} zfI%FR(aHXVwd;1c8OK^Af=)Acc*GTz;!Nb8Q~ z-lwz*#qS02MM+$mYmLD>?cBW;VGXRbvVUxikl{1z5)L`%?gLJeNMAe|64+j=*7u5E zVBXt^ojW-db~O-yT~Lh#Qhayb-bBq5R6Bn2IU_B`JrTyV^WU3 z9tA@-GbqBkZN&>5i4;i>0_kwMO|luzJy^A^@lfum`}!1o2m}w4t<#NJ_fXZdnz)=E zt5fb_kXs>+o`SRA&=9(ZD`S`OaU>#rp85uT8u17iarF2Ub0{DR_mK)Uo7<@{)z->X zd=wN9k-pkJx_>DNTk}a(_#H@PN<9Wr^P-ag4)n*Wq%|puwI~=1(R=nBtEQap^&S=a^%A>MJpt|2ZT`AV! zNo$j$r9_LQXYg8X!l(v;sNqzlXDY>Ns#w#%a#;0h7OEwwpqn0(<>Tk8YOmHcafsxW zA#zfLynv9@f(TX;+zSXN^*2cT2mUD7 zdTbnDL4af=kWC1(d9LCrQ?dg=0haeMmFFrYK+|6Z<#{?@koBZjtE}}!X)T(qrKW$T zuc30-w1&NJ?zO6H8Qi_=4FWXyb&y>gUm{sOivhUq^(t?@E3tOweN0Ia^ag;ui%Sx! z$`%8aw;J}Giwm`>_$DZ(6ZTEZF&1S;u)JBtt)X4A&_U~yqI@wyjj*=>c02|Pl4@P| zZEe`Tb@No)pB5|QWJwh9RwZxkW8eWTa!p|x@irK-8vm`Ir6BjAtdo{@U@Mzj&sNL5 zT`jP}A=RT+WR(5+(0X zA}^!JOsXCCF-7)@B8a_SqCsd<#3(8yN$kgg#pi&|b?IOO0nDsDaO)FY4pBZnm)spSlqi`ix+^qYCqWb#Ss6iM%wjxPlzX|Lr9cIV8Em%#F zFyFe9uJ>C??zNbr)q5;khRiJ~QL?`c_6c#1wGVVI%N(|WBd*FiV(Pf>s0G`M&OeIr z%44CoGR^od%t+kb@=)Y^pK{+*sMS2^kdjm_1tBuN55^*i6m8A8G0s0-qdp~0vmYqM z`uemoDOwVWmm=qf;KW@b+%@NZqy%g7P_Rpc5>);%lm~?tR%OC3_Y;-3Zd0sF`(vSz z$^H6MK(K5$){vK9R-IwP|uJq@)P?Ge86IA0r8-oHc_aX6`QvvA(H{=Q$-o@xMZR zC@xq?4EPo~TeqaB?EfQfb!sKjQoNBk}TQfIRXLV{G0?noB zi{x;+-mJ?c46d(36=3agR|VdGEoJpcJPgF+67T*-KTF>wr%#k*m+qABMBL$uzSiin z6RAEI3K9wpIsyhI>*A9QIZ3BgmYtvONVUQGhI*`vCt4&O1=13|Inss6)*;_4J9o6g ztofG;WbbuGj=Xu`@tei}*O?iYodGh_J4Q(d^v$LX&tRpuOrNgwrzOVByM+quHPDRn$$Wi+^M9l$p@V>~ z3bEe7b1a$O7)(4Ww^c^+i#lG8FiEpg`S~)C~bx;!|(CRekFggl$2Ay2nD7DW4^!Lai<5$+z~n)qP86TwjR- zrPn}u#l}i!c7yESXiaoV>pFWjNxLpP6h`Dg9(SB#ERSSOM9@`2gpa}-C(}9^B=}QiYVMT26{Ql5ODfa2 zQ=upeJF;TeDQ)B~gDUQ{yR9l)vzt(v>fJ)5oCZpg8wFlc8O*!Wm2psmq)yNw;tV2U zDzWvLMO{&wb!YaCh*fzVu@H5LILlv!26bUKjBMU3DZ;u_IzjeNA}2(~*iV zO$=z{I0=PVx2m8mNOZ_J2aNghVaVf_OuceIX4|b*eQQdn^>`6lf(q5og?eVGQ1;7W zE$=)I13W*`C}wkbGV0 z?S@{GYCJ}0x+_)JYM9j2tl?3Kl&e6|fH>^)xLWls=U9w^qkJrg1ck4m`JsQ>ExlS; zhrd?ktwyh)Z%cH@xH}j}Vx)>8o4Zb>tvj9><)SX-?g6=zisw&>*P?+Cj_Vb5{VhF} z%93bU8HOF@ea$inaQ9TY<<08yPfK-5Rv@|1M-`Mt&s`hxH;$^ZwIUX(^4aHQNEid* zNEw>Z$?K}BY_)=^a~D{ZYBi|M^N|<`?~nr`RM6_*LM@t_QlRbxbQkA+50jFlc~bQ) zmqJ%<><{buW6h_9r~|k#6ORGf4N9}d-&)n*`gD+p2=Su!fB~01+_}it<8&7n|=ztNA9BoOUXJx`otG?v|Ea*_Z2DN9XJu3S~ zYT^as26wktwXN_s)bsC9T7bg)AUqu4>aFigR%EufUjfz-yukRZ7Fn}k9p+EHyh*jK zhArn?V0Fsf3v%%YS(!CVwXjBiZxyzNFa-nEs6zewK!1MlA|k3zatGa4)vf1Q;C=KO z)V?3IrOCuuA9C!}{Z-a#;c|B)Dp2$R5Dht$nAYWiDr?>3+`2`Q)a60YOxE1XWywV+ zF6RfUvek(77@7nj+WinP7KCJRGfk$5a}QO5HN`B*G8aUs{xGP|$71+CS812<5BG2t zw_Xyh$L~i=P@(!Gpq?M+dN27S6=F7(KI>=iac<%ve-wC2k~k-X^vVjMtiQ`x<+u2~!wU=_xNLTmjn0z!wmvaA?H;Q*Yc5sLK4hdwdK^f4WNm|f0NDWX zc%@j~K&auHx>$%hL_7hAK{-xHJe0@;%k==+boE4KSf6$3D59(e^`8WNghfcc^pRcL zckGaS>rYl~YfhW$kdyk2F62&*B{n!IaT@;W5E3uJmglHKY?4CkI2woVz@E<9_#A)wbL)TAepYODQp${W`D^>B&GhS)HDi$%=cu zVyt;>tVv2N1Q`O}0KkIi?m)Qe*k1QW)whNYu_EA>Ht;#LFe zqc?n47k*QM%5R}^=yd&9{;hp07xdMXpz_1;+Uo5Ju|_9p|{9Y(C5{?_FeI%=UpK4pLRwjTfB|-7`LwuoRF2?!* zRyoA`-l)0{^sSysdYqA<`Ujz&&bc^Mn;MlVlKYVATdvR;_37WMCXy=hh>xH|%!hdq z;?5YWj7`?KhyvfnM-*c9L0Xj*ElK|>;|(7s{!uWF(vQh~OvSAMj@A+1lK!UMABSe* zD3)Ga!UttM@Cntn?v9QCXtQFLYJl0P`?}5%bRFmPCsbO!QbV}15>DsRo8 zQ-gP{PSwvtbpY`r{QJ1y)A9uswm!#9Za}lt5WT&P+O_{5B&B8xf)3+@AFo;uPNa299)5QajWT2)Nb1SRxdc*|df$bf#@x&OlheZ8_f*sx=JaZCMTPR;&zReA zKTzcZHP;7-{SbNsxiE0|BUQB?XROJa91G#!H2B8=ED9}eZGU}Q7802&|0l|@`Uh>c zlO{YRM9NP=Ss=^Ud|_oBvF4iYXG*YKx~cW=lmL}~4&{Ml_dv6W)7gHZ($)=%HF<+# zLDm)^L%=TqNConC_QpWoUn#_zXZH%^RV|W!4bq}qj)vCg4emDzvaTjKQc6-ihzuFO z1!F-RL;K9??suwhc^``g;$DR6zlZvuwBfQGhcT1-_#8Y5Ti&x_n*FX z3zjXQK;8dBcRtp=>eDhxk`uG!=!awDh6u|q5$f?>$Y@ae)}pg}dAe5`t;=8+i&3qn zocD1XO|i`O3uZmL7!c@WObRU}`n%vFw2`GcRUP>GcJpe&9{N3O9JE7?p4 zwxDlL(fUzJiJSp&PSOErNg8FWw%6IFm(!<;x`hh9TaU-6GCjtzy~SzEAZ(F{)h7I2 zaKc~@rMydSk&-PBTdFc2UaB0#NLmciQ2b;zkCeA;-nOxP*WKH$a6`(ndiq#B^ZBK< zh#Dp;EV4_FAx`zZqq6x*g5Q=X%5p&$tkGwrNLmWg61m6dj>9oI(LL&xDa(30A;3#2 zRw8OSPz$(WVcD9e+fC1!cRW}{aSXv8rr~iG@s(Qnnq@q@b8tWlSDE_7fwNHk2Jo~I# zYe?piQ&ie&dkbb5l%VpdR95d!vo_&wtIF1ZR;&59E=K)}2(?dxwjRn^m+uQ(h280@ zZ@tv>eeln?3b)XP^|8dOHPKbI9VxEDDiw4k!zfBrRAEb!(Mi%`B3Nyp*H} z9Rkh;ARZhi&84KcXoY=v=PAZ&l?z_gj1)=dgEXM&&d2MuhNKR!7_H?}6;Tl~hF?jES&$o_WbS?o#Dgqod5bR47K^dH@Hsxh$6(*o?bD zG1lj&HF>+V;V>w{T`assa?g z8-$OUaBT=rI4qOzR9$O13e|W!()B4j0@=mk3`1sMs5m*NLSh_+-GZm}xrp1DM z-hPaF4Wu>7ttk%#(>Qmn%3IAws1cq?h<=DVwEpfu#6V=(c0MM{=GUpdY5t5X?T75d zp~vtV)V>F_m-^LhoJJ`w!xg$}iOMFmRajFA(jMwiv5w@8n( zkq6>c`{op^N~M*^seyy}ki0WBEN70Zyfwp0&4)r|Do#Lgp3m1@VxsX$m9!kVp%(8< zN`bm{=*GFwzIs>zc=HTEkQ*HD7Wd!Rf&Ja9DD;u3ABwDmC*yfj{e+EdUzTDE|} zl^`j6T~mdv%@?TT8wjmU$rdEx&|<4pk{`(1hwP?p)wZT6TAKhZC0Zoi2vR1pTUykz zbBeJ(C>^m7qa}&#h7cJYFjj_}DDRPkxgdu}t*Q=}X~kK&u?ikVks`S>;4TjDMTj)^ zZ`EGqSs!xYTgC9_EFX#mZam14OD z3MoN`fcpUuCqUu=#lcAK{;Gcv6QCeM^#?#*cgme}fe+ep4^(~2{(`oDG|G_hAP^4U z@AKt7Saq!-SZ>pYuTQ~;KyXd69*|B1BPZGUluz!VO1h?pOZuQ!78F8r9tLxAt(Q-3 z_;5ABdeyYODrmiuEQgN(30)gDX^KnKJyHP&(6xoiwEa;~)VztwVOEb;VXHxu=7^!F zG&~kmh>*tsB1^Sg%5?a5+dWnRR&NyQQ9q+W?Z-j;1YKN6txlAdR%o+ZCdgaSaOPLq;CJ1g!Z?!4 zOWpFc=V`EKVd%x=F?D3KiyS!hbR}D@SwRP=G9)|$gaPTtn1Ml(^ zT7lZng7%=c1@VV_wyInGcdX)vSz3xeNO=w@3lKevrxG^QJXaCc9ny+?N43Q98ugzC zeZM15b}~<$ElhOUG(djs-m`=p~Ro9IH)j*@&T{@@%Htmz;gJ#EQw7VpfuJHA^iwadzyEGV4@r zf3WAvXrBkc^}Vgj$5|hrc5hX2YgD3DbFaJ?BI9jfERk2I zjSDL6k{>N6xy(1AReZaWEPt>Hkff!I9C_~mZ-I1`;;NT?^OezBqvPJG9P4(WA`w{y zO1}%zL+a_1;8e+_Q>KgU{}f;?0BChmw3HGf>)l|j$;YtEDg{s12%m;~k79du^|7_f zE0Lc6V@{riycdQr3cTKlxjNnZlxyA3OcZ#cKRX>r zL3)?85;-3PXD}R#E5l;(@6E`m&F(`=vHYS1N9razWPBKmg>k$h6ZQ^Itoeu{EJss* zz!D{>{!yqOU6)lSiKvwI4fiqCwYrYn{4UX;@W&y%K$gMVvk3E$W6H%l_KCj5eMSE! zXEZ4ONs5P+HOZfV99QmBDsJ_s1xs>4gzBG$x@<*~%v-H?Nlp*1S8FZz8I`vNSg|Ip zkA)yZz-Iwi7{_#Qm)+2kC7;hJ!D=0~DiK-=LS%d%j3s`)C61G}Y+EkNHz56L^8t2Ae;qf>q<Rauo zv@G1sM*Ubwl!*B*Fh?R7Rs7U@-1k)6avo*^Sy7jA--q0?5Q-vB?hr2r$D8D~bU#pe zYiv*u&C(@D;txSYN_UxSPWe-pf20&^(v)hTwK`RQ4Ap`7fH3O7qy32rTMbdHnR&E9 zhJc>}FhBlhk{Yeuc0W^js~L^;GV&Cm_|G8@m+<(QeGMyJ8KL5u=nfQMbpS1MyB-v<+E3e)bQ`~^q1 z5n^MZ-pMNx`(I#X$#g=N*e6Qz@Pu@$)o~Yz)t1G2B*g+nD1K`Z+C4v7z_X*=ZTc3E z^)i=15sDuI@g$4C>=IGs16UQ{-pJq+I}D0E1fF}VF5Pm4J6tubaYn(`DiNTiM?iOx zjyHV_3gWwtRCOy_Nh|YaXi25WISQP(Bgk*+aYrk{nwW%LKm>%}{$JFd2km)2@nl=l z5!c)?s%+hwu5^_YpzM6e4v9;UALoYF7~BveaBaB-s&92pu{uqUg|rq?13)Dy8YQb@ zqdq?C7AnS?K4@|ha*~o4B4ZGY`JMWNY?3PZf4M~pu%1AuNBN8fwHHHsAeHkMM{2tv zRkuczshT9D%1|O>7>tE}wo;N$t=W+s+cmdDA=cO_RP~qOSH4t+gry*aFqL*&mb{m# z_5pmg(v+bx6_-PCd5EOL{6~I@KPpan+zJI)lbn21UAGv4D*;^Ln{zBZ$&m*W))Y ztNkw+SOpQP9}jh;6=+L9hwRW$U2D%uYADO9R67xBOW@MMj{Lni)fRbPd*V}+Wkn%I34RZ;kk=#fR3I_z59})xv!OQ_Touwp zgzU%ecB*Sl6w+>vE*&z?0VAF&DCyVTS{1i$Y*#mk^z9TqmxfD2J5`rAV0uj6OPpxn z&QopcrH*y^qQ!y=5pq5)7k!@&qUJ78^#f@q4>9$LJBi-B7hkGPeSC1eI7{mmtcv7TnUF9U^WI#9)~0?zm>t z?rrOLU9)4OyF=fMf{AjXL&hD!VC1(PEmY<_)ZIz-t+7<5k5T~&-x|35t<9Tg(T%QxfYmrro8=wc1Nn;3LvfR*%H>AnNFU zZ`*B9$N|62zIEFO#o@5Bu&-7hooO^Af~JlE&?XhPUgd(7iL4f_zYMHp>c#aLa^zi> z+=6l_u)ADwy&TP2wMY00hZHJE=4LP#;r)^3rP`2bebXQOc~_-bu7J$TmsKI+3Lxb0 zy3Vv87kMl2l_D0YRW^Ef+)eX5;=DRC!V?^Q>(HxNp7bitT9-@vP=-6`UupAIx?ez zmlglUEs{l=j@zXSt9xN}f0GJ?$k`3f%4Ccq!2{lh5*NJOm5Q@c??)99V*w6~oFu_l z0X(c;s&W~ZDLb5M65xEbA}!yY)+bX-X*JTW0c}8fp0MOw!VuJ5s~qcvNY(WBGpj_# z-NDdYl#;6x{_E=$VSS~A4rZ@H`FlWqsehHTYg{sYan~!S*EbryswoA3Df~FP6v-^l z!92&^^A={FLuLicBbyRHAlaKcZd4)GXcbj>MX@gB#vnHU&xAj6M|Q->>SI+^t#2r) zN$sRaAtGu(4CNievO7l3#ZZprDw@kH3@MT(K*BK|K4N!L)vcLX%43@Z=+>bYcXY@> z?Gj0HgDP4pX$A8QO3=YNSgv} z{$#DvzOjUV%6!T-m112;sE57o83{_aAU%NC6lSKcVq3(tYpb|5cGa4^1TA?T5^e-x zX&8U9=Y>nXJk{AdCW$qilFXacozWq$MqUTJe3rk_Svd_o2765_^JZoFOKXxm19IG1 zjJ~cu=JqPf^0M{lFY7*o-9Bg!CLzeunV{hItG@O9C3X3zl46kJCCmZ?&qxD)V|SCP zTi>5lp=_*5wR=GgN!FP`#DCKFR!M6B5$i?WM1B_#XnFCeT4;l2?8$j6sm`+zPYv~K?OC|r}2eyyo!hM zDs)s+m$;vYE5&?2;*y_#L1IZnsQn0N&-2T@;=Pj5&?8ma9DZ|=IL!V1ZzxdrQP5qf z0eSG%$=E{9!IlF%%RJHd(aP!7zQm!5s_+uD)U8SKV?aKXGqJ}i!dlAAy_u*@vByDd znRo0;w;%_a$#6tYp!dJs;}y`KuQ*8XI(mtc`vh<$zS=7IP)@I@aeU_H@yZk=@M!=J z#`Q~Sr?<#@sKB1CFl%rZ>+-q8f(jAx3_#Ayhj?bPAm{(jt(7Luv2@Q=J0^{l=ez># z$^Wq*CQW`8OpaOWeJX(0LfuAbKd494-kjl@2a?HD$#A0;Zb5-BEEA4%9s7A*{@3EFQq{2!BTIj;cJ=N*H){*}tHE+W?kMqmA_pqH8>U=8`z zDr$WcVPcS-BZvg=&ubt(K+|2RGriWIp7vT5w_ev!lQ$%%LjBi4{|HR_W=5Ot^{Ok+ zYR;WG={cX&q}Cgt71nVjTkMQ`qsmz~RyqKhDF2og5|yd=CJ~s~eN21y60CiQ`&DMz zZXr2f5>CG-6<%_zxV z!i(x3r<}Gd`|97LHdwnT+Ou9K-sXPfY0!IN(3%lhm99;XNcu?`mEo-lKN0tWkk|LA zAv=su#5-LiDh5il#?Yn}?}rs9`e9s5u(CcRS{ZFsXC**iRw3bW{(xGt+pr|7MpLqX zDg@A+55k-?a33z;wQEP}wxGBZshm2~mrKG28Sa(#an$!AHS2oAEI7jPpQLZm0g!0l zhhg91v8iflz5GwIevQRZ^heYVs}(?P-jo6vLOu#e*XJmn6!>dCrktDgIeInXJ`UVa zIHQ6oI7?HA;goU8ClqG6971(oSCJG+p9EvNfhtegzPixxD0&mP8sY2``dgaxBvwJ5zHP*PPTAHPr794vrK}!_p9gVy@W_qCIMPztXDckbFZ9hU zSXJ)UBlC-3p4Z=(<-f%;&Lx#w;l8Bi$bpY@4hRnZW6mOJ@t0xovGFC6u)P_H-J0Gd zX=O|8nNeBD*<5vBQPcVz9cJFlLQ%rM3i#?mc(Wy*Ik_(#_cf(k>*i6YH(gbU|2pu) zVVCa?@y|5Rm7P6lE=yjrrOn6)2JOU2v9!&!fB^8x~9D zQ3(kXSDX8uqO7Yb_`Y&tqmAR|lRH-*4Je+~*?gxsrn$W0HbR*M}1pkm=e3clO z`tG>XmUpv;^N~98@&2f9a8w~U778Q@{xQJIqOI{c*Zd&0<9?!4tJRDWMVBjsK@NJo zYxJi;p1H3xA?FQ@mnQvqqr>4@9DIaUq|+LomVm{Y`0E^T|&{X*^OwZ}a=sS+*Tn55W4nr8eGW(;P(bcE9WO0kv? zu6K(OqiTN*#)|mV!h?_RN1syUrTrGzWn-PaCHWuxv@+CWcZpoc z9rrthT5TdE{4MRFMcnU!8^5Y~TL?*@Lm)9it&j6pK!BlAWeP9+QVX{Z7Rt-;~ke$7P`q^6T$UW%XGq z((|EvNpk-S?lL*DoNk6|>+Q{w!&AB|Hr`ctt2J?xk=1oX2|{BbuSevqMRWI(-9p$R zF=!?If%t8A8wFa+YT|^D!6_6VK-1O0!yjUyZ149YT%(uy)8Z!C@1!tm;OZ;#{uU__G#{WvalWulJf2~Eyr6GPtV~cW zBuc~#0CQ}9l8Tr$EE|_AZldEBD$$zWs1A`@3RB;VD(Qoyd-qdF877B~Gj*6ON{-7D z?YKosx5i3Y9h#8+Q%;&DEQSfgF*Eb7ieoD@gW-f5Qnb~@$NGfELPm_RVZa7ElZ~2u zCH&`fYmek%TcRMVHTSiM>5?I0DG;}ts{_?xXj%Q}9k)y^xX$=a`|d-FI5crNOk7?3 zXk-PyGKHg^SExajYc(r0$77G$G-4%MFzI&5 z6k|gztZiVDzN00c7RhZaZTr}Cx!I9j91?GV>@&xyg_e&uk)~Biu|E=xJRU}_8Ic~X z(ZE9IemUnbUEnzc?gX{TdV6Hk7M0M~`2IX2mnl%2R-6bc7Nx&HnG+z);UooHootUU z+3OH;G9b%jFE6H&yXD{vasS9{AiCpDQIt7e@e;i0z2rzdm6sKUr#oghY}ryOvn9N( zvaA*Bg0XE%h?LVnSuyT?6`OYLDDT=bQj#q`>S#P&Y1X(Xi15mK3zB*UsB4mUZoT&& zA#FfvW`3rk&G8EBaAOL?pQzK*PzmW$}Qchj=P;2)HE8O4hhoENM&gXlU1&R zBh&VCVEZ{-Hw?k_NI@Wb$8h*8eDfH@^OIo8lFHavtu2#Pw^ps@iqae@CG*<6q4__W zKpJ~4j6FAby^5N&4fF%aR8N}FZLOv+y7ScBigA+@_1r7hH;ks94^w-rD*EWTu-51< zP}6R)RmBW|=3EGKGHq#C+rCKY2icZ-9YQV!X>b>tWWSuhd6E73|mf+Tw(ABV0Et4X~|$1QE?2HimR*cu4>6n(^d!si=pvEDhKV1EkHE;uPcZU0b*8;PEoa+Jn1N>2{mpWk{b(ljy5}=KMG7=--IA zuZ?hW%ScaFcdk~xH6S+}6FFfTaSe=Ensy*oTM|+rkxVV|2VARYE50VPm=wK-DJjD4 z4%jIpJwnQ`^G-Zp^3@dm^~ zR*kqZ;D*zF1B9G&xb3P+vtG9zt^<`Kss_|@T_NE5<&ZQMkB|6Db8GS8IcNa_TrE4bH1Hn?EJnVS~hd`Y&f`{4RX#aiu2B0_Fb%xe-{2RNN5jL|D}UfiHa zYf(5pxx&W?Eu!`imG|-z)#w`)s}mIqyMp^!QBy!I@jjci9Mq+n#-_ro*E0$b77G~8 zC2G8~7H}u!{r2m&T($0+kunmUY$(TgxVFNrft<>buBEUjP$W)UZiFpo^lUC0jn=-h ztBK#W9GXt&)THZfxi+(#L+d)QZYclUxDGU}W>~LVtX}vIK#Qmupiab$r)N*u8Xw0L za<7uDrIP;pN-s@A_Q8;q@K<4@r<}9I{hmBSj9#pc+ph*#E5%WTmmUiRk_68Jyr{*a z=S$`CR1M4i9ZBDClk&_abGn+^w%jd6&b`3tiU6&8H@LgE!mI^pea8#m_@GDPeL!3l ze5R=wfJ(E~oRt&PI%RiX#aj2Y!1Y=vN%H+bUY@)2GC7`{F1MO80J*Z*5|K}d4Kx;BwINDMnf*u4AzZtk2q$5sZMrBKI%}M&j5lIpw-^_y* zYkf1(=fLZXg*l{Y$U|Vr(o|B99q{7IG79!8x`!&<>Vs1X|UZoKLY3_670CMHc{KZ-G8w%pvNtDk5sDlgi{-e3WP{{6i7?s zV?dyKDYcyWXhm6`^r#Ro&j-I}LO8n!1 zmyE{+J{EtN<>M7?wG%2rww88@c68e$r&>M%Tz<0h+4-O`Y5Ey$;hv~S>w#uI*)Abo z;FACvijQNxbStuiS)!Bh$;z>M)L1?9G}Br{Jq4&0O-7G(N;?_FEn`&qgU?9ho~l6W zyNn_P#zMCuu}=f`RP`hlx+gn0bEEDgVE5^2gEje4McX&2@-*lfFlbT66YV!zJX6_L zJVFm&G-b$m78rwBMoXHYXDh;Tg7rd(3JK2vAr*AHN%|wd26tD<2ve;!DzlANrRtum zM60Fmxz5r$n#y)0*1#UcSs}68;jv7iae^@mw?aQYBg;R|QuY zHd9fFoR@*Kql(gq5>dWwd`sfC%3dv%Sd#f67 zt#Q{?*zD4}C^YYFFmGw}bV%%scXWikFmG2otnVr+@Y%;gPL9BL05~75vrqPo$NEmi zSY4b<2U4@sj0)A?1@%=LU7ZS|AD7KVU zp4rNAiTjk2tyMo2>VAw}vgCi7{DSpCCoa{v>i8MuTQk`xM0_lyRvlBS#D5m}p)Lmo zHmH40p;p73s_wZ-npE!(iTl((589HX+g|U({`_9kFDTC%)FlGMCB?KJFYk*0o`g5M zcVMsgRJboG-dcxGl*OO@2mtolHy&UQ|IZ0l`vix(VR;DBSD{7t3?OWrMX^Vl^+lXBMhP;MW1v)@&WNSI7|*mBu#2{ePoxTx`JjQp7@5 zjks?DmyF7qvd|P$Q+!KdR&&-pDog1Q^KD=jXM-ZDwb7Xg_Z_8J^TAk~mlO*=zJgK& zeHWl}*I%|7i%21&G?a3|q>>r2EPj0n#*x4%*%0(SHN*auM+&?dEqj+N`9B7KATyzC zjk}*H(26YVHH~bIQ~sxrU!qe!Ovc2$B0K7lfBI)ivD$7G;47x3j2wAC2XDBmt>vzR zU-XSj>K8ZNkR$Gwz?~4k;vN3XbQ#!fZpz3*a>pY|RIIJIUnzT=F^`F2nf9T#GR^ok z%vhAUEhTw-ocoPpt#4Q>ci&-3k@H({?v#!L4n zpNSVcyBsZl@qZ|V&C{1ks^`s;7HPlxn;K)q(;4g1y%{v^?=bDy=s%5%DRIG%+uhth z)D~-=9CdhCVxdr!@P86sG>hYek(0xJDcoxM6CL7{Vlp{YS>pcDZu(jwjz zry=uU$ceosVSXOP-C%Bknqu`M{m;Hq`m|;M*2uIgZ+3TKr#ZXP_Q*0j{?NTLRO8qmB1~7J2n+t)~Jn#XrxsNv>Y{2g1}e^fn};ko4E9{)&w|-RTOphR7O_WCj*(JO?%|k~7ezafYKr$Bs#-i`dw;YKYZ&XICG)rN}uKoa6oQ z7Uu@ZYQ?5X)UP=aCrQ$~58jFd>`c3Q4?L4LKA_!r1Ph zaBBsv$H)$UP6?8EM=6Omgm` z7FpkkcC&mfw3P02{Ze_NPHWb|n&rMTj44*}Vpip>O(a^qR4uT^RK9EVE2%y8$XpNR z>fk|J=eM*m)mqr2!SjnYDA?*>f)Fo!Zc)-Vf}TmQsuu}T~qybNLl=Ar9E=5{jV$$7`nH0N3iQWx#mnSxawaZGZB0hN^@R&dQ^4|OjwkRNjb5XEcWhNrCLo<(ZDpy@G|cX z#<2F9`h$nTD#n~q#_gQEHWkqyqDI<1K@Eji8z+m`tTU$0c_b&3zM_=%=P2`>Yl z^?p_{hjsTF_ z%j?z^wp8b-!|~ zULtyKc~!BHxN)II+$?ab{Coi~OqeZTM2AliV~(2?YTe63hS;RotxEX403YtQuCce_ z?yXeoON;e;T&jo>b|1o|B~EWpoN%ofIZ6D!3NzylYJOH#s6)>Ez?pmZH~fZj6xjWh zYDFF!tL&*vDPEd}JOGBQ(s6-*o$Ocss>#^ZbM#=We-&D%WzE_rH@Nk*7fqgF(v*yIeT99-PSJ0nHXV?es3KNqfl03i=`*&mhQ9;^0D{m(`XMPOS0I9T76kYH@GB@5Oa z_jonUdIhu};?2@h=#_#ViBAAAJJN1VPl|z0RG8H#^%!YWhKwiis@m8HzqZ84rE^Qj zH{_2sda{D7PAMqxntG^__Z093Bx{6Z)7o3F?JG5_^(psMZIy3J$pYrD+`@?|3;mD;p{(r6-X06QRW%(rXf1Ha& z6Q2hYhdX1FwQ7m~oRRr|iShOB`D%;Rp8EQ~34RH{#}~&+hWxVP=N@w} zRl3znXSI0k*+0cl%#=J$c^OO@%Fgv=G%q17?&V51pRsJ}h^L7ZNs;slkmhrB4>@pL zOV;>asR(QMlWoH?DpY?J)Fp98Dxa)0$v4SLh3sN^wPLI*>CyJ96j`qUE4yOk_x1W% zpw}wxW~>;c1j&3InCV=c;Y`EVE6losMeSrrtV+TgK#=6#-4g;IO!Y=3SxGEX?wzj5 z1+~a~6L`lJE(b|+V_6}PxxSp-_h!XfZcdfr>#wEsI#WuRHoOHkXjWhDd*Q_LtqQe* z1>*>j%vew%Lf!_*(&#Z1x9=wGvJF#8_jW~D!GckNs94C!5%>-OPlho*pt<`n;*D5b zTrX{md#B>9a1~?HB{)wjsW^>!7mVo&GYwO||5Lg(tDP&%G&RY4H)zM|G)#Y_69>LW zq1FUmtMis?Nq?kNd9CjS{lqx~DTDLpeQJZ%vZvK(M*0u(I~xR=@(aBm#w_hx8md-g z9NBaqPy?(+Dp4RlDTcKnFUafvAdpLtD<|d<^$8r{M0FohqUD9oB-`m$BI?6HotjQ$ z9MY2UT&wU~H-mme*;Y2vv?8xJ{f9XaH0q-;YJo&E;S1lq-G}6UOxfof6R=bmR7!x# zABXZei3h1Dd4nu4uRZ5>7ndut>##P>L>%rD3NIV*L_1tI!r8pfwEGm50u;^sB+N`V zbv%qHHg%s;V-B{dOUn`XX#l&9@00me@j|B;W!%$QXX!LqSeiq1F z1`?Shxz8!fdcU>(@UXamg+I%o-#&Ef^Pq4qSMOc8^o4&xvDX<-7#)HaJHS1-;PBGF z2&0DlX0p-<_mqW9%kE2RhBd?r)p_kjQY3vDq-DuFne~{uuPDu$4o8fE9wbq?_g-7Hi3I003C&zdOxVF4?vNkP#k`7Zz<8!=0n$d5l308+4 z^?2d2FsC?;`6i4R%8diZ8x;wg{+68}16hr5Zee%aM88}`4aFsp%x68^otQ6`7AbFot_qetZTfjoPz;aAvTwq9b) zrkdOQA)r4{OYUxb$9)gP3NSSAhcK|8B-Y$T|06Zb8mjbdn2!xC4c@XsOKD^=}GvpMU2p%|+vLhpr53B2G~$fc@<9?%5>oe`0KOv<@=x+h-+QWrYbg(?}J0)6Ul{i@7 zb;d&6(h%eb{5^oFIPXc>q4WpESc}U=(|1vz@*km`Ie{o_%=nYan?7Qm=E!SEJH)&W zA%6yBI5qF&U<_&QEAB7KvF35HK1s14lh{Ozu)hM3{qtdYiCb4Ey!^mmX7 za{|bi?jOoB--0-b^RGcHrE&s;9u=SpNUC1n)-r4{1$e|4Xb4H`4jw&_Q!8+TH5-xaZb-+9|J7 zp%iJi7P;<2^uj(Koi*J?p_b1nd5+;qv9I@gwxurF$R*7FaK&G9%fDy=!aHyTOzR%pSL-robyaty+HrFS_d$`+ zqX6v+T%D{n+U{rtTCJC^Jo0I4DXc?6jI4QJ6(-G=ObhN9#aY*vN@YM`s?23aq~R7t zGUtOi=fU&AFP9o~E>KIXC*Jqat_wor24LKx?9u=S`wP_q>y__4*oP1)gP?T3SHW4~ z7AecR@5xtF_*IvJBB6@`rO!*;RtUqEH8MCP%d+z6h7@VdWimdmZY83Iff^Ps(WSD5 zw&rTp&D#+eP?7|hZi$kto<8Me>eeA=DL7~3*9#>Cuj|~(xHP#;>6V)*ugV*o|Kl7e z8n_$=_L00Zt?O2(jn^8@TmK<1T-QxgXx>Vgw;;yp1XuSe#akmiROD^RDp2}ZNO$c+ zMPy|~5*a76qG`8Ud6u8RdfU6jY04UyGU)rcxIITs$#KUi*m@H^*k5ax4jIRTu{=La z#MsSecsoH^)@&qd@W#eM9CxZ9p(g^mEF4BrMly>Xl3h*qjr$E9Cn?h!6Be9j(IrRX z$sjIH1!jnIVTzOQQxs+`x@8wg3$#c&6{NY(*2Kr5=K@&a~h%ZAI4{K1fjf zEQp_s23vCT?Lj84?d%^*SP+rZ@o)$XjwFynfL%$E)`rh?18(Zlj$Pf+737{UXi-u; zKqSpR7iKSq&rVvq?0G9(5I#@MvKpGGL8D?p77~&JTr}ADd_Wh&?a$SI{E#K1rmV1C zpg8NPXl?SelxXqtE(Gc9{-Oxw%VBW5d0_UT!#lpqn#JS&SiK% zu$QeS?VN5rZ-6Nru32{@%A9D9_ex7ppVCNcTlbsnd~d1Z^PWuwBe4h z!ROwNS%%!56lukEWE*~TWu>S>^*cj-k=z8y02mi-*tgt85$4$2SB`fxCq&9RP%@db zxNTNE2NUu>U#ckU!No5o^Z6kBHYG>kdH`3%VD}`HA2VrwvKy3X4fmr6nX%BVNbE*n z^ZrqPN)-17Z&Iq&P~b`Ra?2)ygkA<{HmH?n0lUkUW-rJTrjn)%8Joe-^9Q5I$G1N;ekfFCivki(;%!H`N1XB&fcX7ZS!^J7za**-|P` z`VGh1lwdiN3WjbODU!B>w6?!?ZmX>0RVHdaH}(#-gRSNzXP+(iO3s>`ot~5woh>(U zwk*7hTXpvAgKt>VKw5h@Si30rL}`bl>&B@DJJlMi9Vl?9ri4ft0i`ex5XF-VwWV* zcL#bnE^zM(M}AJQ(Y;QQmMbmR=Y5Waj2L0}0IXpD7tWw@*DK8mwU4cOk0u^!#Fc?N z1D(*Ep>tcr!L!Y;+ul=cutJLt%!igBXjlb?4abinvwG)7)dcIN$NIbtv5*lXYz(kt zV^^FRyvi;(S$UPgVO62l7Zr5~jfFx{!fSwcIclrYt+;VzS{JIWSwgiG9JLT5YXYp* zX$KAlo+0c)awRiVZc?dMrjxu7;rTyi)oDf@W~_`62C1V5#1G)AGt%bVpf*^aa#SHZ z778Q@-UG0)NPyw<*tD#)!^PwpYKY}BP9|hDB`MA^Kl2cpHU-nVwzX!@@NKFwRwSps z0fp~FMwRpy=^5_Aze$l%^{^q`i-CuX1Z#8tj;OXa;^33si8wg z2aI?wV(?qXa}lSNV~q%UxUGW_K{EhZk!)B--mBE>jOivCk%Nn56Aq2q$E(jwm%|)< z*6mk2tX@Uy^SNp%^}`2M%z}1Y91rhqN*KEAm#9@Y?jNf$XRJ(dXxMEXg(bvYsT3f5+Wh!PXT=0fJ*8bRa>ExcdOtb-c9XN2|H}D$JTq#8ClZ zu@Hv{&?4%7K&_5 zE!P|G`N5C=NuqrZf_=;50M)0)_k&8GMeD(8jWr@K8lHCPk@*lXmqcb5!um6-JMN(h zv^w!3U{;K@hk>>%4lI053Hi=r{_KY<&$_@U!ABnpc|9T@!3)gK4)!9RujU@9K^j{zwYNfeH9e5_KeuBXRF zIIly<;{X}ZGt3dOFMGir-#;OfOf#oL!V^G91>$pV@m7fIV z%nkBe9Nd#t{UC3U*CFI7fDFV-b^ z`Ykrk$suUiGhkRc$_x)c4#CA4K+jYYtd=8wOZg8g5hLtbfGv&fR9xv32RO4qJzH_s zcU;s^<0 zTDVR`+-ub?YpF}cx*MHBY1;8R*s&y=?1E`CWOD0XuWYM*@0~d#ijnpP(B?ihgCm1C zD%gsZNpHU7b*KN(wHs4M4R3-W-3NgY{$_<+4OsH2=DytZ{!B>4y#=^r7i9yaOgAJM=lVPhI;v zm2EB3>D6{$dp@W0yTDuphe+JAiqmI9NS4ow_J7K?rXm@?N-sTL>brsMnrU+Y^B%?B zteG~nhkYeb4%CVvxvuo8|N~F9Wl#{e|!5}6a0}Cg~)|#x5Rd@KTP9IRP z_1&r*pQD!M5T`94ge_h9i{uF9%3kbfR=o8%=XO5^JrX|*q9g~1apXmva`4DDJJBio z5jDi}oF&4!CZrz@4g4q!TuyyuXyuQrEhGmCBZJP2~n6f;&zk5u`<@z7{hv+NaWZu}lhF5JYgg1ZhEiqToFAx7R!cJH6H!6lpdSLdH0j^M zn7C7uLquxsM|~p`1wN6am=PrM$3(`~mX2ahKk%#LexgWgTptw(jD?&WfjnH1SR`0JAcJOyJk>jQP8o-PC`>bToAvpHp-FsXAqZ!t!Ck0J2uPFVwdjTOt4%N1 ztCkZZ?XRFM&MfnX%|d@ulr_lgxzO*G$oV@si*%htrW-Pa!ivH_6k~q9nH7a@DRTY^ z&S`~?Go1L?kwDUV|gcevV7|DUzOc_^(u0#+xv1JqeGTNCfVk!qFIJZU{X3@zyo$dPvx zc$(juSq6i*{b+?*Uvgplo01}E9zbX5K1d%u?X%Ke?hD*~S!QgT&j{y^Q4_4lFxAET zpoM-QG;ThOJF&14h#Mf0Wl|<~3)CcQ%B*U=8olzVgE zZOD-~4Bq0j`xFraa6BwgnAOY_Hlaa=kfng+bGKFYyJd>7`dj@dyT4Ur${=MqC>QzA z806a;sX2L8rQ{FUNqWi8>$N#sp~hGl+dJ}VG-_z`GOhvs^}xZjeI;y9Pii+|M$Ftf zZj~Bl4S?c2)_+aO;c$rVy?rcaoB!o#mBybMk)-PS;Y9=WRL-hIGGh5))dNB`SBiT5xk;xS&Yr8GzolXx&5d*G*#? z#4oILc6ZR^o~cGy+rCwj*RQ42!b%Z(|hl|_g??$z4zXG@4ffroA=$@!5s>RQ1U%bBJpVL z@148b+nt@A-Mt7lZ4WCmn(OUkSc#=lE~Q3TW6Hpw4dJ2P6P4-d@yf)Z@}VPq=z z7L3w6`fBpYFUqnjaUTa&(DF~3`jNvFZ1i2N6bu*pU?NSMA+Ald5r36y5pq|>T z<7bA?T~x>#hPGmON3FjMPKBoX?1l+vHvKes+1}~AiyWd3b7{t~nvpZyttN^FG%q`o z`5Z=IM2GeG*a5RPE14oWmA4$5P*W)$E~MHPq}6egvZlimDVvAv88V3FTe-G5S%>{q zw3{4N?PZLUNusuar2*IQz7vj5lyl3#eZv)0+giG(5Q^&+e5nMIx<%-o-)*`%8d8S+ zxk_q-<;g66ra37=o5o<%mU!9(CZ`bgl|@E-)CMaXsmlt2CW~TwA=b?C(jI3123EIy zDrdD=T9S`luk;5Gq~?BTp3?1uoRbZuuT@#g9cZOcz4e#jTNgA9xGN0U7>3tjns`Bk z@20|51Td7QV7Q2(D0FuS`SVJndVCKRIEM2|J%i*j$hv2;!=X~{p31hCX0+|ML;%4R zfH#D#oW#K@dvDu~E8U9px6zvvN=!f^QNd%G#*->@j1|1eqF5DT=XM@P$gYob3-e{{ zBZUKw4yd%{mn3nl0?A*6kxEj522Jtq;VvOr$@^1vaT#;S!#}7d{1@I?pi!;{xlIxQ zsw_%m5`Q8Sk;$XishAZf@dbIGok$cq1fer^5~R7$;e35wvPk41&rZq6d|E{KjM`#olX5CTMw6dMlzo4jI z#k`FG<&7>v`}C$O=pD>xgX3r`H+O@oTc1c1MET}rCoT=R7Yx|eTBpN^)!kdAt^QsS zRMxBLBMCri-U!Xjeu7KlVyV(Wtd#e|hx@3Y^;I^@Q?Yp&!%^cJt{lRb8_Yjq|#^hR%ntG)_kVnObLh-aQ z@w1D}z)g)T$ccE<)#yq}RNTW<*ILD~ARL~JMcpN-RDU?s<3WgM^c7{OJVJ%78xGAG zb;CuoZHwipJQ9*A_!r&6F*5wazQ;`Ltc@>71LYp2hFIJBE;}UCuEHnsXqdO19y*7J zBeI!jZ4lvv>FVL?w0n$NVh!|~3_g_RWebwBkA-Y-c!H|@SHlWH@n)U~p{?o?`3x30if5v}AoKN4QZcJZ4Fo>Fa1o`i1RMpQ48c=w zKvZi$d`G{1S88EaK8MLNKcT0ns8y3mq2dxesy-E}Yr?{7JZ8zZdYTGZ^VmthBZ(pZ z>EO48-z6q1$cnL-OIy%8tM|-HJNTh0X?T zjPXN?**wov8S6XH!n`-VQWSNb&--cZarz7W?gh&h3Z;FGY>9vgib5|G+``z(xy7p| z#DA589^8xMH#fQ$LuTwao+SPfmAt4+U~uB1%3SSYe{7SVSw}$%yi^L0ogiCABR|Hy zOi`CEiNZ)uvIspZDootVfm_wMUQRJ=l(7xAdxavq#Rj}}31kdF>??_d5S9jrPvKs5 zEZ7);*jEF)Qhw{7ZNt4rsh9P1|515DUkm6Ofy%yH2hn6zB!T^P3howt>F^Yi48mUz zI9?a~kT)o`x7Vc|#~Xn=QE=GnP!8)=-j1GbpQUNvn*dxPKw0vH$i|zMxU(msFHYoJ zfLu2-$0{Xrev&34>5}fPO70dF>hMHcDHM1c1a8sb;PUNCmAXAY*I{eV_HT(LNqPrJ zC!*SO*UEP)Z0Xk%|1d*g^4y*RgiPb#=uqGRW()I<>dDWLK0#o~#IEOb^WDgvJ0lQv)8|rKQ zzyUO=UsiZGKeY2}OJXST6-b;UjbgJ|{i@P?XkX$4g1-jvi3qmTXQvn4*A=?-R}pUr zLt*m10UoL^hQQHt_@+X8tG-PH(cc0ZZ%>{r797^yw-wym+Y103+c(Yj`6!n z?aj4_$`krMK=G-`l7^~$YTs98Z=aekPUH`OJYMXSP3PSYm3PUKy5U~wWwK~%%71dcN;CDaX(jPZ*L_kPv|cIMK8^T z7kJ_Bmx}G-D~b~c{uRLJTHs%~Un_IzkEr$KpfGX20S*n{L`7C$x!)?Uw}y|U3H%-H ztB?D|biY?#5B5cciTeX^>!o(rX8krmQ7!+Yf_rH2+Ax&(6C_qha~1h1e^&I;RVwjJ zwK$P~0TM3>%Z%J#71+Z=hzb+;H{kG+YK`*Lg!{YldV5JMP2fKOL_;(w=f%i*Gwz>? z?5)a24peIC2x!u2&xOB6T_%Qv7a?<_-8k*p!t*g76oD-H^_0|Lj0I@d}2)|45 z0DK_b-AuW?eV0lg_~roPk%rOTafY*o#bs&UJth$N)xylKzx64 z7BH4MRNWS3_V)b+0I^$vMaw8}*|}|s?CmL{Fmc;~LoLKhX}FV>*TZdx(gdCo>^oR# z9CW8DuQ&Tpn7Gq`TOn^nHaD7(fyL0w-KvxE;Q0#d;rVKD zB5w&KoL}k5+y%;8x))3M0=_I^w+b*xI&v2tBTUK?c5A@+jmrwr!|pbU>!Gsa8%JpZ zF9HyOIkv(Lmr`O6Pfv>zc`=Y^He?FH_Y9XPw6|s>0EoR5*b~Hd#=CYXvWIFD6((*c za82)A`Zaf%GJEp^yninQf-etX`LcXh?5;RQuo4KqQYZ^!CrHd+CLJp7D!IJT-4^Jv zwKI*w6S86F@a}T1Z@7QAyIK{yMM1++L{Ul3HndQvdOIPFZ8#zkCz;EeOciqj<#cg> zuHW5WC9J6vEld%;QWSOW0G*X`+V`GJp)X&|xH~Gp+ZztI5IZ6~Doo;?Ks3S_+yqtrEb0qyFhA&QD8oVuGR&q35C}zt2`Qco8ME2(BQ@%Al7XW-1;UY<+ zTtDPa)&!o(>Vb;POe2rS@0;faRMMK5RtPoqstrlq40KPZH&Xk``Q2_%MY;vP!&{IN z#78B`8Ukw_TE>R#PKEs`O7gSYrBJJO`l95vQYesxzzV4V1Nl;Vc-Y-V$=w?3U~a6^ z__E~f25-%L{ZMr_C4c(qlwpN-i!cVLFX+upFbE$3e51dQ0qMSEy7lNHA4pCWtlYJ> z2a*6$CJ&jFNT`&<$NKUkZdB>rn%`i5RERgw1dw_SsL`wJ<3ZK5yrAr!UuBa*fg;To zk8rl0%A^POxRRo~4N-#Gz7VZ$mM3%!&<&%D<HdDVPx;;4vF^ru1kw9}Uh7{vcbDTszgFS5?J^P!@V4rr5aRDj zd}MhkJCYg5kCoirmW^+J@Bu>n-GM)GVlq{b7rNiwL%A0lW=j!Y2cx2-m1*oqWg=h1 zQS66sRLHcur$Vh~F;kfcZBz?{_zLjhE%v1cMv6mjT;aXHMUNnQ0_Zau3$vAlRC;V6 zn=cP$hco3&u0KDJ%?*_Yhx6%@n^Z9?$J3MegbXOj57&%k3z?Bju2d`!XNx6wP!$Wt>kmNQ zVYpbDPIGE7XSM8Gmy$SarHnH}-F2#J-6zWVXBr0(dl^L>&^V=*;Bu>B3Oa%_+TG zr{){Ljt-G$kbFJJ;j@wV-M?$dIc4|$*?0ue4WNVfP@j|~C2alXmELogGolmcev{kz#k+S!K>`4uo^GX%V*+Kc3 z-Mv-F{4!C@e?2h(xi|85d^b13OsIiqhGb2Ly0FtVwJof@ujl)OrhYOqV#StxKJNsZ#9%A^QmM;mAr4PxZgcZ znO4)-UdI6-_UXW`fmc(OK&E8aJIPjlhLWwXC*ck?2}C~==(Ul>c?r6R2fNojOWD?Y zY_~c=4PaD`?=Zn2`?+A_1r{@z-R1tVf_t8ldw7AN zG?~u_Gt}zRuKZXrGwNQTSnFwY=no zP4{Qq>r~QOyb)FqQ!-q%;3)Wd2(I?NV5yuN&gOQzH>ix+F10v=5rO14f_yTj-q3P{ zzbn&Ibyu4|I3tKLGlw$(nfDmBw{W0%#vpwB@C<6gGE_6({sVgmTxX`5XAgKdewIcFR(< zHddb0kB}O*-NX6(sQai=dv}WfAogRxh9N}`fjIYZIv!JhyaJr}mAJ?cKG zP^%S)MLSuPv`>MyQoe_LG~f1Vo%O;?>?_kt0Kh=)Z(Om0o2Vh`6k=PPE=Ec;p|AZR4$g%GNt)N#alCMTAtNP zui`YSeFacpdfKe_hpr`1`O@>A;zJ|S0EAwZP{XfK9_S}RetXth({3p zHJ~@fCnYlJQ5+TEzODk@+HzxdBLY$88<1JWsA}aXC*QxRcH6Q&bUgYO67*#&y{OE9WCWM9!%AG2Fbqw zc|E6#{P9(COoRjy+%J`HJ(^fqD#Wfmi#or8&Kh6khHH&^*41CDh&YiR+$MqO-vPZo7CS3Sj8f(ef3I}w`NYc7{@Ar=QRffP zIW5#I4qiqj)Q~TXq;oREG>|T(-5*ucnluX>3Wkf0P>TNv;_D>OhMNL}sXF&()w8;W zP}IMm77iu;0*O;JA7-SloR#h&v#)(oi6;bNb@p)0 z$u?If9t$xlOyUX<5k{{}%i7^Nw^D&UgwcIj@>YS@oQfKj=)*~hw0sXnEm%2y{6glk z1VHX;aMvcssaLr*ineAeyN^+?B7ZIT8_+P9W$JLEIw$#5lA=_0>y|B%Xw{PxO00*( zI!V6w`)=X~Ok8YGfo|?(7{6;#-|Dr1sId_m&Bvb|%)3p>KZeII0CG2j+vc0?8Oe;e zEz1Azd^5nPwG~?Hea~IwNF9B5!);TcZdua$pjtcc7={wtA+b&!6?nLqjyYKs%vTY- z8viQ7RRp5ODbP4MK7c@WR5mv{ERnzbXwjXjYTYJJjd4VhN72)GW9s?ma*{G4)2FAa zl=Ypo_dgg^kwSqpC=hyhIHWo0Ro$5?V0A&EC?8z72pmeB1qrRgg}wX6+}Vony$%CF z?m6JDil*Um#q5wfSFu*t5tZ_7lb?PAf!y=J-Na)~@tg{KG6UtovC^1~Th3Pjt3tJ$ zlG*~I&Ml#{&Ts$CL|T6`j=$t!Odq>!g^+(M@PpqnaLt&6#4l8~^?=&z4G9F_ znqcW;WMWQg)1W;0+bGx?z34-@`68ll4R?vEx~o*C+uY4E z+R_-1w{u&_E^lsdr@LA$_+QTr?xZodgE1>4nmL-58PEZDd)2cXwO9nymnH8G;H_sv zP?>Cn&7N2O1>|NHnQiEV0lovAvgSAfJq>D1mLaSj~tsF#|oR+GKrjOSZ=E)_=--)vJFPLJntj)N5ws* zeQs1WdapA8kb4cd7@>`p_olNYS5T<+;m4|rFH2q#ybV(msew%2*pM`y5@3*4wCG9- zwyKI0=HqCGP+<%Tp{nHa#ZtlTQFiZDg#?240=!aGrz&n7#~tlctTmvHnH&`+aX*M* z0zs0>3)l3!YZco21cFBpeOI7;M4>Q{&kgT)cT;c=9eBR%OOttbFxN%l=S(487Eg1e zCtO{769>}^4sbk{`?7be4K=1^>tNnMG zo%NyJNhMovt?he`5JXpjUK?`CWsP8M?(h}vfWoa#F_gqiZumK(kUs_fdgKm_?j9-+ zND_a4DKF8cgQ{SCe2D~v1cU-L2%OgHD-C5z{kzfyiH{Fv3hp`;>$bRU8QxL?N$Eq7 zKC^o+mBg|8Bp5oa>el|d%gUniR2nb?1J*Yhl4Y4Gl*;*0#Cg-hZdMhohl{e_-)MzU zpbmj(k=YPpua)^I6M9Z1tdU+@^-F*#b3J6%$ww%Cax9J5sfJa>V=aFIL3$(5ftD3x*>1g~)m&`_E3w&bX76#d2kQ+`0RygqeO6%JMeaNL0B$RMs@4E~aGk zR45m-lHUCQm9V}i7W7Xkfgt;VV4sNk%K424Db@1N5>*^!iF+_`-fzh48_vrB{UJ*1 z$#3wb$$Ti7C;OIXs5)P)&bKV&c$i9bi$!*gt#;y3^x+WIiYaq$QZXN)I=xp+5=ed| z$Uc3iR2Y-x@{dxiIi5o?{t43sIDMDx~n0jg|*8k^;5M zJxv9A_{u_QGM^6SrYJA4(wL~#WXm(3V)zV&ce6fxUs3U>NoJm60!5`~LTNkB8cE>~ z*-Da8%9Ly*G+vj*LC;b-E1ips=#_M#QSsSOTo-#ae%0}FRH&O{y!2Zkg#yooz#3l@ zGqOCGi%XuTcq?C{y$VMR!k-WL>Fv+!plrPqBD?MdD%Q;_4)18GhZaXt`-RZnBBxNy zR^;#=JzB8LO*&tsnpOh10{qMBh@;+%p|@5h+Hva2uq=ozNzlT*M1{J&D7`sf(#s?% zHxl%#q&=;y4}NvD3Xq;XV0GEf|Wt79toQ zr}z&v=Y5w3_<$qL0>b`IGn;9P{vR2y+PSl$Blw~>PZ68Zv=W% ztQFyo5mI{!?*CMvTTildOQIwSy$M3mK&=#lq5KfutU6XTZ5ya1K$Lk4WHv;7v=5|| z7?FAFvQ;{C@G%fo-Uby!0A)=xax~tqaLdDty=PyRymx?iPWN%Td}^{bqI~HU?wzVM zVhom+HB?tH&3G5g2+mP@xFpe#p=_z>-mRk6N8aJtH96FH4>Y_poy+%^O8eb=mEJ=) zpO=pSrOA9BnA`|~3-@ZX;xE2msb-{C#tHm9;QcFr;12+NlAn^9p1+|k@r4gAo7*}Y z;{oJ;2;BI}&Ga5@Qt@GBThF=MObj`c_y{E0a?A5v0Ps=Ov7C{mlXpp@+Q)c9k*|;+ zm5Gqz*yyPHxC&W)T)VfR6bgI-0>K#(JQK@5srcTVk%&R~rvTp;U-gultjR6~;>Jmy ztoyXeSVJ*IAlRrEvWhCsqvU5GxjuSexjg$6iH^C?s+QF!wLh^Yh7zBH#751H#QtLl z+{?m}&#Q=)xvHi4f#_9}MWru5>BNZ{OwZ5N+!qyZebBy$@0+611bzv?@U~^Pf~(cP ztk~Y)cElk3D}b}LKoE?_WVx>@yQkJd0R(>y;MiB)=fCQ&EBhF~YR{p>Hz2VAd)Uhw zQygIAchqXQZ>mVQ&N_ILp|F3WZ6wNk3o=;S(?3v<9ksr#@E+FouqbKY0c~9rdoSik z();-JepjhhRS#kNSO{M+RQMhgR_o-~a3;OmeP8j`nylDNl%Ih^d2)XME<936bjjs0 z1b07FY!4o(7AN&bpoTf4LV6&(4>JMo$4a)IM~7ZkF;w^o6c_-jxT(YLr%JZmlSBXv zWr_P4aQtE>>T`>(Hg#~`{al$neK86k_!j`5+8V*dD#2(&mxlYL>Wmr=Pb-EMy!DrH zHcj{yOlU3#-c=eIjx7iNwW?dAK?vbMVO7P&z9f!P3};uh#>h7Aa9KND=Zw7{?j*ae^dd>eQ)ov;vmZWi8m0Y?Dq{7 zM%|y4Z&tLHrPAdr0ObA!+zm`H(Y4;?e0IS7Rq578*OHx*z)<6F&^VsmSk?VqxmJ_O z0<1N@C|UoYyvT1nawKuUsBM^i2hWZ;t!DNS0`MU~t&oOxflf zWcyYx5rp)cgT5;IHe|`ph&xWvR-J7(8vtT&0qnX6i!UXclbI5Cys~@usg**36DSad z5`*PF%xx6ii7Ifc{t7viSOJN6#+ht|m2oRo!TRWeajeAQLUy_Vh61aidtg|WhY{g$ zS$9$o3M?84Br#N24TUw~146(`mJO~^zV#A9!Nh0iDa5Y@esydah0MpVQ@Z8pc3DI* z>>tj0vZET5^Ud`JW%vF?c?8Yg2z1Ln$-~)n(QQ(`6<62M1RsrFai3(MsIwV5n)kOC z9l{n>us$yKBU*K^6B_{JZjEte$u;&(+IGxb4k;Bx>z zUIqw=0-meLZYPk2F<2}LCs`vO`^!449Xx^=0-WDCX$<(n-$VvuQ8hJ?GU2z8S7Xu%*ALGjP zT@u8(MCq3M(q4fBg!oH=4eFGR6}(@8kbVcySNVoZ zW(+cW+#MBdMP6DvXqG4SPN1%pk4OeZlGTt(OQR@D6_ji>2+fkLF3n4VD3PY&(iCIP zj%hu8inrcotN{F3Jc{)>gS)s$kYeU(&l>NecN{@HOBf`*W9MaEn7Fxc}N+ zROgriE-g3;?uOtd?PB5`%&@9i1Ch24CWfKP2vj!A)f=^=+(LoNyfU(wB&QmdFVif{ zhu6FeEDGfzpcZEdog5)F+ z`JcO+(tG!UJc8)E1AS81<8e5BtsH@%WGh(SxnKw4eqHHck||vp_bV%FfO$_$4IQsjAg>`Xs$t-K%zBQRxtr zR?A8Csd0I{hd8@Cts2&wM>*fE#Q_A*0K887n4)Y1fb)4~m2G`lZT(AxAieI*W;(dU zFqqsmr)aBXZgsLE0?F5d9MA9U-<9d#jbKC3IaTNu$ys`=-$YTW!JF{iL`M3CqJ$IX zRl<5c9lIAn5WN6&%a)ltcVNrR!zy5f%ezFteAw{#SQYMJz93DG@3x zLg6GdT*&5y*XnLiy48Xt+PhGm*n4?wRDqD<>F%vqv)Z>!s{lamjo>Di3ea1;kHXEz z-hHV6NL0BmRN7Kmax&8CclT4J|1OnVc5L(!RY|+V>!(ODnV7ZDUcAtOtX&Wk%M0`z$#*RCh)K5xj5@QM8r8(ge`-=4G5m z!G}W7?~}-5MjGy6s$%u_iJB_=W6N154MHDIXw*my_Q}2!k5H&pPurUa0Em4guvKld((x_go;Sq^Zg?eHTC`A-I4HoA+Fze9fhQ&hlua$3~iP78<{Plblx zVeRnj!t}Izn$oTDPAmX0S!H1opAO>MigT64R2qLWbM_gEwd#{ENsC(`#6J`G3%Uh~ zy>BHkO$o%z;_%&PsqWp3mZ}v=3tE2}Ld2~)H0{|i4bKwGu@Gf{j*9p2ETh6CJ{LqJ z@8-+ce9%2lfmU`*?B)2fI&AmqXR%hBiXaIoR*Mb}RHYQnMN#yGkZM~QFx)>nDzaIDyp(yPu^~nJ- zZ%}ye;{=Z&`i($ujpErn_NPx=+1=66KmVs9mMhsIBHl`)-kYGeF8G3(;o*q8jRO1I)8iRLWF(qz63%&kq=PkP|`q_q1yecioX z`Q0{l3bUL|0_|^JCV-TD2P8LZifI4tvP?rsKzO(8vh_|Cw7l+)d7^O^wcZ7-5az^Q zc_sI5m9PfW?Uk1Vg5N{1p9zsET;wXeSHZo1Z~&0|K5*B@^VdG8@ZP`X03rTE!25;4elFz0O75Zi&ihmQNc;$h+N>c)}Hx}hS2f3|@ zMHCF$`864zS2b(Qri8XN8BH7ozW~8#GyURpZNhJ+|3wwDzJ#{bX$m3!OTeGtS3FeR zmlbP$25oC3d{E>o!1;#X?^)x%s>q%ieqWjYGaLy;1@|?zd>NbSxCv)C=6 zfTL=M-FH>Mbko{1M`IwWd=Dz?!>SBj(&4_pY>`lww-GKBM3EmrWOX#<;g2kKKU4wh z`L|AacmTma0yuiFrSgaz4(fiqY;LQQ=>g>a1l+Lelbjwb3m{8ZxSuN83IlX-1p&Q=jj%{&1mOP z{;Yh<{`SX>qf8<%g)$)M?f13x&& z*_;GO-QN}6yK_te!T+G)zKUpoW(@ob4<2=iE)sKlWt_9zpa?1tT7nIQHWUwdr|Tx9nr#(f(gIQx(&r z5(FPiHx}h?4!Q7d`*&rB2i$Qg(fhk4f#6#J%%i|2t1?4>yh5$DFR|>78j6y30%+lQ zQQ2CD+Z3IsOv?@Hu#72!kiG)+%^^g?15pO{OJobDtE^NJtJMwV`Ow2f0!Fb_5L+o{ z8aJx)#mecqC#izf=thMo&;*dW8r0RUnvxVeIX*p0x3O6-%;Hz~LGN=yR5n*k0hvgJ^K zLVig0d@s5!O1B!QPF4pDCALCB_Oz1R4%xrF?6xVoTcuv&B-sc;@OFT=GQmjqsUOMq z7xKmYpd6y0GFCg%lA_ekqS`4?Yx?psfN-a(g!O7$eLgu+L;&QT25##jy@6cOovw82 z6|~%d<`tF&Lya?_v99Sf)n;Y;xJh@WDp(WN&7%B@nwOqLk+UFjTJQm7tJzW+TcwVc zWQkQew;P*oxU*H!I>{+;s246eLMeU@#KQ+7n`9KT?p)RC{R1I^;PU`pqw93!tRkI54|FW{9A&*+IQb*j?rFTpm?iUOZMMUd2(+>uKzeQvW!wHg}YF>$Ks6v zLG-PGUa$9prAs`y^EQgNs*{#YK9xYC%0;|^s9%%544FkKRj~ZM&i$b<$i5itD3~vg zsP2%W;x18ow}vTM zh={^VNCwSfbmY(#%C>5GBG%f1p~#gG*$_@klN|aoPk1Z2t5n0P zGodi6Ot@&0D05rLtkBi=?rNo56`rH8=0XKU5PLgdWs3{0la#a;*(Rkn-*C5Ay7_#3 zQJUV0p~4-Y5IUDk4x4G;QRzK*E(DN!Cvb6EgT%GuP*Hbhg<7+|vFhT>l9#5P(&}I* zBEOYppCWr0Y-n*(`$65TjRKkhjAPJ`xdFvn^HW;By-^7?s%421cUd;Rt=-B52=Tjt_c;Q^ z{j#0uu!61H66=R#Wr&m|Zv;F)4N@R5r$8(In*g#fiFpviRu6vD`B7zBFRnwMKm^Ix zfE;!KlkO%gGAStDijZ``H#yWOLStq0?_@=oD=FOi#yh|TKrtXhgKLO%A(qWyN60x)u8wy3l~JIOJ_UMs z?N}w`4l29%*A4)&H5wgt31j`TiBry9r(o-&Xs=HmLG&S@6ZxZi^LwwjtbD~~a${~< zMXb5V5Gi713Kz&9jo~Ob1Hl#eP!CL3rW$TmC9Liu@o}>-fpq{8+nGbi+s!Gjhu98_ zl6F048+;UY5cx~8=9$r4r(CNNwncN}9Evm`62=bv5Zt`tdmlTHK=1;os zz5W3}>=D{4kJ#^{f-NPED%bJ|V@{?PCv_3jwe&OnX=tUa#N=;Ku=OAk?n9G6_PxN~ z9_k^|)g+IgDVx{^7MxtW30V#STM8nf(Z1+AY)BDp0fY|#2yE*#$ z`L3lukUc16QweuJ73j8-rR#7ulSEPK{*XGW`);kWx<0+Pe3g5E%I-GuB$wr6L|B^e zK$vhw82gnfZm>38?XS;Bo@=TkJH^UEOF4t@LCZEEkof+>MHeg$crXmu6#nIytRgLh zf$T$6)e1L;;tAC_i&77T)D~IV6>T0;_Gjk!OnogDkxYYRC@&9tm{RVuoX`* z_JrhH=?J6PV zDA*j?`-0(F#2}UfLAd$qtdvpGTv}6Qm*C2uoUv_V#Nu4F`%otqd_VwkEDBBX{_qtao*!p}Depe_@?km9! z5zee^?zPLkO0kx`tyMzuj6+`jt7&g@#RR4aUbAd)ht(2cj^MQbZ^o(}?rECXAoX=B zV09~@JYQqD*cXTK>AW6d7^oCWS-F8XD8Gk+3X78VM$k?`GUu$UX!$>dS&z9T2p$25 zd=rqzVfNg;S$VfM9K2ZjoF(NgfimLWdMp$_|MWIc)`zrtS*n9CNXx0{kSAAE z4lR90u(asjsn{Ow*U!7YD^SMVyN`w94~%~gD9J6&MUy-61#|DCB<(d>>aY4D2nqk1M&SxH`&` z_ldxhHD;4F=RSEXJYSZ)Pl1Qypyens*-I#2NK4)Nv_h?BBhlz9faK4Bj6HCqX_


      FUv%9EGUIUVdFQ?`FJ{*7dU5gElHhQ_(4!sct$n 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
      >t^3B)_uQnsR;i2i#0Bg;rPHSERYnI4J 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

      E1{s5|~p9 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%0AXBR{FR7IZ{@_-R9{W22~!u$`OF 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

      i5P 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

      *2k}IFfYKd+b62 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

      In this mode, each project gets its own VLAN, Linux networking bridge, and subnet. The subnets are specified by the network administrator, and are assigned dynamically to a project when required. A DHCP Server is started for each VLAN to pass out IP addresses to VM instances from the subnet assigned to the project. All instances belonging to one project are bridged into the same VLAN for that project. The Linux networking bridges and VLANs are created by Nova when required, described in more detail in Nova VLAN Network Management Implementation.

      -
      -

      Todo

      -

      Insert Figure 2 from “An OpenStack Network Overview” contributed by Citrix

      -
      +../_images/Novadiagram.png

      While network traffic between VM instances belonging to the same VLAN is always open, Nova can enforce isolation of network traffic between different projects by enforcing one VLAN per project.

      In addition, the network administrator can specify a pool of public IP addresses that users may allocate and then assign to VMs, either at boot or dynamically at run-time. This capability is similar to Amazon’s ‘elastic IPs’. A public IP address may be associated with a running instances, allowing the VM instance to be accessed from the public network. The public IP addresses are accessible from the network host and NATed to the private IP address of the project.

      -
      +

      Todo

      Describe how a public IP address could be associated with a project (a VLAN)

      @@ -174,7 +171,7 @@ Compute nodes have iptables/ebtables entries created per project and instance to protect against IP/MAC address spoofing and ARP poisoning.

      The network assignment to a project, and IP address assignment to a VM instance, are triggered when a user starts to run a VM instance. When running a VM instance, a user needs to specify a project for the instances, and the security groups (described in Security Groups) when the instance wants to join. If this is the first instance to be created for the project, then Nova (the cloud controller) needs to find a network controller to be the network host for the project; it then sets up a private network by finding an unused VLAN id, an unused subnet, and then the controller assigns them to the project, it also assigns a name to the project’s Linux bridge, and allocating a private IP within the project’s subnet for the new instance.

      If the instance the user wants to start is not the project’s first, a subnet and a VLAN must have already been assigned to the project; therefore the system needs only to find an available IP address within the subnet and assign it to the new starting instance. If there is no private IP available within the subnet, an exception will be raised to the cloud controller, and the VM creation cannot proceed.

      -
      +

      Todo

      insert the name of the Linux bridge, is it always named bridge?

      @@ -254,7 +251,7 @@ instance is started on that host -
      +

      Todo

      need specific Nova configuration added

      diff --git a/doc/build/html/adminguide/nova.manage.html b/doc/build/html/adminguide/nova.manage.html index 2b9a4ae96c04..eb0af2cc285e 100644 --- a/doc/build/html/adminguide/nova.manage.html +++ b/doc/build/html/adminguide/nova.manage.html @@ -67,6 +67,7 @@
      +
      +

      Nova User

      nova-manage user admin <username>

      Create an admin user with the name <username>.
      diff --git a/doc/build/html/index.html b/doc/build/html/index.html index 5642f99ea7c1..a46cc3e26b7c 100644 --- a/doc/build/html/index.html +++ b/doc/build/html/index.html @@ -176,6 +176,15 @@ other ways to interact with the community.

      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 D4H3DU diff --git a/doc/build/doctrees/man/novamanage.doctree b/doc/build/doctrees/man/novamanage.doctree index 965e62663953614bbf44987ef7ef7833bb3a9d7b..cccfa3e65c44834983e77c6b3f2dbfceb7be361a 100644 GIT binary patch literal 38822 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 literal 38494 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 Create an admin user with the name . diff --git a/doc/build/html/_sources/man/novamanage.txt b/doc/build/html/_sources/man/novamanage.txt index ebc76cc4bc55..0cb6c7c902cf 100644 --- a/doc/build/html/_sources/man/novamanage.txt +++ b/doc/build/html/_sources/man/novamanage.txt @@ -42,6 +42,9 @@ You can also run with a category argument such as user to see a list of all comm These sections describe the available categories and arguments for nova-manage. +Nova User +~~~~~~~~~ + ``nova-manage user admin `` Create an admin user with the name . diff --git a/doc/build/html/adminguide/network.vlan.html b/doc/build/html/adminguide/network.vlan.html index 0d87a52732b3..e31a89bf8005 100644 --- a/doc/build/html/adminguide/network.vlan.html +++ b/doc/build/html/adminguide/network.vlan.html @@ -118,13 +118,10 @@ segment for each project’s instances that can be accessed via a dedicated VPN connection from the Internet.

    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