Andrew Bogott has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/217416

Change subject: Remove ldap host-entry creation and deletion from OSM.
......................................................................

Remove ldap host-entry creation and deletion from OSM.

Bug: T97163
Change-Id: If99c38829cdfe41b9a76d2e609c7038f005716be
---
M OpenStackManager.php
M api/ApiNovaInstance.php
D nova/OpenStackNovaHostDeleteJob.php
D nova/OpenStackNovaHostJob.php
M special/SpecialNovaInstance.php
5 files changed, 0 insertions(+), 188 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/OpenStackManager 
refs/changes/16/217416/1

diff --git a/OpenStackManager.php b/OpenStackManager.php
index 405b0db..b48c162 100644
--- a/OpenStackManager.php
+++ b/OpenStackManager.php
@@ -187,8 +187,6 @@
 $wgAutoloadClasses['OpenStackNovaSudoer'] = $dir . 
'nova/OpenStackNovaSudoer.php';
 $wgAutoloadClasses['OpenStackNovaProxy'] = $dir . 
'nova/OpenStackNovaProxy.php';
 $wgAutoloadClasses['OpenStackNovaArticle'] = $dir . 
'nova/OpenStackNovaArticle.php';
-$wgAutoloadClasses['OpenStackNovaHostJob'] = $dir . 
'nova/OpenStackNovaHostJob.php';
-$wgAutoloadClasses['OpenStackNovaHostDeleteJob'] = $dir . 
'nova/OpenStackNovaHostDeleteJob.php';
 $wgAutoloadClasses['OpenStackNovaPuppetGroup'] = $dir . 
'nova/OpenStackNovaPuppetGroup.php';
 $wgAutoloadClasses['OpenStackNovaLdapConnection'] = $dir . 
'nova/OpenStackNovaLdapConnection.php';
 $wgAutoloadClasses['OpenStackNovaProject'] = $dir . 
'nova/OpenStackNovaProject.php';
@@ -240,8 +238,6 @@
 $wgSpecialPageGroups['NovaSudoer'] = 'nova';
 $wgSpecialPages['NovaProxy'] = 'SpecialNovaProxy';
 $wgSpecialPageGroups['NovaProxy'] = 'nova';
-$wgJobClasses['addDNSHostToLDAP'] = 'OpenStackNovaHostJob';
-$wgJobClasses['deleteDNSHostFromLDAP'] = 'OpenStackNovaHostDeleteJob';
 $wgSpecialPageGroups['NovaPuppetGroup'] = 'nova';
 $wgSpecialPages['NovaPuppetGroup'] = 'SpecialNovaPuppetGroup';
 $wgSpecialPageGroups['NovaResources'] = 'nova';
diff --git a/api/ApiNovaInstance.php b/api/ApiNovaInstance.php
index 1528a75..f6f080e 100644
--- a/api/ApiNovaInstance.php
+++ b/api/ApiNovaInstance.php
@@ -53,12 +53,6 @@
                                $this->dieUsage( 'Failed to delete the 
instance.', 'openstackmanager-deleteinstancefailed' );
                        }
 
-                       $title = Title::newMainPage();
-                       $params = array( 'instancename' => $instancename, 
'project' => $instance->getProject(), 'region' => $this->params['region'],
-                                         'user' => $wgUser->getName() );
-                       $job = new OpenStackNovaHostDeleteJob( $title, $params 
);
-                       JobQueueGroup::singleton()->push( $job );
-
                        break;
                }
        }
diff --git a/nova/OpenStackNovaHostDeleteJob.php 
b/nova/OpenStackNovaHostDeleteJob.php
deleted file mode 100644
index b0cefde..0000000
--- a/nova/OpenStackNovaHostDeleteJob.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-/**
- * todo comment me
- *
- * @file
- * @ingroup Extensions
- */
-
-class OpenStackNovaHostDeleteJob extends Job {
-
-       /**
-        * @param Title $title
-        * @param array $params
-        */
-       public function __construct( $title, $params ) {
-               // Replace synchroniseThreadArticleData with the an identifier 
for your job.
-               parent::__construct( 'deleteDNSHostFromLDAP', $title, $params );
-       }
-
-       /**
-        * Execute the job. Delete the selected record... if deletion fails,
-        *  resubmit.
-        *
-        * @return bool
-        */
-       public function run() {
-               global $wgAuth;
-               global $wgUser;
-
-               if ( array_key_exists( 'count', $this->params ) ) {
-                       $this->params['count'] += 1;
-               } else {
-                       $this->params['count'] = 0;
-               }
-
-               $instancename = $this->params['instancename'];
-               $project = $this->params['project'];
-
-               if ( $this->params['count'] > 8 ) {
-                       $wgAuth->printDebug( "DNS delete job for $instanceid 
failed many times, giving up.", NONSENSITIVE );
-                       return true;
-               }
-
-               $user = isset( $this->params['user'] )
-                       ? User::newFromName( $this->params['user'] )
-                       : User::newFromName( 'OpenStackManager Extension' );
-               if ( !$user instanceof User ) {
-                       $user = User::newFromName( 'OpenStackManager Extension' 
);
-               }
-               $wgUser = $user;
-
-               $count = $this->params['count'];
-               $region = $this->params['region'];
-               $wgAuth->printDebug( "Running DNS delete job for $instanceid, 
attempt number $count", NONSENSITIVE );
-
-               $host = OpenStackNovaHost::getHostByNameAndProject( 
$instancename, $project, $region );
-               if ( ! $host ) {
-                       $wgAuth->printDebug( "Host entry doesn't exist for 
$instanceid", NONSENSITIVE );
-                       return true;
-               }
-               $success = $host->deleteHost();
-               if ( !$success ) {
-                       # re-add to queue
-                       $wgAuth->printDebug( "Readding host deletion job for 
$instanceid", NONSENSITIVE );
-                       $job = new OpenStackNovaHostDeleteJob( $this->title, 
$this->params );
-                       JobQueueGroup::singleton()->push( $job );
-               }
-
-               return true;
-       }
-}
diff --git a/nova/OpenStackNovaHostJob.php b/nova/OpenStackNovaHostJob.php
deleted file mode 100644
index 614273f..0000000
--- a/nova/OpenStackNovaHostJob.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/**
- * todo comment me
- *
- * @file
- * @ingroup Extensions
- */
-
-class OpenStackNovaHostJob extends Job {
-
-       /**
-        * @param Title $title
-        * @param array $params
-        */
-       public function __construct( $title, $params ) {
-               // Replace synchroniseThreadArticleData with the an identifier 
for your job.
-               parent::__construct( 'addDNSHostToLDAP', $title, $params );
-       }
-
-       /**
-        * Execute the job. Add an IP address to a DNS record when it is 
available
-        * on the instance. If the instance does not exist, or it has not been
-        * assigned an IP address, re-add the job.
-        *
-        * Upon successfully adding the host, this job will also add an Article 
for the
-        * instance.
-        *
-        * @return bool
-        */
-       public function run() {
-               global $wgUser;
-               global $wgOpenStackManagerLDAPUsername;
-               global $wgOpenStackManagerLDAPUserPassword;
-               $auth = $this->params['auth'];
-
-               $user = isset( $this->params['user'] )
-                       ? User::newFromName( $this->params['user'] )
-                       : User::newFromName( 'OpenStackManager Extension' );
-               if ( !$user instanceof User ) {
-                       $user = User::newFromName( 'OpenStackManager Extension' 
);
-               }
-               $wgUser = $user;
-
-               $instancename = $this->params['instancename'];
-               $instanceosid = $this->params['instanceosid'];
-               $project = $this->params['project'];
-               $region = $this->params['region'];
-               $auth->printDebug( "Running DNS job for $instanceosid", 
NONSENSITIVE );
-
-               $user = new OpenStackNovaUser( $wgOpenStackManagerLDAPUsername 
);
-               $userNova = OpenStackNovaController::newFromUser( $user );
-               $userNova->setProject( $project );
-               $userNova->setRegion( $region );
-               $userNova->authenticate( $wgOpenStackManagerLDAPUsername, 
$wgOpenStackManagerLDAPUserPassword );
-               $instance = $userNova->getInstance( $instanceosid );
-               if ( ! $instance ) {
-                       $auth->printDebug( "Instance doesn't exist for 
$instanceosid", NONSENSITIVE );
-                       # Instance no longer exists
-                       return true;
-               }
-               $ip = $instance->getInstancePrivateIPs();
-               $ip = $ip[0];
-               if ( trim( $ip ) === '' ) {
-                       # IP hasn't been assigned yet
-                       # re-add to queue
-                       $auth->printDebug( "Readding job for $instanceosid", 
NONSENSITIVE );
-                       $job = new OpenStackNovaHostJob( $this->title, 
$this->params );
-                       $job->insert();
-                       return true;
-               }
-               $host = OpenStackNovaHost::getHostByNameAndProject( 
$instancename, $project, $region );
-               if ( ! $host ) {
-                       $auth->printDebug( "Host record doesn't exist for 
$instancename in $project", NONSENSITIVE );
-                       return true;
-               }
-               $host->setARecord( $ip );
-               $instance->editArticle( $userNova );
-
-               return true;
-       }
-}
diff --git a/special/SpecialNovaInstance.php b/special/SpecialNovaInstance.php
index 738f71d..657421f 100644
--- a/special/SpecialNovaInstance.php
+++ b/special/SpecialNovaInstance.php
@@ -662,27 +662,6 @@
                        $instanceId = $instance->getInstanceOSId();
                        $instance = $this->userNova->getInstance( $instanceId );
                }
-               if ( $instance ) {
-                       $host = OpenStackNovaHost::addHostFromInstance( 
$instance, $domain, $this->getPuppetInfo( $formData ) );
-
-                       if ( $host ) {
-                               $instance->setHost( $host );
-                               OpenStackManagerEvent::storeEventInfo( 'build', 
$this->getUser(), $instance, $project );
-                               $title = Title::newFromText( 
$this->getOutput()->getPageTitle() );
-                               $job = new OpenStackNovaHostJob( $title, array( 
'instancename' => $instance->getInstanceName(), 'instanceosid' => 
$instance->getInstanceOSId(), 'project' => $project, 'region' => $region, 
'user' => $wgUser->getName(), 'auth' => $wgAuth ) );
-                               $job->insert();
-                               $image = $this->userNova->getImage( 
$instance->getImageId() );
-                               $imageName = $image->getImageName();
-                               $this->getOutput()->addWikiMsg( 
'openstackmanager-createdinstance', $instance->getInstanceID(),
-                                       $imageName, 
$host->getFullyQualifiedHostName() );
-                       } else {
-                               $instance->deleteInstance( $this->userNova );
-                               $this->getOutput()->addWikiMsg( 
'openstackmanager-createfailedldap' );
-                       }
-                       # TODO: also add puppet
-               } else {
-                       $this->getOutput()->addWikiMsg( 
'openstackmanager-createinstancefailed' );
-               }
 
                $out = '<br />';
                $out .= Linker::link(
@@ -710,9 +689,6 @@
                $instanceid = $instance->getInstanceId();
                $result = $instance->deleteInstance( $this->userNova );
                if ( $result ) {
-                       $title = Title::newFromText( 
$this->getOutput()->getPageTitle() );
-                       $job = new OpenStackNovaHostDeleteJob( $title, array( 
'instancename' => $instancename, 'project' => $instance->getProject(), 'region' 
=> $formData['region'], 'user' => $wgUser->getName() ) );
-                       JobQueueGroup::singleton()->push( $job );
                        $this->getOutput()->addWikiMsg( 
'openstackmanager-deletedinstance', $instanceid, $instancename );
                } else {
                        $this->getOutput()->addWikiMsg( 
'openstackmanager-deleteinstancefailed', $instanceid, $instancename );

-- 
To view, visit https://gerrit.wikimedia.org/r/217416
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If99c38829cdfe41b9a76d2e609c7038f005716be
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/OpenStackManager
Gerrit-Branch: master
Gerrit-Owner: Andrew Bogott <abog...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to