Adding additional nodearrays to an existing CycleCloud cluster is a four step process:

  1. Update your cluster template to include a new [[nodearray <newarray>]] section.

  2. Assign the new nodearray a `slot_type` for scheduling and autoscale use. It’s best to make this name match the nodearray name.

  3. Re-import your cluster using the `--force` option.

  4. If running CycleCloud 5.5 or earlier, run cyclecloud start_cluster <clustername> to activate the new nodearray. This will not impact your existing running instances. For CycleCloud 6 and later, new nodearrays are automatically activated.


As an example, let’s look at how to add a nodearray to an existing GridEngine cluster.


First you’ll need to locate your cluster template file and edit it. You’ll want to find the section that starts with [[nodearray]]. It should look something like this:

[cluster sge_demo]
  [[nodearray execute]]
  MachineType = m4.xlarge
  MaxCoreCount = 2500
  [[[configuration]]]
  run_list = role[sge_execute_role]

 

Copy and paste this section below your current nodearray declaration, change the name of the new nodearray, add any changes, and save the template. Since this is a GridEngine cluster, you need to assign a slot_type using the gridengine.slot_type attribute in the nodearray’s [[[configuration]]] section. For an HTCondor cluster, change this attribute name to htcondor.slot_type.

[cluster sge_demo]
  [[nodearray execute]]
  MachineType = m3.medium
  MaxCoreCount = 2500
    [[[configuration]]]
    run_list = role[sge_execute_role]

  [[nodearray execute-spot]]
  MachineType = m4.xlarge
  BidPrice = 0.03
  MaxCoreCount = 2500
    [[[configuration]]]
    run_list = role[sge_execute_role]
    gridengine.slot_type = execute-spot

   

Re-import your cluster using cyclecloud import_cluster with the --force option. In this example, the cluster name is “sge_demo”.

cyclecloud import_cluster sge_demo -f cluster_template.txt -c sge_demo --force

 

Any jobs submitted to the cluster will default to the "execute" nodearray. To submit jobs to other nodearrays, see the knowledge base article on submitting to a different execute nodearray. For more information on nodearrays and cluster attributes, see the CycleCloud documentation.