Refactor iscsi initiator-name reset into separate service
authorOliver Walsh <owalsh@redhat.com>
Mon, 10 Jul 2017 14:51:20 +0000 (15:51 +0100)
committerOliver Walsh <owalsh@redhat.com>
Mon, 17 Jul 2017 12:56:15 +0000 (13:56 +0100)
This currently assumes nova-compute and iscsid run in the same context which
isn't true for a containerized deployment

Change-Id: I11232fc412adcc18087928c281ba82546388376e
Depends-On: I91f1ce7625c351745dbadd84b565d55598ea5b59
Depends-On: I0cbb1081ad00b2202c9d913e0e1759c2b95612a5

25 files changed:
ci/environments/multinode-3nodes.yaml
ci/environments/multinode-containers.yaml
ci/environments/multinode.yaml
ci/environments/multinode_major_upgrade.yaml
ci/environments/scenario001-multinode-containers.yaml
ci/environments/scenario001-multinode.yaml
ci/environments/scenario002-multinode-containers.yaml
ci/environments/scenario002-multinode.yaml
ci/environments/scenario003-multinode-containers.yaml
ci/environments/scenario003-multinode.yaml
ci/environments/scenario004-multinode-containers.yaml
ci/environments/scenario004-multinode.yaml
deployed-server/deployed-server-roles-data.yaml
docker/services/cinder-backup.yaml
docker/services/cinder-volume.yaml
docker/services/iscsid.yaml
docker/services/multipathd.yaml
docker/services/nova-compute.yaml
docker/services/nova-ironic.yaml
environments/contrail/roles_data_contrail.yaml
environments/docker-services-tls-everywhere.yaml
overcloud-resource-registry-puppet.j2.yaml
puppet/services/iscsid.yaml [new file with mode: 0644]
roles/ControllerOpenstack.yaml
roles/README.rst

index ef51a77..72d01ed 100644 (file)
@@ -57,6 +57,7 @@
     - OS::TripleO::Services::NovaLibvirt
     - OS::TripleO::Services::MySQLClient
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
 
 - name: Controller
   CountDefault: 1
@@ -79,3 +80,4 @@
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
index 10a2c8c..e8c729f 100644 (file)
@@ -60,6 +60,7 @@ parameter_defaults:
     - OS::TripleO::Services::NovaCompute
     - OS::TripleO::Services::NovaLibvirt
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index 1752a2f..5717946 100644 (file)
@@ -58,6 +58,7 @@ parameter_defaults:
     - OS::TripleO::Services::Horizon
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index 609e06f..5735636 100644 (file)
@@ -57,6 +57,7 @@ parameter_defaults:
     - OS::TripleO::Services::Pacemaker
     - OS::TripleO::Services::Horizon
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index 89339d1..cf664fa 100644 (file)
@@ -89,6 +89,7 @@ parameter_defaults:
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::FluentdClient
     - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Iscsid
 
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
index 8abd079..5dc5f34 100644 (file)
@@ -87,6 +87,7 @@ parameter_defaults:
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::FluentdClient
     - OS::TripleO::Services::SensuClient
+    - OS::TripleO::Services::Iscsid
 
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
index 0708863..3b460d3 100644 (file)
@@ -67,6 +67,7 @@ parameter_defaults:
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index 79b74af..c21c4cf 100644 (file)
@@ -66,6 +66,7 @@ parameter_defaults:
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index 8e1b3a0..8d41947 100644 (file)
@@ -62,6 +62,7 @@ parameter_defaults:
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index 2cce168..0c8d860 100644 (file)
@@ -59,6 +59,7 @@ parameter_defaults:
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index ba53016..b82f708 100644 (file)
@@ -77,6 +77,7 @@ parameter_defaults:
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index 8bf805d..7bef298 100644 (file)
@@ -77,6 +77,7 @@ parameter_defaults:
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
     - OS::TripleO::Services::Sshd
+    - OS::TripleO::Services::Iscsid
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
index 084c2f8..328cd14 100644 (file)
@@ -41,6 +41,7 @@
     - OS::TripleO::Services::HeatApiCfn
     - OS::TripleO::Services::HeatApiCloudwatch
     - OS::TripleO::Services::HeatEngine
