Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upon purge (debian) of rpki-ca/rpki-rp errors in the postgresql bits #840

Open
sraustein opened this issue Jun 27, 2016 · 2 comments
Open
Labels

Comments

@sraustein
Copy link
Contributor

(Reading database ... 47096 files and directories currently installed.)
Removing rpki-ca (0.6442jessie) ...
RPKI Apache configuration: platform "Debian", action "remove"
Removing /etc/rpki/apache.conf.sample
Removing /etc/apache2/sites-available/rpki.conf
Running a2dissite rpki
removing dangling symlink /etc/apache2/sites-enabled/rpki.conf
Running service apache2 restart
Purging configuration files for rpki-ca (0.6442
jessie) ...
dpkg: warning: while removing rpki-ca, directory '/usr/share/rpki/rrdp-publication' not empty so not removed
dpkg: warning: while removing rpki-ca, directory '/usr/share/rpki/publication' not empty so not removed
Removing rpki-rp (0.6442jessie) ...
Initialized PostgreSQL driver, pw pwd.struct_passwd(pw_name='postgres', pw_passwd='x', pw_uid=108, pw_gid=114, pw_gecos='PostgreSQL administrator,,,', pw_dir='/var/lib/postgresql', pw_shell='/bin/bash')
Purging configuration files for rpki-rp (0.6442
jessie) ...
DROP DATABASE
DO
psql:/etc/rpki/drop_databases.sql:10: NOTICE: database "rpki" does not exist, skipping
DROP DATABASE
psql:/etc/rpki/drop_databases.sql:18: NOTICE: role "rpki" does not exist, skipping
CONTEXT: SQL statement "DROP ROLE IF EXISTS rpki"
PL/pgSQL function inline_code_block line 6 at SQL statement
DO
psql:/etc/rpki/drop_databases.sql:19: NOTICE: database "rpki" does not exist, skipping
DROP DATABASE
psql:/etc/rpki/drop_databases.sql:27: NOTICE: role "rpki" does not exist, skipping
CONTEXT: SQL statement "DROP ROLE IF EXISTS rpki"
PL/pgSQL function inline_code_block line 6 at SQL statement
DO
psql:/etc/rpki/drop_databases.sql:28: NOTICE: database "rpki" does not exist, skipping
DROP DATABASE
psql:/etc/rpki/drop_databases.sql:36: NOTICE: role "rpki" does not exist, skipping
CONTEXT: SQL statement "DROP ROLE IF EXISTS rpki"
PL/pgSQL function inline_code_block line 6 at SQL statement
DO

These are probably harmless? but I'm not sure at this point and figure speaking up is good practice.

Trac ticket #834 component rpkid priority minor, owner None, created by morrowc on 2016-06-27T14:23:01Z, last modified 2016-06-27T17:59:22Z

@sraustein
Copy link
Contributor Author

Make sure you have the latest tk705/, rpki-rp, and rpki-ca
packages installed. If you just installed, you can ignore this. But,
if you have been running for a while, you may need to purge and
reinstall to clear an upgrade error:

{{{

systemctl stop rpki-ca

killall -u rpki

apt-get update

apt-get purge rpki-ca rpki-rp

apt-get install rpki-rp rpki-ca

}}}
The systemctl stop should shut down the servers. The killall is
paranoia in case some cron job happens to be using the database at
exactly the wrong moment -- PostgreSQL won't let you drop the
database while any process has it open.

