|
| 1 | +--- |
| 2 | +title: Object Lifecycle Management |
| 3 | +description: "User guide for Object Lifecycle Management." |
| 4 | +weight: 40 |
| 5 | +disableToc: false |
| 6 | +tags: ["user guide", "object lifecycle"] |
| 7 | +--- |
| 8 | + |
| 9 | +## Introduction to Object lifecycle |
| 10 | +OpenSDS is aimed at addressing the storage integration challenges of both the Cloud Native environment and traditional IT environment. OpenSDS multi-cloud allows user to manage distributed cloud environment on a single platform. Object lifecycle management feature gives freedom to user to manage buckets and objects in the cloud using OpenSDS interface. |
| 11 | + |
| 12 | +## Getting Started! |
| 13 | +This is a guide that shows how to install, configure, and use Object lifecycle management feature in a simple OpenSDS setup. |
| 14 | +By following this guide you will be able to install OpenSDS multi-cloud with creating backends and buckets, uploading object and setting up the lifecycle for those objects. |
| 15 | + |
| 16 | +## Installing Opensds multi-cloud |
| 17 | + |
| 18 | +### Download opensds-installer code |
| 19 | + |
| 20 | +```cassandraql |
| 21 | +git clone https://github.com/opensds/opensds-installer.git |
| 22 | +cd opensds-installer |
| 23 | +# Checkout the latest release, give master by default or specify the branch |
| 24 | +git checkout master |
| 25 | +``` |
| 26 | + |
| 27 | +### How to enable multi-cloud installation |
| 28 | + |
| 29 | +Install docker container to run multi-cloud in container environment. |
| 30 | + |
| 31 | +Update the file : opensds-installer/ansible/group_vars/gelato.yml to install multi-cloud. |
| 32 | +```cassandraql |
| 33 | +# repository branch |
| 34 | +gelato_repo_branch: master |
| 35 | +``` |
| 36 | +Detailed instruction is in this link |
| 37 | + |
| 38 | +- [OpenSDS Local Cluster Installation through Ansible On Ubuntu](https://github.com/opensds/opensds/wiki/OpenSDS-Cluster-Installation-through-Ansible) (Recommended) |
| 39 | + |
| 40 | +#### Export required OpenSDS environment variables |
| 41 | +``` |
| 42 | +export HOST_IP={your_real_host_ip} |
| 43 | +export OPENSDS_ENDPOINT=http://{{ apiserver_cluster_ip }}:50040 |
| 44 | +export OPENSDS_AUTH_STRATEGY=keystone |
| 45 | +export OS_AUTH_URL=http://{{ authchecker_cluster_ip }}/identity |
| 46 | +``` |
| 47 | +#### Run OpenSDS multi-cloud in docker container |
| 48 | +``` |
| 49 | +docker-compose up -d |
| 50 | +docker ps |
| 51 | + ``` |
| 52 | +Note: check if multi-cloud services are running in the docker container. |
| 53 | +```cassandraql |
| 54 | +# docker ps |
| 55 | +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
| 56 | +3222f0b4c25d opensdsio/multi-cloud-dataflow "/dataflow" 2 minutes ago Up 2 minutes multi-cloud_dataflow_1_4a975c39f8ff |
| 57 | +33de3d47b1ef opensdsio/multi-cloud-datamover "/datamover" 2 minutes ago Up 2 minutes multi-cloud_datamover_1_8ccb3d34f551 |
| 58 | +3d3661466b3d wurstmeister/kafka:2.11-2.0.1 "start-kafka.sh" 2 minutes ago Up 2 minutes 0.0.0.0:9092->9092/tcp multi-cloud_kafka_1_e399b2c2167a |
| 59 | +e370acd6c922 mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:27017->27017/tcp multi-cloud_datastore_1_a8c5edcc4e62 |
| 60 | +6d5239b01503 wurstmeister/zookeeper "/bin/sh -c '/usr/sb…" 2 minutes ago Up 2 minutes 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp multi-cloud_zookeeper_1_82daeecd7252 |
| 61 | +7d9f01911356 opensdsio/multi-cloud-backend "/backend" 2 minutes ago Up 2 minutes multi-cloud_backend_1_b9cbaa8bcf83 |
| 62 | +f139d2e383ab opensdsio/multi-cloud-s3 "/s3" 2 minutes ago Up 2 minutes multi-cloud_s3_1_3c7878089fa4 |
| 63 | +``` |
| 64 | + |
| 65 | +## Open OpenSDS Object lifecycle management UI |
| 66 | + |
| 67 | +OpenSDS Object lifecycle management feature specific UI can be accessed via |
| 68 | + |
| 69 | +`http://{your_host_ip}:8088/#/home` |
| 70 | + |
| 71 | +login using the default admin credentials: `admin/opensds@123`. |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | +### Create new backend using remote cloud bucket |
| 76 | +Click on (+) for registering a storage backend |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | +### Create bucket and upload the object |
| 81 | +After creating new backend follow the steps given below to create a bucket and upload an object in that bucket: |
| 82 | +1. Launch Resource from OpenSDS home page |
| 83 | + |
| 84 | +2. Create a new bucket with appropriate backend |
| 85 | + |
| 86 | +  |
| 87 | +3. Click on upload button to upload an object in the selected bucket |
| 88 | + |
| 89 | +  |
| 90 | +4. Click on lifecycle tab and create a new lifecycle rule |
| 91 | + |
| 92 | +  |
| 93 | + |
| 94 | +After creating the lifecycle rule user will be able to see the lifecycle configuration on bucket. |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | +Save dashboard and return. |
| 99 | +### Check lifecycle in remote cloud service provider |
| 100 | +After configuring lifecycle in dashboard, a routine scheduler will run and it will wait till the date lifecycle rule comes in-effect. Once the action is performed user can log in to remote cloud ( backend cloud service provider) and check the object status. |
| 101 | + |
| 102 | +### FAQ |
| 103 | +1. How to check if the lifecycle rule is applied on bucket/object ? |
| 104 | + |
| 105 | +Ans: |
| 106 | +OpenSDS does not create the rule in the cloud backend (CSP). Once the bucket/object satisfies the rule, OpenSDS will automatically call cloud API and the action will be performed. If there are any errors or issues in rule, user will know at the time of lifecycle action. |
0 commit comments