operator-framework / operator-sdk

SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.
https://sdk.operatorframework.io
Apache License 2.0
7.22k stars 1.74k forks source link

How to get full Ansible log from Operator pod? #3755

Closed YanFenGuo closed 4 years ago

YanFenGuo commented 4 years ago

Type of question

Previously we ask our customer to export Ansible logs with this command: kubectl logs deployment/ibm-cp4a-operator -c ansible > Ansible.log. But since operator-sdk:0.18.0, the side-car Ansible container is removed. While in operator container, the Ansible log doesn't have enough detail. I know in documentation there is a variable ANSIBLE_DEBUG_LOGS: True, but even with it, still can't get the complete log as it shows in /tmp/ansible-operator/runner/<group>/<version>/<kind>/<namespace>/<name>, actually, I don't see a difference with or without ANSIBLE_DEBUG_LOGS: True, maybe I'm not checking the right place?

What did you expect to see? What I'm seeking is without going into operator pod, can get a complete Ansible log with detailed information. For example the same task shows below in /tmp/ansible-operator/runner/<group>/<version>/<kind>/<namespace>/<name>:

TASK [prerequisites : set template initialization_configuration template] ******^M
^[[1;30mtask path: /opt/ansible/roles/prerequisites/tasks/pattern-aware/fncm-ban-initialization-detect.yaml:59^[[0m
Wednesday 19 August 2020  03:41:31 +0000 (0:00:00.160)       0:00:13.985 ******
^[[0;33mchanged: [localhost] => {"changed": true, "checksum": "*******", "dest": "/tmp/ansible-operator/runner/init/initialization_configuration.yaml", "gid": 0, "group": "root", "md5sum": "******", "mode": "0644", "owner": "1000570000", "size": 7378, "src": "/tmp/.ansible-/tmp/ansible-tmp-1597808491.3779387-189-236775360540360/source", "state": "file", "uid": 1000570000}^[[0m

But from the pod log console, with or without ANSIBLE_DEBUG_LOGS: True, it is always just this:

--------------------------- Ansible Task StdOut -------------------------------

TASK [prerequisites : set template initialization_configuration template] ******
task path: /opt/ansible/roles/prerequisites/tasks/pattern-aware/fncm-ban-initialization-detect.yaml:59

-------------------------------------------------------------------------------
2020-08-19T03:29:45.352Z    INFO    logging_event_handler   [playbook task] {"name": "automation", "namespace": "ecm-automation-43", "gvk": "icp4a.ibm.com/v1, Kind=ICP4ACluster", "event_type": "playbook_on_task_start", "job": "4037200794235010051", "EventData.Name": "prerequisites : set template initialization_configuration template"}

Environment I'm using 0.17.2 but I'm assuming the higher version have similar result.

Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.4", GitCommit:"c27b913fddd1a6c480c229191a087698aa92f0b1", GitTreeState:"clean", BuildDate:"2019-02-28T13:37:52Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.2", GitCommit:"a02f27a", GitTreeState:"clean", BuildDate:"2020-04-13T12:04:13Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

camilamacedo86 commented 4 years ago

Hi @YanFenGuo,

you need to add the ENV VAR in the operator.ymal and re-deploy it. See: here the example.

All ansible logs will be output in the container logs. Note that the Ansible logs will be outputted with the operator ones in the same way. It will increase the verbose which means output all ansible logs that we could find in the old versions in the ansible container.

I am closing this one as sorted out. However, feel free to ping us to re-open if you need.

YanFenGuo commented 4 years ago

Hi @YanFenGuo,

you need to add the ENV VAR in the operator.ymal and re-deploy it. See: here the example.

All ansible logs will be output in the container logs. Note that the Ansible logs will be outputted with the operator ones in the same way. It will increase the verbose which means output all ansible logs that we could find in the old versions in the ansible container.

I am closing this one as sorted out. However, feel free to ping us to re-open if you need.

Thank you for the quick response, your example is exactly what I did. But there is no difference, still can't get full log. Here is my deployment yaml file:

###############################################################################
#
# Licensed Materials - Property of IBM
#
# (C) Copyright IBM Corp. 2019. All Rights Reserved.
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
###############################################################################
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ibm-cp4a-operator
  labels:
    app.kubernetes.io/instance: ibm-dba
    app.kubernetes.io/managed-by: ibm-dba
    app.kubernetes.io/name: ibm-dba
    release: 20.0.3
spec:
****
    spec:
  ******
      containers:
        - name: icp4a-operator
          # Replace this with the built image name
          image: ****
          imagePullPolicy: "Always"
          securityContext:
            allowPrivilegeEscalation: false
            privileged: false
            readOnlyRootFilesystem: false
            runAsNonRoot: true
            capabilities:
              drop:
              - ALL
          resources:
            limits:
              cpu: '1'
              memory: 1Gi
            requests:
              cpu: 500m
              memory: 256Mi
          volumeMounts:
          - mountPath: /tmp/ansible-operator/runner
            name: runner
          - mountPath: /opt/ansible/share
            name: operator-shared-folder
          args:
          - '--zap-time-encoding=iso8601'
          - '--zap-encoder=console'
          env:
            - name: WATCH_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: OPERATOR_NAME
              value: "ibm-cp4a-operator"
            - name: WORKER_FOOSERVICE_CACHE_EXAMPLE_COM
              value: "10"
            - name: ANSIBLE_GATHERING
              value: explicit
            - name: ANSIBLE_DEBUG_LOGS
              value: "True"
            # - name: ANSIBLE_VERBOSITY
            #   value: "4"
            - name: dba_license
              value: accept
      imagePullSecrets:
      - name: "admin.registrykey.operator"
      volumes:
        - name: runner
          emptyDir: {}
        - name: "operator-shared-folder"
          persistentVolumeClaim:
            claimName: "operator-shared-pvc"
camilamacedo86 commented 4 years ago

I am unable to reproduce your issue.

See here that it will output the Ansible logs inside of the --------------------------- Ansible Debug Result ----------------------------- in the container logs.

Could you please check if you are unable to fin the Ansible Debug Result?

Also, I'd like to recommend you move forward and migrate and upgrade your project to the new layout to use the version 1.0.0. Note that 0.19.x and 1.0.0 are the versions supported. See here the migration guide.

YanFenGuo commented 4 years ago

I confirm there is no Ansible Debug Result in my log. We initially intend to use 0.19.2 but we are suggested to use 0.17.2 because " 0.19.2 is not supported with OCP 4.5. Also the version 0.19.2 does NOT get support from redhat yet." According to documentation https://v0-17-x.sdk.operatorframework.io/docs/ansible/quickstart/, this feature should be supported in 0.17.*

camilamacedo86 commented 4 years ago

@YanFenGuo,

0.19.2 is not supported with OCP 4.5

What do you mean with? Where you check this information? Are you using the downstream image?

Also, could you please share your Dockerfile?

According to documentation https://v0-17-x.sdk.operatorframework.io/docs/ansible/quickstart/, this feature should be supported in 0.17.*

Note that we can use the Memcached Sample tag 0.17.0 to ensure that it works succefully. Could you please check it with the Sample?

YanFenGuo commented 4 years ago

@camilamacedo86 ,

What do you mean with? Where you check this information? Are you using the downstream image?

I'm an IBMer and I get this info from our Cloud Pak Certification team when we onboard OLM.

Also, could you please share your Dockerfile?

I'm afraid I'm not allowed to share the Dockerfile but this is the base image we are using: FROM quay.io/operator-framework/ansible-operator:v0.17.2

Could you please check it with the Sample?

Thank you, I'll check the sample to see if it works on it later.

camilamacedo86 commented 4 years ago

HI @YanFenGuo,

The versions supported are 0.19.x and 1.0.0 currently. See indeed the Operator-SDK Backport Policy.

I'd recommend you upgrade all your projects to 1.0.0 which is the stable and more mature version. See here the migration guide.

The above versions should work with OCP. I think that has some misunderstanding in the info provided to you. You are using the upstream images. What is not provided yet to downstream are images based on the latest release e.g https://catalog.redhat.com/software/containers/openshift4/ose-helm-operator/5e6bbb8f5a1346687692f501. However, you are not using the downstream images at all. So, I truly recommend you move forward to the upper version. See that the legacy layout will no longer be supported for the future versions.

Hi @jmrodri, @dmesser it shows more one case/scenario that we need to address related to downstream which we might need to find a better way to communicate as well.

YanFenGuo commented 4 years ago

@camilamacedo86 My test on the memcached example can't pass because no Ansible log output:

{"level":"info","ts":1597916702.1923316,"logger":"cmd","msg":"Go Version: go1.13.10"}
{"level":"info","ts":1597916702.1923697,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1597916702.1923745,"logger":"cmd","msg":"Version of operator-sdk: v0.17.0"}
{"level":"info","ts":1597916702.192904,"logger":"cmd","msg":"Watching single namespace.","Namespace":"memcached"}
{"level":"info","ts":1597916704.5493422,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"0.0.0.0:8383"}
{"level":"info","ts":1597916704.549793,"logger":"watches","msg":"Environment variable not set; using default value","envVar":"WORKER_MEMCACHED_CACHE_EXAMPLE_COM","default":1}
{"level":"info","ts":1597916704.5498126,"logger":"watches","msg":"Environment variable not set; using default value","envVar":"ANSIBLE_VERBOSITY_MEMCACHED_CACHE_EXAMPLE_COM","default":2}
{"level":"error","ts":1597916704.5498512,"logger":"watches","msg":"Invalid ansible path for GVK: cache.example.com/v1alpha1, Kind=Memcached","error":"role: memcached was not found","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tpkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\ngithub.com/operator-framework/operator-sdk/pkg/ansible/watches.(*Watch).Validate\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/watches/watches.go:231\ngithub.com/operator-framework/operator-sdk/pkg/ansible/watches.Load\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/watches/watches.go:298\ngithub.com/operator-framework/operator-sdk/pkg/ansible.Run\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/run.go:122\ngithub.com/operator-framework/operator-sdk/cmd/operator-sdk/execentrypoint.newRunAnsibleCmd.func1\n\tsrc/github.com/operator-framework/operator-sdk/cmd/operator-sdk/execentrypoint/ansible.go:44\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:826\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:914\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:864\nmain.main\n\tsrc/github.com/operator-framework/operator-sdk/cmd/operator-sdk/main.go:39\nruntime.main\n\t/home/travis/.gimme/versions/go1.13.10.linux.amd64/src/runtime/proc.go:203"}
{"level":"error","ts":1597916704.5499146,"logger":"watches","msg":"Watch with GVK cache.example.com/v1alpha1, Kind=Memcached failed validation","error":"role: memcached was not found","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tpkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\ngithub.com/operator-framework/operator-sdk/pkg/ansible/watches.Load\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/watches/watches.go:300\ngithub.com/operator-framework/operator-sdk/pkg/ansible.Run\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/run.go:122\ngithub.com/operator-framework/operator-sdk/cmd/operator-sdk/execentrypoint.newRunAnsibleCmd.func1\n\tsrc/github.com/operator-framework/operator-sdk/cmd/operator-sdk/execentrypoint/ansible.go:44\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:826\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:914\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:864\nmain.main\n\tsrc/github.com/operator-framework/operator-sdk/cmd/operator-sdk/main.go:39\nruntime.main\n\t/home/travis/.gimme/versions/go1.13.10.linux.amd64/src/runtime/proc.go:203"}
{"level":"error","ts":1597916704.5499678,"logger":"cmd","msg":"Failed to load watches.","Namespace":"memcached","error":"role: memcached was not found","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\tpkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\ngithub.com/operator-framework/operator-sdk/pkg/ansible.Run\n\tsrc/github.com/operator-framework/operator-sdk/pkg/ansible/run.go:124\ngithub.com/operator-framework/operator-sdk/cmd/operator-sdk/execentrypoint.newRunAnsibleCmd.func1\n\tsrc/github.com/operator-framework/operator-sdk/cmd/operator-sdk/execentrypoint/ansible.go:44\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:826\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:914\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v0.0.5/command.go:864\nmain.main\n\tsrc/github.com/operator-framework/operator-sdk/cmd/operator-sdk/main.go:39\nruntime.main\n\t/home/travis/.gimme/versions/go1.13.10.linux.amd64/src/runtime/proc.go:203"}
time="2020-08-20T09:45:04Z" level=fatal msg="role: memcached was not found"

Even I created the role:

[root@ocp1 memcached-operator]# oc get role
NAME                 CREATED AT
memcached            2020-08-20T09:39:30Z
memcached-operator   2020-08-20T09:30:00Z

I think this maybe this is the reason we stay on 0.17.2: https://docs.openshift.com/container-platform/4.5/release_notes/ocp-4-5-release-notes.html#ocp-4-5-notable-technical-changes

camilamacedo86 commented 4 years ago

Did you install it with make install? The error shows that the manifests are not all applied.

YanFenGuo commented 4 years ago

Did you install it with make install? The error shows that the manifests are not all applied.

Yes, I follow exactly these steps: https://github.com/operator-framework/operator-sdk-samples/tree/v0.17.0/ansible/memcached-operator

camilamacedo86 commented 4 years ago

Hi @YanFenGuo,

I tested it with the Memcached sample tag v0.17.0 and operator-sdk version 0.17.0 with a Kind cluster. I found an issue with the role name in the watches file. After fixing it, ALL worked fine and I am able to check all ansible logs. See:

MEMCACHED SAMPLE( 0.17.0 ) ROLE NAME FIX

To fix the Memcached Sample 0.17.0 error which has no relation with the Ansible logs at all

Error; time="2020-08-21T10:29:57Z" level=fatal msg="role: memcached was not found"

Update the watches file with the correct role name:

 $ cat watches.yaml 
---
- version: v1alpha1
  group: cache.example.com
  kind: Memcached
  role: Memcached

You were facing a FATAL error and because of this, you will NOT get the Ansible logs. The Ansible roles/playbooks were not executed at all. Please, check your logs.

ANSIBLE LOGS OUPUT WORKING AS EXPECTED IN 0.17.0

Following all steps executed to run the sample after the above fix and the logs with the Ansible ones as well.

 $ operator-sdk version
operator-sdk version: "v0.17.0", commit: "2fd7019f856cdb6f6618e2c3c80d15c3c79d1b6c", kubernetes version: "v1.17.2", go version: "go1.13.12 darwin/amd64"

Building

$ export IMAGE=quay.io/camilamacedo86/memcached-operator:log

$ operator-sdk build $IMAGE
INFO[0000] Building OCI image quay.io/camilamacedo86/memcached-operator:log 
Sending build context to Docker daemon  78.85kB
Step 1/5 : FROM quay.io/operator-framework/ansible-operator:v0.17.0
 ---> 5d34c0760fd5
Step 2/5 : COPY requirements.yml ${HOME}/requirements.yml
 ---> Using cache
 ---> ea7cf7920991
Step 3/5 : RUN ansible-galaxy collection install -r ${HOME}/requirements.yml  && chmod -R ug+rwx ${HOME}/.ansible
 ---> Using cache
 ---> f7f9366a04d2
Step 4/5 : COPY watches.yaml ${HOME}/watches.yaml
 ---> Using cache
 ---> b1ecba5ae744
Step 5/5 : COPY roles/ ${HOME}/roles/
 ---> Using cache
 ---> 50388993e07f
Successfully built 50388993e07f
Successfully tagged quay.io/camilamacedo86/memcached-operator:log
INFO[0000] Operator build complete.                     

Pushing

$ docker push $IMAGE
The push refers to repository [quay.io/camilamacedo86/memcached-operator]
6d7fa781a4a5: Pushed 
464da4ce5a76: Pushed 
0a42b8b78204: Pushed 
679b81b2bb74: Pushed 
f210119c57b3: Layer already exists 
14b6a122ad02: Layer already exists 
1ceb45c5a64a: Layer already exists 
458a464992fd: Layer already exists 
4a9fb1e36b8f: Layer already exists 
f32acfd05b3b: Layer already exists 
56c5d564c4e5: Layer already exists 
668db11eda93: Layer already exists 
d3ada5af5602: Layer already exists 
v0.0.1: digest: sha256:963063404bdfce02581b5026922ea9e001c2cd084581589a5cf5753f201f03bf size: 3028
$ sed -i 's|REPLACE_IMAGE|quay.io/camilamacedo86/memcached-operator:log|g' deploy/operator.yaml

See:

$ cat deploy/operator.yaml 
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: memcached-operator
spec:
  replicas: 1
  selector:
    matchLabels:
      name: memcached-operator
  template:
    metadata:
      labels:
        name: memcached-operator
    spec:
      serviceAccountName: memcached-operator
      containers:
        - name: memcached-operator
          # Replace this with the built image name
          image: "quay.io/camilamacedo86/memcached-operator:log"
...
$ kubectl get all -n memcached
NAME                                               READY   STATUS    RESTARTS   AGE
pod/example-memcached-memcached-6456bdd5fc-v9db4   1/1     Running   0          6m56s
pod/example-memcached-memcached-6456bdd5fc-vxmx5   1/1     Running   0          6m56s
pod/example-memcached-memcached-6456bdd5fc-w5q55   1/1     Running   0          6m56s
pod/memcached-operator-756699f96c-xrfs9            1/1     Running   0          7m6s

NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
service/memcached-operator-metrics   ClusterIP   10.96.151.116   <none>        8383/TCP,8686/TCP   7m3s

NAME                                          READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/example-memcached-memcached   3/3     3            3           6m56s
deployment.apps/memcached-operator            1/1     1            1           7m6s

NAME                                                     DESIRED   CURRENT   READY   AGE
replicaset.apps/example-memcached-memcached-6456bdd5fc   3         3         3       6m56s
replicaset.apps/memcached-operator-756699f96c            1         1         1       7m6s
$ kubectl logs deployment.apps/memcached-operator -n memcached | grep Result
--------------------------- Ansible Debug Result -----------------------------
--------------------------- Ansible Debug Result -----------------------------
--------------------------- Ansible Debug Result -----------------------------
`Memcached Operator logs` ``` {"level":"info","ts":1598005937.6202972,"logger":"cmd","msg":"Go Version: go1.13.10"} {"level":"info","ts":1598005937.620399,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"} {"level":"info","ts":1598005937.6204262,"logger":"cmd","msg":"Version of operator-sdk: v0.17.0"} {"level":"info","ts":1598005937.6205776,"logger":"cmd","msg":"Watching single namespace.","Namespace":"memcached"} {"level":"info","ts":1598005937.9286518,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"0.0.0.0:8383"} {"level":"info","ts":1598005937.9292524,"logger":"watches","msg":"Environment variable not set; using default value","envVar":"WORKER_MEMCACHED_CACHE_EXAMPLE_COM","default":1} {"level":"info","ts":1598005937.9293256,"logger":"watches","msg":"Environment variable not set; using default value","envVar":"ANSIBLE_VERBOSITY_MEMCACHED_CACHE_EXAMPLE_COM","default":2} {"level":"info","ts":1598005937.9293942,"logger":"ansible-controller","msg":"Watching resource","Options.Group":"cache.example.com","Options.Version":"v1alpha1","Options.Kind":"Memcached"} {"level":"info","ts":1598005937.9295142,"logger":"leader","msg":"Trying to become the leader."} {"level":"info","ts":1598005938.2524507,"logger":"leader","msg":"No pre-existing lock was found."} {"level":"info","ts":1598005938.2576094,"logger":"leader","msg":"Became the leader."} {"level":"info","ts":1598005938.8881233,"logger":"metrics","msg":"Metrics Service object created","Service.Name":"memcached-operator-metrics","Service.Namespace":"memcached"} {"level":"info","ts":1598005939.193632,"logger":"cmd","msg":"Could not create ServiceMonitor object","Namespace":"memcached","error":"no ServiceMonitor registered with the API"} {"level":"info","ts":1598005939.1938028,"logger":"cmd","msg":"Install prometheus-operator in your cluster to create ServiceMonitor objects","Namespace":"memcached","error":"no ServiceMonitor registered with the API"} {"level":"info","ts":1598005939.1953871,"logger":"proxy","msg":"Starting to serve","Address":"127.0.0.1:8888"} {"level":"info","ts":1598005939.195616,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"} {"level":"info","ts":1598005939.1957302,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"memcached-controller","source":"kind source: cache.example.com/v1alpha1, Kind=Memcached"} {"level":"info","ts":1598005939.2989705,"logger":"controller-runtime.controller","msg":"Starting Controller","controller":"memcached-controller"} {"level":"info","ts":1598005939.2991223,"logger":"controller-runtime.controller","msg":"Starting workers","controller":"memcached-controller","worker count":1} --------------------------- Ansible Task StdOut ------------------------------- TASK [Gathering Facts] ********************************************************* ------------------------------------------------------------------------------- {"level":"info","ts":1598005942.4280431,"logger":"logging_event_handler","msg":"[playbook task]","name":"example-memcached","namespace":"memcached","gvk":"cache.example.com/v1alpha1, Kind=Memcached","event_type":"playbook_on_task_start","job":"4037200794235010051","EventData.Name":"Gathering Facts"} --------------------------- Ansible Task StdOut ------------------------------- TASK [Memcached : start memcached] ********************************************* task path: /opt/ansible/roles/Memcached/tasks/main.yml:3 {"level":"info","ts":1598005943.6772618,"logger":"logging_event_handler","msg":"[playbook task]","name":"example-memcached","namespace":"memcached","gvk":"cache.example.com/v1alpha1, Kind=Memcached","event_type":"playbook_on_task_start","job":"4037200794235010051","EventData.Name":"Memcached : start memcached"} ------------------------------------------------------------------------------- {"level":"info","ts":1598005944.8032594,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/version","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005944.8061776,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/version/openshift","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005944.8088028,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/apis","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005944.813295,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/apis/apps/v1","Verb":"get","APIPrefix":"apis","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005945.2217937,"logger":"proxy","msg":"Cache miss: apps/v1, Kind=Deployment, memcached/example-memcached-memcached"} {"level":"info","ts":1598005945.2278507,"logger":"proxy","msg":"Injecting owner reference"} {"level":"info","ts":1598005945.228341,"logger":"proxy","msg":"Watching child resource","kind":"apps/v1, Kind=Deployment","enqueue_kind":"cache.example.com/v1alpha1, Kind=Memcached"} {"level":"info","ts":1598005945.2284214,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"memcached-controller","source":"kind source: apps/v1, Kind=Deployment"} --------------------------- Ansible Task Status Event StdOut ----------------- PLAY RECAP ********************************************************************* localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 {"level":"info","ts":1598005945.5388734,"logger":"runner","msg":"Ansible-runner exited successfully","job":"4037200794235010051","name":"example-memcached","namespace":"memcached"} ------------------------------------------------------------------------------- --------------------------- Ansible Debug Result ----------------------------- ansible-playbook 2.9.6 config file = /etc/ansible/ansible.cfg configured module search path = ['/usr/share/ansible/openshift'] ansible python module location = /usr/local/lib/python3.6/site-packages/ansible executable location = /usr/local/bin/ansible-playbook python version = 3.6.8 (default, Oct 11 2019, 15:04:54) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] Using /etc/ansible/ansible.cfg as config file setting up inventory plugins host_list declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method script declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method auto declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method Set default localhost to localhost Parsed /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts inventory source with ini plugin Loading callback plugin awx_display of type stdout, v2.0 from /usr/local/lib/python3.6/site-packages/ansible_runner/callbacks/awx_display.py PLAYBOOK: 770b02fc77b242adb0f1ddfd44414102 ************************************* Positional arguments: /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/project/770b02fc77b242adb0f1ddfd44414102 verbosity: 6 connection: smart timeout: 10 become_method: sudo tags: ('all',) inventory: ('/tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory',) extra_vars: ('@/tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/env/extravars',) forks: 5 1 plays in /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/project/770b02fc77b242adb0f1ddfd44414102 PLAY [localhost] *************************************************************** TASK [Gathering Facts] ********************************************************* ESTABLISH LOCAL CONNECTION FOR USER: ansible-operator EXEC /bin/sh -c 'echo ~ansible-operator && sleep 0' EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005942.438575-186529212215568 `" && echo ansible-tmp-1598005942.438575-186529212215568="` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005942.438575-186529212215568 `" ) && sleep 0' Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/ansible_collector.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/basic.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/default_collectors.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/namespace.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/timeout.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/collector.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/_text.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/process.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/file.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/six/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/sys_info.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/pycompat24.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_collections_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/parameters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/converters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/validation.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/convert_bool.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/formatters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_json_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/_distro.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/collections.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/apparmor.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/cmdline.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/python.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/darwin.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/local.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/selinux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/aix.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/iscsi.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/hurd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/aix.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/user.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/fc_wwn.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/chroot.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/lsb.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/date_time.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/facter.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/caps.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/ohai.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/fips.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/service_mgr.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/nvme.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/pkg_mgr.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/env.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/distribution.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/dns.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/hurd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/platform.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/ssh_pub_keys.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/darwin.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/sysctl.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/generic_bsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/sysctl.py Using module file /usr/local/lib/python3.6/site-packages/ansible/modules/system/setup.py PUT /opt/ansible/.ansible/tmp/ansible-local-27xddcyvgb/tmpd1ngoq52 TO /opt/ansible/.ansible/tmp/ansible-tmp-1598005942.438575-186529212215568/AnsiballZ_setup.py EXEC /bin/sh -c 'chmod u+x /opt/ansible/.ansible/tmp/ansible-tmp-1598005942.438575-186529212215568/ /opt/ansible/.ansible/tmp/ansible-tmp-1598005942.438575-186529212215568/AnsiballZ_setup.py && sleep 0' EXEC /bin/sh -c '/usr/bin/python3.6 /opt/ansible/.ansible/tmp/ansible-tmp-1598005942.438575-186529212215568/AnsiballZ_setup.py && sleep 0' EXEC /bin/sh -c 'rm -f -r /opt/ansible/.ansible/tmp/ansible-tmp-1598005942.438575-186529212215568/ > /dev/null 2>&1 && sleep 0' ok: [localhost] META: ran handlers TASK [Memcached : start memcached] ********************************************* task path: /opt/ansible/roles/Memcached/tasks/main.yml:3 ESTABLISH LOCAL CONNECTION FOR USER: ansible-operator EXEC /bin/sh -c 'echo ~ansible-operator && sleep 0' EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005943.8417585-51079108721198 `" && echo ansible-tmp-1598005943.8417585-51079108721198="` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005943.8417585-51079108721198 `" ) && sleep 0' Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/basic.py Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils/raw Using module_utils file ansible_collections Using module_utils file ansible_collections/community Using module_utils file ansible_collections/community/kubernetes Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils Using module_utils file ansible_collections/community/kubernetes/plugins Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/_text.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/process.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/file.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/six/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/sys_info.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/pycompat24.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_collections_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/parameters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/converters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/validation.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/convert_bool.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/formatters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_json_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/_distro.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/collections.py Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils/common Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/dict_transformations.py Using module file /opt/ansible/.ansible/collections/ansible_collections/community/kubernetes/plugins/modules/k8s.py PUT /opt/ansible/.ansible/tmp/ansible-local-27xddcyvgb/tmpagwqii39 TO /opt/ansible/.ansible/tmp/ansible-tmp-1598005943.8417585-51079108721198/AnsiballZ_k8s.py EXEC /bin/sh -c 'chmod u+x /opt/ansible/.ansible/tmp/ansible-tmp-1598005943.8417585-51079108721198/ /opt/ansible/.ansible/tmp/ansible-tmp-1598005943.8417585-51079108721198/AnsiballZ_k8s.py && sleep 0' EXEC /bin/sh -c '/usr/bin/python3.6 /opt/ansible/.ansible/tmp/ansible-tmp-1598005943.8417585-51079108721198/AnsiballZ_k8s.py && sleep 0' EXEC /bin/sh -c 'rm -f -r /opt/ansible/.ansible/tmp/ansible-tmp-1598005943.8417585-51079108721198/ > /dev/null 2>&1 && sleep 0' ine", "name": "memcached", "ports": [ { "containerPort": 11211 } ] } ] } } } }, "src": null, "state": "present", "username": null, "validate": null, "validate_certs": null, "wait": false, "wait_condition": null, "wait_sleep": 5, "wait_timeout": 120 } }, "method": "create", "result": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "creationTimestamp": "2020-08-21T10:32:25Z", "generation": 1, "managedFields": [ { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:ownerReferences": { ".": {}, "k:{\"uid\":\"877c9968-ffcb-4b6e-9563-128de78b7e64\"}": { ".": {}, "f:apiVersion": {}, "f:kind": {}, "f:name": {}, "f:uid": {} } } }, "f:spec": { "f:progressDeadlineSeconds": {}, "f:replicas": {}, "f:revisionHistoryLimit": {}, "f:selector": { "f:matchLabels": { ".": {}, "f:app": {} } }, "f:strategy": { "f:rollingUpdate": { ".": {}, "f:maxSurge": {}, "f:maxUnavailable": {} }, "f:type": {} }, "f:template": { "f:metadata": { "f:labels": { ".": {}, "f:app": {} } }, "f:spec": { "f:containers": { "k:{\"name\":\"memcached\"}": { ".": {}, "f:command": {}, "f:image": {}, "f:imagePullPolicy": {}, "f:name": {}, "f:ports": { ".": {}, "k:{\"containerPort\":11211,\"protocol\":\"TCP\"}": { ".": {}, "f:containerPort": {}, "f:protocol": {} } }, "f:resources": {}, "f:terminationMessagePath": {}, "f:terminationMessagePolicy": {} } }, "f:dnsPolicy": {}, "f:restartPolicy": {}, "f:schedulerName": {}, "f:securityContext": {}, "f:terminationGracePeriodSeconds": {} } } } }, "manager": "Swagger-Codegen", "operation": "Update", "time": "2020-08-21T10:32:25Z" } ], "name": "example-memcached-memcached", "namespace": "memcached", "ownerReferences": [ { "apiVersion": "cache.example.com/v1alpha1", "kind": "Memcached", "name": "example-memcached", "uid": "877c9968-ffcb-4b6e-9563-128de78b7e64" } ], "resourceVersion": "3938", "selfLink": "/apis/apps/v1/namespaces/memcached/deployments/example-memcached-memcached", "uid": "955083c7-8455-4c97-b01b-be7c54bf6f72" }, "spec": { "progressDeadlineSeconds": 600, "replicas": 3, "revisionHistoryLimit": 10, "selector": { "matchLabels": { "app": "memcached" } }, "strategy": { "rollingUpdate": { "maxSurge": "25%", "maxUnavailable": "25%" }, "type": "RollingUpdate" }, "template": { "metadata": { changed: [localhost] => { "changed": true, "invocation": { "module_args": { "api_key": null, "api_version": "v1", "append_hash": false, "apply": false, "ca_cert": null, "client_cert": null, "client_key": null, "context": null, "force": false, "host": null, "kind": null, "kubeconfig": null, "merge_type": null, "name": null, "namespace": null, "password": null, "persist_config": null, "proxy": null, "resource_definition": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": "example-memcached-memcached", "namespace": "memcached" }, "spec": { "replicas": 3, "selector": { "matchLabels": { "app": "memcached" } }, "template": { "metadata": { "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "name": "memcached", "ports": [ { "containerPort": 11211 } ] } ] } } } }, "src": null, "state": "present", "username": null, "validate": null, "validate_certs": null, "wait": false, "wait_condition": null, "wait_sleep": 5, "wait_timeout": 120 } }, "method": "create", "result": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "creationTimestamp": "2020-08-21T10:32:25Z", "generation": 1, "managedFields": [ { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:ownerReferences": { ".": {}, "k:{\"uid\":\"877c9968-ffcb-4b6e-9563-128de78b7e64\"}": { ".": {}, "f:apiVersion": {}, "f:kind": {}, "f:name": {}, "f:uid": {} } } }, "f:spec": { "f:progressDeadlineSeconds": {}, "f:replicas": {}, "f:revisionHistoryLimit": {}, "f:selector": { "f:matchLabels": { ".": {}, "f:app": {} } }, "f:strategy": { "f:rollingUpdate": { ".": {}, "f:maxSurge": {}, "f:maxUnavailable": {} }, "f:type": {} }, "f:template": { "f:metadata": { "f:labels": { ".": {}, "f:app": {} } }, "f:spec": { "f:containers": { "k:{\"name\":\"memcached\"}": { ".": {}, "f:command": {}, "f:image": {}, "f:imagePullPolicy": {}, "f:name": {}, "f:ports": { ".": {}, "k:{\"containerPort\":11211,\"protocol\":\"TCP\"}": { ".": {}, "f:containerPort": {}, "f:protocol": {} } }, "f:resources": {}, "f:terminationMessagePath": {}, "f:terminationMessagePolicy": {} } }, "f:dnsPolicy": {}, "f:restartPolicy": {}, "f:schedulerName": {}, "f:securityContext": {}, "f:terminationGracePeriodSeconds": {} } } } }, "manager": "Swagger-Codegen", "operation": "Update", "time": "2020-08-21T10:32:25Z" } ], "name": "example-memcached-memcached", "namespace": "memcached", "ownerReferences": [ { "apiVersion": "cache.example.com/v1alpha1", "kind": "Memcached", "name": "example-memcached", "uid": "877c9968-ffcb-4b6e-9563-128de78b7e64" } ], "resourceVersion": "3938", "selfLink": "/apis/apps/v1/namespaces/memcached/deployments/example-memcached-memcached", "uid": "955083c7-8455-4c97-b01b-be7c54bf6f72" }, "spec": { "progressDeadlineSeconds": 600, "replicas": 3, "revisionHistoryLimit": 10, "selector": { "matchLabels": { "app": "memcached" } }, "strategy": { "rollingUpdate": { "maxSurge": "25%", "maxUnavailable": "25%" }, "type": "RollingUpdate" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "imagePullPolicy": "IfNotPresent", "name": "memcached", "ports": [ { "containerPort": 11211, "protocol": "TCP" } ], "resources": {}, "terminationMessagePath": "/dev/termination-log", "terminationMessagePolicy": "File" } ], "dnsPolicy": "ClusterFirst", "restartPolicy": "Always", "schedulerName": "default-scheduler", "securityContext": {}, "terminationGracePeriodSeconds": 30 } } }, "status": {} } } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ------------------------------------------------------------------------------- {"level":"info","ts":1598005948.5015373,"logger":"logging_event_handler","msg":"[playbook task]","name":"example-memcached","namespace":"memcached","gvk":"cache.example.com/v1alpha1, Kind=Memcached","event_type":"playbook_on_task_start","job":"605394647632969758","EventData.Name":"Gathering Facts"} --------------------------- Ansible Task StdOut ------------------------------- TASK [Gathering Facts] ********************************************************* ------------------------------------------------------------------------------- {"level":"info","ts":1598005950.054046,"logger":"logging_event_handler","msg":"[playbook task]","name":"example-memcached","namespace":"memcached","gvk":"cache.example.com/v1alpha1, Kind=Memcached","event_type":"playbook_on_task_start","job":"605394647632969758","EventData.Name":"Memcached : start memcached"} --------------------------- Ansible Task StdOut ------------------------------- TASK [Memcached : start memcached] ********************************************* task path: /opt/ansible/roles/Memcached/tasks/main.yml:3 ------------------------------------------------------------------------------- {"level":"info","ts":1598005951.5036285,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/version","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005951.507084,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/version/openshift","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005951.5107613,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/apis","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005951.5170066,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/apis/apps/v1","Verb":"get","APIPrefix":"apis","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005951.524035,"logger":"proxy","msg":"Read object from cache","resource":{"IsResourceRequest":true,"Path":"/apis/apps/v1/namespaces/memcached/deployments/example-memcached-memcached","Verb":"get","APIPrefix":"apis","APIGroup":"apps","APIVersion":"v1","Namespace":"memcached","Resource":"deployments","Subresource":"","Name":"example-memcached-memcached","Parts":["deployments","example-memcached-memcached"]}} --------------------------- Ansible Task Status Event StdOut ----------------- PLAY RECAP ********************************************************************* localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 {"level":"info","ts":1598005951.8626342,"logger":"runner","msg":"Ansible-runner exited successfully","job":"605394647632969758","name":"example-memcached","namespace":"memcached"} ------------------------------------------------------------------------------- --------------------------- Ansible Debug Result ----------------------------- ansible-playbook 2.9.6 config file = /etc/ansible/ansible.cfg configured module search path = ['/usr/share/ansible/openshift'] ansible python module location = /usr/local/lib/python3.6/site-packages/ansible executable location = /usr/local/bin/ansible-playbook python version = 3.6.8 (default, Oct 11 2019, 15:04:54) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] Using /etc/ansible/ansible.cfg as config file setting up inventory plugins host_list declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method script declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method auto declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method Set default localhost to localhost Parsed /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts inventory source with ini plugin Loading callback plugin awx_display of type stdout, v2.0 from /usr/local/lib/python3.6/site-packages/ansible_runner/callbacks/awx_display.py PLAYBOOK: 97d20e8aa99b4f28b766faee9547ea8d ************************************* Positional arguments: /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/project/97d20e8aa99b4f28b766faee9547ea8d verbosity: 6 connection: smart timeout: 10 become_method: sudo tags: ('all',) inventory: ('/tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory',) extra_vars: ('@/tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/env/extravars',) forks: 5 1 plays in /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/project/97d20e8aa99b4f28b766faee9547ea8d PLAY [localhost] *************************************************************** TASK [Gathering Facts] ********************************************************* ESTABLISH LOCAL CONNECTION FOR USER: ansible-operator EXEC /bin/sh -c 'echo ~ansible-operator && sleep 0' EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005948.518944-167563295001693 `" && echo ansible-tmp-1598005948.518944-167563295001693="` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005948.518944-167563295001693 `" ) && sleep 0' Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/default_collectors.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/basic.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/namespace.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/ansible_collector.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/ohai.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/platform.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/distribution.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/python.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/nvme.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/fips.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/darwin.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/ssh_pub_keys.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/hurd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/env.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/dns.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/hurd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/selinux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/apparmor.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/pkg_mgr.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/darwin.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/service_mgr.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/chroot.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/user.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/facter.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/aix.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/local.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/aix.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/lsb.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/date_time.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/fc_wwn.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/caps.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/cmdline.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/iscsi.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/collector.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/timeout.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/sys_info.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/_distro.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/generic_bsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/six/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/formatters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/sysctl.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/sysctl.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/process.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/file.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/_text.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_collections_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/validation.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_json_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/parameters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/convert_bool.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/converters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/pycompat24.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/collections.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/compat.py Using module file /usr/local/lib/python3.6/site-packages/ansible/modules/system/setup.py PUT /opt/ansible/.ansible/tmp/ansible-local-87a_isub72/tmp4q6p3jy5 TO /opt/ansible/.ansible/tmp/ansible-tmp-1598005948.518944-167563295001693/AnsiballZ_setup.py EXEC /bin/sh -c 'chmod u+x /opt/ansible/.ansible/tmp/ansible-tmp-1598005948.518944-167563295001693/ /opt/ansible/.ansible/tmp/ansible-tmp-1598005948.518944-167563295001693/AnsiballZ_setup.py && sleep 0' EXEC /bin/sh -c '/usr/bin/python3.6 /opt/ansible/.ansible/tmp/ansible-tmp-1598005948.518944-167563295001693/AnsiballZ_setup.py && sleep 0' EXEC /bin/sh -c 'rm -f -r /opt/ansible/.ansible/tmp/ansible-tmp-1598005948.518944-167563295001693/ > /dev/null 2>&1 && sleep 0' ok: [localhost] META: ran handlers TASK [Memcached : start memcached] ********************************************* task path: /opt/ansible/roles/Memcached/tasks/main.yml:3 ESTABLISH LOCAL CONNECTION FOR USER: ansible-operator EXEC /bin/sh -c 'echo ~ansible-operator && sleep 0' EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005950.293629-182471203127385 `" && echo ansible-tmp-1598005950.293629-182471203127385="` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005950.293629-182471203127385 `" ) && sleep 0' Using module_utils file ansible_collections/community/kubernetes Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/basic.py Using module_utils file ansible_collections/community/kubernetes/plugins Using module_utils file ansible_collections Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils/raw Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils Using module_utils file ansible_collections/community Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/sys_info.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_collections_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/validation.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/six/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_json_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/formatters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/parameters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/convert_bool.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/_text.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/converters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/file.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/pycompat24.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/process.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/_distro.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/collections.py Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils/common Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/dict_transformations.py Using module file /opt/ansible/.ansible/collections/ansible_collections/community/kubernetes/plugins/modules/k8s.py PUT /opt/ansible/.ansible/tmp/ansible-local-87a_isub72/tmpc5moeezh TO /opt/ansible/.ansible/tmp/ansible-tmp-1598005950.293629-182471203127385/AnsiballZ_k8s.py EXEC /bin/sh -c 'chmod u+x /opt/ansible/.ansible/tmp/ansible-tmp-1598005950.293629-182471203127385/ /opt/ansible/.ansible/tmp/ansible-tmp-1598005950.293629-182471203127385/AnsiballZ_k8s.py && sleep 0' EXEC /bin/sh -c '/usr/bin/python3.6 /opt/ansible/.ansible/tmp/ansible-tmp-1598005950.293629-182471203127385/AnsiballZ_k8s.py && sleep 0' EXEC /bin/sh -c 'rm -f -r /opt/ansible/.ansible/tmp/ansible-tmp-1598005950.293629-182471203127385/ > /dev/null 2>&1 && sleep 0' ed:1.4.36-alpine", "name": "memcached", "ports": [ { "containerPort": 11211 } ] } ] } } } }, "src": null, "state": "present", "username": null, "validate": null, "validate_certs": null, "wait": false, "wait_condition": null, "wait_sleep": 5, "wait_timeout": 120 } }, "method": "patch", "result": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "annotations": { "deployment.kubernetes.io/revision": "1" }, "creationTimestamp": "2020-08-21T10:32:25Z", "generation": 1, "managedFields": [ { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:ownerReferences": { ".": {}, "k:{\"uid\":\"877c9968-ffcb-4b6e-9563-128de78b7e64\"}": { ".": {}, "f:apiVersion": {}, "f:kind": {}, "f:name": {}, "f:uid": {} } } }, "f:spec": { "f:progressDeadlineSeconds": {}, "f:replicas": {}, "f:revisionHistoryLimit": {}, "f:selector": { "f:matchLabels": { ".": {}, "f:app": {} } }, "f:strategy": { "f:rollingUpdate": { ".": {}, "f:maxSurge": {}, "f:maxUnavailable": {} }, "f:type": {} }, "f:template": { "f:metadata": { "f:labels": { ".": {}, "f:app": {} } }, "f:spec": { "f:containers": { "k:{\"name\":\"memcached\"}": { ".": {}, "f:command": {}, "f:image": {}, "f:imagePullPolicy": {}, "f:name": {}, "f:ports": { ".": {}, "k:{\"containerPort\":11211,\"protocol\":\"TCP\"}": { ".": {}, "f:containerPort": {}, "f:protocol": {} } }, "f:resources": {}, "f:terminationMessagePath": {}, "f:terminationMessagePolicy": {} } }, "f:dnsPolicy": {}, "f:restartPolicy": {}, "f:schedulerName": {}, "f:securityContext": {}, "f:terminationGracePeriodSeconds": {} } } } }, "manager": "Swagger-Codegen", "operation": "Update", "time": "2020-08-21T10:32:25Z" }, { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:annotations": { ".": {}, "f:deployment.kubernetes.io/revision": {} } }, "f:status": { "f:availableReplicas": {}, "f:conditions": { ".": {}, "k:{\"type\":\"Available\"}": { ".": {}, "f:lastTransitionTime": {}, "f:lastUpdateTime": {}, "f:message": {}, "f:reason": {}, "f:status": {}, "f:type": {} }, "k:{\"type\":\"Progressing\"}": { ".": {}, "f:lastTransitionTime": {}, "f:lastUpdateTime": {}, "f:message": {}, "f:reason": {}, "f:status": {}, "f:type": {} } }, "f:observedGeneration": {}, "f:readyReplicas": {}, "f:replicas": {}, "f:updatedReplicas": {} } }, "manager": "kube-controller-manager", "operation": "Update", "time": "2020-08-21T10:32:31Z" } ], "name": "example-memcached-memcached", "namespace": "memcached", "ownerReferences": [ { "apiVersion": "cache.example.com/v1alpha1", "kind": "Memcached", "name": "example-memcached", "uid": "877c9968-ffcb-4b6e-9563-128de78b7e64" } ], "resourceVersion": "3998", "selfLink": "/apis/apps/v1/namespaces/memcached/deployments/example-memcached-memcached", "uid": "955083c7-8455-4c97-b01b-be7c54bf6f72" }, "spec": { "progressDeadlineSeconds": 600, "replicas": 3, "revisionHistoryLimit": 10, "selector": { "matchLabels": { "app": "memcached" } }, "strategy": { "rollingUpdate": { "maxSurge": "25%", "maxUnavailable": "25%" }, "type": "RollingUpdate" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "imagePullPolicy": "IfNotPresent", "name": "memcached", "ports": [ { "containerPort": 11211, "protocol": "TCP" } ], "resources": {}, "terminationMessagePath": "/dev/termination-log", "terminationMessagePolicy": "File" } ], "dnsPolicy": "ClusterFirst", "restartPolicy": "Always", "schedulerName": "default-scheduler", "securityContext": {}, "terminationGracePeriodSeconds": 30 } } }, "status": { "availableReplicas": 3, "conditions": [ { "lastTransitionTime": "2020-08-21T10:32:31Z", "lastUpdateTime": "2020-08-21T10:32:31Z", "message": "Deployment has minimum availability.", "reason": "Miok: [localhost] => { "changed": false, "diff": {}, "invocation": { "module_args": { "api_key": null, "api_version": "v1", "append_hash": false, "apply": false, "ca_cert": null, "client_cert": null, "client_key": null, "context": null, "force": false, "host": null, "kind": null, "kubeconfig": null, "merge_type": null, "name": null, "namespace": null, "password": null, "persist_config": null, "proxy": null, "resource_definition": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": "example-memcached-memcached", "namespace": "memcached" }, "spec": { "replicas": 3, "selector": { "matchLabels": { "app": "memcached" } }, "template": { "metadata": { "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "name": "memcached", "ports": [ { "containerPort": 11211 } ] } ] } } } }, "src": null, "state": "present", "username": null, "validate": null, "validate_certs": null, "wait": false, "wait_condition": null, "wait_sleep": 5, "wait_timeout": 120 } }, "method": "patch", "result": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "annotations": { "deployment.kubernetes.io/revision": "1" }, "creationTimestamp": "2020-08-21T10:32:25Z", "generation": 1, "managedFields": [ { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:ownerReferences": { ".": {}, "k:{\"uid\":\"877c9968-ffcb-4b6e-9563-128de78b7e64\"}": { ".": {}, "f:apiVersion": {}, "f:kind": {}, "f:name": {}, "f:uid": {} } } }, "f:spec": { "f:progressDeadlineSeconds": {}, "f:replicas": {}, "f:revisionHistoryLimit": {}, "f:selector": { "f:matchLabels": { ".": {}, "f:app": {} } }, "f:strategy": { "f:rollingUpdate": { ".": {}, "f:maxSurge": {}, "f:maxUnavailable": {} }, "f:type": {} }, "f:template": { "f:metadata": { "f:labels": { ".": {}, "f:app": {} } }, "f:spec": { "f:containers": { "k:{\"name\":\"memcached\"}": { ".": {}, "f:command": {}, "f:image": {}, "f:imagePullPolicy": {}, "f:name": {}, "f:ports": { ".": {}, "k:{\"containerPort\":11211,\"protocol\":\"TCP\"}": { ".": {}, "f:containerPort": {}, "f:protocol": {} } }, "f:resources": {}, "f:terminationMessagePath": {}, "f:terminationMessagePolicy": {} } }, "f:dnsPolicy": {}, "f:restartPolicy": {}, "f:schedulerName": {}, "f:securityContext": {}, "f:terminationGracePeriodSeconds": {} } } } }, "manager": "Swagger-Codegen", "operation": "Update", "time": "2020-08-21T10:32:25Z" }, { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:annotations": { ".": {}, "f:deployment.kubernetes.io/revision": {} } }, "f:status": { "f:availableReplicas": {}, "f:conditions": { ".": {}, "k:{\"type\":\"Available\"}": { ".": {}, "f:lastTransitionTime": {}, "f:lastUpdateTime": {}, "f:message": {}, "f:reason": {}, "f:status": {}, "f:type": {} }, "k:{\"type\":\"Progressing\"}": { ".": {}, "f:lastTransitionTime": {}, "f:lastUpdateTime": {}, "f:message": {}, "f:reason": {}, "f:status": {}, "f:type": {} } }, "f:observedGeneration": {}, "f:readyReplicas": {}, "f:replicas": {}, "f:updatedReplicas": {} } }, "manager": "kube-controller-manager", "operation": "Update", "time": "2020-08-21T10:32:31Z" } ], "name": "example-memcached-memcached", "namespace": "memcached", "ownerReferences": [ { "apiVersion": "cache.example.com/v1alpha1", "kind": "Memcached", "name": "example-memcached", "uid": "877c9968-ffcb-4b6e-9563-128de78b7e64" } ], "resourceVersion": "3998", "selfLink": "/apis/apps/v1/namespaces/memcached/deployments/example-memcached-memcached", "uid": "955083c7-8455-4c97-b01b-be7c54bf6f72" }, "spec": { "progressDeadlineSeconds": 600, "replicas": 3, "revisionHistoryLimit": 10, "selector": { "matchLabels": { "app": "memcached" } }, "strategy": { "rollingUpdate": { "maxSurge": "25%", "maxUnavailable": "25%" }, "type": "RollingUpdate" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "imagePullPolicy": "IfNotPresent", "name": "memcached", "ports": [ { "containerPort": 11211, "protocol": "TCP" } ], "resources": {}, "terminationMessagePath": "/dev/termination-log", "terminationMessagePolicy": "File" } ], "dnsPolicy": "ClusterFirst", "restartPolicy": "Always", "schedulerName": "default-scheduler", "securityContext": {}, "terminationGracePeriodSeconds": 30 } } }, "status": { "availableReplicas": 3, "conditions": [ { "lastTransitionTime": "2020-08-21T10:32:31Z", "lastUpdateTime": "2020-08-21T10:32:31Z", "message": "Deployment has minimum availability.", "reason": "MinimumReplicasAvailable", "status": "True", "type": "Available" }, { "lastTransitionTime": "2020-08-21T10:32:25Z", "lastUpdateTime": "2020-08-21T10:32:31Z", "message": "ReplicaSet \"example-memcached-memcached-6456bdd5fc\" has successfully progressed.", "reason": "NewReplicaSetAvailable", "status": "True", "type": "Progressing" } ], "observedGeneration": 1, "readyReplicas": 3, "replicas": 3, "updatedReplicas": 3 } } } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ------------------------------------------------------------------------------- {"level":"info","ts":1598005955.7895246,"logger":"logging_event_handler","msg":"[playbook task]","name":"example-memcached","namespace":"memcached","gvk":"cache.example.com/v1alpha1, Kind=Memcached","event_type":"playbook_on_task_start","job":"1443635317331776148","EventData.Name":"Gathering Facts"} --------------------------- Ansible Task StdOut ------------------------------- TASK [Gathering Facts] ********************************************************* ------------------------------------------------------------------------------- {"level":"info","ts":1598005957.4421735,"logger":"logging_event_handler","msg":"[playbook task]","name":"example-memcached","namespace":"memcached","gvk":"cache.example.com/v1alpha1, Kind=Memcached","event_type":"playbook_on_task_start","job":"1443635317331776148","EventData.Name":"Memcached : start memcached"} --------------------------- Ansible Task StdOut ------------------------------- TASK [Memcached : start memcached] ********************************************* task path: /opt/ansible/roles/Memcached/tasks/main.yml:3 ------------------------------------------------------------------------------- {"level":"info","ts":1598005958.9705672,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/version","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005958.9763315,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/version/openshift","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005958.9809823,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/apis","Verb":"get","APIPrefix":"","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005958.9967864,"logger":"proxy","msg":"Skipping cache lookup","resource":{"IsResourceRequest":false,"Path":"/apis/apps/v1","Verb":"get","APIPrefix":"apis","APIGroup":"","APIVersion":"","Namespace":"","Resource":"","Subresource":"","Name":"","Parts":null}} {"level":"info","ts":1598005959.005279,"logger":"proxy","msg":"Read object from cache","resource":{"IsResourceRequest":true,"Path":"/apis/apps/v1/namespaces/memcached/deployments/example-memcached-memcached","Verb":"get","APIPrefix":"apis","APIGroup":"apps","APIVersion":"v1","Namespace":"memcached","Resource":"deployments","Subresource":"","Name":"example-memcached-memcached","Parts":["deployments","example-memcached-memcached"]}} {"level":"info","ts":1598005959.371089,"logger":"runner","msg":"Ansible-runner exited successfully","job":"1443635317331776148","name":"example-memcached","namespace":"memcached"} --------------------------- Ansible Task Status Event StdOut ----------------- PLAY RECAP ********************************************************************* localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ------------------------------------------------------------------------------- --------------------------- Ansible Debug Result ----------------------------- ansible-playbook 2.9.6 config file = /etc/ansible/ansible.cfg configured module search path = ['/usr/share/ansible/openshift'] ansible python module location = /usr/local/lib/python3.6/site-packages/ansible executable location = /usr/local/bin/ansible-playbook python version = 3.6.8 (default, Oct 11 2019, 15:04:54) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] Using /etc/ansible/ansible.cfg as config file setting up inventory plugins host_list declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method script declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method auto declined parsing /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts as it did not pass its verify_file() method Set default localhost to localhost Parsed /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory/hosts inventory source with ini plugin Loading callback plugin awx_display of type stdout, v2.0 from /usr/local/lib/python3.6/site-packages/ansible_runner/callbacks/awx_display.py verbosity: 6 connection: smart timeout: 10 become_method: sudo tags: ('all',) inventory: ('/tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory',) extra_vars: ('@/tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/env/extravars',) forks: 5 PLAYBOOK: 752acca8aad14b13bd923fc29b060594 ************************************* Positional arguments: /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/project/752acca8aad14b13bd923fc29b060594 verbosity: 6 connection: smart timeout: 10 become_method: sudo tags: ('all',) inventory: ('/tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/inventory',) extra_vars: ('@/tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/env/extravars',) forks: 5 1 plays in /tmp/ansible-operator/runner/cache.example.com/v1alpha1/Memcached/memcached/example-memcached/project/752acca8aad14b13bd923fc29b060594 PLAY [localhost] *************************************************************** TASK [Gathering Facts] ********************************************************* ESTABLISH LOCAL CONNECTION FOR USER: ansible-operator EXEC /bin/sh -c 'echo ~ansible-operator && sleep 0' EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005955.8076253-84576197036520 `" && echo ansible-tmp-1598005955.8076253-84576197036520="` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005955.8076253-84576197036520 `" ) && sleep 0' Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/basic.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/ansible_collector.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/namespace.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/default_collectors.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/convert_bool.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/file.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/converters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/_text.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/formatters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/pycompat24.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/validation.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_collections_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/sys_info.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/parameters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_json_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/process.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/six/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/collections.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/_distro.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/collector.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/timeout.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/ssh_pub_keys.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/hurd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/ohai.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/freebsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/date_time.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/chroot.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/openbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/hurd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/darwin.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/python.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/local.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/user.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/hpux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/env.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/fips.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/platform.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/sunos.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/caps.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/apparmor.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/nvme.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/other/facter.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/selinux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/fc_wwn.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/aix.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/iscsi.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/netbsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/lsb.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/service_mgr.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/aix.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/dragonfly.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/pkg_mgr.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/cmdline.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/darwin.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/hardware/base.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/linux.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/distribution.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/system/dns.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/network/generic_bsd.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/virtual/sysctl.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/facts/sysctl.py Using module file /usr/local/lib/python3.6/site-packages/ansible/modules/system/setup.py PUT /opt/ansible/.ansible/tmp/ansible-local-145soaflz23/tmp57om21oa TO /opt/ansible/.ansible/tmp/ansible-tmp-1598005955.8076253-84576197036520/AnsiballZ_setup.py EXEC /bin/sh -c 'chmod u+x /opt/ansible/.ansible/tmp/ansible-tmp-1598005955.8076253-84576197036520/ /opt/ansible/.ansible/tmp/ansible-tmp-1598005955.8076253-84576197036520/AnsiballZ_setup.py && sleep 0' EXEC /bin/sh -c '/usr/bin/python3.6 /opt/ansible/.ansible/tmp/ansible-tmp-1598005955.8076253-84576197036520/AnsiballZ_setup.py && sleep 0' EXEC /bin/sh -c 'rm -f -r /opt/ansible/.ansible/tmp/ansible-tmp-1598005955.8076253-84576197036520/ > /dev/null 2>&1 && sleep 0' ok: [localhost] META: ran handlers TASK [Memcached : start memcached] ********************************************* task path: /opt/ansible/roles/Memcached/tasks/main.yml:3 ESTABLISH LOCAL CONNECTION FOR USER: ansible-operator EXEC /bin/sh -c 'echo ~ansible-operator && sleep 0' EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005957.6770012-249927145591029 `" && echo ansible-tmp-1598005957.6770012-249927145591029="` echo /opt/ansible/.ansible/tmp/ansible-tmp-1598005957.6770012-249927145591029 `" ) && sleep 0' Using module_utils file ansible_collections/community Using module_utils file ansible_collections Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/basic.py Using module_utils file ansible_collections/community/kubernetes/plugins Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils/raw Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils Using module_utils file ansible_collections/community/kubernetes Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/convert_bool.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/file.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/converters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/_text.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/formatters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/pycompat24.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/validation.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_collections_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/sys_info.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/parameters.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_utils.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/_json_compat.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/process.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/six/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/collections.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/__init__.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/_distro.py Using module_utils file /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/dict_transformations.py Using module_utils file ansible_collections/community/kubernetes/plugins/module_utils/common Using module file /opt/ansible/.ansible/collections/ansible_collections/community/kubernetes/plugins/modules/k8s.py PUT /opt/ansible/.ansible/tmp/ansible-local-145soaflz23/tmpql4v4ue2 TO /opt/ansible/.ansible/tmp/ansible-tmp-1598005957.6770012-249927145591029/AnsiballZ_k8s.py EXEC /bin/sh -c 'chmod u+x /opt/ansible/.ansible/tmp/ansible-tmp-1598005957.6770012-249927145591029/ /opt/ansible/.ansible/tmp/ansible-tmp-1598005957.6770012-249927145591029/AnsiballZ_k8s.py && sleep 0' EXEC /bin/sh -c '/usr/bin/python3.6 /opt/ansible/.ansible/tmp/ansible-tmp-1598005957.6770012-249927145591029/AnsiballZ_k8s.py && sleep 0' EXEC /bin/sh -c 'rm -f -r /opt/ansible/.ansible/tmp/ansible-tmp-1598005957.6770012-249927145591029/ > /dev/null 2>&1 && sleep 0' "client_cert": null, "client_key": null, "context": null, "force": false, "host": null, "kind": null, "kubeconfig": null, "merge_type": null, "name": null, "namespace": null, "password": null, "persist_config": null, "proxy": null, "resource_definition": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": "example-memcached-memcached", "namespace": "memcached" }, "spec": { "replicas": 3, "selector": { "matchLabels": { "app": "memcached" } }, "template": { "metadata": { "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "name": "memcached", "ports": [ { "containerPort": 11211 } ] } ] } } } }, "src": null, "state": "present", "username": null, "validate": null, "validate_certs": null, "wait": false, "wait_condition": null, "wait_sleep": 5, "wait_timeout": 120 } }, "method": "patch", "result": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "annotations": { "deployment.kubernetes.io/revision": "1" }, "creationTimestamp": "2020-08-21T10:32:25Z", "generation": 1, "managedFields": [ { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:ownerReferences": { ".": {}, "k:{\"uid\":\"877c9968-ffcb-4b6e-9563-128de78b7e64\"}": { ".": {}, "f:apiVersion": {}, "f:kind": {}, "f:name": {}, "f:uid": {} } } }, "f:spec": { "f:progressDeadlineSeconds": {}, "f:replicas": {}, "f:revisionHistoryLimit": {}, "f:selector": { "f:matchLabels": { ".": {}, "f:app": {} } }, "f:strategy": { "f:rollingUpdate": { ".": {}, "f:maxSurge": {}, "f:maxUnavailable": {} }, "f:type": {} }, "f:template": { "f:metadata": { "f:labels": { ".": {}, "f:app": {} } }, "f:spec": { "f:containers": { "k:{\"name\":\"memcached\"}": { ".": {}, "f:command": {}, "f:image": {}, "f:imagePullPolicy": {}, "f:name": {}, "f:ports": { ".": {}, "k:{\"containerPort\":11211,\"protocol\":\"TCP\"}": { ".": {}, "f:containerPort": {}, "f:protocol": {} } }, "f:resources": {}, "f:terminationMessagePath": {}, "f:terminationMessagePolicy": {} } }, "f:dnsPolicy": {}, "f:restartPolicy": {}, "f:schedulerName": {}, "f:securityContext": {}, "f:terminationGracePeriodSeconds": {} } } } }, "manager": "Swagger-Codegen", "operation": "Update", "time": "2020-08-21T10:32:25Z" }, { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:annotations": { ".": {}, "f:deployment.kubernetes.io/revision": {} } }, "f:status": { "f:availableReplicas": {}, "f:conditions": { ".": {}, "k:{\"type\":\"Available\"}": { ".": {}, "f:lastTransitionTime": {}, "f:lastUpdateTime": {}, "f:message": {}, "f:reason": {}, "f:status": {}, "f:type": {} }, "k:{\"type\":\"Progressing\"}": { ".": {}, "f:lastTransitionTime": {}, "f:lastUpdateTime": {}, "f:message": {}, "f:reason": {}, "f:status": {}, "f:type": {} } }, "f:observedGeneration": {}, "f:readyReplicas": {}, "f:replicas": {}, "f:updatedReplicas": {} } }, "manager": "kube-controller-manager", "operation": "Update", "time": "2020-08-21T10:32:31Z" } ], "name": "example-memcached-memcached", "namespace": "memcached", "ownerReferences": [ { "apiVersion": "cache.example.com/v1alpha1", "kind": "Memcached", "name": "example-memcached", "uid": "877c9968-ffcb-4b6e-9563-128de78b7e64" } ], "resourceVersion": "3998", "selfLink": "/apis/apps/v1/namespaces/memcached/deployments/example-memcached-memcached", "uid": "955083c7-8455-4c97-b01b-be7c54bf6f72" }, "spec": { "progressDeadlineSeconds": 600, "replicas": 3, "revisionHistoryLimit": 10, "selector": { "matchLabels": { "app": "memcached" } }, "strategy": { "rollingUpdate": { "maxSurge": "25%", "maxUnavailable": "25%" }, "type": "RollingUpdate" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "imagePullPolicy": "IfNotPresent", "name": "memcached", "ports": [ { "containerPort": 11211, "protocol": "TCP" } ], "resources": {}, "terminationMessagePath": "/dev/termination-log", "terminationMessagePolicy": "File" } ], "dnsPolicy": "ClusterFirst", "restartPolicy": "Always", "schedulerName": "default-scheduler", "securityContext": {}, "terminationGracePeriodSeconds": 30 } } }, "status": { "availableReplicas": 3, "conditions": [ { "lastTransitionTime": "2020-08-21T10:32:31Z", "lastUpdateTime": "2020-08-21T10:32:31Z", "message": "Deployment has minimum availability.", "reason": "MinimumReplicasAvailable", "status": "True", "type": "Available" }, { "lastTransitionTime": "2020-08-21T10:32:25Z", "lastUpdateTime": "2020-08-21T10:32:31Z", "message": "ReplicaSet \"example-memcached-memcok: [localhost] => { "changed": false, "diff": {}, "invocation": { "module_args": { "api_key": null, "api_version": "v1", "append_hash": false, "apply": false, "ca_cert": null, "client_cert": null, "client_key": null, "context": null, "force": false, "host": null, "kind": null, "kubeconfig": null, "merge_type": null, "name": null, "namespace": null, "password": null, "persist_config": null, "proxy": null, "resource_definition": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": "example-memcached-memcached", "namespace": "memcached" }, "spec": { "replicas": 3, "selector": { "matchLabels": { "app": "memcached" } }, "template": { "metadata": { "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "name": "memcached", "ports": [ { "containerPort": 11211 } ] } ] } } } }, "src": null, "state": "present", "username": null, "validate": null, "validate_certs": null, "wait": false, "wait_condition": null, "wait_sleep": 5, "wait_timeout": 120 } }, "method": "patch", "result": { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "annotations": { "deployment.kubernetes.io/revision": "1" }, "creationTimestamp": "2020-08-21T10:32:25Z", "generation": 1, "managedFields": [ { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:ownerReferences": { ".": {}, "k:{\"uid\":\"877c9968-ffcb-4b6e-9563-128de78b7e64\"}": { ".": {}, "f:apiVersion": {}, "f:kind": {}, "f:name": {}, "f:uid": {} } } }, "f:spec": { "f:progressDeadlineSeconds": {}, "f:replicas": {}, "f:revisionHistoryLimit": {}, "f:selector": { "f:matchLabels": { ".": {}, "f:app": {} } }, "f:strategy": { "f:rollingUpdate": { ".": {}, "f:maxSurge": {}, "f:maxUnavailable": {} }, "f:type": {} }, "f:template": { "f:metadata": { "f:labels": { ".": {}, "f:app": {} } }, "f:spec": { "f:containers": { "k:{\"name\":\"memcached\"}": { ".": {}, "f:command": {}, "f:image": {}, "f:imagePullPolicy": {}, "f:name": {}, "f:ports": { ".": {}, "k:{\"containerPort\":11211,\"protocol\":\"TCP\"}": { ".": {}, "f:containerPort": {}, "f:protocol": {} } }, "f:resources": {}, "f:terminationMessagePath": {}, "f:terminationMessagePolicy": {} } }, "f:dnsPolicy": {}, "f:restartPolicy": {}, "f:schedulerName": {}, "f:securityContext": {}, "f:terminationGracePeriodSeconds": {} } } } }, "manager": "Swagger-Codegen", "operation": "Update", "time": "2020-08-21T10:32:25Z" }, { "apiVersion": "apps/v1", "fieldsType": "FieldsV1", "fieldsV1": { "f:metadata": { "f:annotations": { ".": {}, "f:deployment.kubernetes.io/revision": {} } }, "f:status": { "f:availableReplicas": {}, "f:conditions": { ".": {}, "k:{\"type\":\"Available\"}": { ".": {}, "f:lastTransitionTime": {}, "f:lastUpdateTime": {}, "f:message": {}, "f:reason": {}, "f:status": {}, "f:type": {} }, "k:{\"type\":\"Progressing\"}": { ".": {}, "f:lastTransitionTime": {}, "f:lastUpdateTime": {}, "f:message": {}, "f:reason": {}, "f:status": {}, "f:type": {} } }, "f:observedGeneration": {}, "f:readyReplicas": {}, "f:replicas": {}, "f:updatedReplicas": {} } }, "manager": "kube-controller-manager", "operation": "Update", "time": "2020-08-21T10:32:31Z" } ], "name": "example-memcached-memcached", "namespace": "memcached", "ownerReferences": [ { "apiVersion": "cache.example.com/v1alpha1", "kind": "Memcached", "name": "example-memcached", "uid": "877c9968-ffcb-4b6e-9563-128de78b7e64" } ], "resourceVersion": "3998", "selfLink": "/apis/apps/v1/namespaces/memcached/deployments/example-memcached-memcached", "uid": "955083c7-8455-4c97-b01b-be7c54bf6f72" }, "spec": { "progressDeadlineSeconds": 600, "replicas": 3, "revisionHistoryLimit": 10, "selector": { "matchLabels": { "app": "memcached" } }, "strategy": { "rollingUpdate": { "maxSurge": "25%", "maxUnavailable": "25%" }, "type": "RollingUpdate" }, "template": { "metadata": { "creationTimestamp": null, "labels": { "app": "memcached" } }, "spec": { "containers": [ { "command": [ "memcached", "-m=64", "-o", "modern", "-v" ], "image": "docker.io/memcached:1.4.36-alpine", "imagePullPolicy": "IfNotPresent", "name": "memcached", "ports": [ { "containerPort": 11211, "protocol": "TCP" } ], "resources": {}, "terminationMessagePath": "/dev/termination-log", "terminationMessagePolicy": "File" } ], "dnsPolicy": "ClusterFirst", "restartPolicy": "Always", "schedulerName": "default-scheduler", "securityContext": {}, "terminationGracePeriodSeconds": 30 } } }, "status": { "availableReplicas": 3, "conditions": [ { "lastTransitionTime": "2020-08-21T10:32:31Z", "lastUpdateTime": "2020-08-21T10:32:31Z", "message": "Deployment has minimum availability.", "reason": "MinimumReplicasAvailable", "status": "True", "type": "Available" }, { "lastTransitionTime": "2020-08-21T10:32:25Z", "lastUpdateTime": "2020-08-21T10:32:31Z", "message": "ReplicaSet \"example-memcached-memcached-6456bdd5fc\" has successfully progressed.", "reason": "NewReplicaSetAvailable", "status": "True", "type": "Progressing" } ], "observedGeneration": 1, "readyReplicas": 3, "replicas": 3, "updatedReplicas": 3 } } } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ------------------------------------------------------------------------------- ```

CONCLUSION

  • ensure that your project is running succefully (use kubect get all -n namespace and kubectl get events -n namespace )
  • troboolshoting your project and ensure that no errors are faced.
  • ensure that you are using the same SDK tool version of the project Ansible Operator-based image (check the dockerfile and run operator-sdk version)

RECOMENDATIONS

It is the right time to upgrade your project to use the new layout and SDK 1.0 version. The version used by you, 0.17.0, is no longer supported. See here the migration guide.

camilamacedo86 commented 4 years ago

Also, I am closing it as sorted out see that;

How to get full Ansible log from Operator pod?

You need to add the ENV VAR in the operator.ymal and re-deploy it. See: here the example.

We could ensure and confirm that it has been working well with 0.17. See: https://github.com/operator-framework/operator-sdk/issues/3755#issuecomment-678229639

However, please feel free to raise new issues and/or your ping us if you need.