v3.8.0+incompatible Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2018 License: Apache-2.0 Imports: 65 Imported by: 0




View Source
const (
	DefaultNamespace  = "default"
	SvcDockerRegistry = "docker-registry"
	SvcRouter         = "router"

	RegistryServiceIP = ""
View Source
const (
	DefaultDNSPort   = 53
	AlternateDNSPort = 8053

	OpenShiftContainer      = "origin"
	OpenshiftNamespace      = "openshift"
	OpenshiftInfraNamespace = "openshift-infra"
View Source
const (
	ClusterServiceBrokerAdminRoleName = "system:openshift:clusterservicebroker-client"


View Source
const (
	ServiceCatalogServiceIP = ""


View Source
var (
	BasePorts             = []int{4001, 7001, 8443, 10250}
	RouterPorts           = []int{80, 443}
	DefaultPorts          = append(BasePorts, DefaultDNSPort)
	PortsWithAlternateDNS = append(BasePorts, AlternateDNSPort)
	AllPorts              = append(append(RouterPorts, DefaultPorts...), AlternateDNSPort)
	SocatPidFile          = filepath.Join(homedir.HomeDir(), clientconfig.OpenShiftConfigHomeDir, "")


func AddClusterRole

func AddClusterRole(authorizationClient authorizationtypedclient.ClusterRoleBindingsGetter, role, user string) error

func AddRoleToServiceAccount

func AddRoleToServiceAccount(authorizationClient authorizationtypedclient.RoleBindingsGetter, role, sa, namespace string) error

func AddSCCToServiceAccount

func AddSCCToServiceAccount(securityClient securitytypedclient.SecurityContextConstraintsGetter, scc, sa, namespace string, out io.Writer) error

func CatalogHost

func CatalogHost(routingSuffix, serverIP string) string

func CheckSocat

func CheckSocat() error

func CreateProject

func CreateProject(f *clientcmd.Factory, name, display, desc, basecmd string, out io.Writer) error

CreateProject creates a project

func ErrOpenShiftFailedToStart

func ErrOpenShiftFailedToStart(container string) errors.Error

ErrOpenShiftFailedToStart is thrown when the OpenShift server failed to start

func ErrPortsNotAvailable

func ErrPortsNotAvailable(ports []int) error

func ErrSocatNotFound

func ErrSocatNotFound() errors.Error

func ErrTimedOutWaitingForStart

func ErrTimedOutWaitingForStart(container string) errors.Error

ErrTimedOutWaitingForStart is thrown when the OpenShift server can't be pinged after reasonable amount of time.

func GetConfigFromContainer

func GetConfigFromContainer(client dockerhelper.Interface) (*configapi.MasterConfig, error)

func GetServiceCatalogRBACDelta

func GetServiceCatalogRBACDelta() []rbac.ClusterRole

GetServiceCatalogRBACDelta returns a cluster role with the required rules to bootstrap service catalog

func ImportObjects

func ImportObjects(f *clientcmd.Factory, ns, location string) error

ImportObjects imports objects into OpenShift from a particular location into a given namespace

func IsPortsNotAvailableErr

func IsPortsNotAvailableErr(err error) bool

func KillExistingSocat

func KillExistingSocat() error

func LoggedInUserFactory

func LoggedInUserFactory() (*clientcmd.Factory, error)

func LoggingHost

func LoggingHost(routingSuffix, serverIP string) string

func Login

func Login(username, password, server, configDir string, f *clientcmd.Factory, c *cobra.Command, out, errOut io.Writer) error

Login logs into the specified server using given credentials and CA file

func MetricsHost

func MetricsHost(routingSuffix, serverIP string) string

func SaveSocatPid

func SaveSocatPid(pid int) error

func UnavailablePorts

func UnavailablePorts(err error) []int


type Helper

type Helper struct {
	// contains filtered or unexported fields

Helper contains methods and utilities to help with OpenShift startup

func NewHelper

func NewHelper(dockerHelper *dockerhelper.Helper, hostHelper *host.HostHelper, image, containerName, publicHostname, routingSuffix string) *Helper

NewHelper creates a new OpenShift helper

func (*Helper) CheckNodes

func (h *Helper) CheckNodes(kclient kclientset.Interface) error

CheckNodes determines if there is more than one node that corresponds to the current machine and removes the one that doesn't match the default node name

func (*Helper) DetermineNodeHost

func (h *Helper) DetermineNodeHost(hostConfigDir string, names ...string) (string, error)

func (*Helper) GetConfigFromLocalDir

func (h *Helper) GetConfigFromLocalDir(configDir string) (*configapi.MasterConfig, string, error)

func (*Helper) GetNodeConfigFromLocalDir

func (h *Helper) GetNodeConfigFromLocalDir(configDir string) (*configapi.NodeConfig, string, error)

func (*Helper) InstallLogging

func (h *Helper) InstallLogging(f *clientcmd.Factory, publicHostname, loggerHost, imagePrefix, imageVersion string) error

InstallLogging checks whether logging is installed and installs it if not already installed

func (*Helper) InstallLoggingViaAnsible

func (h *Helper) InstallLoggingViaAnsible(f *clientcmd.Factory, serverIP, publicHostname, loggerHost, imagePrefix, imageVersion, hostConfigDir, imageStreams string) error

InstallLoggingViaAnsible checks whether logging is installed and installs it if not already installed

func (*Helper) InstallMetrics

func (h *Helper) InstallMetrics(f *clientcmd.Factory, hostName, imagePrefix, imageVersion string) error

InstallMetrics checks whether metrics is installed and installs it if not already installed

func (*Helper) InstallMetricsViaAnsible

func (h *Helper) InstallMetricsViaAnsible(f *clientcmd.Factory, serverIP, publicHostname, hostName, imagePrefix, imageVersion, hostConfigDir, imageStreams string) error

InstallMetricsViaAnsible checks whether metrics is installed and installs it if not already installed

func (*Helper) InstallRegistry

func (h *Helper) InstallRegistry(kubeClient kclientset.Interface, f *clientcmd.Factory, configDir, images, pvDir string, out, errout io.Writer) error

InstallRegistry checks whether a registry is installed and installs one if not already installed

func (*Helper) InstallRouter

func (h *Helper) InstallRouter(kubeClient kclientset.Interface, f *clientcmd.Factory, configDir, images, hostIP string, portForwarding bool, out, errout io.Writer) error

InstallRouter installs a default router on the OpenShift server

func (*Helper) InstallServiceCatalog

func (h *Helper) InstallServiceCatalog(f *clientcmd.Factory, configDir, publicMaster, catalogHost string, imageFormat string) error

InstallServiceCatalog checks whether the service catalog is installed and installs it if not already installed

func (*Helper) InstallTemplateServiceBroker

func (h *Helper) InstallTemplateServiceBroker(f *clientcmd.Factory, imageFormat string, serverLogLevel int) error

InstallTemplateServiceBroker checks whether the template service broker is installed and installs it if not already installed

func (*Helper) Master

func (h *Helper) Master(ip string) string

func (*Helper) OriginLog

func (h *Helper) OriginLog() string

func (*Helper) OtherIPs

func (h *Helper) OtherIPs(excludeIP string) ([]string, error)

OtherIPs tries to find other IPs besides the argument IP for the Docker host

func (*Helper) RegisterTemplateServiceBroker

func (h *Helper) RegisterTemplateServiceBroker(f *clientcmd.Factory, configDir string) error

RegisterTemplateServiceBroker registers the TSB with the SC by creating the broker resource

func (*Helper) ServerIP

func (h *Helper) ServerIP() (string, error)

ServerIP retrieves the Server ip through the openshift start command

func (*Helper) ServerPrereleaseVersion

func (h *Helper) ServerPrereleaseVersion() (semver.Version, error)

func (*Helper) ServerVersion

func (h *Helper) ServerVersion() (semver.Version, error)

func (*Helper) SetupPersistentStorage

func (h *Helper) SetupPersistentStorage(authorizationClient authorizationtypedclient.ClusterRoleBindingsGetter, kclient kclientset.Interface, securityClient securityclient.Interface, dir, HostPersistentVolumesDir string) error

SetupPersistentStorage sets up persistent storage

func (*Helper) Start

func (h *Helper) Start(opt *StartOptions, out io.Writer) (string, error)

Start starts the OpenShift master as a Docker container and returns a directory in the local file system where the OpenShift configuration has been copied

func (*Helper) StartNode

func (h *Helper) StartNode(opt *StartOptions, out io.Writer) error

StartNode starts the OpenShift node as a Docker container and returns a directory in the local file system where the OpenShift configuration has been copied

func (*Helper) TestContainerNetworking

func (h *Helper) TestContainerNetworking(ip string) error

TestContainerNetworking launches a container that will check whether the container can communicate with the master API and DNS endpoints.

func (*Helper) TestForwardedIP

func (h *Helper) TestForwardedIP(ip string) error

func (*Helper) TestIP

func (h *Helper) TestIP(ip string) error

func (*Helper) TestPorts

func (h *Helper) TestPorts(ports []int) error

type StartOptions

type StartOptions struct {
	ServerIP                 string
	AdditionalIPs            []string
	RoutingSuffix            string
	DNSPort                  int
	UseSharedVolume          bool
	Images                   string
	HostVolumesDir           string
	HostConfigDir            string
	HostDataDir              string
	HostPersistentVolumesDir string
	UseExistingConfig        bool
	Environment              []string
	LogLevel                 int
	MetricsHost              string
	LoggingHost              string
	PortForwarding           bool
	HTTPProxy                string
	HTTPSProxy               string
	NoProxy                  []string
	KubeconfigContents       string
	DockerRoot               string
	ServiceCatalog           bool

StartOptions represent the parameters sent to the start command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL