Solaris Zones Zone Migration API

Live and cold zone migration operations between Solaris hosts

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-zone-migration-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Solaris Zones Oracle Solaris Kernel Zones Archive Creation Zone 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: Zone Migration
  description: Live and cold zone migration operations between Solaris hosts
paths:
  /ZoneManager/initEvacuate:
    put:
      operationId: initEvacuate
      summary: Solaris Zones Initialize Zone Evacuation
      description: Initialize an evacuation session to migrate all eligible zones from this host to a remote system. Added in version 1.4 of the zonemgr module.
      tags:
      - Zone Migration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - payload
              properties:
                payload:
                  type: object
                  required:
                  - remoteHost
                  properties:
                    remoteHost:
                      type: string
                      description: Target host for zone evacuation
                    password:
                      type: string
                      description: Authentication credential for the remote host
            examples:
              InitevacuateRequestExample:
                summary: Default initEvacuate request
                x-microcks-default: true
                value:
                  payload:
                    remoteHost: example_value
                    password: example_value
      responses:
        '200':
          description: Evacuation initialized successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Initevacuate200Example:
                  summary: Default initEvacuate 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/evacuate:
    put:
      operationId: evacuate
      summary: Solaris Zones Perform Zone Evacuation
      description: Execute the evacuation of all eligible zones to the previously configured remote host. Must be preceded by initEvacuate.
      tags:
      - Zone Migration
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
            examples:
              EvacuateRequestExample:
                summary: Default evacuate request
                x-microcks-default: true
                value:
                  payload: example_value
      responses:
        '200':
          description: Evacuation completed
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - success
                  payload:
                    $ref: '#/components/schemas/EvacuationResult'
              examples:
                Evacuate200Example:
                  summary: Default evacuate 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      status: success
                      returning: true
                      migrationResults: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ZoneManager/cancelEvacuate:
    put:
      operationId: cancelEvacuate
      summary: Solaris Zones Cancel Zone Evacuation
      description: Cancel an in-progress evacuation operation. Zones that have already been migrated will remain on the remote host.
      tags:
      - Zone Migration
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
            examples:
              CancelevacuateRequestExample:
                summary: Default cancelEvacuate request
                x-microcks-default: true
                value:
                  payload: example_value
      responses:
        '200':
          description: Evacuation cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Cancelevacuate200Example:
                  summary: Default cancelEvacuate 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Zone/{zoneName}/migrate:
    put:
      operationId: migrateZone
      summary: Solaris Zones Migrate a Zone to a Remote Host
      description: Migrate the specified zone to a remote Solaris host. Supports both live migration (zone continues running during transfer) and cold migration (zone is halted first). Added in version 1.1.
      tags:
      - Zone Migration
      parameters:
      - $ref: '#/components/parameters/zoneName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - payload
              properties:
                payload:
                  type: object
                  required:
                  - remoteHost
                  - migrationType
                  properties:
                    remoteHost:
                      type: string
                      description: Target host URI for migration
                    migrationType:
                      type: string
                      enum:
                      - live
                      - cold
                      description: Type of migration to perform
                    password:
                      type: string
                      description: Authentication credential for the remote host
                    cipher:
                      type: string
                      description: Encryption cipher for migration data transfer
            examples:
              MigratezoneRequestExample:
                summary: Default migrateZone request
                x-microcks-default: true
                value:
                  payload:
                    remoteHost: example_value
                    migrationType: live
                    password: example_value
                    cipher: example_value
      responses:
        '200':
          description: Migration completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultResponse'
              examples:
                Migratezone200Example:
                  summary: Default migrateZone 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    payload:
                      code: ZEC_NONE
                      message: example_value
                      stdout: example_value
                      stderr: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Zone not found
        '500':
          $ref: '#/components/responses/InternalError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              payload:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
    Unauthorized:
      description: Authentication required or session expired
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              payload:
                type: object
                properties:
                  message:
                    type: string
  schemas:
    Result:
      type: object
      description: Operation result from a zone management command
      properties:
        code:
          type: string
          description: Error code if the operation failed
          enum:
          - ZEC_NONE
          - ZEC_FRAMEWORK_ERROR
          - ZEC_SNAPSHOT_ERROR
          - ZEC_COMMAND_ERROR
          - ZEC_RESOURCE_ALREADY_EXISTS
          - ZEC_RESOURCE_NOT_FOUND
          - ZEC_RESOURCE_TOO_MANY
          - ZEC_RESOURCE_UNKNOWN
          - ZEC_ALREADY_EDITING
          - ZEC_INCOMPLETE_NO_CONFIG
          - ZEC_PROPERTY_UNKNOWN
          - ZEC_NOT_EDITING
          - ZEC_SYSTEM_ERROR
          - ZEC_INVALID_ARGUMENT
          - ZEC_INVALID_ZONE_STATE
          example: ZEC_NONE
        message:
          type: string
          description: Human-readable error or status message
          example: example_value
        stdout:
          type: string
          description: Standard output from the zone administration command
          example: example_value
        stderr:
          type: string
          description: Standard error output from the zone administration command
          example: example_value
    EvacuationMigrationResult:
      type: object
      description: Migration result for an individual zone during evacuation
      properties:
        zoneName:
          type: string
          description: Name of the evacuated zone
          example: example_value
        evacuated:
          type: boolean
          description: Whether the zone was successfully evacuated
          example: true
        evacuationTarget:
          type: string
          description: Remote host where the zone was migrated
          example: example_value
        migrationStatus:
          type: string
          description: Status of the individual zone migration
          example: example_value
        migrationError:
          type: object
          description: Error details if migration failed
          properties:
            operation:
              type: string
              description: The migration operation that failed
            message:
              type: string
              description: Error description
          example: example_value
    ResultResponse:
      type: object
      description: Standard RAD response wrapper for operation results
      properties:
        status:
          type: string
          enum:
          - success
          - error
          example: success
        payload:
          $ref: '#/components/schemas/Result'
    EvacuationResult:
      type: object
      description: Result of a zone evacuation operation
      properties:
        status:
          type: string
          description: Overall evacuation status
          enum:
          - success
          - fail
          - partial_fail
          example: success
        returning:
          type: boolean
          description: Whether zones are being returned from a previous evacuation
          example: true
        migrationResults:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EvacuationMigrationResult'
          description: Per-zone migration results keyed by zone name
          example: example_value
  parameters:
    zoneName:
      name: zoneName
      in: path
      required: true
      description: Name of the Solaris zone
      schema:
        type: string
        examples:
        - testzone1
  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