Class: MintPress::InfrastructureOci::UsingSharedOCIStorage

Inherits:
OCISharedStorage show all
Includes:
Mixins::GenericProvider, Mixins::Properties
Defined in:
src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb

Properties (Read/Write)

  • #name (Default Value: 'OCISharedStorageProvider')

    Property Attributes
    • default'OCISharedStorageProvider'
    
    
    805
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 805
    
    property :name, default: 'OCISharedStorageProvider'
  • #children

    Property Attributes
    
    
    806
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 806
    
    property :children
  • #cluster_port ⇒ Integer (Default Value: 7777)
    'The cluster port used for ocfs2.'

    Property Attributes
    • default7777
    
    
    610
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 610
    
    property :cluster_port, type: Integer, default: 7777, description: 'The cluster port used for ocfs2.'
  • #disable_indexing ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Set to true if you want to disable updatedb indexing. This is recommended for ocfs2 for performance reasons.'

    Property Attributes
    • defaulttrue
    
    
    611
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 611
    
    property :disable_indexing, type: [TrueClass, FalseClass], default: true, description: 'Set to true if you want to disable updatedb indexing. This is recommended for ocfs2 for performance reasons.'
  • #load_ocfs2_on_boot ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Whether to load the ocfs2 driver on boot.'

    Property Attributes
    • defaulttrue
    
    
    612
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 612
    
    property :load_ocfs2_on_boot, type: [TrueClass, FalseClass], default: true, description: 'Whether to load the ocfs2 driver on boot.'
  • #cluster_stack ⇒ String (Default Value: 'o2cb')
    'Name of the cluster stack for ocfs2, usually limited to o2cb'

    Property Attributes
    • default'o2cb'
    
    
    613
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 613
    
    property :cluster_stack, type: String, default: 'o2cb', description: 'Name of the cluster stack for ocfs2, usually limited to o2cb'
  • #cluster_to_start_on_boot ⇒ String (Default Value: Proc.new { self.cluster_name})
    'Name of the cluster to start on boot, defaults to name of the cluster'

    Property Attributes
    • defaultProc.new { self.cluster_name}
    
    
    614
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 614
    
    property :cluster_to_start_on_boot, type: String, default: Proc.new { self.cluster_name}, description: 'Name of the cluster to start on boot, defaults to name of the cluster'
  • #cluster_heartbeat_dead_threshold ⇒ Integer (Default Value: 60)
    'Value in seconds indicating how long to wait before heartbeat is considered dead.'

    Property Attributes
    • default60
    
    
    615
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 615
    
    property :cluster_heartbeat_dead_threshold, type: Integer, default: 60, description: 'Value in seconds indicating how long to wait before heartbeat is considered dead.'
  • #cluster_network_idle_timeout ⇒ Integer (Default Value: 30000)
    'Value of idle timeout for network in milliseconds'

    Property Attributes
    • default30000
    
    
    616
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 616
    
    property :cluster_network_idle_timeout, type: Integer, default: 30000, description: 'Value of idle timeout for network in milliseconds'
  • #cluster_network_keep_alive_delay ⇒ Integer (Default Value: 2000)
    'Value of keep alive for network in milliseconds'

    Property Attributes
    • default2000
    
    
    617
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 617
    
    property :cluster_network_keep_alive_delay, type: Integer, default: 2000, description: 'Value of keep alive for network in milliseconds'
  • #cluster_network_reconnect_delay ⇒ Integer (Default Value: 2000)
    'Value of network reconnect in milliseconds'

    Property Attributes
    • default2000
    
    
    618
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 618
    
    property :cluster_network_reconnect_delay, type: Integer, default: 2000, description: 'Value of network reconnect in milliseconds'
  • #volume_id ⇒ String (Default Value: Proc.new { find_volume_id })
    'Volume ID in OCI for this volume.'

    Property Attributes
    • defaultProc.new { find_volume_id }
    • alias:id
    
    
    27
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 27
    
    property :volume_id, type: String, description: 'Volume ID in OCI for this volume.', default: Proc.new { find_volume_id }, alias: :id
  • #attachment_id ⇒ String
    'The attachment ID that links this block device with an instance.'

    Property Attributes
    
    
    28
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 28
    
    property :attachment_id, type: String, description: 'The attachment ID that links this block device with an instance.'
  • #attachment_state ⇒ String
    'The state of the attachment.'

    Property Attributes
    
    
    29
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 29
    
    property :attachment_state, type: String, description: 'The state of the attachment.'
  • #device_node (Default Value: Proc.new { get_oci_device_node })

    Property Attributes
    • defaultProc.new { get_oci_device_node }
    
    
    31
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 31
    
    property :device_node, default: Proc.new { get_oci_device_node }
  • #device_path ⇒ String
    'The device path for this device on this host.'

    Property Attributes
    
    
    34
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 34
    
    property :device_path, type: String, description: 'The device path for this device on this host.'
  • #availability_domain ⇒ String (Default Value: Proc.new { self.platform.availability_domain })
    'The availability domain ID that will be used for all the storage built using this provider.'

    Property Attributes
    • defaultProc.new { self.platform.availability_domain }
    
    
    36
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 36
    
    property :availability_domain, type: String, description: 'The availability domain ID that will be used for all the storage built using this provider.', default: Proc.new { self.platform.availability_domain }
  • #compartment ⇒ String (Default Value: Proc.new { self.platform.compartment })
    'The compartment ID that will be used for all the VMs built using this provider.'

    Property Attributes
    • defaultProc.new { self.platform.compartment }
    
    
    38
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 38
    
    property :compartment, type: String, description: 'The compartment ID that will be used for all the VMs built using this provider.', default: Proc.new { self.platform.compartment }
  • #volume_state ⇒ String
    'State of the Volume. Indicates whether the Volume is available or not.'

    Property Attributes
    
    
    40
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 40
    
    property :volume_state, type: String, description: 'State of the Volume. Indicates whether the Volume is available or not.'
  • #platform ⇒ MintPress::InfrastructureOci::OciPlatform (Default Value: Proc.new { if opts[:provider] MintPress::InfrastructureOci::OciPlatform.new(:provider => opts[:provider]) else MintPress::InfrastructureOci::OciPlatform.new end })
    'This incapsulates all properties required for the OCI provider.'

    Property Attributes
    • defaultProc.new { if opts[:provider] MintPress::InfrastructureOci::OciPlatform.new(:provider => opts[:provider]) else MintPress::InfrastructureOci::OciPlatform.new end }
    
    
    43
    44
    45
    46
    47
    48
    49
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 43
    
    property :platform, type: MintPress::InfrastructureOci::OciPlatform, default: Proc.new {
      if opts[:provider]
        MintPress::InfrastructureOci::OciPlatform.new(:provider => opts[:provider])
      else
        MintPress::InfrastructureOci::OciPlatform.new
      end
    }, description: 'This incapsulates all properties required for the OCI provider.'
  • #size_mb (Default Value: Proc.new { find_storage_size })

    Property Attributes
    • defaultProc.new { find_storage_size }
    • alias:size_in_mbs
    
    
    55
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 55
    
    property :size_mb, default: Proc.new { find_storage_size }, alias: :size_in_mbs
  • #size_gb (Default Value: Proc.new { self.size_mb/1024 })

    Property Attributes
    • defaultProc.new { self.size_mb/1024 }
    • alias:size_in_gbs
    
    
    57
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 57
    
    property :size_gb, default: Proc.new { self.size_mb/1024 }, alias: :size_in_gbs
  • #iqn (Default Value: Proc.new { find_iqn })

    Property Attributes
    • defaultProc.new { find_iqn }
    
    
    59
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 59
    
    property :iqn, default: Proc.new { find_iqn }
  • #iqn_ip_port (Default Value: Proc.new { find_iqn_ip_port })

    Property Attributes
    • defaultProc.new { find_iqn_ip_port }
    
    
    61
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 61
    
    property :iqn_ip_port, default: Proc.new { find_iqn_ip_port }
  • #vpus_per_gb (Default Value: 10)
    "The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. "

    Property Attributes
    • default10
    
    
    63
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 63
    
    property :vpus_per_gb, default: 10, description: "The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. "
  • #max_vpus_per_gb (Default Value: nil)
    "The maximum number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. This number must be atleast 10 higher than vpus_per_gb."

    Property Attributes
    • defaultnil
    
    
    65
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 65
    
    property :max_vpus_per_gb, default: nil, description: "The maximum number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. This number must be atleast 10 higher than vpus_per_gb."
  • #is_auto_tune_enabled ⇒ [TrueClass, FalseClass] (Default Value: nil)
    "Specifies whether the auto-tune performance is enabled for this volume."

    Property Attributes
    • defaultnil
    
    
    67
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 67
    
    property :is_auto_tune_enabled, type: [TrueClass, FalseClass], default: nil, description: "Specifies whether the auto-tune performance is enabled for this volume."
  • #is_read_only ⇒ [TrueClass, FalseClass] (Default Value: false)
    "Whether the attachment was created in read-only mode."

    Property Attributes
    • defaultfalse
    
    
    69
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 69
    
    property :is_read_only, type: [TrueClass, FalseClass], default: false, description: "Whether the attachment was created in read-only mode."
  • #is_shareable ⇒ [TrueClass, FalseClass] (Default Value: false)
    "Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified."

    Property Attributes
    • defaultfalse
    
    
    71
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 71
    
    property :is_shareable, type: [TrueClass, FalseClass], default: false, description: "Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified."
  • #backup_policy ⇒ MintPress::InfrastructureOci::VolumeBackupPolicy
    'Volume Policy'

    Property Attributes
    
    
    73
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 73
    
    property :backup_policy, type: MintPress::InfrastructureOci::VolumeBackupPolicy, description: 'Volume Policy'
  • #backup_policy_id ⇒ String (Default Value: nil)
    'If provided, specifies the ID of the volume backup policy to assign to the newly created volume.'

    Property Attributes
    • defaultnil
    
    
    75
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 75
    
    property :backup_policy_id, type: String, default: nil, description: 'If provided, specifies the ID of the volume backup policy to assign to the newly created volume.'
  • #volume_backup_id ⇒ String (Default Value: nil)
    'The OCID of the volume backup from which the data should be restored on the newly created volume.'

    Property Attributes
    • defaultnil
    
    
    77
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 77
    
    property :volume_backup_id, type: String, default: nil, description: 'The OCID of the volume backup from which the data should be restored on the newly created volume.'
  • #block_volume_replicas ⇒ Array of ⇒ OCI::Core::Models::BlockVolumeReplicaDetails (Default Value: nil)
    'The list of block volume replicas to be enabled for this volume in the specified destination availability domains.'

    Property Attributes
    • defaultnil
    
    
    79
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 79
    
    property :block_volume_replicas, type: OCI::Core::Models::BlockVolumeReplicaDetails, default: nil, array: true, description: 'The list of block volume replicas to be enabled for this volume in the specified destination availability domains.'
  • #cluster_placement_group_id ⇒ String (Default Value: nil)
    'The clusterPlacementGroup Id of the volume for volume placement.'

    Property Attributes
    • defaultnil
    
    
    81
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 81
    
    property :cluster_placement_group_id, type: String, default: nil, description: 'The clusterPlacementGroup Id of the volume for volume placement.'
  • #kms_key_id ⇒ String (Default Value: nil)
    'The OCID of the Vault service key to assign as the master encryption key for the volume.'

    Property Attributes
    • defaultnil
    
    
    83
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 83
    
    property :kms_key_id, type: String, default: nil, description: 'The OCID of the Vault service key to assign as the master encryption key for the volume.'
  • #source_details ⇒ OCI::Core::Models::VolumeSourceFromVolumeDetails (Default Value: nil)
    'Source volume detail from which to instantiate this volume.'

    Property Attributes
    • defaultnil
    
    
    85
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 85
    
    property :source_details, type: OCI::Core::Models::VolumeSourceFromVolumeDetails, default: nil, description: 'Source volume detail from which to instantiate this volume.'
  • #autotune_policies ⇒ Array of ⇒ [OCI::Core::Models::DetachedVolumeAutotunePolicy, OCI::Core::Models::PerformanceBasedAutotunePolicy] (Default Value: nil)
    'The list of autotune policies to be enabled for this volume. To use PerformanceBased Policy set the property max_vpus_per_gb.'

    Property Attributes
    • defaultnil
    
    
    87
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 87
    
    property :autotune_policies, type: [OCI::Core::Models::DetachedVolumeAutotunePolicy, OCI::Core::Models::PerformanceBasedAutotunePolicy], default: nil, array: true, description: 'The list of autotune policies to be enabled for this volume. To use PerformanceBased Policy set the property max_vpus_per_gb.'
  • #backup_name ⇒ String (Default Value: Proc.new {"#{self.name}-backup"})
    'Name for the backup.'

    Property Attributes
    • defaultProc.new {"#{self.name}-backup"}
    
    
    89
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 89
    
    property :backup_name, type: String, default: Proc.new {"#{self.name}-backup"}, description: 'Name for the backup.'
  • #wait_for_backup ⇒ [TrueClass, FalseClass] (Default Value: false)
    'Setting this property to true will wait until the backup has been finished and is in available state. Otherwise, Mint will just fire the request and let the backup run in background.'

    Property Attributes
    • defaultfalse
    
    
    91
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 91
    
    property :wait_for_backup, type: [TrueClass, FalseClass], default: false, description: 'Setting this property to true will wait until the backup has been finished and is in available state. Otherwise, Mint will just fire the request and let the backup run in background.'
  • #attachment_type ⇒ String (Default Value: 'paravirt')
    'What type of attachment to use for the storage attachment, e.g. iscsi, paravirt, etc.'

    Property Attributes
    • default'paravirt'
    • allowed_values['iscsi', 'paravirt']
    • insensitivetrue
    
    
    93
    # File 'src/mintpress-infrastructure-oci/lib/mintpress-infrastructure-oci/oci_storage.rb', line 93
    
    property :attachment_type, type: String, default: 'paravirt', allowed_values: ['iscsi', 'paravirt'], insensitive: true, description: 'What type of attachment to use for the storage attachment, e.g. iscsi, paravirt, etc.'
  • #iqn ⇒ String
    'The IQN value for this volume against the instance. This is required to run the iSCSI commands to mount this on the Host.'

    Property Attributes
    
    
    274
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 274
    
    property :iqn, type: String, description: 'The IQN value for this volume against the instance. This is required to run the iSCSI commands to mount this on the Host.'
  • #iqn_ip_port ⇒ String
    'The IQN IP:Port value, required by iSCSI.'

    Property Attributes
    
    
    275
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 275
    
    property :iqn_ip_port, type: String, description: 'The IQN IP:Port value, required by iSCSI.'
  • #name ⇒ String

    Property Attributes
    
    
    16
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 16
    
    property :name, type: String
  • #storage_name ⇒ String (Default Value: Proc.new { r = self.name if host.keys.length == 1 r = [host.values[0].name,self.name].join('-') end r })
    The name of the block device in the storage system - this defaults to "hostname-block_device_name"

    Property Attributes
    • defaultProc.new { r = self.name if host.keys.length == 1 r = [host.values[0].name,self.name].join('-') end r }
    
    
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 18
    
    property :storage_name, type: String, default: Proc.new { r = self.name
    
    if host.keys.length == 1
    
    r = [host.values[0].name,self.name].join('-')
    
    end
    
    r }
  • #is_netdev ⇒ [TrueClass, FalseClass] (Default Value: false)
    Is this at the other end of a network - for example, iscsi? Defaults to false, unless this is iscsi in which case it defaults to true

    Property Attributes
    • defaultfalse
    
    
    31
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 31
    
    property :is_netdev, type: [TrueClass, FalseClass], default: false
  • #storage_group ⇒ String (Default Value: Proc.new { parent.name })
    The disk group on the storage - if not specified, this will default to the name of the parent. Note that not all systems utilize this (AWS, for example, does not)

    Property Attributes
    • defaultProc.new { parent.name }
    
    
    35
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 35
    
    property :storage_group, type: String, default: Proc.new { parent.name }
  • #storage_class ⇒ String (Default Value: 'Default')
    This allows child classes to 'guess' an appropraite IO type Offline - For offline-ish backups. This maps to AWS Glacier and similar backup storage, where access my take real time Capacity - This maps to a 'default' slow type that is usually spinning disk Throughput - This maps to a type which _only_ cares about throughput, but not IOPS Latency - This maps to a low latency disk type Default - whatever the 'default' disk for this platform is Note that this _can_ be overridden with extra allowed_values in child classes to specify exact disks, but this is discouraged! FIXME: This list will almost certainly change as JJ does more mapping!

    Property Attributes
    • allowed_values['Offline', 'Capacity', 'Throughput', 'Latency', 'Default']
    • default'Default'
    
    
    49
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 49
    
    property :storage_class, type: String, allowed_values: ['Offline', 'Capacity', 'Throughput', 'Latency', 'Default'], default: 'Default'
  • #size_mb ⇒ Integer
    How large, in megabytes, should this device be?

    Property Attributes
    
    
    52
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 52
    
    property :size_mb, type: Integer
  • #mount_point ⇒ String
    Where should it be mounted on the filesystem?

    Property Attributes
    
    
    54
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 54
    
    property :mount_point, type: String
  • #virtual_name ⇒ String (Default Value: Proc.new { self.name })
    This is the name given to an LVM or requiavlent

    Property Attributes
    • defaultProc.new { self.name }
    
    
    57
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 57
    
    property :virtual_name, type: String, default: Proc.new { self.name }
  • #shared ⇒ [TrueClass, FalseClass] (Default Value: false)
    Does this need to be created as a sharable volume? Note that some storage providers WILL reject this!

    Property Attributes
    • defaultfalse
    
    
    61
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 61
    
    property :shared, type: [TrueClass, FalseClass], default: false
  • #volume_managed ⇒ [TrueClass, FalseClass] (Default Value: true)
    Do we use the platform's advanced volume manager (LVM on linux), or are these "raw" volumes?

    Property Attributes
    • defaulttrue
    
    
    64
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 64
    
    property :volume_managed, type: [TrueClass, FalseClass], default: true
  • #filesystem ⇒ String (Default Value: 'default')
    'default' will take the default for the installed target platform - YMMV ;) For now, i've stubbed out allowed_values because of things like oracleasm being able to consume this!

    Property Attributes
    • default'default'
    
    
    68
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 68
    
    property :filesystem, type: String, default: 'default'
  • #device_node ⇒ String (Default Value: Proc.new { self.parent.allocate_block_device(self) })
    If this is left blank, one will be allocated for you This probably does NOT work on mutli-attachments for now, but hopefully this also isn't required in those cases!

    Property Attributes
    • defaultProc.new { self.parent.allocate_block_device(self) }
    
    
    73
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 73
    
    property :device_node, type: String, default: Proc.new { self.parent.allocate_block_device(self) }
  • #thin_provision ⇒ [TrueClass, FalseClass]
    If this is unset, it will use the platform default

    Property Attributes
    
    
    83
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 83
    
    property :thin_provision, type: [TrueClass, FalseClass]
  • #create_partition ⇒ [TrueClass, FalseClass] (Default Value: false)
    Should we create a partition? This defaults to false, since dedicated block device partitions are pain if you later want to resize the disk or such like

    Property Attributes
    • defaultfalse
    
    
    87
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 87
    
    property :create_partition, type: [TrueClass, FalseClass], default: false
  • #use_gpt ⇒ [TrueClass, FalseClass] (Default Value: true)
    If we do create a partition, should it be GPT? Default is true

    Property Attributes
    • defaulttrue
    
    
    90
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 90
    
    property :use_gpt, type: [TrueClass, FalseClass], default: true
  • #host ⇒ Hash of ⇒ MintPress::Infrastructure::Host
    Which host is this storage attached to?

    Property Attributes
    
    
    96
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 96
    
    property :host, type: MintPress::Infrastructure::Host, hash: true
  • #enable_clustered_file_system ⇒ [TrueClass, FalseClass] (Default Value: false)
    'Set this to true if you want a clustered file system like, ocfs2, gfs etc.'

    Property Attributes
    • defaultfalse
    
    
    100
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 100
    
    property :enable_clustered_file_system, type: [TrueClass, FalseClass], default: false, description: 'Set this to true if you want a clustered file system like, ocfs2, gfs etc.'
  • #clustered_file_system_type ⇒ String (Default Value: 'ocfs2')
    'Type of clustered file system to configure if [enable_clustering] is set to true.'

    Property Attributes
    • default'ocfs2'
    
    
    102
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 102
    
    property :clustered_file_system_type, type: String, default: 'ocfs2', description: 'Type of clustered file system to configure if [enable_clustering] is set to true.'
  • #cluster_name ⇒ String (Default Value: "#{self.clustered_file_system_type}cluster")
    'Name of the cluster, can only be alpha numeric.'

    Property Attributes
    • default"#{self.clustered_file_system_type}cluster"
    
    
    104
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 104
    
    property :cluster_name, type: String, default: "#{self.clustered_file_system_type}cluster", description: 'Name of the cluster, can only be alpha numeric.'
  • #skip_iscsi_prep ⇒ [TrueClass, FalseClass] (Default Value: false)
    'Flag to execute iscsi commands. Required for OCI paravirt attachments.'

    Property Attributes
    • defaultfalse
    
    
    106
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 106
    
    property :skip_iscsi_prep, type: [TrueClass, FalseClass], default: false, description: 'Flag to execute iscsi commands. Required for OCI paravirt attachments.'
  • #name ⇒ String

    Property Attributes
    
    
    10
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 10
    
    property :name, type: String
  • #mount_point ⇒ String
    Path to mount the filesystem on the target

    Property Attributes
    
    
    12
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 12
    
    property :mount_point, type: String
  • #device_node ⇒ String
    Device node to mount - '/dev/sda5' or '/dev/large_vg/large_lvol' for example

    Property Attributes
    
    
    14
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 14
    
    property :device_node, type: String
  • #filesystem ⇒ String
    Filesystem type - for example, ext4, xfs, nfs

    Property Attributes
    
    
    16
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 16
    
    property :filesystem, type: String
  • #persistant ⇒ [TrueClass, FalseClass] (Default Value: true)
    Should it persist in /etc/fstab?

    Property Attributes
    • defaulttrue
    
    
    18
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 18
    
    property :persistant, default: true, type: [TrueClass, FalseClass]
  • #pass ⇒ Integer (Default Value: 2)
    Pass for fstab entry

    Property Attributes
    • default2
    
    
    20
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 20
    
    property :pass, type: Integer, default: 2
  • #dump ⇒ Integer (Default Value: Proc.new { self.pass })
    Dump setting for fstab entry

    Property Attributes
    • defaultProc.new { self.pass }
    
    
    22
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 22
    
    property :dump, type: Integer, default: Proc.new { self.pass }
  • #options ⇒ Array of ⇒ String (Default Value: 'defaults')
    Filesystem options for fstab

    Property Attributes
    • default'defaults'
    
    
    24
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 24
    
    property :options, type: String, array: true, default: 'defaults'
  • #host ⇒ Hash of ⇒ MintPress::Infrastructure::Host
    The hosts to which this mountpoint applies

    Property Attributes
    
    
    26
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 26
    
    property :host, type: MintPress::Infrastructure::Host, hash: true
  • #is_netdev ⇒ [TrueClass, FalseClass] (Default Value: false)
    Is this at the other end of a network? Defaults to 'false', unless the class is iscsi in which case it defaults to 'true'

    Property Attributes
    • defaultfalse
    
    
    29
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/mount.rb', line 29
    
    property :is_netdev, type: [TrueClass, FalseClass], default: false

