aurora-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wfar...@apache.org
Subject incubator-aurora git commit: Rename beta-update subcommand to update.
Date Tue, 17 Mar 2015 02:25:11 GMT
Repository: incubator-aurora
Updated Branches:
  refs/heads/master 2f991069e -> b847bbfcc


Rename beta-update subcommand to update.

Bugs closed: AURORA-1160

Reviewed at https://reviews.apache.org/r/32077/


Project: http://git-wip-us.apache.org/repos/asf/incubator-aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-aurora/commit/b847bbfc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-aurora/tree/b847bbfc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-aurora/diff/b847bbfc

Branch: refs/heads/master
Commit: b847bbfcce409e217e6000dcb3f5c1437994020b
Parents: 2f99106
Author: Bill Farner <wfarner@apache.org>
Authored: Mon Mar 16 19:25:02 2015 -0700
Committer: Bill Farner <wfarner@apache.org>
Committed: Mon Mar 16 19:25:02 2015 -0700

----------------------------------------------------------------------
 docs/client-commands.md                         | 80 ++++++++++----------
 docs/configuration-reference.md                 |  2 +-
 docs/hooks.md                                   |  2 +-
 examples/vagrant/upstart/aurora-scheduler.conf  |  1 -
 .../thrift/SchedulerThriftInterface.java        | 19 -----
 .../aurora/scheduler/thrift/ThriftModule.java   | 12 ---
 .../python/apache/aurora/client/cli/update.py   |  2 +-
 .../thrift/SchedulerThriftInterfaceTest.java    | 47 ------------
 .../apache/aurora/client/cli/test_supdate.py    | 28 +++----
 .../sh/org/apache/aurora/e2e/test_end_to_end.sh | 14 ++--
 10 files changed, 63 insertions(+), 144 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/docs/client-commands.md
