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

Ochmang p4 to ansible #427

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from
Draft

Ochmang p4 to ansible #427

wants to merge 8 commits into from

Conversation

henrykie
Copy link
Contributor

Issue number:

Summary

Changes

Please provide a summary of what's being changed

User experience

Please share what the user experience looks like before and after this change

Checklist

If your change doesn't seem to apply, please leave them unchecked.

  • I have performed a self-review of this change
  • Changes have been tested
  • Changes are documented
Is this a breaking change?

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created might not be successful.

feat(core): add Unicode support

The main Terraform module has been updated to allow adding existing security groups without creating a default one. This fixes an issue where the module was creating a new security group even when one was already provided.

Additionally, the core module has been enhanced to provide Unicode support, enabling expanded character set handling.
Other minor fixes and cleanup.
- Replace p4_configure.sh and p4_setup.sh with Ansible playbook
- Eliminate need for Packer-built AMI and automates Amazon Linux 2023
- Add tasks for downloading and configuring Helix binaries
- Implement platform-specific binary selection
- Ensure correct placement of binaries in /hxdepots/sdp/helix_binaries
- Add error handling and retries for binary downloads
- Improve automation and consistency in Perforce Helix Core setup

This playbook automates the Perforce Helix Core installation and
configuration process, providing a more robust and maintainable
solution compared to the previous shell scripts. It dynamically
selects the appropriate binaries based on the target system's
architecture, enhancing cross-platform compatibility.
- Create new SSM module for applying Ansible playbooks
- Update p4_configure_playbook.yml with improved installation steps
- Modify p4_configure.sh remove unecessary selinux commands

This commit introduces an SSM document to streamline the deployment of
Perforce Helix Core on EC2 instances using Ansible playbooks. The
configuration process is now more automated and consistent across
deployments.
- Implement support for multiple server types (commit, replica, edge)
- Add server_configuration variable for defining server instances
- Introduce tagging system for Ansible playbook configuration
- Update IAM, security, and DNS configurations
- Add SSM integration for server management
- Refactor main Terraform files for improved modularity

BREAKING CHANGE: The module now requires a server_configuration input in Terraform
to define Perforce server instances and their respective types and network environment.
Comment on lines +133 to +164
- name: Download APIs
block:
- name: Get API directory listing
uri:
url: "{{ perforce_ftp_base_url }}/{{ helix_version }}/bin.{{ platform }}/"
return_content: yes
register: api_dir_content

- name: Extract API filenames
set_fact:
api_files: "{{ api_dir_content.content | regex_findall('href=\"(p4api-.*?.tgz)\"') }}"

- name: Download API files
get_url:
url: "{{ perforce_ftp_base_url }}/{{ helix_version }}/bin.{{ platform }}/{{ item }}"
dest: "{{ stage_bin_dir }}/{{ item }}"
loop: "{{ api_files }}"

- name: Display API versions
command: tar -tzf {{ stage_bin_dir }}/{{ item }} | head -1
register: api_versions
changed_when: false
loop: "{{ api_files }}"

- name: Show API versions
debug:
msg: "Version of {{ item.item }}: {{ item.stdout.split('/')[0] }}"
loop: "{{ api_versions.results }}"
when: download_apis | bool

- name: Set ownership of SDP_Root
file:

Check failure

Code scanning / checkov

Ensure block is handling task errors properly Error

Ensure block is handling task errors properly
feat(core): add Unicode support

The main Terraform module has been updated to allow adding existing security groups without creating a default one. This fixes an issue where the module was creating a new security group even when one was already provided.

Additionally, the core module has been enhanced to provide Unicode support, enabling expanded character set handling.
Other minor fixes and cleanup.
- Create new SSM module for applying Ansible playbooks
- Update p4_configure_playbook.yml with improved installation steps
- Modify p4_configure.sh remove unecessary selinux commands

This commit introduces an SSM document to streamline the deployment of
Perforce Helix Core on EC2 instances using Ansible playbooks. The
configuration process is now more automated and consistent across
deployments.
- Change default EC2 image for Perforce to Amazon Linux 2023
- Add additional support for Perforce replica

BREAKING CHANGE: The switch to Amazon Linux 2023 may cause
compatibility issues with existing setups or scripts tailored
for the previous custom image.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants