Merge "added level of indirection causes incorrect hiera config" into stable/pike
authorZuul <zuul@review.openstack.org>
Fri, 3 Nov 2017 13:59:50 +0000 (13:59 +0000)
committerGerrit Code Review <review@openstack.org>
Fri, 3 Nov 2017 13:59:50 +0000 (13:59 +0000)
13 files changed:
ci/environments/scenario002-multinode-containers.yaml
ci/environments/scenario002-multinode.yaml
docker/services/ceph-ansible/ceph-base.yaml
docker/services/glance-api.yaml
docker/services/memcached.yaml
environments/composable-roles/standalone.yaml
extraconfig/pre_deploy/rhel-registration/scripts/rhel-registration
puppet/role.role.j2.yaml
puppet/services/neutron-lbaas.yaml
puppet/services/rabbitmq.yaml
releasenotes/notes/ceph-pools-with-ceph-ansible-f82425e585f90ef6.yaml [new file with mode: 0644]
sample-env-generator/composable-roles.yaml
tools/yaml-validate.py

index bec5f48..534f829 100644 (file)
@@ -9,7 +9,6 @@ resource_registry:
   OS::TripleO::Services::BarbicanApi: ../../docker/services/barbican-api.yaml
   OS::TripleO::Services::Zaqar: ../../docker/services/zaqar.yaml
   OS::TripleO::Services::Ec2Api: ../../docker/services/ec2-api.yaml
-  OS::TripleO::Services::MongoDb: ../../docker/services/database/mongodb.yaml
   # Some infra instances don't pass the ping test but are otherwise working.
   # Since the OVB jobs also test this functionality we can shut it off here.
   OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml
@@ -58,7 +57,6 @@ parameter_defaults:
     - OS::TripleO::Services::SwiftStorage
     - OS::TripleO::Services::SwiftRingBuilder
     - OS::TripleO::Services::BarbicanApi
-    - OS::TripleO::Services::MongoDb
     - OS::TripleO::Services::Zaqar
     - OS::TripleO::Services::Ec2Api
     - OS::TripleO::Services::TripleoPackages
@@ -69,5 +67,7 @@ parameter_defaults:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
   Debug: true
+  ZaqarMessageStore: 'swift'
+  ZaqarManagementStore: 'sqlalchemy'
   SwiftCeilometerPipelineEnabled: false
   NotificationDriver: 'noop'
index 6c7f4eb..2f731ce 100644 (file)
@@ -9,7 +9,6 @@ resource_registry:
   OS::TripleO::Services::HAproxy: ../../puppet/services/pacemaker/haproxy.yaml
   OS::TripleO::Services::Pacemaker: ../../puppet/services/pacemaker.yaml
   OS::TripleO::Services::MySQL: ../../puppet/services/pacemaker/database/mysql.yaml
-  OS::TripleO::Services::MongoDb: ../../puppet/services/database/mongodb.yaml
   OS::TripleO::Services::CinderBackup: ../../puppet/services/pacemaker/cinder-backup.yaml
   OS::TripleO::Services::CinderVolume: ../../puppet/services/pacemaker/cinder-volume.yaml
   OS::TripleO::Services::Keepalived: OS::Heat::None
@@ -63,7 +62,6 @@ parameter_defaults:
     - OS::TripleO::Services::SwiftStorage
     - OS::TripleO::Services::SwiftRingBuilder
     - OS::TripleO::Services::BarbicanApi
-    - OS::TripleO::Services::MongoDb
     - OS::TripleO::Services::Zaqar
     - OS::TripleO::Services::Ec2Api
     - OS::TripleO::Services::TripleoPackages
@@ -86,5 +84,7 @@ parameter_defaults:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
   Debug: true
+  ZaqarMessageStore: 'swift'
+  ZaqarManagementStore: 'sqlalchemy'
   SwiftCeilometerPipelineEnabled: false
   NotificationDriver: 'noop'
index 8cc81fb..4674ec1 100644 (file)
@@ -73,15 +73,9 @@ parameters:
     description: >
       It can be used to override settings for one of the predefined pools, or to create
       additional ones. Example:
-      {
-        "volumes": {
-          "size": 5,
-          "pg_num": 128,
-          "pgp_num": 128
-         }
-      }
-    default: {}
-    type: json
+      [{"name": "volumes", "pg_num": 64, "rule_name": ""}]
+    default: []
+    type: comma_delimited_list
   CinderRbdPoolName:
     default: volumes
     type: string
@@ -225,13 +219,7 @@ outputs:
                       - {get_param: NovaRbdPoolName}
                       - {get_param: GlanceRbdPoolName}
                       - {get_param: GnocchiRbdPoolName}
-              - repeat:
-                  template:
-                    name: <%pool%>
-                    pg_num: {get_param: CephPoolDefaultPgNum}
-                    rule_name: ""
-                  for_each:
-                    <%pool%>: {get_param: CephPools}
+              - {get_param: CephPools}
           openstack_keys: &openstack_keys
           - name:
               list_join:
index e1a3827..1a6f5c7 100644 (file)
@@ -48,6 +48,16 @@ parameters:
     default: false
     description: Remove package if the service is being disabled during upgrade
     type: boolean
