Re: hook or callback for CloudStack API
I'm using vmware Some actions such as adding secondary ip doesn't trigger hypervisor hooks On Mon, Feb 25, 2019, 12:31 Dag Sonstebo Alireza - which hypervisor do you use? If you use KVM you can use libvirt > hooks - https://libvirt.org/hooks.html. > > Regards, > Dag Sonstebo > Cloud Architect > ShapeBlue > > > On 23/02/2019, 15:27, "Suresh Kumar Anaparti" < > sureshkumar.anapa...@gmail.com> wrote: > > Hi Alireza, > > Other approach I can think of is database triggers (can impact > performance > based on the jobs frequency). > > Take a look at the async_job table's insert and update operations > which are > performed on creating a new job (job status 0) and updated when job is > complete with non-zero job status (1 - success, 2 - failed, 3 - > cancelled) > respectively. > > https://dev.mysql.com/doc/refman/5.6/en/faqs-triggers.html [a trigger > could invoke the sys_exec() UDF.] > > Some ref for sys_exec UDF implementation below => > http://kedar.nitty-witty.com/blog/tag/sys_exec > > http://bernardodamele.blogspot.com/2009/01/command-execution-with-mysql-udf.html > > - Suresh > > On Sat, Feb 23, 2019 at 2:05 AM Alireza Eskandari < > astro.alir...@gmail.com> > wrote: > > > Async jobs is not my concern. > > Imagine that you have a firewall that is not integrated with CS and > you > > want to insert new roles in it each time a new VM is created. > > In this case you need a hook that triggers an external script to > configure > > the firewall. > > Pulling is time and resource consuming and its effect is not instant. > > > > On Fri, Feb 22, 2019 at 8:02 PM Anurag Awasthi < > > anurag.awas...@shapeblue.com> > > wrote: > > > > > Hi Alireza, > > > > > > Could you elaborate a more on the use case you have in mind? The > > > description you mention is very generic. > > > > > > As far as I know we need to use polling to track the status of any > async > > > job (which is another API call) and execute based on response. > That seems > > > to be foundation principle behind all async calls. Alternately, > you can > > > also use CloudMonkey ( > > > > > > https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI > > ) > > > as a framework or dig a little into code there to implement a > similar > > > solution to execute hooks. > > > > > > Regards, > > > Anurag > > > > > > On 2/22/19, 6:22 PM, "Alireza Eskandari" > > wrote: > > > > > > Hi, > > > I'm looking for a solution to implement hooks or callbacks for > > > CloudStack > > > API. > > > For example execute an script when user calls > deployVirtualMachine > > API. > > > This script could be executed right after user submit his > request or > > > after > > > the request completed successfully or failed. > > > Maybe some API management solution could help me but the > problem is > > > understanding CS asyncjobs and their status. > > > Thanks > > > > > > > > > > > > anurag.awas...@shapeblue.com > > > www.shapeblue.com > > > Amadeus House, Floral Street, London WC2E 9DPUK > > > @shapeblue > > > > > > > > > > > > > > > > > > dag.sonst...@shapeblue.com > www.shapeblue.com > Amadeus House, Floral Street, London WC2E 9DPUK > @shapeblue > > > >
Re: hook or callback for CloudStack API
Alireza - which hypervisor do you use? If you use KVM you can use libvirt hooks - https://libvirt.org/hooks.html. Regards, Dag Sonstebo Cloud Architect ShapeBlue On 23/02/2019, 15:27, "Suresh Kumar Anaparti" wrote: Hi Alireza, Other approach I can think of is database triggers (can impact performance based on the jobs frequency). Take a look at the async_job table's insert and update operations which are performed on creating a new job (job status 0) and updated when job is complete with non-zero job status (1 - success, 2 - failed, 3 - cancelled) respectively. https://dev.mysql.com/doc/refman/5.6/en/faqs-triggers.html [a trigger could invoke the sys_exec() UDF.] Some ref for sys_exec UDF implementation below => http://kedar.nitty-witty.com/blog/tag/sys_exec http://bernardodamele.blogspot.com/2009/01/command-execution-with-mysql-udf.html - Suresh On Sat, Feb 23, 2019 at 2:05 AM Alireza Eskandari wrote: > Async jobs is not my concern. > Imagine that you have a firewall that is not integrated with CS and you > want to insert new roles in it each time a new VM is created. > In this case you need a hook that triggers an external script to configure > the firewall. > Pulling is time and resource consuming and its effect is not instant. > > On Fri, Feb 22, 2019 at 8:02 PM Anurag Awasthi < > anurag.awas...@shapeblue.com> > wrote: > > > Hi Alireza, > > > > Could you elaborate a more on the use case you have in mind? The > > description you mention is very generic. > > > > As far as I know we need to use polling to track the status of any async > > job (which is another API call) and execute based on response. That seems > > to be foundation principle behind all async calls. Alternately, you can > > also use CloudMonkey ( > > > https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI > ) > > as a framework or dig a little into code there to implement a similar > > solution to execute hooks. > > > > Regards, > > Anurag > > > > On 2/22/19, 6:22 PM, "Alireza Eskandari" > wrote: > > > > Hi, > > I'm looking for a solution to implement hooks or callbacks for > > CloudStack > > API. > > For example execute an script when user calls deployVirtualMachine > API. > > This script could be executed right after user submit his request or > > after > > the request completed successfully or failed. > > Maybe some API management solution could help me but the problem is > > understanding CS asyncjobs and their status. > > Thanks > > > > > > > > anurag.awas...@shapeblue.com > > www.shapeblue.com > > Amadeus House, Floral Street, London WC2E 9DPUK > > @shapeblue > > > > > > > > > dag.sonst...@shapeblue.com www.shapeblue.com Amadeus House, Floral Street, London WC2E 9DPUK @shapeblue
Re: hook or callback for CloudStack API
Hi Alireza, Other approach I can think of is database triggers (can impact performance based on the jobs frequency). Take a look at the async_job table's insert and update operations which are performed on creating a new job (job status 0) and updated when job is complete with non-zero job status (1 - success, 2 - failed, 3 - cancelled) respectively. https://dev.mysql.com/doc/refman/5.6/en/faqs-triggers.html [a trigger could invoke the sys_exec() UDF.] Some ref for sys_exec UDF implementation below => http://kedar.nitty-witty.com/blog/tag/sys_exec http://bernardodamele.blogspot.com/2009/01/command-execution-with-mysql-udf.html - Suresh On Sat, Feb 23, 2019 at 2:05 AM Alireza Eskandari wrote: > Async jobs is not my concern. > Imagine that you have a firewall that is not integrated with CS and you > want to insert new roles in it each time a new VM is created. > In this case you need a hook that triggers an external script to configure > the firewall. > Pulling is time and resource consuming and its effect is not instant. > > On Fri, Feb 22, 2019 at 8:02 PM Anurag Awasthi < > anurag.awas...@shapeblue.com> > wrote: > > > Hi Alireza, > > > > Could you elaborate a more on the use case you have in mind? The > > description you mention is very generic. > > > > As far as I know we need to use polling to track the status of any async > > job (which is another API call) and execute based on response. That seems > > to be foundation principle behind all async calls. Alternately, you can > > also use CloudMonkey ( > > > https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI > ) > > as a framework or dig a little into code there to implement a similar > > solution to execute hooks. > > > > Regards, > > Anurag > > > > On 2/22/19, 6:22 PM, "Alireza Eskandari" > wrote: > > > > Hi, > > I'm looking for a solution to implement hooks or callbacks for > > CloudStack > > API. > > For example execute an script when user calls deployVirtualMachine > API. > > This script could be executed right after user submit his request or > > after > > the request completed successfully or failed. > > Maybe some API management solution could help me but the problem is > > understanding CS asyncjobs and their status. > > Thanks > > > > > > > > anurag.awas...@shapeblue.com > > www.shapeblue.com > > Amadeus House, Floral Street, London WC2E 9DPUK > > @shapeblue > > > > > > > > >
Re: hook or callback for CloudStack API
Thank you Ivan! A novel solution based on existing capabilities! I'll investigate is for our needs. On Fri, Feb 22, 2019 at 4:49 PM Ivan Kudryavtsev wrote: > Hi, Alireza. Easy solution is to use Kafka or RMQ event bus, which are > supported by cloudstack. > > Take a look on the article in our blog: > > https://bitworks.software/en/2017-07-23-cloudstack-3rd-party-integration-events-subscription-kafka.html > > We use it very extensively for accounting, billing, DNS integration, etc. > > пт, 22 февр. 2019 г., 7:52 Alireza Eskandari astro.alir...@gmail.com: > > > Hi, > > I'm looking for a solution to implement hooks or callbacks for CloudStack > > API. > > For example execute an script when user calls deployVirtualMachine API. > > This script could be executed right after user submit his request or > after > > the request completed successfully or failed. > > Maybe some API management solution could help me but the problem is > > understanding CS asyncjobs and their status. > > Thanks > > >
Re: hook or callback for CloudStack API
Async jobs is not my concern. Imagine that you have a firewall that is not integrated with CS and you want to insert new roles in it each time a new VM is created. In this case you need a hook that triggers an external script to configure the firewall. Pulling is time and resource consuming and its effect is not instant. On Fri, Feb 22, 2019 at 8:02 PM Anurag Awasthi wrote: > Hi Alireza, > > Could you elaborate a more on the use case you have in mind? The > description you mention is very generic. > > As far as I know we need to use polling to track the status of any async > job (which is another API call) and execute based on response. That seems > to be foundation principle behind all async calls. Alternately, you can > also use CloudMonkey ( > https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI) > as a framework or dig a little into code there to implement a similar > solution to execute hooks. > > Regards, > Anurag > > On 2/22/19, 6:22 PM, "Alireza Eskandari" wrote: > > Hi, > I'm looking for a solution to implement hooks or callbacks for > CloudStack > API. > For example execute an script when user calls deployVirtualMachine API. > This script could be executed right after user submit his request or > after > the request completed successfully or failed. > Maybe some API management solution could help me but the problem is > understanding CS asyncjobs and their status. > Thanks > > > > anurag.awas...@shapeblue.com > www.shapeblue.com > Amadeus House, Floral Street, London WC2E 9DPUK > @shapeblue > > > >
Re: hook or callback for CloudStack API
Hi Alireza, Could you elaborate a more on the use case you have in mind? The description you mention is very generic. As far as I know we need to use polling to track the status of any async job (which is another API call) and execute based on response. That seems to be foundation principle behind all async calls. Alternately, you can also use CloudMonkey (https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI) as a framework or dig a little into code there to implement a similar solution to execute hooks. Regards, Anurag On 2/22/19, 6:22 PM, "Alireza Eskandari" wrote: Hi, I'm looking for a solution to implement hooks or callbacks for CloudStack API. For example execute an script when user calls deployVirtualMachine API. This script could be executed right after user submit his request or after the request completed successfully or failed. Maybe some API management solution could help me but the problem is understanding CS asyncjobs and their status. Thanks anurag.awas...@shapeblue.com www.shapeblue.com Amadeus House, Floral Street, London WC2E 9DPUK @shapeblue
Re: hook or callback for CloudStack API
Hi, Alireza. Easy solution is to use Kafka or RMQ event bus, which are supported by cloudstack. Take a look on the article in our blog: https://bitworks.software/en/2017-07-23-cloudstack-3rd-party-integration-events-subscription-kafka.html We use it very extensively for accounting, billing, DNS integration, etc. пт, 22 февр. 2019 г., 7:52 Alireza Eskandari astro.alir...@gmail.com: > Hi, > I'm looking for a solution to implement hooks or callbacks for CloudStack > API. > For example execute an script when user calls deployVirtualMachine API. > This script could be executed right after user submit his request or after > the request completed successfully or failed. > Maybe some API management solution could help me but the problem is > understanding CS asyncjobs and their status. > Thanks >