Esempio n. 1
0
 set => SetValue(ContainerProperty, value);
 set => this.SetValue(ContainerProperty, value);
        /// <summary>
        /// Build Cloud from already Exist master container
        /// </summary>
        /// <param name="configure"></param>
        /// <param name="property"></param>
        public void buildExistMaster(global::Aneka.Runtime.Configuration configure, ContainerProperty property)
        {
            try
            {
                Uri uri = new Uri(configure.IndexServerUri);
                CloudWebPortal.Areas.Aneka.Models.Machine machine = db.Machines.Where(x => x.IP == uri.Host).First();
                Cloud cloud = new Cloud();
                Master master = new Master();
                if (property.Status == ContainerStatus.Started)
                {
                    IContainerManagerProxy containerProxy = ProxyCreator.CreateContainerManagerProxy();
                    NodeInfo nodeInfo = containerProxy.GetNodeInfo(uri.ToString());
                    if (nodeInfo != null)
                    {
                        master.Services = new List<Service>();
                        foreach (String serviceName in nodeInfo.GetServices())
                        {
                            foreach (Service serviceFromDB in db.Services.ToList())
                            {
                                if (serviceFromDB.SpringSegmentXML.Contains(serviceName))
                                    master.Services.Add(serviceFromDB);
                            }
                        }
                    }
                }

                master.DisplayName = configure.IndexServerUri;
                master.isInstalled = true;
                master.Port = configure.Port;
                master.AnekaContainerID = property.Id;
                master.Cost = (int)configure.Cost;
                cloud.CloudName = configure.Name;

                db.Masters.Add(master);
                machine.Masters.Add(master);
                db.SaveChanges();

                db.Clouds.Add(cloud);
                cloud.Master = master;
                db.SaveChanges();

                try
                {
                    //Get already exist users
                    Uri masterUri = new Uri(ContainersManagement.GetContainerUri(machine.IP, master.Port));
                    global::Aneka.Security.UserCredentials adminLogin = new global::Aneka.Security.UserCredentials("Administrator", String.Empty);
                    AnekaUsersManagement anekaUsersManagement = new AnekaUsersManagement(masterUri, adminLogin);
                    List<CloudUserAccount> cloudUserAccounts = anekaUsersManagement.getAllUsersFromTheCloud();
                    foreach (CloudUserAccount account in cloudUserAccounts)
                    {
                        if (account.Password == "")
                            account.Password = "******";
                        account.Clouds = new List<Cloud>();
                        account.Clouds.Add(cloud);
                        db.CloudUserAccounts.Add(account);
                        db.SaveChanges();
                    }
                }
                catch (Exception)
                {

                }
                finally
                {
                    FinishedMasterActivity(cloud.CloudId);
                }

            }
            catch (Exception)
            {
            }
        }
Esempio n. 4
0
 public ContainerProperty(ContainerProperty copySource) : base(copySource)
 {
     uBound   = copySource.uBound;
     resource = copySource.resource;
 }
Esempio n. 5
0
        private void Properties_Click(object sender, System.EventArgs e)
        {
            TreeNode n = TypesView.SelectedNode;
            UPnPComplexType c;

            if(n.Tag.GetType()==typeof(UPnPComplexType))
            {
                c = (UPnPComplexType)n.Tag;

                ComplexTypeProperty ctp = new ComplexTypeProperty(c);
                if(ctp.ShowDialog()==DialogResult.OK)
                {
                    UPnPComplexType NewComplexType = new UPnPComplexType(ctp.LocalName,ctp.Namespace);
                    NewComplexType.ClearCollections();
                    foreach(UPnPComplexType.GenericContainer gc in c.Containers)
                    {
                        NewComplexType.AddContainer(gc);
                    }
                    upnpService.RemoveComplexType(c);
                    upnpService.AddComplexType(NewComplexType);
                    n.Tag = NewComplexType;
                    n.Text = NewComplexType.ToString();
                }
            }
            else if(n.Tag.GetType().BaseType == typeof(UPnPComplexType.GenericContainer))
            {
                ContainerProperty cp = new ContainerProperty(upnpService.GetComplexTypeList(),(UPnPComplexType.GenericContainer)n.Tag);
                if(cp.ShowDialog()==DialogResult.OK)
                {
                    if(n.Tag.GetType()==typeof(UPnPComplexType.ComplexContent))
                    {
                        ((UPnPComplexType.ComplexContent)n.Tag).RestExt = cp.re;
                    }
                    else if(n.Tag.GetType()==typeof(UPnPComplexType.ComplexContent))
                    {
                        ((UPnPComplexType.SimpleContent)n.Tag).RestExt = cp.re;
                    }
                }
            }
        }