Releases: openstacknetsdk/openstack.net
v1.6.0-beta.1
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
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, callOpenStackNet.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:
- Remove assembly binding redirects for Json.NET from your app.config or web.config.
- Remove SimpleRestServices from your packages.config file.
- 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!
v1.4.1
v1.5.0.0
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. UseOpenStack.Networking.v2.NetworkingService
to get started. - Rackspace Cloud Networks can be found in Rackspace.NET.
v1.4.0.2
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.
v1.4.0.1
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")
v1.4.0.0
See OpenStack.NET 1.4 and Beyond for additional information about the release.
CDN Support
Add support for Content Delivery Network Service v1 (Poppy).
- See http://docs.cloudcdn.apiary.io for the API documentation.
- See the SDK documentation for more details.
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
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
v1.3.5.0
v1.3.4.0
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
- 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.