Skip to content

Releases: openstacknetsdk/openstack.net

v1.6.0-beta.1

08 Jan 22:33
Compare
Choose a tag to compare
v1.6.0-beta.1 Pre-release
Pre-release

This beta release is part of the greater effort to split out Rackspace specific functionality out of OpenStack.NET into the Rackspace SDK. It also is our first release using Semantic Versioning, e.g. versions follow the scheme: breaking.feature.bug.

The 1.6 release is focused on OpenStack Compute v2.1, including the microversions.

net.openstack.Providers.Rackspace.CloudServersProvider will be marked as deprecated in v1.6 and removed in v2.0. The replacement is OpenStack.Compute.v2_1.ComputeService or if you are a Rackspace user, the upcoming v0.3 of the Rackspace package, will provide Rackspace.CloudServers.v2.CloudServerService.

Download v1.6.0-beta.1 on nuget.org

Here is an example of how to use the replacement service.

// Configure authentication
var user = new CloudIdentityWithProject
{
    Username = username,
    Password = password,
    ProjectName = project
};
var identity = new OpenStackIdentityProvider(new Uri(identityEndpoint), user);
var compute = new ComputeService(identity, region);

Console.WriteLine("Looking up the tiny flavor...");
var flavors = await compute.ListFlavorsAsync();
var tinyFlavor = flavors.FirstOrDefault(x => x.Name.Contains("tiny"));
if(tinyFlavor == null) throw new Exception("Unable to find a flavor with the 'tiny' in the name!");

Console.WriteLine("Looking up the cirros image...");
var images = await compute.ListImagesAsync(new ImageListOptions {Name = "cirros"});
var cirrosImage = images.FirstOrDefault();
if(cirrosImage == null) throw new Exception("Unable to find an image named 'cirros'");

Console.WriteLine("Creating Sample server... ");
var serverDefinition = new ServerCreateDefinition("sample", cirrosImage.Id, tinyFlavor.Id);
var server = await compute.CreateServerAsync(serverDefinition);

Console.WriteLine("Waiting for the sample server to come online...");
await server.WaitUntilActiveAsync();

Console.WriteLine("Taking a snaphot of the sample server...");
var snapshot = await server.SnapshotAsync(new SnapshotServerRequest("sample-snapshot"));
await snapshot.WaitUntilActiveAsync();

Console.WriteLine();
Console.WriteLine("Sample Server Information:");
Console.WriteLine();
Console.WriteLine($"Server Id: {server.Id}");
Console.WriteLine($"Server Name: {server.Name}");
Console.WriteLine($"Server Status: {server.Status}");
Console.WriteLine($"Server Address: {server.IPv4Address}");
Console.WriteLine();
Console.WriteLine("Sample Snapshot Information:");
Console.WriteLine();
Console.WriteLine($"Image Id: {snapshot.Id}");
Console.WriteLine($"Image Name: {snapshot.Name}");
Console.WriteLine($"Image Status: {snapshot.Status}");
Console.WriteLine($"Image Type: {snapshot.Type}");
Console.WriteLine();

Console.WriteLine("Deleting Sample Server...");
await snapshot.DeleteAsync();
await server.DeleteAsync();

v1.5.0.1

03 Sep 19:59
Compare
Choose a tag to compare

Bug Fixes

  • Fixed #554. See Dependency Changes below for what you need to change in your code to take advantage of the fix.
  • Merged #557 which fixes a bug in our enum serializers used by the NetworkingService.
  • Only allow OpenStackNet.Configure to be called once. If you need to call it again, call OpenStackNet.ResetDefaults first. This enables the configuration for OpenStack.NET and other provider packages, such as Rackspace.NET, to live side-by-side.

Dependency Changes

SimpleRestServices is no longer an explicit NuGet dependency. Perform the following steps to remove it from your project:

  1. Remove assembly binding redirects for Json.NET from your app.config or web.config.
  2. Remove SimpleRestServices from your packages.config file.
  3. Remove any project references to SimpleRestServices.

SimpleRestServices depends on Json.NET v4.5 but the rest of OpenStack.NET uses v6.0. This version conflict required you to add assembly binding redirects in your projects... Sorry about that! We are now building our own fork of SimpleRestServices and embedding it into openstacknet.dll. With this change you should no longer be affected by our dependency version conflicts.

If this ends up causing more trouble, please let us know!

Download v1.5.0.1 on nuget.org

v1.4.1

18 Aug 13:50
Compare
Choose a tag to compare

Bug Fixes

  • Fix CDN WaitForServiceDeleted. It was ignoring all the timeout and progress parameters.
  • #547 Simplify Authentication for Vanilla OpenStack. ProjectId is now optional.

Misc

  • #545 Trace HTTP requests/errors. See PR for details on how to enable tracing.

Download v1.4.1 on nuget.org

v1.5.0.0

17 Aug 20:24
Compare
Choose a tag to compare

This is the first release in the 1.5.x migration. Read that link for full details but in short, OpenStack.NET is being updated to remove support for individual vendors, such as Rackspace, in favor of each vendor providing a package built on top of OpenStack.NET.

Checkout the announcement of Rackspace.NET for more information.

Networking v2 Support

  • Networking v1 has been marked as deprecated. It will be removed in v2.0
  • Support for Networking v2 API can be found in the OpenStack.Networking.v2 namespace. Use OpenStack.Networking.v2.NetworkingService to get started.
  • Rackspace Cloud Networks can be found in Rackspace.NET.

Download v1.5.0.0 on nuget.org

v1.4.0.2

20 Jul 16:00
Compare
Choose a tag to compare

Bug Fixes

  • The CDN service can now connect to non-Rackspace OpenStack providers (e.g. HP and vanilla OpenStack). See PR #527
  • Prevent NuGet from using a newer version of SimpleRESTServices. The latest published version, 1.3.0.2, has a problem with its key.

Download v1.4.0.2 on nuget.org

v1.4.0.1

15 Jul 13:56
Compare
Choose a tag to compare

Bug Fixes

  • Fixed bug in CDN service. When a request fails due to an expired token, it now automatically re-authenticates and retries the request.

Misc

  • Added constructor to ServiceDefinition which streamlines creating a CDN service for a single domain
var service = new ServiceDefinition("service-name", "flavor-id", "www.example.com", "example.com")

Download v1.4.0.1 on nuget.org

v1.4.0.0

09 Jul 15:22
Compare
Choose a tag to compare

See OpenStack.NET 1.4 and Beyond for additional information about the release.

CDN Support

Add support for Content Delivery Network Service v1 (Poppy).

Download v1.4.0.0 on nuget.org

Alerts

Support for .NET 3.5 and .NET 4.0 have been dropped. Backwards compatibility is great but some of the most needed functionality for the SDK, such as async/await and HttpClient, aren't first class citizens in older version of .NET. This frees us up to focus on new features instead of working around missing framework functionality.

v1.3.6.0

24 Jun 16:31
Compare
Choose a tag to compare

Custom User Agent

You can now specify a custom user agent and it will be prepended to the standard UserAgent header:

var provider = new CloudServersProvider();
provider.ApplicationUserAgent = "PoshStack";
// User-Agent: PoshStack openstack.net/1.3.6.0

Download v1.3.6.0 on nuget.org

v1.3.5.0

10 Jun 17:18
Compare
Choose a tag to compare

Added two methods to version 1.x CloudFilesProvider:

  1. UpdateObjectContentType
  2. UpdateObjectHeaders

v1.3.4.0

24 Nov 21:43
Compare
Choose a tag to compare

Minor Feature and Bug Fix Release

This release improves compatibility in certain scenarios and has minor additions to existing products. This release is a non-breaking (binary- and source-compatible) update to the 1.3.3.0 release.

Changes

You can view all commits for this release here.

You can view all issues closed for this release here.

  • New Features
    • New examples for Cloud Identity (#438)
    • Support resetting a user's API key (#436)
  • Other improvements
    • Improve compatibility of the library with Newtonsoft.Json 6.x (#433)

Acknowledgements

Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username. This list does not include people who contacted us through other channels, but your feedback is no less valuable so we thank you as well.