Page MenuHomePhabricator

nodepool can't update images
Closed, ResolvedPublic

Description

2015-09-03 15:22:56,272 ERROR nodepool.NodePool: Could not update image ci-jessie-wikimedia on wmflabs-eqiad
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/nodepool/nodepool.py", line 1968, in updateImage
    self._updateImage(session, provider_name, image_name)
  File "/usr/lib/python2.7/dist-packages/nodepool/nodepool.py", line 1984, in _updateImage
    "Invalid image config. Must specify either "
Exception: Invalid image config. Must specify either a setup script, or a diskimage to use.

The nodepool configuration file lacks a setup: setup.sh under providers / ci-jessie-wikimedia.

The disk image builder element will need to populate it (T110733) and we need it under /etc/nodepool/scripts on the machine.

Event Timeline

hashar raised the priority of this task from to Needs Triage.
hashar updated the task description. (Show Details)
hashar subscribed.

Change 236769 had a related patch set uploaded (by Hashar):
nodepool: setup scripts are in integration/config

https://gerrit.wikimedia.org/r/236769

Change 236770 had a related patch set uploaded (by Hashar):
nodepool: placeholder setup script

https://gerrit.wikimedia.org/r/236770

Change 236770 merged by jenkins-bot:
nodepool: placeholder setup script

https://gerrit.wikimedia.org/r/236770

Change 236776 had a related patch set uploaded (by Hashar):
nodepool: run ready.sh when finishing instances

https://gerrit.wikimedia.org/r/236776

Change 236775 had a related patch set uploaded (by Hashar):
nodepool: set instance hostname via sudo

https://gerrit.wikimedia.org/r/236775

Change 236775 merged by jenkins-bot:
nodepool: set instance hostname via sudo

https://gerrit.wikimedia.org/r/236775

Change 236769 merged by Andrew Bogott:
nodepool: setup scripts are in integration/config

https://gerrit.wikimedia.org/r/236769

Change 237062 had a related patch set uploaded (by Hashar):
Revert "nodepool: setup scripts are in integration/config"

https://gerrit.wikimedia.org/r/237062

Change 237065 had a related patch set uploaded (by Hashar):
nodepool: setup scripts are in integration/config

https://gerrit.wikimedia.org/r/237065

Change 237062 merged by Andrew Bogott:
Revert "nodepool: setup scripts are in integration/config"

https://gerrit.wikimedia.org/r/237062

Change 237065 merged by Andrew Bogott:
nodepool: setup scripts are in integration/config

https://gerrit.wikimedia.org/r/237065

Change 237380 had a related patch set uploaded (by Hashar):
0.1.1-wmf3: Use 'debian' user for setup step

https://gerrit.wikimedia.org/r/237380

I have found another oddity. When Nodepool refresh an image (setup step) it attempts to connect as root and on failure iterates over well known cloud-users. Diskimage-builder creates a debian user which is not looked at by Nodepool. Upstream patch is https://review.openstack.org/#/c/221873/ . https://gerrit.wikimedia.org/r/237380 is the Nodepool.

Filled T112100: Upload nodepool_0.1.1-wmf3 to apt.wikimedia.org and upgrade package on labnodepool1001.eqiad.wmnet

Change 237380 merged by Hashar:
0.1.1-wmf3: Use 'debian' user for setup step

https://gerrit.wikimedia.org/r/237380

Change 237700 had a related patch set uploaded (by Hashar):
0.1.1-wmf4: image creation chokes on /etc/nodepool

https://gerrit.wikimedia.org/r/237700

I made a few more changes, but in short it works now. Nodepool boot an instance from the provided image, runs the setup script and snapshot it for later usage.