Browse code

Admin commands should not depend on OVS code

Admin commands are client centric, and should not take dependencies on
plugin implementations (which brings in lots of undesirable packages).
This change will enable the admin part of the origin CLI to be embedded
into oc.

Clayton Coleman authored on 2015/12/25 06:59:35
Showing 3 changed files
... ...
@@ -9,7 +9,6 @@ import (
9 9
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
10 10
 	kerrors "k8s.io/kubernetes/pkg/util/errors"
11 11
 
12
-	"github.com/openshift/openshift-sdn/plugins/osdn/ovs"
13 12
 	"github.com/openshift/origin/pkg/cmd/util/clientcmd"
14 13
 )
15 14
 
... ...
@@ -39,7 +38,7 @@ func NewCmdIsolateProjectsNetwork(commandName, fullName string, f *clientcmd.Fac
39 39
 	cmd := &cobra.Command{
40 40
 		Use:     commandName,
41 41
 		Short:   "Isolate project network",
42
-		Long:    fmt.Sprintf(isolateProjectsNetworkLong, ovs.MultiTenantPluginName()),
42
+		Long:    fmt.Sprintf(isolateProjectsNetworkLong, ovsPluginName),
43 43
 		Example: fmt.Sprintf(isolateProjectsNetworkExample, fullName),
44 44
 		Run: func(c *cobra.Command, args []string) {
45 45
 			if err := opts.Complete(f, c, args, out); err != nil {
... ...
@@ -10,11 +10,12 @@ import (
10 10
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
11 11
 	kerrors "k8s.io/kubernetes/pkg/util/errors"
12 12
 
13
-	"github.com/openshift/openshift-sdn/plugins/osdn/ovs"
14 13
 	"github.com/openshift/origin/pkg/cmd/util/clientcmd"
15 14
 )
16 15
 
17 16
 const (
17
+	ovsPluginName = "redhat/openshift-ovs-multitenant"
18
+
18 19
 	JoinProjectsNetworkCommandName = "join-projects"
19 20
 
20 21
 	joinProjectsNetworkLong = `
... ...
@@ -42,7 +43,7 @@ func NewCmdJoinProjectsNetwork(commandName, fullName string, f *clientcmd.Factor
42 42
 	cmd := &cobra.Command{
43 43
 		Use:     commandName,
44 44
 		Short:   "Join project network",
45
-		Long:    fmt.Sprintf(joinProjectsNetworkLong, ovs.MultiTenantPluginName()),
45
+		Long:    fmt.Sprintf(joinProjectsNetworkLong, ovsPluginName),
46 46
 		Example: fmt.Sprintf(joinProjectsNetworkExample, fullName),
47 47
 		Run: func(c *cobra.Command, args []string) {
48 48
 			if err := opts.Complete(f, c, args, out); err != nil {
... ...
@@ -9,12 +9,12 @@ import (
9 9
 	kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
10 10
 	kerrors "k8s.io/kubernetes/pkg/util/errors"
11 11
 
12
-	"github.com/openshift/openshift-sdn/plugins/osdn"
13
-	"github.com/openshift/openshift-sdn/plugins/osdn/ovs"
14 12
 	"github.com/openshift/origin/pkg/cmd/util/clientcmd"
15 13
 )
16 14
 
17 15
 const (
16
+	adminVNID = uint(0)
17
+
18 18
 	MakeGlobalProjectsNetworkCommandName = "make-projects-global"
19 19
 
20 20
 	makeGlobalProjectsNetworkLong = `
... ...
@@ -40,7 +40,7 @@ func NewCmdMakeGlobalProjectsNetwork(commandName, fullName string, f *clientcmd.
40 40
 	cmd := &cobra.Command{
41 41
 		Use:     commandName,
42 42
 		Short:   "Make project network global",
43
-		Long:    fmt.Sprintf(makeGlobalProjectsNetworkLong, ovs.MultiTenantPluginName()),
43
+		Long:    fmt.Sprintf(makeGlobalProjectsNetworkLong, ovsPluginName),
44 44
 		Example: fmt.Sprintf(makeGlobalProjectsNetworkExample, fullName),
45 45
 		Run: func(c *cobra.Command, args []string) {
46 46
 			if err := opts.Complete(f, c, args, out); err != nil {
... ...
@@ -71,7 +71,7 @@ func (m *MakeGlobalOptions) Run() error {
71 71
 
72 72
 	errList := []error{}
73 73
 	for _, project := range projects {
74
-		err = m.Options.CreateOrUpdateNetNamespace(project.ObjectMeta.Name, osdn.AdminVNID)
74
+		err = m.Options.CreateOrUpdateNetNamespace(project.ObjectMeta.Name, adminVNID)
75 75
 		if err != nil {
76 76
 			errList = append(errList, fmt.Errorf("Removing network isolation for project '%s' failed, error: %v", project.ObjectMeta.Name, err))
77 77
 		}