jenkins-bot has submitted this change and it was merged. Change subject: Add $wgOpenStackManagerReadOnlyRegions. ......................................................................
Add $wgOpenStackManagerReadOnlyRegions. This will allow us to disable instance creation in pmtpa when the migration begins. Change-Id: If9bd49ad1bccba0998eff2c5f0516596e7468736 --- M OpenStackManager.i18n.php M OpenStackManager.php M special/SpecialNovaAddress.php M special/SpecialNovaInstance.php 4 files changed, 27 insertions(+), 11 deletions(-) Approvals: Andrew Bogott: Looks good to me, approved jenkins-bot: Verified diff --git a/OpenStackManager.i18n.php b/OpenStackManager.i18n.php index 7e8e7e3..d429986 100644 --- a/OpenStackManager.i18n.php +++ b/OpenStackManager.i18n.php @@ -62,6 +62,7 @@ 'openstackmanager-actions' => 'Actions', 'openstackmanager-notloggedin' => 'Login required', 'openstackmanager-mustbeloggedin' => 'You must be logged in to perform this action.', + 'openstackmanager-creationdisabled' => 'Creation is disabled', 'openstackmanager-nonovacred' => 'No Nova credentials found for your account.', 'openstackmanager-nonovacred-admincreate' => 'There were no Nova credentials found for your user account. Please ask a Nova administrator to create credentials for you.', @@ -572,6 +573,7 @@ 'openstackmanager-mustbeloggedin' => 'Used as page body in Special:Nova. The page title for this message is {{msg-mw|Openstackmanager-notloggedin}}.', + 'openstackmanager-creationdisabled' => 'Displayed in place of a "create" link.', 'openstackmanager-nonovacred' => 'Used as page title in [[Special:Nova]]. The page body for this title is: diff --git a/OpenStackManager.php b/OpenStackManager.php index 99bb8e5..cc9ba6f 100644 --- a/OpenStackManager.php +++ b/OpenStackManager.php @@ -143,6 +143,9 @@ // A list of regions restricted to a group by right $wgOpenStackManagerRestrictedRegions = array(); +// A list of regions which are visible yet disabled (e.g. instance creation forbidden) +$wgOpenStackManagerReadOnlyRegions = array(); + $dir = dirname( __FILE__ ) . '/'; $wgExtensionMessagesFiles['OpenStackManager'] = $dir . 'OpenStackManager.i18n.php'; diff --git a/special/SpecialNovaAddress.php b/special/SpecialNovaAddress.php index bbb372d..6ee0696 100644 --- a/special/SpecialNovaAddress.php +++ b/special/SpecialNovaAddress.php @@ -408,6 +408,8 @@ * @return bool */ function listAddresses() { + global $wgOpenStackManagerReadOnlyRegions; + $this->setHeaders(); $this->getOutput()->addModules( 'ext.openstack.Address' ); $this->getOutput()->setPagetitle( $this->msg( 'openstackmanager-addresslist' ) ); @@ -435,18 +437,22 @@ $regions = ''; $this->userNova->setProject( $projectName ); foreach ( $this->userNova->getRegions( 'compute' ) as $region ) { - $regionactions = array( - 'projectadmin' => array( - $this->createActionLink( - 'openstackmanager-allocateaddress', - array( - 'action' => 'allocate', - 'project' => $projectName, - 'region' => $region + if ( in_array( $region, $wgOpenStackManagerReadOnlyRegions ) ) { + $regionactions = array( 'projectadmin' => array( $this->msg( 'openstackmanager-creationdisabled' ) ) ); + } else { + $regionactions = array( + 'projectadmin' => array( + $this->createActionLink( + 'openstackmanager-allocateaddress', + array( + 'action' => 'allocate', + 'project' => $projectName, + 'region' => $region + ) ) ) - ) - ); + ); + } $addresses = $this->getAddresses( $projectName, $region ); $regions .= $this->createRegionSection( $region, $projectName, $regionactions, $addresses ); } diff --git a/special/SpecialNovaInstance.php b/special/SpecialNovaInstance.php index dae5e7d..29c3bae 100644 --- a/special/SpecialNovaInstance.php +++ b/special/SpecialNovaInstance.php @@ -488,6 +488,7 @@ * @return void */ function listInstances() { + global $wgOpenStackManagerReadOnlyRegions; $this->setHeaders(); $this->getOutput()->addModules( 'ext.openstack.Instance' ); $this->getOutput()->setPagetitle( $this->msg( 'openstackmanager-instancelist' ) ); @@ -514,7 +515,11 @@ $regions = ''; $this->userNova->setProject( $projectName ); foreach ( $this->userNova->getRegions( 'compute' ) as $region ) { - $regionactions = array( 'projectadmin' => array( $this->createActionLink( 'openstackmanager-createinstance', array( 'action' => 'create', 'project' => $projectName, 'region' => $region ) ) ) ); + if ( in_array( $region, $wgOpenStackManagerReadOnlyRegions ) ) { + $regionactions = array( 'projectadmin' => array( $this->msg( 'openstackmanager-creationdisabled' ) ) ); + } else { + $regionactions = array( 'projectadmin' => array( $this->createActionLink( 'openstackmanager-createinstance', array( 'action' => 'create', 'project' => $projectName, 'region' => $region ) ) ) ); + } $instances = $this->getInstances( $projectName, $region ); $regions .= $this->createRegionSection( $region, $projectName, $regionactions, $instances ); } -- To view, visit https://gerrit.wikimedia.org/r/116112 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: If9bd49ad1bccba0998eff2c5f0516596e7468736 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/OpenStackManager Gerrit-Branch: master Gerrit-Owner: Andrew Bogott <abog...@wikimedia.org> Gerrit-Reviewer: Andrew Bogott <abog...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits