deis / postgres

A PostgreSQL database used by Deis Workflow.
https://deis.com
MIT License
36 stars 21 forks source link

boto: NoRegionError: You must specify a region. #47

Closed sgoings closed 8 years ago

sgoings commented 8 years ago

The database is having a rough time with life. Looks like botocore isn't being given a region:

kubectl logs -p deis-database-2xssv --namespace=deis
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
creating template1 database in /var/lib/postgresql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    postgres -D /var/lib/postgresql/data
or
    pg_ctl -D /var/lib/postgresql/data -l logfile start

waiting for server to start....LOG:  database system was shut down at 2016-03-02 19:39:55 UTC
LOG:  MultiXact member wraparound protections are now enabled
LOG:  database system is ready to accept connections
LOG:  autovacuum launcher started
 done
server started
CREATE DATABASE

CREATE ROLE

/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/001_setup_envdir.sh

/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/002_create_bucket.sh

/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/003_restore_from_backup.sh
Rebooting postgres to enable archive mode
LOG:  received smart shutdown request
LOG:  autovacuum launcher shutting down
LOG:  shutting down
waiting for server to shut down....LOG:  database system is shut down
 done
server stopped
waiting for server to start....LOG:  database system was shut down at 2016-03-02 19:40:12 UTC
LOG:  MultiXact member wraparound protections are now enabled
LOG:  database system is ready to accept connections
LOG:  autovacuum launcher started
 done
server started
No backups found. Performing an initial backup...
wal_e.main   INFO     MSG: starting WAL-E
        DETAIL: The subcommand is "backup-push".
        STRUCTURED: time=2016-03-02T19:40:15.319885-00 pid=108
wal_e.operator.backup INFO     MSG: start upload postgres version metadata
        DETAIL: Uploading to s3://dbwal/basebackups_005/base_000000010000000000000002_00000040/extended_version.txt.
        STRUCTURED: time=2016-03-02T19:40:15.989426-00 pid=108
wal_e.blobstore.s3.calling_format INFO     MSG: connecting to S3 with WALE_S3_ENDPOINT (http://10.83.241.112:9000)
        STRUCTURED: time=2016-03-02T19:40:15.990169-00 pid=108
botocore.credentials INFO     Found credentials in environment variables.
boto3.resources.action INFO     Calling s3:put_object with {'Body': <cStringIO.StringI object at 0x7fce8b3ac828>, u'Bucket': 'dbwal', 'Key': 'basebackups_005/base_000000010000000000000002_00000040/extended_version.txt'}
wal_e.operator.backup WARNING  MSG: blocking on sending WAL segments
        DETAIL: The backup was not completed successfully, but we have to wait anyway.  See README: TODO about pg_cancel_backup
        STRUCTURED: time=2016-03-02T19:40:16.061485-00 pid=108
NOTICE:  WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup
wal_e.main   CRITICAL MSG: An unprocessed exception has avoided all error handling
        DETAIL: Traceback (most recent call last):
          File "/usr/local/lib/python2.7/dist-packages/wal_e/cmd.py", line 557, in main
            pool_size=args.pool_size)
          File "/usr/local/lib/python2.7/dist-packages/wal_e/operator/backup.py", line 197, in database_backup
            **kwargs)
          File "/usr/local/lib/python2.7/dist-packages/wal_e/operator/backup.py", line 487, in _upload_pg_cluster_dir
            content_encoding='text/plain')
          File "/usr/local/lib/python2.7/dist-packages/wal_e/worker/worker_util.py", line 13, in uri_put_file
            content_encoding=content_encoding)
          File "/usr/local/lib/python2.7/dist-packages/wal_e/blobstore/s3/s3_util.py", line 51, in uri_put_file
            k = bucket.put_object(Key=url_tup.path.lstrip('/'), Body=fp)
          File "/usr/local/lib/python2.7/dist-packages/boto3/resources/factory.py", line 481, in do_action
            response = action(self, *args, **kwargs)
          File "/usr/local/lib/python2.7/dist-packages/boto3/resources/action.py", line 83, in __call__
            response = getattr(parent.meta.client, operation_name)(**params)
          File "/usr/local/lib/python2.7/dist-packages/botocore/client.py", line 231, in _api_call
            return self._make_api_call(operation_name, kwargs)
          File "/usr/local/lib/python2.7/dist-packages/botocore/client.py", line 478, in _make_api_call
            operation_model, request_dict)
          File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 117, in make_request
            return self._send_request(request_dict, operation_model)
          File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 142, in _send_request
            request = self.create_request(request_dict, operation_model)
          File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 126, in create_request
            operation_name=operation_model.name)
          File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 226, in emit
            return self._emit(event_name, kwargs)
          File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 209, in _emit
            response = handler(**kwargs)
          File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 90, in handler
            return self.sign(operation_name, request)
          File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 123, in sign
            signature_version)
          File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 163, in get_auth_instance
            raise botocore.exceptions.NoRegionError()
        NoRegionError: You must specify a region.

        STRUCTURED: time=2016-03-02T19:40:16.266793-00 pid=108