Wednesday, June 1, 2016

Orchestration

An orchestration defines the attributes and interdependencies of a collection of compute, networking, and storage resources in Oracle Compute Cloud Service.

In the following example, we use orchestration to automate the provisioning of an entire virtual compute topology


jpporch_networking.json
{
  "relationships" : [ ],
  "account" : "/Compute-YOURIDENTITYDOMAIN/default",
  "description" : "",
  "schedule" : {
    "start_time" : "2016-06-01T08:35:52Z",
    "stop_time" : null
  },
  "oplans" : [ {
    "obj_type" : "ip/reservation",
    "ha_policy" : "",
    "label" : "ip_jpporch",
    "objects" : [ {
      "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/ip_jpporch",
      "parentpool" : "/oracle/public/ippool",
      "permanent" : true
    } ]
  } ],
  "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_networking"
}



jpporch_storage.json
{
  "relationships" : [ ],
  "account" : "/Compute-
YOURIDENTITYDOMAIN/default",
  "description" : "",
  "schedule" : {
    "start_time" : "2016-06-01T08:35:52Z",
    "stop_time" : null
  },
  "oplans" : [ {
    "obj_type" : "storage/volume",
    "ha_policy" : "",
    "label" : "jpporch_storage",
    "objects" : [ {
      "account" : "/Compute-
YOURIDENTITYDOMAIN/default",
      "managed" : true,
      "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_storage",
      "tags" : [ ],
      "bootable" : true,
      "hypervisor" : null,
      "description" : "",
      "quota" : null,
      "uri" : null,
      "imagelist_entry" : 2,
      "snapshot" : null,
      "machineimage_name" : "/oracle/public/OL_6.6_20GB_x11-1.3.0-20160409-041817",
      "shared" : false,
      "imagelist" : "/oracle/public/OL-6.6-20GB-x11-RD",
      "writecache" : false,
      "properties" : [ "/oracle/public/storage/default" ],
      "size" : "23622320128"
    } ]
  } ],
  "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_storage"
}



jpporch_instance.json
{
  "relationships" : [ ],
  "account" : "/Compute-
YOURIDENTITYDOMAIN/default",
  "description" : "",
  "schedule" : {
    "start_time" : "2016-06-01T08:36:20Z",
    "stop_time" : null
  },
  "oplans" : [ {
    "obj_type" : "launchplan",
    "ha_policy" : "",
    "label" : "jpporch_instance",
    "objects" : [ {
      "instances" : [ {
        "networking" : {
          "eth0" : {
            "seclists" : [ "/Compute-
YOURIDENTITYDOMAIN/default/default" ],
            "nat" : "ipreservation:/Compute-
YOURIDENTITYDOMAIN/USERNAME/ip_jpporch"
          }
        },
        "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch/159b0b26-448a-4293-b898-965fbbf68948",
        "storage_attachments" : [ {
          "volume" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_storage",
          "index" : 1
        } ],
        "boot_order" : [ 1 ],
        "label" : "jpporch",
        "shape" : "oc3",
        "imagelist" : "/oracle/public/OL-6.6-20GB-x11-RD",
        "sshkeys" : [ "/Compute-
YOURIDENTITYDOMAIN/USERNAME/orchkey" ],
        "tags" : [ ]
      } ]
    } ]
  } ],
  "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_instance"
}



jporch_master
{
  "relationships" : [ {
    "to_oplan" : "jpporch_storage",
    "oplan" : "jpporch_instance",
    "type" : "depends"
  } ],
  "account" : "/Compute-
YOURIDENTITYDOMAIN/default",
  "description" : "",
  "schedule" : {
    "start_time" : "2016-06-01T08:35:50Z",
    "stop_time" : null
  },
  "oplans" : [ {
    "obj_type" : "orchestration",
    "ha_policy" : "",
    "label" : "jpporch_storage",
    "objects" : [ {
      "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_storage",
      "uri" : null
    } ]
  },
  {
    "obj_type" : "orchestration",
    "ha_policy" : "",
    "label" : "jpporch_networking",
    "objects" : [ {
      "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_networking",
      "uri" : null
    } ]
  },  {
    "obj_type" : "orchestration",
    "ha_policy" : "",
    "label" : "jpporch_instance",
    "objects" : [ {
      "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_instance",
      "uri" : null
    } ]
  } ],
  "name" : "/Compute-
YOURIDENTITYDOMAIN/USERNAME/jpporch_master"
}