Hi Paul,

Thanks for the reply.

IMO, a disadvantage of having UP/DOWN/ADMIN DOWN values for status is that
we mix admin_state and status.
That will require us to implement non-trivial logic of state-status
transitions.
It also has to be carefully documented to avoid user confusion like in all
those bugs.

Thanks,
Eugene.


On Mon, Mar 17, 2014 at 5:38 PM, Paul Michali <p...@cisco.com> wrote:

>
>
> On Mar 17, 2014, at 8:26 AM, Eugene Nikanorov <enikano...@mirantis.com>
> wrote:
>
> Hi folks,
>
> We've been discussing a patch that fixes
> https://bugs.launchpad.net/neutron/+bug/1242351
> and came to a conclusion that what we have right now as an operational
> status ("status" attribute of the resource) may be confusing for a user.
>
>
> PCM: I'm currently working similar issues on VPN...
>
> https://bugs.launchpad.net/neutron/+bug/1291619
> https://bugs.launchpad.net/neutron/+bug/1291609
>
> And there is an existing bug that is a subset of the second one I created:
>
> https://bugs.launchpad.net/neutron/+bug/1228005
>
>
>
> This attribute is used to show deployment status and readiness of the
> configuration. For some reason we have 'ACTIVE' constant in the range of
> possible constants for 'status' attribute and that creates wrong
> expectation for users. Users think that if status is ACTIVE then
> configuration should work, but ACTIVE just means that it has been
> successfully deployed.
>
>
> PCM: For the Cisco plugin, I was working on the following (to stay within
> the confines of existing definitions)...
>
> - If service ADMIN DOWN -> service and all connections are moved to DOWN
> state.
> - If service ADMIN UP -> If one connection, then service state =
> connection state. If > 1 connection, service ACTIVE (could later check all
> conns and set service ACTIVE if at least one is ACTIVE).
> - If connection fails to create -> connection status = ERROR, and use DOWN
> for service, if only one connection.
>
>
> I've seen bugs/questions for other advanced services that expose the same
> user confusion as the bug that I've mentioned. I also saw same patches that
> try to fix that.
>
> IMO, admin_state_up (kind of confusing attribute too) and state are two
> different independent
> attributes that could have any value and in most cases should not affect
> each other, for example:
>
> 1) Configuration is UP, but not deployed, e.g. state = PENDING_CREATE
> 2) Configuration is DOWN, but deployed, state = ACTIVE
> Case #2 is clearly confusing, but that just because of the name 'ACTIVE',
> which should probably better changed to 'DEPLOYED'
>
>
> PCM: I agree that ACTIVE is misleading. I'm not sure DEPLOYED is much
> clearer for VPNaaS, but not sure of a better alternative. Having created a
> service is only part of the VPN deployment, one needs a connection created
> as well. The service just binds VPN to a router.
>
> I do think that a new status of ADMIN DOWN is a good definition of a
> service or connection that has admin_state_up=False. It indicates that the
> user does not want the connections to be on-line at this time.
>
>
>
> My proposal is the following:
> 1) admin_state_up and status are two independent attributes.
> admin_state_up turns on/off the configuration, status is for information
> only: PENDING_CREATE/DELETE, DEPLOYED, ERROR.
> I'm not sure we need INACTIVE here.
>
>
> PCM: I guess I'd like to see one status for VPN service with the
> values: PENDING CREATE/DELETE, UP, ERROR, ADMIN DOWN, DOWN. I could see the
> same thing for IPSec connections for the service.
>
> The ADMIN DOWN indicates that there is not an operational issue, but an
> administrative action holding the service down. Not sure how this maps to
> other services.
>
>
> 2) We document this behavior. We can't just rename ACTIVE to DEPLOYED
> because it's a bw-incompatible API change.
>
>
> 3) We deprecate ACTIVE constant in favor of DEPLOYED
>
>
> PCM: I like UP better that DEPLOYED, only because a created VPN service is
> not fully deployed.
>
>
>
> There is one serious consequence of the proposal above: real backends
> should support turning configurations on and off.
>
>
> PCM: Yeah, I've put a request in for the Cisco VPN device driver to
> support admin up/down from the REST API (device has the ability already,
> but not in the REST API). I'm currently maintaining some state in the
> driver as a temporary work-around to track when the connection is admin
> down - as it is deleted on the device.
>
>
> Otherwise we could only implement admin_state_up change with
> deploy/undeploy (or status attribute will not make sense for particular
> driver)
> Deploy/undeploy might be simple to implement is an overkill from
> performance stand point. Need to do wiring, communicate with backend to
> redeploy whole config, etc
>
>
> PCM: I currently have the device driver deleting the IPSec connection,
> when ADMIN DOWN, but once REST API is in place, the device will just set
> the state to down and it can easily be set ADMIN UP.
>
> This is a timely subject (thanks for bringing it up), as I'm trying to
> figure out how to deal with admin up/down with reference VPN implementation
> and need to quickly figure that out.
>
> Regards,
>
> Regards,
>
> PCM (Paul Michali)
>
> MAIL          p...@cisco.com
> IRC            pcm_  (irc.freenode.net)
> TW            @pmichali
> GPG key    4525ECC253E31A83
> Fingerprint 307A 96BB 1A4C D2C7 931D 8D2D 4525 ECC2 53E3 1A83
>
>
> Please share your feedback.
>
> Thanks,
> Eugene.
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to