Hide Forgot
Created attachment 1113030 [details] swift scale out error Description of problem: Adding an additional Swift node to an existing deployment fails with: No partitions could be reassigned. Either none need to be or none can be due to min_part_hours [1]. Version-Release number of selected component (if applicable): openstack-tripleo-heat-templates-0.8.7-2.el7ost.noarch How reproducible: 100% Steps to Reproduce: 1. Deploy overcloud with 3 x Swift nodes: openstack overcloud deploy --templates ~/templates/my-overcloud \ --control-scale 1 --compute-scale 1 --swift-storage-scale 3 \ -e ~/templates/my-overcloud/environments/network-isolation.yaml \ -e ~/templates/network-environment.yaml \ -e ~/templates/swift.yaml 2. Run the deploy command with an additional swift node: openstack overcloud deploy --templates ~/templates/my-overcloud \ --control-scale 1 --compute-scale 1 --swift-storage-scale 4 \ -e ~/templates/my-overcloud/environments/network-isolation.yaml \ -e ~/templates/network-environment.yaml \ -e ~/templates/swift.yaml Actual results: Deployment fails: Deploying templates in the directory /home/stack/templates/my-overcloud Stack failed with status: resources.ObjectStorageNodesPostDeployment: resources.StorageRingbuilderDeployment_Step2: Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 6 Heat Stack update failed. Expected results: Deployment succeeds. Additional info: Attaching the puppet error.
There is no support for scaling Swift in t-h-t yet. This is to do with complex requirements and Swift's ring-builder.
dougal, going to assign this one back to you. i think we can call it "fixed" once the patch to optionally disable the ring build is landed, and the docs patch is landed.
I'm going to test the patch attached to the BZ which disables the ring build by Director. Swift nodes scale out is going to be supported with manual ring management(outside Director). After passing the following environment file: parameter_defaults: SwiftRingBuild: False RingBuild: False We get the following contens in /etc/swift: [root@overcloud-controller-0 ~]# ls /etc/swift/ account-server account-server.conf container-reconciler.conf container-server container-server.conf object-expirer.conf object-server object-server.conf proxy-server proxy-server.conf swift.conf [heat-admin@overcloud-objectstorage-0 ~]$ ls /etc/swift/ account-server account-server.conf container-reconciler.conf container-server container-server.conf object-expirer.conf object-server object-server.conf proxy-server proxy-server.conf swift.conf [heat-admin@overcloud-objectstorage-1 ~]$ ls /etc/swift/ account-server account-server.conf container-reconciler.conf container-server container-server.conf object-expirer.conf object-server object-server.conf proxy-server proxy-server.conf swift.conf [heat-admin@overcloud-objectstorage-2 ~]$ ls /etc/swift/ account-server account-server.conf container-reconciler.conf container-server container-server.conf object-expirer.conf object-server object-server.conf proxy-server proxy-server.conf swift.conf