Error : no contextualization found

Hi everyone,

Recently I added FreeBSD 13 from Storage > MarketPlaces > OpenNebula Public > Apps.
When I create a VM from the FreeBSD 13 template, the guest OS fails to start one_context.

For example, in the console log I see:

Error: No contextualization found
/etc/rc: WARNING: failed to start one_context

I’ve previously added other operating systems (like Ubuntu 24) using the same method, and those VMs worked fine without issues. However, with this series of OSs — FreeBSD 13, FreeBSD 14, Fedora latest, and Alpine — the contextualization step fails.

fail to start one_context

Environment:

  • OpenNebula version: 6.4

Steps to reproduce:

  1. Go to Storage > MarketPlaces > OpenNebula Public > Apps.

  2. Import the FreeBSD 13 image.

  3. Instantiate a VM from the template.

  4. Check the VM console.

Current results:

  • VM boots, but one_context fails to start.

I cannot log in to the guest OS to investigate further, because:

  • There is no default password provided for these images.

  • SSH initialization does not work since contextualization fails.

Could someone help me understand whether this is a problem with the Marketplace images themselves, or if I’m missing a configuration step in my OpenNebula setup?

Can you check the source of your marketplace. FreeBSD 13 works for me

root@PC04:~# onemarketapp list | grep -i freebsd
 558 FreeBSD 12                                                                                                                6.6.1-1.20    4G  rdy  img 06/12/23 OpenNebula    0
 554 FreeBSD 14                                                                                                                7.0.0-0-20    4G  rdy  img 05/27/25 OpenNebula    0
 532 FreeBSD 13                                                                                                                7.0.0-0-20    4G  rdy  img 05/27/25 OpenNebula    0
root@PC04:~# onemarketapp export -d 1 532 freebsd13
IMAGE
    ID: 114
VMTEMPLATE
    ID: 571
root@PC04:~# onetemplate instantiate 571 --network service
invalid option: --network
root@PC04:~# onetemplate instantiate 571 --nic service
VM ID: 843
root@PC04:~# onevm ssh 843
Warning: Permanently added '172.20.0.25' (ED25519) to the list of known hosts.
FreeBSD 13.5-RELEASE releng/13.5-n259162-882b9f3f2218 GENERIC

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List:        https://www.FreeBSD.org/lists/questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

To change this login announcement, see motd(5).
root@localhost:~ # service
service       services_mkdb
root@localhost:~ # service one-context status
one_context is not running.
root@localhost:~ # service one-context start
/etc/rc.d/one-context: WARNING: Service started once already.
/etc/rc.d/one-context: WARNING: failed precmd routine for one_context
root@localhost:~ # grep one-context /var/log/messages
May 27 07:55:14 localhost pkg[6432]: one-context-7.0.0 installed
Sep 25 15:43:39  one-contextd: Started for type local
Sep 25 15:43:39  one-contextd: Processing local scripts
Sep 25 15:43:39  one-contextd: Done
Sep 25 15:45:46 localhost root[1462]: /etc/rc.d/one-context: WARNING: Service started once already.
Sep 25 15:45:46 localhost root[1466]: /etc/rc.d/one-context: WARNING: failed precmd routine for one_context

Hi Daniel,

Thank you for your response. As you suggested, I’ve been trying to debug the issue. I have compared the templates and gathered some more information.

I’ve checked the source of my marketplace, and it appears to be the same public OpenNebula marketplace you are using.

I found significant differences between the FreeBSD 13 and FreeBSD 12 templates, which I have now corrected. After the adjustments, the FreeBSD 13 template is nearly identical to the working FreeBSD 12 template, as shown in the onetemplate show outputs below:

FreeBSD 13 (Corrected Template):

TEMPLATE 89 INFORMATION
ID             : 89
NAME           : FreeBSD 13
...
TEMPLATE CONTENTS
CONTEXT=[
  NETWORK="YES",
  SSH_PUBLIC_KEY="$USER[SSH_PUBLIC_KEY]" ]
CPU="1"
DISK=[
  IMAGE_ID="107" ]
GRAPHICS=[
  LISTEN="0.0.0.0",
  TYPE="vnc" ]
HYPERVISOR="vcenter"
MEMORY="768"
OS=[
  ARCH="x86_64" ]
...

FreeBSD 12 (Working Template):

TEMPLATE 88 INFORMATION
ID             : 88
NAME           : FreeBSD 12
...
TEMPLATE CONTENTS
CONTEXT=[
  NETWORK="YES",
  SSH_PUBLIC_KEY="$USER[SSH_PUBLIC_KEY]" ]
