@@ -105,6 +105,8 @@ Other options:
105105 --cleanup=SANDBOX Cleanup the sandbox
106106 --cleanup-all Cleanup all sandboxes
107107 --graceful Graceful cleanup/stop sandbox
108+ --ssl Enable ssl
109+
108110EOF
109111 exit 0
110112 ;;
169171 -D|--device)
170172 prev=device
171173 ;;
174+ --ssl)
175+ enable_ssl=true
176+ ;;
172177 -* )
173178 echo " unrecognized option $option (use --help for help)" >&2
174179 exit 1
@@ -650,31 +655,67 @@ OVN_SB_DB=unix:$sandbox/db-sb.sock; export OVN_SB_DB
650655EOF
651656 . $sandbox_name /sandbox.rc
652657
653- # Northbound db server
654- prog_name=' ovsdb-server-nb'
655- run_service $prog_name ovsdb-server --detach --no-chdir \
656- --pidfile=$prog_name .pid \
657- --unixctl=$prog_name .ctl \
658- -vconsole:off -vsyslog:off -vfile:info \
659- --log-file=$prog_name .log \
660- --remote=p$OVN_NB_DB \
661- conf-nb.db ovnnb.db
662- pid=` cat $sandbox_name /$prog_name .pid`
663- mv $sandbox_name /$prog_name .ctl $sandbox_name /$prog_name .$pid .ctl
664-
665- # Southbound db server
666- prog_name=' ovsdb-server-sb'
667- run_service $prog_name ovsdb-server --detach --no-chdir \
668- --pidfile=$prog_name .pid \
669- --unixctl=$prog_name .ctl \
670- -vconsole:off -vsyslog:off -vfile:info \
671- --log-file=$prog_name .log \
672- --remote=" p$OVN_SB_DB " \
673- --remote=db:Open_vSwitch,Open_vSwitch,manager_options \
674- conf-sb.db ovnsb.db
675- pid=` cat $sandbox_name /$prog_name .pid`
676- mv $sandbox_name /$prog_name .ctl $sandbox_name /$prog_name .$pid .ctl
677658
659+ if $enable_ssl ; then
660+ # Northbound db server
661+ prog_name=' ovsdb-server-nb'
662+ run_service $prog_name ovsdb-server --detach --no-chdir \
663+ --pidfile=$prog_name .pid \
664+ --unixctl=$prog_name .ctl \
665+ -vconsole:off -vsyslog:off -vfile:info \
666+ --log-file=$prog_name .log \
667+ --remote=db:OVN_Northbound,NB_Global,connections \
668+ --private-key=db:OVN_Northbound,SSL,private_key \
669+ --certificate=db:OVN_Northbound,SSL,certificate \
670+ --ca-cert=db:OVN_Northbound,SSL,ca_cert \
671+ --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols \
672+ --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers \
673+ --remote=p$OVN_NB_DB ovnnb.db
674+ pid=` cat $sandbox_name /$prog_name .pid`
675+ mv $sandbox_name /$prog_name .ctl $sandbox_name /$prog_name .$pid .ctl
676+
677+ # Southbound db server
678+ prog_name=' ovsdb-server-sb'
679+ run_service $prog_name ovsdb-server --detach --no-chdir \
680+ --pidfile=$prog_name .pid \
681+ --unixctl=$prog_name .ctl \
682+ -vconsole:off -vsyslog:off -vfile:info \
683+ --log-file=$prog_name .log \
684+ --remote=db:OVN_Southbound,SB_Global,connections \
685+ --private-key=db:OVN_Southbound,SSL,private_key \
686+ --certificate=db:OVN_Southbound,SSL,certificate \
687+ --ca-cert=db:OVN_Southbound,SSL,ca_cert \
688+ --ssl-protocols=db:OVN_Southbound,SSL,ssl_protocols \
689+ --ssl-ciphers=db:OVN_Southbound,SSL,ssl_ciphers \
690+ --remote=p$OVN_SB_DB ovnsb.db
691+ pid=` cat $sandbox_name /$prog_name .pid`
692+ mv $sandbox_name /$prog_name .ctl $sandbox_name /$prog_name .$pid .ctl
693+ else
694+ # Northbound db server
695+ prog_name=' ovsdb-server-nb'
696+ run_service $prog_name ovsdb-server --detach --no-chdir \
697+ --pidfile=$prog_name .pid \
698+ --unixctl=$prog_name .ctl \
699+ -vconsole:off -vsyslog:off -vfile:info \
700+ --log-file=$prog_name .log \
701+ --remote=p$OVN_NB_DB \
702+ conf-nb.db ovnnb.db
703+ pid=` cat $sandbox_name /$prog_name .pid`
704+ mv $sandbox_name /$prog_name .ctl $sandbox_name /$prog_name .$pid .ctl
705+
706+ # Southbound db server
707+ prog_name=' ovsdb-server-sb'
708+ run_service $prog_name ovsdb-server --detach --no-chdir \
709+ --pidfile=$prog_name .pid \
710+ --unixctl=$prog_name .ctl \
711+ -vconsole:off -vsyslog:off -vfile:info \
712+ --log-file=$prog_name .log \
713+ --remote=" p$OVN_SB_DB " \
714+ --remote=db:Open_vSwitch,Open_vSwitch,manager_options \
715+ conf-sb.db ovnsb.db
716+ pid=` cat $sandbox_name /$prog_name .pid`
717+ mv $sandbox_name /$prog_name .ctl $sandbox_name /$prog_name .$pid .ctl
718+ fi
678719 fi
679720 else
680721 touch " $sandbox " /.conf.db.~lock~
@@ -694,19 +735,35 @@ EOF
694735
695736 # Initialize database.
696737 if $controller ; then
697- init_ovsdb_server " ovsdb-server-nb" $OVN_NB_DB
698- init_ovsdb_server " ovsdb-server-sb" $OVN_SB_DB
738+ if $enable_ssl ; then
739+ tar -xzvf certs.tar.gz
740+ abs_path=` pwd` /certs
741+ ovn-nbctl set-ssl $abs_path /ovnnb-privkey.pem $abs_path /ovnnb-cert.pem \
742+ $abs_path /cacert.pem
743+ ovn-nbctl set-connection pssl:6641:127.0.0.1
744+ ovn-sbctl set-ssl $abs_path /ovnsb-privkey.pem $abs_path /ovnsb-cert.pem \
745+ $abs_path /cacert.pem
746+ ovn-sbctl set-connection pssl:6642:$CON_IP
747+ ovn-sbctl set conn . inactivity_probe=0
748+ else
749+ init_ovsdb_server " ovsdb-server-nb" $OVN_NB_DB
750+ init_ovsdb_server " ovsdb-server-sb" $OVN_SB_DB
699751
700- ovs-vsctl --db=$OVN_SB_DB --no-wait \
701- -- set open_vswitch . manager_options=@uuid \
702- -- --id=@uuid create Manager target=" $OVSDB_REMOTE " inactivity_probe=0
752+ ovs-vsctl --db=$OVN_SB_DB --no-wait \
753+ -- set open_vswitch . manager_options=@uuid \
754+ -- --id=@uuid create Manager target=" $OVSDB_REMOTE " inactivity_probe=0
755+ fi
703756
704757 else
705758 init_ovsdb_server " ovsdb-server" unix:" $sandbox " /db.sock
706759 run ovs-vsctl --no-wait set open_vswitch . system-type=" sandbox"
707760
708761 if $ovn ; then
709- OVN_REMOTE=" tcp:$CON_IP :6640"
762+ if $enable_ssl ; then
763+ OVN_REMOTE=" ssl:$CON_IP :6642"
764+ else
765+ OVN_REMOTE=" tcp:$CON_IP :6640"
766+ fi
710767
711768 ip_addr_add $host_ip $device
712769 SANDBOX_BIND_IP=$host_ip
@@ -756,9 +813,19 @@ function start_ovn {
756813 --ovnsb-db=$OVN_SB_DB
757814 else
758815 if $ovn ; then
759- run_service ovn-controller ovn-controller --detach --no-chdir \
760- --pidfile \
761- -vconsole:off -vsyslog:off -vfile:info --log-file
816+ if [$enable_ssl = true]; then
817+ tar -xzvf certs.tar.gz
818+ abs_path=` pwd` /certs
819+ run_service ovn-controller ovn-controller \
820+ --private-key=$abs_path /ovn-controller-privkey.pem \
821+ --certificate=$abs_path /ovn-controller-cert.pem \
822+ --ca-cert=$abs_path /cacert.pem --detach --no-chdir \
823+ --pidfile -vconsole:off -vsyslog:off -vfile:info --log-file
824+ else
825+ run_service ovn-controller ovn-controller --detach --no-chdir \
826+ --pidfile \
827+ -vconsole:off -vsyslog:off -vfile:info --log-file
828+ fi
762829 fi
763830 fi
764831}
0 commit comments