Skip to content

[BUG] crc fails to start cluster from Podman Desktop on Linux (ports require permission) #998

Description

@ScrewTSW

General information

  • OS: Linux
  • Hypervisor: N/A
  • Did you run crc setup before starting it (Yes/No)? Yes
  • Running CRC on: Laptop

CRC version

$ crc version
CRC version: 2.57.0+ae41f6
OpenShift version: 4.20.5
MicroShift version: 4.20.0

CRC status

$ crc status --log-level debug
DEBU CRC version: 2.57.0+ae41f6                   
DEBU OpenShift version: 4.20.5                    
DEBU MicroShift version: 4.20.0                   
DEBU Running 'crc status'                         
CRC VM:          Stopped
OpenShift:       Stopped (v4.20.5)
Disk Usage:      0B of 0B (Inside the CRC VM)
Cache Usage:     31.59GB
Cache Directory: /home/tdancs/.crc/cache

CRC config

# Put `crc config view` output here

Host Operating System

$ crc config view
- consent-telemetry                     : no
- cpus                                  : 16
- disk-size                             : 37
- ingress-http-port                     : 8080
- ingress-https-port                    : 7443
- memory                                : 30302
- pull-secret-file                      : /home/tdancs/Downloads/pull-secret.txt

Steps to reproduce

  1. Install latest version of crc
  2. Install latest OpenShift Local extension from catalog (v2.1.3)
  3. Execute crc setup
  4. Attempt to create a new OpenShift Local cluster in Podman Desktop
  5. Switch to alternate ports based on comment [BUG] Ingress Https Port value not being used to update kubeconfig during crc start crc#4124 (comment)
  6. Start cluster again (success, nothing appears in Podman Desktop)

extra: switching back to 443 and 80 is impossible, the binary enforces ports >=1024

Expected

  • Cluster is started with original ports

Actual

  • Cluster fails to start with original ports, workaround does not fix the issue, cluster is not visible, crc status reports it as stopped.
  • Restarting Podman Desktop shows the cluster once again. Opening cluster details and starting it from UI eventually succeeds

Logs

Podman Desktop

[openshift-local] Error: failed to expose port :443 -> 192.168.127.2:443: listen tcp :443: bind: permission denied

    at DaemonCommander.start (/home/tdancs/.local/share/containers/podman-desktop/plugins/ghcriocrcorgcrcextension/dist/extension.cjs:12534:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    at async startCrc (/home/tdancs/.local/share/containers/podman-desktop/plugins/ghcriocrcorgcrcextension/dist/extension.cjs:26440:20)
    at async createCrcVm (/home/tdancs/.local/share/containers/podman-desktop/plugins/ghcriocrcorgcrcextension/dist/extension.cjs:27454:22)
    at async Object.create (/home/tdancs/.local/share/containers/podman-desktop/plugins/ghcriocrcorgcrcextension/dist/extension.cjs:27431:11)
    at async TaskConnectionUtils.withTask (/app/lib/io.podman_desktop.PodmanDesktop/resources/app.asar/packages/main/dist/index.cjs:291:1727)
    at async /app/lib/io.podman_desktop.PodmanDesktop/resources/app.asar/packages/main/dist/index.cjs:291:3219
    at async Session.<anonymous> (node:electron/js2c/browser_init:2:110632)
[openshift-local] Error: failed to expose port :443 -> 192.168.127.2:443: listen tcp :443: bind: permission denied
Image

^-- same error for port 80

Image Image

Please consider posting the output of crc start --log-level debug on http://gist.github.com/ and post the link in the issue.

Related: #235 crc-org/crc#4124

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions