Thanks for the Review.

On Wed, May 23, 2018 at 11:36 AM, Numan Siddique <[email protected]>
wrote:

> On Wed, May 9, 2018 at 12:13 AM, aginwala <[email protected]> wrote:
>
> > using pacemaker so that controllers can be placed in different fault
> > domains.
> >
> > Signed-off-by: aginwala <[email protected]>
> >
>
> I see the below warning when applying the patch
>
> .git/rebase-apply/patch:153: new blank line at EOF.
> +
> warning: 1 line adds whitespace errors.
>
>>> Sure. Will fix.

>
> > ---
> >  ovn/utilities/ovndb-servers.ocf | 83 ++++++++++++++++++++++++++++++
> > ++---------
> >  1 file changed, 65 insertions(+), 18 deletions(-)
> >
> > diff --git a/ovn/utilities/ovndb-servers.ocf
> > b/ovn/utilities/ovndb-servers.ocf
> > index 164b6bc..1b4b6ab 100755
> > --- a/ovn/utilities/ovndb-servers.ocf
> > +++ b/ovn/utilities/ovndb-servers.ocf
> > @@ -9,6 +9,8 @@
> >  : ${SB_MASTER_PROTO_DEFAULT="tcp"}
> >  : ${MANAGE_NORTHD_DEFAULT="no"}
> >  : ${INACTIVE_PROBE_DEFAULT="5000"}
> > +: ${LISTEN_ON_MASTER_IP_ONLY_DEFAULT="yes"}
> > +: ${LISTEN_ON_SLAVE_DEFAULT="yes"}
> >
> >  CRM_MASTER="${HA_SBIN_DIR}/crm_master -l reboot"
> >  CRM_ATTR_REPL_INFO="${HA_SBIN_DIR}/crm_attribute --type crm_config
> > --name OVN_REPL_INFO -s ovn_ovsdb_master_server"
> > @@ -21,6 +23,14 @@ SB_MASTER_PROTO=${OCF_RESKEY_
> sb_master_protocol:-${SB_
> > MASTER_PROTO_DEFAULT}}
> >  MANAGE_NORTHD=${OCF_RESKEY_manage_northd:-${MANAGE_NORTHD_DEFAULT}}
> >  INACTIVE_PROBE=${OCF_RESKEY_inactive_probe_interval:-${
> > INACTIVE_PROBE_DEFAULT}}
> >
> > +# In order for pacemaker to work with LB, we can keep
> > LISTEN_ON_MASTER_IP_ONLY
> > +# to false and pass LB vip IP while creating pcs resource.
> > +LISTEN_ON_MASTER_IP_ONLY=${OCF_RESKEY_listen_on_master_
> > ip_only:-${LISTEN_ON_MASTER_IP_ONLY_DEFAULT}}
> > +
> > +# In order for pacemaker to work with LB, we can also set
> LISTEN_ON_SLAVE
> > +# to false so that slaves do not listen on 0.0.0.0.
> > +LISTEN_ON_SLAVE=${OCF_RESKEY_listen_on_slave:-${LISTEN_ON_
> SLAVE_DEFAULT}}
> >
>
>
> You need to define these parameters in the <parameters> section here -
> https://github.com/openvswitch/ovs/blob/master/
> ovn/utilities/ovndb-servers.ocf#L118
> Otherwise we will not be able to pass these options when starting the
> resource. Ideally we want to do
> "pcs resource create ovndb_servers .... listen_on_master_ip_only=no
> listen_on_slave=no

>> Thanks for the pointer. I will update that and re-test.