+  GlanceNfsShare:
+    default: ''
+    description: >
+      NFS share to mount for image storage (when GlanceNfsEnabled is true)
+    type: string
+  GlanceNfsOptions:
+    default: 'intr,context=system_u:object_r:glance_var_lib_t:s0'
+    description: >
+      NFS mount options for image storage (when GlanceNfsEnabled is true)
+    type: string
 
 conditions:
 
@@ -108,6 +118,10 @@ outputs:
               dest: "/etc/ceph/"
               merge: true
               preserve_properties: true
+          permissions:
+            - path: /var/lib/glance
+              owner: glance:glance
+              recurse: true
         /var/lib/kolla/config_files/glance_api_tls_proxy.json:
           command: /usr/sbin/httpd -DFOREGROUND
           config_files:
@@ -182,6 +196,15 @@ outputs:
                       - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
                 - {}
       host_prep_tasks:
+        - name: Mount NFS on host
+          vars:
+            nfs_backend_enable: {get_param: GlanceNfsEnabled}
+          mount: name=/var/lib/glance src="{{item.NFS_SHARE}}" fstype=nfs4 opts="{{item.NFS_OPTIONS}}" state=mounted
+          with_items:
+            - NFS_SHARE: {get_param: GlanceNfsShare}
+              NFS_OPTIONS: {get_param: GlanceNfsOptions}
+          when:
+            - nfs_backend_enable
         - name: create persistent logs directory
           file:
             path: "{{ item }}"
index 817f9ec..67b8424 100644 (file)
@@ -94,7 +94,15 @@ outputs:
                 -
                   - /var/lib/config-data/memcached/etc/sysconfig/memcached:/etc/sysconfig/memcached:ro
                   - /var/log/containers/memcached:/var/log/
-            command: ['/bin/bash', '-c', 'source /etc/sysconfig/memcached; /usr/bin/memcached -p ${PORT} -u ${USER} -m ${CACHESIZE} -c ${MAXCONN} $OPTIONS']
+            # NOTE: We're adding the log redirection here, even though should
+            # already be part of the options. This is because the redirection
+            # via the options is not working and ends up being passed as a
+            # parameter to the memcached command (which it silently ignores).
+            # Thus the need for the explicit redirection here. The redirection
+            # will be removed from the $OPTIONS, which is done via the puppet
+            # module, but we'll only be able to do this once the following pull
+            # request merges: https://github.com/saz/puppet-memcached/pull/88
+            command: ['/bin/bash', '-c', 'source /etc/sysconfig/memcached; /usr/bin/memcached -p ${PORT} -u ${USER} -m ${CACHESIZE} -c ${MAXCONN} $OPTIONS >> /var/log/memcached.log 2>&1']
       upgrade_tasks:
         - name: Stop and disable memcached service
           tags: step2
index 3305c9e..c12d72d 100644 (file)
@@ -30,13 +30,13 @@ parameter_defaults:
   # Type: string
   ComputeHostnameFormat: '%stackname%-novacompute-%index%'
 
-  # Number of Controller nodes to deploy
+  # Number of ControllerOpenstack nodes
   # Type: number
-  ControllerCount: 3
+  ControllerOpenstackCount: 3
 
-  # Format for Controller node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
+  # Format for ControllerOpenstack node hostnames Note %index% is translated into the index of the node, e.g 0/1/2 etc and %stackname% is replaced with the stack name e.g overcloud
   # Type: string
-  ControllerHostnameFormat: '%stackname%-controller-%index%'
+  ControllerOpenstackHostnameFormat: '%stackname%-controller-%index%'
 
   # Number of Database nodes
   # Type: number
@@ -66,9 +66,9 @@ parameter_defaults:
   # Type: string
   OvercloudComputeFlavor: compute
 
-  # Name of the flavor for Controller nodes
+  # Name of the flavor for ControllerOpenstack nodes
   # Type: string
-  OvercloudControllerFlavor: control
+  OvercloudControllerOpenstackFlavor: control
 
   # Name of the flavor for Database nodes
   # Type: string
index d754aaf..c7d0b23 100644 (file)
@@ -247,7 +247,7 @@ case "${REG_METHOD:-}" in
             rpm -Uvh katello-ca-consumer-latest.noarch.rpm || true
             retry subscription-manager register $opts
             retry subscription-manager $repos
-            retry yum install -y katello-agent || true # needed for errata reporting to satellite6
+            yum install -y katello-agent || true # needed for errata reporting to satellite6
             katello-package-upload
 
             # https://bugs.launchpad.net/tripleo/+bug/1711435
index 15da177..d53afd0 100644 (file)
@@ -565,6 +565,7 @@ resources:
           - bootstrap_node # provided by allNodesConfig
           - all_nodes # provided by allNodesConfig
           - vip_data # provided by allNodesConfig
+          - net_ip_map
           - '"%{::osfamily}"'
           # The following are required for compatibility with the Controller role
           # where some vendor integrations added hieradata via ExtraConfigPre
