Skip to content

Commit

Permalink
Version 1.6.4 - several enhancements and a few bug fixes. See RELEASE…
Browse files Browse the repository at this point in the history
…NOTES.md for a list of changes.
  • Loading branch information
EdLeafe committed Feb 24, 2014
1 parent d7d557b commit ee24426
Show file tree
Hide file tree
Showing 415 changed files with 23,300 additions and 1,089 deletions.
16 changes: 16 additions & 0 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Release Notes for pyrax

###2014.02.24 - Version 1.6.4
- Cloud Block Storage:
- Added support for volume cloning.
- Cloud Files:
- Added support for bulk deletes > 10K objects. GitHub #286
- Fixed edge case with object size == max chunk size. GitHub #287
- General:
- Added support for identity modules outside of pyrax. GitHub #292
- Testing:
- Moved fakes.py into pyrax module to enable easier testing from other
projects. GitHub #288
- Docs:
- Fixed several typos. GitHub #296 & #296.
- Autoscale:
- Removed default of AUTO for diskConfig from Autoscale.

###2014.02.03 - Version 1.6.3
- Cloud Monitoring:
- Added back missing error info. GitHub #285
Expand Down
2 changes: 1 addition & 1 deletion docs/cloud_monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ The `id` value is then passed in as the `notification_type` parameter to `create
To create the notification, run the following:

email = cm.create_notification("email", label="my_email_notification",
details={"address": "me@example.com")
details={"address": "me@example.com"})

This will create an email notification that will notify the caller at *me@example.com*.

Expand Down
14 changes: 7 additions & 7 deletions docs/cloud_servers.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,13 @@ There are two types of images: the base images supplied by your cloud provider,
## Listing Flavors
Let's do the same for flavors:

flvs = cs.list_flavors()
for flv in flvs:
print "Name:", flv.name
print " ID:", flv.id
print " RAM:", flv.ram
print " Disk:", flv.disk
print " VCPUs:", flv.vcpus
flvs = cs.list_flavors()
for flv in flvs:
print "Name:", flv.name
print " ID:", flv.id
print " RAM:", flv.ram
print " Disk:", flv.disk
print " VCPUs:", flv.vcpus

This returns:

Expand Down
2 changes: 2 additions & 0 deletions docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ Please note that if you used `auth_with_token()` to authenticate originally, pyr
## Pyrax Configuration
You can control how pyrax behaves through the configuration file. It should be named `~/.pyrax.cfg`. Like the credential file, `~/.pyrax.cfg` is a standard configuration file. Alternatively, you may set these values using environment variables in the OS. Note that the configuration file values take precendence over any environment variables. Environment variables also do not support multiple configurations.

Do **not** include login credentials, such as passwords, in the configuration file. As this is a defined file in a known location, it is a security risk to have your login information stored in clear text. You may use a [credential file](#authenticating) if you wish to store your credentials on disk; this can be named whatever you wish, and placed anywhere on disk, since you pass the full path to the file when authenticating this way. Please note that credentials stored in the configuration file will be ignored, and a warning will be issued if they are found.

**NOTE**: At the very least, you *must* set the `identity_type` setting so that can use the correct identity class. Prior versions only worked with Rackspace identity, but that is no longer the case. If you don't want to use a configuration file or an environment variable, you can do this in code:

pyrax.set_setting("identity_type", "keystone")
Expand Down
58 changes: 57 additions & 1 deletion docs/html/annotated.html
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,61 @@
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1EndpointNotDefined.html">EndpointNotDefined</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1EndpointNotFound.html">EndpointNotFound</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1EnvironmentNotFound.html">EnvironmentNotFound</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeAutoScaleClient.html">FakeAutoScaleClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeAutoScalePolicy.html">FakeAutoScalePolicy</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeAutoScaleWebhook.html">FakeAutoScaleWebhook</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeBlockStorageClient.html">FakeBlockStorageClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeBlockStorageManager.html">FakeBlockStorageManager</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeBlockStorageSnapshot.html">FakeBlockStorageSnapshot</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeBlockStorageVolume.html">FakeBlockStorageVolume</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeBulkDeleter.html">FakeBulkDeleter</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeClient.html">FakeClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeCloudMonitorCheck.html">FakeCloudMonitorCheck</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeCloudMonitorClient.html">FakeCloudMonitorClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeCloudMonitorEntity.html">FakeCloudMonitorEntity</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeCloudMonitorNotification.html">FakeCloudMonitorNotification</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeCloudNetwork.html">FakeCloudNetwork</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeCloudNetworkClient.html">FakeCloudNetworkClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeContainer.html">FakeContainer</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeCSClient.html">FakeCSClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDatabaseClient.html">FakeDatabaseClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDatabaseInstance.html">FakeDatabaseInstance</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDatabaseManager.html">FakeDatabaseManager</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDatabaseUser.html">FakeDatabaseUser</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDatabaseVolume.html">FakeDatabaseVolume</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDNSClient.html">FakeDNSClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDNSDevice.html">FakeDNSDevice</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDNSDomain.html">FakeDNSDomain</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDNSManager.html">FakeDNSManager</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDNSPTRRecord.html">FakeDNSPTRRecord</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeDNSRecord.html">FakeDNSRecord</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeEntity.html">FakeEntity</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeEntryPoint.html">FakeEntryPoint</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeException.html">FakeException</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeFolderUploader.html">FakeFolderUploader</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeIdentity.html">FakeIdentity</a></td><td class="indexvalue">Class that returns canned authentication responses </td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeIdentityResponse.html">FakeIdentityResponse</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeKeyring.html">FakeKeyring</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeLoadBalancer.html">FakeLoadBalancer</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeLoadBalancerClient.html">FakeLoadBalancerClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeLoadBalancerManager.html">FakeLoadBalancerManager</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeManager.html">FakeManager</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeNode.html">FakeNode</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeNovaVolumeClient.html">FakeNovaVolumeClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeQueue.html">FakeQueue</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeQueueClaim.html">FakeQueueClaim</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeQueueClient.html">FakeQueueClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeQueueManager.html">FakeQueueManager</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeQueueMessage.html">FakeQueueMessage</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeResponse.html">FakeResponse</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeScalingGroup.html">FakeScalingGroup</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeScalingGroupManager.html">FakeScalingGroupManager</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeServer.html">FakeServer</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeService.html">FakeService</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeServiceCatalog.html">FakeServiceCatalog</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeStatusChanger.html">FakeStatusChanger</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeStorageObject.html">FakeStorageObject</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1fakes_1_1FakeVirtualIP.html">FakeVirtualIP</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1cf__wrapper_1_1container_1_1Fault.html">Fault</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1FileNotFound.html">FileNotFound</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1FlavorNotFound.html">FlavorNotFound</a></td><td class="indexvalue"></td></tr>
Expand Down Expand Up @@ -269,6 +324,7 @@
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1UserNotFound.html">UserNotFound</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1cloudloadbalancers_1_1VirtualIP.html">VirtualIP</a></td><td class="indexvalue">Represents a Virtual IP for a Load Balancer </td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1VolumeAttachmentFailed.html">VolumeAttachmentFailed</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1VolumeCloneTooSmall.html">VolumeCloneTooSmall</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1VolumeDetachmentFailed.html">VolumeDetachmentFailed</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classpyrax_1_1exceptions_1_1VolumeNotAvailable.html">VolumeNotAvailable</a></td><td class="indexvalue"></td></tr>
</table>
Expand All @@ -290,7 +346,7 @@


<hr class="footer"/><address class="footer"><small>
Generated on Mon Feb 3 2014 11:34:26 for pyrax by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Mon Feb 24 2014 11:18:02 for pyrax by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
Expand Down
3 changes: 2 additions & 1 deletion docs/html/cf__wrapper_2client_8py.html
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepyrax_1_1cf__wrapper_1_1client.html#a32d68802775b5e101a259fb6f3edf5d7">CONNECTION_TIMEOUT</a> = 20</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepyrax_1_1cf__wrapper_1_1client.html#a19074fb0e7d33e5cb6f2fc49877e64c1">CONNECTION_RETRIES</a> = 5</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepyrax_1_1cf__wrapper_1_1client.html#a8086cfcceb4dcb4059f9b974ccf12fea">AUTH_ATTEMPTS</a> = 2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepyrax_1_1cf__wrapper_1_1client.html#a427058bc05da2dd18ad05697b19dd420">MAX_BULK_DELETE</a> = 10000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepyrax_1_1cf__wrapper_1_1client.html#ab3150aa95b9e341f9b4c3f11214a9097">no_such_container_pattern</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">tuple&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepyrax_1_1cf__wrapper_1_1client.html#a8141ed8d74dd957f7bad8300a7fed3da">no_such_object_pattern</a> = re.compile(r&quot;Object (?:GET|HEAD) failed: .+/(.+) 404&quot;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepyrax_1_1cf__wrapper_1_1client.html#a73ecac0c29c1866713f3d26ca05f986c">etag_fail_pat</a> = r&quot;Object PUT failed: .+/([^/]+)/(\S+) 422 Unprocessable Entity&quot;</td></tr>
Expand All @@ -133,7 +134,7 @@


<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 24 2013 09:26:02 for pyrax by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Mon Feb 24 2014 11:17:57 for pyrax by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
Expand Down
Loading

0 comments on commit ee24426

Please sign in to comment.