>
>
> +
> >  # Invalid IP address is an address that can never exist in the network,
> as
> >  # mentioned in rfc-5737. The ovsdb servers connects to this IP address
> > till
> >  # a master is promoted and the IPAddr2 resource is started.
> > @@ -157,22 +167,24 @@ ovsdb_server_notify() {
> >              ${OVN_CTL} --ovn-manage-ovsdb=no start_northd
> >          fi
> >
> > -        conn=`ovn-nbctl get NB_global . connections`
> > -        if [ "$conn" == "[]" ]
> > -        then
> > -            ovn-nbctl -- --id=@conn_uuid create Connection \
> > +        # TODO: Need to troubleshoot as to removing target is ok as
> well.
>
> +        if [ "x${LISTEN_ON_MASTER_IP_ONLY}" = xyes ]; then
> >
>
> If LB VIP is used, you don't want to set the probe interval ?

>>> I thought we can stick with common probe interval for any case. Hence,
kept it.

>
> > +            conn=`ovn-nbctl get NB_global . connections`
> > +            if [ "$conn" == "[]" ]
> > +            then
> > +                ovn-nbctl -- --id=@conn_uuid create Connection \
> >  target="p${NB_MASTER_PROTO}\:${NB_MASTER_PORT}\:${MASTER_IP}" \
> >  inactivity_probe=$INACTIVE_PROBE -- set NB_Global .
> > connections=@conn_uuid
> > -        fi
> > +            fi
> >
> > -        conn=`ovn-sbctl get SB_global . connections`
> > -        if [ "$conn" == "[]" ]
> > -        then
> > -            ovn-sbctl -- --id=@conn_uuid create Connection \
> > +            conn=`ovn-sbctl get SB_global . connections`
> > +            if [ "$conn" == "[]" ]
> > +            then
> > +                ovn-sbctl -- --id=@conn_uuid create Connection \
> >  target="p${SB_MASTER_PROTO}\:${SB_MASTER_PORT}\:${MASTER_IP}" \
> >  inactivity_probe=$INACTIVE_PROBE -- set SB_Global .
> > connections=@conn_uuid
> > +            fi
> >          fi
> > -
> >      else
> >          if [ "$MANAGE_NORTHD" = "yes" ]; then
> >              # Stop ovn-northd service. Set --ovn-manage-ovsdb=no so that
> > @@ -295,15 +307,15 @@ ovsdb_server_start() {
> >
> >      set ${OVN_CTL}
> >
> > -    set $@ --db-nb-addr=${MASTER_IP} --db-nb-port=${NB_MASTER_PORT}
> > -    set $@ --db-sb-addr=${MASTER_IP} --db-sb-port=${SB_MASTER_PORT}
> > +    # For LB vip to talk to master pool member on a specific tcp port,
> we
> > need
> > +    # to listen on 0.0.0.0.instead of master_ip
> > +    if [ "x${LISTEN_ON_MASTER_IP_ONLY}" = xno ]; then
> > +        set $@ --db-nb-port=${NB_MASTER_PORT}
> > +        set $@ --db-sb-port=${SB_MASTER_PORT}
> >
> > -    if [ "x${NB_MASTER_PROTO}" = xtcp ]; then
> > -        set $@ --db-nb-create-insecure-remote=yes
> > -    fi
> > -
> > -    if [ "x${SB_MASTER_PROTO}" = xtcp ]; then
> > -        set $@ --db-sb-create-insecure-remote=yes
> > +    else
> > +       set $@ --db-nb-addr=${MASTER_IP} --db-nb-port=${NB_MASTER_PORT}
> > +       set $@ --db-sb-addr=${MASTER_IP} --db-sb-port=${SB_MASTER_PORT}
> >      fi
> >
> >      if [ "x${present_master}" = x ]; then
> > @@ -313,15 +325,44 @@ ovsdb_server_start() {
> >          # Force all copies to come up as slaves by pointing them into
> >          # space and let pacemaker pick one to promote:
> >          #
> > +        if [ "x${NB_MASTER_PROTO}" = xtcp ]; then
> > +            set $@ --db-nb-create-insecure-remote=yes
> > +        fi
> > +
> > +        if [ "x${SB_MASTER_PROTO}" = xtcp ]; then
> > +            set $@ --db-sb-create-insecure-remote=yes
> > +        fi
> >          set $@ --db-nb-sync-from-addr=${INVALID_IP_ADDRESS}
> > --db-sb-sync-from-addr=${INVALID_IP_ADDRESS}
> >
> >      elif [ ${present_master} != ${host_name} ]; then
> > +        if [ "x${LISTEN_ON_SLAVE}" = xno ]; then
> > +            # TODO: for using LB vip, need to test for ssl.
> > +            set $@ --db-nb-create-insecure-remote=no
> >
>
> The default value of  "db-nb-create-insecure-remote" is no. So there is no
> need to set this. We can just have
> if [ "x${LISTEN_ON_SLAVE} = xyes ] ; then
>  if ...
>  ...
> fi

>>> Sure let me re-change and test. Will update the new patch accordingly.

> +            set $@ --db-sb-create-insecure-remote=no
> > +        else
> > +            if [ "x${NB_MASTER_PROTO}" = xtcp ]; then
> > +                set $@ --db-nb-create-insecure-remote=yes
> > +            fi
> > +
> > +            if [ "x${SB_MASTER_PROTO}" = xtcp ]; then
> > +                set $@ --db-sb-create-insecure-remote=yes
> > +            fi
> > +        fi
> >          # An existing master is active, connect to it
> >          set $@ --db-nb-sync-from-addr=${MASTER_IP}
> > --db-sb-sync-from-addr=${MASTER_IP}
> >          set $@ --db-nb-sync-from-port=${NB_MASTER_PORT}
> >          set $@ --db-nb-sync-from-proto=${NB_MASTER_PROTO}
> >          set $@ --db-sb-sync-from-port=${SB_MASTER_PORT}
> >          set $@ --db-sb-sync-from-proto=${SB_MASTER_PROTO}
> > +
> > +    else
> > +        if [ "x${NB_MASTER_PROTO}" = xtcp ]; then
> > +            set $@ --db-nb-create-insecure-remote=yes
> > +        fi
> > +
> > +        if [ "x${SB_MASTER_PROTO}" = xtcp ]; then
> > +            set $@ --db-sb-create-insecure-remote=yes
> > +        fi
> >      fi
> >
> >      $@ start_ovsdb
> > @@ -416,6 +457,11 @@ ovsdb_server_promote() {
> >              ;;
> >      esac
> >
> > +    if [ "x${LISTEN_ON_SLAVE}" = xno ]; then
>
>
> The use of LISTEN_ON_SLAVE param in "ovsdb_server_promote"  is very
> confusing. I think it should
> be possible to have just one param - something like -
> "master_ip_pacemaker_resource=(yes/no)"  (or some thing better ).
> Thoughts ?

>>> Sure, how about master_ip_lb_resource to avoid confusion? So you mean,
just use this variable and completely get rid of LISTEN_ON_SLAVE and
LISTEN_ON_MASTER_IP_ONLY?

> Will there be a case where the user can select
> listen_on_master_ip_only=no and
> listen_on_slave=yes ?
>
>>> No.

Thanks
> Numan
>
>
>
> > +        # Restart ovs so that new master can listen on tcp port
> > +        ${OVN_CTL} stop_ovsdb
> > +        ovsdb_server_start
> > +    fi
> >      ${OVN_CTL} promote_ovnnb
> >      ${OVN_CTL} promote_ovnsb
> >
> > @@ -514,3 +560,4 @@ esac
> >
> >  rc=$?
> >  exit $rc
> > +
> > --
> > 1.9.1
> >
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to