If you do the upgrade, you will have to go back and reconfigure the CA
as above in
[https://wiki.rg.net/wiki/RPKItmp#CAConfiguration-rpki.conf CA Configuration]

=== The !Upgrade/Migration Sequence ===

The upgrade itself needs to take place with the servers disabled,
and includes a bit of additional voodoo (notes below):

If you're running as root, you can omit any sudo which isn't
immediately followed by a -u rpki.

In case the upgrade/install restarted the daemons, we need to kill them
again.
{{{

systemctl stop rpki-ca

killall -u rpki

}}}

The rm, database drop, install, and database create are just wiping
the state already present from the install and whatever testing you
did, so we can start fresh.
{{{

rm -rf /usr/share/rpki/.{tal,cer} /usr/share/rpki/publication/ /usr/share/rpki/rrdp-publication/* /var/log/rpki/*

rpki-sql-setup --postgresql-root-username postgres drop

install -d -o rpki -g rpki /var/run/rpki /var/log/rpki /usr/share/rpki/publication /usr/share/rpki/rrdp-publication

rpki-sql-setup --postgresql-root-username postgres create

}}}

The Django migrations are needed to rebuild the database schemas after
the drop and create cycle.
{{{

sudo -u rpki rpki-manage migrate rpkidb --settings rpki.django_settings.rpkid --no-color

sudo -u rpki rpki-manage migrate pubdb --settings rpki.django_settings.pubd --no-color

sudo -u rpki rpki-manage migrate irdb --settings rpki.django_settings.irdb --no-color

sudo -u rpki rpki-manage migrate --settings rpki.django_settings.gui --no-color

}}}

These produced the only significant output
{{{

sudo -u rpki rpki-manage migrate rpkidb --settings rpki.django_settings.rpkid --no-color

Operations to perform:
Apply all migrations: rpkidb
Running migrations:
Rendering model states... DONE
Applying rpkidb.0001_initial... OK
Applying rpkidb.0002_root... OK

sudo -u rpki rpki-manage migrate pubdb --settings rpki.django_settings.pubd --no-color

Operations to perform:
Apply all migrations: pubdb
Running migrations:
Rendering model states... DONE
Applying pubdb.0001_initial... OK
Applying pubdb.0002_auto_20160221_0617... OK
Applying pubdb.0003_remove_delta_xml... OK

sudo -u rpki rpki-manage migrate irdb --settings rpki.django_settings.irdb --no-color

Operations to perform:
Apply all migrations: irdb
Running migrations:
Rendering model states... DONE
Applying irdb.0001_initial... OK

sudo -u rpki rpki-manage migrate --settings rpki.django_settings.gui --no-color

Operations to perform:
Synchronize unmigrated apps: staticfiles, routeview
Apply all migrations: rcynicdb, sessions, app, auth, contenttypes, gui_rpki_cache, irdb
Synchronizing apps without migrations:
Creating tables...
Creating table routeview_routeorigin
Creating table routeview_routeoriginv6
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying app.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying gui_rpki_cache.0001_initial... OK
Applying gui_rpki_cache.0002_auto_20160411_2311... OK
Applying gui_rpki_cache.0003_auto_20160420_2146... OK
Applying rcynicdb.0001_initial... OK
Applying rcynicdb.0002_auto_20160227_2003... OK
Applying rcynicdb.0003_auto_20160301_0333... OK
Applying sessions.0001_initial... OK
}}}

Trac comment by randy on 2016-06-27T14:26:37Z

@sraustein
Copy link
Contributor Author

At Mon, 27 Jun 2016 14:26:37 -0000,
Trac Ticket System wrote:

#834: Upon purge (debian) of rpki-ca/rpki-rp errors in the postgresql bits
----------------------+-------------------
Reporter: morrowc | Owner:
Type: defect | Status: new
Priority: minor | Component: rpkid
Resolution: | Keywords:
Blocked By: | Blocking:
----------------------+-------------------

Comment (by randy):

Make sure you have the latest tk705/, rpki-rp, and rpki-ca
packages installed. If you just installed, you can ignore this. But,
if you have been running for a while, you may need to purge and

this is a fresh (this morning) purge/install. I can run that again,
since I broke myself anyway :)

reinstall to clear an upgrade error:

{{{

systemctl stop rpki-ca

killall -u rpki

apt-get update

apt-get purge rpki-ca rpki-rp

apt-get install rpki-rp rpki-ca

}}}
The systemctl stop should shut down the servers. The killall is
paranoia in case some cron job happens to be using the database at
exactly the wrong moment -- PostgreSQL won't let you drop the
database while any process has it open.

If you do the upgrade, you will have to go back and reconfigure the CA
as above in
[https://wiki.rg.net/wiki/RPKItmp#CAConfiguration-rpki.conf CA
Configuration]

=== The !Upgrade/Migration Sequence ===

The upgrade itself needs to take place with the servers disabled,
and includes a bit of additional voodoo (notes below):

If you're running as root, you can omit any sudo which isn't
immediately followed by a -u rpki.

In case the upgrade/install restarted the daemons, we need to kill them
again.
{{{

systemctl stop rpki-ca

killall -u rpki

}}}

The rm, database drop, install, and database create are just wiping
the state already present from the install and whatever testing you
did, so we can start fresh.
{{{

rm -rf /usr/share/rpki/.{tal,cer} /usr/share/rpki/publication/

/usr/share/rpki/rrdp-publication/* /var/log/rpki/*

rpki-sql-setup --postgresql-root-username postgres drop

install -d -o rpki -g rpki /var/run/rpki /var/log/rpki

/usr/share/rpki/publication /usr/share/rpki/rrdp-publication

rpki-sql-setup --postgresql-root-username postgres create

}}}

The Django migrations are needed to rebuild the database schemas after
the drop and create cycle.
{{{

sudo -u rpki rpki-manage migrate rpkidb --settings

rpki.django_settings.rpkid --no-color

sudo -u rpki rpki-manage migrate pubdb --settings

rpki.django_settings.pubd --no-color

sudo -u rpki rpki-manage migrate irdb --settings

rpki.django_settings.irdb --no-color

sudo -u rpki rpki-manage migrate --settings

rpki.django_settings.gui --no-color
}}}

These produced the only significant output
{{{

sudo -u rpki rpki-manage migrate rpkidb --settings

rpki.django_settings.rpkid --no-color
Operations to perform:
Apply all migrations: rpkidb
Running migrations:
Rendering model states... DONE
Applying rpkidb.0001_initial... OK
Applying rpkidb.0002_root... OK

sudo -u rpki rpki-manage migrate pubdb --settings

rpki.django_settings.pubd --no-color
Operations to perform:
Apply all migrations: pubdb
Running migrations:
Rendering model states... DONE
Applying pubdb.0001_initial... OK
Applying pubdb.0002_auto_20160221_0617... OK
Applying pubdb.0003_remove_delta_xml... OK

sudo -u rpki rpki-manage migrate irdb --settings

rpki.django_settings.irdb --no-color
Operations to perform:
Apply all migrations: irdb
Running migrations:
Rendering model states... DONE
Applying irdb.0001_initial... OK

sudo -u rpki rpki-manage migrate --settings

rpki.django_settings.gui --no-color
Operations to perform:
Synchronize unmigrated apps: staticfiles, routeview
Apply all migrations: rcynicdb, sessions, app, auth, contenttypes,
gui_rpki_cache, irdb
Synchronizing apps without migrations:
Creating tables...
Creating table routeview_routeorigin
Creating table routeview_routeoriginv6
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying app.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying gui_rpki_cache.0001_initial... OK
Applying gui_rpki_cache.0002_auto_20160411_2311... OK
Applying gui_rpki_cache.0003_auto_20160420_2146... OK
Applying rcynicdb.0001_initial... OK
Applying rcynicdb.0002_auto_20160227_2003... OK
Applying rcynicdb.0003_auto_20160301_0333... OK
Applying sessions.0001_initial... OK
}}}

Ticket URL: https://trac.rpki.net/ticket/834#comment:1
RPKI project tracker https://rpki.net/
Tracker for RPKI project

Trac comment by morrowc on 2016-06-27T17:59:22Z

@sraustein sraustein added the bug label Aug 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant