Andrew Bogott has uploaded a new change for review.
https://gerrit.wikimedia.org/r/232760
Change subject: Don't cache the service catalog for nearly as long.
......................................................................
Don't cache the service catalog for nearly as long.
Default behavior is to cache the OpenStack service catalog for
the lifetime of a user login. That makes it pretty hard for us
to move services.
This patch changes the lifetime to 1 hour, and also adds logic
to detect an expired catalog (which was previously ignored.)
Change-Id: If8d27bce5fef89633448bc66fd2a4f19ed5a3f2d
---
M nova/OpenStackNovaController.php
1 file changed, 8 insertions(+), 2 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/OpenStackManager
refs/changes/60/232760/1
diff --git a/nova/OpenStackNovaController.php b/nova/OpenStackNovaController.php
index 1831dae..3a21d90 100644
--- a/nova/OpenStackNovaController.php
+++ b/nova/OpenStackNovaController.php
@@ -776,7 +776,7 @@
$expires = strtotime( $this->_get_property(
$user->access->token, 'expires' ) );
$wgMemc->set( $projectkey, $token, $expires );
$key = wfMemcKey( 'openstackmanager', 'serviceCatalog-' .
$project, $this->username );
- $wgMemc->set( $key, json_encode( $user->access->serviceCatalog
), $expires );
+ $wgMemc->set( $key, json_encode( $user->access->serviceCatalog
), 3600);
return $token;
}
@@ -785,7 +785,13 @@
global $wgMemc;
$key = wfMemcKey( 'openstackmanager', 'serviceCatalog-' .
$this->project, $this->username );
- $serviceCatalog = json_decode( $wgMemc->get( $key ) );
+ $catalogJson = $wgMemc->get( $key );
+ if ( !$catalogJson ) {
+ # Catalog expired; refresh
+ $this->getProjectToken($this->project);
+ $catalogJson = $wgMemc->get( $key );
+ }
+ $serviceCatalog = json_decode( $catalogJson );
$endpoints = array();
if ( $serviceCatalog ) {
foreach ( $serviceCatalog as $entry ) {
--
To view, visit https://gerrit.wikimedia.org/r/232760
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If8d27bce5fef89633448bc66fd2a4f19ed5a3f2d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/OpenStackManager
Gerrit-Branch: master
Gerrit-Owner: Andrew Bogott <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits