This breaks the test suite, possibly because it is quite rigid about what it expects to be fed to cloud-init. [ERROR] Traceback (most recent call last): File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py", line 161, in test_method_wrapper self.mocker.verify() File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py", line 579, in verify raise AssertionError(os.linesep.join(message)) exceptions.AssertionError: [Mocker] Unmet expectations: => proxy_m.callRemote('modify_system', 'smith', 'ks_meta', MATCH(), 'TOKEN') - Performed fewer times than expected. ensemble.providers.orchestra.tests.test_bootstrap.OrchestraBootstrapTest.test_cannot_modify_machine =============================================================================== [ERROR] Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/twisted/trial/unittest.py", line 402, in _eb raise self.failureException(output) twisted.trial.unittest.FailTest: Expected: (,) Got: [Failure instance: Traceback: : [Mocker] Unmet expectation: => not equal: a = '\nseed_d=/var/lib/cloud/seed/nocloud-net\nmkdir -p "$seed_d"\ncat > "$seed_d"/meta-data <<"EOF"\ninstance-id: winston-uid\nEOF\n\ncat > "$seed_d"/user-data <<"EOF"\n#cloud-config\napt-update: true\napt-upgrade: true\napt_sources:\n- {source: \'ppa:ensemble/ppa\'}\nmachine-data: {ensemble-zookeeper-hosts: \'localhost:2181\', machine-id: \'0\'}\noutput: {all: \'| tee -a /var/log/cloud-init-output.log\'}\npackages: [bzr, byobu, tmux, python-setuptools, python-twisted, python-argparse, python-txaws,\n python-zookeeper, bzr, default-jre-headless, zookeeper, zookeeperd]\nruncmd: [export ENSEMBLE_INSTANCE_ID=winston-uid, sudo apt-get -y install ensemble,\n sudo mkdir -p /var/lib/ensemble, sudo mkdir -p /var/log/ensemble, \'ensemble-admin\n initialize --instance-id=$ENSEMBLE_INSTANCE_ID --admin-identity="admin:qRBXC1ubEEUqRL6wcBhgmc9xkaY="\',\n \'ENSEMBLE_MACHINE_ID=0 ENSEMBLE_ZOOKEEPER=localhost:2181 python -m ensemble.agents.machine\n -n --logfile=/var/log/ensemble/machine-agent.log --pidfile=/var/run/ensemble/machine-agent.pid\',\n \'ENSEMBLE_ZOOKEEPER=localhost:2181 python -m ensemble.agents.provision -n --logfile=/var/log/ensemble/provision-agent.log\n --pidfile=/var/run/ensemble/provision-agent.pid\']\nssh_authorized_keys: [this-is-a-public-key]\n\nEOF\n' b = '\nseed_d=/var/lib/cloud/seed/nocloud-net\nmkdir -p "$seed_d"\ncat > "$seed_d"/meta-data <<"EOF"\ninstance-id: winston-uid\nEOF\n\ncat > "$seed_d"/user-data <<"EOF"\n#cloud-config\napt-update: true\napt-upgrade: true\napt_sources:\n- {source: \'ppa:ensemble/ppa\'}\nmachine-data: {ensemble-zookeeper-hosts: \'localhost:2181\', machine-id: \'0\'}\npackages: [bzr, byobu, tmux, python-setuptools, python-twisted, python-argparse, python-txaws,\n python-zookeeper, bzr, default-jre-headless, zookeeper, zookeeperd]\nruncmd: [export ENSEMBLE_INSTANCE_ID=winston-uid, sudo apt-get -y install ensemble,\n sudo mkdir -p /var/lib/ensemble, sudo mkdir -p /var/log/ensemble, \'ensemble-admin\n initialize --instance-id=$ENSEMBLE_INSTANCE_ID --admin-identity="admin:qRBXC1ubEEUqRL6wcBhgmc9xkaY="\',\n \'ENSEMBLE_MACHINE_ID=0 ENSEMBLE_ZOOKEEPER=localhost:2181 python -m ensemble.agents.machine\n -n --logfile=/var/log/ensemble/machine-agent.log --pidfile=/var/run/ensemble/machine-agent.pid\',\n \'ENSEMBLE_ZOOKEEPER=localhost:2181 python -m ensemble.agents.provision -n --logfile=/var/log/ensemble/provision-agent.log\n --pidfile=/var/run/ensemble/provision-agent.pid\']\nssh_authorized_keys: [this-is-a-public-key]\n\nEOF\n' /usr/lib/python2.7/dist-packages/twisted/internet/defer.py:1141:unwindGenerator /usr/lib/python2.7/dist-packages/twisted/internet/defer.py:1020:_inlineCallbacks /«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/launch.py:69:start_machine /usr/lib/python2.7/dist-packages/twisted/internet/defer.py:1141:unwindGenerator --- --- /usr/lib/python2.7/dist-packages/twisted/internet/defer.py:1020:_inlineCallbacks /«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py:116:set_on_system /«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py:68:check_call /«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py:54:call /«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py:39:call /«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py:1152:__call__ /«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py:1128:__mocker_act__ ] ensemble.providers.orchestra.tests.test_bootstrap.OrchestraBootstrapTest.test_cannot_modify_machine ensemble.providers.orchestra.tests.test_bootstrap.OrchestraBootstrapTest.test_cannot_save_machine =============================================================================== [ERROR] Traceback (most recent call last): File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py", line 161, in test_method_wrapper self.mocker.verify() File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py", line 579, in verify raise AssertionError(os.linesep.join(message)) exceptions.AssertionError: [Mocker] Unmet expectations: => proxy_m.callRemote('modify_system', 'smith', 'ks_meta', MATCH(), 'TOKEN') - Performed fewer times than expected. => proxy_m.callRemote('save_system', 'smith', 'TOKEN') - Performed fewer times than expected. ensemble.providers.orchestra.tests.test_bootstrap.OrchestraBootstrapTest.test_cannot_save_machine =============================================================================== [ERROR] Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1020, in _inlineCallbacks result = g.send(result) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py", line 116, in set_on_system "modify_system", (handle, key, value), auth=True, expect=True) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py", line 68, in check_call call = self.call(name, args, auth=auth) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py", line 54, in call result = call() File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py", line 39, in call return self._proxy.callRemote(name, *call_args) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py", line 1152, in __call__ return self.__mocker_act__("call", args, kwargs) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py", line 1128, in __mocker_act__ raise AssertionError(os.linesep.join(message)) exceptions.AssertionError: [Mocker] Unmet expectation: => not equal: a = '\nseed_d=/var/lib/cloud/seed/nocloud-net\nmkdir -p "$seed_d"\ncat > "$seed_d"/meta-data <<"EOF"\ninstance-id: winston-uid\nEOF\n\ncat > "$seed_d"/user-data <<"EOF"\n#cloud-config\napt-update: true\napt-upgrade: true\napt_sources:\n- {source: \'ppa:ensemble/ppa\'}\nmachine-data: {ensemble-zookeeper-hosts: \'localhost:2181\', machine-id: \'0\'}\noutput: {all: \'| tee -a /var/log/cloud-init-output.log\'}\npackages: [bzr, byobu, tmux, python-setuptools, python-twisted, python-argparse, python-txaws,\n python-zookeeper, bzr, default-jre-headless, zookeeper, zookeeperd]\nruncmd: [export ENSEMBLE_INSTANCE_ID=winston-uid, sudo apt-get -y install ensemble,\n sudo mkdir -p /var/lib/ensemble, sudo mkdir -p /var/log/ensemble, \'ensemble-admin\n initialize --instance-id=$ENSEMBLE_INSTANCE_ID --admin-identity="admin:qRBXC1ubEEUqRL6wcBhgmc9xkaY="\',\n \'ENSEMBLE_MACHINE_ID=0 ENSEMBLE_ZOOKEEPER=localhost:2181 python -m ensemble.agents.machine\n -n --logfile=/var/log/ensemble/machine-agent.log --pidfile=/var/run/ensemble/machine-agent.pid\',\n \'ENSEMBLE_ZOOKEEPER=localhost:2181 python -m ensemble.agents.provision -n --logfile=/var/log/ensemble/provision-agent.log\n --pidfile=/var/run/ensemble/provision-agent.pid\']\nssh_authorized_keys: [this-is-a-public-key]\n\nEOF\n' b = '\nseed_d=/var/lib/cloud/seed/nocloud-net\nmkdir -p "$seed_d"\ncat > "$seed_d"/meta-data <<"EOF"\ninstance-id: winston-uid\nEOF\n\ncat > "$seed_d"/user-data <<"EOF"\n#cloud-config\napt-update: true\napt-upgrade: true\napt_sources:\n- {source: \'ppa:ensemble/ppa\'}\nmachine-data: {ensemble-zookeeper-hosts: \'localhost:2181\', machine-id: \'0\'}\npackages: [bzr, byobu, tmux, python-setuptools, python-twisted, python-argparse, python-txaws,\n python-zookeeper, bzr, default-jre-headless, zookeeper, zookeeperd]\nruncmd: [export ENSEMBLE_INSTANCE_ID=winston-uid, sudo apt-get -y install ensemble,\n sudo mkdir -p /var/lib/ensemble, sudo mkdir -p /var/log/ensemble, \'ensemble-admin\n initialize --instance-id=$ENSEMBLE_INSTANCE_ID --admin-identity="admin:qRBXC1ubEEUqRL6wcBhgmc9xkaY="\',\n \'ENSEMBLE_MACHINE_ID=0 ENSEMBLE_ZOOKEEPER=localhost:2181 python -m ensemble.agents.machine\n -n --logfile=/var/log/ensemble/machine-agent.log --pidfile=/var/run/ensemble/machine-agent.pid\',\n \'ENSEMBLE_ZOOKEEPER=localhost:2181 python -m ensemble.agents.provision -n --logfile=/var/log/ensemble/provision-agent.log\n --pidfile=/var/run/ensemble/provision-agent.pid\']\nssh_authorized_keys: [this-is-a-public-key]\n\nEOF\n' ensemble.providers.orchestra.tests.test_bootstrap.OrchestraBootstrapTest.test_launch_available_machine =============================================================================== [ERROR] Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1020, in _inlineCallbacks result = g.send(result) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py", line 116, in set_on_system "modify_system", (handle, key, value), auth=True, expect=True) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py", line 68, in check_call call = self.call(name, args, auth=auth) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py", line 54, in call result = call() File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/providers/orchestra/cobbler.py", line 39, in call return self._proxy.callRemote(name, *call_args) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py", line 1152, in __call__ return self.__mocker_act__("call", args, kwargs) File "/«BUILDDIR»/ensemble-0.5+bzr336/ensemble/lib/mocker.py", line 1128, in __mocker_act__ raise AssertionError(os.linesep.join(message)) exceptions.AssertionError: [Mocker] Unmet expectation: => not equal: a = '\nseed_d=/var/lib/cloud/seed/nocloud-net\nmkdir -p "$seed_d"\ncat > "$seed_d"/meta-data <<"EOF"\ninstance-id: winston-uid\nEOF\n\ncat > "$seed_d"/user-data <<"EOF"\n#cloud-config\napt-update: true\napt-upgrade: true\napt_sources:\n- {source: \'ppa:ensemble/ppa\'}\nmachine-data: {ensemble-zookeeper-hosts: \'jennifer:2181\', machine-id: \'42\'}\noutput: {all: \'| tee -a /var/log/cloud-init-output.log\'}\npackages: [bzr, byobu, tmux, python-setuptools, python-twisted, python-argparse, python-txaws,\n python-zookeeper]\nruncmd: [export ENSEMBLE_INSTANCE_ID=winston-uid, sudo apt-get -y install ensemble,\n sudo mkdir -p /var/lib/ensemble, sudo mkdir -p /var/log/ensemble, \'ENSEMBLE_MACHINE_ID=42\n ENSEMBLE_ZOOKEEPER=jennifer:2181 python -m ensemble.agents.machine -n --logfile=/var/log/ensemble/machine-agent.log\n --pidfile=/var/run/ensemble/machine-agent.pid\']\nssh_authorized_keys: [this-is-a-public-key]\n\nEOF\n' b = '\nseed_d=/var/lib/cloud/seed/nocloud-net\nmkdir -p "$seed_d"\ncat > "$seed_d"/meta-data <<"EOF"\ninstance-id: winston-uid\nEOF\n\ncat > "$seed_d"/user-data <<"EOF"\n#cloud-config\napt-update: true\napt-upgrade: true\napt_sources:\n- {source: \'ppa:ensemble/ppa\'}\nmachine-data: {ensemble-zookeeper-hosts: \'jennifer:2181\', machine-id: \'42\'}\npackages: [bzr, byobu, tmux, python-setuptools, python-twisted, python-argparse, python-txaws,\n python-zookeeper]\nruncmd: [export ENSEMBLE_INSTANCE_ID=winston-uid, sudo apt-get -y install ensemble,\n sudo mkdir -p /var/lib/ensemble, sudo mkdir -p /var/log/ensemble, \'ENSEMBLE_MACHINE_ID=42\n ENSEMBLE_ZOOKEEPER=jennifer:2181 python -m ensemble.agents.machine -n --logfile=/var/log/ensemble/machine-agent.log\n --pidfile=/var/run/ensemble/machine-agent.pid\']\nssh_authorized_keys: [this-is-a-public-key]\n\nEOF\n' ensemble.providers.orchestra.tests.test_launch.LaunchMachineTest.test_actually_launch ------------------------------------------------------------------------------- Ran 1428 tests in 385.082s FAILED (errors=6, successes=1424)