Browse code

Group commands in oadm for ease of use

Group oadm certificate related cmds under 'oadm ca'

To maintain backward compatibility, old commands still work
with deprecated message but are not surfaced in the help message.

Ravi Sankar Penta authored on 2015/07/02 07:58:07
Showing 11 changed files
... ...
@@ -112,7 +112,7 @@ do
112 112
     SERVER_HOSTNAME_LIST="${SERVER_HOSTNAME_LIST},${IP_ADDRESS}"
113 113
 done <<< "${ALL_IP_ADDRESSES}"
114 114
 
115
-openshift admin create-master-certs \
115
+openshift admin ca create-master-certs \
116 116
   --overwrite=false \
117 117
   --cert-dir="${MASTER_CONFIG_DIR}" \
118 118
   --hostnames="${SERVER_HOSTNAME_LIST}" \
... ...
@@ -283,7 +283,15 @@ echo "templates: ok"
283 283
 [ "$(openshift kubectl 2>&1 | grep 'Kubernetes cluster')" ]
284 284
 [ "$(oadm 2>&1 | grep 'OpenShift Administrative Commands')" ]
285 285
 [ "$(openshift admin 2>&1 | grep 'OpenShift Administrative Commands')" ]
286
+[ "$(oadm | grep 'Basic Commands:')" ]
287
+[ "$(oadm | grep 'Install Commands:')" ]
288
+[ "$(oadm ca | grep 'Manage certificates')" ]
286 289
 [ "$(openshift start kubernetes 2>&1 | grep 'Kubernetes server components')" ]
290
+# check deprecated admin cmds for backward compatibility
291
+[ "$(oadm create-master-certs -h 2>&1 | grep 'Create keys and certificates')" ]
292
+[ "$(oadm create-key-pair -h 2>&1 | grep 'Create a 2048-bit RSA key pair')" ]
293
+[ "$(oadm create-server-cert -h 2>&1 | grep 'Create a key and server certificate')" ]
294
+[ "$(oadm create-signer-cert -h 2>&1 | grep 'Create a self-signed CA')" ]
287 295
 
288 296
 # help for root commands with --help flag must be consistent
289 297
 [ "$(openshift --help 2>&1 | grep 'OpenShift Application Platform')" ]
... ...
@@ -197,7 +197,7 @@ do
197 197
 	SERVER_HOSTNAME_LIST="${SERVER_HOSTNAME_LIST},${IP_ADDRESS}"
198 198
 done <<< "${ALL_IP_ADDRESSES}"
199 199
 
200
-openshift admin create-master-certs \
200
+openshift admin ca create-master-certs \
201 201
 	--overwrite=false \
202 202
 	--cert-dir="${MASTER_CONFIG_DIR}" \
203 203
 	--hostnames="${SERVER_HOSTNAME_LIST}" \
