Solaris Zones Migration API

Zone attach, detach, move, and migration operations

Documentation

📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E37839/zones.html
📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E37839/zonecfg-1m.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61040/
📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E37839/zoneadm-1m.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61038/gqhar.html
📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E37839/zonestat-1.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61043/gklfb.html
📖
Documentation
https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/rad-client/rest-api-reference.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E68270/gpzpd.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E68270/gpzpv.html
📖
Documentation
https://docs.oracle.com/cd/E88353_01/html/E76189/zonemgr-1-3rad.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61043/
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61043/gklfn.html
📖
Documentation
https://docs.oracle.com/cd/E23824_01/html/821-1499/gloag.html
📖
Documentation
https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/kernel-zones/oracle-solaris-kernel-zones.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61041/gnzfn.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E56520/index.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E56520/sstoreintro.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E56520/ssids.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E60984/gmrlo.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E60984/gmwen.html
📖
Documentation
https://docs.oracle.com/cd/E37838_01/html/E61039/gpoiu.html

Specifications

OpenAPI Specification

solaris-zones-migration-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Solaris Zones Oracle Solaris Kernel Zones Archive Creation Migration API
  description: REST API for creating and managing Oracle Solaris Kernel Zones via the RAD zonemgr module. Kernel Zones (brand solaris-kz) are non-global zones with their own kernel, providing greater independence and enhanced security isolation compared to native zones. They support live migration, independent patching, and hardware-assisted virtualization.
  version: '1.6'
  contact:
    name: Oracle Solaris Support
    url: https://www.oracle.com/solaris/support/
    email: solaris-support@oracle.com
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/legal/terms.html
servers:
- url: https://{host}:{port}/api/com.oracle.solaris.rad.zonemgr/1.6
  description: Oracle Solaris RAD REST endpoint
  variables:
    host:
      default: localhost
      description: Solaris host running RAD
    port:
      default: '6788'
      description: RAD REST API port
security:
- cookieAuth: []
tags:
- name: Migration
  description: Zone attach, detach, move, and migration operations
paths:
  /Zone/{zoneName}/_rad_method/attach:
    put:
      operationId: attachZone
      summary: Solaris Zones Attach a Zone
      description: Attach a previously detached zone or a zone moved from another system. Validates and updates the zone configuration for the current system. Equivalent to zoneadm attach.
      tags:
      - Migration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                options:
                  type: array
                  items:
                    type: string
                  description: Optional attach arguments
            examples:
              AttachzoneRequestExample:
                summary: Default attachZone request
                x-microcks-default: true
                value:
                  options:
                  - example_value
      responses:
        '200':
          description: Zone attached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Attachzone200Example:
                  summary: Default attachZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/detach:
    put:
      operationId: detachZone
      summary: Solaris Zones Detach a Zone
      description: Detach a zone from the system, preparing it for migration to another system or for archival. The zone transitions to the configured state. Equivalent to zoneadm detach.
      tags:
      - Migration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      responses:
        '200':
          description: Zone detached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Detachzone200Example:
                  summary: Default detachZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/move:
    put:
      operationId: moveZone
      summary: Solaris Zones Move a Zone to a New Path
      description: Move a zone's root file system to a new location on the same system. Equivalent to zoneadm move.
      tags:
      - Migration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - path
              properties:
                path:
                  type: string
                  description: New file system path for the zone root
            examples:
              MovezoneRequestExample:
                summary: Default moveZone request
                x-microcks-default: true
                value:
                  path: example_value
      responses:
        '200':
          description: Zone moved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Movezone200Example:
                  summary: Default moveZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/_rad_method/migrate:
    put:
      operationId: migrateZone
      summary: Solaris Zones Migrate Zone to a Remote Host
      description: Migrate a zone to a remote host using either live or cold migration. Live migration keeps the zone running during transfer. Cold migration halts the zone first. Available since API version 1.1.
      tags:
      - Migration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - host
              - type
              properties:
                host:
                  type: string
                  description: Remote host to migrate the zone to
                type:
                  type: string
                  enum:
                  - live
                  - cold
                  description: Migration type
                cipher:
                  type: string
                  description: Encryption cipher for the migration data transfer
            examples:
              MigratezoneRequestExample:
                summary: Default migrateZone request
                x-microcks-default: true
                value:
                  host: example_value
                  type: live
                  cipher: example_value
      responses:
        '200':
          description: Migration initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneResult'
              examples:
                Migratezone200Example:
                  summary: Default migrateZone 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      code: NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    RadError:
      type: object
      properties:
        status:
          type: string
          example: failure
        payload:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
          example: example_value
    ZoneResult:
      type: object
      properties:
        status:
          type: string
          example: example_value
        payload:
          type: object
          properties:
            code:
              type: string
              enum:
              - NONE
              - FRAMEWORK_ERROR
              - SNAPSHOT_ERROR
              - COMMAND_ERROR
              - RESOURCE_ALREADY_EXISTS
              - RESOURCE_NOT_FOUND
              - RESOURCE_TOO_MANY
              - RESOURCE_UNKNOWN
              - ALREADY_EDITING
              - INCOMPLETE_NO_CONFIG
              - PROPERTY_UNKNOWN
              - NOT_EDITING
              - SYSTEM_ERROR
              - INVALID_ARGUMENT
              - INVALID_ZONE_STATE
            message:
              type: string
            stdout:
              type: string
            stderr:
              type: string
          example: example_value
  responses:
    NotFound:
      description: Zone not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
    Unauthorized:
      description: Authentication required or session expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
  parameters:
    zoneName:
      name: zoneName
      in: path
      required: true
      description: Name of the zone
      schema:
        type: string
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: _rad_session
      description: RAD session cookie obtained via authentication
externalDocs:
  description: Oracle Solaris Kernel Zones Documentation
  url: https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/kernel-zones/oracle-solaris-kernel-zones.html