+    - OS::TripleO::Services::Iscsid
     - OS::TripleO::Services::MySQL
     - OS::TripleO::Services::MySQLClient
     - OS::TripleO::Services::NeutronDhcpAgent
     - OS::TripleO::Services::OpenDaylightOvs
     - OS::TripleO::Services::SensuClient
     - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Iscsid
 
 - name: BlockStorageDeployedServer
   disable_constraints: True
index 46dbea1..dc7580a 100644 (file)
@@ -84,6 +84,10 @@ outputs:
               dest: "/"
               merge: true
               preserve_properties: true
+            - source: "/var/lib/kolla/config_files/src-iscsid/*"
+              dest: "/"
+              merge: true
+              preserve_properties: true
           permissions:
             - path: /var/lib/cinder
               owner: cinder:cinder
@@ -113,13 +117,13 @@ outputs:
                 -
                   - /var/lib/kolla/config_files/cinder_backup.json:/var/lib/kolla/config_files/config.json:ro
                   - /var/lib/config-data/puppet-generated/cinder/:/var/lib/kolla/config_files/src:ro
+                  - /var/lib/config-data/puppet-generated/iscsid/:/var/lib/kolla/config_files/src-iscsid:ro
                   # FIXME: we need to generate a ceph.conf with puppet for this
                   - /var/lib/config-data/puppet-generated/ceph/:/var/lib/kolla/config_files/src-ceph:ro
                   - /dev/:/dev/
                   - /run/:/run/
                   - /sys:/sys
                   - /lib/modules:/lib/modules:ro
-                  - /etc/iscsi:/etc/iscsi
                   - /var/lib/cinder:/var/lib/cinder
                   - /var/log/containers/cinder:/var/log/cinder
             environment:
index 1f9003e..6f6160f 100644 (file)
@@ -92,6 +92,10 @@ outputs:
               dest: "/"
               merge: true
               preserve_properties: true
+            - source: "/var/lib/kolla/config_files/src-iscsid/*"
+              dest: "/"
+              merge: true
+              preserve_properties: true
           permissions:
             - path: /var/log/cinder
               owner: cinder:cinder
@@ -118,12 +122,12 @@ outputs:
                 -
                   - /var/lib/kolla/config_files/cinder_volume.json:/var/lib/kolla/config_files/config.json:ro
                   - /var/lib/config-data/puppet-generated/cinder/:/var/lib/kolla/config_files/src:ro
+                  - /var/lib/config-data/puppet-generated/iscsid/:/var/lib/kolla/config_files/src-iscsid:ro
                   # FIXME: we need to generate a ceph.conf with puppet for this
                   - /var/lib/config-data/puppet-generated/ceph/:/var/lib/kolla/config_files/src-ceph:ro
                   - /dev/:/dev/
                   - /run/:/run/
                   - /sys:/sys
-                  - /etc/iscsi:/etc/iscsi
                   - /var/lib/cinder:/var/lib/cinder
                   - /var/log/containers/cinder:/var/log/cinder
             environment:
index b39b72e..f6b348c 100644 (file)
@@ -42,23 +42,38 @@ resources:
   ContainersCommon:
     type: ./containers-common.yaml
 
+  IscsidBase:
+    type: ../../puppet/services/iscsid.yaml
+    properties:
+      EndpointMap: {get_param: EndpointMap}
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+      RoleName: {get_param: RoleName}
+      RoleParameters: {get_param: RoleParameters}
+
 outputs:
   role_data:
-    description: Role data for the Iscsid API role.
+    description: Role data for the Iscsid role.
     value:
