Giter VIP home page Giter VIP logo

cloudify-common's Introduction

Cloudify Common includes the following projects:

Cloudify DSL Parser

Build Status Circle CI PyPI PypI

Cloudify DSL parsing package

Reference

For details on the DSL specification see DSL Specification.

Cloudify Plugins Common

Circle CI PyPI PypI

This package contains common modules that are mandatory for Cloudify's plugins.

See ReadTheDocs for an API reference.

Cloudify REST Client

Circle CI PyPI PypI

Client for interacting with Cloudify manager REST API.

See http://cloudify-rest-client.readthedocs.org/en/latest/

Cloudify Script Plugin

Circle CI Build Status Build status PyPI PypI

This plugin allows mapping scripts to operations and workflows.

Usage

See Script Plugin

cloudify-common's People

Contributors

adamlavie avatar adigrabow avatar adrian-polanczyk-codilime avatar chenroth avatar dankilman avatar dusking avatar fogelomer avatar geokala avatar glukhman avatar idanmo avatar idob-cloudify avatar iliapolo avatar ilyash avatar inbala avatar isaac-s avatar limor-gs avatar m1keil avatar mateumann avatar mcouthon avatar mxmrlv avatar nir0s avatar nirbir avatar noakup avatar opencm avatar simon-bar avatar tehasdf avatar tyacbovi avatar yaelpeled avatar yarivgiga avatar yoniitzhak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudify-common's Issues

runtime properties dirty flag is not set when updating objects stored in runtime properties

In a python script, when updating an object being stored in runtime properties, for example:

intial script:

ctx.instance.runtime_properties['a_list'] = []
ctx.instance.runtime_properties['a_dict'] = {}

then, in execution of another script:

ctx.instance.runtime_properties['a_list'].append(1)
ctx.instance.runtime_properties['a_dict'].update({
    'key1': 'value1'
})

node instance will not be updated, and the changes made will not be saved.

If we did additionally any assignment to runtime properties:

ctx.instance.runtime_properties['a_list'].append(1)
ctx.instance.runtime_properties['a_dict'].update({
    'key1': 'value1'
})
ctx.instance.runtime_properties['a_var'] = 'some_value'

the internal "dirty" flag of runtime properties object will be set and node instance will have runtime properties updated according to changes made.

I can see the whole mechanism of detecting changes to runtime properties, being object of DirtyTrackingDict is based on setting the .dirty flag, but only in case of direct assignments or update method call.
If we do the same on objects which are nested in runtime properties, the mechanism does not work and probably it will be hard to make it working in current design.
A potential solution to it could be:

  • before executing the script, make a deepcopy of runtime properties
  • execute the script
  • compare runtime properties with the copy done intially
initial_runtime_properties = copy.deepcopy(ctx.instance.runtime_properties)
run_script(ctx, ...)
if ctx.instance.runtime_properties != initial_runtime_properties:
    ctx.instance.runtime_properties._set_changed()  # what sets .dirty=True

Has no attribute 'zmqlogginghandler'

I got bugs:
task failed 'cloudify_cloudinit.tasks.update' -> 'module' object has no attribute 'zmqlogginghandler' [retry 35/60].
Please help me to fix that.
Thanks!

Kill cancel

Hi, is there any possibility to implement "kill_cancel" in cloudify-rest-client? Or how should I handle hung/stuck force_cancel in my test automation?

Regards,
Karol

Can't be used with Python >= 3.7

Pika=="0.11.2" dependency makes it impossible to use with Python version >= 3.7. That's because pika in version used currently uses async as a properites name which is currently keyword in Python. The solution can be to upgrade pika dependency to 1.1.0 version.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.