本文整理汇总了Golang中github.com/fabric8io/gofabric8/util.Fatalf函数的典型用法代码示例。如果您正苦于以下问题:Golang Fatalf函数的具体用法?Golang Fatalf怎么用?Golang Fatalf使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Fatalf函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: deployFabric8SASSecurityContextConstraints
func deployFabric8SASSecurityContextConstraints(c *k8sclient.Client, f *cmdutil.Factory, ns string) (Result, error) {
name := Fabric8SASSCC
scc := kapi.SecurityContextConstraints{
ObjectMeta: kapi.ObjectMeta{
Name: name,
},
SELinuxContext: kapi.SELinuxContextStrategyOptions{
Type: kapi.SELinuxStrategyRunAsAny,
},
RunAsUser: kapi.RunAsUserStrategyOptions{
Type: kapi.RunAsUserStrategyRunAsAny,
},
Groups: []string{"system:serviceaccounts"},
Volumes: []kapi.FSType{kapi.FSTypeGitRepo, kapi.FSTypeConfigMap, kapi.FSTypeSecret, kapi.FSTypeEmptyDir},
}
_, err := c.SecurityContextConstraints().Get(name)
if err == nil {
err = c.SecurityContextConstraints().Delete(name)
if err != nil {
return Failure, err
}
}
_, err = c.SecurityContextConstraints().Create(&scc)
if err != nil {
util.Fatalf("Cannot create SecurityContextConstraints: %v\n", err)
util.Fatalf("Failed to create SecurityContextConstraints %v in namespace %s: %v\n", scc, ns, err)
return Failure, err
}
util.Infof("SecurityContextConstraints %s is setup correctly\n", name)
return Success, err
}
开发者ID:rhuss,项目名称:gofabric8,代码行数:31,代码来源:deploy.go
示例2: NewCmdDockerEnv
// NewCmdDockerEnv sets the current
func NewCmdDockerEnv(f *cmdutil.Factory) *cobra.Command {
cmd := &cobra.Command{
Use: "docker-env",
Short: "Sets up docker env variables; Usage 'eval $(gofabric8 docker-env)'",
Long: `Sets up docker env variables; Usage 'eval $(gofabric8 docker-env)'`,
Run: func(cmd *cobra.Command, args []string) {
c, _ := client.NewClient(f)
nodes, err := c.Nodes().List(api.ListOptions{})
if err != nil {
util.Errorf("Unable to find any nodes: %s\n", err)
}
if len(nodes.Items) == 1 {
node := nodes.Items[0]
var command string
var args []string
if node.Name == minikubeNodeName {
command = "minikube"
args = []string{"docker-env"}
} else if node.Name == minishiftNodeName {
command = "minishift"
args = []string{"docker-env"}
} else if node.Name == rhelcdk {
command = "vagrant"
args = []string{"service-manager", "env", "docker"}
}
if command == "" {
util.Fatalf("Unrecognised cluster environment for node %s\n", node.Name)
util.Fatalf("docker-env support is currently only for CDK, Minishift and Minikube\n")
}
e := exec.Command(command, args...)
e.Stdout = os.Stdout
e.Stderr = os.Stderr
err = e.Run()
if err != nil {
util.Fatalf("Unable to set the docker environment %v", err)
}
} else {
util.Fatalf("docker-env is only available to run on clusters of 1 node")
}
},
}
return cmd
}
开发者ID:gashcrumb,项目名称:gofabric8,代码行数:54,代码来源:docker_env.go
示例3: generateSshKeyPair
func generateSshKeyPair(logGeneratedKeys string) Keypair {
priv, err := rsa.GenerateKey(rand.Reader, 2014)
if err != nil {
util.Fatalf("Error generating key", err)
}
err = priv.Validate()
if err != nil {
util.Fatalf("Validation failed.", err)
}
// Get der format. priv_der []byte
priv_der := x509.MarshalPKCS1PrivateKey(priv)
// pem.Block
// blk pem.Block
priv_blk := pem.Block{
Type: "RSA PRIVATE KEY",
Headers: nil,
Bytes: priv_der,
}
// Resultant private key in PEM format.
// priv_pem string
priv_pem := string(pem.EncodeToMemory(&priv_blk))
if logGeneratedKeys == "true" {
util.Infof(priv_pem)
}
// Public Key generation
pub := priv.PublicKey
pub_der, err := x509.MarshalPKIXPublicKey(&pub)
if err != nil {
util.Fatalf("Failed to get der format for PublicKey.", err)
}
pub_blk := pem.Block{
Type: "PUBLIC KEY",
Headers: nil,
Bytes: pub_der,
}
pub_pem := string(pem.EncodeToMemory(&pub_blk))
if logGeneratedKeys == "true" {
util.Infof(pub_pem)
}
return Keypair{
pub: []byte(pub_pem),
priv: []byte(priv_pem),
}
}
开发者ID:iocanel,项目名称:gofabric8,代码行数:52,代码来源:secrets.go
示例4: NewClient
func NewClient(f *cmdutil.Factory) (*client.Client, *restclient.Config) {
var err error
cfg, err := f.ClientConfig()
if err != nil {
util.Error("Could not initialise a client - is your server setting correct?\n\n")
util.Fatalf("%v", err)
}
c, err := client.New(cfg)
if err != nil {
util.Fatalf("Could not initialise a client: %v", err)
}
return c, cfg
}
开发者ID:rhuss,项目名称:gofabric8,代码行数:14,代码来源:client.go
示例5: deployFabric8SecurityContextConstraints
func deployFabric8SecurityContextConstraints(c *k8sclient.Client, f *cmdutil.Factory, ns string) (Result, error) {
name := Fabric8SCC
if ns != "default" {
name += "-" + ns
}
scc := kapi.SecurityContextConstraints{
ObjectMeta: kapi.ObjectMeta{
Name: name,
},
Priority: &[]int{10}[0],
AllowPrivilegedContainer: true,
AllowHostNetwork: true,
AllowHostPorts: true,
Volumes: []kapi.FSType{kapi.FSTypeAll},
SELinuxContext: kapi.SELinuxContextStrategyOptions{
Type: kapi.SELinuxStrategyRunAsAny,
},
RunAsUser: kapi.RunAsUserStrategyOptions{
Type: kapi.RunAsUserStrategyRunAsAny,
},
Users: []string{
"system:serviceaccount:openshift-infra:build-controller",
"system:serviceaccount:" + ns + ":default",
"system:serviceaccount:" + ns + ":fabric8",
"system:serviceaccount:" + ns + ":gerrit",
"system:serviceaccount:" + ns + ":jenkins",
"system:serviceaccount:" + ns + ":router",
"system:serviceaccount:" + ns + ":registry",
"system:serviceaccount:" + ns + ":gogs",
"system:serviceaccount:" + ns + ":fluentd",
},
Groups: []string{bootstrappolicy.ClusterAdminGroup, bootstrappolicy.NodesGroup},
}
_, err := c.SecurityContextConstraints().Get(name)
if err == nil {
err = c.SecurityContextConstraints().Delete(name)
if err != nil {
return Failure, err
}
}
_, err = c.SecurityContextConstraints().Create(&scc)
if err != nil {
util.Fatalf("Cannot create SecurityContextConstraints: %v\n", err)
util.Fatalf("Failed to create SecurityContextConstraints %v in namespace %s: %v\n", scc, ns, err)
return Failure, err
}
util.Infof("SecurityContextConstraints %s is setup correctly\n", name)
return Success, err
}
开发者ID:rhuss,项目名称:gofabric8,代码行数:49,代码来源:deploy.go
示例6: NewCmdCopyEndpoints
func NewCmdCopyEndpoints(f *cmdutil.Factory) *cobra.Command {
cmd := &cobra.Command{
Use: "copy-endpoints",
Short: "Copies endpoints from the current namespace to a target namespace",
Long: `Copies endpoints from the current namespace to a target namespace`,
PreRun: func(cmd *cobra.Command, args []string) {
showBanner()
},
Run: func(cmd *cobra.Command, args []string) {
if len(args) == 0 {
util.Info("Please specify one or more endpoint names to copy as arguments!\n")
return
}
c, cfg := client.NewClient(f)
oc, _ := client.NewOpenShiftClient(cfg)
initSchema()
toNamespace := cmd.Flags().Lookup(toNamespaceFlag).Value.String()
fromNamespace := cmd.Flags().Lookup(fromNamespaceFlag).Value.String()
if len(fromNamespace) == 0 {
ns, _, err := f.DefaultNamespace()
if err != nil {
util.Fatal("No default namespace")
}
fromNamespace = ns
}
if len(toNamespace) == 0 {
util.Fatal("No target namespace specified!")
}
util.Infof("Copying endpoints from namespace: %s to namespace: %s\n", fromNamespace, toNamespace)
err := ensureNamespaceExists(c, oc, toNamespace)
if err != nil {
util.Fatalf("Failed to copy endpoints %v", err)
}
err = copyEndpoints(c, fromNamespace, toNamespace, args)
if err != nil {
util.Fatalf("Failed to copy endpoints %v", err)
}
},
}
cmd.PersistentFlags().StringP(fromNamespaceFlag, "f", "", "the source namespace or uses the default namespace")
cmd.PersistentFlags().StringP(toNamespaceFlag, "t", "", "the destination namespace")
return cmd
}
开发者ID:fabric8io,项目名称:gofabric8,代码行数:49,代码来源:copy_endpoints.go
示例7: getFabric8BinLocation
func getFabric8BinLocation() string {
home := homedir.HomeDir()
if home == "" {
util.Fatalf("No user home environment variable found for OS %s", runtime.GOOS)
}
return filepath.Join(home, ".fabric8", "bin")
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:7,代码来源:install.go
示例8: NewCmdService
// NewCmdService looks up the external service address and opens the URL
// Credits: https://github.com/kubernetes/minikube/blob/v0.9.0/cmd/minikube/cmd/service.go
func NewCmdService(f *cmdutil.Factory) *cobra.Command {
cmd := &cobra.Command{
Use: "service",
Short: "Opens the specified Kubernetes service in your browser",
Long: `Opens the specified Kubernetes service in your browser`,
Run: func(cmd *cobra.Command, args []string) {
c, _ := client.NewClient(f)
ns := cmd.Flags().Lookup(namespaceCommandFlag).Value.String()
if ns == "" {
ns, _, _ = f.DefaultNamespace()
}
printURL := cmd.Flags().Lookup(urlCommandFlag).Value.String() == "true"
retry := cmd.Flags().Lookup(retryFlag).Value.String() == "true"
if len(args) == 1 {
openService(ns, args[0], c, printURL, retry)
} else {
util.Fatalf("Please choose a service, found %v arguments\n", len(args))
}
},
}
cmd.PersistentFlags().StringP(namespaceCommandFlag, "n", "default", "The service namespace")
cmd.PersistentFlags().BoolP(urlCommandFlag, "u", false, "Display the kubernetes service exposed URL in the CLI instead of opening it in the default browser")
cmd.PersistentFlags().Bool(retryFlag, true, "Retries to find the service if its not available just yet")
return cmd
}
开发者ID:fabric8io,项目名称:gofabric8,代码行数:29,代码来源:service.go
示例9: generateSshKeyPair
func generateSshKeyPair() Keypair {
priv, err := rsa.GenerateKey(rand.Reader, 2014)
if err != nil {
util.Fatalf("Error generating key", err)
}
// Get der format. priv_der []byte
priv_der := x509.MarshalPKCS1PrivateKey(priv)
// pem.Block
// blk pem.Block
priv_blk := pem.Block{
Type: "RSA PRIVATE KEY",
Headers: nil,
Bytes: priv_der,
}
// Resultant private key in PEM format.
// priv_pem string
priv_pem := string(pem.EncodeToMemory(&priv_blk))
// Public Key generation
sshPublicKey, err := ssh.NewPublicKey(&priv.PublicKey)
pubBytes := ssh.MarshalAuthorizedKey(sshPublicKey)
return Keypair{
pub: []byte(pubBytes),
priv: []byte(priv_pem),
}
}
开发者ID:MarWestermann,项目名称:gofabric8,代码行数:31,代码来源:secrets.go
示例10: loadJsonDataAndAdaptFabric8Images
func loadJsonDataAndAdaptFabric8Images(uri string, dockerRegistry string, arch string) ([]byte, error) {
resp, err := http.Get(uri)
if err != nil {
util.Fatalf("Cannot get fabric8 template to deploy: %v", err)
}
defer resp.Body.Close()
jsonData, err := ioutil.ReadAll(resp.Body)
if err != nil {
util.Fatalf("Cannot get fabric8 template to deploy: %v", err)
}
jsonData, err = adaptFabric8ImagesInResourceDescriptor(jsonData, dockerRegistry, arch)
if err != nil {
util.Fatalf("Cannot append docker registry: %v", err)
}
return jsonData, nil
}
开发者ID:rhuss,项目名称:gofabric8,代码行数:16,代码来源:deploy.go
示例11: getTemplates
func getTemplates(c *oclient.Client, ns string) *tapi.TemplateList {
templates, err := c.Templates(ns).List(api.ListOptions{})
if err != nil {
util.Fatalf("No Templates found in namespace %s\n", ns)
}
return templates
}
开发者ID:fabric8io,项目名称:gofabric8,代码行数:7,代码来源:secrets.go
示例12: NewCmdCleanUp
// NewCmdCleanUp delete all fabric8 apps, environments and configurations
func NewCmdCleanUp(f *cmdutil.Factory) *cobra.Command {
cmd := &cobra.Command{
Use: "cleanup",
Short: "Hard delete all fabric8 apps, environments and configurations",
Long: `Hard delete all fabric8 apps, environments and configurations`,
Run: func(cmd *cobra.Command, args []string) {
currentContext, err := util.GetCurrentContext()
if err != nil {
util.Fatalf("%s", err)
}
fmt.Fprintf(os.Stdout, `WARNING this is destructive and will remove ALL fabric8 apps, environments and configuration from cluster %s. Continue? [y/N] `, currentContext)
var confirm string
fmt.Scanln(&confirm)
if confirm == "y" {
util.Info("Removing...\n")
cleanUp(f)
return
}
util.Info("Cancelled")
},
}
return cmd
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:29,代码来源:cleanup.go
示例13: validateRouter
func validateRouter(c *k8sclient.Client, f *cmdutil.Factory) (Result, error) {
ns, _, err := f.DefaultNamespace()
if err != nil {
return Failure, err
}
requirement, err := labels.NewRequirement("router", labels.EqualsOperator, kutil.NewStringSet("router"))
if err != nil {
return Failure, err
}
label := labels.LabelSelector{*requirement}
rc, err := c.ReplicationControllers(ns).List(label)
if err != nil {
util.Fatalf("Failed to get PersistentVolumeClaims, %s in namespace %s\n", err, ns)
}
if rc != nil {
items := rc.Items
if len(items) > 0 {
return Success, err
}
}
//util.Fatalf("No router running in namespace %s\n", ns)
// TODO lets create a router
return Failure, err
}
开发者ID:ALRubinger,项目名称:gofabric8,代码行数:25,代码来源:validate.go
示例14: getTemplates
func getTemplates(c *oclient.Client, ns string) *tapi.TemplateList {
rc, err := c.Templates(ns).List(labels.Everything(), fields.Everything())
if err != nil {
util.Fatalf("No Templates found in namespace %s\n", ns)
}
return rc
}
开发者ID:MarWestermann,项目名称:gofabric8,代码行数:8,代码来源:secrets.go
示例15: NewCmdStop
// NewCmdStop stops the current local cluster
func NewCmdStop(f *cmdutil.Factory) *cobra.Command {
cmd := &cobra.Command{
Use: "stop",
Short: "Stops a running local cluster",
Long: `Stops a running local cluster`,
Run: func(cmd *cobra.Command, args []string) {
context, err := util.GetCurrentContext()
if err != nil {
util.Fatalf("Error getting current context %s", err)
}
var command string
var cargs []string
if context == util.Minikube {
command = "minikube"
cargs = []string{"stop"}
} else if util.IsMiniShift(context) {
command = "minishift"
cargs = []string{"stop"}
} else if context == util.CDK {
command = "vagrant"
cargs = []string{"halt"}
}
if command == "" {
util.Fatalf("Context %s not supported. Currently only CDK, Minishift and Minikube are supported by this command\n", context)
}
e := exec.Command(command, cargs...)
e.Stdout = os.Stdout
e.Stderr = os.Stderr
err = e.Run()
if err != nil {
util.Fatalf("Unable to stop the cluster %s", err)
}
},
}
return cmd
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:45,代码来源:stop.go
示例16: NewOpenShiftClient
func NewOpenShiftClient(cfg *restclient.Config) (*oclient.Client, *restclient.Config) {
ocfg := *cfg
ocfg.APIPath = ""
c, err := oclient.New(&ocfg)
if err != nil {
util.Fatalf("Could not initialise an OpenShift client: %v", err)
}
return c, cfg
}
开发者ID:rhuss,项目名称:gofabric8,代码行数:10,代码来源:client.go
示例17: f8Version
func f8Version(v string, typeOfMaster util.MasterType) string {
metadataUrl := consoleMetadataUrl
if typeOfMaster == util.Kubernetes {
metadataUrl = consoleKubernetesMetadataUrl
}
resp, err := http.Get(metadataUrl)
if err != nil {
util.Fatalf("Cannot get fabric8 version to deploy: %v", err)
}
defer resp.Body.Close()
// read xml http response
xmlData, err := ioutil.ReadAll(resp.Body)
if err != nil {
util.Fatalf("Cannot get fabric8 version to deploy: %v", err)
}
type Metadata struct {
Release string `xml:"versioning>release"`
Versions []string `xml:"versioning>versions>version"`
}
var m Metadata
err = xml.Unmarshal(xmlData, &m)
if err != nil {
util.Fatalf("Cannot get fabric8 version to deploy: %v", err)
}
if v == "latest" {
return m.Release
}
for _, version := range m.Versions {
if v == version {
return version
}
}
util.Errorf("\nUnknown version: %s\n", v)
util.Fatalf("Valid versions: %v\n", append(m.Versions, "latest"))
return ""
}
开发者ID:iocanel,项目名称:gofabric8,代码行数:42,代码来源:deploy.go
示例18: deployFabric8SecurityContextConstraints
func deployFabric8SecurityContextConstraints(c *k8sclient.Client, f *cmdutil.Factory) (Result, error) {
name := Fabric8SCC
scc := kapi.SecurityContextConstraints{
ObjectMeta: kapi.ObjectMeta{
Name: name,
},
AllowPrivilegedContainer: true,
AllowHostNetwork: true,
AllowHostPorts: true,
AllowHostDirVolumePlugin: true,
SELinuxContext: kapi.SELinuxContextStrategyOptions{
Type: kapi.SELinuxStrategyRunAsAny,
},
RunAsUser: kapi.RunAsUserStrategyOptions{
Type: kapi.RunAsUserStrategyRunAsAny,
},
Users: []string{"system:serviceaccount:openshift-infra:build-controller", "system:serviceaccount:default:default", "system:serviceaccount:default:fabric8", "system:serviceaccount:default:gerrit", "system:serviceaccount:default:jenkins", "system:serviceaccount:default:router"},
Groups: []string{bootstrappolicy.ClusterAdminGroup, bootstrappolicy.NodesGroup},
}
ns, _, err := f.DefaultNamespace()
if err != nil {
util.Fatal("No default namespace")
return Failure, err
}
_, err = c.SecurityContextConstraints().Get(name)
if err == nil {
err = c.SecurityContextConstraints().Delete(name)
if err != nil {
return Failure, err
}
}
_, err = c.SecurityContextConstraints().Create(&scc)
if err != nil {
util.Fatalf("Cannot create SecurityContextConstraints: %v\n", err)
util.Fatalf("Failed to create SecurityContextConstraints %v in namespace %s: %v\n", scc, ns, err)
return Failure, err
}
util.Infof("SecurityContextConstraints %s is setup correctly\n", name)
return Success, err
}
开发者ID:iocanel,项目名称:gofabric8,代码行数:40,代码来源:deploy.go
示例19: validatePersistenceVolumeClaims
func validatePersistenceVolumeClaims(c *k8sclient.Client, f *cmdutil.Factory) (Result, error) {
ns, _, err := f.DefaultNamespace()
if err != nil {
return Failure, err
}
rc, err := c.PersistentVolumeClaims(ns).List(api.ListOptions{})
if err != nil {
util.Fatalf("Failed to get PersistentVolumeClaims, %s in namespace %s\n", err, ns)
}
if rc != nil {
items := rc.Items
pendingClaimNames := make([]string, 0, len(items))
for _, item := range items {
status := item.Status.Phase
if status != "Bound" {
pendingClaimNames = append(pendingClaimNames, item.ObjectMeta.Name)
}
}
if len(pendingClaimNames) > 0 {
util.Failuref("PersistentVolumeClaim not Bound for: %s. You need to create a PersistentVolume!\n", strings.Join(pendingClaimNames, ", "))
util.Info(`
You can enable dynamic PersistentVolume creation with Kubernetes 1.4 or later.
Or to get gofabric8 to create HostPath based PersistentVolume resources for you on minikube and minishift type:
gofabric8 volumes
For other clusters you could do something like this - though ideally with a persistent volume implementation other than hostPath:
cat <<EOF | oc create -f -
---
kind: PersistentVolume
apiVersion: v1
metadata:
name: fabric8
spec:
accessModes:
- ReadWrite
capacity:
storage: 1000
hostPath:
path: /opt/fabric8-data
EOF
`)
return Failure, err
}
return Success, err
}
return Failure, err
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:52,代码来源:validate.go
示例20: cleanUpOpenshiftResources
func cleanUpOpenshiftResources(c *k8sclient.Client, oc *oclient.Client, ns string, selector labels.Selector) {
err := deleteDeploymentConfigs(oc, ns, selector)
if err != nil {
util.Fatalf("%s", err)
}
err = deleteBuilds(oc, ns, selector)
if err != nil {
util.Fatalf("%s", err)
}
err = deleteBuildConfigs(oc, ns, selector)
if err != nil {
util.Fatalf("%s", err)
}
err = deleteRoutes(oc, ns, selector)
if err != nil {
util.Fatalf("%s", err)
}
}
开发者ID:rawlingsj,项目名称:gofabric8,代码行数:22,代码来源:cleanup.go
注:本文中的github.com/fabric8io/gofabric8/util.Fatalf函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论