Nexeed
    • Introduction
    • Getting started
      • Getting access
      • Login
      • Main screen
      • Welcome dashboard
      • Detecting process anomalies
      • Analyzing data and detecting event sequences
      • Analyzing KPIs
    • How-tos
      • Monitors on production lines
        • Configuring the automatic login in the Nexeed Industrial Application System
        • Configuring the automatic login to the identity provider with the Windows user
        • Setting cookies in the browser
        • Configuring the automatic logout in the Nexeed Industrial Application System
        • Configuring the command line parameters in the browser
        • Known limitations and troubleshooting
      • Try out the APIs
    • Integration guide
      • Underlying concepts
        • Underlying concepts
        • Onboarding
        • Security
        • Communication
      • Integration journey
      • Overview of APIs
    • Operations manual
      • Release
      • System architecture and interfaces
      • System requirements
        • Cluster requirements
        • Database requirements
        • Support for service meshes
      • Migration from previous Nexeed IAS versions
      • Setup and configuration
        • Deployment process
        • Deployment with Helm
        • Advanced configuration
        • Integrations with external secret management solutions
        • Context paths
        • Service accounts and authorizations
        • Validation tests
        • Setup click once
        • Database user setup and configuration
      • Start and shutdown
      • Regular operations
        • User management & authentication
        • How to add additional tenants
        • How to access the cluster and pods
        • Automatic module role assignments in customer tenants
        • User credentials rotation - database and messaging secrets
      • Failure handling
        • Failure handling guidelines
        • Ansible operator troubleshooting
        • How to reach BCI for unresolved issues
      • Backup and restore
      • Logging and monitoring
        • The concept and conventions
        • ELK stack
        • ELK configurations aspects for beats
        • Proxy setup for ELK
        • Health endpoints configurations
      • Known limitations
      • Supporting functions
      • Security recommendations
        • Kubernetes
        • Security Best Practices for Databases
        • Certificates
        • Threat detection tools
    • Infrastructure manual
      • Release
      • System architecture and interfaces
        • RabbitMQ version support
      • System requirements
      • Migration from previous Nexeed infrastructure versions
      • Setup and configuration
        • Deployment process of the Nexeed infrastructure Helm chart
        • Deployment with Helm
      • Start and shutdown
      • Regular operations
        • RabbitMQ
          • User management & authentication
          • Disk size change
          • Upgrade performance with high performant disk type
          • Pod management policy
      • Failure handling
        • Connection failures
        • Data safety on the RabbitMQ side
        • Fix RabbitMQ cluster partitions
        • Delete unsynchronized RabbitMQ queues
        • How to reach BCI for unresolved issues
      • Backup and restore
      • Logging and monitoring
      • Known limitations
    • Glossary
    • Further information and contact
Industrial Application System
  • Industrial Application System
  • Core Services
    • Block Management
    • Deviation Processor
    • ID Builder
    • Multitenant Access Control
    • Notification Service
    • Ticket Management
    • Web Portal
  • Shopfloor Management
    • Andon Live
    • Global Production Overview
    • KPI Reporting
    • Operational Routines
    • Shift Book
    • Shopfloor Management Administration
  • Product & Quality
    • Product Setup Management
    • Part Traceability
    • Process Quality
    • Setup Specs
  • Execution
    • Line Control
    • Material Management
    • Order Management
    • Packaging Control
    • Rework Control
  • Intralogistics
    • AGV Control Center
    • Stock Management
    • Transport Management
  • Machine & Equipment
    • Condition Monitoring
    • Device Portal
    • Maintenance Management
    • Tool Management
  • Enterprise & Shopfloor Integration
    • Archiving Bridge
    • Data Publisher
    • Direct Data Link
    • Engineering UI
    • ERP Connectivity
    • Gateway
    • Information Router
    • Master Data Management
    • Orchestrator

Nexeed Learning Portal

  • Industrial Application System
  • Operations manual
  • Failure handling
  • Ansible operator troubleshooting
preview 2025.03.00

Ansible operator troubleshooting

Our Kubernetes operators are made from Ansible Operator Plugin. It honours the run time environment variables for ansible.

The ansible operators first checks the health status of the module to be managed on startup, and then rely on watching custom resources in the selected namespaces (see CustomResourceDefinitions for which CR it watches) to perform management activities.

From here, we already have a few things to initiate the check: * Check ingress-nginx controller status (Check deployment, service and pod status), assuming it is installed under ingress-nginx namespace: - kubectl get -n ingress-nginx deployment/ingress-nginx-controller -o yaml - kubectl get -n ingress-nginx pod Check the pod status - kubectl get -n ingress-nginx svc/ingress-nginx-controller Check cluster ip and external-ip (on cloud environment) - kubectl logs -n ingress-nginx pod/<pod-name> -f To follow the nginx logs * Check DNS setup of the domain and if applicable, the subdomains. * Check if the managed component (i.e. macma, rabbitmq) is properly up and running * Check admin credentials for the managed component under the serverInstances section of the custom-values.yaml file, i.e. rabbitmq management plugin, mssql admin account credentials etc.

If all above checks passed, you can also check on the following items: * The status section of the Custom Resource, i.e. if status section is missing * Ansible operator pod logs * Increase ansible output verbosity (0 to 5), there are multiple ways of doing this: - adding ANSIBLE_VERBOSITY variable to the ansible operator deployment - adding annotation to the ansible-operator deployment in the aops namespace: kubectl annotate -n aops deployment/<ansible-operator-deployment-name> ansible.sdk.operatorframework.io/verbosity="<0-5>" * If the deployment is a split deployment, please check if your custom-values.yaml file is matching the setup requirement of the SplitDeployments section * If in a split deployment, check your module’s namespace is within the global.modules.ansible-operator.additionalNamespaceToWatch section in the custom-values.yaml file * The watches configmap in the aops namespace, here you may change the safe_logs parameter to "false" for revealing the ansible-operator runtime credentials

Contents

© Robert Bosch Manufacturing Solutions GmbH 2023-2025, all rights reserved

Changelog Corporate information Legal notice Data protection notice Third party licenses