Exemplo n.º 1
0
def main():
    """
  <Purpose>
    The main function that calls the process_nodes_and_change_state() function
    in the node_transition_lib passing in the process and error functions.

  <Arguments>
    None

  <Exceptions>
    None

  <Side Effects>
    None
  """

    # Mark the node as active.
    mark_node_active = True
    state_function_arg_tuplelist = [
        ("twopercent", "twopercent", node_transition_lib.update_database,
         node_transition_lib.noop, mark_node_active,
         node_transition_lib.update_database_node)
    ]

    sleeptime = 10
    process_name = "twopercent_to_twopercent"
    parallel_instances = 10

    #call process_nodes_and_change_state() to start the node state transition
    node_transition_lib.process_nodes_and_change_state(
        state_function_arg_tuplelist, process_name, sleeptime,
        parallel_instances)
Exemplo n.º 2
0
def main():
    """
  <Purpose>
    The main function that calls the process_nodes_and_change_state() function
    in the node_transition_lib passing in the process and error functions.

  <Arguments>
    None
 
  <Exceptions>
    None

  <Side Effects>
    None
  """

    # Open and read the resource file that is necessary for twopercent vessels.
    # This will determine how the vessels will be split and how much resource
    # will be allocated to each vessel.
    twopercent_resource_fd = file(RESOURCES_TEMPLATE_FILE_PATH)
    twopercent_resourcetemplate = twopercent_resource_fd.read()
    twopercent_resource_fd.close()

    # We are going to transition all the nodes that are in the canonical state
    # to the twopercent state. We are going to do this in three different
    # state. First we are going to transition all the canonical state nodes
    # to the movingto_twopercent state with a no-op function. The reason for
    # this is, so if anything goes wrong, we can revert back.
    # In the second step we are going to attempt to move all the nodes in the
    # movingto_twopercent state to the twopercent state. The way to do this, is
    # we are going to split the vessels by giving each vessel the resources
    # that are described in the resource template.
    # Next we are going to try to transition all the nodes in the
    # movingto_twopercent state to the canonical state. Any nodes that failed
    # to go to the twopercent are still stuck in the movingto_twopercent state,
    # and we want to move them back to the canonical state.

    # Variables that determine weather to mark a node inactive or not.
    mark_node_inactive = False
    mark_node_active = True

    state_function_arg_tuplelist = [
        ("canonical", "movingto_twopercent", node_transition_lib.noop,
         node_transition_lib.noop, mark_node_inactive),
        ("movingto_twopercent", "twopercent",
         node_transition_lib.split_vessels, node_transition_lib.noop,
         mark_node_active, twopercent_resourcetemplate),
        ("movingto_twopercent", "canonical",
         node_transition_lib.combine_vessels, node_transition_lib.noop,
         mark_node_inactive)
    ]

    sleeptime = 10
    process_name = "canonical_to_twopercent"
    parallel_instances = 10

    #call process_nodes_and_change_state() to start the node state transition
    node_transition_lib.process_nodes_and_change_state(
        state_function_arg_tuplelist, process_name, sleeptime,
        parallel_instances)
def main():
  """
  <Purpose>
    The main function that calls the process_nodes_and_change_state() function
    in the node_transition_lib passing in the process and error functions.

  <Arguments>
    None

  <Exceptions>
    None

  <Side Effects>
    None
  """

  # Mark the node as active.
  mark_node_active = True
  state_function_arg_tuplelist = [
    ("twopercent", "twopercent", node_transition_lib.update_database, 
     node_transition_lib.noop, mark_node_active, node_transition_lib.update_database_node)]

  sleeptime = 10
  process_name = "twopercent_to_twopercent"
  parallel_instances = 10

  #call process_nodes_and_change_state() to start the node state transition
  node_transition_lib.process_nodes_and_change_state(state_function_arg_tuplelist, process_name, sleeptime, parallel_instances)
Exemplo n.º 4
0
def main():
    """
  <Purpose>
    The main function that calls the process_nodes_and_change_state() function
    in the node_transition_lib passing in the process and error functions.

  <Arguments>
    None

  <Exceptions>
    None

  <Side Effects>
    None
  """

    state_function_arg_tuplelist = [
        ("acceptdonation", "canonical", node_transition_lib.noop,
         node_transition_lib.noop, False)
    ]

    sleeptime = 10
    process_name = "donation_to_canonical"
    parallel_instances = 10

    #call process_nodes_and_change_state() to start the node state transition
    node_transition_lib.process_nodes_and_change_state(
        state_function_arg_tuplelist, process_name, sleeptime,
        parallel_instances)
