airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [17/51] [partial] airavata-php-gateway git commit: removing files from wrong merge
Date Tue, 13 Dec 2016 22:14:41 GMT
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/aurora-client/src/main/resources/aurora-api.thrift
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/resources/aurora-api.thrift b/modules/cloud/aurora-client/src/main/resources/aurora-api.thrift
deleted file mode 100644
index d721f64..0000000
--- a/modules/cloud/aurora-client/src/main/resources/aurora-api.thrift
+++ /dev/null
@@ -1,1238 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-namespace java org.apache.airavata.cloud.aurora.client.sdk
-namespace py apache.airavata.cloud.aurora.client.sdk
-
-// Thrift interface definition for the aurora scheduler.
-
-/*
- * TODO(wfarner): It would be nice if we could put some HTML tags here, regex doesn't handle it though.
- * The result of an API operation.  A result may only be specified when this is OK.
- */
-enum ResponseCode {
-  INVALID_REQUEST = 0,
-  OK              = 1,
-  ERROR           = 2,
-  WARNING         = 3,
-  AUTH_FAILED     = 4,
-  /** Raised when a Lock-protected operation failed due to lock validation. */
-  LOCK_ERROR      = 5,
-  /** Raised when a scheduler is transiently unavailable and later retry is recommended. */
-  ERROR_TRANSIENT = 6
-}
-
-// Aurora executor framework name.
-const string AURORA_EXECUTOR_NAME = 'AuroraExecutor'
-
-// TODO(maxim): Remove in 0.7.0. (AURORA-749)
-struct Identity {
-  2: string user
-}
-
-/** A single host attribute. */
-struct Attribute {
-  1: string name
-  2: set<string> values
-}
-
-enum MaintenanceMode {
-  NONE      = 1,
-  SCHEDULED = 2,
-  DRAINING  = 3,
-  DRAINED   = 4
-}
-
-/** The attributes assigned to a host. */
-struct HostAttributes {
-  1: string          host
-  2: set<Attribute>  attributes
-  3: optional MaintenanceMode mode
-  4: optional string slaveId
-}
-
-/**
- * A constraint that specifies an explicit set of values, at least one of which must be present
- * on a host for a task to be scheduled there.
- */
-struct ValueConstraint {
-  /** If true, treat this as a 'not' - to avoid specific values. */
-  1: bool negated
-  2: set<string> values
-}
-
-/**
- * A constraint the specifies the maximum number of active tasks on a host with a matching
- * attribute that may be scheduled simultaneously.
- */
-struct LimitConstraint {
-  1: i32 limit
-}
-
-/** Types of constraints that may be applied to a task. */
-union TaskConstraint {
-  1: ValueConstraint value
-  2: LimitConstraint limit
-}
-
-/** A constraint that defines whether a task may be scheduled on a host. */
-struct Constraint {
-  /** Mesos slave attribute that the constraint is matched against. */
-  1: string name
-  2: TaskConstraint constraint
-}
-
-struct Package {
-  1: string role
-  2: string name
-  3: i32 version
-}
-
-/** Arbitrary key-value metadata to be included into TaskConfig. */
-struct Metadata {
-  1: string key
-  2: string value
-}
-
-/** A unique identifier for a Job. */
-struct JobKey {
-  /** User role (Unix service account), for example "mesos" */
-  1: string role
-  /** Environment, for example "devel" */
-  2: string environment
-  /** Name, for example "labrat" */
-  3: string name
-}
-
-/** A unique lock key. */
-union LockKey {
-  1: JobKey job
-}
-
-/** A generic lock struct to facilitate context specific resource/operation serialization. */
-struct Lock {
-  /** ID of the lock - unique per storage */
-  1: LockKey key
-  /** UUID - facilitating soft lock authorization */
-  2: string token
-  /** Lock creator */
-  3: string user
-  /** Lock creation timestamp in milliseconds */
-  4: i64 timestampMs
-  /** Optional message to record with the lock */
-  5: optional string message
-}
-
-/** A unique identifier for the active task within a job. */
-struct InstanceKey {
-  /** Key identifying the job. */
-  1: JobKey jobKey
-  /** Unique instance ID for the active task in a job. */
-  2: i32 instanceId
-}
-
-/** URI which mirrors CommandInfo.URI in the Mesos Protobuf */
-struct MesosFetcherURI {
-  /** Where to get the resource from */
-  1: string value
-  /** Extract compressed archive after downloading */
-  2: optional bool extract
-  /** Cache value using Mesos Fetcher caching mechanism **/
-  3: optional bool cache
-}
-
-struct ExecutorConfig {
-  /** Name identifying the Executor. */
-  1: string name
-  /** Executor configuration data. */
-  2: string data
-}
-
-/** The mode for a volume mount */
-enum Mode {
-  /** Read Write */
-  RW = 1
-  /** Read Only */
-  RO = 2
-}
-
-/** A volume mount point within a container */
-struct Volume {
-  /** The path inside the container where the mount will be created. */
-  1: string containerPath
-  /** The path on the host that will serve as the source for the mount. */
-  2: string hostPath
-  /** The access mode */
-  3: Mode mode
-}
-
-/** Describes an image for use with the Mesos unified containerizer in the Docker format */
-struct DockerImage {
-  /** The name of the image to run */
-  1: string name
-  /** The Docker tag identifying the image */
-  2: string tag
-}
-
-/** Describes an image for use with the Mesos unified containerizer in the AppC format */
-struct AppcImage {
-  /** The name of the image to run */
-  1: string name
-  /** The appc image id identifying the image */
-  2: string imageId
-}
-
-/** Describes an image to be used with the Mesos unified containerizer */
-union Image {
-  1: DockerImage docker
-  2: AppcImage appc
-}
-
-/** Describes a mesos container, this is the default */
-struct MesosContainer {
-  /** the optional filesystem image to use when launching this task. */
-  1: optional Image image
-}
-
-/** Describes a parameter passed to docker cli */
-struct DockerParameter {
-  /** a parameter to pass to docker. (e.g. volume) */
-  1: string name
-  /** the value to pass to a parameter (e.g. /src/webapp:/opt/webapp) */
-  2: string value
-}
-
-/** Describes a docker container */
-struct DockerContainer {
-  /** The container image to be run */
-  1: string image
-  /** The arbitrary parameters to pass to container */
-  2: optional list<DockerParameter> parameters
-}
-
-/** Describes a container to be used in a task */
-union Container {
-  1: MesosContainer mesos
-  2: DockerContainer docker
-}
-
-/** Describes resource value required to run a task. */
-union Resource {
-  1: double numCpus
-  2: i64 ramMb
-  3: i64 diskMb
-  4: string namedPort
-  5: i64 numGpus
-}
-
-/** Description of the tasks contained within a job. */
-struct TaskConfig {
- /** Job task belongs to. */
- 28: JobKey job
- // TODO(maxim): Deprecated. See AURORA-749.
- /** contains the role component of JobKey */
- 17: Identity owner
-  7: bool isService
-  // TODO(maxim): Deprecated. See AURORA-1707.
-  8: double numCpus
-  // TODO(maxim): Deprecated. See AURORA-1707.
-  9: i64 ramMb
-  // TODO(maxim): Deprecated. See AURORA-1707.
- 10: i64 diskMb
- 11: i32 priority
- 13: i32 maxTaskFailures
- // TODO(mnurolahzade): Deprecated. See AURORA-1708.
- /** Whether this is a production task, which can preempt. */
- 18: optional bool production
- /** Task tier type. */
- 30: optional string tier
- /** All resources required to run a task. */
- 32: set<Resource> resources
-
- 20: set<Constraint> constraints
- /** a list of named ports this task requests */
- 21: set<string> requestedPorts
- /** Resources to retrieve with Mesos Fetcher */
- 33: optional set<MesosFetcherURI> mesosFetcherUris
- /**
-  * Custom links to include when displaying this task on the scheduler dashboard. Keys are anchor
-  * text, values are URLs. Wildcards are supported for dynamic link crafting based on host, ports,
-  * instance, etc.
-  */
- 22: optional map<string, string> taskLinks
- 23: optional string contactEmail
- /** Executor configuration */
- 25: optional ExecutorConfig executorConfig
- /** Used to display additional details in the UI. */
- 27: optional set<Metadata> metadata
-
- // This field is deliberately placed at the end to work around a bug in the immutable wrapper
- // code generator.  See AURORA-1185 for details.
- /** the container the task should use to execute */
- 29: Container container = { "mesos": {} }
-}
-
-struct ResourceAggregate {
-  // TODO(maxim): Deprecated. See AURORA-1707.
-  /** Number of CPU cores allotted. */
-  1: double numCpus
-  // TODO(maxim): Deprecated. See AURORA-1707.
-  /** Megabytes of RAM allotted. */
-  2: i64 ramMb
-  // TODO(maxim): Deprecated. See AURORA-1707.
-  /** Megabytes of disk space allotted. */
-  3: i64 diskMb
-  /** Aggregated resource values. */
-  4: set<Resource> resources
-}
-
-/** Defines the policy for launching a new cron job when one is already running. */
-enum CronCollisionPolicy {
-  /** Kills the existing job with the colliding name, and runs the new cron job. */
-  KILL_EXISTING = 0,
-  /** Cancels execution of the new job, leaving the running job in tact. */
-  CANCEL_NEW    = 1,
-  /**
-   * DEPRECATED. For existing jobs, treated the same as CANCEL_NEW.
-   * createJob will reject jobs with this policy.
-   */
-  RUN_OVERLAP   = 2
-}
-
-/**
- * Description of an Aurora job. One task will be scheduled for each instance within the job.
- */
-struct JobConfiguration {
-  /**
-   * Key for this job. If not specified name, owner.role, and a reasonable default environment are
-   * used to construct it server-side.
-   */
-  9: JobKey key
-  // TODO(maxim): Deprecated. See AURORA-749.
-  /** Owner of this job. */
-  7: Identity owner
-  /**
-   * If present, the job will be handled as a cron job with this crontab-syntax schedule.
-   */
-  4: optional string cronSchedule
-  /** Collision policy to use when handling overlapping cron runs.  Default is KILL_EXISTING. */
-  5: CronCollisionPolicy cronCollisionPolicy
-  /** Task configuration for this job. */
-  6: TaskConfig taskConfig
-  /**
-   * The number of instances in the job. Generated instance IDs for tasks will be in the range
-   * [0, instances).
-   */
-  8: i32 instanceCount
-}
-
-struct JobStats {
-  /** Number of tasks in active state for this job. */
-  1: i32 activeTaskCount
-  /** Number of tasks in finished state for this job. */
-  2: i32 finishedTaskCount
-  /** Number of failed tasks for this job. */
-  3: i32 failedTaskCount
-  /** Number of tasks in pending state for this job. */
-  4: i32 pendingTaskCount
-}
-
-struct JobSummary {
-  1: JobConfiguration job
-  2: JobStats stats
-  /** Timestamp of next cron run in ms since epoch, for a cron job */
-  3: optional i64 nextCronRunMs
-}
-
-/** Closed range of integers. */
-struct Range {
-  1: i32 first
-  2: i32 last
-}
-
-struct ConfigGroup {
-  1: TaskConfig config
-  3: set<Range> instances
-}
-
-struct ConfigSummary {
-  1: JobKey key
-  2: set<ConfigGroup> groups
-}
-
-struct PopulateJobResult {
-  2: TaskConfig taskConfig
-}
-
-struct GetQuotaResult {
-  /** Total allocated resource quota. */
-  1: ResourceAggregate quota
-  /** Resources consumed by production jobs from a shared resource pool. */
-  2: optional ResourceAggregate prodSharedConsumption
-  /** Resources consumed by non-production jobs from a shared resource pool. */
-  3: optional ResourceAggregate nonProdSharedConsumption
-  /** Resources consumed by production jobs from a dedicated resource pool. */
-  4: optional ResourceAggregate prodDedicatedConsumption
-  /** Resources consumed by non-production jobs from a dedicated resource pool. */
-  5: optional ResourceAggregate nonProdDedicatedConsumption
-}
-
-/** States that a task may be in. */
-enum ScheduleStatus {
-  // TODO(maxim): This state does not add much value. Consider dropping it completely.
-  /* Initial state for a task.  A task will remain in this state until it has been persisted. */
-  INIT             = 11,
-  /** The task will be rescheduled, but is being throttled for restarting too frequently. */
-  THROTTLED        = 16,
-  /** Task is awaiting assignment to a slave. */
-  PENDING          = 0,
-  /** Task has been assigned to a slave. */
-  ASSIGNED         = 9,
-  /** Slave has acknowledged receipt of task and is bootstrapping the task. */
-  STARTING         = 1,
-  /** The task is running on the slave. */
-  RUNNING          = 2,
-  /** The task terminated with an exit code of zero. */
-  FINISHED         = 3,
-  /** The task is being preempted by another task. */
-  PREEMPTING       = 13,
-  /** The task is being restarted in response to a user request. */
-  RESTARTING       = 12,
-  /** The task is being restarted in response to a host maintenance request. */
-  DRAINING         = 17,
-  /** The task terminated with a non-zero exit code. */
-  FAILED           = 4,
-  /** Execution of the task was terminated by the system. */
-  KILLED           = 5,
-  /** The task is being forcibly killed. */
-  KILLING          = 6,
-  /** A fault in the task environment has caused the system to believe the task no longer exists.
-   * This can happen, for example, when a slave process disappears.
-   */
-  LOST             = 7
-}
-
-// States that a task may be in while still considered active.
-const set<ScheduleStatus> ACTIVE_STATES = [ScheduleStatus.ASSIGNED,
-                                           ScheduleStatus.DRAINING,
-                                           ScheduleStatus.KILLING,
-                                           ScheduleStatus.PENDING,
-                                           ScheduleStatus.PREEMPTING,
-                                           ScheduleStatus.RESTARTING
-                                           ScheduleStatus.RUNNING,
-                                           ScheduleStatus.STARTING,
-                                           ScheduleStatus.THROTTLED]
-
-// States that a task may be in while associated with a slave machine and non-terminal.
-const set<ScheduleStatus> SLAVE_ASSIGNED_STATES = [ScheduleStatus.ASSIGNED,
-                                                   ScheduleStatus.DRAINING,
-                                                   ScheduleStatus.KILLING,
-                                                   ScheduleStatus.PREEMPTING,
-                                                   ScheduleStatus.RESTARTING,
-                                                   ScheduleStatus.RUNNING,
-                                                   ScheduleStatus.STARTING]
-
-// States that a task may be in while in an active sandbox.
-const set<ScheduleStatus> LIVE_STATES = [ScheduleStatus.KILLING,
-                                         ScheduleStatus.PREEMPTING,
-                                         ScheduleStatus.RESTARTING,
-                                         ScheduleStatus.DRAINING,
-                                         ScheduleStatus.RUNNING]
-
-// States a completed task may be in.
-const set<ScheduleStatus> TERMINAL_STATES = [ScheduleStatus.FAILED,
-                                             ScheduleStatus.FINISHED,
-                                             ScheduleStatus.KILLED,
-                                             ScheduleStatus.LOST]
-
-// Regular expressions for matching valid identifiers for job path components. All expressions
-// below should accept and reject the same set of inputs.
-const string GOOD_IDENTIFIER_PATTERN = "^[\\w\\-\\.]+$"
-// JVM: Use with java.util.regex.Pattern#compile
-const string GOOD_IDENTIFIER_PATTERN_JVM = GOOD_IDENTIFIER_PATTERN
-// Python: Use with re.compile
-const string GOOD_IDENTIFIER_PATTERN_PYTHON = GOOD_IDENTIFIER_PATTERN
-
-/** Event marking a state transition within a task's lifecycle. */
-struct TaskEvent {
-  /** Epoch timestamp in milliseconds. */
-  1: i64 timestamp
-  /** New status of the task. */
-  2: ScheduleStatus status
-  /** Audit message that explains why a transition occurred. */
-  3: optional string message
-  /** Hostname of the scheduler machine that performed the event. */
-  4: optional string scheduler
-}
-
-/** A task assignment that is provided to an executor. */
-struct AssignedTask {
-  /** The mesos task ID for this task.  Guaranteed to be globally unique */
-  1: string taskId
-
-  /**
-   * The mesos slave ID that this task has been assigned to.
-   * This will not be populated for a PENDING task.
-   */
-  2: string slaveId
-
-  /**
-   * The name of the machine that this task has been assigned to.
-   * This will not be populated for a PENDING task.
-   */
-  3: string slaveHost
-
-  /** Information about how to run this task. */
-  4: TaskConfig task
-  /** Ports reserved on the machine while this task is running. */
-  5: map<string, i32> assignedPorts
-
-  /**
-   * The instance ID assigned to this task. Instance IDs must be unique and contiguous within a
-   * job, and will be in the range [0, N-1] (inclusive) for a job that has N instances.
-   */
-  6: i32 instanceId
-}
-
-/** A task that has been scheduled. */
-struct ScheduledTask {
-  /** The task that was scheduled. */
-  1: AssignedTask assignedTask
-  /** The current status of this task. */
-  2: ScheduleStatus status
-  /**
-   * The number of failures that this task has accumulated over the multi-generational history of
-   * this task.
-   */
-  3: i32 failureCount
-  /** State change history for this task. */
-  4: list<TaskEvent> taskEvents
-  /**
-   * The task ID of the previous generation of this task.  When a task is automatically rescheduled,
-   * a copy of the task is created and ancestor ID of the previous task's task ID.
-   */
-  5: string ancestorId
-}
-
-struct ScheduleStatusResult {
-  1: list<ScheduledTask> tasks
-}
-
-struct GetJobsResult {
-  1: set<JobConfiguration> configs
-}
-
-/**
- * Contains a set of restrictions on matching tasks where all restrictions must be met
- * (terms are AND'ed together).
- */
-struct TaskQuery {
-  14: string role
-  9: string environment
-  2: string jobName
-  4: set<string> taskIds
-  5: set<ScheduleStatus> statuses
-  7: set<i32> instanceIds
-  10: set<string> slaveHosts
-  11: set<JobKey> jobKeys
-  12: i32 offset
-  13: i32 limit
-}
-
-struct HostStatus {
-  1: string host
-  2: MaintenanceMode mode
-}
-
-struct RoleSummary {
-  1: string role
-  2: i32 jobCount
-  3: i32 cronJobCount
-}
-
-struct Hosts {
-  1: set<string> hostNames
-}
-
-struct PendingReason {
-  1: string taskId
-  2: string reason
-}
-
-/** States that a job update may be in. */
-enum JobUpdateStatus {
-  /** Update is in progress. */
-  ROLLING_FORWARD = 0,
-
-  /** Update has failed and is being rolled back. */
-  ROLLING_BACK = 1,
-
-  /** Update has been paused while in progress. */
-  ROLL_FORWARD_PAUSED = 2,
-
-  /** Update has been paused during rollback. */
-  ROLL_BACK_PAUSED = 3,
-
-  /** Update has completed successfully. */
-  ROLLED_FORWARD = 4,
-
-  /** Update has failed and rolled back. */
-  ROLLED_BACK = 5,
-
-  /** Update was aborted. */
-  ABORTED = 6,
-
-  /** Unknown error during update. */
-  ERROR = 7,
-
-  /**
-   * Update failed to complete.
-   * This can happen if failure thresholds are met while rolling forward, but rollback is disabled,
-   * or if failure thresholds are met when rolling back.
-   */
-  FAILED = 8,
-
-  /** Update has been blocked while in progress due to missing/expired pulse. */
-  ROLL_FORWARD_AWAITING_PULSE = 9,
-
-  /** Update has been blocked during rollback due to missing/expired pulse. */
-  ROLL_BACK_AWAITING_PULSE = 10
-}
-
-/** States the job update can be in while still considered active. */
-const set<JobUpdateStatus> ACTIVE_JOB_UPDATE_STATES = [JobUpdateStatus.ROLLING_FORWARD,
-                                                       JobUpdateStatus.ROLLING_BACK,
-                                                       JobUpdateStatus.ROLL_FORWARD_PAUSED,
-                                                       JobUpdateStatus.ROLL_BACK_PAUSED,
-                                                       JobUpdateStatus.ROLL_FORWARD_AWAITING_PULSE,
-                                                       JobUpdateStatus.ROLL_BACK_AWAITING_PULSE]
-
-/** Job update actions that can be applied to job instances. */
-enum JobUpdateAction {
-  /**
-   * An instance was moved to the target state successfully, and declared healthy if the desired
-   * state did not involve deleting the instance.
-   */
-  INSTANCE_UPDATED = 1,
-
-  /**
-   * An instance was rolled back because the job update did not succeed.  The instance was reverted
-   * to the original state prior to the job update, which means that the instance was removed if
-   * the update added instances to the job.
-   */
-  INSTANCE_ROLLED_BACK = 2,
-
-  /**
-   * An instance is being moved from the original state to the desired state.
-   */
-  INSTANCE_UPDATING = 3,
-
-  /**
-   * An instance is being moved from the desired state back to the original state, because the job
-   * update failed.
-   */
-  INSTANCE_ROLLING_BACK = 4,
-
-  /** An instance update was attempted but failed and was not rolled back. */
-  INSTANCE_UPDATE_FAILED = 5,
-
-  /** An instance rollback was attempted but failed. */
-  INSTANCE_ROLLBACK_FAILED = 6
-}
-
-/** Status of the coordinated update. Intended as a response to pulseJobUpdate RPC. */
-enum JobUpdatePulseStatus {
-  /**
-   *  Update is active. See ACTIVE_JOB_UPDATE_STATES for statuses considered active.
-   */
-  OK = 1,
-
-  /**
-   * Update has reached terminal state. See TERMINAL_JOB_UPDATE_STATES for statuses
-   * considered terminal.
-   */
-  FINISHED = 2
-}
-
-/** Job update key. */
-struct JobUpdateKey {
-  /** Job being updated */
-  1: JobKey job
-
-  /** Update ID. */
-  2: string id
-}
-
-/** Job update thresholds and limits. */
-struct JobUpdateSettings {
-  /** Max number of instances being updated at any given moment. */
-  1: i32 updateGroupSize
-
-  /** Max number of instance failures to tolerate before marking instance as FAILED. */
-  2: i32 maxPerInstanceFailures
-
-  /** Max number of FAILED instances to tolerate before terminating the update. */
-  3: i32 maxFailedInstances
-
-  /** Min time to watch a RUNNING instance. */
-  5: i32 minWaitInInstanceRunningMs
-
-  /** If true, enables failed update rollback. */
-  6: bool rollbackOnFailure
-
-  /** Instance IDs to act on. All instances will be affected if this is not set. */
-  7: set<Range> updateOnlyTheseInstances
-
-  /**
-   * If true, use updateGroupSize as strict batching boundaries, and avoid proceeding to another
-   * batch until the preceding batch finishes updating.
-   */
-  8: bool waitForBatchCompletion
-
- /**
-  * If set, requires external calls to pulseJobUpdate RPC within the specified rate for the
-  * update to make progress. If no pulses received within specified interval the update will
-  * block. A blocked update is unable to continue but retains its current status. It may only get
-  * unblocked by a fresh pulseJobUpdate call.
-  */
-  9: optional i32 blockIfNoPulsesAfterMs
-}
-
-/** Event marking a state transition in job update lifecycle. */
-struct JobUpdateEvent {
-  /** Update status. */
-  1: JobUpdateStatus status
-
-  /** Epoch timestamp in milliseconds. */
-  2: i64 timestampMs
-
-  /** User who performed this event (if user-initiated). */
-  3: optional string user
-
-  /**
-   * Message from the user (for user-initiated transitions) or the scheduler about why the state was
-   * changed.
-   */
-  4: optional string message
-}
-
-/** Event marking a state transition in job instance update lifecycle. */
-struct JobInstanceUpdateEvent {
-  /** Job instance ID. */
-  1: i32 instanceId
-
-  /** Epoch timestamp in milliseconds. */
-  2: i64 timestampMs
-
-  /** Job update action taken on the instance. */
-  3: JobUpdateAction action
-}
-
-/** Maps instance IDs to TaskConfigs it. */
-struct InstanceTaskConfig {
-  /** A TaskConfig associated with instances. */
-  1: TaskConfig task
-
-  /** Instances associated with the TaskConfig. */
-  2: set<Range> instances
-}
-
-/** Current job update state including status and created/modified timestamps. */
-struct JobUpdateState {
-  /** Current status of the update. */
-  1: JobUpdateStatus status
-
-  /** Created timestamp in milliseconds. */
-  2: i64 createdTimestampMs
-
-  /** Last modified timestamp in milliseconds. */
-  3: i64 lastModifiedTimestampMs
-}
-
-/** Summary of the job update including job key, user and current state. */
-struct JobUpdateSummary {
-  /** Unique identifier for the update. */
-  5: JobUpdateKey key
-
-  /** User initiated an update. */
-  3: string user
-
-  /** Current job update state. */
-  4: JobUpdateState state
-
-  /** Update metadata supplied by the client. */
-  6: optional set<Metadata> metadata
-}
-
-/** Update configuration and setting details. */
-struct JobUpdateInstructions {
-  /** Actual InstanceId -> TaskConfig mapping when the update was requested. */
-  1: set<InstanceTaskConfig> initialState
-
-  /** Desired configuration when the update completes. */
-  2: InstanceTaskConfig desiredState
-
-  /** Update specific settings. */
-  3: JobUpdateSettings settings
-}
-
-/** Full definition of the job update. */
-struct JobUpdate {
-  /** Update summary. */
-  1: JobUpdateSummary summary
-
-  /** Update configuration. */
-  2: JobUpdateInstructions instructions
-}
-
-struct JobUpdateDetails {
-  /** Update definition. */
-  1: JobUpdate update
-
-  /** History for this update. */
-  2: list<JobUpdateEvent> updateEvents
-
-  /** History for the individual instances updated. */
-  3: list<JobInstanceUpdateEvent> instanceEvents
-}
-
-/** A request to update the following instances of an existing job. Used by startUpdate. */
-struct JobUpdateRequest {
-  /** Desired TaskConfig to apply. */
-  1: TaskConfig taskConfig
-
-  /** Desired number of instances of the task config. */
-  2: i32 instanceCount
-
-  /** Update settings and limits. */
-  3: JobUpdateSettings settings
-
-  /** Update metadata supplied by the client issuing the JobUpdateRequest. */
-  4: optional set<Metadata> metadata
-}
-
-/**
- * Contains a set of restrictions on matching job updates where all restrictions must be met
- * (terms are AND'ed together).
- */
-struct JobUpdateQuery {
-  /** Job role. */
-  2: string role
-
-  /** Unique identifier for a job update. */
-  8: JobUpdateKey key
-
-  /** Job key. */
-  3: JobKey jobKey
-
-  /** User who created the update. */
-  4: string user
-
-  /** Set of update statuses. */
-  5: set<JobUpdateStatus> updateStatuses
-
-  /** Offset to serve data from. Used by pagination. */
-  6: i32 offset
-
-  /** Number or records to serve. Used by pagination. */
-  7: i32 limit
-}
-
-struct ListBackupsResult {
-  1: set<string> backups
-}
-
-struct StartMaintenanceResult {
-  1: set<HostStatus> statuses
-}
-
-struct DrainHostsResult {
-  1: set<HostStatus> statuses
-}
-
-struct QueryRecoveryResult {
-  1: set<ScheduledTask> tasks
-}
-
-struct MaintenanceStatusResult {
-  1: set<HostStatus> statuses
-}
-
-struct EndMaintenanceResult {
-  1: set<HostStatus> statuses
-}
-
-struct RoleSummaryResult {
-  1: set<RoleSummary> summaries
-}
-
-struct JobSummaryResult {
-  1: set<JobSummary> summaries
-}
-
-struct ConfigSummaryResult {
-  1: ConfigSummary summary
-}
-
-struct GetPendingReasonResult {
-  1: set<PendingReason> reasons
-}
-
-/** Result of the startUpdate call. */
-struct StartJobUpdateResult {
-  /** Unique identifier for the job update. */
-  1: JobUpdateKey key
-
-  /** Summary of the update that is in progress for the given JobKey. */
-  2: optional JobUpdateSummary updateSummary
-}
-
-/** Result of the getJobUpdateSummaries call. */
-struct GetJobUpdateSummariesResult {
-  1: list<JobUpdateSummary> updateSummaries
-}
-
-/** Result of the getJobUpdateDetails call. */
-struct GetJobUpdateDetailsResult {
-  // TODO(zmanji): Remove this once we complete AURORA-1765
-  1: JobUpdateDetails details
-  2: list<JobUpdateDetails> detailsList
-}
-
-/** Result of the pulseJobUpdate call. */
-struct PulseJobUpdateResult {
-  1: JobUpdatePulseStatus status
-}
-
-struct GetJobUpdateDiffResult {
-  /** Instance addition diff details. */
-  1: set<ConfigGroup> add
-
-  /** Instance removal diff details. */
-  2: set<ConfigGroup> remove
-
-  /** Instance update diff details. */
-  3: set<ConfigGroup> update
-
-  /** Instances unchanged by the update. */
-  4: set<ConfigGroup> unchanged
-}
-
-/** Tier information. */
-struct TierConfig {
-  /** Name of tier. */
-  1: string name
-  /** Tier attributes. */
-  2: map<string, string> settings
-}
-
-/** Result of the getTierConfigResult call. */
-struct GetTierConfigResult {
-  /** Name of the default tier. */
-  1: string defaultTierName
-  /** Set of tier configurations. */
-  2: set<TierConfig> tiers
-}
-
-/** Information about the scheduler. */
-struct ServerInfo {
-  1: string clusterName
-  /** A url prefix for job container stats. */
-  3: string statsUrlPrefix
-}
-
-union Result {
-  1: PopulateJobResult populateJobResult
-  3: ScheduleStatusResult scheduleStatusResult
-  4: GetJobsResult getJobsResult
-  5: GetQuotaResult getQuotaResult
-  6: ListBackupsResult listBackupsResult
-  7: StartMaintenanceResult startMaintenanceResult
-  8: DrainHostsResult drainHostsResult
-  9: QueryRecoveryResult queryRecoveryResult
-  10: MaintenanceStatusResult maintenanceStatusResult
-  11: EndMaintenanceResult endMaintenanceResult
-  17: RoleSummaryResult roleSummaryResult
-  18: JobSummaryResult jobSummaryResult
-  20: ConfigSummaryResult configSummaryResult
-  21: GetPendingReasonResult getPendingReasonResult
-  22: StartJobUpdateResult startJobUpdateResult
-  23: GetJobUpdateSummariesResult getJobUpdateSummariesResult
-  24: GetJobUpdateDetailsResult getJobUpdateDetailsResult
-  25: PulseJobUpdateResult pulseJobUpdateResult
-  26: GetJobUpdateDiffResult getJobUpdateDiffResult
-  27: GetTierConfigResult getTierConfigResult
-}
-
-struct ResponseDetail {
-  1: string message
-}
-
-struct Response {
-  1: ResponseCode responseCode
-  5: ServerInfo serverInfo
-  /** Payload from the invoked RPC. */
-  3: optional Result result
-  /**
-   * Messages from the server relevant to the request, such as warnings or use of deprecated
-   * features.
-   */
-  6: list<ResponseDetail> details
-}
-
-// A service that provides all the read only calls to the Aurora scheduler.
-service ReadOnlyScheduler {
-  /** Returns a summary of the jobs grouped by role. */
-  Response getRoleSummary()
-
-  /** Returns a summary of jobs, optionally only those owned by a specific role. */
-  Response getJobSummary(1: string role)
-
-  /** Fetches the status of tasks. */
-  Response getTasksStatus(1: TaskQuery query)
-
-  /**
-   * Same as getTaskStatus but without the TaskConfig.ExecutorConfig data set.
-   * This is an interim solution until we have a better way to query TaskConfigs (AURORA-541).
-   */
-  Response getTasksWithoutConfigs(1: TaskQuery query)
-
-  /** Returns user-friendly reasons (if available) for tasks retained in PENDING state. */
-  Response getPendingReason(1: TaskQuery query)
-
-  /** Fetches the configuration summary of active tasks for the specified job. */
-  Response getConfigSummary(1: JobKey job)
-
-  /**
-   * Fetches the status of jobs.
-   * ownerRole is optional, in which case all jobs are returned.
-   */
-  Response getJobs(1: string ownerRole)
-
-  /** Fetches the quota allocated for a user. */
-  Response getQuota(1: string ownerRole)
-
-  /**
-   * Populates fields in a job configuration as though it were about to be run.
-   * This can be used to diff a configuration running tasks.
-   */
-  Response populateJobConfig(1: JobConfiguration description)
-
-  /** Gets job update summaries. */
-  Response getJobUpdateSummaries(1: JobUpdateQuery jobUpdateQuery)
-
-  /** Gets job update details. */
-  // TODO(zmanji): `key` is deprecated, remove this with AURORA-1765
-  Response getJobUpdateDetails(1: JobUpdateKey key, 2: JobUpdateQuery query)
-
-  /** Gets the diff between client (desired) and server (current) job states. */
-  Response getJobUpdateDiff(1: JobUpdateRequest request)
-
-  /** Gets tier configurations. */
-  Response getTierConfigs()
-}
-
-service AuroraSchedulerManager extends ReadOnlyScheduler {
-  /**
-   * Creates a new job.  The request will be denied if a job with the provided name already exists
-   * in the cluster.
-   */
-  Response createJob(1: JobConfiguration description)
-
-  /**
-   * Enters a job into the cron schedule, without actually starting the job.
-   * If the job is already present in the schedule, this will update the schedule entry with the new
-   * configuration.
-   */
-  Response scheduleCronJob(1: JobConfiguration description)
-
-  /**
-   * Removes a job from the cron schedule. The request will be denied if the job was not previously
-   * scheduled with scheduleCronJob.
-   */
-  Response descheduleCronJob(4: JobKey job)
-
-  /**
-   * Starts a cron job immediately.  The request will be denied if the specified job does not
-   * exist for the role account, or the job is not a cron job.
-   */
-  Response startCronJob(4: JobKey job)
-
-  /** Restarts a batch of shards. */
-  Response restartShards(5: JobKey job, 3: set<i32> shardIds)
-
-  /** Initiates a kill on tasks. */
-  Response killTasks(4: JobKey job, 5: set<i32> instances)
-
-  /**
-   * Adds new instances with the TaskConfig of the existing instance pointed by the key.
-   */
-  Response addInstances(3: InstanceKey key, 4: i32 count)
-
-  // TODO(maxim): reevaluate if it's still needed when client updater is gone (AURORA-785).
-  /**
-   * Replaces the template (configuration) for the existing cron job.
-   * The cron job template (configuration) must exist for the call to succeed.
-   */
-  Response replaceCronTemplate(1: JobConfiguration config)
-
-  /** Starts update of the existing service job. */
-  Response startJobUpdate(
-      /** A description of how to change the job. */
-      1: JobUpdateRequest request,
-      /** A user-specified message to include with the induced job update state change. */
-      3: string message)
-
-  /**
-   * Pauses the specified job update. Can be resumed by resumeUpdate call.
-   */
-  Response pauseJobUpdate(
-      /** The update to pause. */
-      1: JobUpdateKey key,
-      /** A user-specified message to include with the induced job update state change. */
-      3: string message)
-
-  /** Resumes progress of a previously paused job update. */
-  Response resumeJobUpdate(
-      /** The update to resume. */
-      1: JobUpdateKey key,
-      /** A user-specified message to include with the induced job update state change. */
-      3: string message)
-
-  /** Permanently aborts the job update. Does not remove the update history. */
-  Response abortJobUpdate(
-      /** The update to abort. */
-      1: JobUpdateKey key,
-      /** A user-specified message to include with the induced job update state change. */
-      3: string message)
-
-  /**
-   * Rollbacks the specified active job update to the initial state.
-   */
-  Response rollbackJobUpdate(
-      /** The update to rollback. */
-      1: JobUpdateKey key,
-      /** A user-specified message to include with the induced job update state change. */
-      2: string message)
-
-  /**
-   * Allows progress of the job update in case blockIfNoPulsesAfterMs is specified in
-   * JobUpdateSettings. Unblocks progress if the update was previously blocked.
-   * Responds with ResponseCode.INVALID_REQUEST in case an unknown update key is specified.
-   */
-  Response pulseJobUpdate(1: JobUpdateKey key)
-}
-
-struct InstanceConfigRewrite {
-  /** Key for the task to rewrite. */
-  1: InstanceKey instanceKey
-  /** The original configuration. */
-  2: TaskConfig oldTask
-  /** The rewritten configuration. */
-  3: TaskConfig rewrittenTask
-}
-
-struct JobConfigRewrite {
-  /** The original job configuration. */
-  1: JobConfiguration oldJob
-  /** The rewritten job configuration. */
-  2: JobConfiguration rewrittenJob
-}
-
-union ConfigRewrite {
-  1: JobConfigRewrite jobRewrite
-  2: InstanceConfigRewrite instanceRewrite
-}
-
-struct RewriteConfigsRequest {
-  1: list<ConfigRewrite> rewriteCommands
-}
-
-struct ExplicitReconciliationSettings {
-  1: optional i32 batchSize
-}
-
-// It would be great to compose these services rather than extend, but that won't be possible until
-// https://issues.apache.org/jira/browse/THRIFT-66 is resolved.
-service AuroraAdmin extends AuroraSchedulerManager {
-  /** Assign quota to a user.  This will overwrite any pre-existing quota for the user. */
-  Response setQuota(1: string ownerRole, 2: ResourceAggregate quota)
-
-  /**
-   * Forces a task into a specific state.  This does not guarantee the task will enter the given
-   * state, as the task must still transition within the bounds of the state machine.  However,
-   * it attempts to enter that state via the state machine.
-   */
-  Response forceTaskState(
-      1: string taskId,
-      2: ScheduleStatus status)
-
-  /** Immediately writes a storage snapshot to disk. */
-  Response performBackup()
-
-  /** Lists backups that are available for recovery. */
-  Response listBackups()
-
-  /** Loads a backup to an in-memory storage.  This must precede all other recovery operations. */
-  Response stageRecovery(1: string backupId)
-
-  /** Queries for tasks in a staged recovery. */
-  Response queryRecovery(1: TaskQuery query)
-
-  /** Deletes tasks from a staged recovery. */
-  Response deleteRecoveryTasks(1: TaskQuery query)
-
-  /** Commits a staged recovery, completely replacing the previous storage state. */
-  Response commitRecovery()
-
-  /** Unloads (aborts) a staged recovery. */
-  Response unloadRecovery()
-
-  /** Put the given hosts into maintenance mode. */
-  Response startMaintenance(1: Hosts hosts)
-
-  /** Ask scheduler to begin moving tasks scheduled on given hosts. */
-  Response drainHosts(1: Hosts hosts)
-
-  /** Retrieve the current maintenance states for a group of hosts. */
-  Response maintenanceStatus(1: Hosts hosts)
-
-  /** Set the given hosts back into serving mode. */
-  Response endMaintenance(1: Hosts hosts)
-
-  /** Start a storage snapshot and block until it completes. */
-  Response snapshot()
-
-  /**
-   * Forcibly rewrites the stored definition of user configurations.  This is intended to be used
-   * in a controlled setting, primarily to migrate pieces of configurations that are opaque to the
-   * scheduler (e.g. executorConfig).
-   * The scheduler may do some validation of the rewritten configurations, but it is important
-   * that the caller take care to provide valid input and alter only necessary fields.
-   */
-  Response rewriteConfigs(1: RewriteConfigsRequest request)
-
-  /** Tell scheduler to trigger an explicit task reconciliation with the given settings. */
-  Response triggerExplicitTaskReconciliation(1: ExplicitReconciliationSettings settings)
-
-  /** Tell scheduler to trigger an implicit task reconciliation. */
-  Response triggerImplicitTaskReconciliation()
-}
-
-// The name of the header that should be sent to bypass leader redirection in the Scheduler.
-const string BYPASS_LEADER_REDIRECT_HEADER_NAME = 'Bypass-Leader-Redirect'
-
-// The path under which a task's filesystem should be mounted when using images and the Mesos
-// unified containerizer.
-const string TASK_FILESYSTEM_MOUNT_POINT = 'taskfs'

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties b/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
deleted file mode 100644
index 8011de9..0000000
--- a/modules/cloud/aurora-client/src/main/resources/aurora-scheduler.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-#Aurora scheduler properties
-
-aurora.scheduler.hosts=sgg-mesos-master-1,sgg-mesos-master-2,sgg-mesos-master-3
-
-aurora.scheduler.port=8081
-
-aurora.scheduler.timeoutms=1000
-
-aurora.executor.name=AuroraExecutor
-
-mesos.cluster.name=example
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/aurora-client/src/main/resources/executor-config-template.json
----------------------------------------------------------------------
diff --git a/modules/cloud/aurora-client/src/main/resources/executor-config-template.json b/modules/cloud/aurora-client/src/main/resources/executor-config-template.json
deleted file mode 100644
index 21f2c32..0000000
--- a/modules/cloud/aurora-client/src/main/resources/executor-config-template.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-	"environment": "{{environment}}",
-	"health_check_config": {
-		"initial_interval_secs": 15.0,
-		"health_checker": {
-			"http": {
-				"expected_response_code": 0,
-				"endpoint": "/health",
-				"expected_response": "ok"
-			}
-		},
-		"interval_secs": 10.0,
-		"timeout_secs": 1.0,
-		"max_consecutive_failures": 0
-	},
-	"name": "{{job_name}}",
-	"service": false,
-	"max_task_failures": 1,
-	"cron_collision_policy": "KILL_EXISTING",
-	"enable_hooks": false,
-	"cluster": "{{cluster}}",
-	"task": {
-		"processes": [],
-		"name": "{{task_name}}",
-		"finalization_wait": 30,
-		"max_failures": 1,
-		"max_concurrency": 0,
-		"resources": {
-			"gpu": 0,
-			"disk": 0,
-			"ram": 0,
-			"cpu": 0.0
-		},
-		"constraints": [{
-			"order": []
-		}]
-	},
-	"production": false,
-	"role": "{{role}}",
-	"lifecycle": {
-		"http": {
-			"graceful_shutdown_endpoint": "/quitquitquit",
-			"port": "health",
-			"shutdown_endpoint": "/abortabortabort"
-		}
-	},
-	"priority": 0
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/README
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/README b/modules/cloud/cloud-provisioning/README
deleted file mode 100644
index 0e16d0b..0000000
--- a/modules/cloud/cloud-provisioning/README
+++ /dev/null
@@ -1,13 +0,0 @@
-This is the initial project created as an interface to various clouds.
-Currently supporting, Openstack on Jetstream using Openstack4j.
-
-To Test Run:-
-1) Replace the credentials in src/main/resources/jetstream_openrc.properties with the Jetstream credentials.
-2) Update the publicKeyFile, jetstream_imageId, jetstream_flavorId to the local path in src/test/resources/test_data.properties. This are the parameters used by the unit tests.
-3) Run JUnit Test org.apache.airavata.cloud.test.CloudIntfTest.
-
-## NETWORK CREATION STEPS
-1. Create a network.
-2. Create a subnet for the network.
-3. Create a router attached to public network. 
-4. Create an interface between router and the subnet.

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/pom.xml
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/pom.xml b/modules/cloud/cloud-provisioning/pom.xml
deleted file mode 100644
index 7981a10..0000000
--- a/modules/cloud/cloud-provisioning/pom.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<!--
-
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.apache.airavata</groupId>
-		<artifactId>airavata-cloud</artifactId>
-		<version>0.17-SNAPSHOT</version>
-		<relativePath>../pom.xml</relativePath>
-	</parent>
-
-	<artifactId>cloud-provisioning</artifactId>
-	<packaging>jar</packaging>
-	<name>Airavata Cloud Provisioning</name>
-	<url>http://airavata.apache.org/</url>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.pacesys</groupId>
-			<artifactId>openstack4j</artifactId>
-			<version>2.0.9</version>
-			<classifier>withdeps</classifier>
-		</dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>4.12</version>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<version>1.7.21</version>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-simple</artifactId>
-			<version>1.7.21</version>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<directory>target</directory>
-		<outputDirectory>target/classes</outputDirectory>
-		<finalName>${project.artifactId}-${project.version}</finalName>
-		<testOutputDirectory>target/test-classes</testOutputDirectory>
-		<sourceDirectory>src/main/java</sourceDirectory>
-		<testSourceDirectory>src/test/java</testSourceDirectory>
-		<resources>
-			<resource>
-				<directory>src/main/resources</directory>
-			</resource>
-		</resources>
-		<testResources>
-			<testResource>
-				<directory>src/test/resources</directory>
-			</testResource>
-		</testResources>
-		<plugins>
-			<plugin>
-				<groupId>com.mycila</groupId>
-				<artifactId>license-maven-plugin</artifactId>
-				<configuration>
-					<header>../../../apache-license-header.txt</header>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-</project>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/intf/CloudInterface.java
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/intf/CloudInterface.java b/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/intf/CloudInterface.java
deleted file mode 100644
index b60d358..0000000
--- a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/intf/CloudInterface.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.cloud.intf;
-
-/**
- * The Interface CloudInterface.
- */
-public interface CloudInterface {
-
-	/**
-	 * Method to create Server.
-	 *
-	 * @param serverName the server name
-	 * @param imageId the image id
-	 * @param flavorId the flavor id
-	 * @param keyPairName the key pair name
-	 * @return Server object.
-	 */
-	public Object createServer(String serverName, String imageId, String flavorId, String keyPairName);
-
-	/**
-	 * Returns the Server object pertaining to the serverId.
-	 *
-	 * @param serverId the server id
-	 * @return the server
-	 */
-	public Object getServer(String serverId);
-
-	/**
-	 * Method to delete Server.
-	 *
-	 * @param serverId the server id
-	 */
-	public void deleteServer(String serverId);
-
-	/**
-	 * Creates a public key pair on the cloud.
-	 *
-	 * @param keyPairName the key pair name
-	 * @param publicKey the public key
-	 * @return the keypair
-	 */
-	public Object createKeyPair(String keyPairName, String publicKey);
-
-	/**
-	 * Returns the keypair object associated to the keyPairName.
-	 *
-	 * @param keyPairName the key pair name
-	 * @return the key pair
-	 */
-	public Object getKeyPair(String keyPairName);
-
-	/**
-	 * Deletes a public key pair on the cloud.
-	 *
-	 * @param keyPairName the key pair name
-	 */
-	public void deleteKeyPair(String keyPairName);
-
-	/**
-	 * Associates a floating ip to the instance indicated by serverId.
-	 *
-	 * @param serverId the server id
-	 */
-	public void addFloatingIP(String serverId);
-
-	/**
-	 * Creates the router.
-	 *
-	 * @param routerName the router name
-	 * @param externalGatewayName the external gateway name
-	 * @return the object
-	 */
-	public Object createRouter(String routerName, String externalGatewayName);
-
-	/**
-	 * Creates the subnet.
-	 *
-	 * @param subnetName the subnet name
-	 * @param networkName the network name
-	 * @param subnetCIDR the subnet cidr
-	 * @param ipVersion the ip version
-	 * @return the object
-	 */
-	public Object createSubnet(String subnetName, String networkName, String subnetCIDR, int ipVersion);
-
-	/**
-	 * Creates the network.
-	 *
-	 * @param networkName the network name
-	 * @return the object
-	 */
-	public Object createNetwork(String networkName);
-
-	/**
-	 * Creates the router subnet interface.
-	 *
-	 * @param routerName the router name
-	 * @param subnetName the subnet name
-	 * @return the object
-	 */
-	public Object createRouterSubnetInterface(String routerName, String subnetName);
-
-	/**
-	 * Delete router subnet interface.
-	 *
-	 * @param routerName the router name
-	 * @param subnetName the subnet name
-	 */
-	public void deleteRouterSubnetInterface(String routerName, String subnetName);
-
-	/**
-	 * Delete subnet.
-	 *
-	 * @param subnetName the subnet name
-	 */
-	public void deleteSubnet(String subnetName);
-
-	/**
-	 * Delete router.
-	 *
-	 * @param routerName the router name
-	 */
-	public void deleteRouter(String routerName);
-
-	/**
-	 * Delete network.
-	 *
-	 * @param networkName the network name
-	 */
-	public void deleteNetwork(String networkName);
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/intf/impl/OpenstackIntfImpl.java
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/intf/impl/OpenstackIntfImpl.java b/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/intf/impl/OpenstackIntfImpl.java
deleted file mode 100644
index 0ef251e..0000000
--- a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/intf/impl/OpenstackIntfImpl.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.cloud.intf.impl;
-
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.airavata.cloud.intf.CloudInterface;
-import org.apache.airavata.cloud.openstack.OS4JClientProvider;
-import org.apache.airavata.cloud.util.Constants;
-import org.apache.airavata.cloud.util.IPType;
-import org.apache.airavata.cloud.util.OpenstackIntfUtil;
-import org.openstack4j.api.Builders;
-import org.openstack4j.api.OSClient;
-import org.openstack4j.model.compute.ActionResponse;
-import org.openstack4j.model.compute.Address;
-import org.openstack4j.model.compute.FloatingIP;
-import org.openstack4j.model.compute.Keypair;
-import org.openstack4j.model.compute.Server;
-import org.openstack4j.model.compute.ServerCreate;
-import org.openstack4j.model.network.AttachInterfaceType;
-import org.openstack4j.model.network.IPVersionType;
-import org.openstack4j.model.network.Network;
-import org.openstack4j.model.network.Router;
-import org.openstack4j.model.network.RouterInterface;
-import org.openstack4j.model.network.Subnet;
-import org.openstack4j.openstack.compute.domain.NovaAddresses.NovaAddress;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OpenstackIntfImpl implements CloudInterface {
-
-	/** The properties. */
-	private String propertiesFile;
-	private Properties properties;
-
-	// Initializing Logger
-	private Logger logger = LoggerFactory.getLogger(OpenstackIntfImpl.class);
-
-	OSClient os = null;
-
-	/**
-	 * Default Constructor
-	 * Initializing the properties.
-	 */
-	public OpenstackIntfImpl(String propFile) {
-		try {
-
-			this.propertiesFile = propFile;
-			InputStream inputStream = getClass().getClassLoader()
-					.getResourceAsStream(propertiesFile);
-
-			if(inputStream != null) {
-				properties = new Properties();
-				properties.load(inputStream);
-			}
-			else {
-				throw new FileNotFoundException("property file: " + propertiesFile + " not found!");
-			}
-
-			// Initialize the OSClient.
-			os = OS4JClientProvider.getOSClient(properties);
-		}
-		catch(Exception ex) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-		}
-	}
-
-	@Override
-	public Server createServer(String serverName, String imageId, String flavorId, String keyPairName) {
-		try {
-
-			Server newServer = null;
-			String networkId = null;
-
-			// Adhering to openstack format of subnet names 'subnet-<name>'.
-			String networkName = "subnet-" + properties.getProperty(Constants.OS_NETWORK_NAME);
-
-			for( Subnet net : os.networking().subnet().list() ) {
-				if(net.getName().equals(networkName)) {
-					networkId = net.getNetworkId();
-					logger.info("Using network " + networkName + " with ID: " + networkId);
-					break;
-				}
-			}
-
-			if(networkId != null) {
-
-				List<String> srvNet = new LinkedList<String>();
-				srvNet.add(networkId);
-
-				ServerCreate sc = Builders.server()
-						.name(serverName)
-						.flavor(flavorId)
-						.image(imageId)
-						.networks(srvNet)
-						.keypairName(keyPairName)
-						.build();
-
-				//Boot the Server
-				newServer = os.compute().servers().boot(sc);
-
-				logger.info("New server created with ID: " + newServer.getId());
-
-			}
-			else {
-				logger.error("Network with name " + networkName + " not found.");
-			}
-			return newServer;
-		}
-		catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to create server.");
-			return null;
-		}
-	}
-
-	@Override
-	public Server getServer(String serverId) {
-		try {
-
-			Server server = os.compute().servers().get(serverId);
-
-			logger.info("Server retrieved successfully for ID: " + serverId);
-
-			return server;
-		}
-		catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to retrieve server for ID: " + serverId);
-			return null;
-		}
-	}
-
-	@Override
-	public void deleteServer(String serverId) {
-		try {
-
-			Server server = this.getServer(serverId);
-
-			// Get Floating IP if there is one associated.
-			String floatingIpAddr = null;
-			for(Address novaAddress : server.getAddresses().getAddresses().get(properties.getProperty(Constants.OS_NETWORK_NAME))) {
-				novaAddress = (NovaAddress) novaAddress;
-				if(novaAddress.getType().equals(IPType.FLOATING.toString())) {
-					floatingIpAddr = novaAddress.getAddr();
-					break;
-				}
-			}
-
-			if(server != null) {
-				os.compute().servers().delete(serverId);
-
-				// Deallocating Floating IP.
-				if(floatingIpAddr != null) {
-					for(FloatingIP floatIp : os.compute().floatingIps().list()) {
-						if(floatIp.getFloatingIpAddress().equals(floatingIpAddr)) {
-							os.compute().floatingIps().deallocateIP(floatIp.getId());
-						}
-					}
-				}
-
-				logger.info("Server deleted successfully for ID: " + serverId);
-			}
-
-		}
-		catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to delete server with ID: " + serverId);
-		}
-	}
-
-	@Override
-	public Keypair createKeyPair(String keyPairName, String publicKey) {
-		try {
-
-			Keypair keyp = os.compute().keypairs().create(keyPairName, publicKey);
-
-			logger.info("Keypair created successfully: " + keyp.getName());
-
-			return keyp;
-		}
-		catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to create keypair: " + keyPairName);
-			return null;
-		}
-	}
-
-	@Override
-	public Keypair getKeyPair(String keyPairName) {
-		try {
-
-			Keypair keyp = os.compute().keypairs().get(keyPairName);
-
-			if(keyp != null){
-				logger.info("Keypair retrieved successfully: " + keyp.getName());				
-			}
-
-			return keyp;
-		}
-		catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to retrieve keypair: " + keyPairName);
-			return null;
-		}
-	}
-
-	@Override
-	public void deleteKeyPair(String keyPairName) {
-		try {
-
-			os.compute().keypairs().delete(keyPairName);
-
-			logger.info("Keypair deleted successfully: " + keyPairName);
-		}
-		catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to delete keypair: " + keyPairName);
-		}
-	}
-
-	@Override
-	public void addFloatingIP(String serverId) {
-
-		try {
-			Server server = this.getServer(serverId);
-
-			// Floating IP to allocate.
-			FloatingIP floatIp = null;
-
-			if(server != null) {
-				List<? extends FloatingIP> floatIPList = os.compute().floatingIps().list();
-
-				// Iterate through the floating ips from the pool present if any.
-				if(floatIPList.size() > 0) {
-					for(FloatingIP ip : floatIPList) {
-						logger.info("Checking if floating ip : " + ip.getFloatingIpAddress() + " is free to use.");
-						Boolean isFloatingIpUsed = OpenstackIntfUtil.isFloatingIPUsed(ip);
-						if( isFloatingIpUsed != null && !isFloatingIpUsed ) {
-							floatIp = ip;
-							logger.info("Floating ip " + ip.getFloatingIpAddress() + " found to be free.");
-							break;
-						}
-					}
-				}
-				// If all floating IPs are used, or there are no free floating ips, create new one.
-				if(floatIp == null){
-					floatIp = os.compute().floatingIps().allocateIP(properties.getProperty(Constants.OS_FLOATING_IP_POOL));
-					logger.info("Created new floating ip " + floatIp.getFloatingIpAddress());
-				}
-
-				if(floatIp != null) {
-					String ipAddr = floatIp.getFloatingIpAddress();
-
-					if(ipAddr != null) {
-						ActionResponse response = os.compute().floatingIps().addFloatingIP(server, ipAddr);
-						logger.info(response.isSuccess() + ":" + response.getCode() + ":" + response.getFault() + ":" + response.toString());
-
-						if(response.isSuccess()) {
-							logger.info("Floating IP "+ ipAddr + " assigned successfully to server with ID: " + serverId);
-						}
-						else {
-							logger.error("Failed to associate Floating IP.");
-						}
-					}
-				}
-
-			}
-		}
-		catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to associate floating IP to server with ID: " + serverId);
-		}
-	}
-
-	@Override
-	public Object createNetwork(String networkName) {
-		Network network = null;
-		try {
-			network = os.networking().network().create(Builders.network()
-					.name(networkName)
-					.adminStateUp(true)
-					.build());
-			logger.info("Created a new network : " + network);
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to create network: " + networkName + ". Exception: " + ex.getMessage(), ex);
-		}
-		return network;
-	}
-
-	@Override
-	public Object createRouter(String routerName, String externalGatewayName) {
-		String publicNetId = null;
-		Router router = null;
-		try {
-			for(Network net : os.networking().network().list()) {
-				if(net.getName().equals(externalGatewayName)) {
-					publicNetId = net.getId();
-				}
-			}
-			if(publicNetId != null) {
-				router = os.networking().router().create(Builders.router()
-						.name(routerName)
-						.adminStateUp(true)
-						.externalGateway(publicNetId)
-						.build());
-				logger.info("Created a new router " + router + " for external gateway : [" + externalGatewayName + "]");
-			} else {
-				logger.error("Failed to create router because external gateway [ " + externalGatewayName + "] is not found!");
-			}	
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to create network: " + routerName + ". Exception: " + ex.getMessage(), ex);
-		}
-		return router;
-	}
-
-	@Override
-	public Object createSubnet(String subnetName, String networkName, String subnetCIDR, int ipVersion) {
-		String networkId = null;
-		Subnet subnet = null;
-		try {
-			// get network id
-			for(Network network : os.networking().network().list()) {
-				if(network.getName().equals(networkName)) {
-					networkId = network.getId();
-				}
-			}
-
-			if(networkId != null) {
-				subnet = os.networking().subnet().create(Builders.subnet()
-						.enableDHCP(true)
-						.name(subnetName)
-						.networkId(networkId)
-						.ipVersion(IPVersionType.valueOf(ipVersion))
-						.cidr(subnetCIDR)
-						.build());
-				logger.info("Created a subnet : " + subnetName + " for network [ " + networkName + "]");
-			} else {
-				logger.error("Failed to create subnet because network [ " + networkName + "] is not found!");
-			}
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to create subnet: " + subnetName + ". Exception: " + ex.getMessage(), ex);
-		}
-		return subnet;
-	}
-
-	@Override
-	public Object createRouterSubnetInterface(String routerName, String subnetName) {
-		String subnetId = null, routerId = null;
-		RouterInterface iface = null;
-		try {
-			// get subnetid from name
-			for(Subnet subnet : os.networking().subnet().list()) {
-				if(subnet.getName().equals(subnetName)) {
-					subnetId = subnet.getId();
-				}
-			}
-
-			// get routerid from name
-			for(Router router : os.networking().router().list()) {
-				if(router.getName().equals(routerName)) {
-					routerId = router.getId();
-				}
-			}
-
-			if(routerId != null && subnetId != null) {
-				// attach external interface to gateway
-				iface = os.networking().router()
-						.attachInterface(routerId, AttachInterfaceType.SUBNET, subnetId);
-				logger.info("Attached external interface to router : " + iface);
-			} else {
-				logger.error("Either router or network is not found. Kindly re-check and try again.");
-			}
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to create subnet-router interface. Exception: " + ex.getMessage(), ex);
-		}
-		return iface;
-	}
-
-	@Override
-	public void deleteRouterSubnetInterface(String routerName, String subnetName) {
-		String routerId = null, subnetId = null;
-		try {
-			// get subnet id
-			for(Subnet subnet : os.networking().subnet().list()) {
-				if(subnet.getName().equals(subnetName)) {
-					subnetId = subnet.getId();
-				}
-			}
-			// get router id
-			for(Router router : os.networking().router().list()) {
-				if(router.getName().equals(routerName)) {
-					routerId = router.getId();
-				}
-			}
-			// detach the interface
-			if(routerId != null && subnetId != null) {
-				os.networking().router().detachInterface(routerId, subnetId, null);
-			} else {
-				logger.error("Failed to delete router subnet interface. Either router/subnet not found.");
-			}
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to delete subnet: " + subnetName + ". Exception: " + ex.getMessage(), ex);
-		}
-	}
-
-	@Override
-	public void deleteSubnet(String subnetName) {
-		try {
-			for(Subnet subnet : os.networking().subnet().list()) {
-				if(subnet.getName().equals(subnetName)) {
-					os.networking().subnet().delete(subnet.getId());
-					logger.info("Deleted Subnet [" + subnet.getName() + "] Successfully.");
-				}
-			}
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to delete subnet: " + subnetName + ". Exception: " + ex.getMessage(), ex);
-		}
-
-	}
-
-	@Override
-	public void deleteRouter(String routerName) {
-		try {
-			for(Router router : os.networking().router().list()) {
-				if(router.getName().equals(routerName)) {
-					os.networking().router().delete(router.getId());
-					logger.info("Deleted Router [" + router.getName() + "] Successfully.");
-				}
-			}
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to delete router: " + routerName + ". Exception: " + ex.getMessage(), ex);
-		}
-
-	}
-
-	@Override
-	public void deleteNetwork(String networkName) {
-		try {
-			for(Network network : os.networking().network().list()) {
-				if(network.getName().equals(networkName)) {
-					os.networking().network().delete(network.getId());
-					logger.info("Deleted Network [" + network.getName() + "] Successfully.");
-				}
-			}
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to delete network: " + networkName + ". Exception: " + ex.getMessage(), ex);
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/openstack/OS4JClientProvider.java
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/openstack/OS4JClientProvider.java b/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/openstack/OS4JClientProvider.java
deleted file mode 100644
index 32729d1..0000000
--- a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/openstack/OS4JClientProvider.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.cloud.openstack;
-
-import java.util.Properties;
-
-import org.apache.airavata.cloud.util.Constants;
-import org.openstack4j.api.OSClient;
-import org.openstack4j.model.common.Identifier;
-import org.openstack4j.openstack.OSFactory;
-
-public class OS4JClientProvider {
-
-	private static OSClient os = null;
-	private static Integer apiVersion = null;
-
-
-	public static OSClient getOSClient(Properties properties) {
-
-		try {
-			String endPoint = properties.getProperty(Constants.OS_AUTH_URL);
-			String userName = properties.getProperty(Constants.OS_USERNAME);
-			String password = properties.getProperty(Constants.OS_PASSWORD);
-			String domain = properties.getProperty(Constants.OS_USER_DOMAIN_NAME);
-			String apiVersion = properties.getProperty(Constants.OS_IDENTITY_API_VERSION);
-
-			// Initialize client for api version 3.
-			if( apiVersion.equals("3") ) {
-				String project = properties.getProperty(Constants.OS_PROJECT_DOMAIN_NAME);
-				getOSClientV3(endPoint, userName, password, domain, project);
-			}
-			// Initialize client for api version 2.
-			else if( apiVersion.equals("2") ) {
-				getOSClientV2(endPoint, userName, password, domain);
-			}
-			else {
-				throw new Exception("Non- supported Openstack API version " + properties.getProperty("OS_IDENTITY_API_VERSION"));
-			}
-		}
-		catch(Exception ex) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-		}
-		return os;
-	}
-
-	/**
-	 * Function that authenticates to openstack using v3 APIs.
-	 * @param endPoint
-	 * @param userName
-	 * @param password
-	 * @param domain
-	 * @param project
-	 * @return OSClient object that can be used for other OpenStack operations.
-	 */
-	public static void getOSClientV3(String endPoint, String userName, String password,
-			String domain, String project) {
-
-		if(os == null || apiVersion == null ||apiVersion != 3 || ! os.getEndpoint().equals(endPoint)) {
-
-			Identifier domainIdentifier = Identifier.byName(domain);
-			Identifier projectIdentifier = Identifier.byName(project);
-			os = OSFactory.builderV3()
-					.scopeToProject(projectIdentifier, domainIdentifier)
-					.endpoint(endPoint)
-					.credentials(userName, password, domainIdentifier)
-					.authenticate();
-
-			apiVersion = 3;
-		}
-	}
-
-	/**
-	 * Function that authenticates to openstack using v2 APIs.
-	 * @param endPoint
-	 * @param userName
-	 * @param password
-	 * @param domain
-	 * @param project
-	 * @return OSClient object that can be used for other Openstack operations.
-	 */
-	public static void getOSClientV2(String endPoint, String userName, String password,
-			String domain) {
-
-		if(os == null || apiVersion == null ||apiVersion != 2 || ! os.getEndpoint().equals(endPoint)) {
-
-			Identifier domainIdentifier = Identifier.byName(domain);
-			//Identifier projectIdentifier = Identifier.byName(project);
-			os = OSFactory.builderV3()
-					//.scopeToProject(projectIdentifier, domainIdentifier)
-					.endpoint(endPoint)
-					.credentials(userName, password, domainIdentifier)
-					.authenticate();
-
-			apiVersion = 2;
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/CloudRef.java
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/CloudRef.java b/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/CloudRef.java
deleted file mode 100644
index d015849..0000000
--- a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/CloudRef.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.cloud.util;
-
-public enum CloudRef {
-
-	JETSTREAM("jetstream"),
-	AMAZON("amazon"),
-	COMET("comet");
-
-	String cloudType;
-
-	private CloudRef(String type) {
-		this.cloudType = type;
-	}
-
-	@Override
-	public String toString() {
-		return this.cloudType;
-	}
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/Constants.java
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/Constants.java b/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/Constants.java
deleted file mode 100644
index d319eb0..0000000
--- a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/Constants.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.cloud.util;
-
-/**
- * The Class Constants.
- */
-public class Constants {
-
-	/** The Constant OS_AUTH_URL. */
-	// OpenStack openrc string constants.
-	public static final String OS_AUTH_URL = "OS_AUTH_URL";
-
-	/** The Constant OS_IDENTITY_API_VERSION. */
-	public static final String OS_IDENTITY_API_VERSION = "OS_IDENTITY_API_VERSION";
-
-	/** The Constant OS_USERNAME. */
-	public static final String OS_USERNAME = "OS_USERNAME";
-
-	/** The Constant OS_PASSWORD. */
-	public static final String OS_PASSWORD = "OS_PASSWORD";
-
-	/** The Constant OS_USER_DOMAIN_NAME. */
-	public static final String OS_USER_DOMAIN_NAME = "OS_USER_DOMAIN_NAME";
-
-	/** The Constant OS_PROJECT_DOMAIN_NAME. */
-	public static final String OS_PROJECT_DOMAIN_NAME = "OS_PROJECT_DOMAIN_NAME";
-
-	/** The Constant OS_FLOATING_IP_POOL. */
-	public static final String OS_FLOATING_IP_POOL = "OS_FLOATING_IP_POOL";
-
-	/** The Constant OS_NETWORK_NAME. */
-	public static final String OS_NETWORK_NAME = "OS_NETWORK_NAME";
-
-	/** The Constant OS_IP_VERSION_DEFAULT. */
-	public static final Integer OS_IP_VERSION_DEFAULT = 4;
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/IPType.java
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/IPType.java b/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/IPType.java
deleted file mode 100644
index 0fa90fa..0000000
--- a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/IPType.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.cloud.util;
-
-public enum IPType {
-
-	FLOATING("floating"),
-	STATIC("static");
-
-	String ipType;
-
-	private IPType(String type) {
-		this.ipType = type;
-	}
-
-	@Override
-	public String toString() {
-		return this.ipType;
-	}
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/OpenstackIntfUtil.java
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/OpenstackIntfUtil.java b/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/OpenstackIntfUtil.java
deleted file mode 100644
index c740563..0000000
--- a/modules/cloud/cloud-provisioning/src/main/java/org/apache/airavata/cloud/util/OpenstackIntfUtil.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.cloud.util;
-
-import org.openstack4j.model.compute.FloatingIP;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OpenstackIntfUtil {
-
-	// Initializing Logger
-	private static Logger logger = LoggerFactory.getLogger(OpenstackIntfUtil.class);
-
-	public static Boolean isFloatingIPUsed(FloatingIP floatIp) {
-
-		try {
-
-			Boolean isUsed = floatIp.getInstanceId() != null;
-
-			return isUsed;
-
-		} catch( Exception ex ) {
-			ex.printStackTrace();
-			// TODO: Check with the team on how to handle exceptions.
-			logger.error("Failed to check if the Floating IP " + floatIp.getFloatingIpAddress() + "is used.");
-			return null;
-		}
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/488b772f/modules/cloud/cloud-provisioning/src/main/resources/jetstream_openrc.properties
----------------------------------------------------------------------
diff --git a/modules/cloud/cloud-provisioning/src/main/resources/jetstream_openrc.properties b/modules/cloud/cloud-provisioning/src/main/resources/jetstream_openrc.properties
deleted file mode 100644
index 2147350..0000000
--- a/modules/cloud/cloud-provisioning/src/main/resources/jetstream_openrc.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-# Authentication properties
-OS_PROJECT_DOMAIN_NAME=scigap
-OS_USER_DOMAIN_NAME=tacc
-OS_PROJECT_NAME=scigap
-OS_TENANT_NAME=scigap
-OS_USERNAME=scigap
-OS_PASSWORD=xxxxxxxx
-OS_AUTH_URL=https://jblb.jetstream-cloud.org:35357/v3
-OS_IDENTITY_API_VERSION=3
-
-# Network Properties
-OS_FLOATING_IP_POOL=public
-OS_NETWORK_NAME=airavata


Mime
View raw message