Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • D drupalSite-operator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 22
    • Issues 22
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • drupal
  • paas
  • drupalSite-operator
  • Issues
  • #45

Closed
Open
Created Mar 12, 2021 by Konstantinos Samaras-Tsakiris@kosamaraOwner

Deadlocks while ensuring resources

When transitioning from a version of the operator that deployed DeploymentConfig -> Deployment, I observed the DrupalSites stuck in this status:

  status:
    conditions:
    - lastTransitionTime: "2021-02-24T14:55:48Z"
      status: "True"
      type: Installed
    - lastTransitionTime: "2021-03-11T18:33:59Z"
      message: 'k8sAPIClientError: %v: for PHP-FPM CM: k8sAPIClientError: Failed to
        roll out new deployment while updating the PHP-FPM configMap (deployment not
        found): Deployment.apps "drupal-test-ideasquare" not found'
      reason: k8sAPIClientError
      status: "False"
      type: Ready

I deleted the DeploymentConfig, but the Deployment wasn't being created. On closer inspection, it turns out the Deployment is only created after the configmap has been ensured: https://gitlab.cern.ch/drupal/paas/drupalsite-operator/-/blob/master/controllers/drupalsite_resources.go#L161

The serial logic creates deadlocks. All resources need to be ensured in the same reconciliation.

Assignee
Assign to
Time tracking