-
-
Save lanej/5768093 to your computer and use it in GitHub Desktop.
- Feature: As Smithy Client, I want to present a provider support matrix
- Chore: As Cluster Cookbooks, I want to support MySQL
- Feature: As AWSM, I want to implement connectors
- Feature: As Smithy, I want to expose instance access information
- Feature: As Smithy, I want to present a provider's supported capabilities
- Feature: As Smithy, I want to authorize images between providers
- Feature: As a Customer, I want to use Backup to logically dump a MySQL cluster
- Feature: As AWSM, I want a Azure location balancer
- Feature: As AWSM, I want to make the Instance and Cluster location reference provider-agnostic
- Feature: As AWSM, I want to implement the Dracul API in a provider-agnostic way
- Feature: As Smithy Client, I want to authorize images between providers
- Feature: As AWSM, I want to use Smithy to authorize images
- Feature: As AWSM, I want to generate DNA v1 with connectors
- Feature: As Core, I want to expose Application deploy keys.
- Feature: As Core, I want to document slot components.
- Feature: As Core, I want to document cluster updates.
- Feature: As Core, I want to support SSH Keys.
- Feature: As Core, I want to document SSH Keys.
- Feature: As Core, I want to document Backups.
- Feature: As Core, I want to document Component actions.
- Feature: As Core, I want to document SSH Keys.
- Feature: As Core, I want to document Requests.
- Feature: As AWSM, I want to boot an Azure server
- Feature: As Core, I want provider creation to be an asynchronous request
- Feature: As Smithy, I want present a list of possible locations per provider type
- Feature: As AWSM, I want to boot multiple Azure servers in a cluster
- Feature: As Cluster Cookbooks, I want to use the latest backup gem to in the backup recipe
- [Backlog] Feature: As AWSM, I want to model Azure location subscriptions
- [Backlog] Feature: As Cluster Cookbooks, I want to initialize a db from a backup id
- Feature: As Smithy, I want to provision a AWS location, so that Cloud doesn't need to
- Feature: As a developer, I want to asynchronous request documentation, so I can easily integrate with Core
- Feature: As a developer, I want Azure provider creation documentation, so that I can easily integrate with Core
- Feature: As a developer, I should be prevent from creating concurrent cluster updates, so that I do not get really weird results
- Feature: As a developer, I want to invoke the deploy action on a cluster component, so that I can deploy my application to a cluster
- Feature: As a developer, I want to cancel a cluster update, so that I am not blocked creating another cluster update.
- Feature: As a developer, I want to cluster update cancellation documented, so that I can easily integrate with Core
- Feature: As Cluster Cookbooks, I want to download a backup from Core, so that I can logically create a database replica
- Feature: As a developer, I want schedule documentation, so that I can view my backup schedules via Core
- Feature: As Dredd, I want to back up my existing mysql cluster
- Bug: Fix mysql backup command for cluster cookbooks
- Feature: As a developer, I want component action documentation, so that I can easily integrate with Core
- Feature: As Lapis, I want to register an image, so that a copied blob can be used to boot a server
- Feature: As Smithy, I want register a copied blob in Azure as an image during authorization, so that I can boot a server with it.
- Bug: Assigning Certificate to ELB: Undefined Method Id
- Bug: Add clarification text to the Create New SSL Certificate page
- Feature: As a developer, I want tasks documentation, so I can easily integrate with Core
- Feature: As a Developer, I want environment creation documentation, so that I can easily integrate with Core.
- Feature: As a Developer, I want to destroy a server via Core.
- Feature: As a Developer, I want to server destroy documentation, so that I can easily integrate with Core
- Feature: As Smithy, I want to add request ID to outbound headers and instrumentation, so that I can easily debug API integration issues
- Feature: As Lapis, I want to use Faraday as my connection library, so that I can use middleware to protect my API interactions
- Feature: As a Developer, I want to fetch all logs for a server via Core, so that I can easily diagnose failures.
- Feature: As Cloud, I would like to disable provisioning, so that I can prevent customers from creating issues during critical situations.
- Feature: As a Developer, I want to associate a keypair with an environment via Core, so that I can have SSH access when my clusters provision and configure.
- [Backlog] Feature: As Smithy Client, I want present a list of possible locations for a given provider, so that Cloud can know when to provision
- [Backlog] Feature: As Cloud, I want to expose logs associated with cluster updates, so I can show what actions a cluster update performed.
- [Backlog] Feature: As a Developer, I want more robust slot provisioning behavior, so that I can easily diagnose issues
- [Backlog] Feature: As a Developer, I want to configure the HAProxy facet with an SSL certificate, so that I can server load balancer-terminated SSL traffic.
- [Backlog] Feature: As Cloud, I want my provider's credentials to be validate upon creation, so that I can tell the consumer immediately if there are errors.
- [Backlog] Feature: As AWSM, I want to use Smithy to create location subscriptions, so that I can have AWS specific code removed
- [Backlog] Feature: As Smithy, I want present a list of supported locations per provider, so that Cloud can stop using Fog
- [Backlog] Feature: As AWSM, I want to generate DNA v1 using Awsm::Connector
- [Backlog] Feature: As AWSM, I want to backfill each implict dracul logs to explicit Awsm::Log, so that I can remove implicit dependencies on variable fields
- [Backlog] Feature: As AWSM, I want to remove dracul, so that I can live a clean and iterable life.
- [Backlog] Feature: As Dredd, I want to store metadata for each build, so that I can show what I did and cleanup after.
- Feature: As a Developer, I want to list environments by project via Core [ azure-integration ]
- Feature: As Cloud, I want to record ApplicationDeployments when the application component's deploy action is called. [ azure-integration ]
- Feature: As Lapis, I want to reboot a Azure server, so that I can return the server to a known good state [ azure-integration, support ]
- Feature: As Smithy, I want to reboot Azure servers [ azure-integration, support ]
- Feature: As Smithy, I want to reboot AWS servers [ azure-integration, support ]
- Feature: As Smithy Client, I want to server reboot support [ azure-integration, support ]
- Feature: As Cloud, I want to reboot instances using Smithy. [ azure-integration, support ]
- Feature: As a Developer, I want list ApplicationDeployments via Core, so that I can see record of application deploys. [ azure-integration ]
- Feature: As Cloud, I want my application deploy key to be an actual keypair, so that I can sensibly present it as a resource via Core [ azure-integration ]
- Feature: As Cloud, I want connectors documentation, so I can easily integrate with Core. [ azure-integration ]
- Feature: As a Developer, I want to see a message when a cluster update fails to activate all slot components, so that I can easily diagnose the issue. [ azure-integration ]
- Feature: As Cluster Cookbooks, I want to install the Percona distribution of MySQL, so that I hitch customer's wagons to the right train. [ azure-integration ]
- Feature: As Cloud, I want to expose logs associated with cluster updates, so I can show what actions a cluster update performed. [ azure-integration ]
- Feature: As Cloud, I want to allow staff users to update location subscription resource limits via Core, so that old ronin can be replaced [ support ]
- Feature: As Cloud, I want to allow staff users to update location subscription resource limits via Core, so that old ronin can be replaced [ azure-integration, support ]
- Feature: As a Developer, I want Azure server provisioning error handling tested, so that I can make less scary changes in the future [ azure-integration, smithy ]
- Feature: As a Developer, I want Azure server deprovisioning error handling tested, so that I can make less scary changes in the future [ azure-integration, smithy ]
- Bug: Fix AWS VPC-enabled load balancer firewall authorization
- Feature: As a Developer, I want Cloud to handle dependent cluster updates correctly in mocked mode, so that integrating systems can have appropriate results
- Feature: As a Developer, I want to use Core client to access my application deployment records [ azure-integration ]
- Feature: As a Developer, I want to test and release application deployments via Core. [ azure-integration ]
- Feature: As a Developer, I want Azure hosted service provisioning error handling tested, so that I can make less scary changes in the future [ azure-integration, smithy ]
- Feature: As a Developer, I want Azure hosted service deprovisioning error handling tested, so that I can make less scary changes in the future [ azure-integration, smithy ]
- Feature: As a Developer, I want to see a message when a cluster update fails to activate all slot components, so that I can easily diagnose the issue. [ azure-integration ]
- Feature: As Cloud, I want to expose logs associated with cluster updates, so I can show what actions a cluster update performed. [ azure-integration ]
- Bug: Fix check/dump revision for AWSM
- Feature: As a Developer, I want to see connectors associated with a cluster component, so that I can easily see connected cluster components [ azure-integration ]
- Feature: As AWSM, I want to generate DNA v1 using Awsm::Connector [ azure-integration ]
- Feature: As Cloud, I want my provider's credentials to be validated upon creation, so that I can tell the consumer immediately if there are errors. [ azure-integration ]
- Feature: As a Developer, I want tasks documentation, so I can easily integrate with Core [ azure-integration ]
- Bug: Fix AWS VPC-enabled load balancer firewall authorization
- Feature: As AWSM, I want to backfill each implict dracul logs to explicit Awsm::Log, so that I can remove implicit dependencies on variable fields [ azure-cleanup ]
- Feature: As AWSM, I want to remove dracul, so that I can live a clean and iterable life. [ azure-cleanup ]
- Feature: As Cloud, I want to display attached address information on the instances dashboard, so that I can see all application servers with addresses attached
- Feature: As Cloud, I want to support OAuth 2 protocol, so that I can securely grant access to external applications
- Feature: As Fog, I need my Ecloud API version bumped to something that isn't deprecated.
- Feature: As Fog, I want to have my ELB source group set to a default_elb upon creation when mocking, so I can correctly authorize future firewalls.
- Feature: As Smithy, I want to authorize the ELB's source security group appropriately, so I can shed the hard-coded 'amazon-elb-sg' dependency
- Feature: As a Customer, I want to use Riak 1.4 in Cloud.
- Feature: As a DBA, I want database promotion to mark the old database master as read-only, so that data loss is prevented during replica promotion
- Feature: As a Developer, I want more robust slot provisioning behavior, so that I can easily diagnose issues [ azure-integration ]
- Feature: As a Developer, I want tasks documentation, so I can easily integrate with Core [ azure-integration ]
- Feature: As a Developer, I want to see a message when a cluster update fails to activate all slot components, so that I can easily diagnose the issue. [ azure-integration ]
- Bug: [55017802] CORE-11 PIOPS volumes not provisioned as requested on environment boot
- Bug: [54929354] CORE-9 Ronin assign-address not sticking after takeover.
- Bug: [54929342] CORE-10 IP mismatch between dashboard and AWS
- Bug: [54929386] CORE-8 Slow to Deprovision IP Addresses
- Feature: [54628904] As a DBA, I want database promotion to mark the old database master as read-only, so that data loss is prevented during replica promotion
- Feature: [55016334] As Cloud, I want a provision firewall operation, so that I can improve traceability and consistency of the system
- Feature: [55026122] As Cloud, I want to model cluster firewalls many-to-many relationships, so that I can correctly model legacy environments [ clusters-migration ]
- Feature: [53815287] As a Developer, I want to see a message when a cluster update fails to activate all slot components, so that I can easily diagnose the issue.
- Chore: [55017894] As Cloud, I want to remove all Dracul-based logs from S3, so that I can leave a live and iterable life
- Feature: [54929166] As Cloud, I want to split a legacy environment into its corresponding clusters, connectors and components, so that I can begin thinking about an all-cluster universe. [ clusters-migration ]
- Feature: [54929070] As Cloud, I want to enforce requester be set on every operation, so that I can increase the accountability and traceability of consumer interactions [ azure-cleanup ]
- Feature: [55024744] As Cloud, I want a de-provision firewall operation, so that I can improve the traceability and consistency of the system
- Chore: [55415264] As a developer, I want to go kill stale resque workers in Cloud and Smithy.
- Feature: [55675020] As a Customer, I should not be allowed to migrate my environment to clusters unless it has finished booting, so that I don't get wicked weird results [ clusters-migration ]
- Feature: [55414356] As a Developer, I want to run the cluster firewall migration, so that I can correctly represent legacy environments as clusters.
- Feature: [53411935] As Cloud, I want to expose logs associated with cluster updates, so I can show what actions a cluster update performed. [ bad-estimate ]
- Feature: [55662926] As a Customer, I want to deploy my application on a cluster migrated from a legacy environment, so that I can upgrade to the latest and greatest [ clusters-migration ]
- Feature: [55652096] As Cloud, I want to migrate environments with multiple app deployments to clusters [ clusters-migration ]
- Chore: [55416928] As Cloud, I want the environment database version locked by default.
- Feature: [55016694] As a Developer, I want to provision a firewall via the Core API. [ core ]
- Feature: [55016782] As a Developer, I want to provision a firewall rule via the Core API [ core ]
- Feature: [52246983] As a Developer, I want more robust slot provisioning behavior, so that I can easily diagnose issues
- Feature: [56291762] As a Customer, I should not see the minor database version checkbox on the environments edit screen unless the stack version can use it.
- Feature: [55851460] As a Customer, when I migrate from a legacy environment to clusters, I should have firewall relationships preserved, so that I don't lose connectivity between clusters. [ clusters-migration ]
- Feature: [56291388] As Cloud, I want to migrate implicit custom cookbook files to explicit custom cookbook records, so that I can correctly migrate environments to clusters. [ clusters-migration ]
- Feature: [55825908] As Cloud, I want to manage custom cookbooks on an environment level without Dracul, so that I can correctly represent environments as clusters. [ clusters-migration ]
- Feature: [55652096] As Cloud, I want to migrate environments with multiple app deployments to clusters [ clusters-migration ]
- Feature: [56292216] As Cloud, I want to use SSO as my OAuth authentication service, so that I can give customers an SSO session. [ core ]
- Feature: [56304442] As a Developer, I want to see my application deployment's logs, so that I can easily diagnose issues [ core ]
- Feature: [56293106] As a Developer, I want documentation for creating accounts, so that I can easily integrate for the Core API. [ core ]
- Feature: [56291388] As Cloud, I want to migrate implicit custom cookbook files to explicit custom cookbook records, so that I can correctly migrate environments to clusters. [ clusters-migration ]
- Feature: [56304442] As a Developer, I want to see my application deployment's logs via Core, so that I can easily diagnose issues [ core ]
- Feature: [55653194] As Cloud, I want to nullify legacy environment attributes when migrating to clusters, so that I do not rely on them in the future [ clusters-migration ]
- Feature: [55825908] As Cloud, I want to manage custom cookbooks on an environment level without Dracul, so that I can correctly represent environments as clusters. [ clusters-migration ]
- Feature: [56639902] As Cloud, I want to provision hosted service endpoint operations, so that I can improve traceability and consistency of the system. [ core ]
- Feature: [56639696] As Cloud, I want a provision hosted service operations, so that I can improve traceability and consistency of the system [ core ]
- Feature: [56637570] As Cloud, I want volume attach requests, so that I can track a volume's history. [ core ]
- Feature: [56637876] As Cloud, I want to correctly determine the server a snapshot was taken from, so that I can present correct records to the customer
- Bug: [56638650] CORE-16 Slave snapshots presented for DB master
- Bug: [56638584] CORE-17 Chain certificate not saved for ProviderSslCertificates
- Feature: [56722106] As a Developer, I want to provision a hosted service endpoint via the Core API [ core ]
- Feature: [56722058] As a Developer, I want to provision a hosted service via the Core API [ core ]
- Feature: [56722150] As a Developer, I want to deprovision a hosted service via the Core API [ core ]
- Feature: [56722180] As a Developer, I want to deprovision a hosted service endpoint via the Core API [ core ]
- Feature: [57057016] As a Developer, I want Smithy to add provision request id to an server's tags at server creation, so that I can easily trace the source of the instance
- Feature: [55652306] As Cloud, I want cluster migrations to preserve the started_at, finished_at, and success of deployments so that I don't lose history after migrating [ clusters-migration ]
- Feature: [56293478] As a Developer, I want to delete slots from my cluster via Core, so I can reduce cluster size [ core ]
- Bug: [57082312] RAFT-38 Replication doesn't start when booted with environment from existing snapshots
- Bug: [57082272] RAFT-37 ELB not attaching instances on env rebuild
- Bug: [57082378] RAFT-36 Better Error Message For When Users Are out Of IP Addresses And Try to Boot A New Cluster
- Chore: [57082450] Rackspace-Openstack Deep Dive
- Feature: [57082562] As a Customer, I want to see an instance's availability zone on the instances dashboard
- Feature: [57084446] As a Developer, I want to use Zion to diagnose a failed cluster update. [ core ]
- Feature: [57082708] As a Developer, I want to use developer.engineyard.com to view coherent documentation [ core ]
Feature: [57838528] As a Developer, I want Dredd to verify MySQL replicas are created correctly [ dredd ]
Feature: [57690800] As cluster cookbooks, I want the ey_mysql recipe follow chef best practices for attributes [ cluster-cookbooks ]
Feature: [58372388] As Cloud, I want to support Rackspace clusters
- Create a Rackspace cluster w/ servers
- Cluster cookbooks not required
- Create flavors, locations and provider_locations
- Confirm SSH access
- Signup for an account
- Create an environment
- UI defaults to stable-v4
- Defaults remain unchanged
- Create MySQL and application cluster
- Deploy application
- Backup MySQL
- GET /application-deployments should succeed
- application deployments core spec should test all authorizations with shared spec pattern
- Move data cleanup of instance de-provisioning
- Probably should be it's own operation
- Log#destroy failure should be handled
- 404's ignored
- 500's raise
- Sweeper for failed data cleanup jobs
Feature: [58274640] As a Developer, I want to Dredd to run the azure blueprint when production deploys [ dredd ]
- Deploy the todo app
- Use todo app API to write data to the database
- Backup the database
- Download backup and assert presence of data
Feature: [57261336] As a Developer, I do not want deleted resources in my collection responses by default, so I am presented with the most relevant information. [ core ]
All index actions in the core api should filter by deleted_at if applicable.
Show actions should continue to show resources despite there deletion status.
Chore: [58277632] As a developer, I'd like to have a list of checks needed for mysql monitoring
Bug: [58821536] As cluster cookbooks, I'd like ey_mysql specs to pass
Feature: [57838528] As a Developer, I want Dredd to verify MySQL replicas are created correctly [ dredd ]
Chore: [58819086] As a Developer, I want a cluster product specification for PostgreSQL
Chore: [58903524] PostgreSQL cluster cookbooks spike
Feature: [57261374] As Core, I no longer want to give unrestricted access to consumers, so that consumers are forced to address the API on behalf of an authorized user. [ core ]
- External consumers can do nothing
- Internal consumers can create accounts and nothing else
- Refactor all core resource specs to use authorization internal consumer, external consumer, staff, and customer pattern.
Chore: [58836318] Smithy needs the latest fog, but request signing is failing
Feature: [58658994] As a Developer, I want to generate Core's documentation one file at a time, so that I do not have to run the entire suite. [ awsm, core ]
- run rspec command with one file and the api formatter
- results should be appended to the index or modified in place
Feature: [58588232] As a Developer, I want to use Core to get all applications deployed to an environment. [ core ]
GET /environments/:id/applications - Need this endpoint for listing all applications that belong to a given environment. At the moment, we need to query for the current environment, all clusters on the environment, all components on each cluster, and then the corresponding application if there is one.
- Create several clusters with different applications deployed to them
- /environments/:environment/applications should list all applications within the environment's cluster's application components
Feature: [57261336] As a Developer, I do not want deleted resources in my collection responses by default, so I am presented with the most relevant information. [ core ]
- assert all index actions in the core api should filter by deleted_at if applicable.
- assert actions should continue to show resources despite there deletion status.
Feature: [58818188] As Developer, I want to have tests for ey_dba recipe, so that I can verify that the necessary tools get installed
- Create cookbooks tests of the ey_dba recipe
Feature: [58588398] As a Developer, I want to see all keypair related to an environment, so I can see who and what has SSH access. [ core ]
GET /environments/:id/keypairs - Need this to list only keypairs in the given environment
- create several environments and several keypairs
- non uniformly create keypair deployments
- assert that only the environment's keypairs are returned
Feature: [58588740] As a Developer, I want to see Core logs from a Javascript client, so that the UI can display log content in line. [ core ]
Proxy to log file contents from s3 - If an app has access to our api, it should be able to retrieve log contents. The fact that we store the logs on s3 is an implementation detail on our end, not something a consumer needs to care about. This becomes especially important with client-side apps since we can’t make an ajax request directly to s3 without our domain specifically enabled via CORS on s3, which shouldn’t be a requirement of any consumer that already has access to our api.
- Migration to setup the correct CORS policy on all file buckets. see https://github.com/engineyard/awsm/blob/master/app/models/awsm/application_archive.rb#L67
- Assert that all logs, backups and application archives have the correct CORS policy created.
Feature: [59259618] As a Developer, I want to have an authorization test matrix of Provider SSL Certificates, Projects, and Provider Locations so that I can prove that authorization works correctly. [ core ]
Feature: [58822054] As a Developer, I want to migrate Behaviors to ClusterComponentActions and remove them from the object tree, so that I can have a more understandable data model. [ core ]
https://gist.github.com/lanej/0e2b70e7dc121557912c
- migrate all Behavior models to ClusterComponentAction
- remove all Behavior references
Feature: [59246530] As a Developer, I want to create an authorized channel on Jack via jack-client, so that I can have secure communication with customers. [ jack ]
- Channel API described here https://github.com/engineyard/jack/blob/master/README.md#create-a-channel
- Successfully create an channel (Mock and Real)
Feature: [58591144] As a Developer, I want to register an environment to have its ephemeral information dumped, so that I can easily capture and diagnose failures. [ dredd ]
- register an environment during a scenario
- after the scenario finishes, download logs, backups and all server's DNA to the local file system
- create an archive of the downloaded file and upload to a registered S3 bucket
- link the build to a specific archive
- teardown the build
- assert that the uploaded archive can still be accessed after teardown
Feature: [58591460] As a Developer, I want Dredd to run a suite against a specific staging cloud via the API, so that I can easily judge my changes. [ dredd ]
- POST /api/suites?environment=buckman runs the default suite against buckman
- Test for all staging clouds (mission, edge, buckman, temple, staging)
- Verify correct configuration for staging clouds (core.yml)
- Verify Dredd SSH key is installed and named appropriately on all staging clouds
Feature: [58592974] As a Developer, I want to specify a slot to receive an IP address via Core when provisioned, so that I can have a consistent way of addressing my application. [ core ]
- Create a cluster
- Create multiple slots
- Specify a slot to receive a specific IP address
- Run a cluster update
- Assert an IP address is attached to server within the specified slot
Feature: [59677008] As Smithy, I want to support dedicated instances on AWS, so that I can support HIPAA compliance [ raft-60 ]
see https://tickets.engineyard.com/issue/RAFT-60
Feature: [59677358] As Smithy Client, I want to support booting dedicated instances on AWS, so that I can support HIPAA compliance. [ raft-60 ]
see https://tickets.engineyard.com/issue/RAFT-60
Feature: [59677560] As a Customer, I want to choose to boot my AWS servers on dedicated hardware, so that I can be HIPAA compliant. [ raft-60 ]
- add dedicated flag to AWS flavor matrix (similar to volume optimized)
- Tasha has the list of instances to support
- Feature flag it ("dedicated_instances")
- verify on staging and production
Feature: [59678544] As a Developer, I want to have an authorization test matrix of Providers so that I can prove that authorization works correctly.
see #59259618
- consumers have no access
- users has access to only directly associated providers
- staff has access to all
- use established pattern
Feature: [59678646] As a Developer, I want to have an authorization test matrix of SSL Certificates, so that I can prove that authorization works correctly.
see #59259618
- consumers have no access
- users has access to only directly associated providers
- staff has access to all
- use established pattern
Feature: [59678856] As a Developer, I want an authorization test matrix of Cluster Components, so that I can prove that authorization works correctly.
see #59259618
- consumers have no access
- users has access to only directly associated providers
- staff has access to all
- use established pattern
Feature: [59997592] As Dredd, I want the mysql replication scenario to pass and be published.
- https://github.com/engineyard/awsm/blob/master/app/models/account.rb#L626
- Suggested fix: collapse
publish_noticeandadd_noticeand give a consistent return value
Feature: [60011218] As a Customer, I want additional protection when terminating servers, so that my service is more secure. [ awsm ]
RAFT-63 Add password protection as an option when terminating instances
- Feature flagged
- Environment attribute and checkbox "Enable termination protection"
- Environment attribute can only be changed by an owner (viewed by all)
- Require re-authorization (ask for password again) when stopping the effected environment or terminating a server within that environment
- Re-authorization lasts for 5 minutes before expiration. After 5 minutes, the re-authorization dialog should be displayed again when taking a relevant action.
- Re-authorization screen contains just a password checkbox. Similar to GitHub SSH key addition dialog
Feature: [60010120] As a Customer, I want basic process monitoring for MySQL, so that I can be alerted of a problem
Feature: [60010048] As a Customer, I want MySQL server logging, so that I can easily debug server issues
Chore: [59678010] RAFT-66 As a Customer, I want to restrict the access of a collaborator to a specific set of environments [ spike ]
- Feature flag
- A collaborator gets access to no environments by default.
- A collaborator has access to all other account resources (SSL Certificates, Providers, etc.)
- Access to an environment means full control over all contained resources (deploying, terminating, etc.)
Feature: [60011068] As a Developer, I want to have an authorization test matrix of Firewalls so that I can prove that authorization works correctly.
see #59259618
- consumers have no access
- users has access to only directly associated firewalls
- staff has access to all
- use established pattern
Feature: [60011130] As a Developer, I want to have an authorization test matrix of Keypairs so that I can prove that authorization works correctly.
see #59259618
- consumers have no access
- users has access to only directly associated keypairs
- staff has access to all
- use established pattern
- fix application keypairs search
Feature: [60011138] As a Developer, I want to have an authorization test matrix of Environments so that I can prove that authorization works correctly.
see #59259618
- consumers have no access
- users has access to only directly associated environments
- staff has access to all
- use established pattern
Feature: [60013030] RAFT-64 As an Owner, I want to manage collaborator's keypair deployments, so that I can have more control over my environments.
- Give owner's the ability to manage collaborator's keypair deployments to the owner's account's environments only
- Assert collaborator's can manage their keypair deployments only
Acceptance
- Simulate 5xx errors in the AWS code
- If something is provisioned, retry until successful response
- If something is not provisioned, error out
Feature: [60210964] As a Developer, I want MySQL cluster cookbooks to be rebased off of the latest Opscode cookbooks.
cookbooks break due to percona refactors on opscode's side on version. Last known good version is mysql (3.0.2)
Investigate impersonation view partial
Bug: [60527710] As a Customer, I want to change an environment's stack label and database type when the environment is stopped, so I can correctly update my database
- https://tickets.engineyard.com/issue/RAFT-77 Disable Stack Dropdown Even When There are No Instances
- Enable database selector when their are no instances within the environment
- Expand help card to explain that changing database stacks AND referencing snapshots may cause issues
Feature: [60525458] As a Customer, I want to grant access to a restricted set of environments to collaborators, so that I can protect my production environments.
- https://tickets.engineyard.com/issue/RAFT-66
- https://tickets.engineyard.com/issue/Discuss-384
- https://github.com/engineyard/awsm/tree/RAFT-66
- Given existing environments
- Enable feature flag
- Invite user to collaborate
- Choose specific environment to authorize collaborator to
- Login as collaborator, see only authorized environments
- Can create new environments and have access to them
- Cannot assign keypairs to unauthorized environments
- Cannot deploy to unauthorized environments
Feature: [60010666] As a Customer, I want to provision a MySQL cluster with replicas in one cluster update, so that I don't need to know special API procedures for specific software installations
Consider supporting ":latest" as facet backup source and translating correctly in DNA
- Create cluster with multiple slots
- Add MySQL cluster component
- Run cluster update
- MySQL replication is stared successfully
Feature: [60361428] As a Customer, I want to use MySQL 5.6 on cluster cookbooks
cloud is going to get percona 5.6 soon, cluster cookbooks need to support this version as well
Feature: [60535122] As a Developer, I want a Dredd scenario that creates multiple MySQL replicas
Bug: [60527710] As a Customer, I want to change an environment's stack label and database type when the environment is stopped, so I can correctly update my database
- https://tickets.engineyard.com/issue/RAFT-77 Disable Stack Dropdown Even When There are No Instances
- Enable database selector when their are no instances within the environment
- Expand help card to explain that changing database stacks AND referencing snapshots may cause issues
Feature: [60525458] As a Customer, I want to grant access to a restricted set of environments to collaborators, so that I can protect my production environments. [ bad-estimate ]
- https://tickets.engineyard.com/issue/RAFT-66
- https://tickets.engineyard.com/issue/Discuss-384
- https://github.com/engineyard/awsm/tree/RAFT-66
- Given existing environments
- Enable feature flag
- Invite user to collaborate
- Choose specific environment to authorize collaborator to
- Login as collaborator, see only authorized environments
- Can create new environments and have access to them
- Cannot assign keypairs to unauthorized environments
- Cannot deploy to unauthorized environments
Feature: [60535122] As a Developer, I want a Dredd scenario that creates multiple MySQL replicas
Chore: [60979352] Openstack Spike
Investigate Smithy integration, connection and authentication requirements. Enumerate any issues with abstractions or infrastructure.
Feature: [60369594] As a Developer, I want to do path-based response caching with ETags of core requests, so that I can have a respectable consistent response time
- Protect the /requests routes ONLY
- See https://github.com/engineyard/ey-sso-server/blob/master/extras/api_cache.rb
- Store in Memcache
- Expire cache on underlying operation model update
Feature: [60622954] As a Developer, I want to list an organizations active requests, so that I can see my organizations activities.
- https://github.com/engineyard/nextgen-ui/issues/585
- https://github.com/engineyard/awsm/blob/master/lib/awsm/operation.rb#L19
- Store account_id on 'requests' table when creating an operation
- /accounts/:id/requests
- /accounts/:id/requests/:request_type
- Enforce account implementation on every operation
- Sessions expire after 24 hours
- Session resets after every access
Feature: [65127950] As a PM, I want to see account name, account type and cluster size on the component overview report.
Feature: [64945504] As a Customer, I want pg_top installed on PostgreSQL clusters by default on ey_dba. [ postgres cluster ]
Feature: [65324958] As a Customer, I want to create a PostgreSQL cluster with volumes [ postgres cluster ]
Feature: [64339580] As a Developer, I want the backup gem to be synced with its upstream, so that I can lead a clean and iterable life. [ backups ]
Feature: [64401078] As a Developer, I want to store facet configurations as a Hash of Hashes rather than an Array of Hashes, so that I can easily work with the data
Feature: [65399896] As a Customer, I want to promote a PostgreSQL replica [ postgres cluster ]
Feature: [64943716] As a Developer, I want Dredd to verify PostgreSQL replica promotion [ postgres cluster ]
Feature: [64329060] As a Customer, I want to configure PostgreSQL extensions for my cluster [ postgres cluster ]
Feature: [65400342] As a Customer, I want cluster cookbooks to install my PostgreSQL extensions [ postgres cluster ]
Feature: [62862506] As a Developer, I want to run activate on all instances simultaneously without a cluster update
Feature: [64250080] As a Developer, I want the engineyard mysql recipe to be rebase off it's original upstream [ mysql cluster, timebox ]
-
Feature: [65754244] As a Customer, when I perform a cluster update, I want to automatically receive the latest patch release of my stack
-
Feature: [42658119] As a Customer, I'd like the ability to manage environment features
-
Feature: [66263606] As a Developer, I want to receive a notification when the Azure API behaves badly.
-
Bug: [66350176] RAFT-120 Instance chef logs are still too slow.
-
Feature: [65750384] As a Developer, I want Dredd to update the status of my commit when the corresponding suite finishes.
-
Feature: [66352006] As a Developer, I want Cloud to assign the correct device to an attached Azure volume.
-
Feature: [66263626] As a Customer, I want to click "Add Riak" instead of "Add Cluster" on the classic UI
-
Feature: [65989974] As a Customer, I'd like my cluster mysql backups to stop creating duplicate archives. [ mysql cluster ]
-
Chore: [65990566] As a Developer, I'd like to create a project doc to scope out a statically compiled customer-facing documentation site
-
Feature: [65817906] As a Developer, I want postgresql clusters to use the postgres image [ postgres cluster ]
-
Chore: [64250080] use chef-percona for MySQL cookbooks [ mysql cluster, timebox ]
-
Feature: [63653642] As a Developer, I want to guarantee slot and cluster component references within activation procedures are scoped correctly after a promotion [ db_promotion ]
-
Feature: [63654080] As a Customer, I'd want my cluster component's backup action source of an existing replica slot to the new master after promotion. [ db_promotion ]
-
Feature: [65399362] As a Developer, I want cluster cookbooks to install postgresql from the engineyard PPA [ postgres cluster ]
-
Feature: [60011100] As a Developer, I want to have an authorization test matrix of Firewall Rules so that I can prove that authorization works correctly.
-
Feature: [65686836] As a Developer, I want more intuitive names for Decommission/Deprovision Cluster/Environment requests
-
Feature: [60528548] As a Developer, I want to list dependencies of a given request via Core, so that I can more easily determine failures
-
Feature: [65687010] As a Developer, I want trial expiration to be a staged operation, so that my resque cluster is more performant.
-
Bug: [66688844] RAFT-150 Manual takeovers should be possible even if takeover preference is "disable"
-
Bug: [67146184] RAFT-152 Bug in SSH key update notifications
-
Feature: [64600080] As a Customer, I want to successfully create multiple MySQL clusters in an environment [ bad-estimate, mysql cluster ]
-
Feature: [66707360] RAFT-151 Disable environment auto-deploy on first boot.
-
Feature: [67233652] As a Customer, I want cloud cookbooks to support MySQL server time zones
-
Chore: [67235926] Azure Volume Destroy / Snapshots [ timebox ]
-
Bug: [66381844] As a Developer, I want to guarantee slot and cluster component references within activation procedures are scoped correctly [ db_promotion ]
-
Feature: [66105374] As a Customer, I want a useful error message when a requested image is not accessible during server provisioning, so that I don't have to rely on Rollbar + console to determine the problem.
-
Feature: [67146258] As a Customer, I want to reset my password via the new UI
-
Feature: [68124176] As a Staff member, I want to delete a user via Core, so that I can clean up after tests [ postmortem ]
-
Bug: [67233450] RAFT-138 Cannot assign EIP to app instance [ timebox ]
-
Feature: [67590696] As a Developer, I want Dredd to verify signup works via [ postmortem ]
-
Feature: [69007290] As a Core user, I want to list unaccepted memberships
-
Feature: [68126956] As a Developer, I want AWSM users to be soft deleted.
-
Feature: [69007816] As a Core user, I want to grant, delete and read user's specific environment authorizations
-
Feature: [68459580] As a Developer, I want to migrate Mission to MySQL 5.5 using the outlined process
-
Feature: [68459896] As a Japanese customer, I want an I18n core user password reset email, so I can read without translation.
-
Feature: [68899466] As a Customer, I want access to Azure Europe North (Ireland)
-
Feature: [68899264] As a Developer, I want Smithy to perform an idempotent Azure provider location discovery
-
Feature: [69004638] As a Customer, I want to discover a specific provider location via the Core API
-
Feature: [69005740] As a Customer, when my single server load balancing cluster is reported down, I want my zombie slot to be replaced [ high availability ]
-
Feature: [69006616] As a Customer, with an active/passive load balancing cluster, when the active server goes zombie, I want the IP to move to the passive server and the zombie slot to be replaced [ high availability ]
-
Feature: [68144746] As a Staff member, I want to convert an existing account to be beta via Classic