Change overcloud to use VIP for MySQL
authorJulia Kreger <juliaashleykreger@gmail.com>
Wed, 9 Jul 2014 20:43:35 +0000 (16:43 -0400)
committerRobert Collins <rbtcollins@hp.com>
Tue, 12 Aug 2014 22:23:14 +0000 (10:23 +1200)
This change sets applications to utilize the VIP address for database
connectivity and sets HAProxy in between the applications and MySQL.

Depends upon tripleo-image-elements changes:
    Ia6f26305f8e744e4ff938dff85de1193183ecd8f
    Iac1274cc52014f25887d696261b32146afc926dd
    I5af70abb96021146c098f788db349808d806a348

Related to blueprint tripleo-icehouse-ha-production-configuration

Change-Id: Ia9d6ed2771f756d2a97ae5df7ed737a062a59cf2

block-storage-nfs.yaml
block-storage.yaml
overcloud-source.yaml

index 8346c1f..8b281dd 100644 (file)
@@ -52,7 +52,7 @@ resources:
       keystone:
         host: {get_attr: [controller0, networks, ctlplane, 0]}
       cinder:
-        db: {list_join: ['', ['mysql://cinder:unset@', {get_attr: [controller0, networks, ctlplane, 0]} , '/cinder']]}
+        db: {list_join: ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
         volume_size_mb: '5000'
         service-password:
           get_param: CinderPassword
index 761de52..bf539e2 100644 (file)
@@ -30,7 +30,7 @@ resources:
       config: {get_resource: BlockStorageConfig}
       input_values:
         controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
-        cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_attr: [controller0, networks, ctlplane, 0]} , '/cinder']]}
+        cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
         neutron_local_ip: {get_attr: [BlockStorage0 , networks, ctlplane, 0]}
       signal_transport: NO_SIGNAL
   BlockStorageConfig:
index 6449f8d..53a751d 100644 (file)
@@ -318,9 +318,24 @@ resources:
         NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
         GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
         RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
-        NovaDSN: {list_join: ['', ['mysql://nova:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/nova']]}
-        CeilometerDSN: {list_join: ['', ['mysql://ceilometer:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ceilometer']]}
-        NeutronDSN: {list_join: ['', ['mysql://neutron:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ovs_neutron']]}
+        NovaDSN:
+          list_join:
+            - ''
+            - - mysql://nova:unset@
+              - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+              - /nova
+        CeilometerDSN:
+          list_join:
+            - ''
+            - - mysql://ceilometer:unset@
+              - *compute_database_host
+              - /ceilometer
+        NeutronDSN:
+          list_join:
+            - ''
+            - - mysql://neutron:unset@
+              - *compute_database_host
+              - /ovs_neutron
         NeutronNetworkType: "gre"
         NeutronEnableTunnelling: "True"
         NeutronFlatNetworks:
@@ -374,8 +389,16 @@ resources:
                       - controller0
                       - show
           nodeid: {get_input: bootstack_nodeid}
+        database:
+          host: &database_host
+            {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
         cinder:
-          db: mysql://cinder:unset@localhost/cinder
+          db:
+            list_join:
+              - ''
+              - - mysql://cinder:unset@
+                - *database_host
+                - /cinder
           volume_size_mb:
             get_param: CinderLVMLoopDeviceSize
           service-password:
@@ -400,7 +423,12 @@ resources:
           registry:
             host: {get_input: controller_virtual_ip}
           backend: swift
-          db: mysql://glance:unset@localhost/glance
+          db:
+            list_join:
+              - ''
+              - - mysql://glance:unset@
+                - *database_host
+                - /glance
           host:
             get_input: controller_virtual_ip
           port:
@@ -422,7 +450,12 @@ resources:
           admin_tenant_name: service
           admin_user: heat
           auth_encryption_key: unset___________
-          db: mysql://heat:unset@localhost/heat
+          db:
+            list_join:
+              - ''
+              - - mysql://heat:unset@
+                - *database_host
+                - /heat
           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}
@@ -435,7 +468,12 @@ resources:
                   controller0:
                     {get_attr: [controller0, show, name]}
         keystone:
-          db: mysql://keystone:unset@localhost/keystone
+          db:
+            list_join:
+              - ''
+              - - mysql://keystone:unset@
+                - *database_host
+                - /keystone
           host:
             get_input: controller_virtual_ip
           ca_certificate: {get_param: KeystoneCACertificate}
@@ -443,6 +481,7 @@ resources:
           signing_certificate: {get_param: KeystoneSigningCertificate}
         mysql:
           innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
+          local_bind: true
           nodes:
             Merge::Map:
               controller0:
@@ -469,13 +508,23 @@ resources:
               get_param: NeutronPublicInterfaceDefaultRoute
             physical_bridge: br-ex
             tenant_network_type: gre
-          ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
+          ovs_db:
+            list_join:
+              - ''
+              - - mysql://neutron:unset@
+                - *database_host
+                - /ovs_neutron?charset=utf8
           service-password:
             get_param: NeutronPassword
           dnsmasq-options:
             get_param: NeutronDnsmasqOptions
         ceilometer:
-          db: mysql://ceilometer:unset@localhost/ceilometer
+          db:
+            list_join:
+              - ''
+              - - mysql://ceilometer:unset@
+                - *database_host
+                - /ceilometer
           metering_secret: {get_param: CeilometerMeteringSecret}
           service-password:
             get_param: CeilometerPassword
@@ -487,7 +536,12 @@ resources:
             get_param: SnmpdReadonlyUserPassword
         nova:
           compute_driver: libvirt.LibvirtDriver
-          db: mysql://nova:unset@localhost/nova
+          db:
+            list_join:
+              - ''
+              - - mysql://nova:unset@
+                - *database_host
+                - /nova
           default_floating_pool:
             ext-net
           host: {get_input: controller_virtual_ip}
@@ -586,6 +640,10 @@ resources:
             - name: heat_cfn
               port: 8000
               net_binds: *public_binds
+            - name: mysql
+              port: 3306
+              extra_server_params:
+                - backup
             - name: nova_ec2
               port: 8773
             - name: nova_osapi