0

I want to install a Docker container on Cloudify and wrote a blueprint with docker-plugin (attached at the end).

At the beginning, I finished the blueprint by learning CloudifyDocs. But when it came to installing the workflow, an error occurred with the message

'install' workflow execution failed: RuntimeError: Workflow failed: Task failed 'docker_plugin.tasks.create_container' -> Missing cloudify_agent.queue runtime information. This most likely means that the Compute node was never started successfully

I thought something went wrong in my file, so I tried to deploy and install cloudify-nodecellar-docker-example. But the IP address was not OK and I finally changed the inputs to

host_ip: 10.10.1.10 agent_user: vagrant agent_private_key_path: /home/vagrant/.ssh/id_rsa

, which is taken from a Cloudify beginner example. Unfortunately, the RuntimeError showed up again.

Now I'm at loss of which part I've missed. Any opinion is welcomed!


    tosca_definitions_version: cloudify_dsl_1_3

    imports:
      - http://www.getcloudify.org/spec/cloudify/3.4.1/types.yaml
      - http://www.getcloudify.org/spec/docker-plugin/1.3.2/plugin.yaml

    inputs:
      host_ip:
        description: >
          the ip of the host the application will be deployed on
        default: 10.10.1.10
      container_port_binding:
        description: >
          a dict of port bindings for the node container.
        default:
          6633: 6633
      agent_user:
          description: >
            User name used when SSH-ing into the started machine

      agent_private_key_path:
          description: >
            Path to a private key that resided on the management machine.
            SSH-ing into agent machines will be done with this key.

    node_templates:
      host:
        type: cloudify.nodes.Compute
        properties:
          install_agent: false
          ip: { get_input: host_ip }
          cloudify_agent:
            user: { get_input: agent_user }
            key: { get_input: agent_private_key_path }
      client:
        type: cloudify.docker.Container
        properties: 
          name: ryu
          image:
            repository: muzixing/ryu
            tags: RYU
        interfaces:
          cloudify.interfaces.lifecycle:
            create:
              implementation: docker.docker_plugin.tasks.create_container
              inputs:
                params:
                  stdin_open: true
                  tty: true
                  command: /bin/bash
            start:
              implementation: docker.docker_plugin.tasks.start
              inputs:
                params:
                  port_bindings: { get_input: container_port_binding }
        relationships:
          - type: cloudify.relationships.contained_in
            target: host

    outputs: #this part may be questionable but seems less important?
      endpoint:
        value:
          ip_address: { get_prperty: [ host , ip ]}
          port:  { get_input: container_port_binding }
      #status:
        #value: { "the container is running" }
Lootii
  • 3
  • 3

1 Answers1

0

Later on I solved this problem and moved on. And now, I'd like to share my opinions. Missing runtime information that's mainly for the lack of agent, who is responsible for receiving missions.

So input install_agent as true, and the trouble is gone.

Lootii
  • 3
  • 3