protected SimpleServer GetServerByNameOrCreate(string serverName, bool forceCreateServer = true) { var os = new OpenStackMember(UserName, Password, TenantName); // with tenant var servers = os.ListServersDetails().Where <Server>(x => { var metadata = x.GetMetadata(); if (!metadata.ContainsKey("loginname")) { return(false); } return(metadata["loginname"] == serverName); }); if (servers != null && servers.Count() > 0) { return(servers.First <Server>()); } else { if (!forceCreateServer) { throw new ArgumentException("no item found"); } // create server var image = os.ListImages().First(); var network = os.ListNetworks().Where <Network>(x => x.Name.Contains("ext_")).First <Network>(); NewServer server = os.CreateServer(serverName, image.Id, GetFlavorByName("g-1gb").Id, "YKJkd2-GF%x1O", keyname: null, nametag: "test nametag", networks: (new String[] { network.Id })); Trace.WriteLine(String.Format("server creation transferred : {0}", DateTime.Now)); Assert.IsNotNull(server); Assert.IsNotNull(server.AdminPassword); Trace.WriteLine(string.Format("ServerName : {0}", serverName)); Trace.WriteLine(string.Format("AdminPassword : {0}", server.AdminPassword)); // wait for activate os.ServersProvider.WaitForServerActive(server.Id); Trace.WriteLine(String.Format("server activated : {0}", DateTime.Now)); servers = os.ListServersDetails().Where <Server>(x => { var metadata = x.GetMetadata(); if (!metadata.ContainsKey("loginname")) { return(false); } return(metadata["loginname"] == serverName); }); if (servers != null && servers.Count() > 0) { return(servers.First <SimpleServer>()); } else { throw new ArgumentException("server creation faild"); } } }
public void ListNetworksTest() { var os = new OpenStackMember(UserName, Password, TenantName, TenantId); var networks = os.ListNetworks(); Assert.IsNotNull(networks); foreach (var n in networks) { Trace.WriteLine(string.Format("networkid : {0}, name : {1}", n.Id, n.Name)); } }
public void GetNetworkTest() { var os = new OpenStackMember(UserName, Password, TenantName, TenantId); var networks = os.ListNetworks(); Assert.IsNotNull(networks); foreach (var n in networks) { var network = os.GetNetwork(n.Id); Assert.IsNotNull(network); } }
private string GetInterfaceAttachmentIdByTesterName(string testerName = null) { testerName = testerName ?? TesterName; var os = new OpenStackMember(UserName, Password, TenantName); IEnumerable <Network> networks = os.ListNetworks(); Network n = networks.Where <Network>(x => x.Name == testerName).FirstOrDefault <Network>(); if (n == null) { try { n = os.CreateNetwork(testerName); Trace.WriteLine(string.Format("network added : {0}", DateTime.Now)); Trace.WriteLine(string.Format("NetworkId : {0}, Name : {1}", n.Id, n.Name)); } catch (Exception) { throw; } } IEnumerable <Port> ports = os.ListPorts(); Port p = ports.Where <Port>(x => x.Name == testerName).FirstOrDefault <Port>(); if (p == null) { try { p = os.CreatePort(n.Id); Trace.WriteLine(string.Format("port added : {0}", DateTime.Now)); Trace.WriteLine(string.Format("PortId : {0}, Name : {1}", p.Id, p.Name)); } catch (Exception) { throw; } } return(p.Id); }