Properties (Read Only)

  • #implemented_providers ⇒ Array of ⇒ String
    'List of infrastructure providers that this class can work with'

    Property Attributes
    • read_onlytrue
    
    
    93
    # File 'src/mintpress-infrastructure/lib/mintpress-infrastructure/block_storage.rb', line 93
    
    property :implemented_providers, type: String, array: true, read_only: true, description: 'List of infrastructure providers that this class can work with'

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #inspect, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Methods included from Mixins::GenericProvider

included, #register_provider, #register_sub_provider

Methods inherited from OCISharedStorage

#mount, #mounted?, #setup_ocfs, #unmount

Methods included from TagUtils

#clear_tags, #fetch_resource_details, #import_tag_properties, #manage_tags, #merge_defined_tags, #remove_defined_tags, #remove_tags, #update_resource, #update_tags

Methods included from CommonUtils

#create_status_check_proc, #destroy_status_check_proc, #filter_nil_properties, #populate_properties

Methods inherited from OCIStorage

#attach, #attach_backup_policy, #attached?, #background_attach, #background_create, #background_destroy, #background_detach, #create, #create_backup, #create_full_backup, #create_incremental_backup, #destroy, #destroy_backup, #detach, #detach_backup_policy, #exists?, #find_host_id, #find_iqn, #find_iqn_ip_port, #find_storage_size, #find_volume_id, #get_oci_device_node, #update

Methods included from Mixins::Backgroundable

#backgroundable, #wait_for_background_tasks

Methods inherited from MintPress::Infrastructure::ISCSIBlockDevice

#prepare, #unprepare

Methods inherited from MintPress::Infrastructure::BlockDevice

#force_kill, #get_device_node, #prepare, #unprepare

Methods inherited from MintPress::Infrastructure::MountPoint

#mount, #mounted?, #unmount, #unpersist

Constructor Details

#initialize(opts = {}) ⇒ UsingSharedOCIStorage

Returns a new instance of UsingSharedOCIStorage.

Instance Method Details

#harvestObject