From a38a069f1330a72d332fc2be19803897b4db589e Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 10 Jun 2010 17:43:44 -0400 Subject: [PATCH 001/248] Add a README, because GitHub loves them. Update the getting started docs. --- README | 17 ++++++++++ docs/getting.started.rst | 71 +++++++++++++++++++++++++++++++++------- 2 files changed, 76 insertions(+), 12 deletions(-) create mode 100644 README diff --git a/README b/README new file mode 100644 index 00000000..f1bb2d54 --- /dev/null +++ b/README @@ -0,0 +1,17 @@ +The Choose Your Own Adventure README for Nova: + + You have come across a cloud computing fabric controller. It has identified + itself as "Nova." It is apparent that it maintains compatability with + the popular Amazon EC2 and S3 APIs. + +To monitor it from a distance: follow @opennova + +To tame it for use in your own cloud: read http://docs.novacc.org/getting.started.html + +To study its anatomy: read http://docs.novacc.org/architecture.html + +To disect it in detail: visit http://github.com/nova/cc + +To taunt it with its weaknesses: use http://github.com/nova/cc/issues + +To hack at it: read HACKING diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 777cd32e..e9a2f4b2 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -19,20 +19,34 @@ Getting Started with Nova GOTTA HAVE A nova.pth file added or it WONT WORK (will write setup.py file soon) +Create a file named nova.pth in your python libraries directory +(usually /usr/local/lib/python2.6/dist-packages) with a single line that points +to the directory where you checked out the source (that contains the nova/ +directory). + DEPENDENCIES ------------ +Related servers we rely on + * RabbitMQ: messaging queue, used for all communication between components * OpenLDAP: users, groups (maybe cut) +* ReDIS: Remote Dictionary Store (for fast, shared state data) + +Python libraries we don't vendor + +* M2Crypto: python library interface for openssl + +Vendored python libaries (don't require any installation) + * Tornado: scalable non blocking web server for api requests * Twisted: just for the twisted.internet.defer package * boto: python api for aws api -* M2Crypto: python library interface for openssl * IPy: library for managing ip addresses -* ReDIS: Remote Dictionary Store (for fast, shared state data) Recommended ----------------- + * euca2ools: python implementation of aws ec2-tools and ami tools * build tornado to use C module for evented section @@ -41,16 +55,17 @@ Installation -------------- :: - # ON ALL SYSTEMS - apt-get install -y python-libvirt libvirt-bin python-setuptools python-dev python-pycurl python-m2crypto python-twisted - apt-get install -y aoetools vlan + # system libraries and tools + apt-get install -y libvirt-bin aoetools vlan modprobe aoe + # python libraries + apt-get install -y python-libvirt python-setuptools python-dev python-pycurl python-m2crypto + + # ON THE CLOUD CONTROLLER apt-get install -y rabbitmq-server dnsmasq - # fix ec2 metadata/userdata uri - where $IP is the IP of the cloud - 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 + # build redis from 2.0.0-rc1 source # setup ldap (slap.sh as root will remove ldap and reinstall it) auth/slap.sh /etc/init.d/rabbitmq-server start @@ -64,7 +79,39 @@ Installation # optional packages apt-get install -y euca2ools - # Set up flagfiles with the appropriate hostnames, etc. - # start api_worker, s3_worker, node_worker, storage_worker - # Add yourself to the libvirtd group, log out, and log back in - # Make sure the user who will launch the workers has sudo privileges w/o pass (will fix later) +Configuration +--------------- + +ON 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 + +ON VOLUME NODE + +* create a filesystem (you can use an actual disk if you have one spare, default is /dev/sdb) + +:: + + # 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 + echo "--storage_dev=/dev/loop0" >> NOVA_PATH/bin/nova.conf + +Launch servers + +* rabbitmq +* redis +* slapd + +Launch nova components + +* api_worker +* s3_worker +* node_worker +* storage_worker + From fc1ef1d81c1b024b88c6408c1c5d3d99a9827da7 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 10 Jun 2010 20:41:41 -0400 Subject: [PATCH 002/248] More doc updates: nginx & pycurl. --- docs/getting.started.rst | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index e9a2f4b2..df6ecbb0 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -32,10 +32,12 @@ Related servers we rely on * RabbitMQ: messaging queue, used for all communication between components * OpenLDAP: users, groups (maybe cut) * ReDIS: Remote Dictionary Store (for fast, shared state data) +* nginx: HTTP server to handle serving large files (because Tornado can't) Python libraries we don't vendor * M2Crypto: python library interface for openssl +* curl Vendored python libaries (don't require any installation) @@ -62,12 +64,11 @@ Installation # python libraries apt-get install -y python-libvirt python-setuptools python-dev python-pycurl python-m2crypto - # ON THE CLOUD CONTROLLER - apt-get install -y rabbitmq-server dnsmasq + apt-get install -y rabbitmq-server dnsmasq nginx # build redis from 2.0.0-rc1 source # setup ldap (slap.sh as root will remove ldap and reinstall it) - auth/slap.sh + NOVA_PATH/nova/auth/slap.sh /etc/init.d/rabbitmq-server start # ON VOLUME NODE: @@ -91,6 +92,25 @@ ON CLOUD CONTROLLER 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 VOLUME NODE * create a filesystem (you can use an actual disk if you have one spare, default is /dev/sdb) @@ -107,6 +127,7 @@ Launch servers * rabbitmq * redis * slapd +* nginx Launch nova components From c5a93d982b061ee771b283714257dc63e64e63ef Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 10 Jun 2010 22:12:51 -0400 Subject: [PATCH 003/248] Make nginx config be in a code block. --- docs/getting.started.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index df6ecbb0..3b28b436 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -93,7 +93,10 @@ ON CLOUD CONTROLLER iptables --table nat --append POSTROUTING --out-interface $PUBLICIFACE -j MASQUERADE -* Configure NginX proxy (/etc/nginx/sites-enabled/default):: +* Configure NginX proxy (/etc/nginx/sites-enabled/default) + +:: + server { listen 3333 default; server-name localhost; From 5ab096fc70a25b34e8ee84020d7cf18c6b0fcc01 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Thu, 10 Jun 2010 22:14:23 -0400 Subject: [PATCH 004/248] make a "Running" topic instead of having it flow under "Configuration". --- docs/getting.started.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 3b28b436..9d7808a2 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -125,6 +125,9 @@ ON VOLUME NODE losetup --show -f MY_FILE_PATH echo "--storage_dev=/dev/loop0" >> NOVA_PATH/bin/nova.conf +Running +--------- + Launch servers * rabbitmq From c91cf30c14bc2192c85f175387eb926f512f56c9 Mon Sep 17 00:00:00 2001 From: Jesse Andrews Date: Sat, 12 Jun 2010 17:06:35 -0700 Subject: [PATCH 012/248] update twitter username --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index f1bb2d54..19271120 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ The Choose Your Own Adventure README for Nova: itself as "Nova." It is apparent that it maintains compatability with the popular Amazon EC2 and S3 APIs. -To monitor it from a distance: follow @opennova +To monitor it from a distance: follow @novacc on twitter To tame it for use in your own cloud: read http://docs.novacc.org/getting.started.html From f83ad52a13f168f6581f66d418b61713dba02eed Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Sun, 20 Jun 2010 15:09:17 -0700 Subject: [PATCH 013/248] Add a README, because GitHub loves them. Update the getting started docs. --- README | 17 ++++++++++ docs/getting.started.rst | 70 +++++++++++++++++++++++++++++++++------- 2 files changed, 75 insertions(+), 12 deletions(-) create mode 100644 README diff --git a/README b/README new file mode 100644 index 00000000..f1bb2d54 --- /dev/null +++ b/README @@ -0,0 +1,17 @@ +The Choose Your Own Adventure README for Nova: + + You have come across a cloud computing fabric controller. It has identified + itself as "Nova." It is apparent that it maintains compatability with + the popular Amazon EC2 and S3 APIs. + +To monitor it from a distance: follow @opennova + +To tame it for use in your own cloud: read http://docs.novacc.org/getting.started.html + +To study its anatomy: read http://docs.novacc.org/architecture.html + +To disect it in detail: visit http://github.com/nova/cc + +To taunt it with its weaknesses: use http://github.com/nova/cc/issues + +To hack at it: read HACKING diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 777cd32e..3541b253 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -19,20 +19,34 @@ Getting Started with Nova GOTTA HAVE A nova.pth file added or it WONT WORK (will write setup.py file soon) +Create a file named nova.pth in your python libraries directory +(usually /usr/local/lib/python2.6/dist-packages) with a single line that points +to the directory where you checked out the source (that contains the nova/ +directory). + DEPENDENCIES ------------ +Related servers we rely on + * RabbitMQ: messaging queue, used for all communication between components * OpenLDAP: users, groups (maybe cut) +* ReDIS: Remote Dictionary Store (for fast, shared state data) + +Python libraries we don't vendor + +* M2Crypto: python library interface for openssl + +Vendored python libaries (don't require any installation) + * Tornado: scalable non blocking web server for api requests * Twisted: just for the twisted.internet.defer package * boto: python api for aws api -* M2Crypto: python library interface for openssl * IPy: library for managing ip addresses -* ReDIS: Remote Dictionary Store (for fast, shared state data) Recommended ----------------- + * euca2ools: python implementation of aws ec2-tools and ami tools * build tornado to use C module for evented section @@ -41,16 +55,17 @@ Installation -------------- :: - # ON ALL SYSTEMS - apt-get install -y python-libvirt libvirt-bin python-setuptools python-dev python-pycurl python-m2crypto python-twisted - apt-get install -y aoetools vlan + # system libraries and tools + apt-get install -y libvirt-bin aoetools vlan modprobe aoe + # python libraries + apt-get install -y python-libvirt python-setuptools python-dev python-pycurl python-m2crypto + + # ON THE CLOUD CONTROLLER apt-get install -y rabbitmq-server dnsmasq - # fix ec2 metadata/userdata uri - where $IP is the IP of the cloud - 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 + # build redis from 2.0.0-rc1 source # setup ldap (slap.sh as root will remove ldap and reinstall it) auth/slap.sh /etc/init.d/rabbitmq-server start @@ -64,7 +79,38 @@ Installation # optional packages apt-get install -y euca2ools - # Set up flagfiles with the appropriate hostnames, etc. - # start api_worker, s3_worker, node_worker, storage_worker - # Add yourself to the libvirtd group, log out, and log back in - # Make sure the user who will launch the workers has sudo privileges w/o pass (will fix later) +Configuration +--------------- + +ON 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 + +ON VOLUME NODE + +* create a filesystem (you can use an actual disk if you have one spare, default is /dev/sdb) + +:: + + # 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 + echo "--storage_dev=/dev/loop0" >> NOVA_PATH/bin/nova.conf + +Launch servers + +* rabbitmq +* redis +* slapd + +Launch nova components + +* api_worker +* s3_worker +* node_worker +* storage_worker From b5ff20590ef789408f55eaf233ba1bbaa88a5e59 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Sun, 20 Jun 2010 15:09:17 -0700 Subject: [PATCH 014/248] More doc updates: nginx & pycurl. --- docs/getting.started.rst | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 3541b253..323ebf24 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -32,10 +32,12 @@ Related servers we rely on * RabbitMQ: messaging queue, used for all communication between components * OpenLDAP: users, groups (maybe cut) * ReDIS: Remote Dictionary Store (for fast, shared state data) +* nginx: HTTP server to handle serving large files (because Tornado can't) Python libraries we don't vendor * M2Crypto: python library interface for openssl +* curl Vendored python libaries (don't require any installation) @@ -62,12 +64,11 @@ Installation # python libraries apt-get install -y python-libvirt python-setuptools python-dev python-pycurl python-m2crypto - # ON THE CLOUD CONTROLLER - apt-get install -y rabbitmq-server dnsmasq + apt-get install -y rabbitmq-server dnsmasq nginx # build redis from 2.0.0-rc1 source # setup ldap (slap.sh as root will remove ldap and reinstall it) - auth/slap.sh + NOVA_PATH/nova/auth/slap.sh /etc/init.d/rabbitmq-server start # ON VOLUME NODE: @@ -91,6 +92,25 @@ ON CLOUD CONTROLLER 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 VOLUME NODE * create a filesystem (you can use an actual disk if you have one spare, default is /dev/sdb) @@ -107,6 +127,7 @@ Launch servers * rabbitmq * redis * slapd +* nginx Launch nova components From d979259445b3175efe98ebc4cc406276172770bb Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Sun, 20 Jun 2010 15:09:17 -0700 Subject: [PATCH 015/248] Make nginx config be in a code block. --- docs/getting.started.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 323ebf24..446e5f6b 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -93,7 +93,10 @@ ON CLOUD CONTROLLER iptables --table nat --append POSTROUTING --out-interface $PUBLICIFACE -j MASQUERADE -* Configure NginX proxy (/etc/nginx/sites-enabled/default):: +* Configure NginX proxy (/etc/nginx/sites-enabled/default) + +:: + server { listen 3333 default; server-name localhost; From c564d710db75dec96bc64f6fe1611a6098d9ba4f Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Sun, 20 Jun 2010 15:09:17 -0700 Subject: [PATCH 016/248] make a "Running" topic instead of having it flow under "Configuration". --- docs/getting.started.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 446e5f6b..708e75e1 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -125,6 +125,9 @@ ON VOLUME NODE losetup --show -f MY_FILE_PATH echo "--storage_dev=/dev/loop0" >> NOVA_PATH/bin/nova.conf +Running +--------- + Launch servers * rabbitmq From 1a8061bfa687e7245fd5251d232f53e138255536 Mon Sep 17 00:00:00 2001 From: Jesse Andrews Date: Sun, 20 Jun 2010 15:09:17 -0700 Subject: [PATCH 017/248] update twitter username --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index f1bb2d54..19271120 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ The Choose Your Own Adventure README for Nova: itself as "Nova." It is apparent that it maintains compatability with the popular Amazon EC2 and S3 APIs. -To monitor it from a distance: follow @opennova +To monitor it from a distance: follow @novacc on twitter To tame it for use in your own cloud: read http://docs.novacc.org/getting.started.html From 5eb9bca481c0a1e6b46f1cb6b1473d4e50898a3a Mon Sep 17 00:00:00 2001 From: Jesse Andrews Date: Sun, 20 Jun 2010 15:09:58 -0700 Subject: [PATCH 019/248] update spacing --- docs/getting.started.rst | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 708e75e1..d6d76031 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -1,12 +1,12 @@ .. Copyright [2010] [Anso Labs, LLC] - + 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. @@ -67,19 +67,19 @@ Installation # ON THE CLOUD CONTROLLER apt-get install -y rabbitmq-server dnsmasq nginx # build redis from 2.0.0-rc1 source - # setup ldap (slap.sh as root will remove ldap and reinstall it) + # setup ldap (slap.sh as root will remove ldap and reinstall it) NOVA_PATH/nova/auth/slap.sh /etc/init.d/rabbitmq-server start # ON VOLUME NODE: - apt-get install -y vblade-persist + apt-get install -y vblade-persist # ON THE COMPUTE NODE: apt-get install -y kpartx kvm # optional packages - apt-get install -y euca2ools - + apt-get install -y euca2ools + Configuration --------------- @@ -137,7 +137,7 @@ Launch servers Launch nova components -* api_worker -* s3_worker -* node_worker -* storage_worker +* nova-api +* nova-compute +* nova-objectstore +* nova-volume From 8c7baf8ea6c4aa05930971a52d111a2d300aa198 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 24 Jun 2010 04:11:53 +0100 Subject: [PATCH 026/248] re-added cloudpipe Conflicts: bin/nova-manage nova/auth/users.py nova/compute/network.py --- CA/geninter.sh | 6 +- debian/changelog | 127 ++++++++++++++++++++++++++++++++++++- debian/nova-common.install | 1 + 3 files changed, 129 insertions(+), 5 deletions(-) diff --git a/CA/geninter.sh b/CA/geninter.sh index ad3332ad..2aa64a84 100755 --- a/CA/geninter.sh +++ b/CA/geninter.sh @@ -16,7 +16,7 @@ # ARG is the id of the user - +export SUBJ=/C=US/ST=California/L=Mountain View/O=Anso Labs/OU=Nova Dev/CN=customer-intCA-$3 mkdir INTER/$1 cd INTER/$1 cp ../../openssl.cnf.tmpl openssl.cnf @@ -25,6 +25,6 @@ mkdir certs crl newcerts private echo "10" > serial touch index.txt openssl genrsa -out private/cakey.pem 1024 -config ./openssl.cnf -batch -nodes -openssl req -new -sha1 -key private/cakey.pem -out ../../reqs/inter$1.csr -batch -subj "/C=US/ST=California/L=Mountain View/O=Anso Labs/OU=Nova Dev/CN=customer-intCA-$1" +openssl req -new -sha2 -key private/cakey.pem -out ../../reqs/inter$1.csr -batch -subj "$SUBJ" cd ../../ -openssl ca -extensions v3_ca -days 365 -out INTER/$1/cacert.pem -in reqs/inter$1.csr -config openssl.cnf -batch \ No newline at end of file +openssl ca -extensions v3_ca -days 365 -out INTER/$1/cacert.pem -in reqs/inter$1.csr -config openssl.cnf -batch diff --git a/debian/changelog b/debian/changelog index 2b226e04..ee326f3a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,129 @@ -nova (0.3.0-1) UNRELEASED; urgency=low +nova (0.2.1-1) UNRELEASED; urgency=low + + * Support ephemeral (local) space for instances + * instance related fixes + * fix network & cloudpipe bugs + + -- Vishvananda Ishaya Mon, 25 May 2010 12:14:00 -0700 + +nova (0.2.0-20) UNRELEASED; urgency=low + + * template files are in proper folder + + -- Vishvananda Ishaya Mon, 25 May 2010 12:14:00 -0700 + +nova (0.2.0-19) UNRELEASED; urgency=low + + * removed mox dependency and added templates to install + + -- Vishvananda Ishaya Mon, 25 May 2010 11:53:00 -0700 + +nova (0.2.0-18) UNRELEASED; urgency=low + + * api server properly sends instance status code + + -- Vishvananda Ishaya Mon, 24 May 2010 17:18:00 -0700 + +nova (0.2.0-17) UNRELEASED; urgency=low + + * redis-backed datastore + + -- Vishvananda Ishaya Mon, 24 May 2010 16:28:00 -0700 + +nova (0.2.0-16) UNRELEASED; urgency=low + + * make sure twistd.pid is really overriden + + -- Manish Singh Sun, 23 May 2010 22:18:47 -0700 + +nova (0.2.0-15) UNRELEASED; urgency=low + + * rpc shouldn't require tornado unless you are using attach_to_tornado + + -- Jesse Andrews Sun, 23 May 2010 21:59:00 -0700 + +nova (0.2.0-14) UNRELEASED; urgency=low + + * quicky init scripts for the other services, based on nova-objectstore + + -- Manish Singh Sun, 23 May 2010 21:49:43 -0700 + +nova (0.2.0-13) UNRELEASED; urgency=low + + * init script for nova-objectstore + + -- Manish Singh Sun, 23 May 2010 21:33:25 -0700 + +nova (0.2.0-12) UNRELEASED; urgency=low + + * kvm, kpartx required for nova-compute + + -- Jesse Andrews Sun, 23 May 2010 21:32:00 -0700 + +nova (0.2.0-11) UNRELEASED; urgency=low + + * Need to include the python modules in nova-common.install as well. + + -- Manish Singh Sun, 23 May 2010 20:04:27 -0700 + +nova (0.2.0-10) UNRELEASED; urgency=low + + * add more requirements to bin packages + + -- Jesse Andrews Sun, 23 May 2010 19:54:00 -0700 + +nova (0.2.0-9) UNRELEASED; urgency=low + + * nova bin packages should depend on the same version of nova-common they + were built from. + + -- Manish Singh Sun, 23 May 2010 18:46:34 -0700 + +nova (0.2.0-8) UNRELEASED; urgency=low + + * Require libvirt 0.8.1 or newer for nova-compute + + -- Jesse Andrews Sun, 23 May 2010 18:33:00 -0700 + +nova (0.2.0-7) UNRELEASED; urgency=low + + * Split bins into separate packages + + -- Manish Singh Sun, 23 May 2010 18:46:34 -0700 + +nova (0.2.0-6) UNRELEASED; urgency=low + + * Add python-m2crypto to deps + + -- Jesse Andrews Sun, 23 May 2010 18:33:00 -0700 + +nova (0.2.0-5) UNRELEASED; urgency=low + + * Add python-gflags to deps + + -- Manish Singh Sun, 23 May 2010 18:28:50 -0700 + +nova (0.2.0-4) UNRELEASED; urgency=low + + * install scripts + + -- Manish Singh Sun, 23 May 2010 18:16:27 -0700 + +nova (0.2.0-3) UNRELEASED; urgency=low + + * debian build goop + + -- Manish Singh Sun, 23 May 2010 18:06:37 -0700 + +nova (0.2.0-2) UNRELEASED; urgency=low + + * improved requirements + + -- Jesse Andrews Sun, 23 May 2010 17:42:00 -0700 + +nova (0.2.0-1) UNRELEASED; urgency=low * initial release - -- Jesse Andrews Thur, 27 May 2010 12:28:00 -0700 + -- Jesse Andrews Fri, 21 May 2010 12:28:00 -0700 diff --git a/debian/nova-common.install b/debian/nova-common.install index c9358ac4..ab745531 100644 --- a/debian/nova-common.install +++ b/debian/nova-common.install @@ -1,4 +1,5 @@ bin/nova-manage usr/bin nova/auth/novarc.template usr/lib/pymodules/python2.6/nova/auth +nova/cloudpipe/client.ovpn.template usr/lib/pymodules/python2.6/nova/cloudpipe nova/compute/libvirt.xml.template usr/lib/pymodules/python2.6/nova/compute usr/lib/python*/*-packages/nova/* From 1e15f9254e0c4fe20a38de014128c37017fed588 Mon Sep 17 00:00:00 2001 From: Jesse Andrews Date: Thu, 24 Jun 2010 04:11:54 +0100 Subject: [PATCH 028/248] how we build our debs --- builddeb.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 builddeb.sh diff --git a/builddeb.sh b/builddeb.sh new file mode 100755 index 00000000..88e1477d --- /dev/null +++ b/builddeb.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# Copyright [2010] [Anso Labs, LLC] +# +# 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. + +dpkg-buildpackage -b -rfakeroot -tc -uc -D From e67301cf7fc0ce8e09051ff2b977fc05d3d35753 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 24 Jun 2010 04:11:54 +0100 Subject: [PATCH 032/248] Tests for rbac code --- run_tests.py | 1 + 1 file changed, 1 insertion(+) diff --git a/run_tests.py b/run_tests.py index f80f0af1..84791103 100644 --- a/run_tests.py +++ b/run_tests.py @@ -44,6 +44,7 @@ from twisted.scripts import trial as trial_script from nova import flags from nova import twistd +from nova.tests.access_unittest import * from nova.tests.api_unittest import * from nova.tests.cloud_unittest import * from nova.tests.keeper_unittest import * From daabb5020405e2497dd90735b777728ad692f2a9 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Thu, 24 Jun 2010 04:11:54 +0100 Subject: [PATCH 037/248] Adding nojekyll for directories --- .nojekyll | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .nojekyll diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b From 48e7f827e5b6e590cd073f3d8f53c3298cbf65bd Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Thu, 24 Jun 2010 04:11:55 +0100 Subject: [PATCH 040/248] Cleaning up my accidental merge of the docs branch --- .nojekyll | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .nojekyll diff --git a/.nojekyll b/.nojekyll deleted file mode 100644 index e69de29b..00000000 From add107ea3ed04589638338a28bac5d29d0ecb1b7 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Thu, 24 Jun 2010 04:11:56 +0100 Subject: [PATCH 050/248] Set volume status properly, first pass at validation decorators. --- run_tests.py | 1 + 1 file changed, 1 insertion(+) diff --git a/run_tests.py b/run_tests.py index 84791103..957e5d20 100644 --- a/run_tests.py +++ b/run_tests.py @@ -55,6 +55,7 @@ from nova.tests.process_unittest import * from nova.tests.storage_unittest import * from nova.tests.users_unittest import * from nova.tests.datastore_unittest import * +from nova.tests.validator_unittest import * FLAGS = flags.FLAGS From 423b97d94a1decf0fc4dd9a3df7fd0be1f06470c Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 24 Jun 2010 04:11:57 +0100 Subject: [PATCH 063/248] Release 0.2.2 --- debian/changelog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/debian/changelog b/debian/changelog index ee326f3a..20404639 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +nova (0.2.2-1) UNRELEASED; urgency=low + + * First release based on nova/cc + * Major rewrites to volumes and instances + * Addition of cloudpipe and rbac + * Major bugfixes + + -- Vishvananda Ishaya Wed, 02 Jun 2010 17:42:00 -0700 + nova (0.2.1-1) UNRELEASED; urgency=low * Support ephemeral (local) space for instances From f9b1bcdb6c28e7b6c1499e6c24378d455a4399e8 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 24 Jun 2010 04:11:57 +0100 Subject: [PATCH 071/248] Release 0.2.2-2 --- debian/changelog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/debian/changelog b/debian/changelog index 20404639..e7bfe037 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +nova (0.2.2-2) UNRELEASED; urgency=low + + * Bugfixes to volume code + * Instances no longer use keeper + * Sectors off by one fix + * State reported properly by instances + + -- Vishvananda Ishaya Wed, 03 Jun 2010 15:21:00 -0700 + nova (0.2.2-1) UNRELEASED; urgency=low * First release based on nova/cc From d29ffee1d1824f7cef283a1be355a3f6430d8888 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 24 Jun 2010 04:11:59 +0100 Subject: [PATCH 095/248] fix fakeldap so it can use redis keeper --- run_tests.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/run_tests.py b/run_tests.py index 957e5d20..d03dbb98 100644 --- a/run_tests.py +++ b/run_tests.py @@ -60,6 +60,8 @@ from nova.tests.validator_unittest import * FLAGS = flags.FLAGS +flags.DEFINE_bool('flush_db', True, + 'Flush the database before running fake tests') if __name__ == '__main__': OptionsClass = twistd.WrapTwistedOptions(trial_script.Options) @@ -71,6 +73,12 @@ if __name__ == '__main__': # TODO(termie): these should make a call instead of doing work on import if FLAGS.fake_tests: from nova.tests.fake_flags import * + # use db 8 for fake tests + FLAGS.redis_db = 8 + if FLAGS.flush_db: + logging.info("Flushing redis datastore") + r = datastore.Redis.instance() + r.flushdb() else: from nova.tests.real_flags import * From fc5828bc7ca70b6b96397de90ee1c531ac9b0f48 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 24 Jun 2010 04:12:00 +0100 Subject: [PATCH 098/248] Release 2.2-3 --- debian/changelog | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index e7bfe037..481661c4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +nova (0.2.2-3) UNRELEASED; urgency=low + + * Fixes to api calls + * More accurate documentation + * Removal of buggy multiprocessing + * Asynchronus execution of shell commands + * Fix of messaging race condition + * Test redis database cleaned out on each run of tests + * Smoketest updates + + -- Vishvananda Ishaya Wed, 03 Jun 2010 15:21:00 -0700 + nova (0.2.2-2) UNRELEASED; urgency=low * Bugfixes to volume code From 83f2945772d72775d0f754775214a613f30ae352 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 24 Jun 2010 04:12:00 +0100 Subject: [PATCH 100/248] documentation updates Conflicts: README --- docs/getting.started.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index d6d76031..8e384811 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -58,11 +58,11 @@ Installation :: # system libraries and tools - apt-get install -y libvirt-bin aoetools vlan + apt-get install -y aoetools vlan modprobe aoe # python libraries - apt-get install -y python-libvirt python-setuptools python-dev python-pycurl python-m2crypto + apt-get install -y python-setuptools python-dev python-pycurl python-m2crypto # ON THE CLOUD CONTROLLER apt-get install -y rabbitmq-server dnsmasq nginx @@ -75,7 +75,8 @@ Installation apt-get install -y vblade-persist # ON THE COMPUTE NODE: - apt-get install -y kpartx kvm + apt-get install -y python-libvirt + apt-get install -y kpartx kvm libvirt-bin # optional packages apt-get install -y euca2ools From f0dce8d316019a2f6991c588cead42a79540c542 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 24 Jun 2010 04:12:00 +0100 Subject: [PATCH 102/248] Merge of fix to stop twisted threads from interuppting system calls http://twistedmatrix.com/trac/changeset/28447 --- .../Twisted-10.0.0/twisted/internet/base.py | 34 +---- .../twisted/internet/gtk2reactor.py | 27 +++- .../twisted/internet/posixbase.py | 140 +++++++++++++++--- .../twisted/internet/test/reactormixins.py | 15 +- .../twisted/internet/test/test_process.py | 49 +++++- .../Twisted-10.0.0/twisted/topfiles/setup.py | 8 +- 6 files changed, 209 insertions(+), 64 deletions(-) diff --git a/vendor/Twisted-10.0.0/twisted/internet/base.py b/vendor/Twisted-10.0.0/twisted/internet/base.py index 7513f6dd..370de760 100644 --- a/vendor/Twisted-10.0.0/twisted/internet/base.py +++ b/vendor/Twisted-10.0.0/twisted/internet/base.py @@ -1,5 +1,5 @@ # -*- test-case-name: twisted.test.test_internet -*- -# Copyright (c) 2001-2009 Twisted Matrix Laboratories. +# Copyright (c) 2001-2010 Twisted Matrix Laboratories. # See LICENSE for details. """ @@ -22,7 +22,7 @@ from twisted.internet.interfaces import IResolverSimple, IReactorPluggableResolv from twisted.internet.interfaces import IConnector, IDelayedCall from twisted.internet import fdesc, main, error, abstract, defer, threads from twisted.python import log, failure, reflect -from twisted.python.runtime import seconds as runtimeSeconds, platform, platformType +from twisted.python.runtime import seconds as runtimeSeconds, platform from twisted.internet.defer import Deferred, DeferredList from twisted.persisted import styles @@ -468,6 +468,7 @@ class ReactorBase(object): if platform.supportsThreads(): self._initThreads() + self.installWaker() # override in subclasses @@ -889,7 +890,6 @@ class ReactorBase(object): def _initThreads(self): self.usingThreads = True self.resolver = ThreadedResolver(self) - self.installWaker() def callFromThread(self, f, *args, **kw): """ @@ -914,6 +914,9 @@ class ReactorBase(object): self.threadpoolShutdownID = self.addSystemEventTrigger( 'during', 'shutdown', self._stopThreadPool) + def _uninstallHandler(self): + pass + def _stopThreadPool(self): """ Stop the reactor threadpool. This method is only valid if there @@ -1109,31 +1112,6 @@ class _SignalReactorMixin: if hasattr(signal, "SIGBREAK"): signal.signal(signal.SIGBREAK, self.sigBreak) - if platformType == 'posix': - signal.signal(signal.SIGCHLD, self._handleSigchld) - # Also call the signal handler right now, in case we missed any - # signals before we installed it. This should only happen if - # someone used spawnProcess before calling reactor.run (and the - # process also exited already). - self._handleSigchld(signal.SIGCHLD, None) - - - def _handleSigchld(self, signum, frame, _threadSupport=platform.supportsThreads()): - """ - Reap all processes on SIGCHLD. - - This gets called on SIGCHLD. We do no processing inside a signal - handler, as the calls we make here could occur between any two - python bytecode instructions. Deferring processing to the next - eventloop round prevents us from violating the state constraints - of arbitrary classes. - """ - from twisted.internet.process import reapAllProcesses - if _threadSupport: - self.callFromThread(reapAllProcesses) - else: - self.callLater(0, reapAllProcesses) - def startRunning(self, installSignalHandlers=True): """ diff --git a/vendor/Twisted-10.0.0/twisted/internet/gtk2reactor.py b/vendor/Twisted-10.0.0/twisted/internet/gtk2reactor.py index bd979bca..52796d42 100644 --- a/vendor/Twisted-10.0.0/twisted/internet/gtk2reactor.py +++ b/vendor/Twisted-10.0.0/twisted/internet/gtk2reactor.py @@ -1,4 +1,4 @@ -# -*- test-case-name: twisted.internet.test.test_gtk2reactor -*- +# -*- test-case-name: twisted.internet.test -*- # Copyright (c) 2001-2010 Twisted Matrix Laboratories. # See LICENSE for details. @@ -21,8 +21,10 @@ integration. """ # System Imports -import sys +import sys, signal + from zope.interface import implements + try: if not hasattr(sys, 'frozen'): # Don't want to check this for py2exe @@ -41,7 +43,7 @@ if hasattr(gobject, "threads_init"): from twisted.python import log, runtime, failure from twisted.python.compat import set from twisted.internet.interfaces import IReactorFDSet -from twisted.internet import main, posixbase, error, selectreactor +from twisted.internet import main, base, posixbase, error, selectreactor POLL_DISCONNECTED = gobject.IO_HUP | gobject.IO_ERR | gobject.IO_NVAL @@ -104,6 +106,25 @@ class Gtk2Reactor(posixbase.PosixReactorBase): self.__crash = _our_mainquit self.__run = gtk.main + + if runtime.platformType == 'posix': + def _handleSignals(self): + # Let the base class do its thing, but pygtk is probably + # going to stomp on us so go beyond that and set up some + # signal handling which pygtk won't mess with. This would + # be better done by letting this reactor select a + # different implementation of installHandler for + # _SIGCHLDWaker to use. Then, at least, we could fall + # back to our extension module. See #4286. + from twisted.internet.process import reapAllProcesses as _reapAllProcesses + base._SignalReactorMixin._handleSignals(self) + signal.signal(signal.SIGCHLD, lambda *a: self.callFromThread(_reapAllProcesses)) + if getattr(signal, "siginterrupt", None) is not None: + signal.siginterrupt(signal.SIGCHLD, False) + # Like the base, reap processes now in case a process + # exited before the handlers above were installed. + _reapAllProcesses() + # The input_add function in pygtk1 checks for objects with a # 'fileno' method and, if present, uses the result of that method # as the input source. The pygtk2 input_add does not do this. The diff --git a/vendor/Twisted-10.0.0/twisted/internet/posixbase.py b/vendor/Twisted-10.0.0/twisted/internet/posixbase.py index b410a4ee..6ab04484 100644 --- a/vendor/Twisted-10.0.0/twisted/internet/posixbase.py +++ b/vendor/Twisted-10.0.0/twisted/internet/posixbase.py @@ -41,8 +41,7 @@ except ImportError: processEnabled = False if platformType == 'posix': - from twisted.internet import fdesc - import process + from twisted.internet import fdesc, process, _signals processEnabled = True if platform.isWindows(): @@ -103,10 +102,19 @@ class _SocketWaker(log.Logger, styles.Ephemeral): -class _PipeWaker(log.Logger, styles.Ephemeral): +class _FDWaker(object, log.Logger, styles.Ephemeral): """ The I{self-pipe trick}, used to wake up the main loop from another thread or a signal handler. + + L{_FDWaker} is a base class for waker implementations based on + writing to a pipe being monitored by the reactor. + + @ivar o: The file descriptor for the end of the pipe which can be + written to to wake up a reactor monitoring this waker. + + @ivar i: The file descriptor which should be monitored in order to + be awoken by this waker. """ disconnected = 0 @@ -124,22 +132,13 @@ class _PipeWaker(log.Logger, styles.Ephemeral): fdesc._setCloseOnExec(self.o) self.fileno = lambda: self.i + def doRead(self): - """Read some bytes from the pipe. + """ + Read some bytes from the pipe and discard them. """ fdesc.readFromFD(self.fileno(), lambda data: None) - def wakeUp(self): - """Write one byte to the pipe, and flush it. - """ - # We don't use fdesc.writeToFD since we need to distinguish - # between EINTR (try again) and EAGAIN (do nothing). - if self.o is not None: - try: - util.untilConcludes(os.write, self.o, 'x') - except OSError, e: - if e.errno != errno.EAGAIN: - raise def connectionLost(self, reason): """Close both ends of my pipe. @@ -154,25 +153,85 @@ class _PipeWaker(log.Logger, styles.Ephemeral): del self.i, self.o + +class _UnixWaker(_FDWaker): + """ + This class provides a simple interface to wake up the event loop. + + This is used by threads or signals to wake up the event loop. + """ + + def wakeUp(self): + """Write one byte to the pipe, and flush it. + """ + # We don't use fdesc.writeToFD since we need to distinguish + # between EINTR (try again) and EAGAIN (do nothing). + if self.o is not None: + try: + util.untilConcludes(os.write, self.o, 'x') + except OSError, e: + # XXX There is no unit test for raising the exception + # for other errnos. See #4285. + if e.errno != errno.EAGAIN: + raise + + + if platformType == 'posix': - _Waker = _PipeWaker + _Waker = _UnixWaker else: # Primarily Windows and Jython. _Waker = _SocketWaker +class _SIGCHLDWaker(_FDWaker): + """ + L{_SIGCHLDWaker} can wake up a reactor whenever C{SIGCHLD} is + received. + + @see: L{twisted.internet._signals} + """ + def __init__(self, reactor): + _FDWaker.__init__(self, reactor) + + + def install(self): + """ + Install the handler necessary to make this waker active. + """ + _signals.installHandler(self.o) + + + def uninstall(self): + """ + Remove the handler which makes this waker active. + """ + _signals.installHandler(-1) + + + def doRead(self): + """ + Having woken up the reactor in response to receipt of + C{SIGCHLD}, reap the process which exited. + + This is called whenever the reactor notices the waker pipe is + writeable, which happens soon after any call to the C{wakeUp} + method. + """ + _FDWaker.doRead(self) + process.reapAllProcesses() + + + class PosixReactorBase(_SignalReactorMixin, ReactorBase): """ A basis for reactors that use file descriptors. + + @ivar _childWaker: C{None} or a reference to the L{_SIGCHLDWaker} + which is used to properly notice child process termination. """ implements(IReactorArbitrary, IReactorTCP, IReactorUDP, IReactorMulticast) - def __init__(self): - ReactorBase.__init__(self) - if self.usingThreads or platformType == "posix": - self.installWaker() - - def _disconnectSelectable(self, selectable, why, isRead, faildict={ error.ConnectionDone: failure.Failure(error.ConnectionDone()), error.ConnectionLost: failure.Failure(error.ConnectionLost()) @@ -209,6 +268,43 @@ class PosixReactorBase(_SignalReactorMixin, ReactorBase): self.addReader(self.waker) + _childWaker = None + def _handleSignals(self): + """ + Extend the basic signal handling logic to also support + handling SIGCHLD to know when to try to reap child processes. + """ + _SignalReactorMixin._handleSignals(self) + if platformType == 'posix': + if not self._childWaker: + self._childWaker = _SIGCHLDWaker(self) + self._internalReaders.add(self._childWaker) + self.addReader(self._childWaker) + self._childWaker.install() + # Also reap all processes right now, in case we missed any + # signals before we installed the SIGCHLD waker/handler. + # This should only happen if someone used spawnProcess + # before calling reactor.run (and the process also exited + # already). + process.reapAllProcesses() + + def _uninstallHandler(self): + """ + If a child waker was created and installed, uninstall it now. + + Since this disables reactor functionality and is only called + when the reactor is stopping, it doesn't provide any directly + useful functionality, but the cleanup of reactor-related + process-global state that it does helps in unit tests + involving multiple reactors and is generally just a nice + thing. + """ + # XXX This would probably be an alright place to put all of + # the cleanup code for all internal readers (here and in the + # base class, anyway). See #3063 for that cleanup task. + if self._childWaker: + self._childWaker.uninstall() + # IReactorProcess def spawnProcess(self, processProtocol, executable, args=(), diff --git a/vendor/Twisted-10.0.0/twisted/internet/test/reactormixins.py b/vendor/Twisted-10.0.0/twisted/internet/test/reactormixins.py index 2895daf2..09e6e55e 100644 --- a/vendor/Twisted-10.0.0/twisted/internet/test/reactormixins.py +++ b/vendor/Twisted-10.0.0/twisted/internet/test/reactormixins.py @@ -1,4 +1,4 @@ -# Copyright (c) 2008-2009 Twisted Matrix Laboratories. +# Copyright (c) 2008-2010 Twisted Matrix Laboratories. # See LICENSE for details. """ @@ -95,6 +95,7 @@ class ReactorBuilder: # branch that fixes it. # # -exarkun + reactor._uninstallHandler() if getattr(reactor, '_internalReaders', None) is not None: for reader in reactor._internalReaders: reactor.removeReader(reader) @@ -119,10 +120,14 @@ class ReactorBuilder: try: reactor = self.reactorFactory() except: - # Unfortunately, not all errors which result in a reactor being - # unusable are detectable without actually instantiating the - # reactor. So we catch some more here and skip the test if - # necessary. + # Unfortunately, not all errors which result in a reactor + # being unusable are detectable without actually + # instantiating the reactor. So we catch some more here + # and skip the test if necessary. We also log it to aid + # with debugging, but flush the logged error so the test + # doesn't fail. + log.err(None, "Failed to install reactor") + self.flushLoggedErrors() raise SkipTest(Failure().getErrorMessage()) else: if self.requiredInterface is not None: diff --git a/vendor/Twisted-10.0.0/twisted/internet/test/test_process.py b/vendor/Twisted-10.0.0/twisted/internet/test/test_process.py index fbfb788c..06197c05 100644 --- a/vendor/Twisted-10.0.0/twisted/internet/test/test_process.py +++ b/vendor/Twisted-10.0.0/twisted/internet/test/test_process.py @@ -1,4 +1,4 @@ -# Copyright (c) 2008-2009 Twisted Matrix Laboratories. +# Copyright (c) 2008-2010 Twisted Matrix Laboratories. # See LICENSE for details. """ @@ -9,7 +9,7 @@ __metaclass__ = type import os, sys, signal, threading -from twisted.trial.unittest import TestCase +from twisted.trial.unittest import TestCase, SkipTest from twisted.internet.test.reactormixins import ReactorBuilder from twisted.python.compat import set from twisted.python.log import msg, err @@ -22,6 +22,7 @@ from twisted.internet.protocol import ProcessProtocol from twisted.internet.error import ProcessDone, ProcessTerminated + class _ShutdownCallbackProcessProtocol(ProcessProtocol): """ An L{IProcessProtocol} which fires a Deferred when the process it is @@ -174,6 +175,50 @@ class ProcessTestsBuilderBase(ReactorBuilder): self.runReactor(reactor) + def test_systemCallUninterruptedByChildExit(self): + """ + If a child process exits while a system call is in progress, the system + call should not be interfered with. In particular, it should not fail + with EINTR. + + Older versions of Twisted installed a SIGCHLD handler on POSIX without + using the feature exposed by the SA_RESTART flag to sigaction(2). The + most noticable problem this caused was for blocking reads and writes to + sometimes fail with EINTR. + """ + reactor = self.buildReactor() + + # XXX Since pygobject/pygtk wants to use signal.set_wakeup_fd, + # we aren't actually providing this functionality on the glib2 + # or gtk2 reactors yet. See #4286 for the possibility of + # improving this. + skippedReactors = ["Glib2Reactor", "Gtk2Reactor"] + hasSigInterrupt = getattr(signal, "siginterrupt", None) is not None + reactorClassName = reactor.__class__.__name__ + if reactorClassName in skippedReactors and not hasSigInterrupt: + raise SkipTest( + "%s is not supported without siginterrupt" % reactorClassName) + + result = [] + + def f(): + try: + f1 = os.popen('%s -c "import time; time.sleep(0.1)"' % + (sys.executable,)) + f2 = os.popen('%s -c "import time; time.sleep(0.5); print \'Foo\'"' % + (sys.executable,)) + # The read call below will blow up with an EINTR from the + # SIGCHLD from the first process exiting if we install a + # SIGCHLD handler without SA_RESTART. (which we used to do) + result.append(f2.read()) + finally: + reactor.stop() + + reactor.callWhenRunning(f) + self.runReactor(reactor) + self.assertEqual(result, ["Foo\n"]) + + class ProcessTestsBuilder(ProcessTestsBuilderBase): """ diff --git a/vendor/Twisted-10.0.0/twisted/topfiles/setup.py b/vendor/Twisted-10.0.0/twisted/topfiles/setup.py index a135c77f..90ba2448 100644 --- a/vendor/Twisted-10.0.0/twisted/topfiles/setup.py +++ b/vendor/Twisted-10.0.0/twisted/topfiles/setup.py @@ -1,9 +1,7 @@ #!/usr/bin/env python - -# Copyright (c) 2001-2009 Twisted Matrix Laboratories. +# Copyright (c) 2001-2010 Twisted Matrix Laboratories. # See LICENSE for details. - """ Distutils installer for Twisted. """ @@ -47,9 +45,11 @@ extensions = [ '-framework','CoreServices', '-framework','Carbon'], condition=lambda builder: sys.platform == "darwin"), - Extension("twisted.python._initgroups", ["twisted/python/_initgroups.c"]), + Extension("twisted.internet._sigchld", + ["twisted/internet/_sigchld.c"], + condition=lambda builder: sys.platform != "win32"), ] # Figure out which plugins to include: all plugins except subproject ones From 49d1da8dcd1ffe24d725279b2146ed8b412864c6 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 24 Jun 2010 04:12:00 +0100 Subject: [PATCH 103/248] release 2.2-4 --- debian/changelog | 9 +++++++++ debian/control | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 481661c4..36e9a6c9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +nova (0.2.2-4) UNRELEASED; urgency=low + + * Documentation fixes + * Uncaught exceptions now log properly + * Nova Manage zip exporting works again + * Twisted threads no longer interrupt system calls + + -- Vishvananda Ishaya Wed, 03 Jun 2010 15:21:00 -0700 + nova (0.2.2-3) UNRELEASED; urgency=low * Fixes to api calls diff --git a/debian/control b/debian/control index 81af9f4e..a50e6ecf 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,7 @@ XS-Python-Version: 2.6 Package: nova-common Architecture: all -Depends: ${python:Depends}, aoetools, vlan, python-ipy, python-boto, python-m2crypto, python-pycurl, python-twisted, python-daemon, python-redis, python-carrot, python-lockfile, python-gflags, python-tornado, ${misc:Depends} +Depends: ${python:Depends}, aoetools, vlan, python-ipy, python-boto, python-m2crypto, python-pycurl, python-twisted (>= 10.0.0-2ubuntu2nebula1), python-daemon, python-redis, python-carrot, python-lockfile, python-gflags, python-tornado, ${misc:Depends} Provides: ${python:Provides} Conflicts: nova Description: Nova is a cloud From 25b59564c2da4bd4b7974a6171dbc58467cbe64a Mon Sep 17 00:00:00 2001 From: root Date: Thu, 24 Jun 2010 04:12:00 +0100 Subject: [PATCH 105/248] release 2.2-5 --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 36e9a6c9..ef2ab1dd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +nova (0.2.2-5) UNRELEASED; urgency=low + + * Lowered message callback frequency to stop compute and volume + from eating tons of cpu + + -- Vishvananda Ishaya Wed, 03 Jun 2010 15:21:00 -0700 + nova (0.2.2-4) UNRELEASED; urgency=low * Documentation fixes From a042acdf8f4674fd4741ea817042c02d18bec0b5 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 24 Jun 2010 04:12:00 +0100 Subject: [PATCH 107/248] release 0.2.2-6 --- debian/changelog | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index ef2ab1dd..789dad36 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,15 @@ +nova (0.2.2-6) UNRELEASED; urgency=low + + * Fix to make Key Injection work again + + -- Vishvananda Ishaya Mon, 14 Jun 2010 21:35:00 -0700 + nova (0.2.2-5) UNRELEASED; urgency=low * Lowered message callback frequency to stop compute and volume from eating tons of cpu - -- Vishvananda Ishaya Wed, 03 Jun 2010 15:21:00 -0700 + -- Vishvananda Ishaya Mon, 14 Jun 2010 14:15:00 -0700 nova (0.2.2-4) UNRELEASED; urgency=low @@ -12,7 +18,7 @@ nova (0.2.2-4) UNRELEASED; urgency=low * Nova Manage zip exporting works again * Twisted threads no longer interrupt system calls - -- Vishvananda Ishaya Wed, 03 Jun 2010 15:21:00 -0700 + -- Vishvananda Ishaya Sun, 13 Jun 2010 01:40:00 -0700 nova (0.2.2-3) UNRELEASED; urgency=low @@ -24,7 +30,7 @@ nova (0.2.2-3) UNRELEASED; urgency=low * Test redis database cleaned out on each run of tests * Smoketest updates - -- Vishvananda Ishaya Wed, 03 Jun 2010 15:21:00 -0700 + -- Vishvananda Ishaya Fri, 12 Jun 2010 20:10:00 -0700 nova (0.2.2-2) UNRELEASED; urgency=low From dc7b9fc405ed2cba8c9fa55709f6dfe5bf0338df Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 24 Jun 2010 04:12:01 +0100 Subject: [PATCH 111/248] A few missing files from the twisted patch --- .../twisted/internet/_sigchld.c | 101 +++++++++ .../twisted/internet/_signals.py | 184 +++++++++++++++++ .../twisted/internet/test/test_sigchld.py | 194 ++++++++++++++++++ .../twisted/topfiles/733.bugfix | 4 + 4 files changed, 483 insertions(+) create mode 100644 vendor/Twisted-10.0.0/twisted/internet/_sigchld.c create mode 100644 vendor/Twisted-10.0.0/twisted/internet/_signals.py create mode 100644 vendor/Twisted-10.0.0/twisted/internet/test/test_sigchld.py create mode 100644 vendor/Twisted-10.0.0/twisted/topfiles/733.bugfix diff --git a/vendor/Twisted-10.0.0/twisted/internet/_sigchld.c b/vendor/Twisted-10.0.0/twisted/internet/_sigchld.c new file mode 100644 index 00000000..660182bd --- /dev/null +++ b/vendor/Twisted-10.0.0/twisted/internet/_sigchld.c @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2010 Twisted Matrix Laboratories. + * See LICENSE for details. + */ + +#include +#include + +#include "Python.h" + +static int sigchld_pipe_fd = -1; + +static void got_signal(int sig) { + int saved_errno = errno; + int ignored_result; + + /* write() errors are unhandled. If the buffer is full, we don't + * care. What about other errors? */ + ignored_result = write(sigchld_pipe_fd, "x", 1); + + errno = saved_errno; +} + +PyDoc_STRVAR(install_sigchld_handler_doc, "\ +install_sigchld_handler(fd)\n\ +\n\ +Installs a SIGCHLD handler which will write a byte to the given fd\n\ +whenever a SIGCHLD occurs. This is done in C code because the python\n\ +signal handling system is not reliable, and additionally cannot\n\ +specify SA_RESTART.\n\ +\n\ +Please ensure fd is in non-blocking mode.\n\ +"); + +static PyObject * +install_sigchld_handler(PyObject *self, PyObject *args) { + int fd, old_fd; + struct sigaction sa; + + if (!PyArg_ParseTuple(args, "i:install_sigchld_handler", &fd)) { + return NULL; + } + old_fd = sigchld_pipe_fd; + sigchld_pipe_fd = fd; + + if (fd == -1) { + sa.sa_handler = SIG_DFL; + } else { + sa.sa_handler = got_signal; + sa.sa_flags = SA_RESTART; + /* mask all signals so I don't worry about EINTR from the write. */ + sigfillset(&sa.sa_mask); + } + if (sigaction(SIGCHLD, &sa, 0) != 0) { + sigchld_pipe_fd = old_fd; + return PyErr_SetFromErrno(PyExc_OSError); + } + return PyLong_FromLong(old_fd); +} + +PyDoc_STRVAR(is_default_handler_doc, "\ +Return 1 if the SIGCHLD handler is SIG_DFL, 0 otherwise.\n\ +"); + +static PyObject * +is_default_handler(PyObject *self, PyObject *args) { + /* + * This implementation is necessary since the install_sigchld_handler + * function above bypasses the Python signal handler installation API, so + * CPython doesn't notice that the handler has changed and signal.getsignal + * won't return an accurate result. + */ + struct sigaction sa; + + if (sigaction(SIGCHLD, NULL, &sa) != 0) { + return PyErr_SetFromErrno(PyExc_OSError); + } + + return PyLong_FromLong(sa.sa_handler == SIG_DFL); +} + +static PyMethodDef sigchld_methods[] = { + {"installHandler", install_sigchld_handler, METH_VARARGS, + install_sigchld_handler_doc}, + {"isDefaultHandler", is_default_handler, METH_NOARGS, + is_default_handler_doc}, + /* sentinel */ + {NULL, NULL, 0, NULL} +}; + + +static const char _sigchld_doc[] = "\n\ +This module contains an API for receiving SIGCHLD via a file descriptor.\n\ +"; + +PyMODINIT_FUNC +init_sigchld(void) { + /* Create the module and add the functions */ + Py_InitModule3( + "twisted.internet._sigchld", sigchld_methods, _sigchld_doc); +} diff --git a/vendor/Twisted-10.0.0/twisted/internet/_signals.py b/vendor/Twisted-10.0.0/twisted/internet/_signals.py new file mode 100644 index 00000000..faf2e244 --- /dev/null +++ b/vendor/Twisted-10.0.0/twisted/internet/_signals.py @@ -0,0 +1,184 @@ +# -*- test-case-name: twisted.test.test_process,twisted.internet.test.test_process -*- +# Copyright (c) 2010 Twisted Matrix Laboratories. +# See LICENSE for details. + +""" +This module provides a uniform interface to the several mechanisms which are +possibly available for dealing with signals. + +This module is used to integrate child process termination into a +reactor event loop. This is a challenging feature to provide because +most platforms indicate process termination via SIGCHLD and do not +provide a way to wait for that signal and arbitrary I/O events at the +same time. The naive implementation involves installing a Python +SIGCHLD handler; unfortunately this leads to other syscalls being +interrupted (whenever SIGCHLD is received) and failing with EINTR +(which almost no one is prepared to handle). This interruption can be +disabled via siginterrupt(2) (or one of the equivalent mechanisms); +however, if the SIGCHLD is delivered by the platform to a non-main +thread (not a common occurrence, but difficult to prove impossible), +the main thread (waiting on select() or another event notification +API) may not wake up leading to an arbitrary delay before the child +termination is noticed. + +The basic solution to all these issues involves enabling SA_RESTART +(ie, disabling system call interruption) and registering a C signal +handler which writes a byte to a pipe. The other end of the pipe is +registered with the event loop, allowing it to wake up shortly after +SIGCHLD is received. See L{twisted.internet.posixbase._SIGCHLDWaker} +for the implementation of the event loop side of this solution. The +use of a pipe this way is known as the U{self-pipe +trick}. + +The actual solution implemented in this module depends on the version +of Python. From version 2.6, C{signal.siginterrupt} and +C{signal.set_wakeup_fd} allow the necessary C signal handler which +writes to the pipe to be registered with C{SA_RESTART}. Prior to 2.6, +the L{twisted.internet._sigchld} extension module provides similar +functionality. + +If neither of these is available, a Python signal handler is used +instead. This is essentially the naive solution mentioned above and +has the problems described there. +""" + +import os + +try: + from signal import set_wakeup_fd, siginterrupt +except ImportError: + set_wakeup_fd = siginterrupt = None + +try: + import signal +except ImportError: + signal = None + +from twisted.python.log import msg + +try: + from twisted.internet._sigchld import installHandler as _extInstallHandler, \ + isDefaultHandler as _extIsDefaultHandler +except ImportError: + _extInstallHandler = _extIsDefaultHandler = None + + +class _Handler(object): + """ + L{_Handler} is a signal handler which writes a byte to a file descriptor + whenever it is invoked. + + @ivar fd: The file descriptor to which to write. If this is C{None}, + nothing will be written. + """ + def __init__(self, fd): + self.fd = fd + + + def __call__(self, *args): + """ + L{_Handler.__call__} is the signal handler. It will write a byte to + the wrapped file descriptor, if there is one. + """ + if self.fd is not None: + try: + os.write(self.fd, '\0') + except: + pass + + + +def _installHandlerUsingSignal(fd): + """ + Install a signal handler which will write a byte to C{fd} when + I{SIGCHLD} is received. + + This is implemented by creating an instance of L{_Handler} with C{fd} + and installing it as the signal handler. + + @param fd: The file descriptor to which to write when I{SIGCHLD} is + received. + @type fd: C{int} + """ + if fd == -1: + previous = signal.signal(signal.SIGCHLD, signal.SIG_DFL) + else: + previous = signal.signal(signal.SIGCHLD, _Handler(fd)) + if isinstance(previous, _Handler): + return previous.fd + return -1 + + + +def _installHandlerUsingSetWakeup(fd): + """ + Install a signal handler which will write a byte to C{fd} when + I{SIGCHLD} is received. + + This is implemented by installing an instance of L{_Handler} wrapped + around C{None}, setting the I{SIGCHLD} handler as not allowed to + interrupt system calls, and using L{signal.set_wakeup_fd} to do the + actual writing. + + @param fd: The file descriptor to which to write when I{SIGCHLD} is + received. + @type fd: C{int} + """ + if fd == -1: + signal.signal(signal.SIGCHLD, signal.SIG_DFL) + else: + signal.signal(signal.SIGCHLD, _Handler(None)) + siginterrupt(signal.SIGCHLD, False) + return set_wakeup_fd(fd) + + + +def _isDefaultHandler(): + """ + Determine whether the I{SIGCHLD} handler is the default or not. + """ + return signal.getsignal(signal.SIGCHLD) == signal.SIG_DFL + + + +def _cannotInstallHandler(fd): + """ + Fail to install a signal handler for I{SIGCHLD}. + + This implementation is used when the supporting code for the other + implementations is unavailable (on Python versions 2.5 and older where + neither the L{twisted.internet._sigchld} extension nor the standard + L{signal} module is available). + + @param fd: Ignored; only for compatibility with the other + implementations of this interface. + + @raise RuntimeError: Always raised to indicate no I{SIGCHLD} handler can + be installed. + """ + raise RuntimeError("Cannot install a SIGCHLD handler") + + + +def _cannotDetermineDefault(): + raise RuntimeError("No usable signal API available") + + + +if set_wakeup_fd is not None: + msg('using set_wakeup_fd') + installHandler = _installHandlerUsingSetWakeup + isDefaultHandler = _isDefaultHandler +elif _extInstallHandler is not None: + msg('using _sigchld') + installHandler = _extInstallHandler + isDefaultHandler = _extIsDefaultHandler +elif signal is not None: + msg('using signal module') + installHandler = _installHandlerUsingSignal + isDefaultHandler = _isDefaultHandler +else: + msg('nothing unavailable') + installHandler = _cannotInstallHandler + isDefaultHandler = _cannotDetermineDefault + diff --git a/vendor/Twisted-10.0.0/twisted/internet/test/test_sigchld.py b/vendor/Twisted-10.0.0/twisted/internet/test/test_sigchld.py new file mode 100644 index 00000000..b7e49212 --- /dev/null +++ b/vendor/Twisted-10.0.0/twisted/internet/test/test_sigchld.py @@ -0,0 +1,194 @@ +# Copyright (c) 2010 Twisted Matrix Laboratories. +# See LICENSE for details. + +""" +Tests for L{twisted.internet._sigchld}, an alternate, superior SIGCHLD +monitoring API. +""" + +import os, signal, errno + +from twisted.python.log import msg +from twisted.trial.unittest import TestCase +from twisted.internet.fdesc import setNonBlocking +from twisted.internet._signals import installHandler, isDefaultHandler +from twisted.internet._signals import _extInstallHandler, _extIsDefaultHandler +from twisted.internet._signals import _installHandlerUsingSetWakeup, \ + _installHandlerUsingSignal, _isDefaultHandler + + +class SIGCHLDTestsMixin: + """ + Mixin for L{TestCase} subclasses which defines several tests for + I{installHandler} and I{isDefaultHandler}. Subclasses are expected to + define C{self.installHandler} and C{self.isDefaultHandler} to invoke the + implementation to be tested. + """ + + if getattr(signal, 'SIGCHLD', None) is None: + skip = "Platform does not have SIGCHLD" + + def installHandler(self, fd): + """ + Override in a subclass to install a SIGCHLD handler which writes a byte + to the given file descriptor. Return the previously registered file + descriptor. + """ + raise NotImplementedError() + + + def isDefaultHandler(self): + """ + Override in a subclass to determine if the current SIGCHLD handler is + SIG_DFL or not. Return True if it is SIG_DFL, False otherwise. + """ + raise NotImplementedError() + + + def pipe(self): + """ + Create a non-blocking pipe which will be closed after the currently + running test. + """ + read, write = os.pipe() + self.addCleanup(os.close, read) + self.addCleanup(os.close, write) + setNonBlocking(read) + setNonBlocking(write) + return read, write + + + def setUp(self): + """ + Save the current SIGCHLD handler as reported by L{signal.signal} and + the current file descriptor registered with L{installHandler}. + """ + handler = signal.getsignal(signal.SIGCHLD) + if handler != signal.SIG_DFL: + self.signalModuleHandler = handler + signal.signal(signal.SIGCHLD, signal.SIG_DFL) + else: + self.signalModuleHandler = None + + self.oldFD = self.installHandler(-1) + + if self.signalModuleHandler is not None and self.oldFD != -1: + msg("SIGCHLD setup issue: %r %r" % (self.signalModuleHandler, self.oldFD)) + raise RuntimeError("You used some signal APIs wrong! Try again.") + + + def tearDown(self): + """ + Restore whatever signal handler was present when setUp ran. + """ + # If tests set up any kind of handlers, clear them out. + self.installHandler(-1) + signal.signal(signal.SIGCHLD, signal.SIG_DFL) + + # Now restore whatever the setup was before the test ran. + if self.signalModuleHandler is not None: + signal.signal(signal.SIGCHLD, self.signalModuleHandler) + elif self.oldFD != -1: + self.installHandler(self.oldFD) + + + def test_isDefaultHandler(self): + """ + L{isDefaultHandler} returns true if the SIGCHLD handler is SIG_DFL, + false otherwise. + """ + self.assertTrue(self.isDefaultHandler()) + signal.signal(signal.SIGCHLD, signal.SIG_IGN) + self.assertFalse(self.isDefaultHandler()) + signal.signal(signal.SIGCHLD, signal.SIG_DFL) + self.assertTrue(self.isDefaultHandler()) + signal.signal(signal.SIGCHLD, lambda *args: None) + self.assertFalse(self.isDefaultHandler()) + + + def test_returnOldFD(self): + """ + L{installHandler} returns the previously registered file descriptor. + """ + read, write = self.pipe() + oldFD = self.installHandler(write) + self.assertEqual(self.installHandler(oldFD), write) + + + def test_uninstallHandler(self): + """ + C{installHandler(-1)} removes the SIGCHLD handler completely. + """ + read, write = self.pipe() + self.assertTrue(self.isDefaultHandler()) + self.installHandler(write) + self.assertFalse(self.isDefaultHandler()) + self.installHandler(-1) + self.assertTrue(self.isDefaultHandler()) + + + def test_installHandler(self): + """ + The file descriptor passed to L{installHandler} has a byte written to + it when SIGCHLD is delivered to the process. + """ + read, write = self.pipe() + self.installHandler(write) + + exc = self.assertRaises(OSError, os.read, read, 1) + self.assertEqual(exc.errno, errno.EAGAIN) + + os.kill(os.getpid(), signal.SIGCHLD) + + self.assertEqual(len(os.read(read, 5)), 1) + + + +class DefaultSIGCHLDTests(SIGCHLDTestsMixin, TestCase): + """ + Tests for whatever implementation is selected for the L{installHandler} + and L{isDefaultHandler} APIs. + """ + installHandler = staticmethod(installHandler) + isDefaultHandler = staticmethod(isDefaultHandler) + + + +class ExtensionSIGCHLDTests(SIGCHLDTestsMixin, TestCase): + """ + Tests for the L{twisted.internet._sigchld} implementation of the + L{installHandler} and L{isDefaultHandler} APIs. + """ + try: + import twisted.internet._sigchld + except ImportError: + skip = "twisted.internet._sigchld is not available" + + installHandler = _extInstallHandler + isDefaultHandler = _extIsDefaultHandler + + + +class SetWakeupSIGCHLDTests(SIGCHLDTestsMixin, TestCase): + """ + Tests for the L{signal.set_wakeup_fd} implementation of the + L{installHandler} and L{isDefaultHandler} APIs. + """ + # Check both of these. On Ubuntu 9.10 (to take an example completely at + # random), Python 2.5 has set_wakeup_fd but not siginterrupt. + if (getattr(signal, 'set_wakeup_fd', None) is None + or getattr(signal, 'siginterrupt', None) is None): + skip = "signal.set_wakeup_fd is not available" + + installHandler = staticmethod(_installHandlerUsingSetWakeup) + isDefaultHandler = staticmethod(_isDefaultHandler) + + + +class PlainSignalModuleSIGCHLDTests(SIGCHLDTestsMixin, TestCase): + """ + Tests for the L{signal.signal} implementation of the L{installHandler} + and L{isDefaultHandler} APIs. + """ + installHandler = staticmethod(_installHandlerUsingSignal) + isDefaultHandler = staticmethod(_isDefaultHandler) diff --git a/vendor/Twisted-10.0.0/twisted/topfiles/733.bugfix b/vendor/Twisted-10.0.0/twisted/topfiles/733.bugfix new file mode 100644 index 00000000..22d80032 --- /dev/null +++ b/vendor/Twisted-10.0.0/twisted/topfiles/733.bugfix @@ -0,0 +1,4 @@ +On POSIX platforms, reactors now support child processes in a way +which doesn't cause other syscalls to sometimes fail with EINTR (if +running on Python 2.6 or if Twisted's extension modules have been +built). From 7e708a1e19b6176d1485f6a19f00402fbb4d4f03 Mon Sep 17 00:00:00 2001 From: Devin Carlen Date: Wed, 23 Jun 2010 22:04:16 -0700 Subject: [PATCH 113/248] Updated licenses --- builddeb.sh | 30 +++++++++++------- docs/architecture.rst | 26 +++++++++------- docs/auth.rst | 26 +++++++++------- docs/binaries.rst | 26 +++++++++------- docs/compute.rst | 26 +++++++++------- docs/endpoint.rst | 26 +++++++++------- docs/fakes.rst | 26 +++++++++------- docs/getting.started.rst | 20 +++++++----- docs/index.rst | 29 +++++++++-------- docs/modules.rst | 26 +++++++++------- docs/network.rst | 26 +++++++++------- docs/nova.rst | 26 +++++++++------- docs/objectstore.rst | 26 +++++++++------- docs/packages.rst | 26 +++++++++------- docs/storage.rst | 26 +++++++++------- docs/volume.rst | 26 +++++++++------- run_tests.py | 23 ++++++++------ setup.py | 31 +++++++++++-------- vendor/tornado/demos/appengine/blog.py | 18 +++++------ vendor/tornado/demos/auth/authdemo.py | 18 +++++------ vendor/tornado/demos/blog/blog.py | 18 +++++------ vendor/tornado/demos/chat/chatdemo.py | 18 +++++------ vendor/tornado/demos/facebook/facebook.py | 18 +++++------ vendor/tornado/demos/facebook/uimodules.py | 18 +++++------ vendor/tornado/demos/helloworld/helloworld.py | 18 +++++------ vendor/tornado/setup.py | 18 +++++------ vendor/tornado/tornado/__init__.py | 18 +++++------ vendor/tornado/tornado/auth.py | 18 +++++------ vendor/tornado/tornado/autoreload.py | 18 +++++------ vendor/tornado/tornado/database.py | 18 +++++------ vendor/tornado/tornado/escape.py | 18 +++++------ vendor/tornado/tornado/httpclient.py | 18 +++++------ vendor/tornado/tornado/httpserver.py | 18 +++++------ vendor/tornado/tornado/ioloop.py | 18 +++++------ vendor/tornado/tornado/iostream.py | 18 +++++------ vendor/tornado/tornado/locale.py | 18 +++++------ vendor/tornado/tornado/options.py | 18 +++++------ vendor/tornado/tornado/s3server.py | 18 +++++------ vendor/tornado/tornado/template.py | 18 +++++------ vendor/tornado/tornado/web.py | 18 +++++------ vendor/tornado/tornado/websocket.py | 18 +++++------ vendor/tornado/tornado/wsgi.py | 18 +++++------ vendor/tornado/website/website.py | 18 +++++------ 43 files changed, 498 insertions(+), 423 deletions(-) diff --git a/builddeb.sh b/builddeb.sh index 88e1477d..5055dd33 100755 --- a/builddeb.sh +++ b/builddeb.sh @@ -1,16 +1,22 @@ #!/bin/sh -# Copyright [2010] [Anso Labs, LLC] -# -# 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 -# +# 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. +# +# Copyright 2010 Anso Labs, LLC +# +# 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. +# 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. dpkg-buildpackage -b -rfakeroot -tc -uc -D diff --git a/docs/architecture.rst b/docs/architecture.rst index 9aab7afb..0000a02d 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 System Architecture ======================== diff --git a/docs/auth.rst b/docs/auth.rst index ba001cfe..c906a481 100644 --- a/docs/auth.rst +++ b/docs/auth.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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. Auth Documentation ================== diff --git a/docs/binaries.rst b/docs/binaries.rst index eee08916..fa6127bb 100644 --- a/docs/binaries.rst +++ b/docs/binaries.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 Binaries =============== diff --git a/docs/compute.rst b/docs/compute.rst index e2b32fae..7b4f82a3 100644 --- a/docs/compute.rst +++ b/docs/compute.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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. Compute Documentation ===================== diff --git a/docs/endpoint.rst b/docs/endpoint.rst index 86a1a3be..830c9966 100644 --- a/docs/endpoint.rst +++ b/docs/endpoint.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ====================== diff --git a/docs/fakes.rst b/docs/fakes.rst index f105c6b8..1454ca7b 100644 --- a/docs/fakes.rst +++ b/docs/fakes.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 Fakes ========== diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 8e384811..ffa396e0 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] + 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 + Copyright 2010 Anso Labs, LLC + + 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. + 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. Getting Started with Nova ========================= diff --git a/docs/index.rst b/docs/index.rst index b86f1432..9a5fa32a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,18 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + Copyright 2010 Anso Labs, LLC + + 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. Welcome to nova's documentation! ================================ diff --git a/docs/modules.rst b/docs/modules.rst index f927a52d..11e1eef7 100644 --- a/docs/modules.rst +++ b/docs/modules.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ================== diff --git a/docs/network.rst b/docs/network.rst index 49e36170..2787ae45 100644 --- a/docs/network.rst +++ b/docs/network.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 Networking ================ diff --git a/docs/nova.rst b/docs/nova.rst index 7f1feda1..01da3441 100644 --- a/docs/nova.rst +++ b/docs/nova.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 Libraries =============== diff --git a/docs/objectstore.rst b/docs/objectstore.rst index 64122c9b..70048354 100644 --- a/docs/objectstore.rst +++ b/docs/objectstore.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ========================= diff --git a/docs/packages.rst b/docs/packages.rst index ad1386f1..fb28e850 100644 --- a/docs/packages.rst +++ b/docs/packages.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ============================ diff --git a/docs/storage.rst b/docs/storage.rst index 94d7bdee..f8c98b18 100644 --- a/docs/storage.rst +++ b/docs/storage.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ========================= diff --git a/docs/volume.rst b/docs/volume.rst index 18ce70a3..3981daf9 100644 --- a/docs/volume.rst +++ b/docs/volume.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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. Volume Documentation ==================== diff --git a/run_tests.py b/run_tests.py index d03dbb98..bcbb29c6 100644 --- a/run_tests.py +++ b/run_tests.py @@ -1,17 +1,22 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 -# Copyright [2010] [Anso Labs, LLC] + +# 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 +# Copyright 2010 Anso Labs, LLC # -# http://www.apache.org/licenses/LICENSE-2.0 +# 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. +# 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. """ This is our basic test running framework based on Twisted's Trial. diff --git a/setup.py b/setup.py index a25ae0c8..327e455c 100644 --- a/setup.py +++ b/setup.py @@ -1,17 +1,22 @@ -#!/usr/bin/env python -# Copyright [2010] [Anso Labs, LLC] -# -# 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 -# +# 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. +# +# Copyright 2010 Anso Labs, LLC +# +# 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. +# 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. import glob import os diff --git a/vendor/tornado/demos/appengine/blog.py b/vendor/tornado/demos/appengine/blog.py index ccaabd53..ee7e5b8a 100644 --- a/vendor/tornado/demos/appengine/blog.py +++ b/vendor/tornado/demos/appengine/blog.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import functools import markdown diff --git a/vendor/tornado/demos/auth/authdemo.py b/vendor/tornado/demos/auth/authdemo.py index e6136d1b..f1b3c83a 100755 --- a/vendor/tornado/demos/auth/authdemo.py +++ b/vendor/tornado/demos/auth/authdemo.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import tornado.auth import tornado.escape diff --git a/vendor/tornado/demos/blog/blog.py b/vendor/tornado/demos/blog/blog.py index 808a9afc..b6242af7 100755 --- a/vendor/tornado/demos/blog/blog.py +++ b/vendor/tornado/demos/blog/blog.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import markdown import os.path diff --git a/vendor/tornado/demos/chat/chatdemo.py b/vendor/tornado/demos/chat/chatdemo.py index 7086592e..9843b065 100755 --- a/vendor/tornado/demos/chat/chatdemo.py +++ b/vendor/tornado/demos/chat/chatdemo.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import logging import tornado.auth diff --git a/vendor/tornado/demos/facebook/facebook.py b/vendor/tornado/demos/facebook/facebook.py index 0c984dda..19b4d1a4 100755 --- a/vendor/tornado/demos/facebook/facebook.py +++ b/vendor/tornado/demos/facebook/facebook.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import logging import os.path diff --git a/vendor/tornado/demos/facebook/uimodules.py b/vendor/tornado/demos/facebook/uimodules.py index 1173db63..b4c65440 100644 --- a/vendor/tornado/demos/facebook/uimodules.py +++ b/vendor/tornado/demos/facebook/uimodules.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import tornado.web diff --git a/vendor/tornado/demos/helloworld/helloworld.py b/vendor/tornado/demos/helloworld/helloworld.py index 0f1ed61f..e97fe68b 100755 --- a/vendor/tornado/demos/helloworld/helloworld.py +++ b/vendor/tornado/demos/helloworld/helloworld.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import tornado.httpserver import tornado.ioloop diff --git a/vendor/tornado/setup.py b/vendor/tornado/setup.py index 5cb69df2..444beb71 100644 --- a/vendor/tornado/setup.py +++ b/vendor/tornado/setup.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import distutils.core import sys diff --git a/vendor/tornado/tornado/__init__.py b/vendor/tornado/tornado/__init__.py index 8f73764e..fdad0561 100644 --- a/vendor/tornado/tornado/__init__.py +++ b/vendor/tornado/tornado/__init__.py @@ -2,16 +2,16 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """The Tornado web server and tools.""" diff --git a/vendor/tornado/tornado/auth.py b/vendor/tornado/tornado/auth.py index f67d9e54..635bc218 100644 --- a/vendor/tornado/tornado/auth.py +++ b/vendor/tornado/tornado/auth.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """Implementations of various third-party authentication schemes. diff --git a/vendor/tornado/tornado/autoreload.py b/vendor/tornado/tornado/autoreload.py index 231cfe89..1e9b38b1 100644 --- a/vendor/tornado/tornado/autoreload.py +++ b/vendor/tornado/tornado/autoreload.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """A module to automatically restart the server when a module is modified. diff --git a/vendor/tornado/tornado/database.py b/vendor/tornado/tornado/database.py index 3f78e00b..d933c167 100644 --- a/vendor/tornado/tornado/database.py +++ b/vendor/tornado/tornado/database.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """A lightweight wrapper around MySQLdb.""" diff --git a/vendor/tornado/tornado/escape.py b/vendor/tornado/tornado/escape.py index bacb1c51..9471e7e6 100644 --- a/vendor/tornado/tornado/escape.py +++ b/vendor/tornado/tornado/escape.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """Escaping/unescaping methods for HTML, JSON, URLs, and others.""" diff --git a/vendor/tornado/tornado/httpclient.py b/vendor/tornado/tornado/httpclient.py index 2c9155eb..fa4917ea 100644 --- a/vendor/tornado/tornado/httpclient.py +++ b/vendor/tornado/tornado/httpclient.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """Blocking and non-blocking HTTP client implementations using pycurl.""" diff --git a/vendor/tornado/tornado/httpserver.py b/vendor/tornado/tornado/httpserver.py index a7ec57ee..801c68af 100644 --- a/vendor/tornado/tornado/httpserver.py +++ b/vendor/tornado/tornado/httpserver.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """A non-blocking, single-threaded HTTP server.""" diff --git a/vendor/tornado/tornado/ioloop.py b/vendor/tornado/tornado/ioloop.py index e94c1737..6d502dc4 100644 --- a/vendor/tornado/tornado/ioloop.py +++ b/vendor/tornado/tornado/ioloop.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """A level-triggered I/O loop for non-blocking sockets.""" diff --git a/vendor/tornado/tornado/iostream.py b/vendor/tornado/tornado/iostream.py index af7c6edb..063fe76a 100644 --- a/vendor/tornado/tornado/iostream.py +++ b/vendor/tornado/tornado/iostream.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """A utility class to write to and read from a non-blocking socket.""" diff --git a/vendor/tornado/tornado/locale.py b/vendor/tornado/tornado/locale.py index 6a8537d7..b819f6cf 100644 --- a/vendor/tornado/tornado/locale.py +++ b/vendor/tornado/tornado/locale.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """Translation methods for generating localized strings. diff --git a/vendor/tornado/tornado/options.py b/vendor/tornado/tornado/options.py index 66bce091..c2c39361 100644 --- a/vendor/tornado/tornado/options.py +++ b/vendor/tornado/tornado/options.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """A command line parsing module that lets modules define their own options. diff --git a/vendor/tornado/tornado/s3server.py b/vendor/tornado/tornado/s3server.py index 2e8a97de..bfbce65b 100644 --- a/vendor/tornado/tornado/s3server.py +++ b/vendor/tornado/tornado/s3server.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """Implementation of an S3-like storage server based on local files. diff --git a/vendor/tornado/tornado/template.py b/vendor/tornado/tornado/template.py index 7ed56cfa..25c00be0 100644 --- a/vendor/tornado/tornado/template.py +++ b/vendor/tornado/tornado/template.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """A simple template system that compiles templates to Python code. diff --git a/vendor/tornado/tornado/web.py b/vendor/tornado/tornado/web.py index 7559fae8..06b8e9e8 100644 --- a/vendor/tornado/tornado/web.py +++ b/vendor/tornado/tornado/web.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """The Tornado web framework. diff --git a/vendor/tornado/tornado/websocket.py b/vendor/tornado/tornado/websocket.py index 38a58012..5bab75c8 100644 --- a/vendor/tornado/tornado/websocket.py +++ b/vendor/tornado/tornado/websocket.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. import functools import logging diff --git a/vendor/tornado/tornado/wsgi.py b/vendor/tornado/tornado/wsgi.py index 69fa0988..b65eaed9 100644 --- a/vendor/tornado/tornado/wsgi.py +++ b/vendor/tornado/tornado/wsgi.py @@ -2,17 +2,17 @@ # # Copyright 2009 Facebook # -# 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 +# 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 +# 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. +# 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. """WSGI support for the Tornado web framework. diff --git a/vendor/tornado/website/website.py b/vendor/tornado/website/website.py index f073b67e..a07710ee 100644 --- a/vendor/tornado/website/website.py +++ b/vendor/tornado/website/website.py @@ -2,17 +2,17 @@ # # Copyright 2009 Bret Taylor # -# 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 +# 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 +# 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. +# 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. import markdown import os From 1e885f4aa521504047e34987da0f766e7dda627c Mon Sep 17 00:00:00 2001 From: Devin Carlen Date: Wed, 23 Jun 2010 22:56:50 -0700 Subject: [PATCH 114/248] added nova-instancemonitor debian config --- debian/control | 5 +++ debian/nova-instancemonitor.init | 69 +++++++++++++++++++++++++++++ debian/nova-instancemonitor.install | 1 + 3 files changed, 75 insertions(+) create mode 100644 debian/nova-instancemonitor.init create mode 100644 debian/nova-instancemonitor.install diff --git a/debian/control b/debian/control index a50e6ecf..bb207123 100644 --- a/debian/control +++ b/debian/control @@ -34,6 +34,11 @@ Architecture: all Depends: nova-common (= ${binary:Version}), ${python:Depends}, ${misc:Depends} Description: Nova object store +Package: nova-instancemonitor +Architecture: all +Depends: nova-common (= ${binary:Version}), ${python:Depends}, ${misc:Depends} +Description: Nova instance monitor + Package: nova-tools Architecture: all Depends: python-boto, ${python:Depends}, ${misc:Depends} diff --git a/debian/nova-instancemonitor.init b/debian/nova-instancemonitor.init new file mode 100644 index 00000000..2865fc33 --- /dev/null +++ b/debian/nova-instancemonitor.init @@ -0,0 +1,69 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: nova-instancemonitor +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: nova-instancemonitor +# Description: nova-instancemonitor +### END INIT INFO + + +set -e + +DAEMON=/usr/bin/nova-instancemonitor +DAEMON_ARGS="--flagfile=/etc/nova.conf" +PIDFILE=/var/run/nova-instancemonitor.pid + +ENABLED=false + +if test -f /etc/default/nova-instancemonitor; then + . /etc/default/nova-instancemonitor +fi + +. /lib/lsb/init-functions + +export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" + +case "$1" in + start) + test "$ENABLED" = "true" || exit 0 + log_daemon_msg "Starting nova compute" "nova-instancemonitor" + cd /var/run + if $DAEMON $DAEMON_ARGS start; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + stop) + test "$ENABLED" = "true" || exit 0 + log_daemon_msg "Stopping nova compute" "nova-instancemonitor" + cd /var/run + if $DAEMON $DAEMON_ARGS stop; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + restart|force-reload) + test "$ENABLED" = "true" || exit 1 + cd /var/run + if $DAEMON $DAEMON_ARGS restart; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + status) + test "$ENABLED" = "true" || exit 0 + status_of_proc -p $PIDFILE $DAEMON nova-instancemonitor && exit 0 || exit $? + ;; + *) + log_action_msg "Usage: /etc/init.d/nova-instancemonitor {start|stop|restart|force-reload|status}" + exit 1 + ;; +esac + +exit 0 diff --git a/debian/nova-instancemonitor.install b/debian/nova-instancemonitor.install new file mode 100644 index 00000000..48e7884b --- /dev/null +++ b/debian/nova-instancemonitor.install @@ -0,0 +1 @@ +bin/nova-instancemonitor usr/bin From 5f9e609738228a334771dc12b6053de5c64ba2e6 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 23 Jun 2010 23:15:06 -0700 Subject: [PATCH 115/248] Removed trailing whitespace from header --- builddeb.sh | 2 +- run_tests.py | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/builddeb.sh b/builddeb.sh index 5055dd33..2fb20da2 100755 --- a/builddeb.sh +++ b/builddeb.sh @@ -2,7 +2,7 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 # 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. # # Copyright 2010 Anso Labs, LLC diff --git a/run_tests.py b/run_tests.py index bcbb29c6..aea766c9 100644 --- a/run_tests.py +++ b/run_tests.py @@ -1,7 +1,7 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 # 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. # # Copyright 2010 Anso Labs, LLC diff --git a/setup.py b/setup.py index 327e455c..95d0ee7d 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 # 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. # # Copyright 2010 Anso Labs, LLC From fd48be0860d77c3dd0d0fe19758d1845bbe4253d Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 25 Jun 2010 18:55:14 -0400 Subject: [PATCH 131/248] Admin API + Worker Tracking. --- run_tests.py | 1 + 1 file changed, 1 insertion(+) diff --git a/run_tests.py b/run_tests.py index aea766c9..7d5e7488 100644 --- a/run_tests.py +++ b/run_tests.py @@ -61,6 +61,7 @@ from nova.tests.storage_unittest import * from nova.tests.users_unittest import * from nova.tests.datastore_unittest import * from nova.tests.validator_unittest import * +from nova.tests.model_unittest import * FLAGS = flags.FLAGS From 19fa09655148baf224c1974560c6629ecfaffb05 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Fri, 25 Jun 2010 22:03:45 -0400 Subject: [PATCH 133/248] Fixes based on code review 27001. --- run_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run_tests.py b/run_tests.py index 7d5e7488..91e886c7 100644 --- a/run_tests.py +++ b/run_tests.py @@ -53,6 +53,7 @@ from nova.tests.access_unittest import * from nova.tests.api_unittest import * from nova.tests.cloud_unittest import * from nova.tests.keeper_unittest import * +from nova.tests.model_unittest import * from nova.tests.network_unittest import * from nova.tests.node_unittest import * from nova.tests.objectstore_unittest import * @@ -61,7 +62,6 @@ from nova.tests.storage_unittest import * from nova.tests.users_unittest import * from nova.tests.datastore_unittest import * from nova.tests.validator_unittest import * -from nova.tests.model_unittest import * FLAGS = flags.FLAGS From 67d5a5f68772448e6cea5627612718b7596f35df Mon Sep 17 00:00:00 2001 From: Devin Carlen Date: Tue, 29 Jun 2010 21:25:39 -0500 Subject: [PATCH 156/248] Updated licenses --- builddeb.sh | 30 ++++++++++++++++++------------ docs/architecture.rst | 26 +++++++++++++++----------- docs/auth.rst | 26 +++++++++++++++----------- docs/binaries.rst | 26 +++++++++++++++----------- docs/compute.rst | 26 +++++++++++++++----------- docs/endpoint.rst | 26 +++++++++++++++----------- docs/fakes.rst | 26 +++++++++++++++----------- docs/index.rst | 29 ++++++++++++++++------------- docs/modules.rst | 26 +++++++++++++++----------- docs/network.rst | 26 +++++++++++++++----------- docs/nova.rst | 26 +++++++++++++++----------- docs/objectstore.rst | 26 +++++++++++++++----------- docs/packages.rst | 26 +++++++++++++++----------- docs/storage.rst | 26 +++++++++++++++----------- docs/volume.rst | 26 +++++++++++++++----------- run_tests.py | 23 ++++++++++++++--------- setup.py | 31 ++++++++++++++++++------------- 17 files changed, 261 insertions(+), 190 deletions(-) diff --git a/builddeb.sh b/builddeb.sh index 88e1477d..5055dd33 100755 --- a/builddeb.sh +++ b/builddeb.sh @@ -1,16 +1,22 @@ #!/bin/sh -# Copyright [2010] [Anso Labs, LLC] -# -# 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 -# +# 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. +# +# Copyright 2010 Anso Labs, LLC +# +# 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. +# 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. dpkg-buildpackage -b -rfakeroot -tc -uc -D diff --git a/docs/architecture.rst b/docs/architecture.rst index 9aab7afb..0000a02d 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 System Architecture ======================== diff --git a/docs/auth.rst b/docs/auth.rst index ba001cfe..c906a481 100644 --- a/docs/auth.rst +++ b/docs/auth.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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. Auth Documentation ================== diff --git a/docs/binaries.rst b/docs/binaries.rst index eee08916..fa6127bb 100644 --- a/docs/binaries.rst +++ b/docs/binaries.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 Binaries =============== diff --git a/docs/compute.rst b/docs/compute.rst index e2b32fae..7b4f82a3 100644 --- a/docs/compute.rst +++ b/docs/compute.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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. Compute Documentation ===================== diff --git a/docs/endpoint.rst b/docs/endpoint.rst index 86a1a3be..830c9966 100644 --- a/docs/endpoint.rst +++ b/docs/endpoint.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ====================== diff --git a/docs/fakes.rst b/docs/fakes.rst index f105c6b8..1454ca7b 100644 --- a/docs/fakes.rst +++ b/docs/fakes.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 Fakes ========== diff --git a/docs/index.rst b/docs/index.rst index b86f1432..9a5fa32a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,18 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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. + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + Copyright 2010 Anso Labs, LLC + + 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. Welcome to nova's documentation! ================================ diff --git a/docs/modules.rst b/docs/modules.rst index f927a52d..11e1eef7 100644 --- a/docs/modules.rst +++ b/docs/modules.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ================== diff --git a/docs/network.rst b/docs/network.rst index 49e36170..2787ae45 100644 --- a/docs/network.rst +++ b/docs/network.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 Networking ================ diff --git a/docs/nova.rst b/docs/nova.rst index 7f1feda1..01da3441 100644 --- a/docs/nova.rst +++ b/docs/nova.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 Libraries =============== diff --git a/docs/objectstore.rst b/docs/objectstore.rst index 64122c9b..70048354 100644 --- a/docs/objectstore.rst +++ b/docs/objectstore.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ========================= diff --git a/docs/packages.rst b/docs/packages.rst index ad1386f1..fb28e850 100644 --- a/docs/packages.rst +++ b/docs/packages.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ============================ diff --git a/docs/storage.rst b/docs/storage.rst index 94d7bdee..f8c98b18 100644 --- a/docs/storage.rst +++ b/docs/storage.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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 ========================= diff --git a/docs/volume.rst b/docs/volume.rst index 18ce70a3..3981daf9 100644 --- a/docs/volume.rst +++ b/docs/volume.rst @@ -1,17 +1,21 @@ .. - Copyright [2010] [Anso Labs, LLC] - - 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 - + Copyright 2010 United States Government as represented by the + Administrator of the National Aeronautics and Space Administration. + All Rights Reserved. + + Copyright 2010 Anso Labs, LLC + + 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. + 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. Volume Documentation ==================== diff --git a/run_tests.py b/run_tests.py index d03dbb98..bcbb29c6 100644 --- a/run_tests.py +++ b/run_tests.py @@ -1,17 +1,22 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 -# Copyright [2010] [Anso Labs, LLC] + +# 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 +# Copyright 2010 Anso Labs, LLC # -# http://www.apache.org/licenses/LICENSE-2.0 +# 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. +# 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. """ This is our basic test running framework based on Twisted's Trial. diff --git a/setup.py b/setup.py index a25ae0c8..327e455c 100644 --- a/setup.py +++ b/setup.py @@ -1,17 +1,22 @@ -#!/usr/bin/env python -# Copyright [2010] [Anso Labs, LLC] -# -# 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 -# +# 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. +# +# Copyright 2010 Anso Labs, LLC +# +# 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. +# 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. import glob import os From bccdd97c8e72a0245d791ef70d1b83737b1d9507 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 29 Jun 2010 21:25:59 -0500 Subject: [PATCH 157/248] Removed trailing whitespace from header --- builddeb.sh | 2 +- run_tests.py | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/builddeb.sh b/builddeb.sh index 5055dd33..2fb20da2 100755 --- a/builddeb.sh +++ b/builddeb.sh @@ -2,7 +2,7 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 # 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. # # Copyright 2010 Anso Labs, LLC diff --git a/run_tests.py b/run_tests.py index bcbb29c6..aea766c9 100644 --- a/run_tests.py +++ b/run_tests.py @@ -1,7 +1,7 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 # 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. # # Copyright 2010 Anso Labs, LLC diff --git a/setup.py b/setup.py index 327e455c..95d0ee7d 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 # 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. # # Copyright 2010 Anso Labs, LLC From 446d5feb6b367fc389a1d7fcde9421c9516671f8 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Wed, 30 Jun 2010 16:45:41 +0200 Subject: [PATCH 158/248] Use separate configuration files for the different daemons. --- debian/nova-api.conf | 3 +++ debian/nova-api.init | 4 ++-- debian/nova-api.install | 1 + debian/nova-compute.conf | 3 +++ debian/nova-compute.init | 4 ++-- debian/nova-compute.install | 1 + debian/nova-objectstore.conf | 5 +++++ debian/nova-objectstore.init | 4 ++-- debian/nova-objectstore.install | 1 + debian/nova-volume.conf | 5 +++++ debian/nova-volume.init | 4 ++-- debian/nova-volume.install | 1 + 12 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 debian/nova-api.conf create mode 100644 debian/nova-compute.conf create mode 100644 debian/nova-objectstore.conf create mode 100644 debian/nova-volume.conf diff --git a/debian/nova-api.conf b/debian/nova-api.conf new file mode 100644 index 00000000..62bfd016 --- /dev/null +++ b/debian/nova-api.conf @@ -0,0 +1,3 @@ +--daemonize=1 +--ca_path=/usr/share/nova/CA +--fake_users=1 diff --git a/debian/nova-api.init b/debian/nova-api.init index 925c92c5..77d9b244 100644 --- a/debian/nova-api.init +++ b/debian/nova-api.init @@ -13,10 +13,10 @@ set -e DAEMON=/usr/bin/nova-api -DAEMON_ARGS="--flagfile=/etc/nova.conf" +DAEMON_ARGS="--flagfile=/etc/nova-api.conf" PIDFILE=/var/run/nova-api.pid -ENABLED=false +ENABLED=true if test -f /etc/default/nova-api; then . /etc/default/nova-api diff --git a/debian/nova-api.install b/debian/nova-api.install index 757235b1..d1f5d7d5 100644 --- a/debian/nova-api.install +++ b/debian/nova-api.install @@ -1 +1,2 @@ bin/nova-api usr/bin +debian/nova-api.conf etc diff --git a/debian/nova-compute.conf b/debian/nova-compute.conf new file mode 100644 index 00000000..62bfd016 --- /dev/null +++ b/debian/nova-compute.conf @@ -0,0 +1,3 @@ +--daemonize=1 +--ca_path=/usr/share/nova/CA +--fake_users=1 diff --git a/debian/nova-compute.init b/debian/nova-compute.init index 89d0e5fc..820cf3d3 100644 --- a/debian/nova-compute.init +++ b/debian/nova-compute.init @@ -13,10 +13,10 @@ set -e DAEMON=/usr/bin/nova-compute -DAEMON_ARGS="--flagfile=/etc/nova.conf" +DAEMON_ARGS="--flagfile=/etc/nova-compute.conf" PIDFILE=/var/run/nova-compute.pid -ENABLED=false +ENABLED=true if test -f /etc/default/nova-compute; then . /etc/default/nova-compute diff --git a/debian/nova-compute.install b/debian/nova-compute.install index 6387cef0..20db74f1 100644 --- a/debian/nova-compute.install +++ b/debian/nova-compute.install @@ -1 +1,2 @@ bin/nova-compute usr/bin +debian/nova-compute.conf etc diff --git a/debian/nova-objectstore.conf b/debian/nova-objectstore.conf new file mode 100644 index 00000000..4b74efe0 --- /dev/null +++ b/debian/nova-objectstore.conf @@ -0,0 +1,5 @@ +--daemonize=1 +--ca_path=/usr/share/nova/CA +--fake_users=1 +--images_path=/var/lib/nova/images +--buckets_path=/var/lib/nova/buckets diff --git a/debian/nova-objectstore.init b/debian/nova-objectstore.init index be7d32d8..7f37ac8a 100644 --- a/debian/nova-objectstore.init +++ b/debian/nova-objectstore.init @@ -13,10 +13,10 @@ set -e DAEMON=/usr/bin/nova-objectstore -DAEMON_ARGS="--flagfile=/etc/nova.conf" +DAEMON_ARGS="--flagfile=/etc/nova-objectstore.conf" PIDFILE=/var/run/nova-objectstore.pid -ENABLED=false +ENABLED=true if test -f /etc/default/nova-objectstore; then . /etc/default/nova-objectstore diff --git a/debian/nova-objectstore.install b/debian/nova-objectstore.install index ccc60fcc..14a6dd37 100644 --- a/debian/nova-objectstore.install +++ b/debian/nova-objectstore.install @@ -1 +1,2 @@ bin/nova-objectstore usr/bin +debian/nova-objectstore.conf etc diff --git a/debian/nova-volume.conf b/debian/nova-volume.conf new file mode 100644 index 00000000..4b74efe0 --- /dev/null +++ b/debian/nova-volume.conf @@ -0,0 +1,5 @@ +--daemonize=1 +--ca_path=/usr/share/nova/CA +--fake_users=1 +--images_path=/var/lib/nova/images +--buckets_path=/var/lib/nova/buckets diff --git a/debian/nova-volume.init b/debian/nova-volume.init index 80da3f70..069b4781 100644 --- a/debian/nova-volume.init +++ b/debian/nova-volume.init @@ -13,10 +13,10 @@ set -e DAEMON=/usr/bin/nova-volume -DAEMON_ARGS="--flagfile=/etc/nova.conf" +DAEMON_ARGS="--flagfile=/etc/nova-volume.conf" PIDFILE=/var/run/nova-volume.pid -ENABLED=false +ENABLED=true if test -f /etc/default/nova-volume; then . /etc/default/nova-volume diff --git a/debian/nova-volume.install b/debian/nova-volume.install index 37b535c0..e7e17201 100644 --- a/debian/nova-volume.install +++ b/debian/nova-volume.install @@ -1 +1,2 @@ bin/nova-volume usr/bin +debian/nova-volume.conf etc From 3b4a8a00e09302661543ade09ce7f68e3dcdfc58 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Wed, 30 Jun 2010 16:46:02 +0200 Subject: [PATCH 159/248] Expand somewhat on the short and long descriptions in debian/control. --- debian/control | 111 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 101 insertions(+), 10 deletions(-) diff --git a/debian/control b/debian/control index a50e6ecf..65af8f0c 100644 --- a/debian/control +++ b/debian/control @@ -3,38 +3,129 @@ Section: net Priority: extra Maintainer: Jesse Andrews Build-Depends: debhelper (>= 7) -Build-Depends-Indep: python-support +Build-Depends-Indep: python-support, python-setuptools Standards-Version: 3.8.4 XS-Python-Version: 2.6 Package: nova-common Architecture: all -Depends: ${python:Depends}, aoetools, vlan, python-ipy, python-boto, python-m2crypto, python-pycurl, python-twisted (>= 10.0.0-2ubuntu2nebula1), python-daemon, python-redis, python-carrot, python-lockfile, python-gflags, python-tornado, ${misc:Depends} +Depends: ${python:Depends}, aoetools, vlan, python-ipy, python-boto, python-m2crypto, python-pycurl, python-twisted, python-daemon, python-redis, python-carrot, python-lockfile, python-gflags, python-tornado, ${misc:Depends} Provides: ${python:Provides} -Conflicts: nova -Description: Nova is a cloud +Description: Nova Cloud Computing - common files + Nova is a cloud computing fabric controller (the main part of an IaaS + system) built to match the popular AWS EC2 and S3 APIs. It is written in + Python, using the Tornado and Twisted frameworks, and relies on the + standard AMQP messaging protocol, and the Redis distributed KVS. + . + Nova is intended to be easy to extend, and adapt. For example, it + currently uses an LDAP server for users and groups, but also includes a + fake LDAP server, that stores data in Redis. It has extensive test + coverage, and uses the Sphinx toolkit (the same as Python itself) for code + and user documentation. + . + While Nova is currently in Beta use within several organizations, the + codebase is very much under active development. + . + This package contains things that are needed by all parts of Nova. Package: nova-compute Architecture: all -Depends: nova-common (= ${binary:Version}), kpartx, kvm, python-libvirt, libvirt-bin (>= 0.8.1), ${python:Depends}, ${misc:Depends} -Description: Nova compute +Depends: nova-common (= ${binary:Version}), kpartx, kvm, python-libvirt, libvirt-bin (>= 0.7.5), ${python:Depends}, ${misc:Depends} +Description: Nova Cloud Computing - compute node + Nova is a cloud computing fabric controller (the main part of an IaaS + system) built to match the popular AWS EC2 and S3 APIs. It is written in + Python, using the Tornado and Twisted frameworks, and relies on the + standard AMQP messaging protocol, and the Redis distributed KVS. + . + Nova is intended to be easy to extend, and adapt. For example, it + currently uses an LDAP server for users and groups, but also includes a + fake LDAP server, that stores data in Redis. It has extensive test + coverage, and uses the Sphinx toolkit (the same as Python itself) for code + and user documentation. + . + While Nova is currently in Beta use within several organizations, the + codebase is very much under active development. + . + This is the package you will install on the nodes that will run your + virtual machines. Package: nova-volume Architecture: all Depends: nova-common (= ${binary:Version}), vblade, vblade-persist, ${python:Depends}, ${misc:Depends} -Description: Nova volume +Description: Nova Cloud Computing - storage + Nova is a cloud computing fabric controller (the main part of an IaaS + system) built to match the popular AWS EC2 and S3 APIs. It is written in + Python, using the Tornado and Twisted frameworks, and relies on the + standard AMQP messaging protocol, and the Redis distributed KVS. + . + Nova is intended to be easy to extend, and adapt. For example, it + currently uses an LDAP server for users and groups, but also includes a + fake LDAP server, that stores data in Redis. It has extensive test + coverage, and uses the Sphinx toolkit (the same as Python itself) for code + and user documentation. + . + While Nova is currently in Beta use within several organizations, the + codebase is very much under active development. + . + This is the package you will install on your storage nodes. Package: nova-api Architecture: all Depends: nova-common (= ${binary:Version}), ${python:Depends}, ${misc:Depends} -Description: Nova api +Description: Nova Cloud Computing - API frontend + Nova is a cloud computing fabric controller (the main part of an IaaS + system) built to match the popular AWS EC2 and S3 APIs. It is written in + Python, using the Tornado and Twisted frameworks, and relies on the + standard AMQP messaging protocol, and the Redis distributed KVS. + . + Nova is intended to be easy to extend, and adapt. For example, it + currently uses an LDAP server for users and groups, but also includes a + fake LDAP server, that stores data in Redis. It has extensive test + coverage, and uses the Sphinx toolkit (the same as Python itself) for code + and user documentation. + . + While Nova is currently in Beta use within several organizations, the + codebase is very much under active development. + . + This package provides the API frontend. Package: nova-objectstore Architecture: all Depends: nova-common (= ${binary:Version}), ${python:Depends}, ${misc:Depends} -Description: Nova object store +Description: Nova Cloud Computing - object store + Nova is a cloud computing fabric controller (the main part of an IaaS + system) built to match the popular AWS EC2 and S3 APIs. It is written in + Python, using the Tornado and Twisted frameworks, and relies on the + standard AMQP messaging protocol, and the Redis distributed KVS. + . + Nova is intended to be easy to extend, and adapt. For example, it + currently uses an LDAP server for users and groups, but also includes a + fake LDAP server, that stores data in Redis. It has extensive test + coverage, and uses the Sphinx toolkit (the same as Python itself) for code + and user documentation. + . + While Nova is currently in Beta use within several organizations, the + codebase is very much under active development. + . + This is the package you will install on the nodes that will contain your + object store. Package: nova-tools Architecture: all Depends: python-boto, ${python:Depends}, ${misc:Depends} -Description: CLI tools to access nova +Description: Nova Cloud Computing - management tools + Nova is a cloud computing fabric controller (the main part of an IaaS + system) built to match the popular AWS EC2 and S3 APIs. It is written in + Python, using the Tornado and Twisted frameworks, and relies on the + standard AMQP messaging protocol, and the Redis distributed KVS. + . + Nova is intended to be easy to extend, and adapt. For example, it + currently uses an LDAP server for users and groups, but also includes a + fake LDAP server, that stores data in Redis. It has extensive test + coverage, and uses the Sphinx toolkit (the same as Python itself) for code + and user documentation. + . + While Nova is currently in Beta use within several organizations, the + codebase is very much under active development. + . + This package contains admin tools for Nova. From 04ed6c49b34b53f44f5f6e6d55d1e14db3b8f5a8 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 30 Jun 2010 15:04:23 -0500 Subject: [PATCH 166/248] getting started update --- docs/getting.started.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index ffa396e0..f2f1dde4 100644 --- a/docs/getting.started.rst +++ b/docs/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. Copyright 2010 Anso Labs, LLC @@ -62,7 +62,7 @@ Installation :: # system libraries and tools - apt-get install -y aoetools vlan + apt-get install -y aoetools vlan curl modprobe aoe # python libraries @@ -81,6 +81,7 @@ Installation # ON THE COMPUTE NODE: apt-get install -y python-libvirt apt-get install -y kpartx kvm libvirt-bin + modprobe kvm # optional packages apt-get install -y euca2ools @@ -111,7 +112,7 @@ ON CLOUD CONTROLLER location ~ /_images/.+ { root NOVA_PATH/images; - rewrite ^/_images/(.*)\$ /\$1 break; + rewrite ^/_images/(.*)$ /$1 break; } location / { @@ -128,6 +129,7 @@ ON VOLUME NODE # 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 Running From c4d8cc8dc180557027760dabdad09398dc4d5925 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 30 Jun 2010 15:07:52 -0500 Subject: [PATCH 167/248] getting started update --- docs/getting.started.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/getting.started.rst b/docs/getting.started.rst index 37e6f5a9..55a73dd0 100644 --- a/docs/getting.started.rst +++ b/docs/getting.started.rst @@ -43,7 +43,7 @@ Installation :: # system libraries and tools - apt-get install -y aoetools vlan + apt-get install -y aoetools vlan curl modprobe aoe # python libraries @@ -62,6 +62,7 @@ Installation # ON THE COMPUTE NODE: apt-get install -y python-libvirt apt-get install -y kpartx kvm libvirt-bin + modprobe kvm # optional packages apt-get install -y euca2ools @@ -92,7 +93,7 @@ ON CLOUD CONTROLLER location ~ /_images/.+ { root NOVA_PATH/images; - rewrite ^/_images/(.*)\$ /\$1 break; + rewrite ^/_images/(.*)$ /$1 break; } location / { @@ -109,6 +110,7 @@ ON VOLUME NODE # 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 Running From 22c40f6f3a52af5262ba47bf6ea5802c86e2cc05 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Thu, 1 Jul 2010 13:14:08 +0200 Subject: [PATCH 168/248] Add curl as a dependency of nova-compute. --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 65af8f0c..c0b08ae8 100644 --- a/debian/control +++ b/debian/control @@ -30,7 +30,7 @@ Description: Nova Cloud Computing - common files Package: nova-compute Architecture: all -Depends: nova-common (= ${binary:Version}), kpartx, kvm, python-libvirt, libvirt-bin (>= 0.7.5), ${python:Depends}, ${misc:Depends} +Depends: nova-common (= ${binary:Version}), kpartx, kvm, python-libvirt, libvirt-bin (>= 0.7.5), curl, ${python:Depends}, ${misc:Depends} Description: Nova Cloud Computing - compute node Nova is a cloud computing fabric controller (the main part of an IaaS system) built to match the popular AWS EC2 and S3 APIs. It is written in From ea6ce3fd60c9b986c8a64ace7cafdc98446bc493 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 12:45:35 +0200 Subject: [PATCH 173/248] Set better defaults in flagfiles. --- debian/nova-api.conf | 4 +++- debian/nova-compute.conf | 4 +++- debian/nova-objectstore.conf | 4 +++- debian/nova-volume.conf | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/debian/nova-api.conf b/debian/nova-api.conf index 62bfd016..4bf25fc7 100644 --- a/debian/nova-api.conf +++ b/debian/nova-api.conf @@ -1,3 +1,5 @@ --daemonize=1 ---ca_path=/usr/share/nova/CA +--ca_path=/var/lib/nova/CA +--keys_path=/var/lib/nova/keys --fake_users=1 +--keeper_path=/var/lib/nova/keeper diff --git a/debian/nova-compute.conf b/debian/nova-compute.conf index 62bfd016..61ab4ceb 100644 --- a/debian/nova-compute.conf +++ b/debian/nova-compute.conf @@ -1,3 +1,5 @@ --daemonize=1 ---ca_path=/usr/share/nova/CA +--ca_path=/var/lib/nova/CA +--keys_path=/var/lib/nova/keys +--keeper_path=/var/lib/nova/keeper --fake_users=1 diff --git a/debian/nova-objectstore.conf b/debian/nova-objectstore.conf index 4b74efe0..7c3b633b 100644 --- a/debian/nova-objectstore.conf +++ b/debian/nova-objectstore.conf @@ -1,5 +1,7 @@ --daemonize=1 ---ca_path=/usr/share/nova/CA +--ca_path=/var/lib/nova/CA +--keys_path=/var/lib/nova/keys +--keeper_path=/var/lib/nova/keeper --fake_users=1 --images_path=/var/lib/nova/images --buckets_path=/var/lib/nova/buckets diff --git a/debian/nova-volume.conf b/debian/nova-volume.conf index 4b74efe0..7c3b633b 100644 --- a/debian/nova-volume.conf +++ b/debian/nova-volume.conf @@ -1,5 +1,7 @@ --daemonize=1 ---ca_path=/usr/share/nova/CA +--ca_path=/var/lib/nova/CA +--keys_path=/var/lib/nova/keys +--keeper_path=/var/lib/nova/keeper --fake_users=1 --images_path=/var/lib/nova/images --buckets_path=/var/lib/nova/buckets From 09f86994da02a04e83370438d9bce9203eb2e3e4 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 13:19:34 +0200 Subject: [PATCH 175/248] releasing version 0.3.0+really0.2.2-0ubuntu0ppa1 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 789dad36..d13bb231 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nova (0.3.0+really0.2.2-0ubuntu0ppa1) lucid; urgency=low + + * Upload to PPA. + + -- Soren Hansen Mon, 05 Jul 2010 12:47:43 +0200 + nova (0.2.2-6) UNRELEASED; urgency=low * Fix to make Key Injection work again From 5dd4e0726cc117326b85ece8ae38e1cfc99f334b Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 13:20:13 +0200 Subject: [PATCH 176/248] Added --network_path setting to nova-compute's flagfile. --- debian/changelog | 6 ++++++ debian/nova-compute.conf | 1 + 2 files changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index d13bb231..90fe64a8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nova (0.3.0+really0.2.2-0ubuntu0ppa1ubuntu1) UNRELEASED; urgency=low + + * Added --network_path setting to nova-compute's flagfile. + + -- Soren Hansen Mon, 05 Jul 2010 13:20:11 +0200 + nova (0.3.0+really0.2.2-0ubuntu0ppa1) lucid; urgency=low * Upload to PPA. diff --git a/debian/nova-compute.conf b/debian/nova-compute.conf index 61ab4ceb..2c118114 100644 --- a/debian/nova-compute.conf +++ b/debian/nova-compute.conf @@ -2,4 +2,5 @@ --ca_path=/var/lib/nova/CA --keys_path=/var/lib/nova/keys --keeper_path=/var/lib/nova/keeper +--networks_path=/var/lib/nova/networks --fake_users=1 From 7c2cd2f17241eec414516367df98d1370e66363a Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 13:34:44 +0200 Subject: [PATCH 177/248] Move templates from python directories to /usr/share/nova. --- debian/changelog | 1 + debian/nova-common.install | 6 +++--- debian/nova-compute.conf | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 90fe64a8..c5756920 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa1ubuntu1) UNRELEASED; urgency=low * Added --network_path setting to nova-compute's flagfile. + * Move templates from python directories to /usr/share/nova. -- Soren Hansen Mon, 05 Jul 2010 13:20:11 +0200 diff --git a/debian/nova-common.install b/debian/nova-common.install index ab745531..acb1741e 100644 --- a/debian/nova-common.install +++ b/debian/nova-common.install @@ -1,5 +1,5 @@ bin/nova-manage usr/bin -nova/auth/novarc.template usr/lib/pymodules/python2.6/nova/auth -nova/cloudpipe/client.ovpn.template usr/lib/pymodules/python2.6/nova/cloudpipe -nova/compute/libvirt.xml.template usr/lib/pymodules/python2.6/nova/compute +nova/auth/novarc.template usr/share/nova +nova/cloudpipe/client.ovpn.template usr/share/nova +nova/compute/libvirt.xml.template usr/share/nova usr/lib/python*/*-packages/nova/* diff --git a/debian/nova-compute.conf b/debian/nova-compute.conf index 2c118114..eaa48e2e 100644 --- a/debian/nova-compute.conf +++ b/debian/nova-compute.conf @@ -3,4 +3,7 @@ --keys_path=/var/lib/nova/keys --keeper_path=/var/lib/nova/keeper --networks_path=/var/lib/nova/networks +--libvirt_xml_template=/usr/share/nova/libvirt.xml.template +--vpn_client_template=/usr/share/nova/client.ovpn.template +--credentials_template=/usr/share/nova/novarc.template --fake_users=1 From 64a792550d197bd6f5cd006ea287c3869b17b63a Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 13:35:16 +0200 Subject: [PATCH 178/248] Fixed package version. --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index c5756920..6ef85196 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -nova (0.3.0+really0.2.2-0ubuntu0ppa1ubuntu1) UNRELEASED; urgency=low +nova (0.3.0+really0.2.2-0ubuntu0ppa2) UNRELEASED; urgency=low * Added --network_path setting to nova-compute's flagfile. * Move templates from python directories to /usr/share/nova. From d45ef651d8ed66052c0252435ad0f0784f36c6a2 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 15:37:52 +0200 Subject: [PATCH 179/248] keeper_path is really caled datastore_path. --- debian/nova-api.conf | 2 +- debian/nova-compute.conf | 2 +- debian/nova-objectstore.conf | 2 +- debian/nova-volume.conf | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/nova-api.conf b/debian/nova-api.conf index 4bf25fc7..9cd4051b 100644 --- a/debian/nova-api.conf +++ b/debian/nova-api.conf @@ -2,4 +2,4 @@ --ca_path=/var/lib/nova/CA --keys_path=/var/lib/nova/keys --fake_users=1 ---keeper_path=/var/lib/nova/keeper +--datastore_path=/var/lib/nova/keeper diff --git a/debian/nova-compute.conf b/debian/nova-compute.conf index eaa48e2e..6eb0bc12 100644 --- a/debian/nova-compute.conf +++ b/debian/nova-compute.conf @@ -1,7 +1,7 @@ --daemonize=1 --ca_path=/var/lib/nova/CA --keys_path=/var/lib/nova/keys ---keeper_path=/var/lib/nova/keeper +--datastore_path=/var/lib/nova/keeper --networks_path=/var/lib/nova/networks --libvirt_xml_template=/usr/share/nova/libvirt.xml.template --vpn_client_template=/usr/share/nova/client.ovpn.template diff --git a/debian/nova-objectstore.conf b/debian/nova-objectstore.conf index 7c3b633b..af3271d3 100644 --- a/debian/nova-objectstore.conf +++ b/debian/nova-objectstore.conf @@ -1,7 +1,7 @@ --daemonize=1 --ca_path=/var/lib/nova/CA --keys_path=/var/lib/nova/keys ---keeper_path=/var/lib/nova/keeper +--datastore_path=/var/lib/nova/keeper --fake_users=1 --images_path=/var/lib/nova/images --buckets_path=/var/lib/nova/buckets diff --git a/debian/nova-volume.conf b/debian/nova-volume.conf index 7c3b633b..af3271d3 100644 --- a/debian/nova-volume.conf +++ b/debian/nova-volume.conf @@ -1,7 +1,7 @@ --daemonize=1 --ca_path=/var/lib/nova/CA --keys_path=/var/lib/nova/keys ---keeper_path=/var/lib/nova/keeper +--datastore_path=/var/lib/nova/keeper --fake_users=1 --images_path=/var/lib/nova/images --buckets_path=/var/lib/nova/buckets From cf5462ef42f4ab1d657fe254aeca32c05333bb4e Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 21:49:39 +0200 Subject: [PATCH 180/248] Add debian/nova-common.dirs to create var/lib/nova/{buckets,CA,images,instances,keys,networks} --- debian/changelog | 2 ++ debian/nova-common.dirs | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 debian/nova-common.dirs diff --git a/debian/changelog b/debian/changelog index 6ef85196..e86d654d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa2) UNRELEASED; urgency=low * Added --network_path setting to nova-compute's flagfile. * Move templates from python directories to /usr/share/nova. + * Add debian/nova-common.dirs to create + var/lib/nova/{buckets,CA,images,instances,keys,networks} -- Soren Hansen Mon, 05 Jul 2010 13:20:11 +0200 diff --git a/debian/nova-common.dirs b/debian/nova-common.dirs new file mode 100644 index 00000000..3c645d89 --- /dev/null +++ b/debian/nova-common.dirs @@ -0,0 +1,6 @@ +var/lib/nova/buckets +var/lib/nova/CA +var/lib/nova/images +var/lib/nova/instances +var/lib/nova/keys +var/lib/nova/networks From b688a33d87244a0616344a4ad617527a40d097e1 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 22:03:13 +0200 Subject: [PATCH 181/248] Don't pass --daemonize=1 to nova-compute. It's already daemonising by default. --- debian/changelog | 2 ++ debian/nova-compute.conf | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index e86d654d..12963099 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,8 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa2) UNRELEASED; urgency=low * Move templates from python directories to /usr/share/nova. * Add debian/nova-common.dirs to create var/lib/nova/{buckets,CA,images,instances,keys,networks} + * Don't pass --daemonize=1 to nova-compute. It's already daemonising + by default. -- Soren Hansen Mon, 05 Jul 2010 13:20:11 +0200 diff --git a/debian/nova-compute.conf b/debian/nova-compute.conf index 6eb0bc12..7fcac74b 100644 --- a/debian/nova-compute.conf +++ b/debian/nova-compute.conf @@ -1,4 +1,3 @@ ---daemonize=1 --ca_path=/var/lib/nova/CA --keys_path=/var/lib/nova/keys --datastore_path=/var/lib/nova/keeper From 6439554e3210785e63ed6e022dbf3b84c00589cf Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 5 Jul 2010 22:07:41 +0200 Subject: [PATCH 182/248] releasing version 0.3.0+really0.2.2-0ubuntu0ppa2 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 12963099..9518cc23 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -nova (0.3.0+really0.2.2-0ubuntu0ppa2) UNRELEASED; urgency=low +nova (0.3.0+really0.2.2-0ubuntu0ppa2) lucid; urgency=low * Added --network_path setting to nova-compute's flagfile. * Move templates from python directories to /usr/share/nova. @@ -7,7 +7,7 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa2) UNRELEASED; urgency=low * Don't pass --daemonize=1 to nova-compute. It's already daemonising by default. - -- Soren Hansen Mon, 05 Jul 2010 13:20:11 +0200 + -- Soren Hansen Mon, 05 Jul 2010 22:06:54 +0200 nova (0.3.0+really0.2.2-0ubuntu0ppa1) lucid; urgency=low From e81c5d2b98a4396bd22aca23d5bf9822142b92a5 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 6 Jul 2010 13:34:08 +0200 Subject: [PATCH 183/248] Add a dependency on nginx from nova-objectsstore and install a suitable configuration file. --- debian/changelog | 7 +++++++ debian/control | 2 +- debian/nova-objectstore.install | 1 + debian/nova-objectstore.links | 1 + debian/nova-objectstore.nginx.conf | 17 +++++++++++++++++ 5 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 debian/nova-objectstore.links create mode 100644 debian/nova-objectstore.nginx.conf diff --git a/debian/changelog b/debian/changelog index 9518cc23..8c7f68d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +nova (0.3.0+really0.2.2-0ubuntu0ppa3) UNRELEASED; urgency=low + + * Add a dependency on nginx from nova-objectsstore and install a + suitable configuration file. + + -- Soren Hansen Tue, 06 Jul 2010 13:33:44 +0200 + nova (0.3.0+really0.2.2-0ubuntu0ppa2) lucid; urgency=low * Added --network_path setting to nova-compute's flagfile. diff --git a/debian/control b/debian/control index c0b08ae8..3bfceaa2 100644 --- a/debian/control +++ b/debian/control @@ -91,7 +91,7 @@ Description: Nova Cloud Computing - API frontend Package: nova-objectstore Architecture: all -Depends: nova-common (= ${binary:Version}), ${python:Depends}, ${misc:Depends} +Depends: nova-common (= ${binary:Version}), nginx, ${python:Depends}, ${misc:Depends} Description: Nova Cloud Computing - object store Nova is a cloud computing fabric controller (the main part of an IaaS system) built to match the popular AWS EC2 and S3 APIs. It is written in diff --git a/debian/nova-objectstore.install b/debian/nova-objectstore.install index 14a6dd37..590fcc01 100644 --- a/debian/nova-objectstore.install +++ b/debian/nova-objectstore.install @@ -1,2 +1,3 @@ bin/nova-objectstore usr/bin debian/nova-objectstore.conf etc +debian/nova-objectstore.nginx.conf etc/nginx/sites-available diff --git a/debian/nova-objectstore.links b/debian/nova-objectstore.links new file mode 100644 index 00000000..38e33948 --- /dev/null +++ b/debian/nova-objectstore.links @@ -0,0 +1 @@ +/etc/nginx/sites-available/nova-objectstore.nginx.conf /etc/nginx/sites-enabled/nova-objectstore.nginx.conf diff --git a/debian/nova-objectstore.nginx.conf b/debian/nova-objectstore.nginx.conf new file mode 100644 index 00000000..b6342415 --- /dev/null +++ b/debian/nova-objectstore.nginx.conf @@ -0,0 +1,17 @@ +server { + listen 3333 default; + server_name localhost; + client_max_body_size 10m; + + access_log /var/log/nginx/localhost.access.log; + + location ~ /_images/.+ { + root /var/lib/nova/images; + rewrite ^/_images/(.*)$ /$1 break; + } + + location / { + proxy_pass http://localhost:3334/; + } +} + From e5ab28e5bc482cc21a4a09f4541a36c8cf39bed4 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 6 Jul 2010 14:06:55 +0200 Subject: [PATCH 184/248] Ship the CA directory in nova-common. --- debian/changelog | 1 + debian/nova-common.dirs | 4 ++++ debian/nova-common.install | 3 +++ 3 files changed, 8 insertions(+) diff --git a/debian/changelog b/debian/changelog index 8c7f68d1..d90a15ac 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa3) UNRELEASED; urgency=low * Add a dependency on nginx from nova-objectsstore and install a suitable configuration file. + * Ship the CA directory in nova-common. -- Soren Hansen Tue, 06 Jul 2010 13:33:44 +0200 diff --git a/debian/nova-common.dirs b/debian/nova-common.dirs index 3c645d89..01443c4f 100644 --- a/debian/nova-common.dirs +++ b/debian/nova-common.dirs @@ -1,5 +1,9 @@ var/lib/nova/buckets var/lib/nova/CA +var/lib/nova/CA/INTER +var/lib/nova/CA/newcerts +var/lib/nova/CA/private +var/lib/nova/CA/reqs var/lib/nova/images var/lib/nova/instances var/lib/nova/keys diff --git a/debian/nova-common.install b/debian/nova-common.install index acb1741e..da0ac65a 100644 --- a/debian/nova-common.install +++ b/debian/nova-common.install @@ -3,3 +3,6 @@ nova/auth/novarc.template usr/share/nova nova/cloudpipe/client.ovpn.template usr/share/nova nova/compute/libvirt.xml.template usr/share/nova usr/lib/python*/*-packages/nova/* +CA/openssl.cnf.tmpl var/lib/nova/CA +CA/geninter.sh var/lib/nova/CA +CA/genrootca.sh var/lib/nova/CA From dd6e4ea6e91759d6cb284c1e1f722728ebab9b20 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 6 Jul 2010 17:34:43 +0200 Subject: [PATCH 185/248] Add a default flag file for nova-manage to help it find the CA. --- debian/changelog | 1 + debian/nova-common.install | 1 + debian/nova-manage.conf | 4 ++++ 3 files changed, 6 insertions(+) create mode 100644 debian/nova-manage.conf diff --git a/debian/changelog b/debian/changelog index d90a15ac..6b250016 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa3) UNRELEASED; urgency=low * Add a dependency on nginx from nova-objectsstore and install a suitable configuration file. * Ship the CA directory in nova-common. + * Add a default flag file for nova-manage to help it find the CA. -- Soren Hansen Tue, 06 Jul 2010 13:33:44 +0200 diff --git a/debian/nova-common.install b/debian/nova-common.install index da0ac65a..f3d55404 100644 --- a/debian/nova-common.install +++ b/debian/nova-common.install @@ -1,4 +1,5 @@ bin/nova-manage usr/bin +debian/nova-manage.conf etc nova/auth/novarc.template usr/share/nova nova/cloudpipe/client.ovpn.template usr/share/nova nova/compute/libvirt.xml.template usr/share/nova diff --git a/debian/nova-manage.conf b/debian/nova-manage.conf new file mode 100644 index 00000000..5ccda7ec --- /dev/null +++ b/debian/nova-manage.conf @@ -0,0 +1,4 @@ +--ca_path=/var/lib/nova/CA +--credentials_template=/usr/share/nova/novarc.template +--keys_path=/var/lib/nova/keys +--vpn_client_template=/usr/share/nova/client.ovpn.template From 983d805bf9fe66b32210cc73e6483824e59ac523 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 6 Jul 2010 17:35:33 +0200 Subject: [PATCH 186/248] If set, pass KernelId and RamdiskId from RunInstances call to the target compute node. --- debian/changelog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index 6b250016..5fb7c878 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,8 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa3) UNRELEASED; urgency=low suitable configuration file. * Ship the CA directory in nova-common. * Add a default flag file for nova-manage to help it find the CA. + * If set, pass KernelId and RamdiskId from RunInstances call to the + target compute node. -- Soren Hansen Tue, 06 Jul 2010 13:33:44 +0200 From 7384fa067266992c37147fdb91af297df3bdad5e Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 6 Jul 2010 17:49:05 +0200 Subject: [PATCH 187/248] releasing version 0.3.0+really0.2.2-0ubuntu0ppa3 --- debian/changelog | 4 ++-- debian/nova-compute.conf | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 5fb7c878..3d14ca7c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -nova (0.3.0+really0.2.2-0ubuntu0ppa3) UNRELEASED; urgency=low +nova (0.3.0+really0.2.2-0ubuntu0ppa3) lucid; urgency=low * Add a dependency on nginx from nova-objectsstore and install a suitable configuration file. @@ -7,7 +7,7 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa3) UNRELEASED; urgency=low * If set, pass KernelId and RamdiskId from RunInstances call to the target compute node. - -- Soren Hansen Tue, 06 Jul 2010 13:33:44 +0200 + -- Soren Hansen Tue, 06 Jul 2010 17:47:38 +0200 nova (0.3.0+really0.2.2-0ubuntu0ppa2) lucid; urgency=low diff --git a/debian/nova-compute.conf b/debian/nova-compute.conf index 7fcac74b..5cd3f31f 100644 --- a/debian/nova-compute.conf +++ b/debian/nova-compute.conf @@ -1,6 +1,7 @@ --ca_path=/var/lib/nova/CA --keys_path=/var/lib/nova/keys --datastore_path=/var/lib/nova/keeper +--instances_path=/var/lib/nova/instances --networks_path=/var/lib/nova/networks --libvirt_xml_template=/usr/share/nova/libvirt.xml.template --vpn_client_template=/usr/share/nova/client.ovpn.template From bec2499e1389d8ea8a5be9652589d23ec3cefc55 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 6 Jul 2010 22:28:55 +0200 Subject: [PATCH 188/248] Relax the Twisted dependency to python-twisted-core (rather than the full stack). --- debian/changelog | 7 +++++++ debian/control | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 3d14ca7c..f78e8c13 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +nova (0.3.0+really0.2.2-0ubuntu0ppa4) UNRELEASED; urgency=low + + * Relax the Twisted dependency to python-twisted-core (rather than the + full stack). + + -- Soren Hansen Tue, 06 Jul 2010 22:28:28 +0200 + nova (0.3.0+really0.2.2-0ubuntu0ppa3) lucid; urgency=low * Add a dependency on nginx from nova-objectsstore and install a diff --git a/debian/control b/debian/control index 3bfceaa2..61f8cade 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,7 @@ XS-Python-Version: 2.6 Package: nova-common Architecture: all -Depends: ${python:Depends}, aoetools, vlan, python-ipy, python-boto, python-m2crypto, python-pycurl, python-twisted, python-daemon, python-redis, python-carrot, python-lockfile, python-gflags, python-tornado, ${misc:Depends} +Depends: ${python:Depends}, aoetools, vlan, python-ipy, python-boto, python-m2crypto, python-pycurl, python-twisted-core, python-daemon, python-redis, python-carrot, python-lockfile, python-gflags, python-tornado, ${misc:Depends} Provides: ${python:Provides} Description: Nova Cloud Computing - common files Nova is a cloud computing fabric controller (the main part of an IaaS From 141b794fa532586ddc9a419985346482d5181fbf Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 7 Jul 2010 12:06:34 -0700 Subject: [PATCH 189/248] Capture signals from dnsmasq and use them to update network state. --- bin/dhcpleasor.py | 68 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 bin/dhcpleasor.py diff --git a/bin/dhcpleasor.py b/bin/dhcpleasor.py new file mode 100755 index 00000000..07e63884 --- /dev/null +++ b/bin/dhcpleasor.py @@ -0,0 +1,68 @@ +#!/opt/local/bin/python + +# Copyright [2010] [Anso Labs, LLC] +# +# 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. +""" +dhcpleasor.py + +Handle lease database updates from DHCP servers. +""" + +import sys +import os +import logging +sys.path.append(os.path.abspath(os.path.join(__file__, "../../"))) + +logging.debug(sys.path) +import getopt +from os import environ +from nova.compute import network +from nova import flags +FLAGS = flags.FLAGS + + +def add_lease(mac, ip, hostname, interface): + pass + +def old_lease(mac, ip, hostname, interface): + pass + +def del_lease(mac, ip, hostname, interface): + # TODO - get net from interface instead + net = network.get_network_by_address(ip) + net.release_ip(ip) + +def init_leases(interface): + return "" + + +def main(argv=None): + if argv is None: + argv = sys.argv + interface = environ.get('DNSMASQ_INTERFACE', 'br0') + old_redis_db = FLAGS.redis_db + FLAGS.redis_db = int(environ.get('REDIS_DB', '0')) + action = argv[1] + if action in ['add','del','old']: + mac = argv[2] + ip = argv[3] + hostname = argv[4] + logging.debug("Called %s for mac %s with ip %s and hostname %s on interface %s" % (action, mac, ip, hostname, interface)) + globals()[action+'_lease'](mac, ip, hostname, interface) + else: + print init_leases(interface) + FLAGS.redis_db = old_redis_db + +if __name__ == "__main__": + sys.exit(main()) From 11d6d1bb6ef4c11f6e023cc3859b9c04f6062a09 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 7 Jul 2010 12:15:11 -0700 Subject: [PATCH 190/248] Got dhcpleasor working, with test ENV for testing, and rpc.cast for real world. --- bin/dhcpleasor.py | 36 +++++++++++++++++++++++++++--------- docs/conf.py | 2 +- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/bin/dhcpleasor.py b/bin/dhcpleasor.py index 07e63884..63ed5242 100755 --- a/bin/dhcpleasor.py +++ b/bin/dhcpleasor.py @@ -27,32 +27,50 @@ sys.path.append(os.path.abspath(os.path.join(__file__, "../../"))) logging.debug(sys.path) import getopt from os import environ +from nova.compute import linux_net from nova.compute import network +from nova import rpc + from nova import flags FLAGS = flags.FLAGS def add_lease(mac, ip, hostname, interface): - pass + if FLAGS.fake_rabbit: + network.lease_ip(ip) + else: + rpc.cast(FLAGS.cloud_topic, {"method": "lease_ip", + "args" : {"address": ip}}) def old_lease(mac, ip, hostname, interface): - pass + logging.debug("Adopted old lease or got a change of mac/hostname") def del_lease(mac, ip, hostname, interface): - # TODO - get net from interface instead - net = network.get_network_by_address(ip) - net.release_ip(ip) + if FLAGS.fake_rabbit: + network.release_ip(ip) + else: + rpc.cast(FLAGS.cloud_topic, {"method": "release_ip", + "args" : {"address": ip}}) def init_leases(interface): - return "" + net = network.get_network_by_interface(interface) + res = "" + for host_name in net.hosts: + res += "%s\n" % linux_net.hostDHCP(net, host_name, net.hosts[host_name]) + return res def main(argv=None): if argv is None: argv = sys.argv interface = environ.get('DNSMASQ_INTERFACE', 'br0') - old_redis_db = FLAGS.redis_db - FLAGS.redis_db = int(environ.get('REDIS_DB', '0')) + if int(environ.get('TESTING', '0')): + FLAGS.fake_rabbit = True + FLAGS.redis_db = 8 + FLAGS.network_size = 32 + FLAGS.fake_libvirt=True + FLAGS.fake_network=True + FLAGS.fake_users = True action = argv[1] if action in ['add','del','old']: mac = argv[2] @@ -62,7 +80,7 @@ def main(argv=None): globals()[action+'_lease'](mac, ip, hostname, interface) else: print init_leases(interface) - FLAGS.redis_db = old_redis_db + exit(0) if __name__ == "__main__": sys.exit(main()) diff --git a/docs/conf.py b/docs/conf.py index 9dfdfc8b..bc61f438 100644 --- a/docs/conf.py +++ b/docs/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('.')) +sys.path.append(os.path.abspath('/Users/jmckenty/Projects/cc')) sys.path.append([os.path.abspath('../nova'),os.path.abspath('../'),os.path.abspath('../vendor')]) from nova import vendor From c30ebc42264a81b5f7a65dd512dc385d9ccaefbf Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 7 Jul 2010 12:25:22 -0700 Subject: [PATCH 195/248] whitespace fixes and header changes --- bin/dhcpleasor.py | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/bin/dhcpleasor.py b/bin/dhcpleasor.py index 63ed5242..30f8fbdc 100755 --- a/bin/dhcpleasor.py +++ b/bin/dhcpleasor.py @@ -1,18 +1,24 @@ -#!/opt/local/bin/python +#!/usr/bin/env python +# vim: tabstop=4 shiftwidth=4 softtabstop=4 -# Copyright [2010] [Anso Labs, LLC] -# -# 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 -# +# Copyright 2010 United States Government as represented by the +# Administrator of the National Aeronautics and Space Administration. +# All Rights Reserved. +# +# Copyright 2010 Anso Labs, LLC +# +# 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. +# 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. + """ dhcpleasor.py @@ -37,21 +43,21 @@ FLAGS = flags.FLAGS def add_lease(mac, ip, hostname, interface): if FLAGS.fake_rabbit: - network.lease_ip(ip) + network.lease_ip(ip) else: rpc.cast(FLAGS.cloud_topic, {"method": "lease_ip", "args" : {"address": ip}}) def old_lease(mac, ip, hostname, interface): logging.debug("Adopted old lease or got a change of mac/hostname") - + def del_lease(mac, ip, hostname, interface): if FLAGS.fake_rabbit: - network.release_ip(ip) + network.release_ip(ip) else: rpc.cast(FLAGS.cloud_topic, {"method": "release_ip", - "args" : {"address": ip}}) - + "args" : {"address": ip}}) + def init_leases(interface): net = network.get_network_by_interface(interface) res = "" From cbdacfb5f00b50f1e9d07f8143e3827d78d6756c Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 7 Jul 2010 18:45:41 -0700 Subject: [PATCH 197/248] release 0.2.2-7 --- debian/changelog | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/debian/changelog b/debian/changelog index 789dad36..02fb6ba1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +nova (0.2.2-7) UNRELEASED; urgency=low + + * Missing files from twisted patch + * License upedates + * Reformatting/cleanup + * Users/ldap bugfixes + * Merge fixes + * Documentation updates + * Vpn key creation fix + * Multiple shelves for volumes + + -- Vishvananda Ishaya Wed, 07 Jul 2010 18:45:00 -0700 + nova (0.2.2-6) UNRELEASED; urgency=low * Fix to make Key Injection work again From 4b2a4edc49196fef174174dc598cb8c64a6ac33c Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 8 Jul 2010 10:06:25 -0700 Subject: [PATCH 199/248] release 0.2.2-8 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 02fb6ba1..85a630d9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nova (0.2.2-8) UNRELEASED; urgency=low + + * Added a missing comma + + -- Vishvananda Ishaya Mon, 08 Jul 2010 10:05:00 -0700 + nova (0.2.2-7) UNRELEASED; urgency=low * Missing files from twisted patch From 811985e564d82b767bee7d7ad7c247ea734af5b0 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 12 Jul 2010 10:39:01 -0500 Subject: [PATCH 208/248] Move nova related configuration files into /etc/nova/. --- debian/changelog | 1 + debian/nova-api.init | 2 +- debian/nova-api.install | 2 +- debian/nova-common.dirs | 1 + debian/nova-common.install | 2 +- debian/nova-compute.init | 2 +- debian/nova-compute.install | 2 +- debian/nova-objectstore.init | 2 +- debian/nova-objectstore.install | 2 +- debian/nova-volume.init | 2 +- debian/nova-volume.install | 2 +- 11 files changed, 11 insertions(+), 9 deletions(-) diff --git a/debian/changelog b/debian/changelog index f78e8c13..4dfdb1de 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ nova (0.3.0+really0.2.2-0ubuntu0ppa4) UNRELEASED; urgency=low * Relax the Twisted dependency to python-twisted-core (rather than the full stack). + * Move nova related configuration files into /etc/nova/. -- Soren Hansen Tue, 06 Jul 2010 22:28:28 +0200 diff --git a/debian/nova-api.init b/debian/nova-api.init index 77d9b244..597fbef9 100644 --- a/debian/nova-api.init +++ b/debian/nova-api.init @@ -13,7 +13,7 @@ set -e DAEMON=/usr/bin/nova-api -DAEMON_ARGS="--flagfile=/etc/nova-api.conf" +DAEMON_ARGS="--flagfile=/etc/nova/nova-api.conf" PIDFILE=/var/run/nova-api.pid ENABLED=true diff --git a/debian/nova-api.install b/debian/nova-api.install index d1f5d7d5..02dbda02 100644 --- a/debian/nova-api.install +++ b/debian/nova-api.install @@ -1,2 +1,2 @@ bin/nova-api usr/bin -debian/nova-api.conf etc +debian/nova-api.conf etc/nova diff --git a/debian/nova-common.dirs b/debian/nova-common.dirs index 01443c4f..b58fe8b7 100644 --- a/debian/nova-common.dirs +++ b/debian/nova-common.dirs @@ -1,3 +1,4 @@ +etc/nova var/lib/nova/buckets var/lib/nova/CA var/lib/nova/CA/INTER diff --git a/debian/nova-common.install b/debian/nova-common.install index f3d55404..92b5d3d4 100644 --- a/debian/nova-common.install +++ b/debian/nova-common.install @@ -1,5 +1,5 @@ bin/nova-manage usr/bin -debian/nova-manage.conf etc +debian/nova-manage.conf etc/nova nova/auth/novarc.template usr/share/nova nova/cloudpipe/client.ovpn.template usr/share/nova nova/compute/libvirt.xml.template usr/share/nova diff --git a/debian/nova-compute.init b/debian/nova-compute.init index 820cf3d3..d0f093a7 100644 --- a/debian/nova-compute.init +++ b/debian/nova-compute.init @@ -13,7 +13,7 @@ set -e DAEMON=/usr/bin/nova-compute -DAEMON_ARGS="--flagfile=/etc/nova-compute.conf" +DAEMON_ARGS="--flagfile=/etc/nova/nova-compute.conf" PIDFILE=/var/run/nova-compute.pid ENABLED=true diff --git a/debian/nova-compute.install b/debian/nova-compute.install index 20db74f1..5f9df46a 100644 --- a/debian/nova-compute.install +++ b/debian/nova-compute.install @@ -1,2 +1,2 @@ bin/nova-compute usr/bin -debian/nova-compute.conf etc +debian/nova-compute.conf etc/nova diff --git a/debian/nova-objectstore.init b/debian/nova-objectstore.init index 7f37ac8a..9676345a 100644 --- a/debian/nova-objectstore.init +++ b/debian/nova-objectstore.init @@ -13,7 +13,7 @@ set -e DAEMON=/usr/bin/nova-objectstore -DAEMON_ARGS="--flagfile=/etc/nova-objectstore.conf" +DAEMON_ARGS="--flagfile=/etc/nova/nova-objectstore.conf" PIDFILE=/var/run/nova-objectstore.pid ENABLED=true diff --git a/debian/nova-objectstore.install b/debian/nova-objectstore.install index 590fcc01..3ed93ff3 100644 --- a/debian/nova-objectstore.install +++ b/debian/nova-objectstore.install @@ -1,3 +1,3 @@ bin/nova-objectstore usr/bin -debian/nova-objectstore.conf etc +debian/nova-objectstore.conf etc/nova debian/nova-objectstore.nginx.conf etc/nginx/sites-available diff --git a/debian/nova-volume.init b/debian/nova-volume.init index 069b4781..d5c2dddf 100644 --- a/debian/nova-volume.init +++ b/debian/nova-volume.init @@ -13,7 +13,7 @@ set -e DAEMON=/usr/bin/nova-volume -DAEMON_ARGS="--flagfile=/etc/nova-volume.conf" +DAEMON_ARGS="--flagfile=/etc/nova/nova-volume.conf" PIDFILE=/var/run/nova-volume.pid ENABLED=true diff --git a/debian/nova-volume.install b/debian/nova-volume.install index e7e17201..9a840c78 100644 --- a/debian/nova-volume.install +++ b/debian/nova-volume.install @@ -1,2 +1,2 @@ bin/nova-volume usr/bin -debian/nova-volume.conf etc +debian/nova-volume.conf etc/nova From f2e77e6fddf947d8d4d7e87984a12e7a9c0ee85b Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Mon, 12 Jul 2010 13:23:22 -0700 Subject: [PATCH 210/248] release 0.2.2-9 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 85a630d9..426c77f5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nova (0.2.2-9) UNRELEASED; urgency=low + + * Fixed invalid dn bug in ldap for adding roles + + -- Vishvananda Ishaya Mon, 12 Jul 2010 15:20:00 -0700 + nova (0.2.2-8) UNRELEASED; urgency=low * Added a missing comma From 0b87da11a3564a550e1ed7a62c857ff5fb9a2d73 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 13 Jul 2010 19:01:14 -0700 Subject: [PATCH 213/248] release 0.2.2-10 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 426c77f5..0f648e30 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nova (0.2.2-10) UNRELEASED; urgency=low + + * Fixed extra space in vblade-persist + + -- Vishvananda Ishaya Mon, 13 Jul 2010 19:00:00 -0700 + nova (0.2.2-9) UNRELEASED; urgency=low * Fixed invalid dn bug in ldap for adding roles From 2b9257a2015ad91086a3cabf4ffde2201294a9a5 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 15:34:46 -0700 Subject: [PATCH 215/248] Addin buildbot --- README | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README b/README index 19271120..ffd45ea4 100644 --- a/README +++ b/README @@ -15,3 +15,6 @@ To disect it in detail: visit http://github.com/nova/cc To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING + +To watch it: http://184.106.205.70:8010 + From ae5138b713bef6b8f7ae2bc2cba164b6e4d32c41 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 15:39:24 -0700 Subject: [PATCH 216/248] More buildbot testing --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index ffd45ea4..bfeeebe3 100644 --- a/README +++ b/README @@ -17,4 +17,4 @@ To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING To watch it: http://184.106.205.70:8010 - +(This is buildbot) From ac67a75a1a99d2b91f6c7cf88db1e994c2c71677 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 15:41:02 -0700 Subject: [PATCH 217/248] More buildbot testing --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index bfeeebe3..5e710796 100644 --- a/README +++ b/README @@ -17,4 +17,4 @@ To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING To watch it: http://184.106.205.70:8010 -(This is buildbot) +(This is buildbot again) From 1255c1265677d681cd4456c147de0ec869230275 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 15:42:32 -0700 Subject: [PATCH 218/248] More buildbot testing --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index 5e710796..a12c7f3d 100644 --- a/README +++ b/README @@ -17,4 +17,4 @@ To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING To watch it: http://184.106.205.70:8010 -(This is buildbot again) + and again (This is buildbot again) From 783b2160539cde0a7e570f62c9d2c3b4133b13ac Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 15:44:42 -0700 Subject: [PATCH 219/248] More buildbot testing --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index a12c7f3d..29c6af0e 100644 --- a/README +++ b/README @@ -17,4 +17,4 @@ To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING To watch it: http://184.106.205.70:8010 - and again (This is buildbot again) + and again and again (This is buildbot again) From 78435ce1e509e293fc5b4d3fd3bf374c1d49a582 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 15:59:15 -0700 Subject: [PATCH 220/248] More buildbot testing --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index 29c6af0e..209106b7 100644 --- a/README +++ b/README @@ -18,3 +18,4 @@ To hack at it: read HACKING To watch it: http://184.106.205.70:8010 and again and again (This is buildbot again) +and again From 43057df4ba98232aa1a7a12f09884337a5380b6f Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 16:01:09 -0700 Subject: [PATCH 221/248] More buildbot testing --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index 209106b7..ab43d46d 100644 --- a/README +++ b/README @@ -18,4 +18,4 @@ To hack at it: read HACKING To watch it: http://184.106.205.70:8010 and again and again (This is buildbot again) -and again +aand again nd again From 12ebe2205f65911f64c7be416ee7cc79d1c1856e Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 16:32:11 -0700 Subject: [PATCH 224/248] Foo --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index ab43d46d..22127530 100644 --- a/README +++ b/README @@ -18,4 +18,4 @@ To hack at it: read HACKING To watch it: http://184.106.205.70:8010 and again and again (This is buildbot again) -aand again nd again +aand again nd again and again From a72529127ef04b4e02f3698f4ac7a018538c33ce Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 16:39:56 -0700 Subject: [PATCH 227/248] Foo --- README | 2 -- 1 file changed, 2 deletions(-) diff --git a/README b/README index 22127530..dcfbc4bc 100644 --- a/README +++ b/README @@ -17,5 +17,3 @@ To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING To watch it: http://184.106.205.70:8010 - and again and again (This is buildbot again) -aand again nd again and again From 301ca6d6c1c056c9f1f0d478bdf1184d7e3dbbd3 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 14 Jul 2010 18:48:05 -0500 Subject: [PATCH 228/248] Debian package additions for simple network template --- debian/nova-common.install | 1 + debian/nova-compute.conf | 1 + 2 files changed, 2 insertions(+) diff --git a/debian/nova-common.install b/debian/nova-common.install index 92b5d3d4..9b1bbf14 100644 --- a/debian/nova-common.install +++ b/debian/nova-common.install @@ -3,6 +3,7 @@ debian/nova-manage.conf etc/nova nova/auth/novarc.template usr/share/nova nova/cloudpipe/client.ovpn.template usr/share/nova nova/compute/libvirt.xml.template usr/share/nova +nova/compute/interfaces.template usr/share/nova usr/lib/python*/*-packages/nova/* CA/openssl.cnf.tmpl var/lib/nova/CA CA/geninter.sh var/lib/nova/CA diff --git a/debian/nova-compute.conf b/debian/nova-compute.conf index 5cd3f31f..e4ca3fe9 100644 --- a/debian/nova-compute.conf +++ b/debian/nova-compute.conf @@ -3,6 +3,7 @@ --datastore_path=/var/lib/nova/keeper --instances_path=/var/lib/nova/instances --networks_path=/var/lib/nova/networks +--simple_network_template=/usr/share/nova/interfaces.template --libvirt_xml_template=/usr/share/nova/libvirt.xml.template --vpn_client_template=/usr/share/nova/client.ovpn.template --credentials_template=/usr/share/nova/novarc.template From ccc522b1fbc409132635b0095929dd6956069e60 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 16:51:57 -0700 Subject: [PATCH 230/248] Fooish --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index dcfbc4bc..bd187c83 100644 --- a/README +++ b/README @@ -17,3 +17,4 @@ To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING To watch it: http://184.106.205.70:8010 +And again. From bc674bc3a63fc6a878e2f2066e3214f1e5e18ee0 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 17:07:37 -0700 Subject: [PATCH 233/248] Smiteme --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index bd187c83..e34cf186 100644 --- a/README +++ b/README @@ -18,3 +18,4 @@ To hack at it: read HACKING To watch it: http://184.106.205.70:8010 And again. +And yet again. From 3c32bd7b1e0c913c79f17a52fd85c7dd050f2603 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 17:13:02 -0700 Subject: [PATCH 234/248] Smiteme --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index e34cf186..c1178a18 100644 --- a/README +++ b/README @@ -19,3 +19,4 @@ To hack at it: read HACKING To watch it: http://184.106.205.70:8010 And again. And yet again. +And again. From 02c08e4026f99c091ef8b92c3502353f6f249b46 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 17:18:19 -0700 Subject: [PATCH 236/248] Smiteme --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index c1178a18..46d824f2 100644 --- a/README +++ b/README @@ -20,3 +20,4 @@ To watch it: http://184.106.205.70:8010 And again. And yet again. And again. +And again. From 1aa426356560904fd4adf1f444eb030a0f2b65e1 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 18:39:48 -0700 Subject: [PATCH 237/248] Smiteme --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index 46d824f2..f52890a1 100644 --- a/README +++ b/README @@ -21,3 +21,4 @@ And again. And yet again. And again. And again. +And again. From 51e4f1eb029ffce3c4c2fe609fa615653d0c6950 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 18:41:45 -0700 Subject: [PATCH 238/248] Smiteme --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index f52890a1..f48bb646 100644 --- a/README +++ b/README @@ -22,3 +22,4 @@ And yet again. And again. And again. And again. +And once more. From eb264386ce860ad7f4170dc6d231f44d0fc50ec3 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 18:55:37 -0700 Subject: [PATCH 239/248] Smiteme --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index f48bb646..79b601b0 100644 --- a/README +++ b/README @@ -23,3 +23,4 @@ And again. And again. And again. And once more. +And yet yet again. From 3d82eb157b88517007c3bc019953b298bbcd1195 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 19:35:13 -0700 Subject: [PATCH 242/248] Fixed buildbot --- README | 7 ------- 1 file changed, 7 deletions(-) diff --git a/README b/README index 79b601b0..dcfbc4bc 100644 --- a/README +++ b/README @@ -17,10 +17,3 @@ To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING To watch it: http://184.106.205.70:8010 -And again. -And yet again. -And again. -And again. -And again. -And once more. -And yet yet again. From 7dc7865b6413abaa16a3532347393024625eaa18 Mon Sep 17 00:00:00 2001 From: Joshua McKenty Date: Wed, 14 Jul 2010 19:55:52 -0700 Subject: [PATCH 243/248] Updating buildbot address --- README | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README b/README index dcfbc4bc..f7d21f40 100644 --- a/README +++ b/README @@ -16,4 +16,5 @@ To taunt it with its weaknesses: use http://github.com/nova/cc/issues To hack at it: read HACKING -To watch it: http://184.106.205.70:8010 +To watch it: http://test.novacc.org/waterfall +