CPU="1"
DISK=[
  IMAGE_ID="106" ]
GRAPHICS=[
  LISTEN="0.0.0.0",
  TYPE="vnc" ]
HYPERVISOR="vcenter"
MEMORY="768"
OS=[
  ARCH="x86_64" ]
...

Despite these changes, the one_context issue persists, and I still cannot log in or use SSH. This is particularly confusing because the FreeBSD 12 image from the same marketplace also works perfectly, even though I haven’t installed VMware Tools on it.

Could you please confirm if there are any known compatibility issues with the FreeBSD 13 (and another images like fedora , alpine new versions) Marketplace image when used with vCenter 7.x? Or perhaps there is a change in the contextualization script for FreeBSD 13 that conflicts with vCenter.

Hi,

I would appreciate it if you could review my latest comment and offer a solution. Also, please correct me if I’ve made any mistakes in my troubleshooting steps.

Please, paste the output of onemarketapp show -j “FreeBSD 13“ and onemarket show -j “OpenNebula Public”

Hello Daniel,
Sorry for my delayed response.

Here is the output you requested:

[root@localhost ~]# onemarket show -j "OpenNebula Public"
{
  "MARKETPLACE": {
    "ID": "0",
    "UID": "0",
    "GID": "0",
    "UNAME": "oneadmin",
    "GNAME": "oneadmin",
    "NAME": "OpenNebula Public",
    "STATE": "0",
    "MARKET_MAD": "one",
    "ZONE_ID": "0",
    "TOTAL_MB": "0",
    "FREE_MB": "0",
    "USED_MB": "0",
    "MARKETPLACEAPPS": {
      "ID": [
        "603",
        "604",
        "605",
        "606",
        "607",
        "608",
        "613",
        "614",
        "615",
        "616",
        "617",
        "618",
        "619",
        "620",
        "621",
        "622",
        "623",
        "624",
        "625",
        "626",
        "627",
        "629",
        "630",
        "631",
        "633",
        "634",
        "635",
        "636",
        "637",
        "638",
        "639",
        "640",
        "641",
        "642",
        "643",
        "644",
        "645",
        "647",
        "648",
        "649",
        "650",
        "651",
        "652",
        "653",
        "654",
        "655",
        "656",
        "667",
        "668",
        "669",
        "670",
        "701",
        "702",
        "703",
        "704",
        "705",
        "706",
        "707",
        "708",
        "709",
        "710",
        "711",
        "712",
        "713",
        "714",
        "715",
        "716",
        "717",
        "718",
        "725",
        "733",
        "734",
        "758",
        "759",
        "760",
        "761",
        "762",
        "763",
        "764",
        "765",
        "766",
        "767",
        "788",
        "789",
        "790",
        "791",
        "792",
        "793",
        "794",
        "795",
        "796",
        "797",
        "798",
        "799",
        "800",
        "801",
        "802",
        "803",
        "804",
        "805",
        "807",
        "808",
        "809",
        "810",
        "811",
        "812"
      ]
    },
    "PERMISSIONS": {
      "OWNER_U": "1",
      "OWNER_M": "1",
      "OWNER_A": "1",
      "GROUP_U": "1",
      "GROUP_M": "0",
      "GROUP_A": "0",
      "OTHER_U": "1",
      "OTHER_M": "0",
      "OTHER_A": "0"
    },
    "TEMPLATE": {
      "DESCRIPTION": "OpenNebula Systems MarketPlace",
      "MARKET_MAD": "one"
    }
  }
}
[root@localhost ~]# onemarketapp show -j "FreeBSD 13"
{
  "MARKETPLACEAPP": {
    "ID": "616",
    "UID": "0",
    "GID": "0",
    "UNAME": "oneadmin",
    "GNAME": "oneadmin",
    "REGTIME": "1748337876",
    "NAME": "FreeBSD 13",
    "ZONE_ID": "0",
    "ORIGIN_ID": "-1",
    "SOURCE": "https://marketplace.opennebula.io/appliance/158b0602-43b3-4950-8b92-7d2a925cd652/download/0",
    "MD5": "ac8c04c3415fee5d842d62e11e2e3ec6",
    "SIZE": "4096",
    "DESCRIPTION": "FreeBSD 13 image for KVM and vCenter hosts",
    "VERSION": "7.0.0-0-20250528",
    "FORMAT": "qcow2",
    "APPTEMPLATE64": "REVWX1BSRUZJWD0idmQiClRZUEU9Ik9TIgo=",
    "MARKETPLACE_ID": "0",
    "MARKETPLACE": "OpenNebula Public",
    "STATE": "1",
    "TYPE": "1",
    "PERMISSIONS": {
      "OWNER_U": "1",
      "OWNER_M": "1",
      "OWNER_A": "0",
      "GROUP_U": "1",
      "GROUP_M": "0",
      "GROUP_A": "0",
      "OTHER_U": "1",
      "OTHER_M": "0",
      "OTHER_A": "0"
    },
    "TEMPLATE": {
      "APPTEMPLATE64": "REVWX1BSRUZJWD0idmQiClRZUEU9Ik9TIgo=",
      "DESCRIPTION": "FreeBSD 13 image for KVM and vCenter hosts",
      "IMPORT_ID": "158b0602-43b3-4950-8b92-7d2a925cd652",
      "LINK": "https://marketplace.opennebula.io/appliance/158b0602-43b3-4950-8b92-7d2a925cd652",
      "PUBLISHER": "OpenNebula Systems",
      "TAGS": "freebsd",
      "VERSION": "7.0.0-0-20250528",
      "VMTEMPLATE64": "Q09OVEVYVCA9IFsgTkVUV09SSyAgPSJZRVMiLFNTSF9QVUJMSUNfS0VZICA9IiRVU0VSW1NTSF9QVUJMSUNfS0VZXSJdCgpDUFUgPSAiMSIKR1JBUEhJQ1MgPSBbIExJU1RFTiAgPSIwLjAuMC4wIixUWVBFICA9InZuYyJdCgpNRU1PUlkgPSAiNzY4IgpPUyA9IFsgQVJDSCAgPSJ4ODZfNjQiXQo="
    }
  }
}

