DeltaCloud
  1. DeltaCloud
  2. DTACLOUD-355

Deltacloud does not handle paused instances in RHEVM

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Component/s: Native/Frontend
    • Labels:
      None
    • Environment:
      RHEVM 3.0
      Deltacloud 1.0.4

      Description

      If a RHEVM provider is shutdown, while instances are running, and is later restarted, the instances are put in a 'paused' state after start up. Executing GET -X /api/instances against a RHEVM provider with instances in a paused state errors out (with a rather long stack trace - some of whcih is copied below):

      "GET /api/instances?format=xml HTTP/1.1" 500 67601 0.0560
      E, 2012-10-30T09:48:03.537891 #6625 ERROR – : [NO HANDLED] RuntimeError: Unexpected state 'PAUSED
      EIO'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:289:in `convert_state'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:230:in `convert_instance'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:137:in `block (2 levels) in instances'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:136:in `each'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:136:in `block in instances'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/exceptions.rb:199:in `call'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/exceptions.rb:199:in `safely'
      /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:130:in `instances'
      /usr/share/deltacloud-core/lib/deltacloud/helpers/deltacloud_helper.rb:37:in `block in filter_all'
      /usr/share/ruby/benchmark.rb:280:in `measure'
      /usr/share/deltacloud-core/lib/deltacloud/helpers/deltacloud_helper.rb:37:in `filter_all'
      /usr/share/deltacloud-core/lib/deltacloud/helpers/rabbit_helper.rb:22:in `block (2 levels) in standard_index_operation'
      /usr/local/share/gems/gems/sinatra-rabbit-1.1.2/lib/sinatra/rabbit/base.rb:394:in `instance_eval'
      /usr/local/share/gems/gems/sinatra-rabbit-1.1.2/lib/sinatra/rabbit/base.rb:394:in `block in control'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1265:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:1265:in `block in compile!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `[]'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `block (3 levels) in route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:851:in `route_eval'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:835:in `block (2 levels) in route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:872:in `block in process_route'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:870:in `catch'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:870:in `process_route'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:834:in `block in route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:833:in `each'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:833:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `block in call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `block in invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `catch'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:755:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `block in call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `block in invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `catch'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:755:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/nulllogger.rb:9:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/showexceptions.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/share/deltacloud-core/lib/sinatra/rack_accept.rb:160:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/nulllogger.rb:9:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/showexceptions.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/local/share/gems/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/nulllogger.rb:9:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `block in call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `block in invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `catch'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:755:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `block in call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `block in invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `catch'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:755:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/nulllogger.rb:9:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/showexceptions.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/share/deltacloud-core/lib/sinatra/rack_accept.rb:160:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/nulllogger.rb:9:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/showexceptions.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/local/share/gems/gems/rack-accept-0.4.5/lib/rack/accept/context.rb:22:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in `call'
      /usr/local/share/gems/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/nulllogger.rb:9:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
      /usr/local/share/gems/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:99:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `block in call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `block in invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `catch'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:921:in `invoke'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:769:in `call!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:755:in `call'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:816:in `forward'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:885:in `route_missing'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:846:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:842:in `route!'
      /usr/local/share/gems/gems/sinatra-1.3.3/lib/sinatra/base.rb:936:in `dispatch!'

      ...........

        Activity

        Hide
        Michal Fojtik added a comment -

        Nice one! I assume we should treat PAUSED instances as 'STOPPED' (so 'START' action can wake them up). I don't think we want to introduce a 'paused state here'.

        Show
        Michal Fojtik added a comment - Nice one! I assume we should treat PAUSED instances as 'STOPPED' (so 'START' action can wake them up). I don't think we want to introduce a 'paused state here'.
        Hide
        Ronelle Landy added a comment -

        Treating PAUSED instances as STOPPED would work except that I don't think that you can delete a PAUSED instance. You may have to stop it first? How will deltacloud react if you execute a /stop on a STOPPED instance?

        Show
        Ronelle Landy added a comment - Treating PAUSED instances as STOPPED would work except that I don't think that you can delete a PAUSED instance. You may have to stop it first? How will deltacloud react if you execute a /stop on a STOPPED instance?
        Hide
        Michal Fojtik added a comment -

        I just tested PAUSED instance and it appears as 'STOPPED' in Deltacloud (git master). Can you retest this please?

        Show
        Michal Fojtik added a comment - I just tested PAUSED instance and it appears as 'STOPPED' in Deltacloud (git master). Can you retest this please?
        Hide
        Ronelle Landy added a comment -

        Needs more discussion ... will restest and close out this record once we settle on whether a new PAUSED state is needed.

        Show
        Ronelle Landy added a comment - Needs more discussion ... will restest and close out this record once we settle on whether a new PAUSED state is needed.
        Hide
        Michal Fojtik added a comment -

        Patch recorded to Tracker:

        http://tracker.deltacloud.org/set/232

        After discussion, we decided to not advertise 'destroy' operation when RHEV-M instance is in PAUSED state. However we will keep to advertise the 'STOPPED' state instead.

        Show
        Michal Fojtik added a comment - Patch recorded to Tracker: http://tracker.deltacloud.org/set/232 After discussion, we decided to not advertise 'destroy' operation when RHEV-M instance is in PAUSED state. However we will keep to advertise the 'STOPPED' state instead.
        Hide
        Ronelle Landy added a comment -

        The solution as discussed does work as proposed:

        curl -X GET -H 'Accept: application/xml' --user "un:pw" "http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/instances/960757ad-8909-45c7-abb9-ade50b06ebf3"

        <?xml version='1.0' encoding='utf-8' ?>
        <instance href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/instances/960757ad-8909-45c7-abb9-ade50b06ebf3' id='960757ad-8909-45c7-abb9-ade50b06ebf3'>
        <name>i-1357462206</name>
        <owner_id>admin@internal</owner_id>
        <image href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/images/b4bca2c9-76fe-44ac-9da0-66fff4659a9d' id='b4bca2c9-76fe-44ac-9da0-66fff4659a9d'></image>
        <realm href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/realms/a9347fb8-5976-11e1-a53e-5254005809b7' id='a9347fb8-5976-11e1-a53e-5254005809b7'></realm>
        <state>STOPPED</state>
        <hardware_profile href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/hardware_profiles/SERVER' id='SERVER'>
        <property kind='fixed' name='memory' unit='MB' value='10240'></property>
        <property kind='fixed' name='cpu' unit='count' value='1'></property>
        <property kind='fixed' name='storage' unit='GB' value='1'></property>
        </hardware_profile>
        <actions>
        <link href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/instances/960757ad-8909-45c7-abb9-ade50b06ebf3/start' method='post' rel='start' />
        </actions>
        <launch_time>2013-01-06T03:50:07.337-05:00</launch_time>
        <public_addresses><address type='mac'>00:1a:4a:10:78:f7</address>
        <address port='5910' type='vnc'>10.16.120.47</address></public_addresses>
        <private_addresses></private_addresses>
        <storage_volumes></storage_volumes>
        </instance>
        [rlandy@localhost /]$

        Looking at the RHEVM console however, the available actions are: run/stop/shutdown. Deltacloud only advertises "stop" as an allowable action. Considering that we are advertising the state as STOPPED, offering stop/shutdown as actions may seem incongruent. We may need to revisit this one.

        Will close the JIRA after the fixed is pushed to master.

        Show
        Ronelle Landy added a comment - The solution as discussed does work as proposed: curl -X GET -H 'Accept: application/xml' --user "un:pw" "http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/instances/960757ad-8909-45c7-abb9-ade50b06ebf3" <?xml version='1.0' encoding='utf-8' ?> <instance href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/instances/960757ad-8909-45c7-abb9-ade50b06ebf3' id='960757ad-8909-45c7-abb9-ade50b06ebf3'> <name>i-1357462206</name> <owner_id>admin@internal</owner_id> <image href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/images/b4bca2c9-76fe-44ac-9da0-66fff4659a9d' id='b4bca2c9-76fe-44ac-9da0-66fff4659a9d'></image> <realm href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/realms/a9347fb8-5976-11e1-a53e-5254005809b7' id='a9347fb8-5976-11e1-a53e-5254005809b7'></realm> <state>STOPPED</state> <hardware_profile href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/hardware_profiles/SERVER' id='SERVER'> <property kind='fixed' name='memory' unit='MB' value='10240'></property> <property kind='fixed' name='cpu' unit='count' value='1'></property> <property kind='fixed' name='storage' unit='GB' value='1'></property> </hardware_profile> <actions> <link href='http://qe-blade-13.idm.lab.bos.redhat.com:3005/api/instances/960757ad-8909-45c7-abb9-ade50b06ebf3/start' method='post' rel='start' /> </actions> <launch_time>2013-01-06T03:50:07.337-05:00</launch_time> <public_addresses><address type='mac'>00:1a:4a:10:78:f7</address> <address port='5910' type='vnc'>10.16.120.47</address></public_addresses> <private_addresses></private_addresses> <storage_volumes></storage_volumes> </instance> [rlandy@localhost /] $ Looking at the RHEVM console however, the available actions are: run/stop/shutdown. Deltacloud only advertises "stop" as an allowable action. Considering that we are advertising the state as STOPPED, offering stop/shutdown as actions may seem incongruent. We may need to revisit this one. Will close the JIRA after the fixed is pushed to master.
        Hide
        Ronelle Landy added a comment -

        Patched pushed to master

        Show
        Ronelle Landy added a comment - Patched pushed to master

          People

          • Assignee:
            Michal Fojtik
            Reporter:
            Ronelle Landy
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development