----------------------------------------------------------------------
diff --git a/docs/client-commands.md b/docs/client-commands.md
index f0769b5..fe13fb3 100644
--- a/docs/client-commands.md
+++ b/docs/client-commands.md
@@ -10,8 +10,8 @@ Aurora Client Commands
     - [Running a Command On a Running Job](#running-a-command-on-a-running-job)
     - [Killing a Job](#killing-a-job)
     - [Updating a Job](#updating-a-job)
-        - [Asynchronous job updates (beta)](#user-content-asynchronous-job-updates-beta)
-            - [Coordinated job updates (beta)](#user-content-coordinated-job-updates-beta)
+        - [Coordinated job updates](#user-content-coordinated-job-updates)
+        - [Client-orchestrated updates (deprecated)](#user-content-client-orchestrated-updates-deprecated)
     - [Renaming a Job](#renaming-a-job)
     - [Restarting Jobs](#restarting-jobs)
 - [Cron Jobs](#cron-jobs)
@@ -169,44 +169,14 @@ kill command.
 
 ### Updating a Job
 
-    aurora job update CLUSTER/ROLE/ENV/NAME[/INSTANCES] <configuration file>
-    aurora job cancel-update CLUSTER/ROLE/ENV/NAME
-
-Given a running job, does a rolling update to reflect a new
-configuration version. Only updates Tasks in the Job with a changed
-configuration. You can further restrict the operated on Tasks by specifying
-specific instances that should be updated.
-
-You may want to run `aurora job diff` beforehand to validate which Tasks
-have different configurations.
-
-Updating jobs are locked to be sure the update finishes without
-disruption. If the update abnormally terminates, the lock may stay
-around and cause failure of subsequent update attempts.
- `aurora job cancel-update `unlocks the Job specified by
-its `job_key` argument. Be sure you don't issue `job cancel-update` when
-another user is working with the specified Job.
-
-The `<configuration file>` argument for `job cancel-update` is optional. Use
-it only if it contains hook definitions and activations that affect the
-`cancel_update` command. The `<configuration file>` argument for
-`update` is required, but in addition to a new configuration it can be
-used to define and activate hooks for `job update`.
-
-#### Asynchronous job updates (beta)
-
-As of 0.6.0, Aurora will control and dispatch updates (and rollbacks) within the
-scheduler. Performing updates this way also allows the scheduler to display
-update progress and job update history in the browser.
-
 There are several sub-commands to manage job updates:
 
-    aurora beta-update start <job key> <configuration file>
-    aurora beta-update status <job key>
-    aurora beta-update pause <job key>
-    aurora beta-update resume <job key>
-    aurora beta-update abort <job key>
-    aurora beta-update list <cluster>
+    aurora update start <job key> <configuration file>
+    aurora update status <job key>
+    aurora update pause <job key>
+    aurora update resume <job key>
+    aurora update abort <job key>
+    aurora update list <cluster>
 
 When you `start` a job update, the command will return once it has sent the
 instructions to the scheduler.  At that point, you may view detailed
@@ -223,10 +193,9 @@ You may `abort` a job update regardless of the state it is in. This will
 instruct the scheduler to completely abandon the job update and leave the job
 in the current (possibly partially-updated) state.
 
-##### Coordinated job updates (beta)
+#### Coordinated job updates
 
-Some Aurora services may benefit from having more control over the
-[asynchronous scheduler updater](#user-content-asynchronous-job-updates-beta) by explicitly
+Some Aurora services may benefit from having more control over updates by explicitly
 acknowledging ("heartbeating") job update progress. This may be helpful for mission-critical
 service updates where explicit job health monitoring is vital during the entire job update
 lifecycle. Such job updates would rely on an external service (or a custom client) periodically
@@ -244,6 +213,35 @@ progress until the first pulse arrives. However, a paused update (`ROLL_FORWARD_
 `ROLL_BACK_PAUSED`) is still considered active and upon resuming will immediately make progress
 provided the pulse interval has not expired.
 
+#### Client-orchestrated updates (deprecated)
+
+*Note: This feature is deprecated and will be removed in 0.9.0.
+Please use aurora update instead.*
+
+    aurora job update CLUSTER/ROLE/ENV/NAME[/INSTANCES] <configuration file>
+    aurora job cancel-update CLUSTER/ROLE/ENV/NAME
+
+Given a running job, does a rolling update to reflect a new
+configuration version. Only updates Tasks in the Job with a changed
+configuration. You can further restrict the operated on Tasks by specifying
+specific instances that should be updated.
+
+You may want to run `aurora job diff` beforehand to validate which Tasks
+have different configurations.
+
+Updating jobs are locked to be sure the update finishes without
+disruption. If the update abnormally terminates, the lock may stay
+around and cause failure of subsequent update attempts.
+ `aurora job cancel-update `unlocks the Job specified by
+its `job_key` argument. Be sure you don't issue `job cancel-update` when
+another user is working with the specified Job.
+
+The `<configuration file>` argument for `job cancel-update` is optional. Use
+it only if it contains hook definitions and activations that affect the
+`cancel_update` command. The `<configuration file>` argument for
+`update` is required, but in addition to a new configuration it can be
+used to define and activate hooks for `job update`.
+
 ### Renaming a Job
 
 Renaming is a tricky operation as downstream clients must be informed of

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/docs/configuration-reference.md
----------------------------------------------------------------------
diff --git a/docs/configuration-reference.md b/docs/configuration-reference.md
index af03862..af332f2 100644
--- a/docs/configuration-reference.md
+++ b/docs/configuration-reference.md
@@ -349,7 +349,7 @@ Parameters for controlling the rate and policy of rolling updates.
 | ```max_total_failures```     | Integer  | Maximum number of shard failures to be tolerated
in total during an update. Cannot be greater than or equal to the total number of tasks in
a job. (Default: 0)
 | ```rollback_on_failure```    | boolean  | When False, prevents auto rollback of a failed
update (Default: True)
 | ```wait_for_batch_completion```| boolean | When True, all threads from a given batch will
be blocked from picking up new instances until the entire batch is updated. This essentially
simulates the legacy sequential updater algorithm. (Default: False)
-| ```pulse_interval_secs```    | Integer  |  Indicates a [coordinated update](client-commands.md#user-content-coordinated-job-updates-beta).
If no pulses are received within the provided interval the update will be blocked. Beta-updater
only. Will fail on submission when used with client updater. (Default: None)
+| ```pulse_interval_secs```    | Integer  |  Indicates a [coordinated update](client-commands.md#user-content-coordinated-job-updates).
If no pulses are received within the provided interval the update will be blocked. Beta-updater
only. Will fail on submission when used with client updater. (Default: None)
 
 ### HealthCheckConfig Objects
 

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/docs/hooks.md
----------------------------------------------------------------------
diff --git a/docs/hooks.md b/docs/hooks.md
index 23cc207..63dbdb9 100644
--- a/docs/hooks.md
+++ b/docs/hooks.md
@@ -92,7 +92,7 @@ You can associate `pre_`, `post_`, and `err_` hooks with the following methods.
   ```update_job``` | ```self```, ```config```, ```health_check_interval_seconds=3```, ```shards=None```
| ```job update```
   ```kill_job``` | ```self```, ```job_key```, ```shards=None``` |  ```job kill```
   ```start_cronjob``` | ```self```, ```job_key``` | ```cron start```
-  ```start_job_update``` | ```self```, ```config```, ```instances=None``` | ```beta-update
start```
+  ```start_job_update``` | ```self```, ```config```, ```instances=None``` | ```update start```
 
 Some specific examples:
 

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/examples/vagrant/upstart/aurora-scheduler.conf
----------------------------------------------------------------------
diff --git a/examples/vagrant/upstart/aurora-scheduler.conf b/examples/vagrant/upstart/aurora-scheduler.conf
index f85127d..1090bd8 100644
--- a/examples/vagrant/upstart/aurora-scheduler.conf
+++ b/examples/vagrant/upstart/aurora-scheduler.conf
@@ -38,7 +38,6 @@ exec $DIST_DIR/install/aurora-scheduler/bin/aurora-scheduler \
   -thermos_executor_path=$DIST_DIR/thermos_executor.pex \
   -thermos_executor_flags="--announcer-enable --announcer-ensemble localhost:2181" \
   -gc_executor_path=$DIST_DIR/gc_executor.pex \
-  -enable_beta_updater=true \
   -vlog=INFO \
   -logtostderr \
   -allowed_container_types=MESOS,DOCKER

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
b/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
index c60d1e7..6b15bfd 100644
--- a/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
+++ b/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
@@ -13,8 +13,6 @@
  */
 package org.apache.aurora.scheduler.thrift;
 
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -23,7 +21,6 @@ import java.util.logging.Logger;
 
 import javax.annotation.Nullable;
 import javax.inject.Inject;
-import javax.inject.Qualifier;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
@@ -132,10 +129,6 @@ import org.apache.aurora.scheduler.updater.JobUpdateController.AuditData;
 import org.apache.aurora.scheduler.updater.UpdateStateException;
 import org.apache.thrift.TException;
 
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import static java.util.Objects.requireNonNull;
 
 import static com.google.common.base.CharMatcher.WHITESPACE;
@@ -200,14 +193,8 @@ class SchedulerThriftInterface implements AuroraAdmin.Iface {
   private final TaskIdGenerator taskIdGenerator;
   private final UUIDGenerator uuidGenerator;
   private final JobUpdateController jobUpdateController;
-  private final boolean isUpdaterEnabled;
   private final ReadOnlyScheduler.Iface readOnlyScheduler;
 
-  @Qualifier
-  @Target({FIELD, PARAMETER, METHOD})
-  @Retention(RUNTIME)
-  @interface EnableUpdater { }
-
   @Inject
   SchedulerThriftInterface(
       NonVolatileStorage storage,
@@ -222,7 +209,6 @@ class SchedulerThriftInterface implements AuroraAdmin.Iface {
       TaskIdGenerator taskIdGenerator,
       UUIDGenerator uuidGenerator,
       JobUpdateController jobUpdateController,
-      @EnableUpdater boolean isUpdaterEnabled,
       ReadOnlyScheduler.Iface readOnlyScheduler) {
 
     this.storage = requireNonNull(storage);
@@ -237,7 +223,6 @@ class SchedulerThriftInterface implements AuroraAdmin.Iface {
     this.taskIdGenerator = requireNonNull(taskIdGenerator);
     this.uuidGenerator = requireNonNull(uuidGenerator);
     this.jobUpdateController = requireNonNull(jobUpdateController);
-    this.isUpdaterEnabled = isUpdaterEnabled;
     this.readOnlyScheduler = requireNonNull(readOnlyScheduler);
   }
 
@@ -1121,10 +1106,6 @@ class SchedulerThriftInterface implements AuroraAdmin.Iface {
       @Nullable final String message,
       SessionKey session) {
 
-    if (!isUpdaterEnabled) {
-      return invalidRequest("Server-side updates are disabled on this cluster.");
-    }
-
     requireNonNull(mutableRequest);
     requireNonNull(session);
 

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/src/main/java/org/apache/aurora/scheduler/thrift/ThriftModule.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/thrift/ThriftModule.java b/src/main/java/org/apache/aurora/scheduler/thrift/ThriftModule.java
index b1d6336..d9184eb 100644
--- a/src/main/java/org/apache/aurora/scheduler/thrift/ThriftModule.java
+++ b/src/main/java/org/apache/aurora/scheduler/thrift/ThriftModule.java
@@ -13,14 +13,10 @@
  */
 package org.apache.aurora.scheduler.thrift;
 
-import com.google.common.annotations.VisibleForTesting;
 import com.google.inject.AbstractModule;
-import com.twitter.common.args.Arg;
-import com.twitter.common.args.CmdLine;
 
 import org.apache.aurora.gen.AuroraAdmin;
 import org.apache.aurora.gen.ReadOnlyScheduler;
-import org.apache.aurora.scheduler.thrift.SchedulerThriftInterface.EnableUpdater;
 import org.apache.aurora.scheduler.thrift.aop.AopModule;
 
 /**
@@ -28,11 +24,6 @@ import org.apache.aurora.scheduler.thrift.aop.AopModule;
  */
 public class ThriftModule extends AbstractModule {
 
-  @VisibleForTesting
-  @CmdLine(name = "enable_beta_updater",
-      help = "Enable the async updater. Use at your own risk, this feature is not yet complete.")
-  static final Arg<Boolean> ENABLE_BETA_UPDATER = Arg.create(false);
-
   @Override
   protected void configure() {
     bind(ReadOnlyScheduler.Iface.class).to(ReadOnlySchedulerImpl.class);
@@ -41,9 +32,6 @@ public class ThriftModule extends AbstractModule {
     // Promote to an explicit binding so it's created in the servlet container child injector.
     // See https://code.google.com/p/google-guice/issues/detail?id=461
     bind(SchedulerThriftInterface.class);
-
-    bind(Boolean.class).annotatedWith(EnableUpdater.class).toInstance(ENABLE_BETA_UPDATER.get());
-
     install(new AopModule());
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/src/main/python/apache/aurora/client/cli/update.py
----------------------------------------------------------------------
diff --git a/src/main/python/apache/aurora/client/cli/update.py b/src/main/python/apache/aurora/client/cli/update.py
index cced108..f025d46 100644
--- a/src/main/python/apache/aurora/client/cli/update.py
+++ b/src/main/python/apache/aurora/client/cli/update.py
@@ -374,7 +374,7 @@ class Update(Noun):
 
   @property
   def name(self):
-    return "beta-update"
+    return "update"
 
   @property
   def help(self):

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
b/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
index 89b9ce0..f5326af 100644
--- a/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
@@ -29,10 +29,6 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Sets;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Module;
 import com.twitter.common.testing.easymock.EasyMockTest;
 
 import org.apache.aurora.auth.CapabilityValidator;
@@ -90,9 +86,7 @@ import org.apache.aurora.scheduler.configuration.ConfigurationManager;
 import org.apache.aurora.scheduler.configuration.SanitizedConfiguration;
 import org.apache.aurora.scheduler.cron.CronException;
 import org.apache.aurora.scheduler.cron.CronJobManager;
-import org.apache.aurora.scheduler.cron.CronPredictor;
 import org.apache.aurora.scheduler.cron.SanitizedCronJob;
-import org.apache.aurora.scheduler.metadata.NearestFit;
 import org.apache.aurora.scheduler.quota.QuotaCheckResult;
 import org.apache.aurora.scheduler.quota.QuotaManager;
 import org.apache.aurora.scheduler.state.LockManager;
@@ -100,7 +94,6 @@ import org.apache.aurora.scheduler.state.LockManager.LockException;
 import org.apache.aurora.scheduler.state.MaintenanceController;
 import org.apache.aurora.scheduler.state.StateManager;
 import org.apache.aurora.scheduler.state.UUIDGenerator;
-import org.apache.aurora.scheduler.storage.Storage.NonVolatileStorage;
 import org.apache.aurora.scheduler.storage.Storage.StorageException;
 import org.apache.aurora.scheduler.storage.backup.Recovery;
 import org.apache.aurora.scheduler.storage.backup.StorageBackup;
@@ -113,11 +106,8 @@ import org.apache.aurora.scheduler.storage.entities.ILockKey;
 import org.apache.aurora.scheduler.storage.entities.IRange;
 import org.apache.aurora.scheduler.storage.entities.IResourceAggregate;
 import org.apache.aurora.scheduler.storage.entities.IScheduledTask;
-import org.apache.aurora.scheduler.storage.entities.IServerInfo;
 import org.apache.aurora.scheduler.storage.entities.ITaskConfig;
 import org.apache.aurora.scheduler.storage.testing.StorageTestUtil;
-import org.apache.aurora.scheduler.thrift.SchedulerThriftInterface.EnableUpdater;
-import org.apache.aurora.scheduler.thrift.aop.AopModule;
 import org.apache.aurora.scheduler.updater.JobUpdateController;
 import org.apache.aurora.scheduler.updater.JobUpdateController.AuditData;
 import org.apache.aurora.scheduler.updater.UpdateStateException;
@@ -151,7 +141,6 @@ import static org.apache.aurora.scheduler.thrift.Fixtures.LOCK_KEY;
 import static org.apache.aurora.scheduler.thrift.Fixtures.NOT_ENOUGH_QUOTA;
 import static org.apache.aurora.scheduler.thrift.Fixtures.ROLE;
 import static org.apache.aurora.scheduler.thrift.Fixtures.ROLE_IDENTITY;
-import static org.apache.aurora.scheduler.thrift.Fixtures.SERVER_INFO;
 import static org.apache.aurora.scheduler.thrift.Fixtures.TASK_ID;
 import static org.apache.aurora.scheduler.thrift.Fixtures.UPDATE_KEY;
 import static org.apache.aurora.scheduler.thrift.Fixtures.USER;
@@ -240,7 +229,6 @@ public class SchedulerThriftInterfaceTest extends EasyMockTest {
             taskIdGenerator,
             uuidGenerator,
             jobUpdateController,
-            true,
             readOnlyScheduler));
   }
 
@@ -2175,41 +2163,6 @@ public class SchedulerThriftInterfaceTest extends EasyMockTest {
   }
 
   @Test
-  public void testStartUpdateFailsInProd() throws Exception {
-    Module testModule = new AbstractModule() {
-      @Override
-      protected void configure() {
-        bind(NonVolatileStorage.class).toInstance(storageUtil.storage);
-        bind(LockManager.class).toInstance(createMock(LockManager.class));
-        bind(CapabilityValidator.class).toInstance(createMock(CapabilityValidator.class));
-        bind(StorageBackup.class).toInstance(createMock(StorageBackup.class));
-        bind(Recovery.class).toInstance(createMock(Recovery.class));
-        bind(MaintenanceController.class).toInstance(createMock(MaintenanceController.class));
-        bind(CronJobManager.class).toInstance(createMock(CronJobManager.class));
-        bind(QuotaManager.class).toInstance(createMock(QuotaManager.class));
-        bind(AuroraAdmin.Iface.class).to(SchedulerThriftInterface.class);
-        bind(IServerInfo.class).toInstance(SERVER_INFO);
-        bind(CronPredictor.class).toInstance(createMock(CronPredictor.class));
-        bind(NearestFit.class).toInstance(createMock(NearestFit.class));
-        bind(StateManager.class).toInstance(createMock(StateManager.class));
-        bind(TaskIdGenerator.class).toInstance(createMock(TaskIdGenerator.class));
-        bind(UUIDGenerator.class).toInstance(createMock(UUIDGenerator.class));
-        bind(JobUpdateController.class).toInstance(createMock(JobUpdateController.class));
-        bind(ReadOnlyScheduler.Iface.class).toInstance(createMock(ReadOnlyScheduler.Iface.class));
-        bind(Boolean.class)
-            .annotatedWith(EnableUpdater.class)
-            .toInstance(ThriftModule.ENABLE_BETA_UPDATER.get());
-      }
-    };
-    Injector injector = Guice.createInjector(testModule, new AopModule());
-    AuroraAdmin.Iface thriftInstance =
-        getResponseProxy(injector.getInstance(AuroraAdmin.Iface.class));
-
-    control.replay();
-    assertResponse(INVALID_REQUEST, thriftInstance.startJobUpdate(null, null, null));
-  }
-
-  @Test
   public void testPauseJobUpdateByCoordinator() throws Exception {
     expectAuth(UPDATE_COORDINATOR, true);
     jobUpdateController.pause(UPDATE_KEY, AUDIT);

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/src/test/python/apache/aurora/client/cli/test_supdate.py
----------------------------------------------------------------------
diff --git a/src/test/python/apache/aurora/client/cli/test_supdate.py b/src/test/python/apache/aurora/client/cli/test_supdate.py
index a237da9..cb66439 100644
--- a/src/test/python/apache/aurora/client/cli/test_supdate.py
+++ b/src/test/python/apache/aurora/client/cli/test_supdate.py
@@ -161,7 +161,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.flush()
         cmd = AuroraCommandLine()
         result = cmd.execute([
-            'beta-update',
+            'update',
             'start',
             self.TEST_JOBSPEC,
             fp.name,
@@ -192,7 +192,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_valid_config())
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'start', self.TEST_JOBSPEC, fp.name])
+        result = cmd.execute(['update', 'start', self.TEST_JOBSPEC, fp.name])
         assert result == EXIT_OK
 
       assert mock_api.start_job_update.call_count == 1
@@ -214,7 +214,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_valid_config())
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'pause', self.TEST_JOBSPEC, '-m=hello'])
+        result = cmd.execute(['update', 'pause', self.TEST_JOBSPEC, '-m=hello'])
         assert result == EXIT_OK
 
       assert mock_api.query_job_updates.mock_calls == [
@@ -235,7 +235,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_valid_config())
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'abort', self.TEST_JOBSPEC, '-m=hello'])
+        result = cmd.execute(['update', 'abort', self.TEST_JOBSPEC, '-m=hello'])
         assert result == EXIT_OK
 
       assert mock_api.query_job_updates.mock_calls == [
@@ -256,7 +256,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_valid_config())
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'resume', self.TEST_JOBSPEC, '--message=hello'])
+        result = cmd.execute(['update', 'resume', self.TEST_JOBSPEC, '--message=hello'])
         assert result == EXIT_OK
 
       assert mock_api.query_job_updates.mock_calls == [
@@ -274,7 +274,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_invalid_config('invalid_field=False,'))
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'start', self.TEST_JOBSPEC, fp.name])
+        result = cmd.execute(['update', 'start', self.TEST_JOBSPEC, fp.name])
         assert result == EXIT_INVALID_CONFIGURATION
         assert mock_api.start_job_update.mock_calls == []
 
@@ -290,7 +290,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_valid_config())
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'resume', self.TEST_JOBSPEC])
+        result = cmd.execute(['update', 'resume', self.TEST_JOBSPEC])
         assert result == EXIT_API_ERROR
 
       assert mock_api.query_job_updates.mock_calls == [
@@ -311,7 +311,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_valid_config())
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'abort', self.TEST_JOBSPEC])
+        result = cmd.execute(['update', 'abort', self.TEST_JOBSPEC])
         assert result == EXIT_API_ERROR
 
       assert mock_api.query_job_updates.mock_calls == [
@@ -334,7 +334,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_valid_config())
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'abort', self.TEST_JOBSPEC])
+        result = cmd.execute(['update', 'abort', self.TEST_JOBSPEC])
         assert result == EXIT_API_ERROR
 
       assert mock_api.query_job_updates.mock_calls == [
@@ -356,7 +356,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         fp.write(self.get_valid_config())
         fp.flush()
         cmd = AuroraCommandLine()
-        result = cmd.execute(['beta-update', 'pause', self.TEST_JOBSPEC])
+        result = cmd.execute(['update', 'pause', self.TEST_JOBSPEC])
         assert result == EXIT_API_ERROR
 
       assert mock_api.query_job_updates.mock_calls == [
@@ -391,7 +391,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         patch('apache.aurora.client.cli.update.Update.create_context', return_value=mock_context),
         patch('apache.aurora.client.factory.CLUSTERS', new=self.TEST_CLUSTERS)):
       cmd = AuroraCommandLine()
-      result = cmd.execute(["beta-update", "list", self.TEST_CLUSTER, "--user=me"])
+      result = cmd.execute(["update", "list", self.TEST_CLUSTER, "--user=me"])
       assert result == EXIT_OK
       assert mock_context.get_out_str() == textwrap.dedent("""\
           Job: west/bozo/test/hello, Id: update_id, User: me, Status: ROLLED_FORWARD
@@ -409,7 +409,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         patch('apache.aurora.client.cli.update.Update.create_context', return_value=mock_context),
         patch('apache.aurora.client.factory.CLUSTERS', new=self.TEST_CLUSTERS)):
       cmd = AuroraCommandLine()
-      result = cmd.execute(["beta-update", "list", self.TEST_CLUSTER, "--user=me", '--write-json'])
+      result = cmd.execute(["update", "list", self.TEST_CLUSTER, "--user=me", '--write-json'])
       assert result == EXIT_OK
       # TODO(wfarner): We really should not be performing string equality matching on JSON
data,
       # as it is sensitive to field ordering.
@@ -494,7 +494,7 @@ class TestUpdateCommand(AuroraClientCommandTest):
         patch('apache.aurora.client.cli.update.Update.create_context', return_value=mock_context),
         patch('apache.aurora.client.factory.CLUSTERS', new=self.TEST_CLUSTERS)):
       cmd = AuroraCommandLine()
-      result = cmd.execute(["beta-update", "status", self.TEST_JOBSPEC])
+      result = cmd.execute(["update", "status", self.TEST_JOBSPEC])
       assert result == EXIT_OK
       assert ('\n'.join(mock_context.get_out()) ==
           """Job: west/bozo/test/hello, UpdateID: update_id
@@ -526,7 +526,7 @@ Instance events:
         patch('apache.aurora.client.cli.update.Update.create_context', return_value=mock_context),
         patch('apache.aurora.client.factory.CLUSTERS', new=self.TEST_CLUSTERS)):
       cmd = AuroraCommandLine()
-      result = cmd.execute(["beta-update", "status", "--write-json", self.TEST_JOBSPEC])
+      result = cmd.execute(["update", "status", "--write-json", self.TEST_JOBSPEC])
       assert result == EXIT_OK
       assert mock_context.get_api(self.TEST_CLUSTER).query_job_updates.mock_calls == [
           call(update_statuses=ACTIVE_JOB_UPDATE_STATES, job_key=self.TEST_JOBKEY)

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b847bbfc/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
----------------------------------------------------------------------
diff --git a/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh b/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
index f255f2d..320c1fb 100755
--- a/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
+++ b/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
@@ -35,7 +35,7 @@ tear_down() {
 
   for job in http_example http_example_docker; do
     aurora job cancel-update devcluster/vagrant/test/$job >/dev/null 2>&1
-    aurora beta-update abort devcluster/vagrant/test/$job || true >/dev/null 2>&1
+    aurora update abort devcluster/vagrant/test/$job || true >/dev/null 2>&1
     aurora job killall --no-batching devcluster/vagrant/test/$job >/dev/null 2>&1
   done
 }
@@ -139,7 +139,7 @@ test_legacy_update() {
 assert_update_state() {
   local _jobkey=$1 _expected_state=$2
 
-  local _state=$(aurora beta-update status $_jobkey | grep 'Current status' | awk '{print
$NF}')
+  local _state=$(aurora update status $_jobkey | grep 'Current status' | awk '{print $NF}')
   if [ $_state != $_expected_state ]; then
     echo "Expected update to be in state $_expected_state, but found $_state"
     exit 1
@@ -151,7 +151,7 @@ await_update_finished() {
 
   local _matched=0
   for i in $(seq 1 120); do
-    if [ $(aurora beta-update status $_jobkey | grep 'Current status' | wc -l) -eq 0 ]; then
+    if [ $(aurora update status $_jobkey | grep 'Current status' | wc -l) -eq 0 ]; then
       _matched=1
       break
     else
@@ -168,19 +168,19 @@ await_update_finished() {
 test_update() {
   local _jobkey=$1 _config=$2 _cluster=$3
 
-  aurora beta-update start $_jobkey $_config
+  aurora update start $_jobkey $_config
   assert_update_state $_jobkey 'ROLLING_FORWARD'
   sudo restart aurora-scheduler
   assert_update_state $_jobkey 'ROLLING_FORWARD'
-  aurora beta-update pause $_jobkey --message='hello'
+  aurora update pause $_jobkey --message='hello'
   assert_update_state $_jobkey 'ROLL_FORWARD_PAUSED'
-  aurora beta-update resume $_jobkey
+  aurora update resume $_jobkey
   assert_update_state $_jobkey 'ROLLING_FORWARD'
 
   await_update_finished $_jobkey
 
   # Check that the update ended in ROLLED_FORWARD state.  Assumes the status is the last
column.
-  local status=$(aurora beta-update list --job $_jobkey $_cluster | grep -m 1 Status \
+  local status=$(aurora update list --job $_jobkey $_cluster | grep -m 1 Status \
       | awk '{print $NF}')
   if [ $status != "ROLLED_FORWARD" ]; then
     echo "Update should have completed in ROLLED_FORWARD state"


Mime
View raw message