... ...
@@ -60,7 +60,7 @@ start_server() {
60 60
   done <<< "${ALL_IP_ADDRESSES}"
61 61
 
62 62
   echo "[INFO] Create certificates for the OpenShift master"
63
-  env "PATH=${PATH}" openshift admin create-master-certs \
63
+  env "PATH=${PATH}" openshift admin ca create-master-certs \
64 64
     --overwrite=false \
65 65
     --cert-dir="${MASTER_CONFIG_DIR}" \
66 66
     --hostnames="${SERVER_HOSTNAME_LIST}" \
... ...
@@ -6,6 +6,7 @@ import (
6 6
 
7 7
 	"github.com/spf13/cobra"
8 8
 
9
+	"github.com/openshift/origin/pkg/cmd/admin/cert"
9 10
 	"github.com/openshift/origin/pkg/cmd/admin/node"
10 11
 	"github.com/openshift/origin/pkg/cmd/admin/policy"
11 12
 	"github.com/openshift/origin/pkg/cmd/admin/project"
... ...
@@ -38,31 +39,68 @@ func NewCommandAdmin(name, fullName string, out io.Writer) *cobra.Command {
38 38
 
39 39
 	f := clientcmd.New(cmds.PersistentFlags())
40 40
 
41
-	cmds.AddCommand(project.NewCmdNewProject(project.NewProjectRecommendedName, fullName+" "+project.NewProjectRecommendedName, f, out))
42
-	cmds.AddCommand(policy.NewCmdPolicy(policy.PolicyRecommendedName, fullName+" "+policy.PolicyRecommendedName, f, out))
43
-	cmds.AddCommand(exipfailover.NewCmdIPFailoverConfig(f, fullName, "ipfailover", out))
44
-	cmds.AddCommand(router.NewCmdRouter(f, fullName, "router", out))
45
-	cmds.AddCommand(registry.NewCmdRegistry(f, fullName, "registry", out))
46
-	cmds.AddCommand(buildchain.NewCmdBuildChain(f, fullName, "build-chain"))
47
-	cmds.AddCommand(node.NewCommandManageNode(f, node.ManageNodeCommandName, fullName+" "+node.ManageNodeCommandName, out))
48
-	cmds.AddCommand(cmd.NewCmdConfig(fullName, "config"))
49
-	cmds.AddCommand(prune.NewCommandPrune(prune.PruneRecommendedName, fullName+" "+prune.PruneRecommendedName, f, out))
41
+	groups := templates.CommandGroups{
42
+		{
43
+			Message: "Basic Commands:",
44
+			Commands: []*cobra.Command{
45
+				project.NewCmdNewProject(project.NewProjectRecommendedName, fullName+" "+project.NewProjectRecommendedName, f, out),
46
+				policy.NewCmdPolicy(policy.PolicyRecommendedName, fullName+" "+policy.PolicyRecommendedName, f, out),
47
+			},
48
+		},
49
+		{
50
+			Message: "Install Commands:",
51
+			Commands: []*cobra.Command{
52
+				router.NewCmdRouter(f, fullName, "router", out),
53
+				exipfailover.NewCmdIPFailoverConfig(f, fullName, "ipfailover", out),
54
+				registry.NewCmdRegistry(f, fullName, "registry", out),
55
+			},
56
+		},
57
+		{
58
+			Message: "Maintenance Commands:",
59
+			Commands: []*cobra.Command{
60
+				buildchain.NewCmdBuildChain(f, fullName, "build-chain"),
61
+				node.NewCommandManageNode(f, node.ManageNodeCommandName, fullName+" "+node.ManageNodeCommandName, out),
62
+				prune.NewCommandPrune(prune.PruneRecommendedName, fullName+" "+prune.PruneRecommendedName, f, out),
63
+			},
64
+		},
65
+		{
66
+			Message: "Settings Commands:",
67
+			Commands: []*cobra.Command{
68
+				cmd.NewCmdConfig(fullName, "config"),
50 69
 
51
-	// TODO: these probably belong in a sub command
52
-	cmds.AddCommand(admin.NewCommandCreateKubeConfig(admin.CreateKubeConfigCommandName, fullName+" "+admin.CreateKubeConfigCommandName, out))
53
-	cmds.AddCommand(admin.NewCommandCreateBootstrapPolicyFile(admin.CreateBootstrapPolicyFileCommand, fullName+" "+admin.CreateBootstrapPolicyFileCommand, out))
54
-	cmds.AddCommand(admin.NewCommandCreateBootstrapProjectTemplate(f, admin.CreateBootstrapProjectTemplateCommand, fullName+" "+admin.CreateBootstrapProjectTemplateCommand, out))
55
-	cmds.AddCommand(admin.NewCommandOverwriteBootstrapPolicy(admin.OverwriteBootstrapPolicyCommandName, fullName+" "+admin.OverwriteBootstrapPolicyCommandName, fullName+" "+admin.CreateBootstrapPolicyFileCommand, out))
56
-	cmds.AddCommand(admin.NewCommandNodeConfig(admin.NodeConfigCommandName, fullName+" "+admin.NodeConfigCommandName, out))
57
-	// TODO: these should be rolled up together
58
-	cmds.AddCommand(admin.NewCommandCreateMasterCerts(admin.CreateMasterCertsCommandName, fullName+" "+admin.CreateMasterCertsCommandName, out))
59
-	cmds.AddCommand(admin.NewCommandCreateClient(admin.CreateClientCommandName, fullName+" "+admin.CreateClientCommandName, out))
60
-	cmds.AddCommand(admin.NewCommandCreateKeyPair(admin.CreateKeyPairCommandName, fullName+" "+admin.CreateKeyPairCommandName, out))
61
-	cmds.AddCommand(admin.NewCommandCreateServerCert(admin.CreateServerCertCommandName, fullName+" "+admin.CreateServerCertCommandName, out))
62
-	cmds.AddCommand(admin.NewCommandCreateSignerCert(admin.CreateSignerCertCommandName, fullName+" "+admin.CreateSignerCertCommandName, out))
70
+				// TODO: these probably belong in a sub command
71
+				admin.NewCommandCreateKubeConfig(admin.CreateKubeConfigCommandName, fullName+" "+admin.CreateKubeConfigCommandName, out),
72
+				admin.NewCommandCreateClient(admin.CreateClientCommandName, fullName+" "+admin.CreateClientCommandName, out),
73
+			},
74
+		},
75
+		{
76
+			Message: "Advanced Commands:",
77
+			Commands: []*cobra.Command{
78
+				admin.NewCommandCreateBootstrapProjectTemplate(f, admin.CreateBootstrapProjectTemplateCommand, fullName+" "+admin.CreateBootstrapProjectTemplateCommand, out),
79
+				admin.NewCommandCreateBootstrapPolicyFile(admin.CreateBootstrapPolicyFileCommand, fullName+" "+admin.CreateBootstrapPolicyFileCommand, out),
80
+				admin.NewCommandOverwriteBootstrapPolicy(admin.OverwriteBootstrapPolicyCommandName, fullName+" "+admin.OverwriteBootstrapPolicyCommandName, fullName+" "+admin.CreateBootstrapPolicyFileCommand, out),
81
+				admin.NewCommandNodeConfig(admin.NodeConfigCommandName, fullName+" "+admin.NodeConfigCommandName, out),
82
+				cert.NewCmdCert(cert.CertRecommendedName, fullName+" "+cert.CertRecommendedName, out),
83
+			},
84
+		},
85
+	}
86
+
87
+	groups.Add(cmds)
88
+	templates.ActsAsRootCommand(cmds, groups...)
63 89
 
64
-	// TODO: use groups
65
-	templates.ActsAsRootCommand(cmds)
90
+	// Deprecated commands that are bundled with the binary but not displayed to end users directly
91
+	deprecatedCommands := []*cobra.Command{
92
+		admin.NewCommandCreateMasterCerts(admin.CreateMasterCertsCommandName, fullName+" "+admin.CreateMasterCertsCommandName, out),
93
+		admin.NewCommandCreateKeyPair(admin.CreateKeyPairCommandName, fullName+" "+admin.CreateKeyPairCommandName, out),
94
+		admin.NewCommandCreateServerCert(admin.CreateServerCertCommandName, fullName+" "+admin.CreateServerCertCommandName, out),
95
+		admin.NewCommandCreateSignerCert(admin.CreateSignerCertCommandName, fullName+" "+admin.CreateSignerCertCommandName, out),
96
+	}
97
+	for _, cmd := range deprecatedCommands {
98
+		// Unsetting Short description will not show this command in help
99
+		cmd.Short = ""
100
+		cmd.Deprecated = fmt.Sprintf("Use '%s ca' instead.", fullName)
101
+		cmds.AddCommand(cmd)
102
+	}
66 103
 
67 104
 	if name == fullName {
68 105
 		cmds.AddCommand(version.NewVersionCommand(fullName))
69 106
new file mode 100644
... ...
@@ -0,0 +1,30 @@
0
+package cert
1
+
2
+import (
3
+	"io"
4
+
5
+	"github.com/spf13/cobra"
6
+
7
+	"github.com/openshift/origin/pkg/cmd/server/admin"
8
+	"github.com/openshift/origin/pkg/cmd/util"
9
+)
10
+
11
+const CertRecommendedName = "ca"
12
+
13
+// NewCmdCert implements the OpenShift cli ca command
14
+func NewCmdCert(name, fullName string, out io.Writer) *cobra.Command {
15
+	// Parent command to which all subcommands are added.
16
+	cmds := &cobra.Command{
17
+		Use:   name,
18
+		Short: "Manage certificates and keys",
19
+		Long:  `Manage certificates and keys`,
20
+		Run:   util.DefaultSubCommandRun(out),
21
+	}
22
+
23
+	cmds.AddCommand(admin.NewCommandCreateMasterCerts(admin.CreateMasterCertsCommandName, fullName+" "+admin.CreateMasterCertsCommandName, out))
24
+	cmds.AddCommand(admin.NewCommandCreateKeyPair(admin.CreateKeyPairCommandName, fullName+" "+admin.CreateKeyPairCommandName, out))
25
+	cmds.AddCommand(admin.NewCommandCreateServerCert(admin.CreateServerCertCommandName, fullName+" "+admin.CreateServerCertCommandName, out))
26
+	cmds.AddCommand(admin.NewCommandCreateSignerCert(admin.CreateSignerCertCommandName, fullName+" "+admin.CreateSignerCertCommandName, out))
27
+
28
+	return cmds
29
+}
... ...
@@ -52,7 +52,7 @@ server cert and run the command to fill it in:
52 52
             --public-master=https://external.master.fqdn:8443 \
53 53
             --hostnames=external.master.fqdn,internal.master.fqdn,localhost,127.0.0.1,172.17.42.1,kubernetes.default.local
54 54
 
55
-Alternatively, use the related "create-server-cert" command to explicitly
55
+Alternatively, use the related "ca create-server-cert" command to explicitly
56 56
 create a certificate.
57 57
 
58 58
 Regardless of --overwrite, the master server key/cert will be updated 
... ...
@@ -81,7 +81,7 @@ func NewCommandCreateMasterCerts(commandName string, fullName string, out io.Wri
81 81
 
82 82
 	cmd := &cobra.Command{
83 83
 		Use:   commandName,
84
-		Short: "Create certificates for an OpenShift master",
84
+		Short: "Create certificates and keys for an OpenShift master",
85 85
 		Long:  fmt.Sprintf(masterCertLong, fullName),
86 86
 		Run: func(cmd *cobra.Command, args []string) {
87 87
 			if err := options.Validate(args); err != nil {
... ...
@@ -52,7 +52,7 @@ func NewCommandCreateSignerCert(commandName string, fullName string, out io.Writ
52 52
 
53 53
 	cmd := &cobra.Command{
54 54
 		Use:   commandName,
55
-		Short: "Create a signer (certificate authority/CA) certificate",
55
+		Short: "Create a signer (certificate authority/CA) certificate and key",
56 56
 		Long:  createSignerLong,
57 57
 		Run: func(cmd *cobra.Command, args []string) {
58 58
 			if err := options.Validate(args); err != nil {
... ...
@@ -40,7 +40,8 @@ func (g CommandGroups) Has(c *cobra.Command) bool {
40 40
 func AddAdditionalCommands(g CommandGroups, message string, cmds []*cobra.Command) CommandGroups {
41 41
 	group := CommandGroup{Message: message}
42 42
 	for _, c := range cmds {
43
-		if !g.Has(c) {
43
+		// Don't show commands that has no short description
44
+		if !g.Has(c) && len(c.Short) != 0 {
44 45
 			group.Commands = append(group.Commands, c)
45 46
 		}
46 47
 	}
... ...
@@ -398,9 +398,9 @@ _oadm_policy()
398 398
     must_have_one_noun=()
399 399
 }
400 400
 
401
-_oadm_ipfailover()
401
+_oadm_router()
402 402
 {
403
-    last_command="oadm_ipfailover"
403
+    last_command="oadm_router"
404 404
     commands=()
405 405
 
406 406
     flags=()
... ...
@@ -412,35 +412,35 @@ _oadm_ipfailover()
412 412
     flags+=("--credentials=")
413 413
     flags_with_completion+=("--credentials")
414 414
     flags_completion+=("__handle_filename_extension_flag kubeconfig")
415
+    flags+=("--default-cert=")
416
+    flags+=("--dry-run")
415 417
     flags+=("--help")
416 418
     flags+=("-h")
417 419
     flags+=("--images=")
418
-    flags+=("--interface=")
419
-    two_word_flags+=("-i")
420
+    flags+=("--labels=")
420 421
     flags+=("--latest-images")
421 422
     flags+=("--no-headers")
422 423
     flags+=("--output=")
423 424
     two_word_flags+=("-o")
424 425
     flags+=("--output-version=")
426
+    flags+=("--ports=")
425 427
     flags+=("--replicas=")
426
-    two_word_flags+=("-r")
427 428
     flags+=("--selector=")
428
-    two_word_flags+=("-l")
429 429
     flags+=("--service-account=")
430
+    flags+=("--stats-password=")
431
+    flags+=("--stats-port=")
432
+    flags+=("--stats-user=")
430 433
     flags+=("--template=")
431 434
     two_word_flags+=("-t")
432 435
     flags+=("--type=")
433
-    flags+=("--virtual-ips=")
434
-    flags+=("--watch-port=")
435
-    two_word_flags+=("-w")
436 436
 
437 437
     must_have_one_flag=()
438 438
     must_have_one_noun=()
439 439
 }
440 440
 
441
-_oadm_router()
441
+_oadm_ipfailover()
442 442
 {
443
-    last_command="oadm_router"
443
+    last_command="oadm_ipfailover"
444 444
     commands=()
445 445
 
446 446
     flags=()
... ...
@@ -452,27 +452,27 @@ _oadm_router()
452 452
     flags+=("--credentials=")
453 453
     flags_with_completion+=("--credentials")
454 454
     flags_completion+=("__handle_filename_extension_flag kubeconfig")
455
-    flags+=("--default-cert=")
456
-    flags+=("--dry-run")
457 455
     flags+=("--help")
458 456
     flags+=("-h")
459 457
     flags+=("--images=")
460
-    flags+=("--labels=")
458
+    flags+=("--interface=")
459
+    two_word_flags+=("-i")
461 460
     flags+=("--latest-images")
462 461
     flags+=("--no-headers")
463 462
     flags+=("--output=")
464 463
     two_word_flags+=("-o")
465 464
     flags+=("--output-version=")
466
-    flags+=("--ports=")
467 465
     flags+=("--replicas=")
466
+    two_word_flags+=("-r")
468 467
     flags+=("--selector=")
468
+    two_word_flags+=("-l")
469 469
     flags+=("--service-account=")
470
-    flags+=("--stats-password=")
471
-    flags+=("--stats-port=")
472
-    flags+=("--stats-user=")
473 470
     flags+=("--template=")
474 471
     two_word_flags+=("-t")
475 472
     flags+=("--type=")
473
+    flags+=("--virtual-ips=")
474
+    flags+=("--watch-port=")
475
+    two_word_flags+=("-w")
476 476
 
477 477
     must_have_one_flag=()
478 478
     must_have_one_noun=()
... ...
@@ -567,9 +567,9 @@ _oadm_manage-node()
567 567
     must_have_one_noun=()
568 568
 }
569 569
 
570
-_oadm_config_view()
570
+_oadm_prune_builds()
571 571
 {
572
-    last_command="oadm_config_view"
572
+    last_command="oadm_prune_builds"
573 573
     commands=()
574 574
 
575 575
     flags=()
... ...
@@ -577,26 +577,21 @@ _oadm_config_view()
577 577
     flags_with_completion=()
578 578
     flags_completion=()
579 579
 
580
-    flags+=("--flatten")
580
+    flags+=("--confirm")
581 581
     flags+=("--help")
582 582
     flags+=("-h")
583
-    flags+=("--merge")
584
-    flags+=("--minify")
585
-    flags+=("--no-headers")
586
-    flags+=("--output=")
587
-    two_word_flags+=("-o")
588
-    flags+=("--output-version=")
589
-    flags+=("--raw")
590
-    flags+=("--template=")
591
-    two_word_flags+=("-t")
583
+    flags+=("--keep-complete=")
584
+    flags+=("--keep-failed=")
585
+    flags+=("--keep-younger-than=")
586
+    flags+=("--orphans")
592 587
 
593 588
     must_have_one_flag=()
594 589
     must_have_one_noun=()
595 590
 }
596 591
 
597
-_oadm_config_set-cluster()
592
+_oadm_prune_deployments()
598 593
 {
599
-    last_command="oadm_config_set-cluster"
594
+    last_command="oadm_prune_deployments"
600 595
     commands=()
601 596
 
602 597
     flags=()
... ...
@@ -604,21 +599,21 @@ _oadm_config_set-cluster()
604 604
     flags_with_completion=()
605 605
     flags_completion=()
606 606
 
607
-    flags+=("--api-version=")
608
-    flags+=("--certificate-authority=")
609
-    flags+=("--embed-certs")
607
+    flags+=("--confirm")
610 608
     flags+=("--help")
611 609
     flags+=("-h")
612
-    flags+=("--insecure-skip-tls-verify")
613
-    flags+=("--server=")
610
+    flags+=("--keep-complete=")
611
+    flags+=("--keep-failed=")
612
+    flags+=("--keep-younger-than=")
613
+    flags+=("--orphans")
614 614
 
615 615
     must_have_one_flag=()
616 616
     must_have_one_noun=()
617 617
 }
618 618
 
619
-_oadm_config_set-credentials()
619
+_oadm_prune_images()
620 620
 {
621
-    last_command="oadm_config_set-credentials"
621
+    last_command="oadm_prune_images"
622 622
     commands=()
623 623
 
624 624
     flags=()
... ...
@@ -626,42 +621,41 @@ _oadm_config_set-credentials()
626 626
     flags_with_completion=()
627 627
     flags_completion=()
628 628
 
629
-    flags+=("--client-certificate=")
630
-    flags+=("--client-key=")
631
-    flags+=("--embed-certs")
629
+    flags+=("--certificate-authority=")
630
+    flags+=("--confirm")
632 631
     flags+=("--help")
633 632
     flags+=("-h")
634
-    flags+=("--password=")
635
-    flags+=("--token=")
636
-    flags+=("--username=")
633
+    flags+=("--keep-tag-revisions=")
634
+    flags+=("--keep-younger-than=")
635
+    flags+=("--registry-url=")
637 636
 
638 637
     must_have_one_flag=()
639 638
     must_have_one_noun=()
640 639
 }
641 640
 
642
-_oadm_config_set-context()
641
+_oadm_prune()
643 642
 {
644
-    last_command="oadm_config_set-context"
643
+    last_command="oadm_prune"
645 644
     commands=()
645
+    commands+=("builds")
646
+    commands+=("deployments")
647
+    commands+=("images")
646 648
 
647 649
     flags=()
648 650
     two_word_flags=()
649 651
     flags_with_completion=()
650 652
     flags_completion=()
651 653
 
652
-    flags+=("--cluster=")
653 654
     flags+=("--help")
654 655
     flags+=("-h")
655
-    flags+=("--namespace=")
656
-    flags+=("--user=")
657 656
 
658 657
     must_have_one_flag=()
659 658
     must_have_one_noun=()
660 659
 }
661 660
 
662
-_oadm_config_set()
661
+_oadm_config_view()
663 662
 {
664
-    last_command="oadm_config_set"
663
+    last_command="oadm_config_view"
665 664
     commands=()
666 665
 
667 666
     flags=()
... ...
@@ -669,16 +663,26 @@ _oadm_config_set()
669 669
     flags_with_completion=()
670 670
     flags_completion=()
671 671
 
672
+    flags+=("--flatten")
672 673
     flags+=("--help")
673 674
     flags+=("-h")
675
+    flags+=("--merge")
676
+    flags+=("--minify")
677
+    flags+=("--no-headers")
678
+    flags+=("--output=")
679
+    two_word_flags+=("-o")
680
+    flags+=("--output-version=")
681
+    flags+=("--raw")
682
+    flags+=("--template=")
683
+    two_word_flags+=("-t")
674 684
 
675 685
     must_have_one_flag=()
676 686
     must_have_one_noun=()
677 687
 }
678 688
 
679
-_oadm_config_unset()
689
+_oadm_config_set-cluster()
680 690
 {
681
-    last_command="oadm_config_unset"
691
+    last_command="oadm_config_set-cluster"
682 692
     commands=()
683 693
 
684 694
     flags=()
... ...
@@ -686,16 +690,21 @@ _oadm_config_unset()
686 686
     flags_with_completion=()
687 687
     flags_completion=()
688 688
 
689
+    flags+=("--api-version=")
690
+    flags+=("--certificate-authority=")
691
+    flags+=("--embed-certs")
689 692
     flags+=("--help")
690 693
     flags+=("-h")
694
+    flags+=("--insecure-skip-tls-verify")
695
+    flags+=("--server=")
691 696
 
692 697
     must_have_one_flag=()
693 698
     must_have_one_noun=()
694 699
 }
695 700
 
696
-_oadm_config_use-context()
701
+_oadm_config_set-credentials()
697 702
 {
698
-    last_command="oadm_config_use-context"
703
+    last_command="oadm_config_set-credentials"
699 704
     commands=()
700 705
 
701 706
     flags=()
... ...
@@ -703,41 +712,42 @@ _oadm_config_use-context()
703 703
     flags_with_completion=()
704 704
     flags_completion=()
705 705
 
706
+    flags+=("--client-certificate=")
707
+    flags+=("--client-key=")
708
+    flags+=("--embed-certs")
706 709
     flags+=("--help")
707 710
     flags+=("-h")
711
+    flags+=("--password=")
712
+    flags+=("--token=")
713
+    flags+=("--username=")
708 714
 
709 715
     must_have_one_flag=()
710 716
     must_have_one_noun=()
711 717
 }
712 718
 
713
-_oadm_config()
719
+_oadm_config_set-context()
714 720
 {
715
-    last_command="oadm_config"
721
+    last_command="oadm_config_set-context"
716 722
     commands=()
717
-    commands+=("view")
718
-    commands+=("set-cluster")
719
-    commands+=("set-credentials")
720
-    commands+=("set-context")
721
-    commands+=("set")
722
-    commands+=("unset")
723
-    commands+=("use-context")
724 723
 
725 724
     flags=()
726 725
     two_word_flags=()
727 726
     flags_with_completion=()
728 727
     flags_completion=()
729 728
 
730
-    flags+=("--config=")
729
+    flags+=("--cluster=")
731 730
     flags+=("--help")
732 731
     flags+=("-h")
732
+    flags+=("--namespace=")
733
+    flags+=("--user=")
733 734
 
734 735
     must_have_one_flag=()
735 736
     must_have_one_noun=()
736 737
 }
737 738
 
738
-_oadm_prune_builds()
739
+_oadm_config_set()
739 740
 {
740
-    last_command="oadm_prune_builds"
741
+    last_command="oadm_config_set"
741 742
     commands=()
742 743
 
743 744
     flags=()
... ...
@@ -745,21 +755,16 @@ _oadm_prune_builds()
745 745
     flags_with_completion=()
746 746
     flags_completion=()
747 747
 
748
-    flags+=("--confirm")
749 748
     flags+=("--help")
750 749
     flags+=("-h")
751
-    flags+=("--keep-complete=")
752
-    flags+=("--keep-failed=")
753
-    flags+=("--keep-younger-than=")
754
-    flags+=("--orphans")
755 750
 
756 751
     must_have_one_flag=()
757 752
     must_have_one_noun=()
758 753
 }
759 754
 
760
-_oadm_prune_deployments()
755
+_oadm_config_unset()
761 756
 {
762
-    last_command="oadm_prune_deployments"
757
+    last_command="oadm_config_unset"
763 758
     commands=()
764 759
 
765 760
     flags=()
... ...
@@ -767,21 +772,16 @@ _oadm_prune_deployments()
767 767
     flags_with_completion=()
768 768
     flags_completion=()
769 769
 
770
-    flags+=("--confirm")
771 770
     flags+=("--help")
772 771
     flags+=("-h")
773
-    flags+=("--keep-complete=")
774
-    flags+=("--keep-failed=")
775
-    flags+=("--keep-younger-than=")
776
-    flags+=("--orphans")
777 772
 
778 773
     must_have_one_flag=()
779 774
     must_have_one_noun=()
780 775
 }
781 776
 
782
-_oadm_prune_images()
777
+_oadm_config_use-context()
783 778
 {
784
-    last_command="oadm_prune_images"
779
+    last_command="oadm_config_use-context"
785 780
     commands=()
786 781
 
787 782
     flags=()
... ...
@@ -789,31 +789,31 @@ _oadm_prune_images()
789 789
     flags_with_completion=()
790 790
     flags_completion=()
791 791
 
792
-    flags+=("--certificate-authority=")
793
-    flags+=("--confirm")
794 792
     flags+=("--help")
795 793
     flags+=("-h")
796
-    flags+=("--keep-tag-revisions=")
797
-    flags+=("--keep-younger-than=")
798
-    flags+=("--registry-url=")
799 794
 
800 795
     must_have_one_flag=()
801 796
     must_have_one_noun=()
802 797
 }
803 798
 
804
-_oadm_prune()
799
+_oadm_config()
805 800
 {
806
-    last_command="oadm_prune"
801
+    last_command="oadm_config"
807 802
     commands=()
808
-    commands+=("builds")
809
-    commands+=("deployments")
810
-    commands+=("images")
803
+    commands+=("view")
804
+    commands+=("set-cluster")
805
+    commands+=("set-credentials")
806
+    commands+=("set-context")
807
+    commands+=("set")
808
+    commands+=("unset")
809
+    commands+=("use-context")
811 810
 
812 811
     flags=()
813 812
     two_word_flags=()
814 813
     flags_with_completion=()
815 814
     flags_completion=()
816 815
 
816
+    flags+=("--config=")
817 817
     flags+=("--help")
818 818
     flags+=("-h")
819 819
 
... ...
@@ -853,9 +853,9 @@ _oadm_create-kubeconfig()
853 853
     must_have_one_noun=()
854 854
 }
855 855
 
856
-_oadm_create-bootstrap-policy-file()
856
+_oadm_create-api-client-config()
857 857
 {
858
-    last_command="oadm_create-bootstrap-policy-file"
858
+    last_command="oadm_create-api-client-config"
859 859
     commands=()
860 860
 
861 861
     flags=()
... ...
@@ -863,12 +863,28 @@ _oadm_create-bootstrap-policy-file()
863 863
     flags_with_completion=()
864 864
     flags_completion=()
865 865
 
866
-    flags+=("--filename=")
867
-    flags_with_completion+=("--filename")
866
+    flags+=("--basename=")
867
+    flags+=("--certificate-authority=")
868
+    flags_with_completion+=("--certificate-authority")
868 869
     flags_completion+=("_filedir")
870
+    flags+=("--client-dir=")
871
+    flags_with_completion+=("--client-dir")
872
+    flags_completion+=("_filedir")
873
+    flags+=("--groups=")
869 874
     flags+=("--help")
870 875
     flags+=("-h")
871
-    flags+=("--openshift-namespace=")
876
+    flags+=("--master=")
877
+    flags+=("--public-master=")
878
+    flags+=("--signer-cert=")
879
+    flags_with_completion+=("--signer-cert")
880
+    flags_completion+=("_filedir")
881
+    flags+=("--signer-key=")
882
+    flags_with_completion+=("--signer-key")
883
+    flags_completion+=("_filedir")
884
+    flags+=("--signer-serial=")
885
+    flags_with_completion+=("--signer-serial")
886
+    flags_completion+=("_filedir")
887
+    flags+=("--user=")
872 888
 
873 889
     must_have_one_flag=()
874 890
     must_have_one_noun=()
... ...
@@ -898,6 +914,27 @@ _oadm_create-bootstrap-project-template()
898 898
     must_have_one_noun=()
899 899
 }
900 900
 
901
+_oadm_create-bootstrap-policy-file()
902
+{
903
+    last_command="oadm_create-bootstrap-policy-file"
904
+    commands=()
905
+
906
+    flags=()
907
+    two_word_flags=()
908
+    flags_with_completion=()
909
+    flags_completion=()
910
+
911
+    flags+=("--filename=")
912
+    flags_with_completion+=("--filename")
913
+    flags_completion+=("_filedir")
914
+    flags+=("--help")
915
+    flags+=("-h")
916
+    flags+=("--openshift-namespace=")
917
+
918
+    must_have_one_flag=()
919
+    must_have_one_noun=()
920
+}
921
+
901 922
 _oadm_overwrite-policy()
902 923
 {
903 924
     last_command="oadm_overwrite-policy"
... ...
@@ -983,9 +1020,9 @@ _oadm_create-node-config()
983 983
     must_have_one_noun=()
984 984
 }
985 985
 
986
-_oadm_create-master-certs()
986
+_oadm_ca_create-master-certs()
987 987
 {
988
-    last_command="oadm_create-master-certs"
988
+    last_command="oadm_ca_create-master-certs"
989 989
     commands=()
990 990
 
991 991
     flags=()
... ...
@@ -1008,46 +1045,9 @@ _oadm_create-master-certs()
1008 1008
     must_have_one_noun=()
1009 1009
 }
1010 1010
 
1011
-_oadm_create-api-client-config()
1012
-{
1013
-    last_command="oadm_create-api-client-config"
1014
-    commands=()
1015
-
1016
-    flags=()
1017
-    two_word_flags=()
1018
-    flags_with_completion=()
1019
-    flags_completion=()
1020
-
1021
-    flags+=("--basename=")
1022
-    flags+=("--certificate-authority=")
1023
-    flags_with_completion+=("--certificate-authority")
1024
-    flags_completion+=("_filedir")
1025
-    flags+=("--client-dir=")
1026
-    flags_with_completion+=("--client-dir")
1027
-    flags_completion+=("_filedir")
1028
-    flags+=("--groups=")
1029
-    flags+=("--help")
1030
-    flags+=("-h")
1031
-    flags+=("--master=")
1032
-    flags+=("--public-master=")
1033
-    flags+=("--signer-cert=")
1034
-    flags_with_completion+=("--signer-cert")
1035
-    flags_completion+=("_filedir")
1036
-    flags+=("--signer-key=")
1037
-    flags_with_completion+=("--signer-key")
1038
-    flags_completion+=("_filedir")
1039
-    flags+=("--signer-serial=")
1040
-    flags_with_completion+=("--signer-serial")
1041
-    flags_completion+=("_filedir")
1042
-    flags+=("--user=")
1043
-
1044
-    must_have_one_flag=()
1045
-    must_have_one_noun=()
1046
-}
1047
-
1048
-_oadm_create-key-pair()
1011
+_oadm_ca_create-key-pair()
1049 1012
 {
1050
-    last_command="oadm_create-key-pair"
1013
+    last_command="oadm_ca_create-key-pair"
1051 1014
     commands=()
1052 1015
 
1053 1016
     flags=()
... ...
@@ -1069,9 +1069,9 @@ _oadm_create-key-pair()
1069 1069
     must_have_one_noun=()
1070 1070
 }
1071 1071
 
1072
-_oadm_create-server-cert()
1072
+_oadm_ca_create-server-cert()
1073 1073
 {
1074
-    last_command="oadm_create-server-cert"
1074
+    last_command="oadm_ca_create-server-cert"
1075 1075
     commands=()
1076 1076
 
1077 1077
     flags=()
... ...
@@ -1103,9 +1103,9 @@ _oadm_create-server-cert()
1103 1103
     must_have_one_noun=()
1104 1104
 }
1105 1105
 
1106
-_oadm_create-signer-cert()
1106
+_oadm_ca_create-signer-cert()
1107 1107
 {
1108
-    last_command="oadm_create-signer-cert"
1108
+    last_command="oadm_ca_create-signer-cert"
1109 1109
     commands=()
1110 1110
 
1111 1111
     flags=()
... ...
@@ -1131,6 +1131,27 @@ _oadm_create-signer-cert()
1131 1131
     must_have_one_noun=()
1132 1132
 }
1133 1133
 
1134
+_oadm_ca()
1135
+{
1136
+    last_command="oadm_ca"
1137
+    commands=()
1138
+    commands+=("create-master-certs")
1139
+    commands+=("create-key-pair")
1140
+    commands+=("create-server-cert")
1141
+    commands+=("create-signer-cert")
1142
+
1143
+    flags=()
1144
+    two_word_flags=()
1145
+    flags_with_completion=()
1146
+    flags_completion=()
1147
+
1148
+    flags+=("--help")
1149
+    flags+=("-h")
1150
+
1151
+    must_have_one_flag=()
1152
+    must_have_one_noun=()
1153
+}
1154
+
1134 1155
 _oadm_options()
1135 1156
 {
1136 1157
     last_command="oadm_options"
... ...
@@ -1154,23 +1175,20 @@ _oadm()
1154 1154
     commands=()
1155 1155
     commands+=("new-project")
1156 1156
     commands+=("policy")
1157
-    commands+=("ipfailover")
1158 1157
     commands+=("router")
1158
+    commands+=("ipfailover")
1159 1159
     commands+=("registry")
1160 1160
     commands+=("build-chain")
1161 1161
     commands+=("manage-node")
1162
-    commands+=("config")
1163 1162
     commands+=("prune")
1163
+    commands+=("config")
1164 1164
     commands+=("create-kubeconfig")
1165
-    commands+=("create-bootstrap-policy-file")
1165
+    commands+=("create-api-client-config")
1166 1166
     commands+=("create-bootstrap-project-template")
1167
+    commands+=("create-bootstrap-policy-file")
1167 1168
     commands+=("overwrite-policy")
1168 1169
     commands+=("create-node-config")
1169
-    commands+=("create-master-certs")
1170
-    commands+=("create-api-client-config")
1171
-    commands+=("create-key-pair")
1172
-    commands+=("create-server-cert")
1173
-    commands+=("create-signer-cert")
1170
+    commands+=("ca")
1174 1171
     commands+=("options")
1175 1172
 
1176 1173
     flags=()
... ...
@@ -775,9 +775,9 @@ _openshift_admin_policy()
775 775
     must_have_one_noun=()
776 776
 }
777 777
 
778
-_openshift_admin_ipfailover()
778
+_openshift_admin_router()
779 779
 {
780
-    last_command="openshift_admin_ipfailover"
780
+    last_command="openshift_admin_router"
781 781
     commands=()
782 782
 
783 783
     flags=()
... ...
@@ -789,35 +789,35 @@ _openshift_admin_ipfailover()
789 789
     flags+=("--credentials=")
790 790
     flags_with_completion+=("--credentials")
791 791
     flags_completion+=("__handle_filename_extension_flag kubeconfig")
792
+    flags+=("--default-cert=")
793
+    flags+=("--dry-run")
792 794
     flags+=("--help")
793 795
     flags+=("-h")
794 796
     flags+=("--images=")
795
-    flags+=("--interface=")
796
-    two_word_flags+=("-i")
797
+    flags+=("--labels=")
797 798
     flags+=("--latest-images")
798 799
     flags+=("--no-headers")
799 800
     flags+=("--output=")
800 801
     two_word_flags+=("-o")
801 802
     flags+=("--output-version=")
803
+    flags+=("--ports=")
802 804
     flags+=("--replicas=")
803
-    two_word_flags+=("-r")
804 805
     flags+=("--selector=")
805
-    two_word_flags+=("-l")
806 806
     flags+=("--service-account=")
807
+    flags+=("--stats-password=")
808
+    flags+=("--stats-port=")
809
+    flags+=("--stats-user=")
807 810
     flags+=("--template=")
808 811
     two_word_flags+=("-t")
809 812
     flags+=("--type=")
810
-    flags+=("--virtual-ips=")
811
-    flags+=("--watch-port=")
812
-    two_word_flags+=("-w")
813 813
 
814 814
     must_have_one_flag=()
815 815
     must_have_one_noun=()
816 816
 }
817 817
 
818
-_openshift_admin_router()
818
+_openshift_admin_ipfailover()
819 819
 {
820
-    last_command="openshift_admin_router"
820
+    last_command="openshift_admin_ipfailover"
821 821
     commands=()
822 822
 
823 823
     flags=()
... ...
@@ -829,27 +829,27 @@ _openshift_admin_router()
829 829
     flags+=("--credentials=")
830 830
     flags_with_completion+=("--credentials")
831 831
     flags_completion+=("__handle_filename_extension_flag kubeconfig")
832
-    flags+=("--default-cert=")
833
-    flags+=("--dry-run")
834 832
     flags+=("--help")
835 833
     flags+=("-h")
836 834
     flags+=("--images=")
837
-    flags+=("--labels=")
835
+    flags+=("--interface=")
836
+    two_word_flags+=("-i")
838 837
     flags+=("--latest-images")
839 838
     flags+=("--no-headers")
840 839
     flags+=("--output=")
841 840
     two_word_flags+=("-o")
842 841
     flags+=("--output-version=")
843
-    flags+=("--ports=")
844 842
     flags+=("--replicas=")
843
+    two_word_flags+=("-r")
845 844
     flags+=("--selector=")
845
+    two_word_flags+=("-l")
846 846
     flags+=("--service-account=")
847
-    flags+=("--stats-password=")
848
-    flags+=("--stats-port=")
849
-    flags+=("--stats-user=")
850 847
     flags+=("--template=")
851 848
     two_word_flags+=("-t")
852 849
     flags+=("--type=")
850
+    flags+=("--virtual-ips=")
851
+    flags+=("--watch-port=")
852
+    two_word_flags+=("-w")
853 853
 
854 854
     must_have_one_flag=()
855 855
     must_have_one_noun=()
... ...
@@ -944,9 +944,9 @@ _openshift_admin_manage-node()
944 944
     must_have_one_noun=()
945 945
 }
946 946
 
947
-_openshift_admin_config_view()
947
+_openshift_admin_prune_builds()
948 948
 {
949
-    last_command="openshift_admin_config_view"
949
+    last_command="openshift_admin_prune_builds"
950 950
     commands=()
951 951
 
952 952
     flags=()
... ...
@@ -954,26 +954,21 @@ _openshift_admin_config_view()
954 954
     flags_with_completion=()
955 955
     flags_completion=()
956 956
 
957
-    flags+=("--flatten")
957
+    flags+=("--confirm")
958 958
     flags+=("--help")
959 959
     flags+=("-h")
960
-    flags+=("--merge")
961
-    flags+=("--minify")
962
-    flags+=("--no-headers")
963
-    flags+=("--output=")
964
-    two_word_flags+=("-o")
965
-    flags+=("--output-version=")
966
-    flags+=("--raw")
967
-    flags+=("--template=")
968
-    two_word_flags+=("-t")
960
+    flags+=("--keep-complete=")
961
+    flags+=("--keep-failed=")
962
+    flags+=("--keep-younger-than=")
963
+    flags+=("--orphans")
969 964
 
970 965
     must_have_one_flag=()
971 966
     must_have_one_noun=()
972 967
 }
973 968
 
974
-_openshift_admin_config_set-cluster()
969
+_openshift_admin_prune_deployments()
975 970
 {
976
-    last_command="openshift_admin_config_set-cluster"
971
+    last_command="openshift_admin_prune_deployments"
977 972
     commands=()
978 973
 
979 974
     flags=()
... ...
@@ -981,21 +976,21 @@ _openshift_admin_config_set-cluster()
981 981
     flags_with_completion=()
982 982
     flags_completion=()
983 983
 
984
-    flags+=("--api-version=")
985
-    flags+=("--certificate-authority=")
986
-    flags+=("--embed-certs")
984
+    flags+=("--confirm")
987 985
     flags+=("--help")
988 986
     flags+=("-h")
989
-    flags+=("--insecure-skip-tls-verify")
990
-    flags+=("--server=")
987
+    flags+=("--keep-complete=")
988
+    flags+=("--keep-failed=")
989
+    flags+=("--keep-younger-than=")
990
+    flags+=("--orphans")
991 991
 
992 992
     must_have_one_flag=()
993 993
     must_have_one_noun=()
994 994
 }
995 995
 
996
-_openshift_admin_config_set-credentials()
996
+_openshift_admin_prune_images()
997 997
 {
998
-    last_command="openshift_admin_config_set-credentials"
998
+    last_command="openshift_admin_prune_images"
999 999
     commands=()
1000 1000
 
1001 1001
     flags=()
... ...
@@ -1003,42 +998,41 @@ _openshift_admin_config_set-credentials()
1003 1003
     flags_with_completion=()
1004 1004
     flags_completion=()
1005 1005
 
1006
-    flags+=("--client-certificate=")
1007
-    flags+=("--client-key=")
1008
-    flags+=("--embed-certs")
1006
+    flags+=("--certificate-authority=")
1007
+    flags+=("--confirm")
1009 1008
     flags+=("--help")
1010 1009
     flags+=("-h")
1011
-    flags+=("--password=")
1012
-    flags+=("--token=")
1013
-    flags+=("--username=")
1010
+    flags+=("--keep-tag-revisions=")
1011
+    flags+=("--keep-younger-than=")
1012
+    flags+=("--registry-url=")
1014 1013
 
1015 1014
     must_have_one_flag=()
1016 1015
     must_have_one_noun=()
1017 1016
 }
1018 1017
 
1019
-_openshift_admin_config_set-context()
1018
+_openshift_admin_prune()
1020 1019
 {
1021
-    last_command="openshift_admin_config_set-context"
1020
+    last_command="openshift_admin_prune"
1022 1021
     commands=()
1022
+    commands+=("builds")
1023
+    commands+=("deployments")
1024
+    commands+=("images")
1023 1025
 
1024 1026
     flags=()
1025 1027
     two_word_flags=()
1026 1028
     flags_with_completion=()
1027 1029
     flags_completion=()
1028 1030
 
1029
-    flags+=("--cluster=")
1030 1031
     flags+=("--help")
1031 1032
     flags+=("-h")
1032
-    flags+=("--namespace=")
1033
-    flags+=("--user=")
1034 1033
 
1035 1034
     must_have_one_flag=()
1036 1035
     must_have_one_noun=()
1037 1036
 }
1038 1037
 
1039
-_openshift_admin_config_set()
1038
+_openshift_admin_config_view()
1040 1039
 {
1041
-    last_command="openshift_admin_config_set"
1040
+    last_command="openshift_admin_config_view"
1042 1041
     commands=()
1043 1042
 
1044 1043
     flags=()
... ...
@@ -1046,16 +1040,26 @@ _openshift_admin_config_set()
1046 1046
     flags_with_completion=()
1047 1047
     flags_completion=()
1048 1048
 
1049
+    flags+=("--flatten")
1049 1050
     flags+=("--help")
1050 1051
     flags+=("-h")
1052
+    flags+=("--merge")
1053
+    flags+=("--minify")
1054
+    flags+=("--no-headers")
1055
+    flags+=("--output=")
1056
+    two_word_flags+=("-o")
1057
+    flags+=("--output-version=")
1058
+    flags+=("--raw")
1059
+    flags+=("--template=")
1060
+    two_word_flags+=("-t")
1051 1061
 
1052 1062
     must_have_one_flag=()
1053 1063
     must_have_one_noun=()
1054 1064
 }
1055 1065
 
1056
-_openshift_admin_config_unset()
1066
+_openshift_admin_config_set-cluster()
1057 1067
 {
1058
-    last_command="openshift_admin_config_unset"
1068
+    last_command="openshift_admin_config_set-cluster"
1059 1069
     commands=()
1060 1070
 
1061 1071
     flags=()
... ...
@@ -1063,16 +1067,21 @@ _openshift_admin_config_unset()
1063 1063
     flags_with_completion=()
1064 1064
     flags_completion=()
1065 1065
 
1066
+    flags+=("--api-version=")
1067
+    flags+=("--certificate-authority=")
1068
+    flags+=("--embed-certs")
1066 1069
     flags+=("--help")
1067 1070
     flags+=("-h")
1071
+    flags+=("--insecure-skip-tls-verify")
1072
+    flags+=("--server=")
1068 1073
 
1069 1074
     must_have_one_flag=()
1070 1075
     must_have_one_noun=()
1071 1076
 }
1072 1077
 
1073
-_openshift_admin_config_use-context()
1078
+_openshift_admin_config_set-credentials()
1074 1079
 {
1075
-    last_command="openshift_admin_config_use-context"
1080
+    last_command="openshift_admin_config_set-credentials"
1076 1081
     commands=()
1077 1082
 
1078 1083
     flags=()
... ...
@@ -1080,41 +1089,42 @@ _openshift_admin_config_use-context()
1080 1080
     flags_with_completion=()
1081 1081
     flags_completion=()
1082 1082
 
1083
+    flags+=("--client-certificate=")
1084
+    flags+=("--client-key=")
1085
+    flags+=("--embed-certs")
1083 1086
     flags+=("--help")
1084 1087
     flags+=("-h")
1088
+    flags+=("--password=")
1089
+    flags+=("--token=")
1090
+    flags+=("--username=")
1085 1091
 
1086 1092
     must_have_one_flag=()
1087 1093
     must_have_one_noun=()
1088 1094
 }
1089 1095
 
1090
-_openshift_admin_config()
1096
+_openshift_admin_config_set-context()
1091 1097
 {
1092
-    last_command="openshift_admin_config"
1098
+    last_command="openshift_admin_config_set-context"
1093 1099
     commands=()
1094
-    commands+=("view")
1095
-    commands+=("set-cluster")
1096
-    commands+=("set-credentials")
1097
-    commands+=("set-context")
1098
-    commands+=("set")
1099
-    commands+=("unset")
1100
-    commands+=("use-context")
1101 1100
 
1102 1101
     flags=()
1103 1102
     two_word_flags=()
1104 1103
     flags_with_completion=()
1105 1104
     flags_completion=()
1106 1105
 
1107
-    flags+=("--config=")
1106
+    flags+=("--cluster=")
1108 1107
     flags+=("--help")
1109 1108
     flags+=("-h")
1109
+    flags+=("--namespace=")
1110
+    flags+=("--user=")
1110 1111
 
1111 1112
     must_have_one_flag=()
1112 1113
     must_have_one_noun=()
1113 1114
 }
1114 1115
 
1115
-_openshift_admin_prune_builds()
1116
+_openshift_admin_config_set()
1116 1117
 {
1117
-    last_command="openshift_admin_prune_builds"
1118
+    last_command="openshift_admin_config_set"
1118 1119
     commands=()
1119 1120
 
1120 1121
     flags=()
... ...
@@ -1122,21 +1132,16 @@ _openshift_admin_prune_builds()
1122 1122
     flags_with_completion=()
1123 1123
     flags_completion=()
1124 1124
 
1125
-    flags+=("--confirm")
1126 1125
     flags+=("--help")
1127 1126
     flags+=("-h")
1128
-    flags+=("--keep-complete=")
1129
-    flags+=("--keep-failed=")
1130
-    flags+=("--keep-younger-than=")
1131
-    flags+=("--orphans")
1132 1127
 
1133 1128
     must_have_one_flag=()
1134 1129
     must_have_one_noun=()
1135 1130
 }
1136 1131
 
1137
-_openshift_admin_prune_deployments()
1132
+_openshift_admin_config_unset()
1138 1133
 {
1139
-    last_command="openshift_admin_prune_deployments"
1134
+    last_command="openshift_admin_config_unset"
1140 1135
     commands=()
1141 1136
 
1142 1137
     flags=()
... ...
@@ -1144,21 +1149,16 @@ _openshift_admin_prune_deployments()
1144 1144
     flags_with_completion=()
1145 1145
     flags_completion=()
1146 1146
 
1147
-    flags+=("--confirm")
1148 1147
     flags+=("--help")
1149 1148
     flags+=("-h")
1150
-    flags+=("--keep-complete=")
1151
-    flags+=("--keep-failed=")
1152
-    flags+=("--keep-younger-than=")
1153
-    flags+=("--orphans")
1154 1149
 
1155 1150
     must_have_one_flag=()
1156 1151
     must_have_one_noun=()
1157 1152
 }
1158 1153
 
1159
-_openshift_admin_prune_images()
1154
+_openshift_admin_config_use-context()
1160 1155
 {
1161
-    last_command="openshift_admin_prune_images"
1156
+    last_command="openshift_admin_config_use-context"
1162 1157
     commands=()
1163 1158
 
1164 1159
     flags=()
... ...
@@ -1166,31 +1166,31 @@ _openshift_admin_prune_images()
1166 1166
     flags_with_completion=()
1167 1167
     flags_completion=()
1168 1168
 
1169
-    flags+=("--certificate-authority=")
1170
-    flags+=("--confirm")
1171 1169
     flags+=("--help")
1172 1170
     flags+=("-h")
1173
-    flags+=("--keep-tag-revisions=")
1174
-    flags+=("--keep-younger-than=")
1175
-    flags+=("--registry-url=")
1176 1171
 
1177 1172
     must_have_one_flag=()
1178 1173
     must_have_one_noun=()
1179 1174
 }
1180 1175
 
1181
-_openshift_admin_prune()
1176
+_openshift_admin_config()
1182 1177
 {
1183
-    last_command="openshift_admin_prune"
1178
+    last_command="openshift_admin_config"
1184 1179
     commands=()
1185
-    commands+=("builds")
1186
-    commands+=("deployments")
1187
-    commands+=("images")
1180
+    commands+=("view")
1181
+    commands+=("set-cluster")
1182
+    commands+=("set-credentials")
1183
+    commands+=("set-context")
1184
+    commands+=("set")
1185
+    commands+=("unset")
1186
+    commands+=("use-context")
1188 1187
 
1189 1188
     flags=()
1190 1189
     two_word_flags=()
1191 1190
     flags_with_completion=()
1192 1191
     flags_completion=()
1193 1192
 
1193
+    flags+=("--config=")
1194 1194
     flags+=("--help")
1195 1195
     flags+=("-h")
1196 1196
 
... ...
@@ -1230,9 +1230,9 @@ _openshift_admin_create-kubeconfig()
1230 1230
     must_have_one_noun=()
1231 1231
 }
1232 1232
 
1233
-_openshift_admin_create-bootstrap-policy-file()
1233
+_openshift_admin_create-api-client-config()
1234 1234
 {
1235
-    last_command="openshift_admin_create-bootstrap-policy-file"
1235
+    last_command="openshift_admin_create-api-client-config"
1236 1236
     commands=()
1237 1237
 
1238 1238
     flags=()
... ...
@@ -1240,12 +1240,28 @@ _openshift_admin_create-bootstrap-policy-file()
1240 1240
     flags_with_completion=()
1241 1241
     flags_completion=()
1242 1242
 
1243
-    flags+=("--filename=")
1244
-    flags_with_completion+=("--filename")
1243
+    flags+=("--basename=")
1244
+    flags+=("--certificate-authority=")
1245
+    flags_with_completion+=("--certificate-authority")
1245 1246
     flags_completion+=("_filedir")
1247
+    flags+=("--client-dir=")
1248
+    flags_with_completion+=("--client-dir")
1249
+    flags_completion+=("_filedir")
1250
+    flags+=("--groups=")
1246 1251
     flags+=("--help")
1247 1252
     flags+=("-h")
1248
-    flags+=("--openshift-namespace=")
1253
+    flags+=("--master=")
1254
+    flags+=("--public-master=")
1255
+    flags+=("--signer-cert=")
1256
+    flags_with_completion+=("--signer-cert")
1257
+    flags_completion+=("_filedir")
1258
+    flags+=("--signer-key=")
1259
+    flags_with_completion+=("--signer-key")
1260
+    flags_completion+=("_filedir")
1261
+    flags+=("--signer-serial=")
1262
+    flags_with_completion+=("--signer-serial")
1263
+    flags_completion+=("_filedir")
1264
+    flags+=("--user=")
1249 1265
 
1250 1266
     must_have_one_flag=()
1251 1267
     must_have_one_noun=()
... ...
@@ -1275,6 +1291,27 @@ _openshift_admin_create-bootstrap-project-template()
1275 1275
     must_have_one_noun=()
1276 1276
 }
1277 1277
 
1278
+_openshift_admin_create-bootstrap-policy-file()
1279
+{
1280
+    last_command="openshift_admin_create-bootstrap-policy-file"
1281
+    commands=()
1282
+
1283
+    flags=()
1284
+    two_word_flags=()
1285
+    flags_with_completion=()
1286
+    flags_completion=()
1287
+
1288
+    flags+=("--filename=")
1289
+    flags_with_completion+=("--filename")
1290
+    flags_completion+=("_filedir")
1291
+    flags+=("--help")
1292
+    flags+=("-h")
1293
+    flags+=("--openshift-namespace=")
1294
+
1295
+    must_have_one_flag=()
1296
+    must_have_one_noun=()
1297
+}
1298
+
1278 1299
 _openshift_admin_overwrite-policy()
1279 1300
 {
1280 1301
     last_command="openshift_admin_overwrite-policy"
... ...
@@ -1360,9 +1397,9 @@ _openshift_admin_create-node-config()
1360 1360
     must_have_one_noun=()
1361 1361
 }
1362 1362
 
1363
-_openshift_admin_create-master-certs()
1363
+_openshift_admin_ca_create-master-certs()
1364 1364
 {
1365
-    last_command="openshift_admin_create-master-certs"
1365
+    last_command="openshift_admin_ca_create-master-certs"
1366 1366
     commands=()
1367 1367
 
1368 1368
     flags=()
... ...
@@ -1385,46 +1422,9 @@ _openshift_admin_create-master-certs()
1385 1385
     must_have_one_noun=()
1386 1386
 }
1387 1387
 
1388
-_openshift_admin_create-api-client-config()
1389
-{
1390
-    last_command="openshift_admin_create-api-client-config"
1391
-    commands=()
1392
-
1393
-    flags=()
1394
-    two_word_flags=()
1395
-    flags_with_completion=()
1396
-    flags_completion=()
1397
-
1398
-    flags+=("--basename=")
1399
-    flags+=("--certificate-authority=")
1400
-    flags_with_completion+=("--certificate-authority")
1401
-    flags_completion+=("_filedir")
1402
-    flags+=("--client-dir=")
1403
-    flags_with_completion+=("--client-dir")
1404
-    flags_completion+=("_filedir")
1405
-    flags+=("--groups=")
1406
-    flags+=("--help")
1407
-    flags+=("-h")
1408
-    flags+=("--master=")
1409
-    flags+=("--public-master=")
1410
-    flags+=("--signer-cert=")
1411
-    flags_with_completion+=("--signer-cert")
1412
-    flags_completion+=("_filedir")
1413
-    flags+=("--signer-key=")
1414
-    flags_with_completion+=("--signer-key")
1415
-    flags_completion+=("_filedir")
1416
-    flags+=("--signer-serial=")
1417
-    flags_with_completion+=("--signer-serial")
1418
-    flags_completion+=("_filedir")
1419
-    flags+=("--user=")
1420
-
1421
-    must_have_one_flag=()
1422
-    must_have_one_noun=()
1423
-}
1424
-
1425
-_openshift_admin_create-key-pair()
1388
+_openshift_admin_ca_create-key-pair()
1426 1389
 {
1427
-    last_command="openshift_admin_create-key-pair"
1390
+    last_command="openshift_admin_ca_create-key-pair"
1428 1391
     commands=()
1429 1392
 
1430 1393
     flags=()
... ...
@@ -1446,9 +1446,9 @@ _openshift_admin_create-key-pair()
1446 1446
     must_have_one_noun=()
1447 1447
 }
1448 1448
 
1449
-_openshift_admin_create-server-cert()
1449
+_openshift_admin_ca_create-server-cert()
1450 1450
 {
1451
-    last_command="openshift_admin_create-server-cert"
1451
+    last_command="openshift_admin_ca_create-server-cert"
1452 1452
     commands=()
1453 1453
 
1454 1454
     flags=()
... ...
@@ -1480,9 +1480,9 @@ _openshift_admin_create-server-cert()
1480 1480
     must_have_one_noun=()
1481 1481
 }
1482 1482
 
1483
-_openshift_admin_create-signer-cert()
1483
+_openshift_admin_ca_create-signer-cert()
1484 1484
 {
1485
-    last_command="openshift_admin_create-signer-cert"
1485
+    last_command="openshift_admin_ca_create-signer-cert"
1486 1486
     commands=()
1487 1487
 
1488 1488
     flags=()
... ...
@@ -1508,6 +1508,27 @@ _openshift_admin_create-signer-cert()
1508 1508
     must_have_one_noun=()
1509 1509
 }
1510 1510
 
1511
+_openshift_admin_ca()
1512
+{
1513
+    last_command="openshift_admin_ca"
1514
+    commands=()
1515
+    commands+=("create-master-certs")
1516
+    commands+=("create-key-pair")
1517
+    commands+=("create-server-cert")
1518
+    commands+=("create-signer-cert")
1519
+
1520
+    flags=()
1521
+    two_word_flags=()
1522
+    flags_with_completion=()
1523
+    flags_completion=()
1524
+
1525
+    flags+=("--help")
1526
+    flags+=("-h")
1527
+
1528
+    must_have_one_flag=()
1529
+    must_have_one_noun=()
1530
+}
1531
+
1511 1532
 _openshift_admin_options()
1512 1533
 {
1513 1534
     last_command="openshift_admin_options"
... ...
@@ -1531,23 +1552,20 @@ _openshift_admin()
1531 1531
     commands=()
1532 1532
     commands+=("new-project")
1533 1533
     commands+=("policy")
1534
-    commands+=("ipfailover")
1535 1534
     commands+=("router")
1535
+    commands+=("ipfailover")
1536 1536
     commands+=("registry")
1537 1537
     commands+=("build-chain")
1538 1538
     commands+=("manage-node")
1539
-    commands+=("config")
1540 1539
     commands+=("prune")
1540
+    commands+=("config")
1541 1541
     commands+=("create-kubeconfig")
1542
-    commands+=("create-bootstrap-policy-file")
1542
+    commands+=("create-api-client-config")
1543 1543
     commands+=("create-bootstrap-project-template")
1544
+    commands+=("create-bootstrap-policy-file")
1544 1545
     commands+=("overwrite-policy")
1545 1546
     commands+=("create-node-config")
1546
-    commands+=("create-master-certs")
1547
-    commands+=("create-api-client-config")
1548
-    commands+=("create-key-pair")
1549
-    commands+=("create-server-cert")
1550
-    commands+=("create-signer-cert")
1547
+    commands+=("ca")
1551 1548
     commands+=("options")
1552 1549
 
1553 1550
     flags=()
... ...
@@ -47,7 +47,7 @@ pushd /vagrant
47 47
   CERT_DIR="${MASTER_CONFIG_DIR}"
48 48
 
49 49
   # Master certs
50
-  /usr/bin/openshift admin create-master-certs \
50
+  /usr/bin/openshift admin ca create-master-certs \
51 51
     --overwrite=false \
52 52
     --cert-dir=${CERT_DIR} \
53 53
     --master=https://${MASTER_IP}:8443 \