-      service_name: iscsid
-      config_settings: {}
-      step_config: ''
-      service_config_settings: {}
+      service_name: {get_attr: [IscsidBase, role_data, service_name]}
+      config_settings: {get_attr: [IscsidBase, role_data, config_settings]}
+      step_config: &step_config
+        {get_attr: [IscsidBase, role_data, step_config]}
+      service_config_settings: {get_attr: [IscsidBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       puppet_config:
         config_volume: iscsid
-        #puppet_tags: file
-        step_config: ''
+        puppet_tags: iscsid_config
+        step_config: *step_config
         config_image: {get_param: DockerIscsidConfigImage}
       kolla_config:
         /var/lib/kolla/config_files/iscsid.json:
           command: /usr/sbin/iscsid -f
+          config_files:
+            - source: "/var/lib/kolla/config_files/src-iscsid/*"
+              dest: "/"
+              merge: true
+              preserve_properties: true
       docker_config:
         step_3:
           iscsid:
@@ -76,14 +91,10 @@ outputs:
                   - /run/:/run/
                   - /sys:/sys
                   - /lib/modules:/lib/modules:ro
-                  - /etc/iscsi:/etc/iscsi
+                  - /var/lib/config-data/puppet-generated/iscsid/:/var/lib/kolla/config_files/src-iscsid:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       host_prep_tasks:
-        - name: create /etc/iscsi
-          file:
-            path: /etc/iscsi
-            state: directory
         - name: stat /lib/systemd/system/iscsid.socket
           stat: path=/lib/systemd/system/iscsid.socket
           register: stat_iscsid_socket
index 51b9302..a0c02f3 100644 (file)
@@ -59,6 +59,11 @@ outputs:
       kolla_config:
         /var/lib/kolla/config_files/multipathd.json:
           command: /usr/sbin/multipathd -d
+        config_files:
+          - source: "/var/lib/kolla/config_files/src-iscsid/*"
+            dest: "/"
+            merge: true
+            preserve_properties: true
       docker_config:
         step_3:
           multipathd:
@@ -72,11 +77,11 @@ outputs:
                 - {get_attr: [ContainersCommon, volumes]}
                 -
                   - /var/lib/kolla/config_files/multipathd.json:/var/lib/kolla/config_files/config.json:ro
+                  - /var/lib/config-data/puppet-generated/iscsid/:/var/lib/kolla/config_files/src-iscsid:ro
                   - /dev/:/dev/
                   - /run/:/run/
                   - /sys:/sys
                   - /lib/modules:/lib/modules:ro
-                  - /etc/iscsi:/etc/iscsi
                   - /var/lib/cinder:/var/lib/cinder
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
index d8e7692..3ee3e43 100644 (file)
@@ -81,6 +81,10 @@ outputs:
               dest: "/"
               merge: true
               preserve_properties: true
+            - source: "/var/lib/kolla/config_files/src-iscsid/*"
+              dest: "/"
+              merge: true
+              preserve_properties: true
           permissions:
             - path: /var/log/nova
               owner: nova:nova
@@ -103,8 +107,8 @@ outputs:
                 -
                   - /var/lib/kolla/config_files/nova_compute.json:/var/lib/kolla/config_files/config.json:ro
                   - /var/lib/config-data/puppet-generated/nova_libvirt/:/var/lib/kolla/config_files/src:ro
+                  - /var/lib/config-data/puppet-generated/iscsid/:/var/lib/kolla/config_files/src-iscsid:ro
                   - /dev:/dev
-                  - /etc/iscsi:/etc/iscsi
                   - /lib/modules:/lib/modules:ro
                   - /run:/run
                   - /var/lib/nova:/var/lib/nova
index 89ef95e..17068b4 100644 (file)
@@ -73,6 +73,10 @@ outputs:
               dest: "/"
               merge: true
               preserve_properties: true
+            - source: "/var/lib/kolla/config_files/src-iscsid/*"
+              dest: "/"
+              merge: true
+              preserve_properties: true
           permissions:
             - path: /var/log/nova
               owner: nova:nova
@@ -94,9 +98,9 @@ outputs:
                 -
                   - /var/lib/kolla/config_files/nova_ironic.json:/var/lib/kolla/config_files/config.json:ro
                   - /var/lib/config-data/puppet-generated/nova/:/var/lib/kolla/config_files/src:ro
+                  - /var/lib/config-data/puppet-generated/iscsid/:/var/lib/kolla/config_files/src-iscsid:ro
                   - /run:/run
                   - /dev:/dev
-                  - /etc/iscsi:/etc/iscsi
                   - /var/lib/nova/:/var/lib/nova
                   - /var/log/containers/nova:/var/log/nova
             environment:
index d6d6f29..02129dc 100644 (file)
     - OS::TripleO::Services::CinderHPELeftHandISCSI
     - OS::TripleO::Services::Etcd
     - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::Iscsid
 
 - name: Compute
   CountDefault: 1
     - OS::TripleO::Services::SensuClient
     - OS::TripleO::Services::FluentdClient
     - OS::TripleO::Services::AuditD
+    - OS::TripleO::Services::Iscsid
 
 - name: BlockStorage
   ServicesDefault:
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::SensuClient
     - OS::TripleO::Services::FluentdClient
+    - OS::TripleO::Services::Iscsid
 
 - name: ContrailAnalytics
   ServicesDefault:
index 8d30449..f6c1b21 100644 (file)
@@ -20,6 +20,7 @@ resource_registry:
   OS::TripleO::Services::HeatApi: ../docker/services/heat-api.yaml
   OS::TripleO::Services::HeatApiCfn: ../docker/services/heat-api-cfn.yaml
   OS::TripleO::Services::HeatEngine: ../docker/services/heat-engine.yaml
+  OS::TripleO::Services::Iscsid: ../docker/services/iscsid.yaml
   OS::TripleO::Services::Keystone: ../docker/services/keystone.yaml
   OS::TripleO::Services::NeutronApi: ../docker/services/neutron-api.yaml
   OS::TripleO::Services::NeutronCorePlugin: ../docker/services/neutron-plugin-ml2.yaml
index a1220d3..7c32fce 100644 (file)
@@ -169,6 +169,7 @@ resource_registry:
   OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
   OS::TripleO::Services::HAProxyPublicTLS: OS::Heat::None
   OS::TripleO::Services::HAProxyInternalTLS: OS::Heat::None
+  OS::TripleO::Services::Iscsid: puppet/services/iscsid.yaml
   OS::TripleO::Services::Keepalived: puppet/services/keepalived.yaml
   OS::TripleO::Services::Memcached: puppet/services/memcached.yaml
   OS::TripleO::Services::SaharaApi: OS::Heat::None
diff --git a/puppet/services/iscsid.yaml b/puppet/services/iscsid.yaml
new file mode 100644 (file)
index 0000000..9510df3
--- /dev/null
@@ -0,0 +1,41 @@
+heat_template_version: pike
+
+description: >
+  Configure iscsid
+
+parameters:
+  ServiceData:
+    default: {}
+    description: Dictionary packing service data
+    type: json
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+  RoleName:
+    default: ''
+    description: Role name on which the service is applied
+    type: string
+  RoleParameters:
+    default: {}
+    description: Parameters specific to the role
+    type: json
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+
+outputs:
+  role_data:
+    description: Role data for iscsid
+    value:
+      service_name: iscsid
+      config_setting: {}
+      step_config: |
+        include ::tripleo::profile::base::iscsid
index 4ad405a..1feb12f 100644 (file)
@@ -57,6 +57,7 @@
     - OS::TripleO::Services::Horizon
     - OS::TripleO::Services::IronicApi
     - OS::TripleO::Services::IronicConductor
+    - OS::TripleO::Services::Iscsid
     - OS::TripleO::Services::Keepalived
     - OS::TripleO::Services::Kernel
     - OS::TripleO::Services::Keystone
index cd1fcb4..3568a8d 100644 (file)
@@ -151,6 +151,7 @@ Example
    * OS::TripleO::Services::ComputeNeutronOvsAgent
    * OS::TripleO::Services::Docker
    * OS::TripleO::Services::FluentdClient
+   * OS::TripleO::Services::Iscsid
    * OS::TripleO::Services::Kernel
    * OS::TripleO::Services::MySQLClient
    * OS::TripleO::Services::NeutronSriovAgent