Open erictchiu opened 9 years ago
Yeah it's probably a good idea, it wasn't my original intent with swiftacular but it's a good feature to have.
I have modified the playbooks to add a second proxy. Nothing complicated. But, I can publish it if anyone is interested.
Current playbook does not support multiple proxies. See log below.
PLAY [package_cache] ******
GATHERING FACTS *** ok: [swift-package-cache-01]
TASK: [package_cache | install required package_cache packages] *** ok: [swift-package-cache-01] => (item=apt-cacher-ng) => {"changed": false, "item": "apt-cacher-ng"}
TASK: [package_cache | set bind address in apt-cacher-ng configuration file] *\ ok: [swift-package-cache-01] => {"backup": "", "changed": false, "item": "", "msg": ""}
TASK: [package_cache | ensure apt-cacher-ng is running] *** ok: [swift-package-cache-01] => {"changed": false, "item": "", "name": "apt-cacher-ng", "state": "started"}
TASK: [package_cache | install squid to cache rpm packages] *** skipping: [swift-package-cache-01]
TASK: [package_cache | set a cache_dir in squid.conf] ***** skipping: [swift-package-cache-01]
TASK: [package_cache | set a cache_dir in squid.conf] ***** skipping: [swift-package-cache-01]
TASK: [package_cache | ensure squid is running] *** skipping: [swift-package-cache-01]
PLAY [all] ****
GATHERING FACTS *** ok: [swift-keystone-01] ok: [swift-package-cache-01] ok: [swift-proxy-03] ok: [swift-proxy-02] ok: [swift-storage-03] ok: [swift-lbssl-01] ok: [swift-storage-01] ok: [swift-proxy-01] ok: [swift-storage-02]
TASK: [common | ensure portmap is not running] **** failed: [swift-proxy-01] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring failed: [swift-package-cache-01] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring failed: [swift-proxy-03] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring failed: [swift-proxy-02] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring failed: [swift-storage-01] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring failed: [swift-keystone-01] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring failed: [swift-storage-02] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring failed: [swift-lbssl-01] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring failed: [swift-storage-03] => {"failed": true, "item": ""} msg: service not found: portmap ...ignoring
TASK: [common | install ntp package] ****** ok: [swift-proxy-02] => {"changed": false, "item": ""} ok: [swift-lbssl-01] => {"changed": false, "item": ""} ok: [swift-proxy-03] => {"changed": false, "item": ""} ok: [swift-package-cache-01] => {"changed": false, "item": ""} ok: [swift-storage-01] => {"changed": false, "item": ""} ok: [swift-keystone-01] => {"changed": false, "item": ""} ok: [swift-storage-02] => {"changed": false, "item": ""} ok: [swift-proxy-01] => {"changed": false, "item": ""} ok: [swift-storage-03] => {"changed": false, "item": ""}
TASK: [common | set timezone to timezone_area/timezone_city] ****** ok: [swift-proxy-02] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0} ok: [swift-lbssl-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0} ok: [swift-storage-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0} ok: [swift-keystone-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0} ok: [swift-proxy-03] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0} ok: [swift-proxy-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0} ok: [swift-storage-03] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0} ok: [swift-package-cache-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0} ok: [swift-storage-02] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/timezone", "size": 21, "state": "file", "uid": 0}
TASK: [common | setup timezone link] ****** skipping: [swift-proxy-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-proxy-02] skipping: [swift-storage-03] skipping: [swift-package-cache-01] skipping: [swift-storage-02]
TASK: [common | stop ntpd to run ntpdate] ***** skipping: [swift-proxy-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-proxy-02] skipping: [swift-storage-03] skipping: [swift-package-cache-01] skipping: [swift-storage-02]
TASK: [common | set time with ntpdate] **** skipping: [swift-proxy-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-02] skipping: [swift-storage-03]
TASK: [common | start ntpd] *** skipping: [swift-proxy-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-02] skipping: [swift-storage-03]
TASK: [common | setup apt-cacher-ng proxy] **** ok: [swift-proxy-01] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000} ok: [swift-lbssl-01] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000} ok: [swift-proxy-03] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000} ok: [swift-package-cache-01] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000} ok: [swift-storage-01] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000} ok: [swift-proxy-02] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000} ok: [swift-storage-02] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000} ok: [swift-keystone-01] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000} ok: [swift-storage-03] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/apt/apt.conf.d/01proxy", "size": 54, "state": "file", "uid": 1000}
TASK: [common | install required packages to add havana repository] *** skipping: [swift-proxy-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-02] skipping: [swift-storage-03]
TASK: [common | install precise openstack havana apt repository] ****** skipping: [swift-proxy-02] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-01] skipping: [swift-storage-03]
TASK: [common | update apt] *** skipping: [swift-proxy-02] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-01] skipping: [swift-storage-03]
TASK: [common | configure proxy cache server for yum] ***** skipping: [swift-lbssl-01] skipping: [swift-proxy-03] skipping: [swift-proxy-02] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-keystone-01] skipping: [swift-storage-01] skipping: [swift-proxy-01] skipping: [swift-storage-03]
TASK: [common | remove fastestmirror plugin] ****** skipping: [swift-proxy-02] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-proxy-01] skipping: [swift-storage-03] skipping: [swift-package-cache-01] skipping: [swift-storage-02]
TASK: [common | copy over new CentOS-Base.repo file] ****** skipping: [swift-package-cache-01] skipping: [swift-proxy-02] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-proxy-01] skipping: [swift-storage-02]
TASK: [common | ensure ntp is installed] ****** skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-proxy-02] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-01] skipping: [swift-storage-03]
TASK: [common | set timezone in /etc/sysconfig/clock] ***** skipping: [swift-proxy-01] skipping: [swift-proxy-02] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-storage-02] skipping: [swift-package-cache-01] skipping: [swift-storage-03]
TASK: [common | setup timezone link] ****** skipping: [swift-lbssl-01] skipping: [swift-proxy-03] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-01] skipping: [swift-storage-03] skipping: [swift-keystone-01] skipping: [swift-storage-01] skipping: [swift-proxy-02]
TASK: [common | ensure ntpd is running] *** skipping: [swift-proxy-02] skipping: [swift-proxy-01] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-storage-03] skipping: [swift-package-cache-01] skipping: [swift-storage-02]
TASK: [common | ensure yum-plugin-priorities is installed] **** skipping: [swift-proxy-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-proxy-02] skipping: [swift-storage-03] skipping: [swift-package-cache-01] skipping: [swift-storage-02]
TASK: [common | install RDO openstack repository] ***** skipping: [swift-proxy-02] skipping: [swift-proxy-01] skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-storage-03] skipping: [swift-package-cache-01] skipping: [swift-storage-02]
TASK: [common | install EPEL repository] ****** skipping: [swift-lbssl-01] skipping: [swift-proxy-03] skipping: [swift-keystone-01] skipping: [swift-storage-01] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-02] skipping: [swift-proxy-01] skipping: [swift-storage-03]
TASK: [common | enable RDO repository] **** skipping: [swift-lbssl-01] skipping: [swift-storage-01] skipping: [swift-package-cache-01] skipping: [swift-storage-02] skipping: [swift-proxy-01] skipping: [swift-proxy-02] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-storage-03]
TASK: [common | stop iptables] **** skipping: [swift-proxy-01] skipping: [swift-proxy-02] skipping: [swift-keystone-01] skipping: [swift-proxy-03] skipping: [swift-storage-01] skipping: [swift-lbssl-01] skipping: [swift-storage-02] skipping: [swift-package-cache-01] skipping: [swift-storage-03]
PLAY [lbssl] ******
GATHERING FACTS *** ok: [swift-lbssl-01]
TASK: [lbssl | install required packages for lbssl] *** ok: [swift-lbssl-01] => (item=pound,openssl) => {"changed": false, "item": "pound,openssl"}
TASK: [lbssl | set /etc/default/pound to allow pound to start] **** ok: [swift-lbssl-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/default/pound", "size": 240, "state": "file", "uid": 0}
TASK: [lbssl | copy over pound.cfg] *** ok: [swift-lbssl-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/pound/pound.cfg", "size": 1510, "state": "file", "uid": 0}
TASK: [lbssl | ensure required packages are installed] **** skipping: [swift-lbssl-01]
TASK: [lbssl | ensure there is a /etc/pound directory] **** skipping: [swift-lbssl-01]
TASK: [lbssl | remove default /etc/pound.cfg file] **** skipping: [swift-lbssl-01]
TASK: [lbssl | copy over pound.cfg] *** skipping: [swift-lbssl-01]
TASK: [lbssl | link /etc/pound/pound.cfg to /etc/pound.cfg] *** skipping: [swift-lbssl-01]
TASK: [lbssl | create self-signed SSL cert for pound] ***** skipping: [swift-lbssl-01]
TASK: [lbssl | verify cert file] ****** skipping: [swift-lbssl-01]
TASK: [lbssl | create a pem file] ***** skipping: [swift-lbssl-01]
TASK: [lbssl | add server.key to server.pem file] ***** skipping: [swift-lbssl-01]
TASK: [lbssl | ensure pound is running] *** ok: [swift-lbssl-01] => {"changed": false, "item": "", "name": "pound", "state": "started"}
PLAY [proxy;storage;package_cache] ****
GATHERING FACTS *** ok: [swift-storage-02] ok: [swift-proxy-01] ok: [swift-proxy-03] ok: [swift-storage-01] ok: [swift-storage-03] ok: [swift-proxy-02] ok: [swift-package-cache-01]
TASK: [swift_common | install required packages for swift_common] ***** ok: [swift-proxy-03] => (item=swift,python-swiftclient,openssh-server,rsync) => {"changed": false, "item": "swift,python-swiftclient,openssh-server,rsync"} ok: [swift-storage-02] => (item=swift,python-swiftclient,openssh-server,rsync) => {"changed": false, "item": "swift,python-swiftclient,openssh-server,rsync"} ok: [swift-proxy-01] => (item=swift,python-swiftclient,openssh-server,rsync) => {"changed": false, "item": "swift,python-swiftclient,openssh-server,rsync"} ok: [swift-proxy-02] => (item=swift,python-swiftclient,openssh-server,rsync) => {"changed": false, "item": "swift,python-swiftclient,openssh-server,rsync"} ok: [swift-storage-03] => (item=swift,python-swiftclient,openssh-server,rsync) => {"changed": false, "item": "swift,python-swiftclient,openssh-server,rsync"} ok: [swift-storage-01] => (item=swift,python-swiftclient,openssh-server,rsync) => {"changed": false, "item": "swift,python-swiftclient,openssh-server,rsync"} ok: [swift-package-cache-01] => (item=swift,python-swiftclient,openssh-server,rsync) => {"changed": false, "item": "swift,python-swiftclient,openssh-server,rsync"}
TASK: [swift_common | install required packages for swift_common] ***** skipping: [swift-storage-02] skipping: [swift-proxy-03] skipping: [swift-storage-01] skipping: [swift-proxy-02] skipping: [swift-package-cache-01] skipping: [swift-proxy-01] skipping: [swift-storage-03]
TASK: [swift_common | ensure /etc/swift exists] *** ok: [swift-proxy-02] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/etc/swift", "size": 4096, "state": "directory", "uid": 109} ok: [swift-storage-01] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/etc/swift", "size": 4096, "state": "directory", "uid": 109} ok: [swift-proxy-03] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/etc/swift", "size": 4096, "state": "directory", "uid": 109} ok: [swift-proxy-01] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/etc/swift", "size": 4096, "state": "directory", "uid": 109} ok: [swift-package-cache-01] => {"changed": false, "gid": 116, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/etc/swift", "size": 4096, "state": "directory", "uid": 111} ok: [swift-storage-02] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/etc/swift", "size": 4096, "state": "directory", "uid": 109} ok: [swift-storage-03] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/etc/swift", "size": 4096, "state": "directory", "uid": 109}
TASK: [swift_common | copy over swift.conf file] ****** ok: [swift-proxy-03] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0600", "owner": "swift", "path": "/etc/swift/swift.conf", "size": 81, "state": "file", "uid": 109} ok: [swift-storage-01] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0600", "owner": "swift", "path": "/etc/swift/swift.conf", "size": 81, "state": "file", "uid": 109} ok: [swift-storage-02] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0600", "owner": "swift", "path": "/etc/swift/swift.conf", "size": 81, "state": "file", "uid": 109} ok: [swift-proxy-02] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0600", "owner": "swift", "path": "/etc/swift/swift.conf", "size": 81, "state": "file", "uid": 109} ok: [swift-storage-03] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0600", "owner": "swift", "path": "/etc/swift/swift.conf", "size": 81, "state": "file", "uid": 109} ok: [swift-proxy-01] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0600", "owner": "swift", "path": "/etc/swift/swift.conf", "size": 81, "state": "file", "uid": 109} ok: [swift-package-cache-01] => {"changed": false, "gid": 116, "group": "swift", "item": "", "mode": "0600", "owner": "swift", "path": "/etc/swift/swift.conf", "size": 81, "state": "file", "uid": 111}
PLAY [swiftclient] ****
GATHERING FACTS *** ok: [swift-package-cache-01]
TASK: [swiftclient | copy over testrc file] *** ok: [swift-package-cache-01] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/home/vagrant/testrc", "size": 200, "state": "file", "uid": 1000}
TASK: [swiftclient | copy over adminrc file] ****** ok: [swift-package-cache-01] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/home/vagrant/adminrc", "size": 120, "state": "file", "uid": 1000}
PLAY [authentication] *****
GATHERING FACTS *** ok: [swift-keystone-01]
TASK: [authentication | install required keystone packages] *** ok: [swift-keystone-01] => (item=keystone,python-keyring,mysql-server,python-mysqldb) => {"changed": false, "item": "keystone,python-keyring,mysql-server,python-mysqldb"}
TASK: [authentication | create empty /var/log/keystone/keystone.log] ****** skipping: [swift-keystone-01]
TASK: [authentication | ensure /var/log/keystone/keystone.log has the correct privileges] *\ ok: [swift-keystone-01] => {"changed": false, "gid": 115, "group": "keystone", "item": "", "mode": "0644", "owner": "keystone", "path": "/var/log/keystone/keystone.log", "size": 462, "state": "file", "uid": 110}
TASK: [authentication | remove default keystone sqlite database file] ***** ok: [swift-keystone-01] => {"changed": false, "item": "", "path": "/var/lib/keystone/keystone.db", "state": "absent"}
TASK: [authentication | install required keystone packages] *** skipping: [swift-keystone-01]
TASK: [authentication | ensure mysql-server is running] *** skipping: [swift-keystone-01]
TASK: [authentication | copy over /etc/keystone/logging.conf] ***** skipping: [swift-keystone-01]
TASK: [authentication | create empty /var/log/keystone/error.log and access.log] *\ skipping: [swift-keystone-01] => (item=error) skipping: [swift-keystone-01] => (item=access)
TASK: [authentication | ensure error.log and access.log are writable by keystone] *\ skipping: [swift-keystone-01] => (item=error) skipping: [swift-keystone-01] => (item=access)
TASK: [authentication | ensure keystone can write to /var/log/keystone] *** skipping: [swift-keystone-01]
TASK: [authentication | copy over keystone.conf from template] **** ok: [swift-keystone-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/keystone/keystone.conf", "size": 3066, "state": "file", "uid": 0}
TASK: [authentication | check if there is a /etc/keystone/ssl/certs/keystone.pem file] *\ ok: [swift-keystone-01] => {"changed": false, "cmd": ["ls", "/etc/keystone/ssl/certs/keystone.pem"], "delta": "0:00:00.005054", "end": "2015-03-24 19:52:13.558556", "item": "", "rc": 0, "start": "2015-03-24 19:52:13.553502", "stderr": "", "stdout": "/etc/keystone/ssl/certs/keystone.pem", "stdout_lines": ["/etc/keystone/ssl/certs/keystone.pem"]}
TASK: [authentication | remove /etc/keystone/ssl if there is not a keystone.pem file] *\ skipping: [swift-keystone-01]
TASK: [authentication | use keystone ssl_setup to create ssl configuration files and keys] *\ skipping: [swift-keystone-01]
TASK: [authentication | create keystone database] ***** ok: [swift-keystone-01] => {"changed": false, "db": "keystone", "item": ""}
TASK: [authentication | create keystone mysql user] *** ok: [swift-keystone-01] => {"changed": false, "item": "", "user": "keystone"}
TASK: [authentication | run keystone db_sync] ***** skipping: [swift-keystone-01]
TASK: [authentication | restart debian keystone] ****** skipping: [swift-keystone-01]
TASK: [authentication | restart redhat keystone] ****** skipping: [swift-keystone-01]
TASK: [authentication | ensure keystone debian keystone is running] *** ok: [swift-keystone-01] => {"changed": false, "item": "", "name": "keystone", "state": "started"}
TASK: [authentication | ensure redhat keystone is running] **** skipping: [swift-keystone-01]
TASK: [authentication | wait for keystone to come back up] **** ok: [swift-keystone-01] => {"changed": false, "elapsed": 0, "item": "", "path": null, "port": 35357, "search_regex": null, "state": "started"}
TASK: [authentication | create keystone identity point] *** ok: [swift-keystone-01] => {"changed": false, "endpoint_id": "1bd22d0726574b01a185cb7a7955c699", "item": "", "service_id": "ffb7913cfce544ac9dea0e940b55fad1"}
TASK: [authentication | create EC2 compatability keystone service] **** ok: [swift-keystone-01] => {"changed": false, "endpoint_id": "aafe45d3c19c40dfb89e724433757bfb", "item": "", "service_id": "bf5fcafdcc844945a19d5822c1982e39"}
TASK: [authentication | create object storage keystone service] *** ok: [swift-keystone-01] => {"changed": false, "endpoint_id": "dfe00ed43dcf497eb34e146b76a7e955", "item": "", "service_id": "85901c4c24304498a11b60f38a2894f0"}
TASK: [authentication | create service keystone tenant] *** ok: [swift-keystone-01] => {"changed": false, "id": "a179302f0c704cc988267f0b21a033c9", "item": ""}
TASK: [authentication | create admin keystone tenant] ***** ok: [swift-keystone-01] => {"changed": false, "id": "580900a0ad6746f99906caccc2f2f181", "item": ""}
TASK: [authentication | create demo keystone tenant] ****** ok: [swift-keystone-01] => {"changed": false, "id": "f08a5cecfbe243a3aff2d472176112d0", "item": ""}
TASK: [authentication | create admin keystone user] *** ok: [swift-keystone-01] => {"changed": false, "id": "8816611d2fb54716ad295998b1ffd59b", "item": ""}
TASK: [authentication | create swift service keystone user] *** ok: [swift-keystone-01] => {"changed": false, "id": "becd2671c6ac4bbd982c613e15649557", "item": ""}
TASK: [authentication | create ec2 service keystone user] ***** ok: [swift-keystone-01] => {"changed": false, "id": "e22c3219af5d4e84994252919ffd9698", "item": ""}
TASK: [authentication | create test keystone user] **** ok: [swift-keystone-01] => {"changed": false, "id": "6fcbd73e40ce4e32a6da9ef1c57fe794", "item": ""}
TASK: [authentication | create an admin role and add the admin to it] ***** ok: [swift-keystone-01] => {"changed": false, "id": "97bcddbb0fa64d338822c7cd63468cee", "item": ""}
TASK: [authentication | create an admin role and add the admin to it] ***** ok: [swift-keystone-01] => {"changed": false, "id": "97bcddbb0fa64d338822c7cd63468cee", "item": ""}
TASK: [authentication | create an admin role and add the admin to it] ***** ok: [swift-keystone-01] => {"changed": false, "id": "97bcddbb0fa64d338822c7cd63468cee", "item": ""}
TASK: [authentication | create a swiftoperator role and add the demo user to it] *\ ok: [swift-keystone-01] => {"changed": false, "id": "bf6207c7f0464f6c985d5d00a1e28771", "item": ""}
TASK: [authentication | test keystone on precise with user-list] ****** skipping: [swift-keystone-01]
TASK: [authentication | test keystone on trusty with user-list] *** skipping: [swift-keystone-01]
TASK: [authentication | test keystone with user-list] ***** skipping: [swift-keystone-01]
PLAY [proxy] ******
GATHERING FACTS *** ok: [swift-proxy-01] ok: [swift-proxy-02] ok: [swift-proxy-03]
TASK: [proxy | install required proxy packages] *** ok: [swift-proxy-03] => (item=swift-proxy,swift-object,memcached,python-keystoneclient,python-swiftclient,swift-plugin-s3,python-netifaces,python-xattr,python-memcache) => {"changed": false, "item": "swift-proxy,swift-object,memcached,python-keystoneclient,python-swiftclient,swift-plugin-s3,python-netifaces,python-xattr,python-memcache"} ok: [swift-proxy-01] => (item=swift-proxy,swift-object,memcached,python-keystoneclient,python-swiftclient,swift-plugin-s3,python-netifaces,python-xattr,python-memcache) => {"changed": false, "item": "swift-proxy,swift-object,memcached,python-keystoneclient,python-swiftclient,swift-plugin-s3,python-netifaces,python-xattr,python-memcache"} ok: [swift-proxy-02] => (item=swift-proxy,swift-object,memcached,python-keystoneclient,python-swiftclient,swift-plugin-s3,python-netifaces,python-xattr,python-memcache) => {"changed": false, "item": "swift-proxy,swift-object,memcached,python-keystoneclient,python-swiftclient,swift-plugin-s3,python-netifaces,python-xattr,python-memcache"}
TASK: [proxy | tell memcached what IP to listen on] *** ok: [swift-proxy-02] => {"backup": "", "changed": false, "item": "", "msg": ""} ok: [swift-proxy-03] => {"backup": "", "changed": false, "item": "", "msg": ""} ok: [swift-proxy-01] => {"backup": "", "changed": false, "item": "", "msg": ""}
TASK: [proxy | install required proxy packages] *** skipping: [swift-proxy-01] skipping: [swift-proxy-02] skipping: [swift-proxy-03]
TASK: [proxy | make sure memcached is running] **** ok: [swift-proxy-02] => {"changed": false, "item": "", "name": "memcached", "state": "started"} ok: [swift-proxy-01] => {"changed": false, "item": "", "name": "memcached", "state": "started"} ok: [swift-proxy-03] => {"changed": false, "item": "", "name": "memcached", "state": "started"}
TASK: [proxy | ensure permissions on /var/cache/swift] **** ok: [swift-proxy-02] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0700", "owner": "swift", "path": "/var/cache/swift", "size": 4096, "state": "directory", "uid": 109} ok: [swift-proxy-03] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0700", "owner": "swift", "path": "/var/cache/swift", "size": 4096, "state": "directory", "uid": 109} ok: [swift-proxy-01] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0700", "owner": "swift", "path": "/var/cache/swift", "size": 4096, "state": "directory", "uid": 109}
TASK: [proxy | copy over proxy-server.conf] *** ok: [swift-proxy-01] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0640", "owner": "swift", "path": "/etc/swift/proxy-server.conf", "size": 1375, "state": "file", "uid": 109} ok: [swift-proxy-02] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0640", "owner": "swift", "path": "/etc/swift/proxy-server.conf", "size": 1375, "state": "file", "uid": 109} ok: [swift-proxy-03] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0640", "owner": "swift", "path": "/etc/swift/proxy-server.conf", "size": 1375, "state": "file", "uid": 109}
TASK: [proxy | copy over object-expirer.conf] ***** ok: [swift-proxy-03] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0640", "owner": "swift", "path": "/etc/swift/object-expirer.conf", "size": 566, "state": "file", "uid": 109} ok: [swift-proxy-01] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0640", "owner": "swift", "path": "/etc/swift/object-expirer.conf", "size": 566, "state": "file", "uid": 109} ok: [swift-proxy-02] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0640", "owner": "swift", "path": "/etc/swift/object-expirer.conf", "size": 566, "state": "file", "uid": 109}
TASK: [proxy | run swift-ring-builder for accounts, containers, and objects] *\ skipping: [swift-proxy-01] skipping: [swift-proxy-01] skipping: [swift-proxy-01] changed: [swift-proxy-02] => (item=account) => {"changed": true, "cmd": ["swift-ring-builder", "account.builder", "create", "12", "2", "1"], "delta": "0:00:00.247470", "end": "2015-03-24 19:52:26.909983", "item": "account", "rc": 0, "start": "2015-03-24 19:52:26.662513", "stderr": "", "stdout": ""} changed: [swift-proxy-02] => (item=container) => {"changed": true, "cmd": ["swift-ring-builder", "container.builder", "create", "12", "2", "1"], "delta": "0:00:00.244557", "end": "2015-03-24 19:52:27.358840", "item": "container", "rc": 0, "start": "2015-03-24 19:52:27.114283", "stderr": "", "stdout": ""} changed: [swift-proxy-02] => (item=object) => {"changed": true, "cmd": ["swift-ring-builder", "object.builder", "create", "12", "2", "1"], "delta": "0:00:00.240234", "end": "2015-03-24 19:52:27.801930", "item": "object", "rc": 0, "start": "2015-03-24 19:52:27.561696", "stderr": "", "stdout": ""} changed: [swift-proxy-03] => (item=account) => {"changed": true, "cmd": ["swift-ring-builder", "account.builder", "create", "12", "2", "1"], "delta": "0:00:00.248269", "end": "2015-03-24 19:52:26.907360", "item": "account", "rc": 0, "start": "2015-03-24 19:52:26.659091", "stderr": "", "stdout": ""} changed: [swift-proxy-03] => (item=container) => {"changed": true, "cmd": ["swift-ring-builder", "container.builder", "create", "12", "2", "1"], "delta": "0:00:00.246921", "end": "2015-03-24 19:52:27.364943", "item": "container", "rc": 0, "start": "2015-03-24 19:52:27.118022", "stderr": "", "stdout": ""} changed: [swift-proxy-03] => (item=object) => {"changed": true, "cmd": ["swift-ring-builder", "object.builder", "create", "12", "2", "1"], "delta": "0:00:00.246048", "end": "2015-03-24 19:52:27.813887", "item": "object", "rc": 0, "start": "2015-03-24 19:52:27.567839", "stderr": "", "stdout": ""}
PLAY [storage] ****
GATHERING FACTS *** ok: [swift-storage-01] ok: [swift-storage-02] ok: [swift-storage-03]
TASK: [storage | install required packages for swift storage] ***** ok: [swift-storage-03] => (item=swift-account,swift-container,swift-object,xfsprogs,parted) => {"changed": false, "item": "swift-account,swift-container,swift-object,xfsprogs,parted"}
TASK: [storage | edit /etc/sysconfig/rsync] *** ok: [swift-storage-03] => {"backup": "", "changed": false, "item": "", "msg": ""}
TASK: [storage | edit /etc/sysconfig/rsync] *** ok: [swift-storage-03] => {"backup": "", "changed": false, "item": "", "msg": ""}
TASK: [storage | install required packages for swift storage] ***** skipping: [swift-storage-03]
TASK: [storage | copy rsync init script to /etc/init.d/rsync] ***** skipping: [swift-storage-03]
TASK: [storage | make sure /srv/node exists] ****** ok: [swift-storage-03] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0755", "owner": "root", "path": "/srv/node", "size": 4096, "state": "directory", "uid": 0}
TASK: [storage | make sure /var/swift/recon exists] *** ok: [swift-storage-03] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/var/swift/recon", "size": 4096, "state": "directory", "uid": 109}
TASK: [storage | check if losetup loop1 is already up] **** ok: [swift-storage-03] => {"changed": false, "cmd": "mount | grep \"loop1 \" ", "delta": "0:00:00.004106", "end": "2015-03-24 19:52:31.097188", "item": "", "rc": 0, "start": "2015-03-24 19:52:31.093082", "stderr": "", "stdout": "/dev/loop1 on /srv/node/td1 type xfs (rw,noatime,nodiratime,nobarrier)", "stdout_lines": ["/dev/loop1 on /srv/node/td1 type xfs (rw,noatime,nodiratime,nobarrier)"]}
TASK: [storage | umount swift disks] ****** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | remove /srv/node/* disk device directories] ****** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | remove sparse images] **** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | create sparse images] **** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | setup loop devices] ****** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | create file system on loop devices] ****** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | make /srv/node disk device directories] ****** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | mount swift disks] *** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | set permissions on /srv/node/* after being mounted] ****** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | copy over rsyncd.conf to swift storage] ****** ok: [swift-storage-03] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/rsyncd.conf", "size": 415, "state": "file", "uid": 1000}
TASK: [storage | make sure rsync is running] ****** ok: [swift-storage-03] => {"changed": false, "item": "", "name": "rsync", "state": "started"}
TASK: [storage | ensure -server directories exist in /etc/swift] **** ok: [swift-storage-03] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0755", "owner": "swift", "path": "/etc/swift/account-server", "size": 4096, "state": "directory", "uid": 109} ok: [swift-storage-03] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0755", "owner": "swift", "path": "/etc/swift/container-server", "size": 4096, "state": "directory", "uid": 109} ok: [swift-storage-03] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0755", "owner": "swift", "path": "/etc/swift/object-server", "size": 4096, "state": "directory", "uid": 109}
TASK: [storage | copy over -server.conf files] ****** ok: [swift-storage-03] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0644", "owner": "swift", "path": "/etc/swift/account-server/account-server.conf", "size": 211, "state": "file", "uid": 109} ok: [swift-storage-03] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0644", "owner": "swift", "path": "/etc/swift/container-server/container-server.conf", "size": 243, "state": "file", "uid": 109} ok: [swift-storage-03] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0644", "owner": "swift", "path": "/etc/swift/object-server/object-server.conf", "size": 224, "state": "file", "uid": 109}
TASK: [storage | copy over -replication.conf files] ***** ok: [swift-storage-03] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0644", "owner": "swift", "path": "/etc/swift/account-server/account-replication.conf", "size": 237, "state": "file", "uid": 109} ok: [swift-storage-03] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0644", "owner": "swift", "path": "/etc/swift/container-server/container-replication.conf", "size": 269, "state": "file", "uid": 109} ok: [swift-storage-03] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0644", "owner": "swift", "path": "/etc/swift/object-server/object-replication.conf", "size": 250, "state": "file", "uid": 109}
TASK: [storage | check if account.ring.gz already exists] ***** ok: [swift-storage-03] => {"changed": false, "cmd": ["ls", "/etc/swift/account.ring.gz"], "delta": "0:00:00.005336", "end": "2015-03-24 19:52:34.313182", "item": "", "rc": 0, "start": "2015-03-24 19:52:34.307846", "stderr": "", "stdout": "/etc/swift/account.ring.gz", "stdout_lines": ["/etc/swift/account.ring.gz"]}
TASK: [storage | debug msg="{{rings_exist.rc}}"] ****** ok: [swift-storage-03] => { "item": "", "msg": "0" }
TASK: [storage | build account ring] ****** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | build container ring] **** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | build object ring] *** skipping: [swift-storage-03] => (item=1) skipping: [swift-storage-03] => (item=2) skipping: [swift-storage-03] => (item=3)
TASK: [storage | install required packages for swift storage] ***** ok: [swift-storage-02] => (item=swift-account,swift-container,swift-object,xfsprogs,parted) => {"changed": false, "item": "swift-account,swift-container,swift-object,xfsprogs,parted"}
TASK: [storage | edit /etc/sysconfig/rsync] *** ok: [swift-storage-02] => {"backup": "", "changed": false, "item": "", "msg": ""}
TASK: [storage | edit /etc/sysconfig/rsync] *** ok: [swift-storage-02] => {"backup": "", "changed": false, "item": "", "msg": ""}
TASK: [storage | install required packages for swift storage] ***** skipping: [swift-storage-02]
TASK: [storage | copy rsync init script to /etc/init.d/rsync] ***** skipping: [swift-storage-02]
TASK: [storage | make sure /srv/node exists] ****** ok: [swift-storage-02] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0755", "owner": "root", "path": "/srv/node", "size": 4096, "state": "directory", "uid": 0}
TASK: [storage | make sure /var/swift/recon exists] *** ok: [swift-storage-02] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/var/swift/recon", "size": 4096, "state": "directory", "uid": 109}
TASK: [storage | check if losetup loop1 is already up] **** ok: [swift-storage-02] => {"changed": false, "cmd": "mount | grep \"loop1 \" ", "delta": "0:00:00.010303", "end": "2015-03-24 19:52:35.849429", "item": "", "rc": 0, "start": "2015-03-24 19:52:35.839126", "stderr": "", "stdout": "/dev/loop1 on /srv/node/td1 type xfs (rw,noatime,nodiratime,nobarrier)", "stdout_lines": ["/dev/loop1 on /srv/node/td1 type xfs (rw,noatime,nodiratime,nobarrier)"]}
TASK: [storage | umount swift disks] ****** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | remove /srv/node/* disk device directories] ****** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | remove sparse images] **** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | create sparse images] **** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | setup loop devices] ****** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | create file system on loop devices] ****** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | make /srv/node disk device directories] ****** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | mount swift disks] *** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | set permissions on /srv/node/* after being mounted] ****** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | copy over rsyncd.conf to swift storage] ****** ok: [swift-storage-02] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/rsyncd.conf", "size": 415, "state": "file", "uid": 1000}
TASK: [storage | make sure rsync is running] ****** ok: [swift-storage-02] => {"changed": false, "item": "", "name": "rsync", "state": "started"}
TASK: [storage | ensure -server directories exist in /etc/swift] **** ok: [swift-storage-02] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0755", "owner": "swift", "path": "/etc/swift/account-server", "size": 4096, "state": "directory", "uid": 109} ok: [swift-storage-02] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0755", "owner": "swift", "path": "/etc/swift/container-server", "size": 4096, "state": "directory", "uid": 109} ok: [swift-storage-02] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0755", "owner": "swift", "path": "/etc/swift/object-server", "size": 4096, "state": "directory", "uid": 109}
TASK: [storage | copy over -server.conf files] ****** ok: [swift-storage-02] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0644", "owner": "swift", "path": "/etc/swift/account-server/account-server.conf", "size": 211, "state": "file", "uid": 109} ok: [swift-storage-02] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0644", "owner": "swift", "path": "/etc/swift/container-server/container-server.conf", "size": 243, "state": "file", "uid": 109} ok: [swift-storage-02] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0644", "owner": "swift", "path": "/etc/swift/object-server/object-server.conf", "size": 224, "state": "file", "uid": 109}
TASK: [storage | copy over -replication.conf files] ***** ok: [swift-storage-02] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0644", "owner": "swift", "path": "/etc/swift/account-server/account-replication.conf", "size": 237, "state": "file", "uid": 109} ok: [swift-storage-02] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0644", "owner": "swift", "path": "/etc/swift/container-server/container-replication.conf", "size": 269, "state": "file", "uid": 109} ok: [swift-storage-02] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0644", "owner": "swift", "path": "/etc/swift/object-server/object-replication.conf", "size": 250, "state": "file", "uid": 109}
TASK: [storage | check if account.ring.gz already exists] ***** ok: [swift-storage-02] => {"changed": false, "cmd": ["ls", "/etc/swift/account.ring.gz"], "delta": "0:00:00.004073", "end": "2015-03-24 19:52:39.321524", "item": "", "rc": 0, "start": "2015-03-24 19:52:39.317451", "stderr": "", "stdout": "/etc/swift/account.ring.gz", "stdout_lines": ["/etc/swift/account.ring.gz"]}
TASK: [storage | debug msg="{{rings_exist.rc}}"] ****** ok: [swift-storage-02] => { "item": "", "msg": "0" }
TASK: [storage | build account ring] ****** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | build container ring] **** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | build object ring] *** skipping: [swift-storage-02] => (item=1) skipping: [swift-storage-02] => (item=2) skipping: [swift-storage-02] => (item=3)
TASK: [storage | install required packages for swift storage] ***** ok: [swift-storage-01] => (item=swift-account,swift-container,swift-object,xfsprogs,parted) => {"changed": false, "item": "swift-account,swift-container,swift-object,xfsprogs,parted"}
TASK: [storage | edit /etc/sysconfig/rsync] *** ok: [swift-storage-01] => {"backup": "", "changed": false, "item": "", "msg": ""}
TASK: [storage | edit /etc/sysconfig/rsync] *** ok: [swift-storage-01] => {"backup": "", "changed": false, "item": "", "msg": ""}
TASK: [storage | install required packages for swift storage] ***** skipping: [swift-storage-01]
TASK: [storage | copy rsync init script to /etc/init.d/rsync] ***** skipping: [swift-storage-01]
TASK: [storage | make sure /srv/node exists] ****** ok: [swift-storage-01] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0755", "owner": "root", "path": "/srv/node", "size": 4096, "state": "directory", "uid": 0}
TASK: [storage | make sure /var/swift/recon exists] *** ok: [swift-storage-01] => {"changed": false, "gid": 114, "group": "swift", "item": "", "mode": "0750", "owner": "swift", "path": "/var/swift/recon", "size": 4096, "state": "directory", "uid": 109}
TASK: [storage | check if losetup loop1 is already up] **** ok: [swift-storage-01] => {"changed": false, "cmd": "mount | grep \"loop1 \" ", "delta": "0:00:00.003413", "end": "2015-03-24 19:52:40.724185", "item": "", "rc": 0, "start": "2015-03-24 19:52:40.720772", "stderr": "", "stdout": "/dev/loop1 on /srv/node/td1 type xfs (rw,noatime,nodiratime,nobarrier)", "stdout_lines": ["/dev/loop1 on /srv/node/td1 type xfs (rw,noatime,nodiratime,nobarrier)"]}
TASK: [storage | umount swift disks] ****** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | remove /srv/node/* disk device directories] ****** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | remove sparse images] **** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | create sparse images] **** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | setup loop devices] ****** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | create file system on loop devices] ****** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | make /srv/node disk device directories] ****** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | mount swift disks] *** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | set permissions on /srv/node/* after being mounted] ****** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | copy over rsyncd.conf to swift storage] ****** ok: [swift-storage-01] => {"changed": false, "gid": 1000, "group": "vagrant", "item": "", "mode": "0600", "owner": "vagrant", "path": "/etc/rsyncd.conf", "size": 415, "state": "file", "uid": 1000}
TASK: [storage | make sure rsync is running] ****** ok: [swift-storage-01] => {"changed": false, "item": "", "name": "rsync", "state": "started"}
TASK: [storage | ensure -server directories exist in /etc/swift] **** ok: [swift-storage-01] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0755", "owner": "swift", "path": "/etc/swift/account-server", "size": 4096, "state": "directory", "uid": 109} ok: [swift-storage-01] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0755", "owner": "swift", "path": "/etc/swift/container-server", "size": 4096, "state": "directory", "uid": 109} ok: [swift-storage-01] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0755", "owner": "swift", "path": "/etc/swift/object-server", "size": 4096, "state": "directory", "uid": 109}
TASK: [storage | copy over -server.conf files] ****** ok: [swift-storage-01] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0644", "owner": "swift", "path": "/etc/swift/account-server/account-server.conf", "size": 211, "state": "file", "uid": 109} ok: [swift-storage-01] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0644", "owner": "swift", "path": "/etc/swift/container-server/container-server.conf", "size": 243, "state": "file", "uid": 109} ok: [swift-storage-01] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0644", "owner": "swift", "path": "/etc/swift/object-server/object-server.conf", "size": 224, "state": "file", "uid": 109}
TASK: [storage | copy over -replication.conf files] ***** ok: [swift-storage-01] => (item=account) => {"changed": false, "gid": 114, "group": "swift", "item": "account", "mode": "0644", "owner": "swift", "path": "/etc/swift/account-server/account-replication.conf", "size": 237, "state": "file", "uid": 109} ok: [swift-storage-01] => (item=container) => {"changed": false, "gid": 114, "group": "swift", "item": "container", "mode": "0644", "owner": "swift", "path": "/etc/swift/container-server/container-replication.conf", "size": 269, "state": "file", "uid": 109} ok: [swift-storage-01] => (item=object) => {"changed": false, "gid": 114, "group": "swift", "item": "object", "mode": "0644", "owner": "swift", "path": "/etc/swift/object-server/object-replication.conf", "size": 250, "state": "file", "uid": 109}
TASK: [storage | check if account.ring.gz already exists] ***** ok: [swift-storage-01] => {"changed": false, "cmd": ["ls", "/etc/swift/account.ring.gz"], "delta": "0:00:00.004328", "end": "2015-03-24 19:52:43.892337", "item": "", "rc": 0, "start": "2015-03-24 19:52:43.888009", "stderr": "", "stdout": "/etc/swift/account.ring.gz", "stdout_lines": ["/etc/swift/account.ring.gz"]}
TASK: [storage | debug msg="{{rings_exist.rc}}"] ****** ok: [swift-storage-01] => { "item": "", "msg": "0" }
TASK: [storage | build account ring] ****** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | build container ring] **** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
TASK: [storage | build object ring] *** skipping: [swift-storage-01] => (item=1) skipping: [swift-storage-01] => (item=2) skipping: [swift-storage-01] => (item=3)
PLAY [proxy] ******
GATHERING FACTS *** ok: [swift-proxy-01] ok: [swift-proxy-03] ok: [swift-proxy-02]
TASK: [rebalance rings] *** skipping: [swift-proxy-01] skipping: [swift-proxy-01] skipping: [swift-proxy-01] failed: [swift-proxy-03] => (item=account) => {"changed": true, "cmd": ["swift-ring-builder", "account.builder", "rebalance"], "delta": "0:00:00.114838", "end": "2015-03-24 19:52:46.507649", "item": "account", "rc": 2, "start": "2015-03-24 19:52:46.392811"} stdout: ------------------------------------------------------------------------------- An error has occurred during ring validation. Common causes of failure are rings that are empty or do not have enough devices to accommodate the replica count. Original exception message:
There are no devices in this ring, or all devices have been deleted
failed: [swift-proxy-03] => (item=object) => {"changed": true, "cmd": ["swift-ring-builder", "object.builder", "rebalance"], "delta": "0:00:00.095795", "end": "2015-03-24 19:52:46.692412", "item": "object", "rc": 2, "start": "2015-03-24 19:52:46.596617"} stdout: ------------------------------------------------------------------------------- An error has occurred during ring validation. Common causes of failure are rings that are empty or do not have enough devices to accommodate the replica count. Original exception message:
There are no devices in this ring, or all devices have been deleted
failed: [swift-proxy-03] => (item=container) => {"changed": true, "cmd": ["swift-ring-builder", "container.builder", "rebalance"], "delta": "0:00:00.262507", "end": "2015-03-24 19:52:47.118590", "item": "container", "rc": 2, "start": "2015-03-24 19:52:46.856083"} stdout: ------------------------------------------------------------------------------- An error has occurred during ring validation. Common causes of failure are rings that are empty or do not have enough devices to accommodate the replica count. Original exception message:
There are no devices in this ring, or all devices have been deleted
failed: [swift-proxy-02] => (item=account) => {"changed": true, "cmd": ["swift-ring-builder", "account.builder", "rebalance"], "delta": "0:00:00.113224", "end": "2015-03-24 19:52:46.503735", "item": "account", "rc": 2, "start": "2015-03-24 19:52:46.390511"} stdout: ------------------------------------------------------------------------------- An error has occurred during ring validation. Common causes of failure are rings that are empty or do not have enough devices to accommodate the replica count. Original exception message:
There are no devices in this ring, or all devices have been deleted
failed: [swift-proxy-02] => (item=object) => {"changed": true, "cmd": ["swift-ring-builder", "object.builder", "rebalance"], "delta": "0:00:00.098794", "end": "2015-03-24 19:52:46.695929", "item": "object", "rc": 2, "start": "2015-03-24 19:52:46.597135"} stdout: ------------------------------------------------------------------------------- An error has occurred during ring validation. Common causes of failure are rings that are empty or do not have enough devices to accommodate the replica count. Original exception message:
There are no devices in this ring, or all devices have been deleted
failed: [swift-proxy-02] => (item=container) => {"changed": true, "cmd": ["swift-ring-builder", "container.builder", "rebalance"], "delta": "0:00:00.267599", "end": "2015-03-24 19:52:47.132187", "item": "container", "rc": 2, "start": "2015-03-24 19:52:46.864588"} stdout: ------------------------------------------------------------------------------- An error has occurred during ring validation. Common causes of failure are rings that are empty or do not have enough devices to accommodate the replica count. Original exception message:
There are no devices in this ring, or all devices have been deleted
TASK: [grab resulting .ring.gz files and put them on all proxy and storage nodes] ** skipping: [swift-proxy-01] => (item=account) skipping: [swift-proxy-01] => (item=object) skipping: [swift-proxy-01] => (item=container)
TASK: [start swift-proxy on proxy nodes] ****** ok: [swift-proxy-01] => {"changed": false, "item": "", "name": "swift-proxy", "state": "started"}
TASK: [start swift-proxy on proxy nodes] ****** skipping: [swift-proxy-01]
TASK: [start object-expirer on proxy nodes] *** changed: [swift-proxy-01] => {"changed": true, "cmd": ["swift-init", "object-expirer", "start"], "delta": "0:00:00.263377", "end": "2015-03-24 19:52:47.917354", "item": "", "rc": 0, "start": "2015-03-24 19:52:47.653977", "stderr": "", "stdout": "Starting object-expirer...(/etc/swift/object-expirer.conf)\nswift-object-expirer does not exist"}
PLAY [storage] ****
GATHERING FACTS *** ok: [swift-storage-01] ok: [swift-storage-03] ok: [swift-storage-02]
TASK: [put the .ring.gz files on all storage servers] ******* ok: [swift-storage-02] => (item=account) => {"changed": false, "dest": "/etc/swift/account.ring.gz", "gid": 114, "group": "swift", "item": "account", "md5sum": "30dab10695d4a93731af32c7d78d33f3", "mode": "0640", "owner": "swift", "path": "/etc/swift/account.ring.gz", "size": 4789, "state": "file", "uid": 109} ok: [swift-storage-02] => (item=object) => {"changed": false, "dest": "/etc/swift/object.ring.gz", "gid": 114, "group": "swift", "item": "object", "md5sum": "9e30c64db8fb6d09943b01ee06caa41b", "mode": "0640", "owner": "swift", "path": "/etc/swift/object.ring.gz", "size": 4761, "state": "file", "uid": 109} ok: [swift-storage-02] => (item=container) => {"changed": false, "dest": "/etc/swift/container.ring.gz", "gid": 114, "group": "swift", "item": "container", "md5sum": "bbd0cb0077901a10b0bf5033b854d470", "mode": "0640", "owner": "swift", "path": "/etc/swift/container.ring.gz", "size": 4761, "state": "file", "uid": 109} ok: [swift-storage-03] => (item=account) => {"changed": false, "dest": "/etc/swift/account.ring.gz", "gid": 114, "group": "swift", "item": "account", "md5sum": "30dab10695d4a93731af32c7d78d33f3", "mode": "0640", "owner": "swift", "path": "/etc/swift/account.ring.gz", "size": 4789, "state": "file", "uid": 109} ok: [swift-storage-03] => (item=object) => {"changed": false, "dest": "/etc/swift/object.ring.gz", "gid": 114, "group": "swift", "item": "object", "md5sum": "9e30c64db8fb6d09943b01ee06caa41b", "mode": "0640", "owner": "swift", "path": "/etc/swift/object.ring.gz", "size": 4761, "state": "file", "uid": 109} ok: [swift-storage-03] => (item=container) => {"changed": false, "dest": "/etc/swift/container.ring.gz", "gid": 114, "group": "swift", "item": "container", "md5sum": "bbd0cb0077901a10b0bf5033b854d470", "mode": "0640", "owner": "swift", "path": "/etc/swift/container.ring.gz", "size": 4761, "state": "file", "uid": 109} ok: [swift-storage-01] => (item=account) => {"changed": false, "dest": "/etc/swift/account.ring.gz", "gid": 114, "group": "swift", "item": "account", "md5sum": "30dab10695d4a93731af32c7d78d33f3", "mode": "0640", "owner": "swift", "path": "/etc/swift/account.ring.gz", "size": 4789, "state": "file", "uid": 109} ok: [swift-storage-01] => (item=object) => {"changed": false, "dest": "/etc/swift/object.ring.gz", "gid": 114, "group": "swift", "item": "object", "md5sum": "9e30c64db8fb6d09943b01ee06caa41b", "mode": "0640", "owner": "swift", "path": "/etc/swift/object.ring.gz", "size": 4761, "state": "file", "uid": 109} ok: [swift-storage-01] => (item=container) => {"changed": false, "dest": "/etc/swift/container.ring.gz", "gid": 114, "group": "swift", "item": "container", "md5sum": "bbd0cb0077901a10b0bf5033b854d470", "mode": "0640", "owner": "swift", "path": "/etc/swift/container.ring.gz", "size": 4761, "state": "file", "uid": 109}
TASK: [make sure default configuration files are not there] ***** ok: [swift-storage-01] => (item=account) => {"changed": false, "item": "account", "path": "/etc/swift/account-server.conf", "state": "absent"} ok: [swift-storage-01] => (item=object) => {"changed": false, "item": "object", "path": "/etc/swift/object-server.conf", "state": "absent"} ok: [swift-storage-01] => (item=container) => {"changed": false, "item": "container", "path": "/etc/swift/container-server.conf", "state": "absent"} ok: [swift-storage-03] => (item=account) => {"changed": false, "item": "account", "path": "/etc/swift/account-server.conf", "state": "absent"} ok: [swift-storage-03] => (item=object) => {"changed": false, "item": "object", "path": "/etc/swift/object-server.conf", "state": "absent"} ok: [swift-storage-03] => (item=container) => {"changed": false, "item": "container", "path": "/etc/swift/container-server.conf", "state": "absent"} ok: [swift-storage-02] => (item=account) => {"changed": false, "item": "account", "path": "/etc/swift/account-server.conf", "state": "absent"} ok: [swift-storage-02] => (item=object) => {"changed": false, "item": "object", "path": "/etc/swift/object-server.conf", "state": "absent"} ok: [swift-storage-02] => (item=container) => {"changed": false, "item": "container", "path": "/etc/swift/container-server.conf", "state": "absent"}
TASK: [restart swift-storage node services] *** skipping: [swift-storage-01] skipping: [swift-storage-02]
TASK: [restart swift-storage node services] *** skipping: [swift-storage-01] skipping: [swift-storage-02] skipping: [swift-storage-03]
TASK: [restart syslog] **** skipping: [swift-storage-01] skipping: [swift-storage-03] skipping: [swift-storage-02]
PLAY RECAP **** to retry, use: --limit @/home/swift/site.retry
swift-keystone-01 : ok=31 changed=0 unreachable=0 failed=0
swift-lbssl-01 : ok=10 changed=0 unreachable=0 failed=0
swift-package-cache-01 : ok=16 changed=0 unreachable=0 failed=0
swift-proxy-01 : ok=22 changed=1 unreachable=0 failed=0
swift-proxy-02 : ok=18 changed=1 unreachable=0 failed=1
swift-proxy-03 : ok=18 changed=1 unreachable=0 failed=1
swift-storage-01 : ok=38 changed=0 unreachable=0 failed=0
swift-storage-02 : ok=38 changed=0 unreachable=0 failed=0
swift-storage-03 : ok=38 changed=0 unreachable=0 failed=0