Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clustering is needed for creating a device service group cluster of multiple BigIPs #400

Closed
pjbreaux opened this issue May 11, 2016 · 2 comments

Comments

@pjbreaux
Copy link
Contributor

We need this feature for several customers. Given multiple BigIP objects, the cluster will perform the following operations:

  • Make the BigIPs trusted peers of one another in preparation for clustering
  • Create a device service group (or device group in the SDK) to sync failover objects
  • Ensure each BigIP device is in the state that we expect it to be in after the previous steps
@pjbreaux pjbreaux self-assigned this May 11, 2016
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 11, 2016
Issues:
Fixes F5Networks#400

Problem:
Initial commit for cluster_manager module for managing a BigIP cluster

Analysis:
Initial commit is using one large module to do all of the heavy lifting.
Will break out in future commits when common functionality arises

Tests:
Only manual tests so far
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 11, 2016
Issues:
Fixes F5Networks#400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 11, 2016
Issues:
Fixes F5Networks#400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 11, 2016
Issues:
Fixes F5Networks#400

Problem:
Initial commit for cluster_manager module for managing a BigIP cluster

Analysis:
Initial commit is using one large module to do all of the heavy lifting.
Will break out in future commits when common functionality arises

Tests:
Only manual tests so far
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 11, 2016
Issues:
Fixes F5Networks#400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 11, 2016
Issues:
Fixes F5Networks#400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 17, 2016
Issues:
Fixes F5Networks#400

Problem:
Initial commit for cluster_manager module for managing a BigIP cluster

Analysis:
Initial commit is using one large module to do all of the heavy lifting.
Will break out in future commits when common functionality arises

Tests:
Only manual tests so far
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 17, 2016
Issues:
Fixes F5Networks#400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 17, 2016
Issues:
Fixes F5Networks#400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 17, 2016
Issues:
Fixes F5Networks#400

Problem:
Initial commit for cluster_manager module for managing a BigIP cluster

Analysis:
Initial commit is using one large module to do all of the heavy lifting.
Will break out in future commits when common functionality arises

Tests:
Only manual tests so far
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 17, 2016
Issues:
Fixes F5Networks#400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 17, 2016
Issues:
Fixes F5Networks#400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 18, 2016
Issues:
Fixes F5Networks#400

Problem:
Initial commit for cluster_manager module for managing a BigIP cluster

Analysis:
Initial commit is using one large module to do all of the heavy lifting.
Will break out in future commits when common functionality arises

Tests:
Only manual tests so far
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 18, 2016
Issues:
Fixes F5Networks#400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 18, 2016
Issues:
Fixes F5Networks#400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
@wojtek0806
Copy link
Contributor

Issue Review: This looks like progressing. The mentioned issues could be folded into this one

@zancas
Copy link
Contributor

zancas commented May 19, 2016

Please see #208 for some relevant information.

pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 19, 2016
Issues:
Fixes F5Networks#400

Problem:
Initial commit for cluster_manager module for managing a BigIP cluster

Analysis:
Initial commit is using one large module to do all of the heavy lifting.
Will break out in future commits when common functionality arises

Tests:
Only manual tests so far
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 19, 2016
Issues:
Fixes F5Networks#400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 19, 2016
Issues:
Fixes F5Networks#400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 24, 2016
Issues:
Fixes F5Networks#400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 24, 2016
Issues:
Fixes F5Networks#400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
pjbreaux pushed a commit to pjbreaux/f5-common-python-1 that referenced this issue May 24, 2016
Issues:
Fixes F5Networks#400

Problem:
Clustering is needed for creating a device service group cluster of
multiple bigip devices

Analysis:
This is part of a refactor from a code review that happened offline. It
was suggested to refactor the external interface that previously
existed with the Cluster class into ClusterManager, TrustDomain, and
DeviceGroup classes, which maintain state for their respective
operations and data. The interfaces presented by each of the classes
above are as uniform as possible, and allow for the ClusterManager to
manage the DeviceGroup and TrustDomain with ease.

Tests:
All previous unit tests and functional tests have been refactored or
rewritten in some way. All tests are currently passing.
@zancas zancas closed this as completed in 9f16243 May 24, 2016
pjbreaux pushed a commit that referenced this issue May 25, 2016
Issues:
Fixes #400

Problem:
Initial commit for cluster_manager module for managing a BigIP cluster

Analysis:
Initial commit is using one large module to do all of the heavy lifting.
Will break out in future commits when common functionality arises

Tests:
Only manual tests so far
pjbreaux pushed a commit that referenced this issue May 25, 2016
Issues:
Fixes #400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
pjbreaux pushed a commit that referenced this issue May 25, 2016
Issues:
Fixes #400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
pjbreaux pushed a commit that referenced this issue May 25, 2016
Issues:
Fixes #400

Problem:
Clustering is needed for creating a device service group cluster of
multiple bigip devices

Analysis:
This is part of a refactor from a code review that happened offline. It
was suggested to refactor the external interface that previously
existed with the Cluster class into ClusterManager, TrustDomain, and
DeviceGroup classes, which maintain state for their respective
operations and data. The interfaces presented by each of the classes
above are as uniform as possible, and allow for the ClusterManager to
manage the DeviceGroup and TrustDomain with ease.

Tests:
All previous unit tests and functional tests have been refactored or
rewritten in some way. All tests are currently passing.
caphrim007 pushed a commit to caphrim007/f5-common-python that referenced this issue Aug 2, 2016
Issues:
Fixes F5Networks#400

Problem:
Initial commit for cluster_manager module for managing a BigIP cluster

Analysis:
Initial commit is using one large module to do all of the heavy lifting.
Will break out in future commits when common functionality arises

Tests:
Only manual tests so far
caphrim007 pushed a commit to caphrim007/f5-common-python that referenced this issue Aug 2, 2016
Issues:
Fixes F5Networks#400

Problem:
For clustering, we need to break apart the large cluster_manager module
into something less Blob(ish)

Analysis:
Broke apart similar functionality for checking/managing the device group
into a new module, the device_group_manager

Tests:
All manual tests still
caphrim007 pushed a commit to caphrim007/f5-common-python that referenced this issue Aug 2, 2016
Issues:
Fixes F5Networks#400

Problem:
Structure of clustering needs some refactoring and some testing

Analysis:
Moved the cluster modules into a cluster/ directory under f5. Also
created some functional tests for these features. So we have something
to hold onto.

Tests:
Three func tests exists now. The idea is that we can create, scale up,
scale down, and teardown a cluster. We do this with a sync-failover and
sync-only cluster type and then we create a cluster, only to delete the
cluster_manager object, reinitialize with the same devices, then
teardown that existing cluster.
caphrim007 pushed a commit to caphrim007/f5-common-python that referenced this issue Aug 2, 2016
Issues:
Fixes F5Networks#400

Problem:
Clustering is needed for creating a device service group cluster of
multiple bigip devices

Analysis:
This is part of a refactor from a code review that happened offline. It
was suggested to refactor the external interface that previously
existed with the Cluster class into ClusterManager, TrustDomain, and
DeviceGroup classes, which maintain state for their respective
operations and data. The interfaces presented by each of the classes
above are as uniform as possible, and allow for the ClusterManager to
manage the DeviceGroup and TrustDomain with ease.

Tests:
All previous unit tests and functional tests have been refactored or
rewritten in some way. All tests are currently passing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants