openstackcloudify

Network issuse on scaling out deployment on Cloudify


I am using Cloudify 3.3 and OpenStack Kilo.

After I have successfully installed a blueprint, I tried to scale out the host VM (associated with a floating IP W.X.Y.Z) using the default scale workflow. My expected result is that a new VM will be created with a new floating IP, say A.B.C.D, associated to it.

However, after the scale workflow has been completed, I found that the floating IP W.X.Y.Z has been disassociated from the original host VM while this floating IP has been associated to the newly created VM.

My testing "blueprint.yaml":

tosca_definitions_version: cloudify_dsl_1_2

imports:
  - http://www.getcloudify.org/spec/cloudify/3.3/types.yaml
  - http://www.getcloudify.org/spec/openstack-plugin/1.3/plugin.yaml

inputs:
  image:
    description: Openstack image ID

  flavor:
    description: Openstack flavor ID

  agent_user:
    description: agent username for connecting to the OS
    default: centos

node_templates:
  web_server_floating_ip:
    type: cloudify.openstack.nodes.FloatingIP

  web_server_security_group:
    type: cloudify.openstack.nodes.SecurityGroup
    properties:
      rules:
        - remote_ip_prefix: 0.0.0.0/0
          port: 8080

  web_server:
    type: cloudify.openstack.nodes.Server
    properties:
      cloudify_agent:
        user: { get_input: agent_user }
      image: { get_input: image }
      flavor: { get_input: flavor }
    relationships:
      - type: cloudify.openstack.server_connected_to_floating_ip
        target: web_server_floating_ip
      - type: cloudify.openstack.server_connected_to_security_group
        target: web_server_security_group

I have tried to create a node_template with type cloudify.nodes.Tier and put all the things inside this container. However, the scale workflow cannot be executed normally in this case.

I wonder what should I do so that the newly created VM can be associated to a new floating IP?

Thanks, Sam


Solution

  • What you are describing is a "one to one" relationship between the node and the resources related to it.

    Currently Cloudify does not support this kind of relationship and your blueprint is working just as it should.

    This feature will be available as of Cloudify 3.4 that will be released in few months