{"id":13753065,"url":"https://github.com/rcbops/rpc-openstack","last_synced_at":"2025-10-10T22:33:16.081Z","repository":{"id":26644116,"uuid":"30100099","full_name":"rcbops/rpc-openstack","owner":"rcbops","description":"EOL: Rackspace Private Cloud Offering based on OpenStack ","archived":false,"fork":false,"pushed_at":"2021-02-08T18:43:18.000Z","size":5060,"stargazers_count":61,"open_issues_count":112,"forks_count":78,"subscribers_count":70,"default_branch":"master","last_synced_at":"2025-07-13T00:42:49.418Z","etag":null,"topics":["ansible","cloud","openstack","python","virtualization"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rcbops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-31T02:51:12.000Z","updated_at":"2025-05-23T09:10:15.000Z","dependencies_parsed_at":"2022-06-29T23:09:15.193Z","dependency_job_id":null,"html_url":"https://github.com/rcbops/rpc-openstack","commit_stats":null,"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"purl":"pkg:github/rcbops/rpc-openstack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcbops","download_url":"https://codeload.github.com/rcbops/rpc-openstack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcbops%2Frpc-openstack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005462,"owners_count":26083902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","cloud","openstack","python","virtualization"],"created_at":"2024-08-03T09:01:15.647Z","updated_at":"2025-10-10T22:33:16.045Z","avatar_url":"https://github.com/rcbops.png","language":"Shell","readme":"\n# This project is EOL \n\nThis project is retired with Rocky and releases forward are using native openstack-ansible.\nDo not file any issues in this project\n\n**This project is EOL, so we will not migrate it to the new docs.rackspace.com publishing infrastructure.**\n\n# Rackspace Private Cloud - OpenStack\n\nThe RPC-OpenStack repository contains additional scripts, variables, and\noptions for deploying an OpenStack cloud. It is a thin wrapper around the\n[OpenStack-Ansible](https://github.com/openstack/openstack-ansible)\ndeployment framework that is part of the OpenStack namespace.\n\n## Deployment options\n\nThere are two different types of RPC-OpenStack deployments available:\n\n* **All-In-One (AIO) Deployment.** An AIO is a quick way to test a\n  RPC-OpenStack deployment. All of the cloud's internal services are deployed\n  on the same server, which could be a physical server or a virtual machine.\n\n* **Production Deployment.** Production deployments should be done on more\n  than one server with at least three nodes available to run the internal\n  cloud services.\n\n* **Upgrading the RPC-OpenStack Product.** Upgrading the RPC-OpenStack Product\n  using intra-series releases.\n\n### All-In-One (AIO) Deployment Quickstart\n\nClone the RPC-OpenStack repository:\n\n``` shell\ngit clone https://github.com/rcbops/rpc-openstack /opt/rpc-openstack\n```\n\nStart a screen or tmux session (to ensure that the deployment continues even\nif the ssh connection is broken) and run `deploy.sh`:\n\nRun the ``deploy.sh`` script within a tmux or screen session:\n\n``` shell\ntmux\ncd /opt/rpc-openstack\nexport DEPLOY_AIO=true\nexport RPC_PRODUCT_RELEASE=\"master\"  # This is optional, if unset the current stable product will be used\n./scripts/deploy.sh\n```\n\nThe `deploy.sh` script will run all of the necessary playbooks to deploy an\nAIO cloud and it normally completes in 90 to 120 minutes.\n\n### Production Deployment Guide\n\nClone the RPC-OpenStack repository:\n\n``` shell\ngit clone https://github.com/rcbops/rpc-openstack /opt/rpc-openstack\n```\n\n#### Run the basic system installation\n\nStart a screen or tmux session (to ensure that the deployment continues even\nif the ssh connection is broken) and run `deploy.sh`:\n\nRun the ``deploy.sh`` script within a tmux or screen session:\n\n``` shell\ncd /opt/rpc-openstack\nexport RPC_PRODUCT_RELEASE=\"master\"  # This is optional, if unset the current stable product will be used\n./scripts/deploy.sh\n```\n\n#### Configure and deploy the cloud\n\nTo configure the installation please refer to the upstream OpenStack-Ansible\ndocumentation regarding basic [system setup](https://docs.openstack.org/project-deploy-guide/openstack-ansible/latest/configure.html).\n\n##### OpenStack-Ansible Installation\n\nOpenStack-Ansible will need to be installed. While you can simply run the\n`bootstrap-ansible.sh` script provided by the OpenStack-Ansible community\nyou may also run the `openstack-ansible-install.yml` playbook which was\ncreated for convenience and will maintain impotency.\n\n``` shell\ncd /opt/rpc-openstack\nexport RPC_PRODUCT_RELEASE=\"master\"  # This is optional, if unset the current stable product will be used\n/opt/rpc-ansible/bin/ansible-playbook -i 'localhost,' playbooks/openstack-ansible-install.yml\n```\n\n###### Optional | Setting the OpenStack-Ansible release\n\nIt is possible to set the OSA release outside of the predefined \"stable\" release\ncurated by the RPC-OpenStack product. To set the release define the Ansible\nvariable `osa_release` to a SHA, Branch, or Tag and run the `site-release.yml`\nand `openstack-ansible-install.yml` playbooks to install the correct version.\n\n``` shell\nopenstack-ansible site-release.yml openstack-ansible-install.yml -e 'osa_release=master'\n```\n\n##### Running the playbooks\n\nOnce the deploy configuration has been completed please refer to the\nOpenStack-Ansible documentation regarding [running the playbooks](https://docs.openstack.org/project-deploy-guide/openstack-ansible/latest/run-playbooks.html).\n\n----\n\n#### Deploy the Rackspace Value Added Services\n\nUpon completion of the deployment run `scripts/deploy-rpco.sh` script to\napply the RPC-OpenStack value added services; you may also run the playbooks\n`site-logging.yml` to accomplish much of the same things.\n\n``` shell\ncd /opt/rpc-openstack\nopenstack-ansible site-logging.yml\n```\n\nPost deployment run the **optional** `site-openstack.yml` playbooks to setup\ndefault flavors and images.\n\n``` shell\ncd /opt/rpc-openstack\nopenstack-ansible site-openstack.yml\n```\n\n----\n\n### Perform an Intra-Series Product Upgrade\n\nTo run a basic system upgrade set the `${RPC_PRODUCT_RELEASE}` option, re-run\n`deploy.sh`.\n\n``` shell\ntmux\ncd /opt/rpc-openstack\nexport RPC_PRODUCT_RELEASE=\"master\"  # This is optional, if unset the current stable product will be used\n./scripts/deploy.sh\nopenstack-ansible openstack-ansible-install.yml\n```\n\nOnce basic system configuration has completed, [run through the upgrade process](https://docs.openstack.org/openstack-ansible/latest/user/minor-upgrade.html)\nfor the specified product release.  \n\n### Perform a Major Product Upgrade (BETA)\n\nTo run a major upgrade set the `${RPC_PRODUCT_RELEASE}` option, re-run\n`deploy.sh`.\n\n``` shell\ntmux\ncd /opt/rpc-openstack\nexport RPC_PRODUCT_RELEASE=\"master\"  # This needs to be set to the new product\n./scripts/deploy.sh\nopenstack-ansible openstack-ansible-install.yml\n```\n\nOnce the deployment is ready either [run the major upgrade script](https://docs.openstack.org/openstack-ansible/latest/user/script-upgrade.html)\nor [run the manual upgrade](https://docs.openstack.org/openstack-ansible/latest/user/manual-upgrade.html)\nprocess.\n\n\n### Remove legacy ELK from an RPC-OpenStack deployment and deploy ELK 6x.\n\nThe following procedure will deactivate the legacy ELK tooling within an\nenvironment and redeploy the new tools.\n\nIf the **optional** step to destroy the containers is not executed, the old\ncontainers will remain online but will no longer receive any more data.\n\n* Retrieve the ops tooling from openstack-ansible.\n\n``` shell\ngit clone https://github.com/openstack/openstack-ansible-ops /opt/openstack-ansible-ops\n```\n\n* **OPTIONAL** | Destroy existing ELK related containers.\n\n``` shell\ncd /opt/openstack-ansible/playbooks || cd /opt/rpc-openstack/openstack-ansible/playbooks\nansible all -m service -a 'name=filebeat state=stopped'\nopenstack-ansible lxc-containers-destroy.yml --limit 'elasticsearch_all:kibana_all:logstash_all'\n```\n\n* Move old config files out of the way.\n\n``` shell\nrm /etc/openstack_deploy/env.d/{elasticsearch,kibana,logstash}.yml\n```\n\n* Ensure the legacy implementation of `filebeat` is stopped and removed.\n\n``` shell\nansible -m apt -a 'name=filebeat state=absent' all\n```\n\n* Remove old containers from openstack-ansible inventory.\n\n``` shell\nfor i in $(../scripts/inventory-manage.py -l | grep -e elastic -e kibana -e logstash | awk '{print $2}'); do\n  echo \"Removing $i\"\n  ../scripts/inventory-manage.py -r \"${i}\"\ndone\n```\n\n* Deploy the new ELK infrastructure\n\n``` shell\ncd /opt/rpc-openstack/playbooks\nopenstack-ansible deployment-elk.yml\n```\n\n### Testing and Gating\n\nPlease see the documentation in [rpc-gating/README.md](https://github.com/rcbops/rpc-gating/blob/master/README.md)\n","funding_links":[],"categories":["virtualization"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcbops%2Frpc-openstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcbops%2Frpc-openstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcbops%2Frpc-openstack/lists"}