Example #1
0
    def add_sim(self, sim_type="mock", proj_name="", user_input="", num_cores=1, ARG=False, DEL=False):
        """
        Adds simulation to the user's list of projects. Calls setup_sim and curr_sim.simulation to configure the new
        project and actually deploy the simulation
        :param sim_type:
        :param proj_name:
        :param user_input:
        :param ARG:
        :param DEL:
        :return:
        """

        ###### Create Unique VM ID ######
        self.curr_sim.generate_vm_id(self.username)

        ##### If accessed through command-line #####
        if ARG:
            self.curr_sim.name   = proj_name
            self.curr_sim.input  = user_input
            self.curr_sim.cores  = num_cores
            self.curr_sim.tstamp = AzureTools.timestamp()

            ## Check Project Name is Unique and Valid ###
            valid = self.curr_sim.check_name(proj_name)
            unique = self.check_sim(proj_name)

            ##### Update Simulation File ######
            # The Simulation name has invalid syntax...
            if not valid:
                stderr.write("\nSimulation name has invalid syntax.")
                exit(1)
            elif not unique:
                stderr.write("Simulation name already exists.")
                exit(1)
            else:
                self.user_info["username"] = self.username
                self.user_info["email"]    = self.email
                self.user_info["sim"]      = self.curr_sim.name

                self.curr_sim.upload_input(self.user_info)
                success = self.curr_sim.simulation(self.username, sim_type, ARG, DEL)
                return success
        else:
            # Get user input for simulation name and check if name is unique
            if self.user_giveSimName() is 1:
                return 1

            # Get user input for input files
            if self.user_giveSimInput() is 1:
                return 1

            # Get user input for core count
            self.user_giveSimCores()

            # Generate timestamp
            self.curr_sim.tstamp = AzureTools.timestamp()

            # Run simulation
            success = self.curr_sim.simulation(self.username, sim_type)
            return success
Example #2
0
    def add_sim(self,
                sim_type="mock",
                proj_name="",
                user_input="",
                num_cores=1,
                ARG=False,
                DEL=False):
        """
        Adds simulation to the user's list of projects. Calls setup_sim and curr_sim.simulation to configure the new
        project and actually deploy the simulation
        :param sim_type:
        :param proj_name:
        :param user_input:
        :param ARG:
        :param DEL:
        :return:
        """

        ###### Create Unique VM ID ######
        self.curr_sim.generate_vm_id(self.username)

        ##### If accessed through command-line #####
        if ARG:
            self.curr_sim.name = proj_name
            self.curr_sim.input = user_input
            self.curr_sim.cores = num_cores
            self.curr_sim.tstamp = AzureTools.timestamp()

            ## Check Project Name is Unique and Valid ###
            valid = self.curr_sim.check_name(proj_name)
            unique = self.check_sim(proj_name)

            ##### Update Simulation File ######
            # The Simulation name has invalid syntax...
            if not valid:
                stderr.write("\nSimulation name has invalid syntax.")
                exit(1)
            elif not unique:
                stderr.write("Simulation name already exists.")
                exit(1)
            else:
                self.user_info["username"] = self.username
                self.user_info["email"] = self.email
                self.user_info["sim"] = self.curr_sim.name

                self.curr_sim.upload_input(self.user_info)
                success = self.curr_sim.simulation(self.username, sim_type,
                                                   ARG, DEL)
                return success
        else:
            # Get user input for simulation name and check if name is unique
            if self.user_giveSimName() is 1:
                return 1

            # Get user input for input files
            if self.user_giveSimInput() is 1:
                return 1

            # Get user input for core count
            self.user_giveSimCores()

            # Generate timestamp
            self.curr_sim.tstamp = AzureTools.timestamp()

            # Run simulation
            success = self.curr_sim.simulation(self.username, sim_type)
            return success