Documentation
¶
Index ¶
- Constants
- type IsolatorConfig
- type PingNode
- type ProtectionDomain
- type RexrayConfig
- type Rhel7Packages
- type ScaleIOConfig
- type ScaleIOFramework
- type ScaleIONode
- type ScaleIONodes
- type ScaleIOPreConfig
- type StoragePool
- type Ubuntu14Packages
- type UpdateCluster
- type UpdateDevices
- type UpdateNode
- type Version
Constants ¶
const ( //Ubuntu14MdmPackageName MDM package name for Ubuntu14 Ubuntu14MdmPackageName = "emc-scaleio-mdm" //Ubuntu14SdsPackageName SDS package name for Ubuntu14 Ubuntu14SdsPackageName = "emc-scaleio-sds" //Ubuntu14SdcPackageName SDC package name for Ubuntu14 Ubuntu14SdcPackageName = "emc-scaleio-sdc" //Ubuntu14LiaPackageName LIA package name for Ubuntu14 Ubuntu14LiaPackageName = "emc-scaleio-lia" //Ubuntu14GwPackageName GW package name for Ubuntu14 Ubuntu14GwPackageName = "emc-scaleio-gateway" //Rhel7MdmPackageName MDM package name for RHEL7 Rhel7MdmPackageName = "EMC-ScaleIO-mdm" //Rhel7SdsPackageName SDS package name for RHEL7 Rhel7SdsPackageName = "EMC-ScaleIO-sds" //Rhel7SdcPackageName SDC package name for RHEL7 Rhel7SdcPackageName = "EMC-ScaleIO-sdc" //Rhel7LiaPackageName LIA package name for RHEL7 Rhel7LiaPackageName = "EMC-ScaleIO-lia" //Rhel7GwPackageName GW package name for RHEL7 Rhel7GwPackageName = "EMC-ScaleIO-gateway" //RexRayPackageName rexray package name RexRayPackageName = "rexray" //DvdcliPackageName DVDCLI package name DvdcliPackageName = "dvdcli" )
const ( //PersonaUnknown is unknown PersonaUnknown = 0 //PersonaMdmPrimary is the first MDM PersonaMdmPrimary = 1 //PersonaMdmSecondary is the second MDM PersonaMdmSecondary = 2 //PersonaTb is the tie breaker PersonaTb = 3 //PersonaNode is just a normal data node PersonaNode = 4 )
const ( //StateUnknown will start with a fresh installation (or upgrade) StateUnknown = 0 //StateCleanPrereqsReboot after kernel version has been updated StateCleanPrereqsReboot = 1 //StatePrerequisitesInstalled the prerequisite packages are installed StatePrerequisitesInstalled = 2 //StateBasePackagedInstalled the base ScaleIO packages are installed StateBasePackagedInstalled = 3 //StateInitializeCluster the cluster is setup, now initial the cluster StateInitializeCluster = 4 //StateAddResourcesToScaleIO resources are being added to ScaleIO StateAddResourcesToScaleIO = 5 //StateInstallRexRay install rexray StateInstallRexRay = 6 //StateCleanInstallReboot waiting for all nodes to acknowledge reboot StateCleanInstallReboot = 7 //StateSystemReboot system is rebooting StateSystemReboot = 8 //StateFinishInstall the agent node installation is complete StateFinishInstall = 1024 //StateUpgradeCluster start the upgrade process StateUpgradeCluster = 2048 //StateFatalInstall the agent node installation had a fatal error //manual intervention is required for now StateFatalInstall = 4096 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IsolatorConfig ¶
type IsolatorConfig struct {
Binary string `json:"isolatorbinary"`
}
IsolatorConfig describes the configuration for the mesos isolator on these ScaleIO nodes
type PingNode ¶
type PingNode struct {
Acknowledged bool `json:"acknowledged"`
ExecutorID string `json:"executorid"`
KeyValue map[string]string `json:"keyvalue,omitempty"`
}
PingNode describes a "I am still here" update
type ProtectionDomain ¶ added in v0.3.0
type ProtectionDomain struct {
Name string `json:"name"`
KeyValue map[string]string `json:"keyvalue,omitempty"`
Pools map[string]*StoragePool
}
ProtectionDomain describes a ScaleIO ProtectionDomain
type RexrayConfig ¶
type RexrayConfig struct {
Branch string `json:"rexraybranch"`
Version string `json:"rexrayversion"`
}
RexrayConfig describes the configuration for REX-Ray on these ScaleIO nodes
type Rhel7Packages ¶ added in v0.2.0
type Rhel7Packages struct {
Mdm string `json:"rhel7mdm"`
Sds string `json:"rhel7sds"`
Sdc string `json:"rhel7sdc"`
Lia string `json:"rhel7lia"`
Gw string `json:"rhel7gw"`
}
Rhel7Packages describes the download URIs for CentOS install packages
type ScaleIOConfig ¶
type ScaleIOConfig struct {
Configured bool `json:"configured"`
ClusterID string `json:"clusterid"`
ClusterName string `json:"clustername"` //optional. Default: scaleio
LbGateway string `json:"lbgateway"` //optional.
ProtectionDomain string `json:"protectiondomain"` //optional. Default: default
StoragePool string `json:"storagepool"` //optional. Default: default
AdminPassword string `json:"adminpassword"` //optional. Default: Scaleio123
APIVersion string `json:"apiversion"` //optional. Default: 2.0
KeyValue map[string]string `json:"keyvalue,omitempty"`
Nodes ScaleIONodes
Preconfig ScaleIOPreConfig
Ubuntu14 Ubuntu14Packages
Rhel7 Rhel7Packages
}
ScaleIOConfig describes the configuration for this cluster
type ScaleIOFramework ¶
type ScaleIOFramework struct {
SchedulerAddress string `json:"scheduleraddress"`
LogLevel string `json:"loglevel"` //optional. Default: info
Debug bool `json:"debug"` //optional. Default: false
Experimental bool `json:"experimental"` //optional. Default: false
KeyValue map[string]string `json:"keyvalue,omitempty"`
ScaleIO *ScaleIOConfig
Rexray RexrayConfig
Isolator IsolatorConfig
}
ScaleIOFramework describes the overall framework state
type ScaleIONode ¶
type ScaleIONode struct {
AgentID string `json:"name"`
TaskID string `json:"taskid"`
ExecutorID string `json:"executorid"`
OfferID string `json:"offerid"`
IPAddress string `json:"ipaddress"`
Hostname string `json:"hostname"`
Persona int `json:"persona"`
State int `json:"state"`
LastContact int64 `json:"lastcontact"`
Declarative bool `json:"declarative"`
Advertised bool `json:"advertised"`
KeyValue map[string]string `json:"keyvalue,omitempty"`
ProvidesDomains map[string]*ProtectionDomain
ConsumesDomains map[string]*ProtectionDomain
}
ScaleIONode node definition
type ScaleIOPreConfig ¶
type ScaleIOPreConfig struct {
PreConfigEnabled bool `json:"preconfigenabled"`
PrimaryMdmAddress string `json:"preconfigprimdm"` //required
SecondaryMdmAddress string `json:"preconfigsecmdm"` //required
TieBreakerMdmAddress string `json:"preconfigtbmdm"` //required
GatewayAddress string `json:"preconfiggateway"` //optional. Default: PrimaryMdmAddress
}
ScaleIOPreConfig information to attach Data nodes to an existing ScaleIO cluster
type StoragePool ¶ added in v0.3.0
type StoragePool struct {
Name string `json:"name"`
Devices []string `json:"devices"`
KeyValue map[string]string `json:"keyvalue,omitempty"`
}
StoragePool describes a ScaleIO StoragePool
type Ubuntu14Packages ¶ added in v0.2.0
type Ubuntu14Packages struct {
Mdm string `json:"ubuntu14mdm"`
Sds string `json:"ubuntu14sds"`
Sdc string `json:"ubuntu14sdc"`
Lia string `json:"ubuntu14lia"`
Gw string `json:"ubuntu14gw"`
}
Ubuntu14Packages describes the download URIs for Ubuntu install packages
type UpdateCluster ¶ added in v0.3.0
type UpdateCluster struct {
Acknowledged bool `json:"acknowledged"`
KeyValue map[string]string `json:"keyvalue,omitempty"`
}
UpdateCluster describes how to update the cluster state
type UpdateDevices ¶ added in v0.3.0
type UpdateDevices struct {
Acknowledged bool `json:"acknowledged"`
ExecutorID string `json:"executorid"`
Devices []string `json:"devices"`
KeyValue map[string]string `json:"keyvalue,omitempty"`
}
UpdateDevices describes an executor offering devices to the default pd/sp