Page MenuHomePhabricator

toolforge: add misctools and jobutils packages to stretch
Closed, ResolvedPublic

Description

Things to do:

  • create stretch-tools component in the aptly in tools-services-01 (apparently already in place)
  • install latest packages from trusty-tools into stretch-tools
  • publish the stretch-tools repo and check that nothing breaks

They are probably:

  • public/pool/main/t/toollabs/misctools_1.31_amd64.deb
  • ./public/pool/main/t/toollabs/jobutils_1.30_all.deb

(yes, 2 different versions for packages built from the same source package...)

Event Timeline

aborrero triaged this task as Medium priority.Oct 25 2018, 5:08 PM
aborrero created this task.

The stretch-tools repo seems to be already in place, per puppet: modules/role/manifests/aptly/server.pp

Mentioned in SAL (#wikimedia-cloud) [2018-10-26T10:34:20Z] <arturo> T207970 added misctools 1.31 and jobutils 1.30 to stretch-tools aptly repo

aborrero moved this task from Inbox to Doing on the cloud-services-team (Kanban) board.

Now, stretch machines in toolforge see the packages:

aborrero@tools-static-12:~$ sudo apt-cache policy jobutils
jobutils:
  Installed: (none)
  Candidate: 1.30
  Version table:
     1.30 1500
       1500 http://tools-services-01.tools.eqiad.wmflabs/repo stretch-tools/main amd64 Packages
       1500 http://tools-services-01.tools.eqiad.wmflabs/repo stretch-tools/main all Packages

aborrero@tools-static-12:~$ sudo apt-cache policy misctools
misctools:
  Installed: (none)
  Candidate: 1.31
  Version table:
     1.31 1500
       1500 http://tools-services-01.tools.eqiad.wmflabs/repo stretch-tools/main amd64 Packages
aborrero raised the priority of this task from Medium to High.

Reopening:

misctools : Depends: mariadb-client-core-5.5 but it is not installable

Mentioned in SAL (#wikimedia-cloud) [2018-11-08T10:01:34Z] <arturo> make myself projectadmin to test toolforge stuff on stretch (specifically T207970)

Change 472402 had a related patch set uploaded (by Arturo Borrero Gonzalez; owner: Arturo Borrero Gonzalez):
[labs/toollabs@master] misctools: depend on virtual-mysql-client-core instead of mariadb

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

Change 472402 merged by jenkins-bot:
[labs/toollabs@master] misctools: depend on virtual-mysql-client-core instead of mariadb

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

Mentioned in SAL (#wikimedia-cloud) [2018-11-08T17:58:27Z] <arturo> installing jobutils and misctools v1.32 (T207970)

Fixed the network access issue cross-region. However:

misctools : Depends: mariadb-client-core-5.5 but it is not installable

That should be mariadb-client-core-10.1

toolsbeta-sgebastion-03 is actually able to complete puppet runs (on the other hand)! Exec nodes are held up by misctools deps being incorrect, but I thought I'd add the happy note.

Fixed the network access issue cross-region. However:

misctools : Depends: mariadb-client-core-5.5 but it is not installable

That should be mariadb-client-core-10.1

Where is that happening? Which server?

toolsbeta-sgeexec-0901:

Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for toolsbeta-sgeexec-0901.toolsbeta.eqiad.wmflabs
Notice: /Stage[main]/Base::Environment/Tidy[/var/tmp/core]: Tidying 0 files
Info: Applying configuration version '1542025546'
Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install python-gdbm' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 misctools : Depends: mariadb-client-core-5.5 but it is not installable
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Error: /Stage[main]/Packages::Python_gdbm/Package[python-gdbm]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install python-gdbm' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 misctools : Depends: mariadb-client-core-5.5 but it is not installable
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

/etc/apt/sources.list.d/project-aptly.list:

deb [trusted=yes] http://tools-services-01.tools.eqiad.wmflabs/repo stretch-toolsbeta main

if you s/toolsbeta/tools/ then it works fine:

$ sudo apt install misctools
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  misctools
1 upgraded, 0 newly installed, 0 to remove and 233 not upgraded.
1 not fully installed or removed.
Need to get 18.4 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://tools-services-01.tools.eqiad.wmflabs/repo stretch-tools/main amd64 misctools amd64 1.32 [18.4 kB]
Fetched 18.4 kB in 0s (0 B/s)  
(Reading database ... 257826 files and directories currently installed.)
Preparing to unpack .../misctools_1.32_amd64.deb ...
Unpacking misctools (1.32) over (1.31) ...
Setting up misctools (1.32) ...
Processing triggers for man-db (2.7.6.1-2) ...

I see, thanks. Problem is that all toolsbeta instances looks at an nonexistent repo. Right now I'm not sure what's better, to create this stretch-toolsbeta repo or to properly update clients to use stretch-tools.

I don't know how invested we're in keeping a separate toolsbeta cluster but maybe, just to keep that idea alive, it'd be better to publish the packages to stretch-toolsbeta as well so we can test package updates before moving to production. I think that must have been the original idea, although in this case we're just rebuilding for Stretch. For more complex updates, I can see the separate repository as being useful. Just my 2 cents :)

Change 473185 had a related patch set uploaded (by Arturo Borrero Gonzalez; owner: Arturo Borrero Gonzalez):
[operations/puppet@production] toolforge: aptly: create stretch-toolsbeta repo

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

Change 473185 merged by Arturo Borrero Gonzalez:
[operations/puppet@production] toolforge: aptly: create stretch-toolsbeta repo

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

Change 473188 had a related patch set uploaded (by Arturo Borrero Gonzalez; owner: Arturo Borrero Gonzalez):
[operations/puppet@production] toollabs: servives: publish stretch-toolsbeta repo also in the old code

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

Change 473188 merged by Arturo Borrero Gonzalez:
[operations/puppet@production] toollabs: servives: publish stretch-toolsbeta repo also in the old code

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

Mentioned in SAL (#wikimedia-cloud) [2018-11-13T13:05:25Z] <arturo> T207970 there is now a stretch-toolsbeta repo in tools-services-01, still empty

Mentioned in SAL (#wikimedia-cloud) [2018-11-13T13:22:17Z] <arturo> T207970 misctools and jobutils v1.32 are now in both stretch-tools and stretch-toolsbeta repos in tools-services-01

hey @Bstorm could you please check if this is solved?

aborrero@toolsbeta-sgeexec-0901:~$ sudo apt-cache policy jobutils
jobutils:
  Installed: (none)
  Candidate: 1.32
  Version table:
     1.32 1500
       1500 http://tools-services-01.tools.eqiad.wmflabs/repo stretch-toolsbeta/main amd64 Packages
       1500 http://tools-services-01.tools.eqiad.wmflabs/repo stretch-toolsbeta/main all Packages

Yeah, the repo was fine. The issue was the dependency declaration for the one package. Jobutils works I think.

The following packages have unmet dependencies:
 misctools : Depends: mariadb-client-core-5.5 but it is not installable
E: Unable to correct problems, you have held broken packages.
Error: /Stage[main]/Profile::Toolforge::Grid::Exec_environ/Package[misctools]/ensure: change from 1.32 to 1.31 failed: Could not update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install misctools' returned 100: Reading package lists...

Hmm. Poking around.
I'm on toolsbeta-sgeexec-0901. It may just need some refreshes or something.

I wonder if this is some buried pinning thing. Checking that.

No, misctools is a latest install. It looks like it is trying to downgrade?
apt-get purgeing it :)

Mentioned in SAL (#wikimedia-cloud) [2018-11-13T17:40:37Z] <arturo> remove misctools 1.31 and jobutils 1.30 from the stretch-tools repo (T207970)

Ok, if we are done for now, I will close this task. @Bstorm please reopen if there are more issues.