public void CreateSnapshot() { Identity identity = new Identity() { AuthEndpoint = "http://192.168.1.149:5000/v2.0", Password = "******", TenantName = "admin", Username = "******", }; InstanceManager instanceManager = new InstanceManager(identity); var firstInstaceId = instanceManager.ListInstances(identity)[0].Id; var snapshotName = instanceManager.CreateSnapshot(firstInstaceId, (x) => { return true; }); ImageManager imageManager = new ImageManager(identity); OpenstackImage image = imageManager.GetImage(new OpenstackImage() { Name = snapshotName }); Assert.AreNotSame(image, null); }
public void DeleteSnapshot() { Identity identity = new Identity() { AuthEndpoint = "http://192.168.1.149:5000/v2.0", Password = "******", TenantName = "admin", Username = "******", }; InstanceManager instanceManager = new InstanceManager(identity); var firstInstaceId = "a9a8ba2c-fc26-4ecc-8419-ca9b7cf326a2"; var snapshotName = instanceManager.CreateSnapshot(firstInstaceId, (x) => { return true; }); ImageManager imageManager = new ImageManager(identity); OpenstackImage image = imageManager.GetImage(new OpenstackImage() { Name = snapshotName }); Assert.AreNotSame(image, null); imageManager.Delete(image.Id); image = imageManager.GetImage(new OpenstackImage() { Name = snapshotName }); Assert.AreEqual(image, null); }
public void DownloadSnapshot() { Identity identity = new Identity() { AuthEndpoint = "http://192.168.1.118:5000/v2.0", Password = "******", TenantName = "admin", Username = "******", }; InstanceManager instanceManager = new InstanceManager(identity); var firstInstaceId = "f71e50ab-cf33-4491-b6f4-8887b29b2c22"; var snapshotName = instanceManager.CreateSnapshot(firstInstaceId, (x) => { return true; }); ImageManager imageManager = new ImageManager(identity); OpenstackImage image = imageManager.GetImage(new OpenstackImage() { Name = snapshotName }); Assert.AreNotSame(image, null); image = imageManager.GetImage(image.Id); imageManager.DownloadImage(image.Id, @"E:\\AtlasVHDS\\" + image.Name + "." + image.DiskFormat); imageManager.Delete(image.Id); image = imageManager.GetImage(new OpenstackImage() { Name = snapshotName }); Assert.AreEqual(image, null); }
public void Delete(string imageId) { RequestManager requestManager = new RequestManager(_identity); var uri = string.Format("/v2/images/{0}", imageId); requestManager.Delete(uri, "glance"); ImageManager imageManager = new ImageManager(_identity); var deleteFinished = false; if (imageId != null) { while (!deleteFinished) { OpenstackImage image = imageManager.GetImage(imageId); if (image != null) { Thread.Sleep(10000); } else { deleteFinished = true; } } } }
public void ListImages() { Identity identity = new Identity() { AuthEndpoint = "http://192.168.1.149:5000/v2.0", Password = "******", TenantName = "admin", Username = "******", }; ImageManager imageManager = new ImageManager(identity); IList<OpenstackImage> instances = imageManager.ListImages(); Assert.IsTrue(instances.Count != 0); }
public string CreateSnapshot(string instanceId, Func<decimal, bool> progressCallback) { string snapshotName = CreateSnapshot(instanceId, _identity); bool snapshotFinished = false; var progress = 0; var progressStep = 5; ImageManager imageManager = new ImageManager(_identity); if (snapshotName != null) { OpenstackImage imageParent = imageManager.GetImage(new OpenstackImage() { Name = snapshotName }); while (!snapshotFinished) { OpenstackImage image = imageManager.GetImage(imageParent.Id); if (image.Status.ToLower() == "active") { snapshotFinished = true; progress = 100; } if (image.Status.ToLower() == "error") { throw new Exception("Snapshot failed to create!"); } if (progress != 100) { if (!snapshotFinished && progress + progressStep < 99) progress += progressStep; } progressCallback(progress); Thread.Sleep(10000); } } return snapshotName; }