diff options
Diffstat (limited to 'deprecated')
-rw-r--r-- | deprecated/undercloud-bm-nova-config.yaml | 23 | ||||
-rw-r--r-- | deprecated/undercloud-bm-nova-deploy.yaml | 37 | ||||
-rw-r--r-- | deprecated/undercloud-source.yaml | 412 | ||||
-rw-r--r-- | deprecated/undercloud-vlan-port.yaml | 37 | ||||
-rw-r--r-- | deprecated/undercloud-vm-ironic-config.yaml | 27 | ||||
-rw-r--r-- | deprecated/undercloud-vm-ironic-deploy.yaml | 44 | ||||
-rw-r--r-- | deprecated/undercloud-vm-nova-config.yaml | 29 | ||||
-rw-r--r-- | deprecated/undercloud-vm-nova-deploy.yaml | 52 |
8 files changed, 661 insertions, 0 deletions
diff --git a/deprecated/undercloud-bm-nova-config.yaml b/deprecated/undercloud-bm-nova-config.yaml new file mode 100644 index 00000000..306dc0a1 --- /dev/null +++ b/deprecated/undercloud-bm-nova-config.yaml @@ -0,0 +1,23 @@ +resources: + undercloudNovaConfig: + type: OS::Heat::StructuredConfig + properties: + config: + nova: + compute_hostname: undercloud + compute_driver: {get_param: NovaComputeDriver} + compute_manager: {get_param: NovaComputeManager} + scheduler_host_manager: {get_param: NovaSchedulerHostManager} + db: {list_join: ['', ['mysql://nova:', {get_param: NovaPassword}, '@localhost/nova']]} + default_ephemeral_format: ext4 + host: 127.0.0.1 + metadata-proxy: false + tuning: + ram_allocation_ratio: 1.0 + reserved_host_memory_mb: 0 + baremetal: + arch: {get_input: nova_arch} + db: {list_join: ['', ['mysql://nova:', {get_param: NovaPassword}, '@localhost/nova_bm']]} + power_manager: {get_input: power_manager} + pxe_deploy_timeout: {get_input: pxe_deploy_timeout} + service-password: {get_input: nova_service_password} diff --git a/deprecated/undercloud-bm-nova-deploy.yaml b/deprecated/undercloud-bm-nova-deploy.yaml new file mode 100644 index 00000000..dca68329 --- /dev/null +++ b/deprecated/undercloud-bm-nova-deploy.yaml @@ -0,0 +1,37 @@ +parameters: + NeutronPublicInterface: + default: nic1 + description: What interface to bridge onto br-ex for network nodes. + type: string + NovaComputeDriver: + default: baremetal.driver.BareMetalDriver + description: Full class name for the Nova compute driver + type: string + NovaComputeManager: + default: nova.compute.manager.ComputeManager + description: Full class name for the Nova compute manager + type: string + NovaSchedulerHostManager: + default: nova.scheduler.host_manager.HostManager + description: Full class name for the Nova scheduler host manager + type: string + PowerManager: + default: nova.virt.baremetal.ipmi.IPMI + description: Bare metal power manager driver. + type: string + PxeDeployTimeout: + default: 2400 + description: Timeout for PXE deployment of baremetal nodes + type: number +resources: + undercloudNovaDeployment: + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: undercloudNovaConfig} + server: {get_resource: undercloud} + signal_transport: NO_SIGNAL + input_values: + nova_arch: {get_param: BaremetalArch} + power_manager: {get_param: PowerManager} + pxe_deploy_timeout: {get_param: PxeDeployTimeout} + nova_service_password: {get_param: NovaPassword} diff --git a/deprecated/undercloud-source.yaml b/deprecated/undercloud-source.yaml new file mode 100644 index 00000000..317896d9 --- /dev/null +++ b/deprecated/undercloud-source.yaml @@ -0,0 +1,412 @@ +description: Deprecated. Use instack-undercloud instead. All-in-one baremetal OpenStack and all dependencies. +heat_template_version: 2013-05-23 +parameters: + AdminPassword: + default: unset + description: The password for the keystone admin account, used for monitoring, querying neutron etc. + type: string + hidden: true + AdminToken: + default: unset + description: The keystone auth secret. + type: string + hidden: true + BaremetalArch: + default: i386 + description: The architecture to use in Nova-BM - i386 or amd64. + type: string + CeilometerMeteringSecret: + default: unset + description: Secret shared by the ceilometer services. + type: string + hidden: true + CeilometerPassword: + default: unset + description: The password for the ceilometer service account. + type: string + hidden: true + Debug: + default: '' + description: Set to True to enable debugging on all services. + type: string + DefaultSignalTransport: + default: CFN_SIGNAL + description: Transport to use for software-config signals. + type: string + constraints: + - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ] + ExtraConfig: + default: {} + description: | + Additional configuration to inject into the cluster. The JSON should have + the following structure: + {"FILEKEY": + {"config: + [{"section": "SECTIONNAME", + "values": + [{"option": "OPTIONNAME", + "value": "VALUENAME" + } + ] + } + ] + } + } + For instance: + {"nova": + {"config": + [{"section": "default", + "values": + [{"option": "compute_manager", + "value": "ironic.nova.compute.manager.ClusterComputeManager" + } + ] + }, + {"section": "cells", + "values": + [{"option": "driver", + "value": "nova.cells.rpc_driver.CellsRPCDriver" + } + ] + } + ] + } + } + type: json + Flavor: + description: Flavor to request when deploying. + type: string + constraints: + - custom_constraint: nova.flavor + GlanceLogFile: + description: The filepath of the file to use for logging messages from Glance. + type: string + default: '' + GlancePassword: + default: unset + description: The password for the glance service account, used by the glance services. + type: string + hidden: true + GlancePort: + default: 9292 + description: Glance port. + type: string + GlanceProtocol: + default: http + description: Protocol to use when connecting to glance, set to https for SSL. + type: string + GlanceNotifierStrategy: + description: Strategy to use for Glance notification queue + type: string + default: noop + KeyName: + default: default + description: Name of an existing EC2 KeyPair to enable SSH access to the instances + type: string + KeystoneCACertificate: + default: '' + description: Keystone self-signed certificate authority certificate. + type: string + KeystoneSigningCertificate: + default: '' + description: Keystone certificate for verifying token validity. + type: string + KeystoneSigningKey: + default: '' + description: Keystone key for signing tokens. + type: string + hidden: true + KeystoneSSLCertificate: + default: '' + description: Keystone certificate for verifying token validity. + type: string + KeystoneSSLCertificateKey: + default: '' + description: Keystone key for signing tokens. + type: string + hidden: true + HeatPassword: + default: unset + description: The password for the Heat service account, used by the Heat services. + type: string + hidden: true + HeatStackDomainAdminPassword: + description: Password for heat_domain_admin user. + type: string + default: '' + hidden: true + ImageUpdatePolicy: + default: REBUILD_PRESERVE_EPHEMERAL + description: What policy to use when reconstructing instances. REBUILD for rebuilds, + REBUILD_PRESERVE_EPHEMERAL to preserve /mnt. + type: string + MysqlInnodbBufferPoolSize: + description: > + Specifies the size of the buffer pool in megabytes. Setting to + zero should be interpreted as "no value" and will defer to the + lower level default. + type: number + default: 0 + NeutronPassword: + default: unset + description: The password for the neutron service account, used by neutron agents. + type: string + hidden: true + NeutronPublicInterfaceDefaultRoute: + default: '' + description: A custom default route for the NeutronPublicInterface. + type: string + NeutronPublicInterfaceIP: + default: '' + description: > + A custom IP address to put onto the NeutronPublicInterface bridge. + See also NeutronPublicInterfaceTagIP for adding a VLAN tagging IP. + NeutronPublicInterfaceIP is deprecated in the context of deploying + underclouds - its only needed for the seed bootstrap process. + type: string + NeutronPublicInterfaceRawDevice: + default: '' + description: If set, the public interface is a vlan with this device as the raw device. + type: string + NeutronPublicInterfaceTag: + default: '' + description: > + VLAN tag for creating a public VLAN. The tag will be used to + create an access port on the exterior bridge, and that port will be + given the IP address returned by neutron from the public network. + type: string + NovaPassword: + default: unset + description: The password for the nova service account, used by nova-api. + type: string + hidden: true + NeutronDVR: + default: 'False' + type: string + NtpServer: + type: string + default: '' + RabbitCookieSalt: + type: string + default: unset + description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change. + RabbitUserName: + default: guest + description: The username for RabbitMQ + type: string + RabbitPassword: + default: guest + description: The password for RabbitMQ + type: string + hidden: true + SnmpdReadonlyUserName: + default: ro_snmp_user + description: The user name for SNMPd with readonly rights running on all Overcloud nodes + type: string + SnmpdReadonlyUserPassword: + default: unset + description: The user password for SNMPd with readonly rights running on all Overcloud nodes + type: string + hidden: true + undercloudImage: + default: undercloud + type: string +resources: + RabbitCookie: + type: OS::Heat::RandomString + properties: + length: 20 + salt: + get_param: RabbitCookieSalt + MysqlRootPassword: + type: OS::Heat::RandomString + properties: + length: 10 + undercloudConfig: + type: OS::Heat::StructuredConfig + properties: + config: + completion-signal: {get_input: deploy_signal_id} + admin-password: + get_param: AdminPassword + admin-token: + get_param: AdminToken + bootstrap_host: + bootstrap_nodeid: + Fn::Select: + - 0 + - Fn::Select: + - 0 + - Merge::Map: + undercloud: + - get_attr: + - undercloud + - name + nodeid: {get_input: bootstack_nodeid} + bootstack: + public_interface_ip: + get_param: NeutronPublicInterfaceIP + controller-address: + get_input: controller_host + corosync: + bindnetaddr: {get_input: controller_host} + mcastport: 5577 + nodes: + Merge::Map: + controller0: + ip: {get_attr: [undercloud, networks, ctlplane, 0]} + pacemaker: + stonith_enabled : false + recheck_interval : 5 + quorum_policy : ignore + ceilometer: + db: {list_join: ['', ['mysql://ceilometer:', {get_param: CeilometerPassword}, '@localhost/ceilometer']]} + debug: {get_param: Debug} + metering_secret: {get_param: CeilometerMeteringSecret} + snmpd_readonly_user_name: + get_param: SnmpdReadonlyUserName + snmpd_readonly_user_password: + get_param: SnmpdReadonlyUserPassword + service-password: + get_param: CeilometerPassword + db-password: unset + glance: + backend: file + db: {list_join: ['', ['mysql://glance:', {get_param: GlancePassword}, '@localhost/glance']]} + debug: {get_param: Debug} + host: 127.0.0.1 + port: + get_param: GlancePort + protocol: + get_param: GlanceProtocol + service-password: + get_param: GlancePassword + notifier-strategy: + get_param: GlanceNotifierStrategy + log-file: + get_param: GlanceLogFile + heat: + admin_password: + get_param: HeatPassword + admin_tenant_name: service + admin_user: heat + auth_encryption_key: unset___________ + db: {list_join: ['', ['mysql://heat:', {get_param: HeatPassword}, '@localhost/heat']]} + debug: {get_param: Debug} + stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword} + watch_server_url: {get_input: heat.watch_server_url} + metadata_server_url: {get_input: heat.metadata_server_url} + waitcondition_server_url: {get_input: heat.waitcondition_server_url} + keystone: + db: {list_join: ['', ['mysql://keystone:', {get_param: AdminToken}, '@localhost/keystone']]} + debug: {get_param: Debug} + host: 127.0.0.1 + ca_certificate: {get_param: KeystoneCACertificate} + signing_key: {get_param: KeystoneSigningKey} + signing_certificate: {get_param: KeystoneSigningCertificate} + ssl: + certificate: {get_param: KeystoneSSLCertificate} + certificate_key: {get_param: KeystoneSSLCertificateKey} + mysql: + innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize} + root-password: {get_resource: MysqlRootPassword} + bind_address: 127.0.0.1 + neutron: + debug: {get_param: Debug} + host: 127.0.0.1 + ovs_db: {list_join: ['', ['mysql://neutron:', {get_param: NeutronPassword}, '@localhost/ovs_neutron?charset=utf8']]} + ovs: + local_ip: + get_input: controller_host + public_interface: + get_param: NeutronPublicInterface + public_interface_raw_device: + get_param: NeutronPublicInterfaceRawDevice + public_interface_route: + get_param: NeutronPublicInterfaceDefaultRoute + public_interface_tag: + get_param: NeutronPublicInterfaceTag + physical_bridge: br-ctlplane + physical_network: ctlplane + network_vlan_ranges: ctlplane + bridge_mappings: ctlplane:br-ctlplane + tenant_network_type: vlan + enable_tunneling: 'False' + service-password: + get_param: NeutronPassword + rabbit: + host: 127.0.0.1 + username: + get_param: RabbitUserName + password: + get_param: RabbitPassword + cookie: + get_attr: + - RabbitCookie + - value + ntp: + servers: + - {server: {get_param: NtpServer}} + undercloudPassthroughConfig: + type: OS::Heat::StructuredConfig + properties: + config: {get_input: passthrough_config} + undercloud: + type: OS::Nova::Server + properties: + image: + get_param: undercloudImage + flavor: + get_param: Flavor + key_name: + get_param: KeyName + image_update_policy: + get_param: ImageUpdatePolicy + networks: + - network: ctlplane + user_data_format: SOFTWARE_CONFIG + undercloudDeployment: + depends_on: [undercloudPassthroughDeployment] + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: undercloudConfig} + server: {get_resource: undercloud} + signal_transport: {get_param: DefaultSignalTransport} + input_values: + bootstack_nodeid: + get_attr: + - undercloud + - name + controller_host: + get_attr: + - undercloud + - networks + - ctlplane + - 0 + heat.watch_server_url: + Fn::Join: + - '' + - - 'http://' + - get_attr: [undercloud, networks, ctlplane, 0] + - ':8003' + heat.metadata_server_url: + Fn::Join: + - '' + - - 'http://' + - {get_attr: [undercloud, networks, ctlplane, 0]} + - ':8000' + heat.waitcondition_server_url: + Fn::Join: + - '' + - - 'http://' + - {get_attr: [undercloud, networks, ctlplane, 0]} + - ':8000/v1/waitcondition' + undercloudPassthroughDeployment: + depends_on: [undercloudNovaDeployment] + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: undercloudPassthroughConfig} + server: {get_resource: undercloud} + signal_transport: NO_SIGNAL + input_values: + passthrough_config: {get_param: ExtraConfig} diff --git a/deprecated/undercloud-vlan-port.yaml b/deprecated/undercloud-vlan-port.yaml new file mode 100644 index 00000000..7e39f5fc --- /dev/null +++ b/deprecated/undercloud-vlan-port.yaml @@ -0,0 +1,37 @@ +outputs: + PublicIP: + description: Address for registering endpoints in the cloud. + value: {get_attr: [undercloud_VLANPort, fixed_ips, 0, ip_address]} +resources: + # Override the main template which can also supply a static route. + undercloud_99VLANPort: + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: undercloudVLANPortConfig} + server: {get_resource: undercloud} + signal_transport: NO_SIGNAL + undercloudVLANPortConfig: + type: OS::Heat::StructuredConfig + properties: + config: + neutron: + ovs: + public_interface_tag_ip: + Fn::Join: + - '/' + - - {get_attr: [undercloud_VLANPort, fixed_ips, 0, ip_address]} + - '24' + # This should also be pulled out of the subnet. May need a + # neutron fix too - XXX make into a parameter and feed it + # in via _undercloud.sh for now. + # Tell the instance to apply the default route. + # Reinstate when https://bugs.launchpad.net/heat/+bug/1336656 is + # sorted + # public_interface_route: + # get_attr: [undercloud_VLANPort, fixed_ips, 0, subnet, gateway_ip] + undercloud_VLANPort: + type: OS::Neutron::Port + properties: + name: undercloud_vlan + network: public + replacement_policy: AUTO
\ No newline at end of file diff --git a/deprecated/undercloud-vm-ironic-config.yaml b/deprecated/undercloud-vm-ironic-config.yaml new file mode 100644 index 00000000..cc0dafb6 --- /dev/null +++ b/deprecated/undercloud-vm-ironic-config.yaml @@ -0,0 +1,27 @@ +resources: + undercloudNovaConfig: + type: OS::Heat::StructuredConfig + properties: + config: + nova: + compute_hostname: undercloud + compute_driver: {get_param: NovaComputeDriver} + compute_manager: {get_param: NovaComputeManager} + scheduler_host_manager: {get_param: NovaSchedulerHostManager} + db: {list_join: ['', ['mysql://nova:', {get_param: NovaPassword}, '@localhost/nova']]} + debug: {get_param: Debug} + default_ephemeral_format: ext4 + host: 127.0.0.1 + metadata-proxy: false + tuning: + ram_allocation_ratio: 1.0 + reserved_host_memory_mb: 0 + service-password: {get_input: nova_service_password} + undercloudIronicConfig: + type: OS::Heat::StructuredConfig + properties: + config: + ironic: + db: {list_join: ['', ['mysql://ironic:', {get_param: IronicPassword}, '@localhost/ironic']]} + service-password: {get_input: ironic_service_password} + virtual_power_ssh_key: {get_input: virtual_power_ssh_key} diff --git a/deprecated/undercloud-vm-ironic-deploy.yaml b/deprecated/undercloud-vm-ironic-deploy.yaml new file mode 100644 index 00000000..5d23495c --- /dev/null +++ b/deprecated/undercloud-vm-ironic-deploy.yaml @@ -0,0 +1,44 @@ +parameters: + IronicPassword: + type: string + description: Ironic password for keystone access + hidden: true + NeutronPublicInterface: + default: nic1 + description: What interface to bridge onto br-ex for network nodes. + type: string + NovaComputeDriver: + default: nova.virt.ironic.driver.IronicDriver + description: Full class name for the Nova compute driver + type: string + NovaComputeManager: + default: ironic.nova.compute.manager.ClusteredComputeManager + description: Full class name for the Nova compute manager + type: string + NovaSchedulerHostManager: + default: nova.scheduler.ironic_host_manager.IronicHostManager + description: Full class name for the Nova scheduler host manager + type: string + PowerSSHPrivateKey: + description: Private key for using to ssh to a virtual power host. + type: string + hidden: true +resources: + undercloudNovaDeployment: + depends_on: [undercloudIronicDeployment] + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: undercloudNovaConfig} + server: {get_resource: undercloud} + signal_transport: NO_SIGNAL + input_values: + nova_service_password: {get_param: NovaPassword} + undercloudIronicDeployment: + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: undercloudIronicConfig} + server: {get_resource: undercloud} + signal_transport: NO_SIGNAL + input_values: + ironic_service_password: {get_param: IronicPassword} + virtual_power_ssh_key: {get_param: PowerSSHPrivateKey} diff --git a/deprecated/undercloud-vm-nova-config.yaml b/deprecated/undercloud-vm-nova-config.yaml new file mode 100644 index 00000000..1fb8abb3 --- /dev/null +++ b/deprecated/undercloud-vm-nova-config.yaml @@ -0,0 +1,29 @@ +resources: + undercloudNovaConfig: + type: OS::Heat::StructuredConfig + properties: + config: + nova: + compute_hostname: undercloud + compute_driver: {get_param: NovaComputeDriver} + compute_manager: {get_param: NovaComputeManager} + scheduler_host_manager: {get_param: NovaSchedulerHostManager} + db: {list_join: ['', ['mysql://nova:', {get_param: NovaPassword}, '@localhost/nova']]} + default_ephemeral_format: ext4 + host: 127.0.0.1 + metadata-proxy: false + tuning: + ram_allocation_ratio: 1.0 + reserved_host_memory_mb: 0 + baremetal: + arch: {get_input: nova_arch} + db: {list_join: ['', ['mysql://nova:', {get_param: NovaPassword}, '@localhost/nova_bm']]} + power_manager: {get_input: power_manager} + pxe_deploy_timeout: {get_input: pxe_deploy_timeout} + virtual_power: + user: {get_input: user} + ssh_host: {get_input: ssh_host} + ssh_key: {get_input: ssh_key} + type: virsh + service-password: {get_input: nova_service_password} + diff --git a/deprecated/undercloud-vm-nova-deploy.yaml b/deprecated/undercloud-vm-nova-deploy.yaml new file mode 100644 index 00000000..da15b46d --- /dev/null +++ b/deprecated/undercloud-vm-nova-deploy.yaml @@ -0,0 +1,52 @@ +parameters: + NeutronPublicInterface: + default: nic1 + description: What interface to bridge onto br-ex for network nodes. + type: string + NovaComputeDriver: + default: baremetal.driver.BareMetalDriver + description: Full class name for the Nova compute driver + type: string + NovaComputeManager: + default: nova.compute.manager.ComputeManager + description: Full class name for the Nova compute manager + type: string + NovaSchedulerHostManager: + default: nova.scheduler.host_manager.HostManager + description: Full class name for the Nova scheduler host manager + type: string + PowerManager: + default: nova.virt.baremetal.virtual_power_driver.VirtualPowerManager + description: Bare metal power manager driver. + type: string + PowerSSHHost: + default: 192.168.122.1 + description: SSH host to ssh to for power management operations. + type: string + PowerSSHPrivateKey: + description: Private key for using to ssh to a virtual power host. + type: string + hidden: true + PowerUserName: + default: stack + description: What username to ssh to the virtual power host with. + type: string + PxeDeployTimeout: + default: 2400 + description: Timeout for PXE deployment of baremetal nodes + type: number +resources: + undercloudNovaDeployment: + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: undercloudNovaConfig} + server: {get_resource: undercloud} + signal_transport: NO_SIGNAL + input_values: + nova_arch: {get_param: BaremetalArch} + power_manager: {get_param: PowerManager} + pxe_deploy_timeout: {get_param: PxeDeployTimeout} + nova_service_password: {get_param: NovaPassword} + user: {get_param: PowerUserName} + ssh_host: {get_param: PowerSSHHost} + ssh_key: {get_param: PowerSSHPrivateKey} |