def main():
  """
  <Purpose>
    The main function that calls the process_nodes_and_change_state() function
    in the node_transition_lib passing in the process and error functions.

  <Arguments>
    None
 
  <Exceptions>
    None

  <Side Effects>
    None
  """

  # Open and read the resource file that is necessary for twopercent vessels.
  # This will determine how the vessels will be split and how much resource 
  # will be allocated to each vessel.
  twopercent_resource_fd = file(RESOURCES_TEMPLATE_FILE_PATH)
  twopercent_resourcetemplate = twopercent_resource_fd.read()
  twopercent_resource_fd.close()
  
  # We are going to transition all the nodes that are in the canonical state
  # to the twopercent state. We are going to do this in three different 
  # state. First we are going to transition all the canonical state nodes
  # to the movingto_twopercent state with a no-op function. The reason for
  # this is, so if anything goes wrong, we can revert back.
  # In the second step we are going to attempt to move all the nodes in the
  # movingto_twopercent state to the twopercent state. The way to do this, is
  # we are going to split the vessels by giving each vessel the resources 
  # that are described in the resource template.
  # Next we are going to try to transition all the nodes in the 
  # movingto_twopercent state to the canonical state. Any nodes that failed 
  # to go to the twopercent are still stuck in the movingto_twopercent state,
  # and we want to move them back to the canonical state.

  # Variables that determine weather to mark a node inactive or not.
  mark_node_inactive = False
  mark_node_active = True

  state_function_arg_tuplelist = [
    ("canonical", "movingto_twopercent", node_transition_lib.noop, 
     node_transition_lib.noop, mark_node_inactive),

    ("movingto_twopercent", "twopercent", node_transition_lib.split_vessels, 
     node_transition_lib.noop, mark_node_active, twopercent_resourcetemplate),

    ("movingto_twopercent", "canonical", node_transition_lib.combine_vessels, 
     node_transition_lib.noop, mark_node_inactive)]
 
  sleeptime = 10
  process_name = "canonical_to_twopercent"
  parallel_instances = 10

  #call process_nodes_and_change_state() to start the node state transition
  node_transition_lib.process_nodes_and_change_state(state_function_arg_tuplelist, process_name, sleeptime, parallel_instances) 
def main():
    """
  <Purpose>
    The main function that calls the process_nodes_and_change_state() function
    in the node_transition_lib passing in the process and error functions.

  <Arguments>
    None
 
  <Exceptions>
    None

  <Side Effects>
    None
  """

    #open and read the resource file that is necessary for onepercentmanyevents
    onepercentmanyevents_resource_fd = file(RESOURCES_TEMPLATE_FILE_PATH)
    onepercentmanyevents_resourcetemplate = onepercentmanyevents_resource_fd.read(
    )
    onepercentmanyevents_resource_fd.close()
    """
  build up the tuple list to call process_nodes_and_change_state()
  The transition from canonical to onepercentmanyevents happens in 3 steps.
  Step1: Move the canonical nodes to the movingtoonepercent state (the reason
    this is done is because incase some transition fails, we know that they are 
    going to be in the movingtoonepercent state.
  Step2: Next run the process function and change the state from movingtoonepercent
    state to the onepercentmanyevents state.
  Step3: Find all the nodes that failed to transition from movingtoonepercent
    state to onepercentmanyevents and transition them back to the canonical state.
  """

    state_function_arg_tuplelist = [
        ("canonical", "movingto_onepercentmanyevents",
         node_transition_lib.noop, node_transition_lib.noop),
        ("movingto_onepercentmanyevents", "onepercentmanyevents",
         onepercentmanyevents_divide, node_transition_lib.noop,
         onepercentmanyevents_resourcetemplate),
        ("movingto_onepercentmanyevents", "canonical",
         node_transition_lib.combine_vessels, node_transition_lib.noop)
    ]

    sleeptime = 10
    process_name = "canonical_to_onepercentmanyevents"
    parallel_instances = 10

    #call process_nodes_and_change_state() to start the node state transition
    node_transition_lib.process_nodes_and_change_state(
        state_function_arg_tuplelist, process_name, sleeptime,
        parallel_instances)