this issue also happens with the latest OS images I’ve tried to download from the OpenNebula Public marketplace, such as Fedora, Alpine, and a few others.

Can you show the output of onevm show -j <vm_id> of the FreeBSD 13 VM ? The no contextualization found message stems from the one-context service not finding the information on the context ISO. Also, please share the output of virsh dumpxml one-<vm_id> executed in the KVM node where the VM is running.

OpenNebula was run on a vSphere hypervisor.
the attached pic take from vshphere consol

see the output : onevm show -j <vm_id>

[root@localhost ~]# onevm show -j 310
{
  "VM": {
    "ID": "310",
    "UID": "0",
    "GID": "0",
    "UNAME": "oneadmin",
    "GNAME": "oneadmin",
    "NAME": "test",
    "PERMISSIONS": {
      "OWNER_U": "1",
      "OWNER_M": "1",
      "OWNER_A": "0",
      "GROUP_U": "0",
      "GROUP_M": "0",
      "GROUP_A": "0",
      "OTHER_U": "0",
      "OTHER_M": "0",
      "OTHER_A": "0"
    },
    "LAST_POLL": "1760270712",
    "STATE": "3",
    "LCM_STATE": "3",
    "PREV_STATE": "3",
    "PREV_LCM_STATE": "3",
    "RESCHED": "0",
    "STIME": "1760270445",
    "ETIME": "0",
    "DEPLOY_ID": "vm-34034_7f8fd87e-0b62-4ab9-887c-6c72e36c91d1",
    "MONITORING": {
      "CPU": "0.00",
      "DISKRDBYTES": "3809280",
      "DISKRDIOPS": "8",
      "DISKWRBYTES": "1863680",
      "DISKWRIOPS": "3",
      "DISK_0_ACTUAL_PATH": "[DS-02] one/107/0-310-0.vmdk",
      "ID": "310",
      "MEMORY": "0",
      "NETRX": "0",
      "NETTX": "0",
      "TIMESTAMP": "1760270712",
      "VCENTER_ESX_HOST": "172.16.251.1",
      "VCENTER_GUEST_STATE": "notRunning",
      "VCENTER_RP_NAME": "Resources",
      "VCENTER_VMWARETOOLS_RUNNING_STATUS": "guestToolsNotRunning",
      "VCENTER_VMWARETOOLS_VERSION": "2147483647",
      "VCENTER_VMWARETOOLS_VERSION_STATUS": "guestToolsUnmanaged",
      "VCENTER_VM_NAME": "one-310-test"
    },
    "TEMPLATE": {
      "AUTOMATIC_DS_REQUIREMENTS": "(\"CLUSTERS/ID\" @> 100)",
      "AUTOMATIC_NIC_REQUIREMENTS": "(\"CLUSTERS/ID\" @> 100)",
      "AUTOMATIC_REQUIREMENTS": "(CLUSTER_ID = 100) & !(PUBLIC_CLOUD = YES) & !(PIN_POLICY = PINNED)",
      "CONTEXT": {
        "DISK_ID": "1",
        "ETH0_DNS": "8.8.8.8",
        "ETH0_EXTERNAL": "",
        "ETH0_GATEWAY": "172.16.252.254",
        "ETH0_GATEWAY6": "",
        "ETH0_IP": "172.16.252.1",
        "ETH0_IP6": "",
        "ETH0_IP6_GATEWAY": "",
        "ETH0_IP6_METHOD": "",
        "ETH0_IP6_METRIC": "",
        "ETH0_IP6_PREFIX_LENGTH": "",
        "ETH0_IP6_ULA": "",
        "ETH0_MAC": "02:00:ac:10:fc:01",
        "ETH0_MASK": "255.255.255.0",
        "ETH0_METHOD": "",
        "ETH0_METRIC": "",
        "ETH0_MTU": "",
        "ETH0_NETWORK": "172.16.252.0",
        "ETH0_SEARCH_DOMAIN": "",
        "ETH0_VLAN_ID": "171",
        "ETH0_VROUTER_IP": "",
        "ETH0_VROUTER_IP6": "",
        "ETH0_VROUTER_MANAGEMENT": "",
        "NETWORK": "YES",
        "PASSWORD": "uAPPtUfyqXuxeN/dBof2AQ==",
        "SSH_PUBLIC_KEY": "",
        "START_SCRIPT_BASE64": "TkVXX0hPU1ROQU1FPSIkTUFDSElORV9OQU1FJCIgJiYgXApzZWQgLWkgJ3MvXi4qUGFzc3dvcmRBdXRoZW50aWNhdGlvbiAuKi9QYXNzd29yZEF1dGhlbnRpY2F0aW9uIHllcy8nIC9ldGMvc3NoL3NzaGRfY29uZmlnICYmIFwKc2VkIC1pICdzL14uKlBlcm1pdFJvb3RMb2dpbiAuKi9QZXJtaXRSb290TG9naW4geWVzLycgL2V0Yy9zc2gvc3NoZF9jb25maWcgJiYgXApzZWQgLWkgJ3MvXi4qVXNlRE5TIC4qL1VzZUROUyBuby8nIC9ldGMvc3NoL3NzaGRfY29uZmlnICYmIFwKZWNobyAiJE5FV19IT1NUTkFNRSIgPiAvZXRjL2hvc3RuYW1lICYmIFwKaG9zdG5hbWVjdGwgc2V0LWhvc3RuYW1lICIkTkVXX0hPU1ROQU1FIiAmJiBcCnNlZCAtaSAicy8xMjcuMC4wLjEuKi8xMjcuMC4wLjEgICBsb2NhbGhvc3QgJE5FV19IT1NUTkFNRS8iIC9ldGMvaG9zdHMgJiYgXApzeXN0ZW1jdGwgcmVzdGFydCBzc2hkICYmIFwKcGFzc3dkIC0tZXhwaXJlIHJvb3QgJiYgXApoaXN0b3J5IC1j",
        "TARGET": "hda"
      },
      "CPU": "1",
      "CPU_MODEL": {
        "MODEL": "host-passthrough"
      },
      "DISK": [
        {
          "ALLOW_ORPHANS": "NO",
          "CLONE": "YES",
          "CLONE_TARGET": "SYSTEM",
          "CLUSTER_ID": "100",
          "DATASTORE": "DS-02(IMG)",
          "DATASTORE_ID": "100",
          "DEV_PREFIX": "sd",
          "DISK_ID": "0",
          "DISK_SNAPSHOT_TOTAL_SIZE": "0",
          "DISK_TYPE": "FILE",
          "DRIVER": "vmdk",
          "FORMAT": "vmdk",
          "IMAGE": "FreeBSD 13",
          "IMAGE_ID": "107",
          "IMAGE_STATE": "2",
          "LN_TARGET": "NONE",
          "ORIGINAL_SIZE": "4096",
          "READONLY": "NO",
          "SAVE": "NO",
          "SIZE": "4096",
          "SOURCE": "one/107/0.vmdk",
          "TARGET": "sda",
          "TM_MAD": "vcenter",
          "TYPE": "FILE",
          "VCENTER_DS_REF": "datastore-12",
          "VCENTER_INSTANCE_ID": "7f8fd87e-0b62-4ab9-887c-6c72e36c91d1"
        }
      ],
      "GRAPHICS": {
        "LISTEN": "0.0.0.0",
        "PORT": "6210",
        "TYPE": "VNC"
      },
      "MEMORY": "768",
      "NIC": [
        {
          "AR_ID": "0",
          "BRIDGE": "LAB-PG-01-171",
          "BRIDGE_TYPE": "vcenter_port_groups",
          "CLUSTER_ID": "100",
          "GATEWAY": "172.16.252.254",
          "IP": "172.16.252.1",
          "MAC": "02:00:ac:10:fc:01",
          "NAME": "NIC0",
          "NETWORK": "LAB-PG-01-171",
          "NETWORK_ID": "2",
          "NIC_ID": "0",
          "SECURITY_GROUPS": "0",
          "TARGET": "one-310-0",
          "VCENTER_NET_REF": "network-20",
          "VCENTER_PORTGROUP_TYPE": "Port Group",
          "VCENTER_SWITCH_NAME": "vSwitch0",
          "VLAN_ID": "171",
          "VN_MAD": "vcenter"
        }
      ],
      "OS": {
        "ARCH": "x86_64",
        "FIRMWARE": "",
        "FIRMWARE_SECURE": "YES",
        "UUID": "15cc32be-6f0c-42d1-9b62-58a4291c6c76"
      },
      "SECURITY_GROUP_RULE": [
        {
          "PROTOCOL": "ALL",
          "RULE_TYPE": "OUTBOUND",
          "SECURITY_GROUP_ID": "0",
          "SECURITY_GROUP_NAME": "default"
        },
        {
          "PROTOCOL": "ALL",
          "RULE_TYPE": "INBOUND",
          "SECURITY_GROUP_ID": "0",
          "SECURITY_GROUP_NAME": "default"
        }
      ],
      "TEMPLATE_ID": "89",
      "TM_MAD_SYSTEM": "vcenter",
      "VMID": "310"
    },
    "USER_TEMPLATE": {
      "HOT_RESIZE": {
        "CPU_HOT_ADD_ENABLED": "NO",
        "MEMORY_HOT_ADD_ENABLED": "NO"
      },
      "HYPERVISOR": "vcenter",
      "INPUTS_ORDER": "",
      "MEMORY_UNIT_COST": "MB",
      "SCHED_DS_REQUIREMENTS": "ID=\"101\"",
      "VCENTER_CCR_REF": "domain-c16",
      "VCENTER_INSTANCE_ID": "7f8fd87e-0b62-4ab9-887c-6c72e36c91d1",
      "VCENTER_TEMPLATE_REF": "vm-23",
      "VCENTER_VM_FOLDER": ""
    },
    "HISTORY_RECORDS": {
      "HISTORY": {
        "OID": "310",
        "SEQ": "0",
        "HOSTNAME": "LAB-Cluster",
        "HID": "0",
        "CID": "100",
        "STIME": "1760270456",
        "ETIME": "0",
        "VM_MAD": "vcenter",
        "TM_MAD": "vcenter",
        "DS_ID": "101",
        "PSTIME": "1760270456",
        "PETIME": "1760270640",
        "RSTIME": "1760270640",
        "RETIME": "0",
        "ESTIME": "0",
        "EETIME": "0",
        "ACTION": "0",
        "UID": "-1",
        "GID": "-1",
        "REQUEST_ID": "-1"
      }
    }
  }
}

Try installing the open-vm-tools package and then the contextualization should work.

As far as I understood, in the latest versions of operating systems downloaded from the OpenNebula Marketplace, the one-context package is no longer included by default.
Therefore, if we want to use the latest releases such as FreeBSD, Fedora, or Alpine, we need to manually create a template, install the contextualization package inside the VM, and then register it as a new image in OpenNebula.
Is that correct?

That is incorrect. one-context comes pre-installed on the OS appliances available on the marketplace. In your screenshot you can actually see the text Starting one_context , which is a message from the one-context service unit.

one-context a series of checks as to where to look for context metadata. When running as a vCenter VM, the check should be vmtoolsd --cmd 'info-get guestinfo.opennebula.context'. In any case, 6.4 is no longer supported, try with a newer OpenNebula version. Also the vCenter driver is deprecated.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.