@@ -578,6 +579,7 @@ resources:
           service_names:
             service_names: {get_param: ServiceNames}
             sensu::subscriptions: {get_param: MonitoringSubscriptions}
+          net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
           service_configs:
             map_replace:
               - {get_param: ServiceConfigSettings}
index ec477dd..a2c1a2a 100644 (file)
@@ -73,3 +73,6 @@ outputs:
       service_config_settings:
         neutron_api:
           neutron::server::service_providers: {get_param: NeutronServiceProviders}
+        horizon:
+          horizon::neutron_options:
+            enable_lb: True
index a1a6020..879af2a 100644 (file)
@@ -41,7 +41,7 @@ parameters:
   RabbitFDLimit:
     default: 65536
     description: Configures RabbitMQ FD limit
-    type: string
+    type: number
   RabbitIPv6:
     default: false
     description: Enable IPv6 in RabbitMQ
diff --git a/releasenotes/notes/ceph-pools-with-ceph-ansible-f82425e585f90ef6.yaml b/releasenotes/notes/ceph-pools-with-ceph-ansible-f82425e585f90ef6.yaml
new file mode 100644 (file)
index 0000000..63e6f21
--- /dev/null
@@ -0,0 +1,17 @@
+---
+upgrade:
+  - |
+    The format to use for the CephPools parameter needs to be updated into the
+    form expected by ceph-ansible. For example, for a new pool named `mypool`
+    it should change from:
+    { "mypool": { "size": 3, "pg_num": 128, "pgp_num": 128 } }
+    into:
+    [ { "name": "mypool", "pg_num": 128, "rule_name": "" } ]
+    The first is a map where each key is a pool name and its value the pool
+    properties, the second is a list where each item describes all properties
+    of a pool, including its name.
+other:
+  - |
+    With the migration from puppet-ceph to ceph-ansible for the deployment
+    of Ceph, the format of CephPools parameter changes because the two tools
+    use a different format to represent the list of additional pools to create.
index 91d6060..2c929a4 100644 (file)
@@ -89,10 +89,8 @@ environments:
     files:
       overcloud.yaml:
         parameters:
-          - ControllerHostnameFormat
           - ComputeHostnameFormat
           - CephStorageHostnameFormat
-          - ControllerCount
           - ComputeCount
           - CephStorageCount
       puppet/services/time/ntp.yaml:
@@ -100,19 +98,21 @@ environments:
           - NtpServer
       sample-env-generator/composable-roles.yaml:
         parameters:
+          - ControllerOpenstackHostnameFormat
           - DnsServers
+          - ControllerOpenstackCount
           - DatabaseCount
           - MessagingCount
           - NetworkerCount
-          - OvercloudControllerFlavor
+          - OvercloudControllerOpenstackFlavor
           - OvercloudComputeFlavor
           - OvercloudCephStorageFlavor
           - OvercloudDatabaseFlavor
           - OvercloudMessagingFlavor
           - OvercloudNetworkerFlavor
     sample_values:
-      ControllerCount: 3
-      OvercloudControllerFlavor: control
+      ControllerOpenstackCount: 3
+      OvercloudControllerOpenstackFlavor: control
       ComputeCount: 1
       OvercloudComputeFlavor: compute
       CephStorageCount: 1
@@ -135,6 +135,10 @@ parameters:
     description: DNS servers to use for the Overcloud
     type: comma_delimited_list
   # Dynamic vars based on roles
+  ControllerOpenstackCount:
+    default: 0
+    description: Number of ControllerOpenstack nodes
+    type: number
   DatabaseCount:
     default: 0
     description: Number of Database nodes
@@ -147,10 +151,21 @@ parameters:
     default: 0
     description: Number of Networker nodes
     type: number
+  ControllerOpenstackHostnameFormat:
+    type: string
+    description: >
+      Format for ControllerOpenstack node hostnames
+      Note %index% is translated into the index of the node, e.g 0/1/2 etc
+      and %stackname% is replaced with the stack name e.g overcloud
+    default: "%stackname%-controller-%index%"
   OvercloudControllerFlavor:
     default: control
     description: Name of the flavor for Controller nodes
     type: string
+  OvercloudControllerOpenstackFlavor:
+    default: control
+    description: Name of the flavor for ControllerOpenstack nodes
+    type: string
   OvercloudComputeFlavor:
     default: compute
     description: Name of the flavor for Compute nodes
index c322962..76f856d 100755 (executable)
@@ -46,7 +46,10 @@ OPTIONAL_DOCKER_PUPPET_CONFIG_SECTIONS = [ 'puppet_tags', 'volumes' ]
 # consistency across files on.  This should only contain parameters whose
 # definition we cannot change for backwards compatibility reasons.  New
 # parameters to the templates should not be added to this list.
-PARAMETER_DEFINITION_EXCLUSIONS = {'ManagementNetCidr': ['default'],
+PARAMETER_DEFINITION_EXCLUSIONS = {'CephPools': ['description',
+                                                 'type',
+                                                 'default'],
+                                   'ManagementNetCidr': ['default'],
                                    'ManagementAllocationPools': ['default'],
                                    'ExternalNetCidr': ['default'],
                                    'ExternalAllocationPools': ['default'],