def main():
  """
  <Purpose>
    The main function that calls the process_nodes_and_change_state() function
    in the node_transition_lib passing in the process and error functions.

  <Arguments>
    None
 
  <Exceptions>
    None

  <Side Effects>
    None
  """

  #open and read the resource file that is necessary for onepercentmanyevents
  onepercentmanyevents_resource_fd = file(RESOURCES_TEMPLATE_FILE_PATH)
  onepercentmanyevents_resourcetemplate = onepercentmanyevents_resource_fd.read()
  onepercentmanyevents_resource_fd.close()
  
  """
  build up the tuple list to call process_nodes_and_change_state()
  The transition from canonical to onepercentmanyevents happens in 3 steps.
  Step1: Move the canonical nodes to the movingtoonepercent state (the reason
    this is done is because incase some transition fails, we know that they are 
    going to be in the movingtoonepercent state.
  Step2: Next run the process function and change the state from movingtoonepercent
    state to the onepercentmanyevents state.
  Step3: Find all the nodes that failed to transition from movingtoonepercent
    state to onepercentmanyevents and transition them back to the canonical state.
  """

  state_function_arg_tuplelist = [
    ("canonical", "movingto_onepercentmanyevents", node_transition_lib.noop, node_transition_lib.noop),

    ("movingto_onepercentmanyevents", "onepercentmanyevents", onepercentmanyevents_divide, 
     node_transition_lib.noop,onepercentmanyevents_resourcetemplate),

    ("movingto_onepercentmanyevents", "canonical", node_transition_lib.combine_vessels, 
     node_transition_lib.noop)]
 
  sleeptime = 10
  process_name = "canonical_to_onepercentmanyevents"
  parallel_instances = 10

  #call process_nodes_and_change_state() to start the node state transition
  node_transition_lib.process_nodes_and_change_state(state_function_arg_tuplelist, process_name, sleeptime, parallel_instances) 
def main():
  """
  <Purpose>
    The main function that calls the process_nodes_and_change_state() function
    in the node_transition_lib passing in the process and error functions.

  <Arguments>
    None

  <Exceptions>
    None

  <Side Effects>
    None
  """

  state_function_arg_tuplelist = [("acceptdonation", "canonical",  node_transition_lib.noop, node_transition_lib.noop, False)]

  sleeptime = 10
  process_name = "donation_to_canonical"
  parallel_instances = 10

  #call process_nodes_and_change_state() to start the node state transition
  node_transition_lib.process_nodes_and_change_state(state_function_arg_tuplelist, process_name, sleeptime, parallel_instances)
Exemplo n.º 9
0
def main():
  """
  <Purpose>
    This is the main launching point for this script. We are going
    to call the node_transition_lib and start the process of 
    moving from onepercentmanyevents state to the canonical state
    through an intermediate state the moving_to_canonical state.
    This wasy if anything fails, we can go back to the onepercent 
    state.

  <Arguments>
    None.

  <Exceptions>
    None

  <Side Effects>
    A lot of nodes are altered.

  <Return>
    None.
  """


  # Open and read the resource file that is necessary for onepercentmanyevents
  onepercentmanyevents_resource_fd = file(RESOURCES_TEMPLATE_FILE_PATH)
  onepercentmanyevents_resourcetemplate = onepercentmanyevents_resource_fd.read()
  onepercentmanyevents_resource_fd.close()


  # Create a  list that is used to call node_transition_lib.
  # The list will have a list of three tuples. The first 
  # tuple will transition all the onepercentmanyevents state
  # to the moving_to_canonical state. This will use noop functions.
  # We will not actually perform any actions. Next we will transition
  # all the moving_to_canonical state nodes to the canonical state by
  # performing a join operation on all the vessels, to combine all the
  # vessels on one node into one giant node that it was before it got 
  # split. 
  # In the next phase we will transition all the moving_to_canonical
  # state nodes into the onepercentmanyevents state. This is for the 
  # case where we might have failed to combine the vessels and move
  # to canonical state, so we want to restore them back to the 
  # onepercent state.

  
  # We are not going to mark any of the nodes active in the database, 
  # as we are joining the vessels back together.
  mark_nodes_inactive=False

  state_function_arg_tuplelist = [
    ("onepercentmanyevents", "movingto_canonical", 
     node_transition_lib.noop, node_transition_lib.noop, mark_nodes_inactive),

    ("movingto_canonical", "canonical", 
     node_transition_lib.combine_vessels, node_transition_lib.noop, mark_nodes_inactive),

    ("movingto_canonical", "onepercentmanyevents_state", 
     node_transition_lib.split_vessels, node_transition_lib.noop, mark_nodes_inactive, 
     onepercentmanyevents_resourcetemplate)]


  # Some constant variables we will use to call node_transition_lib.
  sleeptime = 10
  process_name = "onepercentmanyevents_to_canonical"
  parallel_instances = 10

  # Call the process_node_and_change_state() function to attempt to 
  # transition all the nodes from onepercentmanyevents to canonical.
  node_transition_lib.process_nodes_and_change_state(state_function_arg_tuplelist, 
                                                     process_name, sleeptime, 
                                                     parallel_instances)