0

I was trying getting hands on Cloudify deployments and learnt of cloudify agents lately which are required to do vm configurations. I was reviewing the following plugin : https://github.com/cloudify-cosmo/cloudify-cloudstack-plugin/blob/master/plugin.yaml and am particularly trying understand the agent installation method here.

From what I understand so far, any plugin to be used in the blueprint or .yaml files being imported, should be imported or defined. The above plugin.yaml file includes the below node :

cloudify.cloudstack.nodes.WindowsServer:
        derived_from: cloudify.cloudstack.nodes.VirtualMachine
        interfaces:
            cloudify.interfaces.worker_installer:
                install:
                    implementation: agent.windows_agent_installer.tasks.install
                    inputs: {}
                start:
                    implementation: agent.windows_agent_installer.tasks.start
                stop:
                    implementation: agent.windows_agent_installer.tasks.stop
                    inputs: {}
                uninstall:
                    implementation: agent.windows_agent_installer.tasks.uninstall
                    inputs: {}
                restart:
                    implementation: agent.windows_agent_installer.tasks.restart
                    inputs: {}
            cloudify.interfaces.plugin_installer:
                install:
                    implementation: agent.windows_plugin_installer.tasks.install
                    inputs: {}

I want to understand how the agent plugin is being used here as implementation: agent.windows_agent_installer.tasks.start if no traces of importing that plugin are there in the yaml file. Any thoughts are welcome. Thanks

Akash Gorai
  • 580
  • 1
  • 8
  • 17

1 Answers1

0

I think you are confusing the terms.

A plugin — an extension of Cloudify Orchestrator.

An agent — a service running on a VM created by Cloudify to run tasks on it. If you want to use the CloudStack plugin, you should import it at the beginning of your blueprint, as in:

imports:
  - https://github.com/cloudify-cosmo/cloudify-cloudstack-plugin/blob/master/plugin.yaml

You didn't mention the Cloudify version you are using, but if you are using the latest version (4.6) or any version > 4.2, you should upload the plugin to the manager before using it, and then import it via:

imports:
  - plugin:cloudify-cloudstack-plugin

The agent installation process could be done in several ways, you can follow the documentation here and choose the best method for you. The default method is remote and it would be done via SSH or WinRM. You can look at this example for agent installation on Windows.

Isaac
  • 16,458
  • 5
  • 57
  • 81
  • Hey Jonathan, thank you for responding. I think I would elaborate a bit so you are aware of the context of my question. If you see the plugin.yaml file, they have imported the cloudstack plugin and have used the various operations associated with it which is fine. However, the agent plugin was never imported in the plugin.yaml and yet used. How ? – Akash Gorai Jul 24 '19 at 10:20