Importing and Running SUSE Linux Enterprise Server 16 (SLES 16) Cloud Image on OCI

 Overview

Oracle Cloud Infrastructure (OCI) supports custom image import, enabling users to deploy operating systems beyond marketplace offerings. This is particularly useful for testing enterprise Linux distributions such as SUSE Linux Enterprise Server (SLES). Currently the Operating Systems from the SUSE family - OpenSUSE (Leap or Tumbleweed) or SUSE Enterprise Linux Server, SUSE Enterprise Linux Desktop ETC are not available natively on OCI or through OCI Marketplace.

In this post, I demonstrate how to import a SLES 16 Minimal Cloud Image (qcow2) into OCI and launch a compute instance using that image.

⚠️ This demonstration is executed in a personal OCI tenancy using publicly available cloud images.
No customer environments or confidential information are used.

Oracle Products Used

  • Oracle Cloud Infrastructure
  • OCI Compute
  • OCI Custom Images
  • OCI Object Storage
  • OCI IAM
  • Virtual Cloud Network (VCN)

Why Use SLES Cloud Image on OCI?

SLES is widely used in enterprise environments for:

  • SAP workloads
  • Enterprise-grade Linux support
  • Certified application stacks

Using custom images allows:

  • Testing newer versions not yet in marketplace
  • Maintaining OS standardization
  • Pre-configured enterprise builds

High-Level Architecture

SLES qcow2 Image
        |
        | Upload
        |
OCI Object Storage Bucket
        |
        | Import as Custom Image
        |
OCI Compute Instance

Prerequisites

OCI Requirements

  • Active OCI tenancy
  • Permissions to manage:
    • Object Storage
    • Custom Images
    • Compute Instances

 Local System

  • Downloaded SLES image:

SLES-16.0-Minimal-VM.x86_64-Cloud-GM.qcow2

Step 1: Prepare the SLES Image

Ensure:

  • File format: qcow2
  • Image is cloud-init enabled (SLES cloud images typically are)


Step 2: Upload Image to OCI Object Storage

  1. Go to Storage → Object Storage → Buckets
  2. Create bucket: custom-images
  3. Upload qcow2 file

OCI Console – SLES image uploaded to Object Storage

Step 3: Create Custom Image

  1. Navigate to Compute → Custom Images
  2. Click Create Custom Image
  3. Select:
    • Source: Object Storage
    • Bucket: custom-images
    • Object: SLES qcow2 file
  4. Image Type: QCOW2
  5. Launch Mode: Paravirtualized

 OCI Console – Custom image creation form

 Step 4: Wait for Image Import

Status transitions:

IMPORTING → AVAILABLE

Step 5: Create Compute Instance

  1. Go to Compute → Instances → Create Instance
  2. Select:
    • Image Source: Custom Image
    • Choose SLES 16 image
  3. Choose shape:
    • Flexible shape or Free Tier compatible
  4. Configure networking:
    • VCN + subnet
  5. Add SSH public key

 

 

OCI Console – Instance creation with SLES custom image

Step 6: First Boot and cloud-init

SLES cloud images rely on cloud-init for:

  • SSH key injection
  • User provisioning
  • Network configuration

Wait a few minutes for initialization.

Instance RUNNING state

 

Step 7: Connect via SSH

ssh sles@<public-ip>

If unsure, check image documentation.

Successful SSH login to SLES instance

Step 8: Validate OS

cat /etc/os-release

Expected:

SUSE Linux Enterprise Server 16

Step 9: Post-Launch Configuration

Verify network

ip a
ip route

On SLES, repositories are typically not enabled by default until the system is registered with a valid subscription. The most common way to populate your repository list is to register the system using your SUSE Customer Center (SCC) credentials. Replace the placeholders below with your actual details:

sudo SUSEConnect -r REGISTRATION_CODE -e EMAIL_ADDRESS

Once registered, SLES will automatically add the standard OS and Update repositories. You can then run:

sudo zypper refresh
sudo zypper update -y

System validation output

Common Issues & Troubleshooting

Issue

Resolution

SSH not accessible

Wait for cloud-init

Wrong username

Verify image documentation

Boot failure

Use Paravirtualized mode

No network

Check DHCP/cloud-init

Licensing Considerations

SLES images require subscription registration depending on usage.

Refer to SUSE documentation for licensing compliance.

Security Best Practices

  • Restrict SSH via NSG/Security List
  • Disable root login
  • Rotate SSH keys
  • Use Bastion or VPN access
  • Apply regular updates

Use Cases

  • SAP testing environments
  • Enterprise Linux validation
  • Migration testing
  • Custom OS baselines
  • Hybrid cloud setups

Lessons Learned

  • OCI supports enterprise Linux images beyond marketplace
  • qcow2 format integrates seamlessly
  • cloud-init compatibility is critical
  • Proper launch mode selection avoids boot failures
  • Custom image workflow is repeatable and scalable

Conclusion

This demonstration shows how OCI Custom Image capability allows deployment of enterprise-grade operating systems such as SUSE Linux Enterprise Server 16.

It enables organizations to maintain OS consistency, test new releases, and extend OCI capabilities beyond default images.


References

  • OCI Custom Image Documentation
  • OCI Compute Documentation
  • SUSE Cloud Image Documentation

🔗 About the Author

Debapriya Biswas
Oracle ACE Apprentice | Sr. Consultant – Cloud Technologies
Focused on OCI Compute, Automation, and Hybrid Cloud

 

 

Comments

Popular posts from this blog

Access Oracle OCI Object Storage through GUI Client

Instance OS Baseline Configuration Runbook

Accessing OCI Compute Instances Using VNC Console (Instance Console Connection)