.. simulation of domain CPU and memory configuration changes, that is.

Please check the first blog post in this series too – Oracle SuperCluster: osc-setcoremem simulator.

Keep in mind that fresh/new simulations should always start with configurations representing the base configuration of a SuperCluster node (PDom) to be simulated. Base configuration is the compute server CPU and memory resources that are initially allocated during a SuperCluster installation.

High-level steps:

  1. Copy osc-setcoremem v2.4 or later executable binary from any live SuperCluster environment onto the target non-supercluster SPARC system running Solaris 11.3 or later

  2. Generate base configuration file in the original live SuperCluster environment that you wish to simulate elsewhere

    eg.,
    # /opt/oracle.supercluster/bin/osc-setcoremem -g
    
     [OK] simulator config file generated
     location: /var/tmp/oscsetcorememcfg.txt
    
    For the argument list, check “SIMULATOR ARGUMENTS” section in the output of “osc-setcoremem -h|-help”
  3. If you do not have access to the live SuperCluster environment (that you wish to simulate), generate base configuration file template and edit it manually to populate base configuration of the SuperCluster environment to be simulated. Base configuration file template can be generated on any SPARC node running Solaris 11.3. And this step does not require root privileges.

    eg.,

    To generate a base configuration containing 4 domains, run:

    % ./osc-setcoremem -g -dc 4
    
     [OK] simulator config file generated
     location: /var/tmp/oscsetcorememcfg.txt
    
    % cat /var/tmp/oscsetcorememcfg.txt
    
    #DOMAIN        ROOT      SERVICE     SOCKET     CORE         MEMORY           HCA
    # NAME         DOMAIN    DOMAIN      COUNT      COUNT          GB             COUNT
    #----------------------------------------------------------------------------------
    primary        YES|NO    YES|NO     <COUNT>     <COUNT>     <CAPACITY>        1|2
    ssccn-dom1     YES|NO    YES|NO     <COUNT>     <COUNT>     <CAPACITY>        1|2
    ssccn-dom2     YES|NO    YES|NO     <COUNT>     <COUNT>     <CAPACITY>        1|2
    ssccn-dom3     YES|NO    YES|NO     <COUNT>     <COUNT>     <CAPACITY>        1|2
    
       Check the Guidelines page for the manual editing of base configuration file
  4. Kick off simulation with the help of the base configuration file populated in either of the last two steps. osc-setcoremem’s non-interactive mode can be activated too by supplying non-interactive arguments.

    Syntax:
    osc-setcoremem -p <platform> -c <config_file_path> [<non-interactive_args>]

    eg.,
    % ./osc-setcoremem -p m8 -c ./oscsetcorememcfg.txt -type core -res 16/480:16/480:16/480
    
                             osc-setcoremem simulator
                        v2.5  built on Oct 13 2017 11:33:52
    
     Current Configuration: SuperCluster M8
    
     +----------------------------------+-------+--------+-----------+--- MINIMUM ----+
     | DOMAIN                           | CORES | MEM GB |   TYPE    | CORES | MEM GB |
     +----------------------------------+-------+--------+-----------+-------+--------+
     | primary                          |    32 |    960 | Dedicated |     2 |     32 |
     | ssccn1-dom1                      |    32 |    960 | Dedicated |     2 |     32 |
     | ssccn1-dom2                      |    32 |    960 | Dedicated |     2 |     32 |
     | ssccn1-dom3                      |     2 |     32 |   Root    |     2 |     32 |
     +----------------------------------+-------+--------+-----------+-------+--------+
     | Parked Resources (Approx)        |    30 |    928 |    --     |    -- |   --   |
     +----------------------------------+-------+--------+-----------+-------+--------+
    
     [ INFO ] following domains will be ignored in this session.
    
     Root Domains
     ------------
     ssccn1-dom3
    
    
     CPU Granularity Preference:
    
            1. Socket
            2. Core
    
     In case of Socket granularity, proportional memory capacity is
      automatically selected for you.
    
     Choose Socket or Core [S or C] C
     ...
     ...
             DOMAIN REBOOT SUMMARY
    
     The following domains would have rebooted on a live system:
    
       ssccn1-dom2
       ssccn1-dom1
       primary
    
    
             POSSIBLE NEXT STEP
    
     Continue the simulation with updated configuration
             eg., 
        /osc-setcoremem [<option(s)>]
    
                     - OR -
    
     Start with an existing or brand new base configuration
             eg., 
        
         /osc-setcoremem  -p [T4|T5|M6|M7|M8] -c <path_to_config_file>
    
        
       
  5. By this time osc-setcoremem simulator would have saved the changes made to the base configuration in previous step. You can verify by running osc-setcoremem executable with no options or using “-list” option.

    eg.,

    Changes highlited below.

    % ./osc-setcoremem
    
                             osc-setcoremem simulator
                        v2.5  built on Oct 13 2017 11:33:52
    
     Current Configuration: SuperCluster M8
    
     +----------------------------------+-------+--------+-----------+--- MINIMUM ----+
     | DOMAIN                           | CORES | MEM GB |   TYPE    | CORES | MEM GB |
     +----------------------------------+-------+--------+-----------+-------+--------+
     | primary                          |    16 |    480 | Dedicated |     2 |     32 |
     | ssccn1-dom1                      |    16 |    480 | Dedicated |     2 |     32 |
     | ssccn1-dom2                      |    16 |    480 | Dedicated |     2 |     32 |
     | ssccn1-dom3                      |     2 |     32 |   Root    |     2 |     32 |
     +----------------------------------+-------+--------+-----------+-------+--------+
     | Parked Resources (Approx)        |    78 |   2368 |    --     |    -- |   --   |
     +----------------------------------+-------+--------+-----------+-------+--------+
    
     [ INFO ] following domains will be ignored in this session.
    
     Root Domains
     ------------
     ssccn1-dom3
     ...
     ...
    
  6. Two options to choose from at this point:

    1. Continue simulation using the updated configuration.

      Simply running osc-setcoremem executable without any arguments or with optional non-interactive arguments shall continue the simulation. This will let you simulate the move from one arbitrary configuration state (cores & memory assigned to different domains) to another.

      Syntax: osc-setcoremem [<non-interactive_arguments>]

                 -OR-

    2. Start a brand new simulation using any base configuration file

      This is nothing but step #4 above. Here we assume that the required base configuration file was populated and ready. Be aware that this step wipes the current modified core, memory [virtual] configuration clean and starts again with a base configuration that was specified in the configuration file input to “-c” option

  7. Repeat steps 2-6 to simulate different SuperCluster configurations

A complete example can be found in Oracle SuperCluster M7/M8 Administration Guide at Example: Simulating Changes on a Non-SuperCluster Node