ocf / puppet

Puppet config for OCF servers and lab machines
https://www.ocf.berkeley.edu/
31 stars 71 forks source link

fix: stop using deprecated contextmanager pymysql api #1388

Closed ethanwu10 closed 11 months ago

ethanwu10 commented 11 months ago

The context manager implementation for PyMySql Connection objects was replaced with different functionality in the versions between bullseye and bookworm; change the code to not use Connections as context managers at all to maintain compatibility with both versions.

ocfjenkins[bot] commented 11 months ago

Errored hosts (0)

Changed hosts (26)

Unaffected hosts (30)


Changed hosts
diff for acid.ocf.berkeley.edu, asteroid.ocf.berkeley.edu, avalanche.ocf.berkeley.edu, bigbang.ocf.berkeley.edu, blackout.ocf.berkeley.edu, blight.ocf.berkeley.edu, blizzard.ocf.berkeley.edu, chaos.ocf.berkeley.edu, cyclone.ocf.berkeley.edu, destruction.ocf.berkeley.edu, drought.ocf.berkeley.edu, famine.ocf.berkeley.edu, firewhirl.ocf.berkeley.edu, hailstorm.ocf.berkeley.edu, headcrash.ocf.berkeley.edu, heatwave.ocf.berkeley.edu, hurricane.ocf.berkeley.edu, meteorstorm.ocf.berkeley.edu, outbreak.ocf.berkeley.edu, plague.ocf.berkeley.edu, sinkhole.ocf.berkeley.edu, surge.ocf.berkeley.edu, venom.ocf.berkeley.edu, volcano.ocf.berkeley.edu, wildfire.ocf.berkeley.edu ```diff ******************************************* File[/opt/share/puppet/notify] => parameters => content => - {md5}75fa02875cb9d9352b9f4d6aa9b84f0b + {md5}dd44d7999e162a99628f2f9ff2c9e35d ******************************************* File[/usr/local/bin/paper-genmon] => parameters => content => @@ -19,8 +19,11 @@ _ if user_exists(user) and not user_is_group(user): - with get_connection() as c: + conn = get_connection() + with conn.cursor() as c: quota = get_quota(c, user) daily_quota = quota.daily semester_quota = quota.semesterly + conn.commit() + conn.close() _ PANEL_TEXT = '{} {} left today | {} left this semester' ******************************************* ```
diff for fallingrocks.ocf.berkeley.edu ```diff ******************************************* File[/usr/local/sbin/collect-mirrors-stats] => parameters => content => @@ -32,5 +32,6 @@ _ def log_to_mysql(projects, log_date, quiet=False): - with get_connection(user='ocfstats', password=OCFSTATS_PWD) as cursor: + conn = get_connection(user='ocfstats', password=OCFSTATS_PWD) + with conn.cursor() as cursor: for name, data in projects.items(): cursor.execute( @@ -39,4 +40,6 @@ (log_date, name, data['up'], data['down']) ) + conn.commit() + conn.close() _ _ ******************************************* ```
Unaffected hosts ``` anthrax.ocf.berkeley.edu autocrat.ocf.berkeley.edu bedbugs.ocf.berkeley.edu biohazard.ocf.berkeley.edu corruption.ocf.berkeley.edu coup.ocf.berkeley.edu dataloss.ocf.berkeley.edu deadlock.ocf.berkeley.edu death.ocf.berkeley.edu dementors.ocf.berkeley.edu firestorm.ocf.berkeley.edu flood.ocf.berkeley.edu fraud.ocf.berkeley.edu gridlock.ocf.berkeley.edu hal.ocf.berkeley.edu implosion.ocf.berkeley.edu lethe.ocf.berkeley.edu lightning.ocf.berkeley.edu maelstrom.ocf.berkeley.edu pestilence.ocf.berkeley.edu reaper.ocf.berkeley.edu riptide.ocf.berkeley.edu scurvy.ocf.berkeley.edu segfault.ocf.berkeley.edu supernova.ocf.berkeley.edu thunder.ocf.berkeley.edu tsunami.ocf.berkeley.edu vampires.ocf.berkeley.edu whiteout.ocf.berkeley.edu windshear.ocf.berkeley.edu ```

Jenkins