Extract Graphoid Debian packages dependencies to a standalone puppet class so they can be installed on CI slaves
Closed, ResolvedPublic

Description

From T106668#1763281:

We will need both the binaries and -dev packages dependencies of Graphoid to be shipped on the CI slave.

For production the packages are defined in the Puppet manifest modules/graphoid/manifests/init.pp.

If we could extract to a standalone class such as graphoid::packages that will let us include it on the CI slaves and make sure it is up-to-date.

Will need to find a way to ship the matching dev package. Maybe graphoid::packages could have a parameter to forge -dev packages and add them as well. They are currently defined via a service-template-node / service-runner specific notation in package.json:

"deploy": {
  "target": "ubuntu",  
  "dependencies": {
    "_all": ["libcairo2-dev", "libgif-dev", "libpango1.0-dev"], 
    "ubuntu": ["libjpeg62-dev"],
    "debian": ["libjpeg62-turbo-dev"]
  }
}
hashar created this task.Nov 26 2015, 10:37 AM
hashar updated the task description. (Show Details)
hashar raised the priority of this task from to Normal.
hashar added projects: Services, Graphoid.
hashar added subscribers: gerritbot, hashar, mobrovac and 2 others.

Poking Graphoid folks. Would need some puppet works to provision Graphoid dependencies on the CI slaves, that will let run the tests T106668: Enable jenkins test & submit for graphoid repo

Yurik added a comment.Feb 8 2016, 9:48 PM

@hashar, per IRC - I'm guessing some other package needs to be available on the CI slaves?

hashar renamed this task from Extract Graphed Debian packages dependencies to a standalone puppet class so they can be installed on CI slaves to Extract Graphoid Debian packages dependencies to a standalone puppet class so they can be installed on CI slaves.Feb 9 2016, 10:51 AM
hashar set Security to None.

The packages listed in this task are NOT in a standalone puppet class, hence they can not be included on the CI slaves.

@hashar, per IRC - I'm guessing some other package needs to be available on the CI slaves?

I have no clue. I dont have any idea what are the exact requirements of Graphoid beside what is listed on puppet to have it run. There might be other -dev package dependencies to compile the various NodeJs modules. They will have to be listed in a puppet class to be added to the CI slaves.

Prod does not need the -dev pkgs, as they are needed only during compilation time, so taking the prod list of packages for CI slaves won't work. You need the ones listed in the task desc.

Change 274675 had a related patch set uploaded (by Mobrovac):
Services: introduce service::packages

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

mobrovac claimed this task.

Change 274675 merged by Alexandros Kosiaris:
Services: introduce service::packages

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

Change 276443 had a related patch set uploaded (by Hashar):
dib: include graphoid/mathoid package dependencies

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

Change 276443 merged by jenkins-bot:
dib: include graphoid/mathoid package dependencies

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

Mentioned in SAL [2016-03-10T12:18:13Z] <hashar> Nodepool: rebuilding image to get mathoid/graphoid packages included (hopefully) T119693 T128280

hashar closed this task as Resolved.Mar 10 2016, 12:25 PM

From a puppet run:

Notice: /Stage[main]/Packages::Libjpeg62_turbo_dev/Package[libjpeg62-turbo-dev]/ensure: ensure changed 'purged' to 'present'
Notice: /Stage[main]/Packages::Libpango1.0_0/Package[libpango1.0-0]/ensure: ensure changed 'purged' to 'present'
...

Aced by @mobrovac